Entwickler-Ecke
Delphi Tutorials - Benutzung der Registry
Chatfix - Fr 04.10.02 17:13
Titel: Benutzung der Registry
So da Euch das INI-Tut so gefallen hat hab ich mich entschlossen noch eins zu machen:
Den Tutorial gibts jetzt auch nur noch in PDF um die Aktualisierung zu vereinfachen:
Die aktuellste Version findet ihr hier:
http://www.kuknet.de/tutorial2.pdf
Inhalt:
- Vorwort
- Erste Schritte
- In die Registry schreiben
- Aus der Registry lesen
- Überprüfen ob ein Schlüssel / eine Eigenschaft existiert
- Werte aus der Registry löschen
- Schlüssel verschieben / kopieren
Über Feedback würde ich mich weiterhin freuen.
Delete - Do 10.10.02 11:47
Titel: Re: Benutzung der Registry
Chatfix hat folgendes geschrieben: |
Ich hoffe ich habe nix vergessen :) |
Na ja, doch ...
try-
finally-
end. Wenn es so auch in der Delphi-Hilfe steht, sollte man das auch verwenden.
Außerdem fehlt der IMHO wichtige Hinweis, dass das Lesen aus dem Schlüssel HKEY_LOCAL_MACHINE (u.ä.) nicht immer funktioniert. Stichwort: NT-Betriebssysteme (WinXP erobert ja gerade den Home-Bereich) und mangelnde Rechte.
Wenn man also wirklich nur Werte
lesen will, dann wäre:
Quelltext
1:
| reg := TRegistry.Create(KEY_READ); |
zu benutzen, weil die von dir gezeigte, aus der Hilfe stammende Vorlage die Registry mit allen Zugriffsrechten öffnet. Und das kann -wie gesagt!- auch in die Hose gehen.
Und das gleiche in Grün beim Schreiben von Werten: Der o.g.
try/
finally-Block verhindert unschöne und unprofessionell wirkende Fehlermeldungen, wenn -aus welchen Gründen auch immer- ein Schlüssel nicht angelegt, bzw. ein Wert nicht geschrieben werden kann.
Chatfix - Do 10.10.02 15:54
Habs mal geändert..
das mit dem Try/Finally hab ich vergessen, das mit KEY_READ wusste ich nicht.. man kann immer was dazulernen!
danielpt - So 19.10.03 10:18
und noch ein kleiner Fehler:
Es muss so heißen:
Quelltext
1: 2:
| Var {...} reg:TRegistry; |
Chatfix - So 19.10.03 10:21
habs geändert, danke
Anonymous - Di 24.02.04 13:24
Bei mir zeigt der immer an: 'Failed to set data for '.od''
:?
:twisted: :twisted: :twisted: Dann frag ich halt nix mehr :twisted: :twisted: :twisted:
Chatfix - Di 24.02.04 14:10
Wo genau, und bei was?!
Anonymous - Di 24.02.04 14:15
der link oben geht nicht...
dieses Posting kann später gelöscht werden!
ixtreme.de
Delete - Di 24.02.04 14:23
Ist wahrscheinlich so, weil Chatfix ja schreibt:
Zitat: |
Willkommen auf den Übergangs-Seiten [...] |
Der Beitrag ist momentan
hier [
http://www.kuknet.de/kuk-software/tuts/tut2.php].
Dabei fällt mir als Kritik ja noch ein: "OpenKey" ist eine Funktion. ;)
Anonymous - Di 24.02.04 14:26
Zitat: |
Willkommen auf den Übergangs-Seiten [...] |
wo steht denn das?
ixtreme.de
Chatfix - Di 24.02.04 16:00
Sorry, hatte vergessen die links zu aktualisieren, aber alles was man unter dem link findet steht auch hier (hab das damals gemacht weils noch kein Delphi-Tag gab)
und das mit den übergangsseiten steht auf meiner homepage...
Das mit dem OpenKey werd ich korrigieren
Popov - So 29.02.04 22:42
@Chatfix
Dein Beispiel ist nicht besonders glücklich gewählt. Es ist nicht falsch, aber dein Beispiel kann man viel einfacher mit TRegIniFile schreiben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| uses , Registry;
var Reg: TRegIniFile;
Reg := TRegIniFile.Create('SOFTWARE\DeinName\DeinProgramm'); try Reg.WriteString(Section, Ident, Value) |
Man braucht kein OpenKey usw. Allerdings, wie ich schon gesagt habe, ist das nur nicht glücklich gewählt. Denn TRegIniFile schreibt automatisch im Pfad HKEY_USERS\.DEFAULT. Wer sowieso in dem Pfad schreiben will (z.B. seine Software-Einstellungen), der kann sich den ganzen Hickhack mit TRegistry sparen und die Kurzversion wählen.
Allerdings gilt das nur für den Pfad. Für alle anderen Pfade ist die TRegistry Variante notwendig. Natürlich auch dann wenn man über das einfache String, Integer und Boolean hinausgeht. Aber das ist in deinem Beispiel nicht von Nöten.
Chatfix - Mo 01.03.04 09:48
Ok ich werde es in meiner Neuauflage des Tutorials mit einarbeiten :)
einfach112 - Di 25.05.04 00:13
Titel: und noch ne frage !
Hallo !
also so wie hier alles beschrieben wird ...
alles klar !
alles geht !
nur meine frage ist nun das wenn ich so wie oben beschrieben nen schlüssel erstelle dann wird immer der typ REG_SZ verwendet (also meines wissens einfacher schlüssel !
wie kann ich aber als typen :
REG_MULIT_SZ oder vieleicht auch
als
REG_BINARY
machen ?!
Bin über antworten natrürlich wie immer dankbar !
thx
mike
Delete - Di 25.05.04 01:32
Meines Wissen wird REG_MULIT_SZ nicht von der VCL unterstützt.
REG_BINARY: Dafür hat das Registry Objekt eine passende Methode, siehe Hilfe dazu.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!