Chr(0)

Für allgemeine Fragen zur Programmierung mit PureBasic.
RalfR
Beiträge: 10
Registriert: 08.09.2004 15:06

Chr(0)

Beitrag von RalfR »

etwas viele Fragen heute,
aber ich muss das jetzt auch noch wissen :mrgreen:
also, ich muss einen Binärwert in die registry schreiben, das Problem ist, er muss einige male das ASCI-Zeichen 0 beinhalten (Chr(0)) enthalten.

Am Ende sollte das (natürlich die Zeichen) in die Registry geschrieben werden:

Code: Alles auswählen

Chr(12)+Chr(0)+Chr(2)+Chr(0)+Chr(26)+Chr(1)+Chr(229)+Chr(119)+Chr(96)+Chr(0)+Chr(0)+Chr(0)
Geht auch soweit ganz gut, nur der Character 0 wird nicht geschrieben :cry: !

vielleicht hat sich ja schon mal einer mit dem thema auseinandergesetzt, oder eine andere Idee diese Zeichen als Binärwert in die Registry zu schreiben.

schon mal im Voraus vielen Dank!

Ralf
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Beitrag von Falko »

Und wie wär's mit

Code: Alles auswählen

CHR(48)
.

Damit wird die 0 geschrieben.
Oder hab ich das falsch verstanden? Dann sorry.

MfG Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
crossroads
Beiträge: 244
Registriert: 29.08.2004 05:41
Wohnort: Rhine Main Area

Beitrag von crossroads »

Falko hat geschrieben:Und wie wär's mit

Code: Alles auswählen

CHR(48)
.

Damit wird die 0 geschrieben.
Oder hab ich das falsch verstanden? Dann sorry.

MfG Falko
Ralf will ein Byte mit dem Wert 0 schreiben, nicht die Zahl 0
Also Chr( 0 ), nicht Chr( 48 )
Man soll die Tür aufmachen, bevor man durchgeht ...
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

Ich würds mit allocate Memory und Peek/poke (S) machen.

Strings sind für sowas nicht gedacht.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Da das ganze ja immer das gleiche ergibt würde ich das in eine DataSection packen und das Label übergeben:

Code: Alles auswählen

...
Procedure..(?Value,Len)
...

DataSection
Value:
Data.b 12,0,2,0,26,1,229,119,96,0,0,0
EndDataSection
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
RalfR
Beiträge: 10
Registriert: 08.09.2004 15:06

Beitrag von RalfR »

Danke für die Antworten, jedoch funktioniert bei mir keine der möglichkeiten, zumindest bekomm ich es nicht hin!

achja, noch ne Frage zu dem, was GPI geschrieben hat:
wie soll ich denn die werte in den Speicher bekommen?
ich habs mal versucht aber ich krieg den Chr(0) einfach nicht in die registry geschrieben!

mal der code:

Code: Alles auswählen

If RegOpenKeyEx_(#HKEY_LOCAL_MACHINE,"SOFTWARE\TestKey",0,#KEY_ALL_ACCESS, @hKey) = 0 
        RegSetValueEx_(hKey,"Settings",0,#REG_Binary,value_new,12) 
        RegCloseKey_(hKey) 
    EndIf 
value_new ist der Wert, der oben im ersten Beitrag steht, der soll in diesen Schlüssel geschrieben werden, wie gesagt funktioniert das auch ganz gut, nur der Chr(0) wird nicht geschrieben.

Der Regitry Schlüssel muss allerdings zwingend als Reg_BINARY vorliegen.

Trotzdem nochmal Danke an die, die bereits versucht haben zu helfen, hoffentlich weiß einer eine Möglichkeit das zu machen.

vielen Dank

Ralf
Antworten