home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / Runimage / Delphi50 / Demos / ToolsAPI / PackageDemo / FRMMAIN.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-08-11  |  2.0 KB  |  94 lines

  1. unit FrmMain;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, ComCtrls, Toolsapi, Menus;
  8.  
  9. type
  10.   TForm2 = class(TForm)
  11.     PageControl1: TPageControl;
  12.     TabSheet1: TTabSheet;
  13.     Label1: TLabel;
  14.     Label2: TLabel;
  15.     ListBox1: TListBox;
  16.     ListBox2: TListBox;
  17.     CheckBox1: TCheckBox;
  18.     procedure ListBox1Click(Sender: TObject);
  19.     procedure CheckBox1Click(Sender: TObject);
  20.   private
  21.     { Private declarations }
  22.   public
  23.     { Public declarations }
  24.   end;
  25.  
  26. var
  27.   Form2: TForm2;
  28.  
  29. implementation
  30.  
  31. uses
  32.   WizMain;
  33.  
  34. {$R *.DFM}
  35.  
  36. procedure TForm2.ListBox1Click(Sender: TObject);
  37. var
  38.   i: Integer;
  39.   TS: TStringList;
  40.  
  41.   function GetPackageIndex(Name: string): Integer;
  42.   var
  43.     j: Integer;
  44.     
  45.   begin
  46.     Result := 0;
  47.     for j := 0 to TS.Count-1 do
  48.       if TS.Strings[j] = Name then
  49.       begin
  50.         Result := j;
  51.         Break;
  52.       end;
  53.   end;
  54.  
  55. begin
  56.   TS := TStringList.Create;
  57.  
  58.   try
  59.     for i := 0 to PackageTest.PackageCount-1 do
  60.       TS.Add(PackageTest.PackageNames[i]);
  61.     
  62.     Listbox2.Clear;
  63.     if PackageTest.GetComponentCount(GetPackageIndex(Listbox1.Items.Strings[Listbox1.ItemIndex])) > 0 then
  64.     begin
  65.       for i := 0 to PackageTest.GetComponentCount(GetPackageIndex(Listbox1.Items.Strings[Listbox1.ItemIndex])) do
  66.         Listbox2.Items.Add(PackageTest.GetComponentName(GetPackageIndex(Listbox1.Items.Strings[Listbox1.ItemIndex]), i));
  67.     end
  68.     else
  69.       ListBox2.Items.Add('<No components>');
  70.   finally
  71.     TS.Free;
  72.   end;
  73. end;
  74.  
  75. procedure TForm2.CheckBox1Click(Sender: TObject);
  76. var
  77.   i: Integer;
  78.   
  79. begin
  80.    Listbox1.Items.Clear;
  81.    
  82.    if CheckBox1.Checked then
  83.    begin
  84.      for i := 0 to PackageTest.PackageCount-1 do
  85.        if PackageTest.ComponentCount[i] > 0 then
  86.           Listbox1.Items.Add(PackageTest.PackageNames[i]);
  87.    end
  88.    else
  89.      for i := 0 to PackageTest.PackageCount-1 do
  90.        Listbox1.Items.Add(PackageTest.PackageNames[i]);
  91. end;
  92.  
  93. end.
  94.