Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Wie Hexadizimalzahlen aneinanderhängen?
Steph.Delphi - Mi 02.06.10 14:47
Titel: Wie Hexadizimalzahlen aneinanderhängen?
Hallo
Ich würde gerne 5 Hexadizimalzahlen über die serielle Schnittstelle senden. Gibt es da vielleicht eine elegantere Methode die Zahlen aneinanderzuhängen als in diesem (funktionierenden) Beispiel?
Zu sendende Bytes:
Quelltext
1:
| 0x0223 0x00 0x00 0x50 0x01 |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var befehl1: array[0..5] of char;
begin befehl1[0]:=#35; befehl1[1]:=#2; befehl1[2]:=#0; befehl1[3]:=#0; befehl1[4]:=#80; befehl1[5]:=#1;
ApdComPort1.putblock(befehl1,6); end; |
Wäre nett, wenn da Jemand nen Tip hätte.
Moderiert von
Narses: Delphi-Tags hinzugefügt
Narses - Mi 02.06.10 14:57
Moin und :welcome: im Forum!
Steph.Delphi hat folgendes geschrieben : |
| Gibt es da vielleicht eine elegantere Methode die Zahlen aneinanderzuhängen als in diesem (funktionierenden) Beispiel? |
Wenn du eh schon ein Array of Char hast, kannst du auch gleich einen (Ansi-)String nehmen: :idea: ;)
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| var Befehl: AnsiString; begin Befehl := #35#2#0#0#80#1; ApdComPort1.Putblock(PAnsiChar(Befehl)^,Length(Befehl)); end; |
cu
Narses
Tryer - Mi 02.06.10 15:12
ggf. noch anders geschrieben um die Hex-Werte wiederzufinden:
Delphi-Quelltext
1:
| Befehl := #$02#$23#$00#$00#$50#$01; |
Grüsse, Dirk
PS: da gibts wohl ne kleine Macke im Highlighter. Delphi verstehts.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!