![]() |
Hex-Werte an String hängen
Hallo,
ich steh irgendwie grad vor einem Denkproblem ... Kann mir jemand erklären wie ich Hex-Werte an ein String dranhängen kann? So funktionierts schonmal nicht =/
Delphi-Quellcode:
Mir auch schon irgendwie einleuchtend warums der Compiler nicht zulässt, aber wie löst man denn das Problem?
procedure TForm1.foo;
var Temp:String; begin Temp := 'W' + $03 + $F9 + $A7; end; |
AW: Hex-Werte an String hängen
Was soll denn da bitte bei rauskommen? Was sind das für Hexadezimalwerte? Oder suchst du die Funktion Chr?
|
AW: Hex-Werte an String hängen
[klugscheiß]Und genau genommen gibt es keine Hex-Werte, sondern höchstens eine hexadezimale Zahlendarstellung.[/klugscheiß]
|
AW: Hex-Werte an String hängen
@Luckie: Schätze schon.
Entweder (wie Luckie sagte) mit Chr() oder mit einem # vor der Zahl:
Delphi-Quellcode:
procedure TForm1.foo;
var Temp:String; begin Temp := 'W' + Chr($03) + Chr($F9) + Chr($A7); end; procedure TForm1.foo; var Temp:String; begin Temp := 'W' + #$03 + #$F9 + #$A7; end; |
AW: Hex-Werte an String hängen
Zitat:
Delphi-Quellcode:
,
s := 'abc' + Chr(123) + Chr($7B) + #123 + #$7B;
wobei die Raute noch mehr hann
Delphi-Quellcode:
.
s := 'abc'#123#$7B;
[edit] Ohh, wo kommt denn der General plötzlich her :shock: |
AW: Hex-Werte an String hängen
Noch ne Möglichkeit aber vielleicht nicht das was gewünscht war:
Delphi-Quellcode:
Gruß
procedure TForm1.foo;
var Temp:String; begin Temp := 'W' + InttoHex($03,2) + InttoHex($F9,2) + InttoHex($A7,2); end; K-H |
AW: Hex-Werte an String hängen
Alles klar, sieht soweit ganz gut aus =)
Ich lese aber eine Zahl über ein Edit-Feld ein ... die unter Umständen größer als 255 sein kann ... Mit dem IntToHex(Variable,4) kann ich die eingelesene Zahl ja auf feste 16bit klammern, oder nicht? Und jetzt müsste ich doch bestimmt das Datenwort in 2x8Byte aufteilen ... und dann mit chr() rüberbügeln? Kann man das so machen? |
AW: Hex-Werte an String hängen
Ich habe immer noch nicht ganz verinnerlicht, was Du machen willst. Soll das Zeichen, das dem ASCII-Code der Zahl entspricht, an den String angehangen werden (bei Zahlen > 255 dann eben mehrere)?
|
AW: Hex-Werte an String hängen
User-Eingabe 1 : 1000 //defintiv größer als 256
User-Eingabe 2 : 30 //defintiv kleiner als 256 <User-Ei.1> <User-Ei.2> = 1000 = 30 --> String für Gerät: 'W' + $03 + $E8 + $48 --> mit chr() 'W' + ^C + è + 0 So damit ich den String senden kann ... weil diese dumme CPort-Komponente nur Strings haben will. So erschien es mir am plausibelsten ... oder? |
AW: Hex-Werte an String hängen
Das wird aber blöde, wenn da zufällig eine 0 umgewandelt wird, da der String danach abgeschnitten wird. Allerdings habe ich gerade auch keine rechte Idee, wie man so etwas dann sicher übermitteln soll.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 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