Einzelnen Beitrag anzeigen

Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#1

DWORD aus Registry lesen...

  Alt 29. Mär 2004, 13:32
Hi,

so, ich bin hier in meinem Praktikumsbetrieb und soll Registrierungsschlüssel und -werte von einem Benutzerprofil zum nächsten übertragen.
Zur Verfügung steht mir Delphi3 auf WinNT.
Da nicht unbedingt ganze Schlüssel transferiert werden sollen, vermeide ich die hier bereits zurechtgebastelte Methode mit Load- und Savekey.
Also lese ich alle Values einzeln.
Jetzt habe ich nur ein Problem mit den DWORDs in der Registry.
Vor der Mittagspause habe ich es erstmal mit readInt und -Float versucht, da bekam ich aber eine Exception die mir sagte "Konnte Daten für 'ValueName' nicht holen".
Jetzt, nach der Pause ist die Exception weg, dafür aber eine neue die mir sagt dass ich den Wert in einen falschen Datentyp laden will.
Integer und die Gleitkommakollegen gehen also nicht.
Lasse ich mir mit GetDataType anzeigen was diese Value für einen Datentyp hat, kriege ich rdString zurück. In der Registry handelt es sich allerdings eben um einen DWORD.
Mit ReadString lässt sich das Ganze auch einlesen, nur bekomme ich anstatt
Zitat von Regedit4 - Exportdatei:
dword:00000001
nur ein

Zitat von Mein Prog wenn ich es mit ReadString mache:
1
geliefert.
Aber ich möchte den Wert ja schon gerne so auslesen, dass es in der Datei später so aussieht als hätte ich es aus dem Regedit exportiert. So kann ich mir ja quasi garantieren lassen dass beim späteren Import auf dem anderen Profil auch alles so läuft wie es soll.

Also wie gesagt, ich benutze Delphi3 auf WinNT und mache das Ganze mit der mitgelieferten TRegistry- Klasse mit ganz "normalem" VCL und kriege es nicht hin, einen DWORD so authentisch auszulesen dass es aussieht als hätte ihn das normale Regedit exportiert.

Danke schonmal für eure Hilfe,

S - tefano

[edit=Luckie]Quote-Tags gefixed. Mfg, Luckie[/edit]
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat