Thema: Delphi Typen Umwandlungsproblem

Einzelnen Beitrag anzeigen

Neotracer64

Registriert seit: 27. Okt 2004
292 Beiträge
 
Delphi 7 Professional
 
#9

Re: Typen Umwandlungsproblem

  Alt 24. Feb 2008, 18:07
Bei der Adresse geht das ja noch. Dort kannst du wie gewohnt umwandeln.

Aber im anderen Edit mit dem Wert sieht es insofern schwieriger aus, weil man undruckbare Zeichen nicht tippen kann.
Du musst also einen kleinen Parser schreiben.
Wenn wir zum Beispiel im Edit für die zu schreibenden Bytes folgendes finden:

'$90$90$90$90$90'

Und im Edit für die Länge folglich '5'. Dann muss der Parser folgendes leisten: Er geht in dreier-Schritten vorwärts (5 mal (Länge) in einer Schleife) und wandelt jeweils die 3 Zeichen immer in ein Byte um, was er in ein dynamisches Array schreibt. Die Größe des Arrays setzt du mit SetLength vorher auf die Länge 5.

================

So jetzt aber aufgepasst. Wenn du jetzt zum Beispiel nur ein Wert der Länge eines Integers schreibe willst. Dann muss was anderes im Edit stehen, als gewohnt. Sagen wir du möchtest ein DWORD schreiben. 23000 zum Beispiel. Was musst du dann machen?
Erstmal umwandeln in Hex: 0x000059D8. Dann aber noch in little Endian schreibweise, da wir jedes einzelne Byte tippen:
Also am Ende müssten wir für 23000, das ins Edit schreiben: $D8$59$00$00.

Blöd oder? Ich würde vorschlagen du implementierst verschiedene Modi in dein programm. Bei Arrays unbestimmter Länge und undruckbaren Zeichen nimmst du meinen Eingabemodus. Bei normalen Integers einen anderen. Und bei Strings mit druckbaren Zeichen, einfach den String so rauskopieren.
  Mit Zitat antworten Zitat