?? fupload.pas
字號(hào):
unit fUpload;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, FTPSock, Ftp, ComCtrls, iniFiles, ExtCtrls,
CorelButton;
type
TfrmUpload = class(TForm)
pbProgress: TProgressBar;
ftp: TMFtp;
cboAccount: TComboBox;
lblAccount: TLabel;
lblProgress: TLabel;
imgIcon: TImage;
btnCancel: TCorelButton;
procedure ftpFtpInfo(Sender: TObject; info: FtpInfo; addinfo: String);
procedure ftpFileTransferred(Sender: TObject);
procedure ftpFtpReady(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
SftpDir: String;
bHitCancel: Boolean;
state: Integer;
sLocalFile: String;
{ Private declarations }
procedure FTPIt(FileName: String; FTPDir: String;LocalFile: String);
public
FileName, FTPDir, LocalFile: String;
{ Public declarations }
end;
var
frmUpload: TfrmUpload;
implementation
{$R *.dfm}
procedure TfrmUpload.FTPIt(FileName: String; FTPDir: String;LocalFile: String);
var
ini: TIniFile;
begin
ini := TInifile.Create(ExtractFilePath(Application.ExeName) + 'accounts\' + FileName);
ftp.Server := ini.Readstring('FTP', 'URL', '');
ftp.username := ini.Readstring('FTP', 'Username', '');
ftp.Password := ini.Readstring('FTP', 'Password', '');
ftp.Port := ini.ReadInteger('FTP', 'Port', 0);
ftp.InitialDirectory := FTPDir;
ftp.ServerType := TMFTPServerType(ini.ReadInteger('FTP', 'ServerType', 0));
ftp.TransferMode := TMFTPTransferType(ini.ReadInteger('FTP', 'TransferType', 0));
if (ini.ReadBool('FTP', 'UseProxy', false)) then
ftp.ProxyServer := ini.ReadString('FTP', 'ProxyServer', '');
SLocalFile := LocalFile;
state := 0;
ftp.Login;
sFTPDir := ftpDir;
ini.Destroy;
// close;
end;
procedure TfrmUpload.ftpFtpInfo(Sender: TObject; info: FtpInfo;
addinfo: String);
begin
case info of
ftpDataTrace:
if pbProgress.Visible then
pbProgress.Position := FTP.BytesTransferred;
ftpFileSize:
pbProgress.Max := StrToInt(addinfo);
end;
end;
procedure TfrmUpload.ftpFileTransferred(Sender: TObject);
begin
close;
end;
procedure TfrmUpload.ftpFtpReady(Sender: TObject);
begin
{ if State = 0 then begin
ftp.ChangeDirectory(sftpdir);
state := 1;
end}
if state = 0 then begin
ftp.PutFile(sLocalFile, ExtractFileName(sLocalFile));
state := 2;
end
else
close;
end;
procedure TfrmUpload.FormShow(Sender: TObject);
begin
FTPIt(Filename, FTPDir, LocalFile);
end;
procedure TfrmUpload.btnCancelClick(Sender: TObject);
begin
bHitCancel := True;
ftp.StopTransfer;
ftp.Disconnect;
end;
procedure TfrmUpload.FormCreate(Sender: TObject);
begin
bHitCancel := False;
end;
procedure TfrmUpload.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if bHitCancel = False then
ModalResult := mrOk;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -