Binär zu String
Binär zu String
Hey Leute, wie Binärdaten (aus der registry (wie ich sie heraushole wei ich)) zu einem String konvertieren?
So ganz spontan würde mir da Bin() einfallen. Und das, obwohl ich diesen Befehl noch nie benutzt habe!!

PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- 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
Bin ist blödsinn
Base64 wäre das einfachste. Einfaches Peeks geht nicht, wegen der
Nullbytes. Oder in eine Art Hex umwandeln, wie der RegistryEditor es macht,
kommt ja drauf an wofür es gebraucht wird.
Base64 wäre das einfachste. Einfaches Peeks geht nicht, wegen der
Nullbytes. Oder in eine Art Hex umwandeln, wie der RegistryEditor es macht,
kommt ja drauf an wofür es gebraucht wird.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
"binary data" im englischen ist was anderes als "binäre daten" im deutschen.
ersteres bezeichnet daten in form einer unformatierten zahlenreihe.
letzteres eine folge von nullen und einsen.
deswegen ist dein titel irreführend.
ersteres bezeichnet daten in form einer unformatierten zahlenreihe.
letzteres eine folge von nullen und einsen.
deswegen ist dein titel irreführend.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- 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
#REG_BINARY ist kein String. Kann leerzeichen enthalten. Muß also
umgewandelt werden, wie ich bereits geschrieben habe. Mit PeekS gehts
nicht!
Byteweise auslesen, mit PeekB und umwandeln, oder den gesamten Speicher
mit Base64 in einen String wandeln.
Oder nimmste JHRegistry UserLib, die kann das.
umgewandelt werden, wie ich bereits geschrieben habe. Mit PeekS gehts
nicht!
Byteweise auslesen, mit PeekB und umwandeln, oder den gesamten Speicher
mit Base64 in einen String wandeln.
Oder nimmste JHRegistry UserLib, die kann das.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Code: Alles auswählen
Debug "Value: " + JHRegGetValue(#HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\DirectX\", "InstalledVersion")
Debug "Binar" + Str(JHRegGetBinary(#HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\DirectX\", "InstalledVersion"))
- sharkpeter
- Beiträge: 474
- Registriert: 29.08.2004 16:18
- Wohnort: Dresden
- Kontaktdaten:
Also ich habe da einen String drin stehen für die Version. Weiß nicht ob es
bei XP so anders ist:
Im übrigen gibt die Funktion JHRegGetBinary() "nur" eine Speicheradresse
zurück, aber das steht in der zugehörigen Hilfe drin.
Gruß Jens
bei XP so anders ist:
Code: Alles auswählen
Debug JHRegGetString(#HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\DirectX\", "Version")
zurück, aber das steht in der zugehörigen Hilfe drin.

Gruß Jens
Zuletzt geändert von sharkpeter am 07.10.2006 17:54, insgesamt 1-mal geändert.
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64
Nichts wissen macht nichts, sich dumm stellen aber schon.
Nichts wissen macht nichts, sich dumm stellen aber schon.
Code: Alles auswählen
Debug JHRegGetString(#HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\DirectX\", "Version")
4.09.00.0904
(directX 9.0c)
und wenn ich nach installedversion debugge komtm garnichts ( XP Prof SP2 und eben DX9.0c)