AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi TRegistry.ReadBinaryData - kleine Frage

TRegistry.ReadBinaryData - kleine Frage

Ein Thema von Gina · begonnen am 14. Jul 2005 · letzter Beitrag vom 14. Jul 2005
Antwort Antwort
Benutzerbild von Gina
Gina

Registriert seit: 23. Dez 2004
Ort: Berlin
161 Beiträge
 
Delphi 6 Professional
 
#1

TRegistry.ReadBinaryData - kleine Frage

  Alt 14. Jul 2005, 20:01
Hallochen...,

ich spiele grad ein wenig mit der Registry...

Hier im Forum hab ich mir alles was ich zu ReadBinaryData finden konnte angeschaut. Unter anderem diesen hier.

In den meisten Routinen taucht auch dieser Teil auf:

Delphi-Quellcode:
        repeat
          p := Pos(#0, tmpStr);

          if p <> 0 then
          begin
            Delete(tmpStr, p, 1);
            Insert(#13#10, tmpStr, p);
          end;
        until p = 0;
Da es für mich offensichtlich zu warm draußen ist... Kann mir please jemand erklären, warum man diesen Part dort benutzt? Gibt es in Binary-Einträgen Zeilenumbrüche?

Vielen lieben Dank, Gina.
Mein Lieblings-Spiele-Laden in Berlin: www.cometgames-store.de

{KDT}
.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: TRegistry.ReadBinaryData - kleine Frage

  Alt 14. Jul 2005, 20:06
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
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#3

Re: TRegistry.ReadBinaryData - kleine Frage

  Alt 14. Jul 2005, 20:08
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).
  Mit Zitat antworten Zitat
Benutzerbild von Gina
Gina

Registriert seit: 23. Dez 2004
Ort: Berlin
161 Beiträge
 
Delphi 6 Professional
 
#4

Re: TRegistry.ReadBinaryData - kleine Frage

  Alt 14. Jul 2005, 20:35
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.
Mein Lieblings-Spiele-Laden in Berlin: www.cometgames-store.de

{KDT}
.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#5

Re: TRegistry.ReadBinaryData - kleine Frage

  Alt 14. Jul 2005, 20:37
Zitat von Gina:
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?
Richtig.
Dafür gibt es aber Funktionen wie ReadString/WriteString (das hat aber nichts mit Binärdaten zu tun ).
  Mit Zitat antworten Zitat
Benutzerbild von Gina
Gina

Registriert seit: 23. Dez 2004
Ort: Berlin
161 Beiträge
 
Delphi 6 Professional
 
#6

Re: TRegistry.ReadBinaryData - kleine Frage

  Alt 14. Jul 2005, 20:46
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.
Mein Lieblings-Spiele-Laden in Berlin: www.cometgames-store.de

{KDT}
.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#7

Re: TRegistry.ReadBinaryData - kleine Frage

  Alt 14. Jul 2005, 20:51
Zitat von Gina:
Dann Interpretiert er das wohl als "Null-String"?
Das liegt an den String-Routinen (Strings werden üblicherweise mit #0 terminiert).
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).
  Mit Zitat antworten Zitat
Benutzerbild von Gina
Gina

Registriert seit: 23. Dez 2004
Ort: Berlin
161 Beiträge
 
Delphi 6 Professional
 
#8

Re: TRegistry.ReadBinaryData - kleine Frage

  Alt 14. Jul 2005, 21:06
Ahh, ok...

Vielen lieben Dank...

Gina.
Mein Lieblings-Spiele-Laden in Berlin: www.cometgames-store.de

{KDT}
.
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#9

Re: TRegistry.ReadBinaryData - kleine Frage

  Alt 14. Jul 2005, 21:09
Zitat von Gina:
Delphi-Quellcode:
        repeat
          p := Pos(#0, tmpStr);

          if p <> 0 then
          begin
            Delete(tmpStr, p, 1);
            Insert(#13#10, tmpStr, p);
          end;
        until p = 0;
kann mir mal jemand sagen, warum an dieser stelle eine repeat-schleife dahin geprügelt wird, wo eine while-schleife hingehört? oder übersehe ich da jetzt was?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von Gina
Gina

Registriert seit: 23. Dez 2004
Ort: Berlin
161 Beiträge
 
Delphi 6 Professional
 
#10

Re: TRegistry.ReadBinaryData - kleine Frage

  Alt 14. Jul 2005, 21:23
Also, wenn ich das richtig sehe, dann wäre eine while-Schleife 1 Zeile länger und kommt aufs Gleiche raus... 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.
Mein Lieblings-Spiele-Laden in Berlin: www.cometgames-store.de

{KDT}
.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz