Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi wert aus registry lesen (https://www.delphipraxis.net/13395-wert-aus-registry-lesen.html)

woelfchen 17. Dez 2003 16:23


wert aus registry lesen
 
ich dreh' hier noch durch...

ich will (beim start eines programms, also in Form.Create) einen Wert aus der Registry lesen, wobei es sein kann, das es diesen wert gar nicht gibt. Hab's nun so probiert:

Delphi-Quellcode:
var
  regist: TRegistry;
begin
  regist:=TRegistry.Create;
  regist.RootKey := HKEY_CURRENT_USER;
  regist.OpenKey('Software\DirIcon\Folder', True);
  try
    regist.ReadInteger('Anzahl');
  except
    regist.WriteInteger('Anzahl',0);
  end;
  regist.Free;
end;
trotz 'try' krieg' ich 'ne Exception (ERegistryException), wenn es den Wert 'Anzahl' nicht gibt, warum?

Dürfte doch eigentlich nicht sein, oder hab' ich was übersehen??

sakura 17. Dez 2003 16:35

Re: wert aus registry lesen
 
Versuche es mal so:

Delphi-Quellcode:
var
  regist: TRegistry;
begin
  regist:=TRegistry.Create;
  try
    regist.RootKey := HKEY_CURRENT_USER;
    if regist.OpenKey('Software\DirIcon\Folder', True) then
    try
      if regist.ValueExists('Anzahl') then
        Wert := regist.ReadInteger('Anzahl');
    finally
      regist.CloseKey;
    end;
  finally
    regist.Free;
  end;
end;
Ein Fehler kommt nur, wenn Anzahl nicht vom Typ Integer ist.

...:cat:...

woelfchen 17. Dez 2003 16:53

Re: wert aus registry lesen
 
danke...nun funktioniert es!

hab' noch ein 'else' eingefügt (damit der Wert geschrieben wird, falls er nicht da ist) :

Delphi-Quellcode:
var
  regist: TRegistry;
begin
  regist:=TRegistry.Create;
  try
    regist.RootKey := HKEY_CURRENT_USER;
    if regist.OpenKey('Software\DirIcon\Folder', True) then
    try
      if regist.ValueExists('Anzahl') then
        Anzahl := regist.ReadInteger('Anzahl')
      else
        regist.WriteInteger('Anzahl',0);
    finally
      regist.CloseKey;
    end;
  finally
    regist.Free;
  end;
end;

woelfchen 17. Dez 2003 16:56

Re: wert aus registry lesen
 
so, und wie krieg' ich jetzt das Thema "zu"??

hatte die Option "offene Frage" gewählt, und nun is' sie ja nich' mehr offen...


woelfchen

sakura 17. Dez 2003 17:00

Re: wert aus registry lesen
 
;-) Ganz oben recht ist ein Link "Frage als 'beantwortet' markieren"

...:cat:...

woelfchen 17. Dez 2003 17:14

Re: wert aus registry lesen
 
ach da oben...den hab' ich natürlich nicht gesehen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz