AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Property als Hexadezimal

Ein Thema von Martin K · begonnen am 16. Jul 2006 · letzter Beitrag vom 16. Jul 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#1

Property als Hexadezimal

  Alt 16. Jul 2006, 13:30
Moin,

ich würde gerne bei einer selbst abgeleiteten Komponente eine Eigenschaft im OI im Hexadezimal-Format anzeigen lassen.
Es handelt sich hierbei um die landesspeziefischen Informationen für FormatSettings, die üblicherweise in Hexadezimal dargestrellt werden (z.B. $0407), mit dem Dezimalwert kann da wohl kaum einer was anfangen.
Da der eigentliche Typ Integer ist, weiß ich nicht, wie ich die Anzeige im Hex-Format darstellen kann und IntToHex ist da auch keine wirkliche Lösung.

Bei einer Eigenschaft vom Typ TColor geht das ja auch - wenn nicht gerade eine "Standard-Farbe" eingegeben wird, wird sie im Hex-Format dargestellt.

Wäre nett, wenn irgendjemand dazu eine Idee hätte...
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Property als Hexadezimal

  Alt 16. Jul 2006, 13:51
Beim Anzeigen weiß ichs nicht - aber die Eingabe sollte auf jeden Fall mit vorangestelltem $ funktionieren.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Property als Hexadezimal

  Alt 16. Jul 2006, 14:01
Das ist klar...

Aber es geht mir ja gerade um die Anzeige!
Wie wird das denn bei TColor gemacht ?
TColor ist ja eigentlich auch nichts anderes als ein Integer-Wert....
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Property als Hexadezimal

  Alt 16. Jul 2006, 14:05
Wahrscheinlich ist die hexadezimale Anzeige von TColor hartkodiert.
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Property als Hexadezimal

  Alt 16. Jul 2006, 14:09
Zitat von Mystic:
Wahrscheinlich ist die hexadezimale Anzeige von TColor hartkodiert.
Und wie könnte man sowas selber machen
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Property als Hexadezimal

  Alt 16. Jul 2006, 14:12
Du lässt es den User als $.... eingeben und wandelst diesen HexString in eine Dezimal Zahl um.
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Property als Hexadezimal

  Alt 16. Jul 2006, 14:16
Zitat von EDatabaseError:
Du lässt es den User als $.... eingeben und wandelst diesen HexString in eine Dezimal Zahl um.
Die Eingabe ist kein Problem, die wandelt Delphi schon automatisch um...
Es geht vielmehr um die Ausgabe, um die Anzeige.
IntToHex wäre eine Möglichkeit, aber es soll eben kein String sein - sondern eine Integer-Property.
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#8

Re: Property als Hexadezimal

  Alt 16. Jul 2006, 14:21
1.) deine Komponente in zwei verschiedene Packages zerlegen. Dein Laufzeit-Package enthält ausschließlich nur deine Komponente. Dein Design-Time Package enthält wie das "Benutzer Package" nun eine Funktion "Register". In dieser wird deine Komponente registriert.
Soweit ist alles erstmal Standard und der vollkommen normale Weg.

2.) nun baust du in einer separaten Unit "MyKomponente_Reg.pas" eigene Property Editoren rein. In dieser Unit steht auch deine Funktion "Register". Diese Funktion erweiterst du nun indem du dort deine eigenen Property Editoren für die Delphi IDE registrierst -> RegisterPropertyEditor() etc.pp. Dein eigener Editor wird nun deine Integer-Property deiner Komponente als HEX String im OI der IDE anzeigen und editieren.
Fertig.

Du erweiterst also selektiv für deine Komponente->Property die Funktionalität der Delphi IDE. Wichtig dabei ist es mit diesen zwei Packages zu arbeiten. Exakt so geht auch der Editor für alle TColor Eigenschaften vor.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Property als Hexadezimal

  Alt 16. Jul 2006, 14:28
Endlich mal ein Mann vom Fach

Werd es gleich mal versuchen,
Danke für Deine Antwort!
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Property als Hexadezimal

  Alt 16. Jul 2006, 14:51
Zitat von Martin K:
Zitat von EDatabaseError:
Du lässt es den User als $.... eingeben und wandelst diesen HexString in eine Dezimal Zahl um.
Die Eingabe ist kein Problem, die wandelt Delphi schon automatisch um...
Es geht vielmehr um die Ausgabe, um die Anzeige.
IntToHex wäre eine Möglichkeit, aber es soll eben kein String sein - sondern eine Integer-Property.
Einfach das Dezimale in einen Hexstring umwandeln und dann ein $ davor...
so mach es ich jedenfalls
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz