Delphi-PRAXiS

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

ECO 11. Nov 2004 21:57


Regiestry
 
Hallo zusammen!!
Habe ein Prog gecodet um Menü einträge im Win Explorer zu machen.
Hier erstmal die code.

Delphi-Quellcode:
var
  Form1: TForm1;
 E1,E2,E3: string;
 reg: TRegistry;
 typ: string;

implementation

uses Info2;

{$R *.dfm}
procedure AddFileMenue(FilePrefix, Menue, Command: string);
begin
  reg := TRegistry.Create;
  with reg do
  begin
    RootKey := HKEY_CLASSES_ROOT;
    OpenKey('.' + FilePrefix, True);
    typ := ReadString('');
    if typ = '' then
    begin
      typ := Fileprefix + 'file';
      WriteString('', typ);
     if reg.KeyExists('typ') = TRUE then ShowMessage ('OK')
    end;
    CloseKey;
    OpenKey(typ + '\shell\' + Menue + '\command', True);

    WriteString('', command + ' "%1"');
    CloseKey;
    Free;
  end;
end;

procedure DeleteFileMenue(Fileprefix, Menue: string);
begin
  reg := TRegistry.Create;
  with reg do
  begin
    RootKey := HKEY_CLASSES_ROOT;
    OpenKey('.' + Fileprefix, True);
    typ := ReadString('');
    CloseKey;
    OpenKey(typ + '\shell', True);
    DeleteKey(Menue);
    CloseKey;
    Free;
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
AddFileMenue (E3.Text E2.Text , E1.Text);
So nun meine Frage möchte das nach dem AddFile überprüft wird ober der eintrag exitiert.
Und dann eine Message Box erscheint ('OK')
else fehler
Habe schon mit if reg.KeyExists oder if reg.ValueExists versucht aber ich weiß nicht
wie ich das mit den Edits mache.
Danke im vorauß
ECO

[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]

bigg 12. Nov 2004 02:27

Re: Regiestry
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich habe mir mal die mühe gemacht und die funktionen neu aufgemöbelt.
Schau dir mal mein Beispiel an.

Man könnte, um auf Nummer sicher zu gehen einfach einen Schalter für die
jeweilige Erweiterung eingetragen. So weiss man, auch wenn der Pfad zum Programm mal nicht stimmt,
ob die Erweiterung schon mal registriert wurde. (WriteBool/ReadBool)

Es ist auch möglich einen globalen
Eintrag für alle Dateien vorzunehmen.


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