摘自:http://blog.csdn.net/wwcz898/archive/2006/04/21/671376.aspx
unit U_FTP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, IdAntiFreezeBase, IdAntiFreeze, IdIntercept, IdLogBase,
IdLogDebug, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdFTP, ComCtrls, StdCtrls, ExtCtrls,IdFTPCommon,IniFiles;
//添加对IdFTPCommon、IniFiles的引用
type
TF_FTP = class(TForm)
Splitter1: TSplitter;
DirectoryList: TListBox;
DebugList: TListBox;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ServerName: TEdit;
ConnectButton: TButton;
Panel2: TPanel;
Path: TEdit;
ChDirButton: TButton;
CreateDirButton: TButton;
Checkbox2: TCheckBox;
User: TEdit;
Pass: TEdit;
Checkbox1: TCheckBox;
StatusBar1: TStatusBar;
CommandPanel: TPanel;
UploadButton: TButton;
AbortButton: TButton;
BackButton: TButton;
DeleteButton: TButton;
DownloadButton: TButton;
ProgressBar1: TProgressBar;
IdFTP1: TIdFTP;
IdLogDebug1: TIdLogDebug;
UploadOpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
PopupMenu1: TPopupMenu;
Download1: TMenuItem;
Upload1: TMenuItem;
Delete1: TMenuItem;
N1: TMenuItem;
Back1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure ConnectButtonClick(Sender: TObject);
procedure UploadButtonClick(Sender: TObject);
procedure ChDirButtonClick(Sender: TObject);
procedure DeleteButtonClick(Sender: TObject);
procedure AbortButtonClick(Sender: TObject);
procedure BackButtonClick(Sender: TObject);
procedure CreateDirButtonClick(Sender: TObject);
procedure DownloadButtonClick(Sender: TObject);
procedure IdFTP1Disconnected(Sender: TObject);
procedure IdFTP1Status(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: String);
procedure IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
procedure IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
procedure IdFTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
procedure Checkbox2Click(Sender: TObject);
procedure Checkbox1Click(Sender: TObject);
procedure DirectoryListClick(Sender: TObject);
procedure IdLogDebug1Connect(ASender: TIdConnectionIntercept);
procedure IdLogDebug1Disconnect(ASender: TIdConnectionIntercept);
private
{ Private declarations }
AbortTransfer: Boolean;