Seite 1 von 4
Hex to Int - VERDÖST , ne , doch nicht
Verfasst: 30.01.2007 14:25
von DW
Wie wandle ich solch ein Hex. Wert "01C5F964" in einen int Wert um?
Verfasst: 30.01.2007 14:37
von ts-soft
Debug $01C5F964
Verfasst: 30.01.2007 14:45
von Kaeru Gaman
schau dir mal die ASCII-werte der Zeichen an, die vorkommen können.
du nimmst den Hex-Wert als string und berechnest es zeichenweise.
Verfasst: 30.01.2007 14:54
von ts-soft
gibts auch im CodeArchiv
Code: Alles auswählen
Procedure.l Hex2Dec(h$)
h$=UCase(h$)
For r=1 To Len(h$)
d<<4 : a$=Mid(h$,r,1)
If Asc(a$)>60
d+Asc(a$)-55
Else
d+Asc(a$)-48
EndIf
Next
ProcedureReturn d
EndProcedure
;
Debug Hex2Dec("01C5F964")
@DW Selber suchen macht happy

Verfasst: 30.01.2007 14:54
von DW
>$01C5F964
Dachte ich auch erst, stimmt aber anscheinend nicht(Geht nur bis 4 byte großen hex Wert?!).
Es geht darum, dass ich einen Wert im Speicher ändern will, für mein eigenes Programm. Ich habe nun ein Programm namens "Cheat Engine" gefunden, welches mir die Speicheradressen liefern kann. Aber in Form eines solchen Hex. Wertes.
Ich habe auch eine DLL, die mir das Ändern des Wertes erlaubt. Nur kann ich ihm keinen Hex. Wert geben.
Verfasst: 30.01.2007 14:59
von ts-soft
>> Dachte ich auch erst, stimmt aber anscheinend nicht(Geht nur bis 4 byte großen hex Wert).
bei mir geht es auch mit Quads
Verfasst: 30.01.2007 15:06
von DW
*Problem gelöst*
Edit:
Neues Problem.
Wenn ich folgendes konvertiere: 0046218C
dann gehts.
Aber bei diesem Wert 01C5F964 nicht.
Und an den Programmen liegt es nicht. Mit Cheat Engine klappts.
Verfasst: 30.01.2007 15:18
von Kiffi
DW hat geschrieben:*Problem gelöst*
wie wäre es dann mal mit einem "Dankeschön" an ts-soft und Kaeru Gaman?
Verfasst: 30.01.2007 15:21
von DW
$xyz kenn ich auch von Blitz. Nur war ich verweundert, als es bei einem Wert geklappt hat und bei einem anderen nicht. Obwohl beide Hex. Werte sind.
Hatte ich schon vorher versucht.
Danke.
www.forgesoft.de/Stuff/DMA.rar
von KHORN
Verfasst: 30.01.2007 15:31
von ts-soft
DW hat geschrieben:
Edit:
Neues Problem.
Wenn ich folgendes konvertiere: 0046218C
dann gehts.
Aber bei diesem Wert 01C5F964 nicht.
Und an den Programmen liegt es nicht. Mit Cheat Engine klappts.
Was geht den daran nicht?