AGB  ·  Datenschutz  ·  Impressum  







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

Typenumwandlungen

Ein Thema von endeffects · begonnen am 24. Jun 2008 · letzter Beitrag vom 24. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#1

Typenumwandlungen

  Alt 24. Jun 2008, 16:25
Hallo,

ich hab ein Problem mit der Umwandlung von Typen.
Und zwar möchte ich den Wert 0x4FDD2F96 umwandeln
in 1339895702. D.h. irgendwie muss ich den Hexwert
in einen String umwandeln und dann aus jedem Zeichen
des Strings einen Integerwert bilden.

Ich hab es schon wie folgt probiert:

showmessage(IntToStr(Ord((Chr(StrToInt('$4F')))))); Aber dann erhalte ich den Wert 79 und nicht 13 oder 133 ?!

Welche Umwandlung hier von nöten ist ist mir ehrlich gesagt
völlig schleierhaft.

Hat Jemand vielleicht einen Rat?

Mfg
  Mit Zitat antworten Zitat
1234588

Registriert seit: 14. Jan 2007
Ort: Stuttgart
164 Beiträge
 
#2

Re: Typenumwandlungen

  Alt 24. Jun 2008, 16:29
LongInt($4FDD2F96) :o)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#3

Re: Typenumwandlungen

  Alt 24. Jun 2008, 16:30
Ist das was für Dich? http://www.delphipraxis.net/internal...?p=27809#27809

Ps: Das war ganz einfach gesucht nach Hier im Forum suchenHexToInt
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#4

Re: Typenumwandlungen

  Alt 24. Jun 2008, 16:37
Lustigerweise gibt es ein IntToHex in Delphi, aber kein HexToInt.

Das hab ich mal selber geschrieben (ist aber auch trivial):
Delphi-Quellcode:
function HexToInt(HexNum: string): LongInt;
begin
  if HexNum = 'then
    Result := 0
  else
  begin
    if Pos('$', HexNum) < 1 then
      Result := StrToInt('$' + HexNum)
    else
      Result := StrToInt(HexNum);
  end;
end;
Edit: Dank rotem Kasten eigentlich fast überflüssig...

Sherlock
Oliver
  Mit Zitat antworten Zitat
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#5

Re: Typenumwandlungen

  Alt 24. Jun 2008, 16:43
oh vielen dank für die zahlreichen und schnellen antworten.
die methode mit dem longint() funktioniert wunderbar
solange ich den hex wert eingebe, aber wie löse ich das
wenn ich anstelle des hex wertes einen normalen string habe?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#6

Re: Typenumwandlungen

  Alt 24. Jun 2008, 16:46
Häh?

Genau das steht doch in dem von mir verlinkten Beitrag und der letzten Antwort von Sherlock drin??
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#7

Re: Typenumwandlungen

  Alt 24. Jun 2008, 16:57
nein ich meine wenn ich keinen hex wert habe sondern lediglich einen string:

Delphi-Quellcode:
var s: String;
begin
showmessage(IntToStr(LongInt($4FDD2F96))); //>> 1339895702

s:= Chr(StrToInt('$4F')) + Chr(StrToInt('$DD')) + Chr(StrToInt('$2F')) + Chr(StrToInt('$96'));
showmessage(s);
Wie bekomm ich denn jetzt aus dem string s den wert 1339895702 errechnet?
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#8

Re: Typenumwandlungen

  Alt 24. Jun 2008, 17:00
Zitat von Phoenix:
Häh?

Genau das steht doch in dem von mir verlinkten Beitrag und der letzten Antwort von Sherlock drin??

Naja, genau steht's ja nun nicht drin, da er von einer C-Hexzahl mit 0x... ausgeht und da fährt die HexToInt-Funktion gegen diw Wand. Aber die Richtung sollte klar sein.

Gruß Gammatester
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#9

Re: Typenumwandlungen

  Alt 24. Jun 2008, 17:01
StrToInt('$4FDD2F96');

Oder was meinst du?

[Edit]
Zitat:
von einer C-Hexzahl mit 0x...
In dem Fall, muss der Strin natürlich erst entsprechend formatiert werden, aber das '0x' gegen ein '$' auzutauschen, sollte zu schaffen sein.
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#10

Re: Typenumwandlungen

  Alt 24. Jun 2008, 17:09
Zitat von Cyf:
In dem Fall, muss der Strin natürlich erst entsprechend formatiert werden, aber das '0x' gegen ein '$' auzutauschen, sollte zu schaffen sein.
Sag ich ja :)
Gammatester
  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:57 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