![]() |
Komponentenpalette auflisten
Hallo,
kennt jemand eine Möglichkeit die Komponenten aller installierten Packages aufzulisten, bzw. als Textdatei zu exportieren ? |
Re: Komponentenpalette auflisten
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; |
Re: Komponentenpalette auflisten
Sieh Dir mal
![]() |
Re: Komponentenpalette auflisten
Danke !
Funktioniert Jetzt fehlen mir nur noch die Icons zu den Komponenten. Die sind glaube ich nicht in der Windows-Registry. |
Re: Komponentenpalette auflisten
Das sind die .dcr-Dateien. Selbige sind nichts anderes als .res Dateien und diese werden in das Komponentenpackage eingebunden.
Fuer jede Komponente ist eine kleine Bitmap 24x24 mit Namen der Klasse (z. B. TButton) enthalten. |
Re: Komponentenpalette auflisten
Danke!
Blöde Frage: Gibt es einen einfachen Weg oder Funktion das Icon einer Komponente anhand ihres Namens aus dieser Datei zu extrahieren ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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 by Thomas Breitkreuz