Einzelnen Beitrag anzeigen

Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.675 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Komponentenpalette auflisten

  Alt 10. Mär 2006, 15:03
Mit Delphi 6 z.B. so

Delphi-Quellcode:
var
  Reg: TRegistry;
  errlist : TStringList;
  keys : TStringList;
  i : Integer;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;

    if Reg.KeyExists('\Software\Borland\Delphi\6.0') then
    begin

    errlist := TStringList.Create;

      //Installiert?
      if Reg.OpenKey('\Software\Borland\Delphi\6.0', False) then
      begin
        lbDelphi6Info.Caption := Format('Delphi 6 ist im Verzeichnis "%s" installiert.',[Reg.ReadString('RootDir')]);
        Reg.CloseKey;
      end else
        errlist.Add('Kann Schlüssel "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0" nicht öffnen.');

      if Reg.OpenKey('\Software\Borland\Delphi\6.0\Environment Variables', False) then
      begin
        lbD6_Env.Items.DelimitedText := Reg.ReadString('Path');
        Reg.CloseKey;
      end else
        errlist.Add('Kann Schlüssel "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Environment Variables" nicht öffnen.');

      if Reg.OpenKey('\Software\Borland\Delphi\6.0\Library', False) then
      begin
        lbD6_BrowsingPath.Items.DelimitedText := Reg.ReadString('Browsing Path');
        lbD6_PackageDCPOutput.Items.DelimitedText := Reg.ReadString('Package DCP Output');
        lbD6_PackageDPLOutput.Items.DelimitedText := Reg.ReadString('Package DPL Output');
        lbD6_SearchPath.Items.DelimitedText := Reg.ReadString('Search Path');
        Reg.CloseKey;
      end else
        errlist.Add('Kann Schlüssel "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Library" nicht öffnen.');

    if Reg.OpenKey('\Software\Borland\Delphi\6.0\Known Packages', False) then
      begin
        keys := TStringList.Create;
        Reg.GetValueNames(keys );
        vleD6_Packages.Strings.Clear;
        for i := 0 to keys.Count-1 do
        begin
          vleD6_Packages.Strings.Add(keys[i]+'='+Reg.ReadString(keys[i]));
        end;
        Reg.CloseKey;
        keys.Free;
      end else
        errlist.Add('Kann Schlüssel "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Known Packages" nicht öffnen.');

      if Reg.OpenKey('\Software\Borland\Delphi\6.0\Palette', False) then
      begin
        keys := TStringList.Create;
        Reg.GetValueNames(keys );
        vleD6_Palette.Strings.Clear;
        for i := 0 to keys.Count-1 do
        begin
          vleD6_Palette.Strings.Add(keys[i]+'='+Reg.ReadString(keys[i]));
        end;
        Reg.CloseKey;
        keys.Free;
      end else
        errlist.Add('Kann Schlüssel "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Palette" nicht öffnen.');
      if errlist.Count > 0 then
        MessageDlg(errlist.Text, mtError, [mbOK], 0);

      errlist.Free;

    end else begin //Key existiert nicht
      lbDelphi6Info.Caption := 'Delphi 6 ist nicht installiert.'
    end;
Sven Harazim
--
  Mit Zitat antworten Zitat