下载功能的实现?(50分)

  • 主题发起人 主题发起人 eryu
  • 开始时间 开始时间
E

eryu

Unregistered / Unconfirmed
GUEST, unregistred user!
var
MyStrList: TStringList;
在MyStrList里保存了1个或多个文件的下载路径,请问应该如何下载?
要用到哪些控件?
对网络这部分不熟悉,请给出主要源代码并加以说明,谢谢了。
 
如果是http,可以这样:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
uses urlmon;
{$R *.DFM}
functiondo
wnloadFile(Source, Dest: string): Boolean;
begin
try
Result:=UrlDownloadToFile(nil, PChar(source), PChar(Dest), 0, nil) = 0;
except
Result:=False;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ifdo
wnloadFile ('http://www.vckbase.com/','c:/index.htm') then
ShowMessage('Download succesful')
else
ShowMessage('Download unsuccesful')
end;

end.
 
看着好晕啊,怎么这么麻烦,还要自己写函数?
implementation
uses urlmon;
//这句是什么意思?
{$R *.DFM}
ifdo
wnloadFile ('http://www.vckbase.com/','c:/index.htm') //这句又是什么意思?
请简单说明一下好吗?
有没有简单点的方法?
 
它将http://www.vckbase.com/的网页下载,保存为c:/index.htm
我觉得已经够简单了[:)]
 
这样更好:利用INDY控件中的idHTTP很好,简单,好用,稳定!
在Delphi中还有相应的源程序呢,慢慢看吧。
 
先谢谢了。
但我不是下载网页,是下载文件啊。
并且不止一个文件,那些文件的路径都保存在MyStrList里。
比如:http://www.abc.com/a.exe,http://lsfj.com/jla/ofj.exe等等
要能下完一个,自动下另一个,直到下完。
这要怎么下呢?
 
顺便提一个关于网页下载的问题,有些网站需要登陆才能看到文章,如:codelphi
我怎么样下载这样的网页呢?还有动态生成的网页,如大富翁??
 
哪还不是一样,我网上有个才作的自升级软件就是用它下载EXE升级包的。
你用一个FOR不就简单搞定了。
 
文件也是一样的,只要是http而非ftp
 
那用idHTTP控件怎样下载的呢?是不是简单点?
各位能结合我的问题举个例子吗?
谢谢了!
 
下面的例子是从网上下载一个SWF文件
//用了indy控件,
IdHTTP1: TIdHTTP;
...
procedure TForm1.Button1Click(Sender: TObject);
var
tmpStream:TFileStream;
begin
tmpStream:=TFileStream.Create('c:/get.swf',fmCreate);
try
idhttp1.Get('http://www.xxx.com/xxx.swf',tmpStream);
finally
tmpStream.Free;
end;
end;
 
procuder idHTTP1.get(URL,Stream);
fuction idhppp1.get(URL):string;
procuder idHTTP1.post(URL,Stream);
fuction idhppp1.post(URL):string;
 
多人接受答案了。
 
后退
顶部