AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hex-Werte an String hängen

Ein Thema von Caleb · begonnen am 5. Aug 2011 · letzter Beitrag vom 8. Aug 2011
Antwort Antwort
Seite 1 von 2  1 2      
Caleb

Registriert seit: 26. Nov 2010
11 Beiträge
 
#1

Hex-Werte an String hängen

  Alt 5. Aug 2011, 13:36
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:
procedure TForm1.foo;
var
  Temp:String;
begin
  Temp := 'W' + $03 + $F9 + $A7;
end;
Mir auch schon irgendwie einleuchtend warums der Compiler nicht zulässt, aber wie löst man denn das Problem?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Hex-Werte an String hängen

  Alt 5. Aug 2011, 13:37
Was soll denn da bitte bei rauskommen? Was sind das für Hexadezimalwerte? Oder suchst du die Funktion Chr?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Hex-Werte an String hängen

  Alt 5. Aug 2011, 13:39
[klugscheiß]Und genau genommen gibt es keine Hex-Werte, sondern höchstens eine hexadezimale Zahlendarstellung.[/klugscheiß]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Hex-Werte an String hängen

  Alt 5. Aug 2011, 13:40
@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;
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#5

AW: Hex-Werte an String hängen

  Alt 5. Aug 2011, 13:48
Oder suchst du die Funktion Chr?
oder die Raute

s := 'abc' + Chr(123) + Chr($7B) + #123 + #$7B; ,

wobei die Raute noch mehr hann

s := 'abc'#123#$7B; .


[edit]
Ohh, wo kommt denn der General plötzlich her
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Hex-Werte an String hängen

  Alt 5. Aug 2011, 13:56
Noch ne Möglichkeit aber vielleicht nicht das was gewünscht war:
Delphi-Quellcode:
procedure TForm1.foo;
var
  Temp:String;
begin
  Temp := 'W' + InttoHex($03,2) + InttoHex($F9,2) + InttoHex($A7,2);
end;
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Caleb

Registriert seit: 26. Nov 2010
11 Beiträge
 
#7

AW: Hex-Werte an String hängen

  Alt 5. Aug 2011, 14:04
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?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Hex-Werte an String hängen

  Alt 5. Aug 2011, 14:09
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)?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Caleb

Registriert seit: 26. Nov 2010
11 Beiträge
 
#9

AW: Hex-Werte an String hängen

  Alt 5. Aug 2011, 14:18
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?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Hex-Werte an String hängen

  Alt 5. Aug 2011, 14:21
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.
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