Autor Beitrag
mb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 185



BeitragVerfasst: Di 11.03.03 14:56 
Hallo!

Ich möchte in einem Tool mit TRegistry auf die Registry zugreifen. Wie kann ich das machen, wenn ich eine Zahl auslesen will, aber nicht weiß, ob diese als Binary- oder DWord-Wert in der Registry gespeichert ist ?

Ich habe also eine Variabel:
ausblenden Quelltext
1:
var Reg: TRegistry					


...und folgender Code führt ggf. logischerweise zu einer Exception, weil das Zahlenformat nicht stimmt:
ausblenden Quelltext
1:
i := Reg.ReadInteger('MyValue');					


Das ganze habe ich natürlich ordnungsgemäß in einen try-except-Block gepackt...

_________________
Gruß,
MB
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Di 11.03.03 15:52 
writeInteger -> schreibt eine Integer-Zahl
writeString -> schreibt einen String
WriteBinaryData -> Die Methode speichert einen Object Pascal-Datensatz in einem bestimmten Datensatz, der dem aktuellen Schlüssel zugeordnet ist.
WriteBool -> Die Methode speichert einen booleschen Wert in einem bestimmten Datenwert, der dem aktuellen Schlüssel zugeordnet ist.
WriteExpandString -> Die Methode WriteExpandString speichert einen String, der verkürzte Referenzen auf Umgebungsvariablen enthält, in einen eigens benannten Datenwert, der mit dem aktuellen Schlüssel verbunden ist.

Das sind nur einige der Schreibbefehle um Werte in die Registry zu schreiben, in der OH von Delphi stehen noch mehr drin.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 11.03.03 15:56 
bis11 hat folgendes geschrieben:
writeInteger -> schreibt eine Integer-Zahl
writeString -> schreibt einen String
WriteBinaryData -> Die Methode speichert einen Object Pascal-Datensatz in einem bestimmten Datensatz, der dem aktuellen Schlüssel zugeordnet ist.
WriteBool -> Die Methode speichert einen booleschen Wert in einem bestimmten Datenwert, der dem aktuellen Schlüssel zugeordnet ist.
WriteExpandString -> Die Methode WriteExpandString speichert einen String, der verkürzte Referenzen auf Umgebungsvariablen enthält, in einen eigens benannten Datenwert, der mit dem aktuellen Schlüssel verbunden ist.

Das sind nur einige der Schreibbefehle um Werte in die Registry zu schreiben, in der OH von Delphi stehen noch mehr drin.


Und genau das wollte er wohl eher nicht wissen. Siehe hier:
Zitat:

Wie kann ich das machen, wenn ich eine Zahl auslesen will, aber nicht weiß, ob diese als Binary- oder DWord-Wert in der Registry gespeichert ist ?


@mb: Kuck dir mal die Methoden TRegistry.GetDataType, TRegistry.GetDataInfo und TRegistry.GetKeyInfo in der Hilfe an.
mb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 185



BeitragVerfasst: Di 11.03.03 15:58 
Hallo!

Danke für Deine Antwort; leider ist das aber nicht das, wonach ich gesucht hatte. Die Befehle, die zu TRegistry gehören kenne ich, zumindest dann, wenn Sie zum banalen schreiben oder lesen eines Wertes gehören...

Ich will aber eben einen Wert lesen, bei dem ich nicht weiß, ob er als Binary oder Integer gespeichert ist... Trotzdem will ich in jedem Fall den Wert und keine Exception. Ich dachte, dass es vielleicht einen eleganteren Weg gibt, als die Exceptions abzufangen und dann mit einer anderne Lese-Methode weiter zu versuchen...

_________________
Gruß,
MB
mb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 185



BeitragVerfasst: Di 11.03.03 15:59 
Zitat:

Kuck dir mal die Methoden TRegistry.GetDataType, TRegistry.GetDataInfo und TRegistry.GetKeyInfo in der Hilfe an


Ok, danke. Das werde ich tun.

_________________
Gruß,
MB