procedure TForm1.btnDirClick(Sender: TObject);
begin
//clear old info
ListBox1.Items.Clear;
//Dir
try
NMFTP1.List;
except
//error trap
end;
end;
procedure TForm1.NMFTP1ListItem(Listing: String);
begin
//add dir
ListBox1.Items.Add(Listing);
end;
procedure TForm1.btnChDirClick(Sender: TObject);
begin
//切换目录
Try
NMFTP1.ChangeDir(edtDir.Text);
Except
end;
end;
procedure TForm1.btnUploadClick(Sender: TObject);
var
localfname:string;
remotefname:string;
begin
//上传文件
if OpenDialog1.Execute then
begin
localfname:=OpenDialog1.FileName;
// 获得本地上传的文件名
edtLocalFileName.Text:=localfName;
remotefname:=edtRemoteFileName.Text;
if remotefname='' then
remotefname:=extractfilename(localfname);
try
NMFTP1.Upload(localfname, remotefname);
except
end;
end;
end;
procedure TForm1.NMFTP1PacketSent(Sender: TObject);
begin
//显示上传进度
StatusBar1.SimpleText :=
inttostr(round((NMFTP1.BytesSent/NMFTP1.BytesTotal)*100))+'%';
end;
procedure TForm1.btnDownloadClick(Sender: TObject);
var
localfname:string;
remotefname:string;
begin
if SaveDialog1.Execute then
begin
localfname:=SaveDialog1.FileName;
edtLocalFileName.Text:=localfname;
remotefname:=edtRemoteFileName.Text;
if remotefname='' then
exit;
try
NMFTP1.Download(remotefname, localfname);
except
end;
end;
end;
procedure TForm1.NMFTP1PacketRecvd(Sender: TObject);
begin
StatusBar1.SimpleText :=
inttostr((Round((NMFTP1.BytesRecvd/NMFTP1.BytesTotal)*100)))+'%';
end;
procedure TForm1.btnRenameClick(Sender: TObject);
var
sourfname:string;
dentfname:string;
begin
sourfname:=edtLocalFileName.Text;
if sourfname='' then
exit;
dentfname:=edtRemoteFileName.Text;
if dentfname='' then
exit;
try
NMFTP1.Rename(sourfname, dentfname);
except
end;
end;
procedure TForm1.btnDeleteClick(Sender: TObject);
var
remotefname:string;
begin
//删除操作
remotefname:=edtRemoteFileName.Text;
if remotefname='' then
exit;
try
NMFTP1.Delete(remotefname);
except
end;
end;