Delphi实现文件下载UrlDownloadToFile

UrlDownloadToFile是一个非常不错的函数,我们可以用它来下载各种格式的图片、音乐、文件等等。
Uses URLMon, ShellApi;

function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
   try
     Result :=   UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
   except
     Result := False;
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
const  
   // URL Location
   SourceFile:='http://www.3k2.cn/images/tips.gif';
   // Where to save the file
   DestFile := 'c:\3k2.gif';
begin
   if DownloadFile(SourceFile, DestFile) then
   begin
     ShowMessage('下载成功!');
     // Show downloaded image in your browser
     ShellExecute(Application.Handle,PChar('open'),PChar(DestFile),PChar(''),nil,SW_NORMAL)
   end
   else
     ShowMessage(SourceFile+'下载出错!')
end;

如果涉及批量下载,那么在上例中Button1Click我们可以这样写:
procedure TForm1.Button1Click(Sender: TObject);
//---自己定义一个URL List和文件命名的List---//
begin
   if DownloadFile(URLList, FileName) then
   begin
     ShowMessage('下载成功!');
     ShellExecute(Application.Handle,PChar('open'),PChar('路径'+FileName+'.exe'),PChar(''),nil,SW_NORMAL) //这句用不上,就闪掉,只做下载测试用。
   end
   else
     ShowMessage(URLList+'下载出错!')
end;

下载者估计能用到吧。

posted @ 2012-10-12 21:50  willin2004  阅读(321)  评论(0编辑  收藏  举报