--> ['W']+[0x01A9]+[0xFF]
Das erreichst Du über
Delphi-Quellcode:
s:='[''W'']+[0x'+
inttohex(strtoint(edit1.text),4)+
']+[0x'+
inttohex(strtoint(edit2.text),2)+
']';
Habt dank für die zahlreichen Antworten, ABER ich glaub wir verstehen uns immer noch bisschen falsch ...
Bei dieser Variante bekomme ich doch den HEX-Wert ins
ASCII formatiert ... und zwar in seiner vollen Länge ...
wenn der Wert den ich per Edit-Feld eingegeben habe einem hexadezimalen von meinetwegen 0x01AC entspricht, dann bekomme
ich mit der Vorgehensweise von oben 4 ganze
ASCII-Chars für die 16bit-Zahl und zwei Chars für die 8bit-Zahl ...
ABER um die Zahl darzustellen brauche bzw. darf ich nur zwei Chars bzw. einen verwenden.
Solange beim Konvertieren kein Linefeed und Carriage-Return rauskommt ist es mir völlig egal was aus der seriellen Schnittstelle rauspurzelt.
Und CR bzw. LF kann man ja durch Überprüfung verhindern.
Um das nochmal zu verdeutlichen hab ichs mal bisschen in nem Bild zusammengefasst ...
http://imageshack.us/f/830/36160050.jpg/
Leider steh ich nämlich immer noch aufm Schlauch =/