delphi中如何用idFTP下载整个目录 求代码!!!跪求!!!

2020-05-05 社会 68阅读
procedure TForm1.btn3Click(Sender: TObject);
var
i,j:Integer;
ls:TStringList;
fname:string;
begin
adoTBFtp.Close;
adoTBFtp.Open;
while not adoTBFtp.Eof do
begin
IdFtp1.Host:= adoTBFtp.fieldbyname('Ip').AsString;
IdFtp1.Username := adoTBFtp.fieldbyname('User').AsString;
IdFtp1.Password := adoTBFtp.fieldbyname('PassWord').AsString;
if not IdFtp1.Connected then
begin
try
IdFtp1.Connect;
except
on e:exception do
begin
ShowMessage(e.Message);
Exit;
end;
end;
end;
ls:=TStringList.Create;
IdFTP1.ChangeDir('/tellin/temp'); //到指定目录下 windows /;Unix /
//IdFTP1.TransferType := ftASCII;
IdFTP1.List(LS);//得到目录结构
for i:=0 to IdFtp1.DirectoryListing.Count-1 do //遍历所有目录
begin
//memo1.Lines.Add(IdFtp1.DirectoryListing.Items[i].FileName);//如果文件名和目录一样,就执行如下操作
for j:=1 to 12 do
begin
fname:='scf-0-'+intToStr(j)+'.run.old';
if IdFtp1.DirectoryListing.Items[i].FileName=fname then
begin
//传输文件get函数第一个参数是服务器上的要下载的文件名,第二个参数是本地的路径和要保存的文件名
IdFtp1.Get(fname,adoTBFtp.fieldbyname('SavePath').AsString+fname,True);
end;
end;
end;
adoTBFtp.Next;
end;
ls.Free;
end;
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com