从internet下载文件时显示进度

时间:2010-02-03 12:46:40  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:下,内部是使用的URLDownloadToFileA),它下载文件时会定时产生OnDownloadProgress 事件这样就可以实现进度显示了,下面是示例代码:uses ExtActns, ...typeTfrMain = class(TForm)...
  正文:查了一些资料,用idhttp可以显示进度,但不想用它,据说不稳定,用URLDownloadToFile可以下载文件,但显示进度很麻烦,嗯,是很麻烦,不过从英文网中发现了个方法可以轻松的实现这个功能,秘密就在于TActionList,它里面有个标准动作TDownLoadURL,(我看了一下,内部是使用的URLDownloadToFileA),它下载文件时会定时产生OnDownloadProgress 事件这样就可以实现进度显示了,下面是示例代码


uses ExtActns, ...

type
TfrMain = class(TForm)
...
private
procedure URL_OnDownloadProgress
(Sender: TDownLoadURL;
Progress, ProgressMax: Cardinal;
StatusCode: TURLDownloadStatus;
StatusText: String; var Cancel: Boolean) ;
...

implementation
...

procedure TfrMain.URL_OnDownloadProgress;
begin
  ProgressBar1.Max:= ProgressMax;
  ProgressBar1.Position:= Progress;
end;

function DoDownload;
begin
  with TDownloadURL.Create(self) do
    try
      URL:='http://z.about.com/6/g/Delphi/b/index.xml';
      FileName := 'c:ADPHealines.xml';
      OnDownloadProgress := URL_OnDownloadProgress;
      
      ExecuteTarget(nil) ;
      finally
        Free;
      end;
    end;

从internet下载文件时显示进度》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/Delphi/12759.html


关键字:

关于《从internet下载文件时显示进度》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td