AGB  ·  Datenschutz  ·  Impressum  







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

Hex to String

Ein Thema von XXcD · begonnen am 9. Apr 2008 · letzter Beitrag vom 11. Apr 2008
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#1

Hex to String

  Alt 9. Apr 2008, 17:50
Hallo,
ich versuche gerade Hexwerte in Strings umzuwandeln.
Folgendes habe ich bisher ausprobiert:

Delphi-Quellcode:
function HexStringToStr(s : string):string;
begin
  if s = 'then
    Result := ''
  else
  begin
    if Odd(length(s)) then
      s := '0'+s;
    SetLength(Result, Length(s) div 2);
    HexToBin(Pchar(s), PChar(Result), Length(Result));
  end;
end;

Procedure TForm1.Button1Click(Sender: TObject)
begin
HexStringToStr('01010005200B000D600200000100012806050000000205000D6002000101000560');
end;
Sowas kommt dabei raus: 

Was mache ich falsch?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Hex to String

  Alt 9. Apr 2008, 17:57
Ein Hexwert ist nur eine Darstellungsform einer Zahl. Stellst Du sie $FF dar, ist dies bereits ein String.
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 XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Hex to String

  Alt 9. Apr 2008, 17:59
???

Ich verstehe nicht ganz, ich weiß nicht was das damit zu tun hat.
Ich möchte gerne den gesammten string aus Hex werten umwandeln.
Normalerweise müsste da ein kommpletter Satz rauskommen.

Und ich habe noch herausgefunden, dass wenn man die Hexwerte einzeln umwandelt dann funkioniert es.

HexStringToStr('01');
HexStringToStr('01');
HexStringToStr('00');
HexStringToStr('05');
usw..

Aber ich brauche das ja in einem String.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Hex to String

  Alt 9. Apr 2008, 18:02
Und welcher Satz?
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
Dax
(Gast)

n/a Beiträge
 
#5

Re: Hex to String

  Alt 9. Apr 2008, 18:03
"010100" wäre #1#1#0, was - in einem Windows-Control ausgegeben - zwei komischen Zeichen entspricht. Offensichtlich stimmt der Algorithmus, aber die Eingaben sind falsch
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Hex to String

  Alt 9. Apr 2008, 18:05
Also ich habe jetzt etwas kleines zusammen gebastelt, aber das funktioniert nicht richtig.
Also wo der Fehler jetzt ist weiß ich, aber wie kann ich das anders machen?

Delphi-Quellcode:
function hexinstring(d : string): string;
var
  I, s: Integer;
  t, n, y: string;
begin
s:=1;
for I := 1 to length(d) div 2 do
begin
 n:= copy(d, s, 2);
 y:=HexStrToString(n);
 t:=t+y; <--- hier liegt wohl der Fehler
s:= I * 2 + 1;
end;
Result:= t;
end;
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: Hex to String

  Alt 9. Apr 2008, 21:21
Ich denke nicht, dass der Fehler dort liegt. Dax hat vollkommen Recht mit seinem Beitrag zuvor. Dein Hexadezimaler Eingabestring enthält definitiv keine Zeichenkodes. Schau dir mal die Signatur von mir an, da sieht man doch auf Anhieb, dass die Zeichenkodes deutlich grösser sind - das ergibt auch richtige Zeichen.
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Hex to String

  Alt 9. Apr 2008, 22:29
Ok habe es jetzt hibekommen, der Hexwert war auch richtig(ist halt nur nen Beispiel gewesen),
aber wie kann ich die Funktion so umschreiben, dass die auch den HexWert 00 mit umwandelt.
Der wird nämlich einfach rausgeschnitten.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Hex to String

  Alt 9. Apr 2008, 22:33
Zitat von Muetze1:
49 63 68 20 68 61 62 65 20 6B 65 69 6E 65 20 41 68 6E 75 6E 67 20 21
44 61 73 20 67 6C 61 75 62 65 20 69 63 68 20 64 69 72 20 6E 69 63 68 74 20 !

Zitat von XXcD:
aber wie kann ich die Funktion so umschreiben, dass die auch den HexWert 00 mit umwandelt.
Der wird nämlich einfach rausgeschnitten.
Nein, nur nicht angezeigt in deinem Memo oder was auch immer.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Hex to String

  Alt 9. Apr 2008, 22:41
Was ist denn nach deiner Auffassung das richtige Ergebnis für den Wert 00?
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 11:10 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