我是delphi的新手,我需要编写一个ftp客户端程序,它将通过一个包含ftp地址列表的文本文件,并从ftp站点下载子文件夹。 我已成功连接到服务器,但卡在下载部分。有人可以帮助我在下载程序中插入代码
procedure TCleint.btnConnectClick(Sender: TObject);
begin
try
if not IdFTP.Connected then
begin
IdFTP.Host := 'ftp server';
IdFTP.Username := 'anonymous';
IdFTP.Password := 'emailaddress';
IdFTP.Port := 21;
IdFTP.Connect;
IdFTP.List(listaDirectory.Items, '', false);
btnConnect.Enabled := False;
btnDisconnect.Enabled := True;
btnDownload.Enabled := True;
end;
except
on E:Exception do
begin
MessageDlg('connection error!', mtError, [mbOK], 0);
btnConnect.Enabled := true;
btnDisconnect.Enabled := false;
btnDownload.Enabled := false;
end;
end;
end;
procedure TCleint.btnDisconnectClick(Sender: TObject);
begin
try
if IdFTP.Connected then
begin
IdFTP.Disconnect;
listaDirectory.Clear;
btnConnect.Enabled := True;
btnDisconnect.Enabled := False;
btnDownload.Enabled := False;
end;
except
on E:Exception do
begin
MessageDlg('connection error!', mtError, [mbOK], 0);
btnConnect.Enabled := false;
btnDisconnect.Enabled := true;
btnDownload.Enabled := true;
end;
end;
end;
procedure TCleint.btnDownloadClick(Sender: TObject);
begin
end;
end.
答案 0 :(得分:0)
调用List()
后,您需要遍历DirectoryListing
属性的条目。这将告诉您哪些项目是文件,哪些是子文件夹。然后,您可以Get()
文件和(递归)ChangeDir()
/ List()
子文件夹。