![]() |
einen Hexwert umrechnen in einen Dezimalwert
Hallo zusammen,
ich bin mir ziemlich sicher dass es eine fertige Funktion gibt, finde diese nur nicht. Ich habe in einem String einen Hexwert. Diesen muss ich umrechnen in einen Dezimalwert. Weiß da jemand Rat? Vielen Dank schon mal vorab! |
AW: einen Hexwert umrechnen in einen Dezimalwert
Hallo,
Zitat:
![]() Gruß |
AW: einen Hexwert umrechnen in einen Dezimalwert
Hallo Volker,
vielen Dank für deine Hilfe! :thumb: Da wäre ich jetzt nie drauf gekommen dass StrToInt() auch für Hexwerte gilt, aber in der Hilfe stehts so. Jetzt hab ich noch ein Problem: Ich muss 2 8stellige Hexwerte addieren... Kann mir hierbei noch jenmand helfen? Vielen Dank! |
AW: einen Hexwert umrechnen in einen Dezimalwert
Zitat:
Meines Wissens musst du nur ein "$" vor den Hexwert setzen, damit dieser umgerechnet wird. |
AW: einen Hexwert umrechnen in einen Dezimalwert
Hallo,
Zitat:
![]() Gruß |
AW: einen Hexwert umrechnen in einen Dezimalwert
Hallo Matthias,
danke für deinen Hinweise! Ich habe es folgendermaßen versucht:
Delphi-Quellcode:
s := IntToStr((StrToInt('$' + (RightStr(sl_Quelle.Strings[0], 8)))) + (StrToInt('$' + ('00' + LeftStr(sl_Quelle.Strings[0], 6)))));
Zur Veranschaulichung ein Beispiel: Hexwert 1 = 55 22 8D 04 Hexwert 2 = 00 80 2A D8 Diese beiden Werte addiert sollen 52 A2 B7 DC ergeben. Das muss ich dann noch in Dezimal umwandeln. Das Endergebnis soll 1386395612 sein. @Volker, ich habe natürlich einiges versucht, da gab es auch Wertebereichsverletzungen beim Int64 |
AW: einen Hexwert umrechnen in einen Dezimalwert
Zitat:
|
AW: einen Hexwert umrechnen in einen Dezimalwert
Liste der Anhänge anzeigen (Anzahl: 1)
Mal auf einen Button gelegt
Delphi-Quellcode:
Oder willst du mit Signed Werten arbeiten?procedure TForm1.Button1Click(Sender: TObject); begin Button1.Caption := IntToStr(StrToInt('$55228D04') + StrToInt('$00802AD8')); end; |
AW: einen Hexwert umrechnen in einen Dezimalwert
Hallo,
der Code hat nichts mit dem Beispiel zu tun. Wenn in sl_Quelle.Strings[0] 55228D04 steht, dann rechnet Dein Code $55228D04 + $0055228D, denn Du greifst doch auf den gleichen String zu (sl_Quelle.Strings[0])
Delphi-Quellcode:
Gruß
ShowMessage (IntToStr (StrToInt ('$55228D04') + StrToInt ('$00802AD8'))); // Korrektes Ergebnis: 1436727260 [52A2B7DC]Hex
ShowMessage (IntToStr (StrToInt ('$FFFFFFFF') + StrToInt ('$FFFFFFFF'))); // Falsche Ergebnis: -2 ShowMessage (IntToStr (StrToInt64 ('$FFFFFFFF') + StrToInt64 ('$FFFFFFFF'))); // Korrektes Ergebnis: 8589934590 [1FFFFFFFE]Hex |
AW: einen Hexwert umrechnen in einen Dezimalwert
Hallo zusammen ,
danke für das rege Interesse! :thumb: @zeras Mit dem Windowsrechner geht das wohl deswegen nicht, weil man bei dem 2. Wert keine führenden Nullen eingeben kann. Leider weiß ich nicht was "Signed Werte" sind. @ Volker Ich greife auf einen Teil eines größeren Strings zu! Zum einen die letzten 8 Zeichen und zum anderen 2führende Nullen und die ersten 6 Zeichen des Strings. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:02 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