登陆

Delphi 轻松下载文件

在Form1中添加控件:
  两个Indy控件:IdAntiFreeze1,IdHTTP1;
  一个按钮    :Button1;
  一个进度条  :ProgressBar1 显示下载速度

Delphi代码
  1. procedure TForm1.Button1Click(Sender: TObject);   
  2. var  
  3.   MyStream:TMemoryStream;   
  4. begin  
  5.   IdAntiFreeze1.OnlyWhenIdle:=False;//设置使程序有反应.   
  6.   MyStream:=TMemoryStream.Create;   
  7.   try  
  8.     IdHTTP1.Get('http://www.appcontrols.com/demos/exe/HTTPDemo.exe',MyStream);   
  9.   except  
  10.     Showmessage('没有下载成功!');   
  11.     MyStream.Free;   
  12.     Exit;   
  13.   end;   
  14.   MyStream.SaveToFile(ExtractFilePath(paramstr(0))+'HTTPDemo.zip');   
  15.   MyStream.Free;   
  16.   Showmessage('OK');   
  17. end;   
  18.   
  19. procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;   
  20.   const AWorkCountMax: Integer);   
  21. begin  
  22.   //开始下载前,将ProgressBar1的最大值设置为需要接收的数据大小.   
  23.   ProgressBar1.Max:=AWorkCountMax;   
  24.   ProgressBar1.Min:=0;   
  25.   ProgressBar1.Position:=0;   
  26. end;   
  27.   
  28. procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;   
  29.   const AWorkCount: Integer);   
  30. begin  
  31.   //接收数据的时候,进度将在ProgressBar1显示出来.   
  32.   ProgressBar1.Position:=ProgressBar1.Position+AWorkCount;   
  33. end;   

Tags: 轻松下载, 下载, 文件下载

« 上一篇 | 下一篇 »

相关文章