AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

String aus Hex konvertieren.

Ein Thema von Kostas · begonnen am 12. Mai 2015 · letzter Beitrag vom 13. Mai 2015
Antwort Antwort
Seite 1 von 2  1 2   
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#1

AW: String aus Hex konvertieren.

  Alt 12. Mai 2015, 21:30
Ich verstehe nicht gar was du meinst. Suchst du evtl. das?
Delphi-Quellcode:
String2 := IntToHex($00, 2)+IntToHex($00, 2)+IntToHex($00, 2)+IntToHex($05, 2)+IntToHex($55, 2)+IntToHex($50, 2);
//
Sorry für die schlechte Beschreibung.
Der String1 ändert sich natürlich. Ich müsste also eine Methode haben die aus dem String1
als Beispiel hier '000000055550' den String generiert #0#0#0#5'UP'
Immer zwei Zeichen aus dem String ergeben eine Byte. Die zwei Zeichen sind jeweils hex.
Die letzten zwei Zeichen sind somit $50 also ein "P" als Char.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: String aus Hex konvertieren.

  Alt 12. Mai 2015, 21:33
Immer zwei Zeichen aus dem String ergeben eine Byte. Die zwei Zeichen sind jeweils hex.
Die letzten zwei Zeichen sind somit $50 also ein "P" als Char.
Dann mach das doch so wie du das hier beschrieben hast. Eine Schleife und ca. drei Zeilen Code
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#3

AW: String aus Hex konvertieren.

  Alt 12. Mai 2015, 21:47
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

  function GetChr(s: String; Index: Integer): Char;
  begin
    Result := Chr(StrToIntDef('$' + Copy(s, 1 + (Index - 1) * 2, 2), 0));
  end;

var
  s, String2: string;
  i: Integer;
begin
  s := '000000055550'; //anderes Beispiel (ABCDEF): '414243444546';
  String2 := '';
  for i := 1 to 6 do
    String2 := String2 + GetChr(s, i);

  ShowMessage(String2);
end;
Da vorne aber Nullen sind und #0 ein Steuerzeichen oder das Ende des Strings bedeutet, wird deine Zeichenfolge nichts anzeigen.
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#4

AW: String aus Hex konvertieren.

  Alt 12. Mai 2015, 21:50
Verflixt noch eins das habe ich gemeint.

Delphi-Quellcode:
function HexToInt(value:string):Char;
        begin
          result := Chr(StrToInt('$' + value));
        end;
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#5

AW: String aus Hex konvertieren.

  Alt 12. Mai 2015, 21:52
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

  function GetChr(s: String; Index: Integer): Char;
  begin
    Result := Chr(StrToIntDef('$' + Copy(s, 1 + (Index - 1) * 2, 2), 0));
  end;

var
  s, String2: string;
  i: Integer;
begin
  s := '000000055550'; //anderes Beispiel (ABCDEF): '414243444546';
  String2 := '';
  for i := 1 to 6 do
    String2 := String2 + GetChr(s, i);

  ShowMessage(String2);
end;
Da vorne aber Nullen sind und #0 ein Steuerzeichen oder das Ende des Strings bedeutet, wird deine Zeichenfolge nichts anzeigen.

Danke danke, meine Blockade war, wie mache ich aus dem String eine Hex Zahl und habe
übersehen dass ich einfach ein $ davorsetzen muss. Der Rest ist klar.

Dankeschön
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: String aus Hex konvertieren.

  Alt 12. Mai 2015, 22:09
Danke danke, meine Blockade war, wie mache ich aus dem String eine Hex Zahl und habe
übersehen dass ich einfach ein $ davorsetzen muss. Der Rest ist klar.
Bist Du Dir da sicher? Sir Rufo hat Deine Frage eigentlich richtig beantwortet.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#7

AW: String aus Hex konvertieren.

  Alt 12. Mai 2015, 22:20
Danke danke, meine Blockade war, wie mache ich aus dem String eine Hex Zahl und habe
übersehen dass ich einfach ein $ davorsetzen muss. Der Rest ist klar.
Bist Du Dir da sicher? Sir Rufo hat Deine Frage eigentlich richtig beantwortet.

Gruß
K-H
Eigentlich schon. Zumindest funktioniert es einwandfrei.
Wie gesagt, ich habe nach einer Delphi Möglichkeit wie StrToHex gesucht die es nicht gibt. Warum auch, mir ist schon Klar dass ein HexStr nur ein '$' vorangestellt wird. Aber irgend wie habe ich das ausgeblendet.

Delphi-Quellcode:
function HexToChar(value:string):Char;
begin
  result := Chr(StrToInt('$' + value));
end;
Dankeschön und sorry.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: String aus Hex konvertieren.

  Alt 13. Mai 2015, 00:29
Delphi-Referenz durchsuchenHexToBin Delphi-Referenz durchsuchenBinToHex

Achtung, bei mehr als einem Byte ist bei Delphi-Referenz durchsuchenHexToInt und Delphi-Referenz durchsuchenIntToHex die Reihenfolge andersrum.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#9

AW: String aus Hex konvertieren.

  Alt 12. Mai 2015, 21:53
@Popov: String von hinten nach vorne durchgehen, würde das Problem mit den Nullbytes lösen, sofern man beim ersten Nullbyte die Schleife verlässt (und nebenbei die unwichtigen führenden Nullen ignorieren).

@Kostas: Wieso heißt die Funktion HexToInt, wenn ein Char rauskommt?

MfG Dalai
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#10

AW: String aus Hex konvertieren.

  Alt 12. Mai 2015, 21:56
...
@Kostas: Wieso heißt die Funktion HexToInt, wenn ein Char rauskommt?

MfG Dalai
Weil ich mich beeilen wollte die Antwort zu posten um Euch nicht noch mehr zu strapazieren
mit meinem Blödsinn.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:00 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