Delphi-PRAXiS

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

delphi_newbie_123 3. Feb 2004 14:58


registry
 
hallo nochmal
beim ersten start ders programms solle in eintra ins regestry erfolgen.
wenn der eintrag aber schon vorhanden ist, wie kann ich die procedur dann überspringen?
Delphi-Quellcode:
reg := TRegistry.Create;
  if(reg <> nil) then
    with reg do try
      RootKey := hkey_local_machine;
      if(OpenKey('Software\Microsoft\Windows',TRUE)) then try
         reg.WriteString('bora', pol);
      finally
        CloseKey;
      end;
    finally
      Free;
    end;
end;
und wie kann ich den schlüssel pol aus dem verzeichnis rauslesen?
wäre sehr dankbar fuer eure hilfe nochmal danke bsi dann

s14 3. Feb 2004 15:04

Re: registry
 
Hi, der Schlüssel "Software\Microsoft\Windows" wird wohl immer existieren :shock:
dann muss er auch nicht erstellt werden. Das bewirkt der Parameter "True" nämlich!

Den Wert liest man z.B. mit

Delphi-Quellcode:
s := ReadString(name);
Gruß
s14

Alexander 3. Feb 2004 15:04

Re: registry
 
Schau dir doch mal die Hilfe zu TRegistry an, dann wirst du sowas wie ValueExists und KeyExists finden ;-)

Benedikt 3. Feb 2004 15:07

Re: registry
 
Hi,

zu 1:

mit Reg.KeyExists() kannst du überprüfen ob der Eintrag existiert, wenn ja, kannst du ja direkt weiterspringen. Obwohl er immer existieren wird, wenn du das ganze nach OpenKey mit True machst.

Und zum lesen nimmst du halt OpenKey und dann ReadString o.A.

delphi_newbie_123 3. Feb 2004 15:08

Re: registry
 
danek fuer schnelle hilfe!

Nightshade 3. Feb 2004 15:12

Re: registry
 
Wobei

Delphi-Quellcode:
  reg.KeyExists('Software\Microsoft\Windows')
aber

Delphi-Quellcode:
  reg.ValueExists('bora');

delphi_newbie_123 3. Feb 2004 15:40

Re: registry
 
hm es wird ein string eintrag bora eingetragen ich will den dazu gehörigen wert auslesen, falls der eintrag bora nicht exsistiert, soll einer erstellt werden.
wie lese ich bei dem existierenden bora eintrag den wert rauslesen?

Delphi-Quellcode:
var
  regist: TRegistry;
  wert:integer;
  anzahl:integer;
s:integer;
begin
  regist:=TRegistry.Create;
  try
    regist.RootKey := HKEY_CURRENT_USER;
    if regist.OpenKey('Software\Microsoft\Windows', True) then
    try
      if regist.ValueExists('bora') then
        s := regist.Readstring()
      else
        regist.WriteString('bora', '12');
    finally
      regist.CloseKey;
    end;
  finally
    regist.Free;
  end;
danke nochmal


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 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