![]() |
TRegistry.ReadBinaryData - kleine Frage
Hallochen...,
ich spiele grad ein wenig mit der Registry... :cyclops: Hier im Forum hab ich mir alles was ich zu ReadBinaryData finden konnte angeschaut. Unter anderem ![]() In den meisten Routinen taucht auch dieser Teil auf:
Delphi-Quellcode:
Da es für mich offensichtlich zu warm draußen ist... :oops: Kann mir please jemand erklären, warum man diesen Part dort benutzt? Gibt es in Binary-Einträgen Zeilenumbrüche?
repeat
p := Pos(#0, tmpStr); if p <> 0 then begin Delete(tmpStr, p, 1); Insert(#13#10, tmpStr, p); end; until p = 0; Vielen lieben Dank, Gina. |
Re: TRegistry.ReadBinaryData - kleine Frage
Hi,
für mich sieht es so aus, als ob #0 im Reg Binary Wert für Zeilenumbrüche stehen, aber lediglich als #0 gespeichert werden. mfG mirage228 |
Re: TRegistry.ReadBinaryData - kleine Frage
Es handelt sich bei den Daten wahrscheinlich um REG_MULTI_SZ (welches AFAK nicht von der Delphi-Klasse unterstützt wird). Die Daten bestehen dann aus #0-terminierten Strings, wobei die Liste wiederum mit einer #0 beendet wird (also faktisch mit #0#0).
In dem Code werden die Strings offensichtlich mit Zeilenumbrüchen getrennt (um sie anzuzeigen oder in eine TStringList zu laden). |
Re: TRegistry.ReadBinaryData - kleine Frage
Achso...
Wenn ich also einen String ala 'Hallo Delphianer' als Binary in die Registry schreibe und ihn dann wieder auslese, dann brauche ich das gar nicht? Vielen Dank, Gina. |
Re: TRegistry.ReadBinaryData - kleine Frage
Zitat:
Dafür gibt es aber Funktionen wie ReadString/WriteString (das hat aber nichts mit Binärdaten zu tun :)). |
Re: TRegistry.ReadBinaryData - kleine Frage
Danke dir.
Das mit ReadString/WriteString hab ich ja schon oft benutzt, nur eben Binary noch nicht. Daher wollte ich das mal ausprobieren... ;) Wenn ich am Anfang #0 vor den String setze und das dann in die Registry schreibe, dann tut er das zwar, aber beim Auslesen, wird mir nix angezeigt, obwohl dahinter das 'Hallo Delphianer' steht. Dann Interpretiert er das wohl als "Null-String"? Liebe Grüße, Gina. |
Re: TRegistry.ReadBinaryData - kleine Frage
Zitat:
Bei Binärdaten bleibt Dir die Interpretation selbst überlassen. Wenn Du einen Datenblock mit #0 am Anfang als String interpretierst, dann ist er leer (und der Rest wird ignoriert). |
Re: TRegistry.ReadBinaryData - kleine Frage
Ahh, ok...
Vielen lieben Dank... :kiss: Gina. |
Re: TRegistry.ReadBinaryData - kleine Frage
Zitat:
|
Re: TRegistry.ReadBinaryData - kleine Frage
Also, wenn ich das richtig sehe, dann wäre eine while-Schleife 1 Zeile länger und kommt aufs Gleiche raus... :gruebel: Oder?
Vielleicht doch noch eine Ergänzungsfrage von mir: Wenn ich so sehe, was alles als Binary bei mir in der Registry steht... Wozu ist dieser Typ eigentlich (im Sinner des Erfinders) wirklich gedacht? Wann sollte man unbedingt Binary nehmen? Thx, Gina. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz