Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eintrag in Registrierungsdatenbank schreiben (https://www.delphipraxis.net/104268-eintrag-registrierungsdatenbank-schreiben.html)

Chrissi91 30. Nov 2007 13:27


Eintrag in Registrierungsdatenbank schreiben
 
Hi,

meine Frage: Bin ich dumm oder bin ich dumm? :stupid: :gruebel:

Delphi-Quellcode:
var
  R: TRegistry;
begin
  R := TRegistry.Create(HKEY_LOCAL_MACHINE);
  R.OpenKey('SOFTWARE\Pyrgo\Vertretungsplan\', False);
  R.WriteString('Hash', MD5Print(MD5String(edtPw1.Text)));
  R.Free;
Ich habe bei OpenKey sowohl True, als auch False ausprobiert (Hab wieder vergessen wozu das gut war).

Ich verstehe nicht, warum er bei mir keinen Eintrag erstellt (natürlich habe ich die Rechte dazu, auf die Reg-DB zuzugreifen.), dabei habe ich den Code 1:1 aus einem alten Programm kopiert, wo es eigentlich funktioniert hat ... :mrgreen:

EDIT: Ganz vergessen. Der Key existiert vorher nicht, das Verzeichnis Pyrgo\Vertretunsplan auch nicht. Aber ich glaube da ist das True bzw. False für verantwortlich bei OpenKey (True müsste glaube ich für Erstellen bzw. Überschreiben sein.)

RavenIV 30. Nov 2007 13:40

Re: Eintrag in Registrierungsdatenbank schreiben
 
Da fehlt das CloseKey.
Erst von CloseKey wird der Wert in die Registry geschrieben.

P.S.
Du bist dumm ;-)

DeddyH 30. Nov 2007 13:41

Re: Eintrag in Registrierungsdatenbank schreiben
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('SOFTWARE\Pyrgo\Vertretungsplan\', true) then
      begin
        Reg.WriteString('Foo','Bar');
        Reg.CloseKey;
      end;
  finally
    Reg.Free;
  end;
end;

Chrissi91 30. Nov 2007 13:44

Re: Eintrag in Registrierungsdatenbank schreiben
 
:wall: :wall: :wall:

Das ist ja dasselbe wie mit AssignFile und CloseFile ....

Naja, mein Infolehrer hätte den Fehler eh nicht gefunden. So dumm kann ich dann ja nicht sein. :mrgreen:

RavenIV 30. Nov 2007 13:50

Re: Eintrag in Registrierungsdatenbank schreiben
 
Zitat:

Zitat von Chrissi91
Das ist ja dasselbe wie mit AssignFile und CloseFile ....

ja genau.

Du kannst Dir folgendes merken.
Diese beiden Befehle gehören immer zusammen:
Open - Close, Assign - Close, Create - Free.

Wenn Du eine Türe aufmachst, dann machst Du sie ja auch wieder zu, oder?
Du startest den Motor des Autos, fährst in der Gegend rum. Wenn Du angekommen bist, machst Du den Motor ja auch wieder aus, oder?

Chrissi91 30. Nov 2007 14:01

Re: Eintrag in Registrierungsdatenbank schreiben
 
Zitat:

Zitat von RavenIV
Zitat:

Zitat von Chrissi91
Das ist ja dasselbe wie mit AssignFile und CloseFile ....

Wenn Du eine Türe aufmachst, dann machst Du sie ja auch wieder zu, oder? Öhm ... Bin in der U-Bahn geboren. :mrgreen:
Du startest den Motor des Autos, fährst in der Gegend rum. Wenn Du angekommen bist, machst Du den Motor ja auch wieder aus, oder? Echt? ^^

Wenn ich euch jetzt sage, dass es doch nicht funktionbiert? ^^

DeddyH 30. Nov 2007 14:04

Re: Eintrag in Registrierungsdatenbank schreiben
 
Mal als Admin versucht? Als Hauptbenutzer ging es hier bei mir.

Chrissi91 30. Nov 2007 14:13

Re: Eintrag in Registrierungsdatenbank schreiben
 
Ich habe nur einen Account. Und der ist normalerweise der Admin. :P

DeddyH 30. Nov 2007 14:15

Re: Eintrag in Registrierungsdatenbank schreiben
 
Und Du hast mein Beispiel genommen bzw. RootKey gesetzt?

Chrissi91 30. Nov 2007 14:21

Re: Eintrag in Registrierungsdatenbank schreiben
 
Nein, ich habe meins mit CloseKey genommen. Denn so hat das ja früher auch mal geklappt. Deins funzt einwandfrei. Aber meines soll auch funzen. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:04 Uhr.
Seite 1 von 2  1 2      

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