Moin onlinehome,
so unmittelbar kann ich Dein Problem nicht nachvollziehen.
Das was der User eingegeben hat steht doch im Standardwert des Keys, den Du ja auslesen kannst.
Das hier wäre also zum Beispiel schon einmal falsch
Delphi-Quellcode:
if Reg.Openkey('\MySQL_Tool'+'\mysqlbinpath',False) then
config.JvDirectoryEdit1.Text := Reg.readString('mysqlpath');
es müsste doch
Delphi-Quellcode:
if Reg.Openkey('\MySQL_Tool'+'\mysqlbinpath',False) then
config.JvDirectoryEdit1.Text := Reg.readString('');
weil Du die Daten ja in den Standardwert des Keys schreibst, musst Du sie natürlich auch wieder aus diesem auslesen.
Ausserdem fehlen noch die Resourcenschutzblöcke.
Vielleicht besser Du schreibst es so, zumal mir absolut nicht klar ist, was Du mit Deiner Zuweisung an a willst:
Delphi-Quellcode:
Reg:=TRegistry.Create;
try
Reg.Rootkey:=HKEY_CURRENT_USER;
if Reg.Openkey('\MySQL_Tool'+'\mysqlbinpath',False) then try
config.JvDirectoryEdit1.Text := Reg.readString('');
finally
Reg.CloseKey;
end;
if Reg.Openkey('\MySQL_Tool'+'\mysqlhost',False) then try
config.Edit1.Text := Reg.readString('');
finally
Reg.CloseKey;
end;
//...
finally
Reg.Free;
end;
Noch einfacher ginge es, wenn Du die Werte nicht im Standardwert eines Keys speichern würdest, sondern das, was Du jetzt als Keynamen nimmst, als Valuenamen benutzt:
Delphi-Quellcode:
Reg:=TRegistry.Create;
try
Reg.Rootkey:=HKEY_CURRENT_USER;
if Reg.Openkey('\MySQL_Tool',False) then try
config.JvDirectoryEdit1.Text := Reg.readString('mysqlbinpath');
config.Edit1.Text := Reg.readString('mysqlhost');
finally
Reg.CloseKey;
end;
//...
finally
Reg.Free;
end;
Wenn Du dann noch diese Werte nicht direkt in die Funktionen schreibst, sondern Dir Konstanten dafür anlegst, verringerst Du auch die Gefahr von Vertippern.
z.B.
Delphi-Quellcode:
const
_sMySqlBinPath = 'mysqlbinpath';
_sMySqlHost = 'mysqlhost';
begin
Reg:=TRegistry.Create;
try
Reg.Rootkey:=HKEY_CURRENT_USER;
if Reg.Openkey('\MySQL_Tool',False) then try
config.JvDirectoryEdit1.Text := Reg.readString(_sMySqlBinPath);
config.Edit1.Text := Reg.readString(_sMySqlHost);
finally
Reg.CloseKey;
end;
//...
finally
Reg.Free;
end;
end;
Stehen die Konstanten global zur Verfügung kannst Du sie beim Schreiben und Lesen der Daten verwenden.