mahlzeit,
ich habe dein Beispiel mal umgestellt:
Delphi-Quellcode:
function TForm1.GetPath(i: Integer): String;
var Reg: TRegistry; Path: String;
const wk = 'work-dir';
begin
Path := '';
Reg := TRegistry.Create;
try Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('Software\meinprog', False) then
begin // wenn der Schlüssel geöffnet werden kann (ohne ihn vorher anzulegen), dann:
// gib mir über i den Pfad
case i of // 1-4: nur wenn ein Schlüssel existiert wird er gelesen
1: if Reg.ValueExists(wk + 'start.ini') then Path := Reg.ReadString(wk + 'start.ini');
2: if Reg.ValueExists(wk) then Path := Reg.ReadString(wk);
3: if Reg.ValueExists(wk + 'button_1.ini') then Path := Reg.ReadString(wk + 'button_1.ini');
4: if Reg.ValueExists(wk + 'button_2.ini') then Path := Reg.ReadString(wk + 'button_2.ini');
end;
Reg.CloseKey; // Schlüssel schließen, da er geöffnet wurde
end;
finally Reg.Free; // Reg freigeben
end;
Result := Path;
end;