Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi AsyncPro COM-Port und HEX-Werte (https://www.delphipraxis.net/113249-asyncpro-com-port-und-hex-werte.html)

NetSonic 5. Mai 2008 09:53


AsyncPro COM-Port und HEX-Werte
 
Hallo zusammen.
Habe schon einmal um Forum und bei Google geschaut, aber irgendwie nicht das richtige gefunden.

Habe ein Programm, mit dem ich über eine TApdComPort-Komponente (AsyncPro) Werte an einen seriellen Port schicke.
Das mache ich mit

Delphi-Quellcode:
ApdComPort.Output := '01';
Der Befehlt Output erwartet allerdings einen String. Wie kann ich jetzt hexadezimale Werte senden, da der Atmel-Baustein am anderen Ende alles im HEX-Format erwartet und anscheinend bisher alles als Char über die Leitung läuft. Kann mir da jemand mal einen Tipp geben, stehe anscheinend etwas auf dem Schlauch.

Gruß, NetSonic

Klaus01 5. Mai 2008 09:56

Re: AsyncPro COM-Port und HEX-Werte
 
Guten Morgen,

mit chr(0)+chr(1) bekommst Du das Zeichen des Ordinalwertes 0 und 1.
Das wird dann auch so 0000 0000 0000 0001 übertragen.

Grüße
Klaus

NetSonic 5. Mai 2008 10:03

Re: AsyncPro COM-Port und HEX-Werte
 
Das bedeuted also, wenn ich beispielsweise den Wert 176 habe, der aus der String-Variable strDecValue kommt, muss die Anweisung so aussehen:

Delphi-Quellcode:
ApdComPort.Output := chr(StrToInt(strDecValue));
Habe ich das so richtig verstanden?

Klaus01 5. Mai 2008 10:12

Re: AsyncPro COM-Port und HEX-Werte
 
Zitat:

Zitat von NetSonic
Das bedeuted also, wenn ich beispielsweise den Wert 176 habe, der aus der String-Variable strDecValue kommt, muss die Anweisung so aussehen:

Delphi-Quellcode:
ApdComPort.Output := chr(StrToInt(strDecValue));
Habe ich das so richtig verstanden?

Ja, fast.
Ich denke AdpComPort.output erwartet einen String, es wird höchstwahrschienlich
mosern wenn da nur ein Char auftaucht.

Grüße
Klaus

NetSonic 5. Mai 2008 10:20

Re: AsyncPro COM-Port und HEX-Werte
 
Hey, geht aber so ohne Meckern und Mosern des Compilers :thumb:
Habe es gerade ausprobiert! Herzlichen Dank für den Denkanstoss.

Gruß, NetSonic

himitsu 5. Mai 2008 10:25

Re: AsyncPro COM-Port und HEX-Werte
 
Zitat:

Zitat von Klaus01
Ich denke AdpComPort.output erwartet einen String, es wird höchstwahrschienlich
mosern wenn da nur ein Char auftaucht.

Delphi wandelt einfach den Char in einen String um und übergibt ihn dann an .Output :stupid:

Für CharArray, WideCharArray, Char/Ansihar, WideChar String/AnsiString, WideString, PChar/PAnsiChar und PWideChar wird vom Compiler oftmals eine automatische Konvertierung eingerichtet.

vorallem von Char, PChar und "Array of Char" nach String geht das hervorragend :angel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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