Autor Beitrag
Steph.Delphi
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mi 02.06.10 14:47 
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:
ausblenden Quelltext
1:
0x0223   0x00  0x00 0x50  0x01					

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var
befehl1: array[0..5of 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 user profile iconNarses: Delphi-Tags hinzugefügt
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 02.06.10 14:57 
Moin und :welcome: im Forum!

user profile iconSteph.Delphi hat folgendes geschrieben Zum zitierten Posting springen:
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: ;)

ausblenden 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)); // Aufrufkonvention ist mir unbekannt, habe ich jetzt mal geraten
end;
cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Tryer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 226
Erhaltene Danke: 7



BeitragVerfasst: Mi 02.06.10 15:12 
ggf. noch anders geschrieben um die Hex-Werte wiederzufinden:
ausblenden Delphi-Quelltext
1:
Befehl := #$02#$23#$00#$00#$50#$01;					

Grüsse, Dirk

PS: da gibts wohl ne kleine Macke im Highlighter. Delphi verstehts.