home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 September / Chip_2001-09_cd1.bin / zkuste / delphi / nastroje / d5 / MFTP.ZIP / demo / ftpsearch / MAIN.PAS < prev   
Pascal/Delphi Source File  |  1999-01-02  |  4KB  |  138 lines

  1. unit main;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, FtpSearch, ComCtrls, ExtCtrls, ImgList, Menus;
  8.  
  9. type
  10.   TfrmMain = class(TForm)
  11.     MFtpSearch1: TMFtpSearch;
  12.     Button1: TButton;
  13.     Button2: TButton;
  14.     ListView1: TListView;
  15.     StatusBar1: TStatusBar;
  16.     Label1: TLabel;
  17.     Label2: TLabel;
  18.     Edit1: TEdit;
  19.     ComboBox1: TComboBox;
  20.     Bevel1: TBevel;
  21.     ImageList1: TImageList;
  22.     PopupMenu1: TPopupMenu;
  23.     ftpsearchlycoscom801: TMenuItem;
  24.     ftpsunetse80001: TMenuItem;
  25.     archieiscoza801: TMenuItem;
  26.     ftpsearchcityru801: TMenuItem;
  27.     wolandaftinsuru80001: TMenuItem;
  28.     unicornnetlabistsukubaacjp801: TMenuItem;
  29.     ftprikengojp80001: TMenuItem;
  30.     procedure Button1Click(Sender: TObject);
  31.     procedure Button2Click(Sender: TObject);
  32.     procedure Edit1Change(Sender: TObject);
  33.     procedure FormShow(Sender: TObject);
  34.     procedure MFtpSearch1SearchInfo(Sender: TObject; info: TMFtpSearchInfo;
  35.       addinfo: String);
  36.     procedure ListView1InfoTip(Sender: TObject; Item: TListItem;
  37.       var InfoTip: String);
  38.     procedure menuClick(Sender: TObject);
  39.   private
  40.     { Private declarations }
  41.   public
  42.     { Public declarations }
  43.   end;
  44.  
  45. var
  46.   frmMain: TfrmMain;
  47.  
  48. implementation
  49.  
  50. {$R *.DFM}
  51.  
  52. procedure TfrmMain.Button1Click(Sender: TObject);
  53. var i: Integer;
  54. begin
  55.    Edit1.Enabled := False;
  56.    Button1.Enabled := False;
  57.    ComboBox1.Enabled := False;
  58.  
  59.    with MFtpSearch1 do
  60.    begin
  61.       Filename := Edit1.Text;
  62.       SearchType := TMFtpSearchType(ComboBox1.ItemIndex);
  63.  
  64.       Server.Clear;
  65.       for i := 0 to PopupMenu1.Items.Count - 1 do
  66.          if PopupMenu1.Items[i].Checked then
  67.             Server.Add(PopupMenu1.Items[i].Caption);
  68.  
  69.       Search;
  70.    end;
  71.  
  72.    Edit1.Enabled := True;
  73.    Button1.Enabled := True;
  74.    ComboBox1.Enabled := True;
  75. end;
  76.  
  77. procedure TfrmMain.Button2Click(Sender: TObject);
  78. begin
  79.    Application.Terminate;
  80. end;
  81.  
  82. procedure TfrmMain.Edit1Change(Sender: TObject);
  83. begin
  84.    Button1.Enabled := (Trim(Edit1.Text) <> '');
  85. end;
  86.  
  87. procedure TfrmMain.FormShow(Sender: TObject);
  88. begin
  89.    ComboBox1.ItemIndex := 0;
  90. end;
  91.  
  92. procedure TfrmMain.MFtpSearch1SearchInfo(Sender: TObject;
  93.   info: TMFtpSearchInfo; addinfo: String);
  94. var LI: TListItem;
  95.     i: Integer;
  96. begin
  97.    case info of
  98.       searchFileFound:
  99.       begin
  100.          LI := ListView1.Items.Add;
  101.  
  102.          with LI, MFtpSearch1.Files[MFtpSearch1.Files.Count - 1] do
  103.          begin
  104.             for i := Length(addinfo) downto 1 do
  105.                if addinfo[i] = '/' then Break;
  106.             Caption := Copy(addinfo, i + 1, 999);
  107.  
  108.             case Attrib[1] of
  109.                'd': ImageIndex := 0;
  110.                'l': ImageIndex := 2;
  111.                else ImageIndex := 1;
  112.             end;
  113.  
  114.             SubItems.Add(Size);
  115.             SubItems.Add(DateTime);
  116.             SubItems.Add(Attrib);
  117.             SubItems.Add(addinfo);
  118.          end;
  119.       end;
  120.       searchStart: StatusBar1.SimpleText := 'Searching specified file in ' + addinfo;
  121.       searchDone: StatusBar1.SimpleText := 'Ready';
  122.    end;
  123. end;
  124.  
  125. procedure TfrmMain.ListView1InfoTip(Sender: TObject; Item: TListItem;
  126.   var InfoTip: String);
  127. begin
  128.    if Assigned(Item) then
  129.       InfoTip := Item.SubItems[3]
  130. end;
  131.  
  132. procedure TfrmMain.menuClick(Sender: TObject);
  133. begin
  134.    (Sender as TMenuItem).Checked := not (Sender as TMenuItem).Checked;
  135. end;
  136.  
  137. end.
  138.