XE4 ToolsAPI PackageDemo BPL Component

本文介绍了一个使用Delphi实现的组件管理系统,该系统通过列表框展示不同包中的组件,并允许用户选择特定的包来查看其包含的所有组件。此外,还提供了一个复选框功能,用于过滤那些不包含任何组件的包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

unit FrmMainpkd;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls, Toolsapi, Menus;


type
  TForm2 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    ListBox1: TListBox;
    ListBox2: TListBox;
    CheckBox1: TCheckBox;
    procedure ListBox1Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
  Form2: TForm2;


implementation


uses
  WizMainPKD;


{$R *.dfm}


procedure TForm2.ListBox1Click(Sender: TObject);
var
  i: Integer;
  TS: TStringList;


  function GetPackageIndex(Name: string): Integer;
  var
    j: Integer;
    
  begin
    Result := 0;
    for j := 0 to TS.Count-1 do
      if TS.Strings[j] = Name then
      begin
        Result := j;
        Break;
      end;
  end;


begin
  TS := TStringList.Create;


  try
    for i := 0 to PackageTest.PackageCount-1 do
      TS.Add(PackageTest.PackageNames[i]);
    
    Listbox2.Clear;
    if PackageTest.GetComponentCount(GetPackageIndex(Listbox1.Items.Strings[Listbox1.ItemIndex])) > 0 then
    begin
      for i := 0 to PackageTest.GetComponentCount(GetPackageIndex(Listbox1.Items.Strings[Listbox1.ItemIndex])) do
        Listbox2.Items.Add(PackageTest.GetComponentName(GetPackageIndex(Listbox1.Items.Strings[Listbox1.ItemIndex]), i));
    end
    else
      ListBox2.Items.Add('<No components>');
  finally
    TS.Free;
  end;
end;


procedure TForm2.CheckBox1Click(Sender: TObject);
var
  i: Integer;
  
begin
   Listbox1.Items.Clear;
   
   if CheckBox1.Checked then
   begin
     for i := 0 to PackageTest.PackageCount-1 do
       if PackageTest.ComponentCount[i] > 0 then
          Listbox1.Items.Add(PackageTest.PackageNames[i]);
   end
   else
     for i := 0 to PackageTest.PackageCount-1 do
       Listbox1.Items.Add(PackageTest.PackageNames[i]);
end;


end.
get all bpl component

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值