@Pseudemys Nelsoni: Upps, ja stimmt. Ich habe dich verwechselt. Mein Fehler. Aber ich hätte den Code so gestaltet:
Delphi-Quellcode:
reg := TRegistry.Create;
if reg <> nil then
with reg do
try
// eigentlich unnötig, weil Standard -->
// RootKey := HKEY_CURRENT_USER;
if OpenKey('Software\Fischmob\Flotteninformationen\0.1 beta',
false) then
try
Edit1.Text := ReadString('Typ 1');
Edit2.Text := ReadString('Typ 2');
Edit3.Text := ReadString('Typ 3');
Edit4.Text := ReadString('Typ 4');
Edit5.Text := ReadString('Typ 5');
Edit6.Text := ReadString('Typ 6');
Edit7.Text := ReadString('Typ 7');
Edit8.Text := ReadString('Typ 8');
Edit9.Text := ReadString('Typ 9');
finally
CloseKey;
end;
finally
Free;
end;
Man könnte das Auslesen der Werte und Zuweisen an die Edits auch so machen:
Delphi-Quellcode:
for i := 1 to 9 do
if(ValueExists('Typ ' + inttostr(i))) then
begin
MyEdit := self.FindComponent('Edit' + inttostr(i));
if(MyEdit <> nil) then
(MyEdit as TEdit).Text := ReadString('Typ ' + inttostr(i));
end;
Auf die gleiche Weise kann man natürlich vor dem Registryzugriff die Edits mit den gewünschten Standardwerten füllen.
@Helpliner: Wenn du die Werte nur lesen willst, halte ich
Zitat:
Code:
reg.OpenKey('Software\Fischmob\Flotteninformationen\0.1 beta', [color=#ff0000]true[/color]);
für überflüssig.
false reicht, denn schreibend greifst du ja ohnehin nicht zu. Das machst du sicher später, beim Speichern der Werte, und dann passt es auch.