Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ByteToHex (https://www.delphipraxis.net/204635-bytetohex.html)

Schuby 14. Jun 2020 18:07

ByteToHex
 
Nabend,
ich komme einfach nicht weiter, ich muss einen Hex wert senden.

so geht es
Delphi-Quellcode:
  SendStr:= #01);
  UDPClient.Send(SendStr);

Das geht nicht
Delphi-Quellcode:
  byt:= $01;
  SendStr:= IntToStr(byt);
  UDPClient.Send(SendStr);

mfg

zeras 14. Jun 2020 18:22

AW: ByteToHex
 
Willst du nun ein Byte oder den Hexwert als String senden?

Schuby 14. Jun 2020 18:32

AW: ByteToHex
 
Ich muss ein Hexwert senden, der von einen byte kommt.

Das hier ist ok, SendStr:= #01);

mfg

zeras 14. Jun 2020 18:39

AW: ByteToHex
 
So wie ich dich verstehe, willst du ein Byte senden.
Ein Byte ist ein Byte. Es kommt nur auf die Darstellung an.

Du kannst also das so senden, musst nur beim Anzeigen auf der anderen Seite darauf achten, dass es als Hexwert angezeigt wird.

Schuby 14. Jun 2020 18:58

AW: ByteToHex
 
Sorry aber das geht nicht, weil ich nur SendeStr[1] sende
bei 1 - 9 kann ich das machen, aber wenn ich eine 10 sende
kommt an der anderen Seite wieder eine 1 an

Hier gehts ja SendStr:= #27; kommt an der anderen Seite $1B an

ich muss 1 stelle im string als Hex senden.


mfg

markus888 14. Jun 2020 18:58

AW: ByteToHex
 
Was ist mit IntToHex?

Schuby 14. Jun 2020 19:04

AW: ByteToHex
 
Geht auch nicht, dann habe ich bei wert 27 im
string '1B' drin stehen, da dürfen aber keine '' weil dann ist es ja ein string

im sendestr muss 1B drin stehen ohne ' '



mfg

zeras 14. Jun 2020 19:20

AW: ByteToHex
 
Wie oben schon von mir gefragt. Willst du nun ein Byte senden oder mehrere?
Wenn du nur ein Byte senden willst, geht das von 0..255. Du musst das dann nur auf der Empfängerseite richtig darstellen.

SendeStr[1] sendet also ein Byte. Das kann auch 1b sein, dezimal dann 27. Es bleibt trotzdem nur ein Byte.

Ghostwalker 15. Jun 2020 05:00

AW: ByteToHex
 
Wie Zeras schon sagte, willst du ja nur ein Byte senden.

Um das ganze mal zu verdeutlichen:

SendStr := IntToHex(27);

Ergebnis:

SendStr[1] := '$';
SendStr[2] := '1';
SendStr[3] := 'D';

Richtig in deinem Fall (Also nur 1 Byte) ist

SendStr := chr(27);

oder

SendStr := #27;

Damit wird nur SendStr[1] auf den entsprechenden Bytewert gesetzt

Schuby 15. Jun 2020 06:05

AW: ByteToHex
 
Danke das habe ich verstanden.

SendStr:= chr(100); //100 = $64
UDPClient.Send(SendStr[1]);

geht super



mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:14 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz