1,593
社区成员
发帖
与我相关
我的任务
分享
procedure TForm1.tmr2Timer(Sender: TObject);//连接保持检测。10秒一次
begin
if not IdFTP.Connected then
begin
Exit;
end;
if TransferrignData then Exit;//在下载中则不noop
IdFTP.Noop;
end;
procedure Tform1.download ;
var
name:string;
tt :TIdFTPListItems; //ftp列表
t : TIdFTPListItem; //ftp单条记录
j:Integer;
ls:TStringList ;
begin
if idftp.Connected =False then btn1.Click;
idftp.ChangeDir('/Ext');
ls := TStringList.Create;
try
idftp.ChangeDir('/Ext');
idftp.ChangeDir(ip.Text);
idftp.ChangeDir(ftp_date.Text);
except
mmo1.Lines.Add(ip.Text+'无此目录');
end;
idftp.List(ls);
IdFTP.TransferType := ftBinary;
tt:=IdFTP.directorylisting;
forcedirectories ('.\'+ip.text+'\'+ftp_date.Text);
for j :=2 to idftp.DirectoryListing.Count-1 do
begin
t:=tt.items[j];
if IdFTP.DirectoryListing.Items[j].ItemType = ditfile then //如果是文件
begin
if Length(t.FileName)<11 then name :='data.txt'
else name:=t.FileName;
try
IdFTP.Get(t.FileName ,ip.text+'\'+ftp_date.Text+'\'+name,True);
except
end;
end;
end;
mmo1.Lines.Add(ip.text+'_'+ftp_date.Text+'下载完毕');
mmo2.Lines.Add(ip.text+'_'+ftp_date.Text+'='+inttostr(idftp.DirectoryListing.Count-2)+'下载完毕');
idftp.ChangeDir('../');
idftp.ChangeDir('../');
idftp.ChangeDir('../');
end;