Hex to Int - VERDÖST , ne , doch nicht

Anfängerfragen zum Programmieren mit PureBasic.
DW

Hex to Int - VERDÖST , ne , doch nicht

Beitrag von DW »

Wie wandle ich solch ein Hex. Wert "01C5F964" in einen int Wert um?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Debug $01C5F964
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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 :wink:
Zuletzt geändert von ts-soft am 30.01.2007 14:54, insgesamt 1-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
DW

Beitrag 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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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

Code: Alles auswählen

Debug HexQ(5000000000)
Debug $12A05F200
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
DW

Beitrag 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.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

DW hat geschrieben:*Problem gelöst*
wie wäre es dann mal mit einem "Dankeschön" an ts-soft und Kaeru Gaman?
a²+b²=mc²
DW

Beitrag 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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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.

Code: Alles auswählen

Debug $01C5F964
Debug Hex(29751652)
Was geht den daran nicht?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten