delphi 带进程条的文件下载
2008-08-11 14:11
281 查看
代码如下:
uses URLMon, ShellApi
2function DownloadFile(SourceFile, DestFile: string): Boolean;
3begin
4 try
5 Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
6 except
7 Result := False;
8 end;
9end;
10procedure TForm1.BitBtn1Click(Sender: TObject);
11var
12 SourceFile: string;
13 DestFile: string;
14begin
15 SourceFile := 'http://dl.google.com/googletalk/googletalk-setup-zh-CN.exe';
16 DestFile := 'D:\软件升级\googletalk-setup-zh-CN.exe';
17 if DownloadFile(SourceFile, DestFile) then begin
18 ShowMessage(' Download succesful! ');
19 ShellExecute(Application.Handle, PChar('open'), PChar(DestFile), PChar(''), nil, SW_NORMAL)
20 end
21 else
22 ShowMessage(' Error while downloading ' + SourceFile)
23end;
24
25
26 IdHTTP1: TIdHTTP;
27 IdAntiFreeze1: TIdAntiFreeze;
28 ProgressBar1: TProgressBar;
29 BitBtn2: TBitBtn;
30
31procedure TForm1.BitBtn2Click(Sender: TObject);
32var
33 MyStream: TMemoryStream;
34begin
35 IdAntiFreeze1.OnlyWhenIdle := False; //设置使程序有反应.
36 MyStream := TMemoryStream.Create;
37 try
38 IdHTTP1.Get('http://dl.google.com/googletalk/googletalk-setup-zh-CN.exe', MyStream);
39 except
40 ShowMessage('没有下载成功!');
41 MyStream.Free;
42 Exit;
43 end;
44 MyStream.SaveToFile(ExtractFilePath(paramstr(0)) + 'HTTPDemo.zip');
45 MyStream.Free;
46 ShowMessage('OK');
47
48end;
49procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
50 const AWorkCountMax: Integer);
51begin
52 //开始下载前,将ProgressBar1的最大值设置为需要接收的数据大小.
53 ProgressBar1.Max := AWorkCountMax;
54 ProgressBar1.Min := 0;
55 ProgressBar1.Position := 0;
56end;
57
58procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
59 const AWorkCount: Integer);
60begin
61 //接收数据的时候,进度将在ProgressBar1显示出来.
62 ProgressBar1.Position := ProgressBar1.Position + AWorkCount;
63end;
uses URLMon, ShellApi
2function DownloadFile(SourceFile, DestFile: string): Boolean;
3begin
4 try
5 Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
6 except
7 Result := False;
8 end;
9end;
10procedure TForm1.BitBtn1Click(Sender: TObject);
11var
12 SourceFile: string;
13 DestFile: string;
14begin
15 SourceFile := 'http://dl.google.com/googletalk/googletalk-setup-zh-CN.exe';
16 DestFile := 'D:\软件升级\googletalk-setup-zh-CN.exe';
17 if DownloadFile(SourceFile, DestFile) then begin
18 ShowMessage(' Download succesful! ');
19 ShellExecute(Application.Handle, PChar('open'), PChar(DestFile), PChar(''), nil, SW_NORMAL)
20 end
21 else
22 ShowMessage(' Error while downloading ' + SourceFile)
23end;
24
25
26 IdHTTP1: TIdHTTP;
27 IdAntiFreeze1: TIdAntiFreeze;
28 ProgressBar1: TProgressBar;
29 BitBtn2: TBitBtn;
30
31procedure TForm1.BitBtn2Click(Sender: TObject);
32var
33 MyStream: TMemoryStream;
34begin
35 IdAntiFreeze1.OnlyWhenIdle := False; //设置使程序有反应.
36 MyStream := TMemoryStream.Create;
37 try
38 IdHTTP1.Get('http://dl.google.com/googletalk/googletalk-setup-zh-CN.exe', MyStream);
39 except
40 ShowMessage('没有下载成功!');
41 MyStream.Free;
42 Exit;
43 end;
44 MyStream.SaveToFile(ExtractFilePath(paramstr(0)) + 'HTTPDemo.zip');
45 MyStream.Free;
46 ShowMessage('OK');
47
48end;
49procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
50 const AWorkCountMax: Integer);
51begin
52 //开始下载前,将ProgressBar1的最大值设置为需要接收的数据大小.
53 ProgressBar1.Max := AWorkCountMax;
54 ProgressBar1.Min := 0;
55 ProgressBar1.Position := 0;
56end;
57
58procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
59 const AWorkCount: Integer);
60begin
61 //接收数据的时候,进度将在ProgressBar1显示出来.
62 ProgressBar1.Position := ProgressBar1.Position + AWorkCount;
63end;
相关文章推荐
- 如何用delphi实现ftp下载文件
- 用Delphi实现文件下载的几种方法
- 转:delphi用URLDownloadToFile下载文件,用进度条跟踪下载进度
- delphi 从http 上下载文件的几种方法
- delphi idHttp下载文件
- delphi 实现文件上传下载
- 用 Delphi 下载网络文件
- delphi idHttp下载文件
- Delphi从Internet下载文件
- Delphi实现文件下载的几种方法
- delphi 文件下载汇总
- delphi idHttp下载文件
- Delphi从Internet下载文件
- Delphi 从网上下载HTML、图片文件
- delphi上传下载整个目录文件
- (Delphi)如和下载网络文件的例子
- DELPHI中进程、窗口句柄、文件属性、程序运行状态
- delphi程序中下载文件的问题
- delphi IdHTTP实现Get方法下载文件,断点续传
- 封装Ftp API函数,实现上传,下载文件,创建目录(Delphi)