![]() |
TRegistry.KeyExists
h!,
folgende Source
Delphi-Quellcode:
Klapt toll beim ersten mal.
procedure TForm1.Button1Click(Sender: TObject);
var reg: TRegistry; begin reg := TRegistry.Create; reg.RootKey := HKEY_CURRENT_USER; reg.OpenKey('Software\KT', TRUE); // wird hier gemacht if reg.KeyExists('Key') = TRUE then // gibt es noch nich, also Result = FALSE -->| Edit1.Text := reg.ReadString('Key') // lies ihn raus. sollte beim ersten mal übersprungen werden | else // | begin // | reg.WriteString('Key', 'topdogg'); // schreib ihn rein <--| Edit1.Text := reg.ReadString('Key'); // lies ihn raus end; reg.Free; end; Key existiert nicht und daher steht dan in EditFeld auch 'topdogg'. Wenn ich den wert dann mit Regedit(oder mit was anderem) ändere, in z.B. '123blabla', und wieder auf dem Button drücke, steht wieder im EditFeld 'topdogg' anstat von '123blabla'. Sollte meiner Meinung nach nich passieren. Verstanden??? Wen nicht, dann hier das problem. Mein prog soll in die Registry beim allerersten Start ein String(ein Password) reinschreiben. Beim zweiten und weiteren Starts soll er den String, also das Password nur lesen, nicht ändern, da ich das Password später manual ändern will. Wer mich immer noch nicht versteht(nehm ich nicht übel, tu ich sebls manchaml nicht :lol:), der erklärt mir bitte nur KeyExists func. Wann sie TRUE und wann sie FALS gibt. ThnX [edit=sakura]Überschrift angepasst! Mfg, sakura[/edit] |
Re: TRegistry.KeyExists HILFEEEEEEEEEEEEE
Hi,
Du verwechselst KeyExist mit ValueExists !! Tausch das aus und es funzzt !! Zu jedem OpenKey sollte auch mal ein CloseKey kommen :wink: Grus Data |
Re: TRegistry.KeyExists HILFEEEEEEEEEEEEE
:) :o :-D :lol:
Danke. Es kommt noch mehr an sicherheit dazu. Ein try ... finally, und CloseKey, usw...... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz