Delphi7 中利用Indy的TidFtp客户端控件实现在服务器指定目录下下载需要的文件
2006-07-13 14:40
951 查看
根据实际的开发需求,需要在服务器端下载指定的文件到本地电脑,因为不像普通的FTP软件,不需要界面,客户只需要点击一个按钮,就可以实现文件下载到本地,然后由程序自动处理,并入库,然后生成客户所需要的报表,就是客户所要求的全傻瓜型程序.
主要代码片断如下,这里主要就是说下思路,实现基本功能,然后供那些对Indy组件不是很熟悉的朋友熟悉下用法:
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;
主要代码片断如下,这里主要就是说下思路,实现基本功能,然后供那些对Indy组件不是很熟悉的朋友熟悉下用法:
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;
相关文章推荐
- 利用Indy的TIdFtp控件实现FTP协议, 远程下载上传文件
- php实现远程网络文件下载到服务器指定目录(方法二)
- Linux从Ftp上下载最新文件,并保存到指定目录(实现有点2--)
- php实现远程网络文件下载到服务器指定目录(方法二)
- 利用FtpClient实现上传下载及获得文件目录
- php实现远程网络文件下载到服务器指定目录(方法一)
- asp.net mvc导出excel文件先保存到服务器某个目录,然后再导出到客户端供客户下载功能的实现
- delphi中利用Indy的TIdFtp控件实现FTP协议
- 以命令方式从FTP 服务器下载文件到本地指定目录
- JSP实现远程文件下载保存到服务器指定目录中的方法
- FTP上传下载文件,利用FTP传输文件到指定目录
- 个人电脑配置FTP服务器,四张图搞定。项目需要,并自己写了个客户端实现下载和上传的功能!
- 《JavaWeb---简单应用---服务器向客户端提供音乐资源(三)》--- 利用struts实现文件下载,下载时改变文件的名称
- 利用Indy的TIdFtp控件实现FTP协议
- 利用Indy的TIdFtp控件实现FTP协议
- 利用indy的tidftp控件实现ftp协议_delphi教程
- JSP实现远程文件下载保存到服务器指定目录中的方法
- delphi中利用Indy的TIdFtp控件实现FTP协议
- 以命令方式从FTP 服务器下载文件到本地指定目录
- python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小