使用idhttp.get()属性下载文件,如何知道下载了多少数据,或者说怎样写相应的进度条吧
解决方案 »
- 问题小白:不懂delphi的属性
- delphi 连 visual foxpro 数据库时如何不选择有删除标记的记录?
- dbgrid的数据如何导入到另一个dbgrid中。
- 如何将ScktSrvr中的连接信息传递到自己开发的中间服务器里边
- 怎么样向MDI主窗体发送重绘整个客户区的消息。(在线等)
- 求反复登陆某网站的源代码
- 有个问题请教
- TMainMenu=>TPopupMenu的問題
- 天啊!!!我帮了你们这么多!!你们能不能帮帮我啊!!!!!!急啊!!!各位高手!!!!
- 超级热贴:今日19:30中乌之战比分预测
- 【求助:锁定程序的demo】【当用户一定时间内不操作此程序,弹出登陆框 如何实现】
- 怎调用Dll 里的函数(dll 不是用delphi 写的)
下面是Delphi7的例子。//---------------------------------------------------------
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdHTTP;type
TForm1 = class(TForm)
IdHTTP1: TIdHTTP;
Button1: TButton;
Edit1: TEdit;
ProgressBar1: TProgressBar;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
StatusBar1: TStatusBar;
procedure Button1Click(Sender: TObject);
procedure IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
procedure IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
procedure IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
procedure IdHTTP1Status(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: String);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var ss:TMemoryStream;
begin
ss:=TMemoryStream.Create;
button1.Enabled:=false;
try
IDHttp1.Get(Edit1.Text,ss);//下载到ss中
ss.SaveToFile(Edit2.Text);//将下载的文件保存到硬盘
finally
ss.Free;
button1.Enabled:=true;
end;
end;procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
begin
ProgressBar1.Max:=AWorkCountMax;
end;procedure TForm1.IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
ShowMessage('下载完毕!');
end;procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
ProgressBar1.Position:= AWorkCount;
end;procedure TForm1.IdHTTP1Status(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: String);
begin
StatusBar1.SimpleText:= '状态:'+AStatusText;
end;end.