![]() |
Aus String die Konstante erkennen
Ich habe da ein kleines Faulheitsproblem. Ich muss bei einer Kommunikation Befehle als Hex Werte veschicken. Da ich mir die Hex Codes nicht merken kann habe ich mir im "const" bereich der unit Namen für diese Werte definiert, also z.B. open = $01 oder close = $02
Jetzt wollte ich als Testmenü ein Fenster in die Software einbauen die in einer Combobox alle möglichen Befehle zur Auswahl stellt die man versenden kann. Zum versenden muss ich natürlich wieder den zugehörigen Hex Wert finden. Jetzt hatte ich einfach das selektierte Combofeld als String ausgelesen, nur weiss ich nicht wie ich jetzt den zugehörigen Hex Wert wieder finden soll? Wenn ich normal was veschicke dann schreibe ich in meinen Sendbuffer einfach "Integer( open )" und habe dann in meinem Buffer natürlich hex 1 stehen. Wenn ich die Combobox auslese und das in einen String schreibe dann geht das aber nicht, weil er mit dann versucht den String in einen Integer zur konvertieren und nicht den entsprechenden Wert der Konstante zu finden. Faulheitsproblem deshalb, weil ich könnte ja jetzt her gehen und den String der Combobox mit denen die es gibt vergleichen und dann den entsprechenden Wert schreiben, nur bei 100 Befehlen ist das viel Tipp arbeit. Hat jemand eine Idee wie ich das eleganter lösen könnte. Danke |
Re: Aus String die Konstante erkennen
Speichere die zugehörigen Hex-Werte als Objekt zum dem Item in der Combobox ab:
![]() |
Re: Aus String die Konstante erkennen
Doch so einfach ...
Ich habe die Komponente von DevExpress im Einsatz und da lautet der Befehl dann ComboBox.Properties.Items.AddObject, beim normalen Add gibt es das Object nicht. Nur für den Fall dass der Beitrag hier mal jemand anderem nützlich ist. Danke für die schnelle Hilfe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz