如何编制一个程序,能够到一个ftp服务器指定的目录去下载一个程序(50分)

  • 主题发起人 主题发起人 scy
  • 开始时间 开始时间
S

scy

Unregistered / Unconfirmed
GUEST, unregistred user!
就像下载ftp://192.168.10.1/download/some.zip
怎么办?
 
补充一下:
而且ftp进去是有用户名和密码的,
用户名和密码放到那里/
 
我见过别人作过[:)]
 
Fastnet面板里有个控件,叫NMFTP,这是专门做Ftp程序的。有UserID和PassWord两个属性
存储用户名和密码。有方法Download,是下载方法!具体你可以看看帮助,不难的!
 
我的这个是编制用来升级程序的,
就是说我在下载之前一定要判断旧文件在那里,然后覆盖它!
 
我也正在研究,我写了一个,下载倒是可以,但是:
NMFTP1.List;
Memo2.Lines.Assign(NMFTP1.FTPDirectoryList.Name);
用以上代码:对于Unxi平台,可以得到 目录或文件列表
但Window平台却是空的?为什么?
我能否做一个与后台服务器无关,就想资源管理器那样,选择原始文件,进行下载!
把邮件地址给我,我发给你!
 
请大家帮忙啊?
 
怎么没人回答呢?
 
应该很简单才对啊?怎么没人回答?
 
Fastnet面板里有个控件,叫NMFTP,但需要密码帐号,最简单的方法是用NMHTTP,
无须密码等,你可以看demo下的fastnet里的例子,很简单。
如果用户升级的话,关键是要在建立一个文本文件。内容只要一句,类似“20020505”
然后读到字符串中,在程序中判断该字符是否大于某值,是就是说有新版本。否则无须
升级。有新版本则下载升级文件。
昨天我刚作了个软件在线升级的程序,花了我很多时间。
关键是用透 NMHTTP1 ,因为它有个InputFileMode 设置为 False ,Body 为文件内容,
设置为True,Body为下载在本机上的文件名。
其他相信你会弄懂的。

 
To:xrday
要指定下载格式是Binary格式的,不然下载不成功,
还有mget是下载多个文件,所以只要用get 这个命令就可以啦!
writeln(f,'binary');
writeln(f,'get some.zip');
 
你可以直接调用ftp程序呀
我做过一个这样的小程序,
下面是其中的一段程序:
procedure TForm1.N1Click(Sender: TObject);
var
command:pchar;
f:textfile;
begin
DeleteFile('./file.ini');
assignfile(f,'./file.ini');
rewrite(f);
try
begin
writeln(f,'open 192.168.10.1');
writeln(f,'user');
writeln(f,'password');
writeln(f,'cd /download');
writeln(f,'prompt');
writeln(f,'bin');
writeln(f,'mget some.zip');
writeln(f,'by');
end;
finally
closefile(f);
end;
command:=pchar('ftp -s:file.ini');
winexec(command,sw_show);
end;
你试试行不行,注意哪里的user 和password应换为你真正的用户和密码.
 
后退
顶部