unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, IdHTTP, IdAntiFreezeBase, IdAntiFreeze, ComCtrls;
type
TForm1 = class(TForm)
IdFTP1: TIdFTP;
Button1: TButton;
IdHTTP1: TIdHTTP;
IdAntiFreeze1: TIdAntiFreeze;
ProgressBar1: TProgressBar;
procedure Button1Click(Sender: TObject);
procedure IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
procedure IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
nFile:Tmemorystream;
begin
nFile := Tmemorystream.Create;
IdAntiFreeze1.OnlyWhenIdle := false;
IdHTTP1.HandleRedirects := true;
IdHTTP1.Get('http://www.xeeder.cn/uploadfile/20071212100630756.exe',nFile);
nFile.SaveToFile('d:/20071212100630756.exe');
nFile.Free;
end;
procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
begin
ProgressBar1.Max := AWorkCountMax;
ProgressBar1.Min :=0;
ProgressBar1.Position := 0;
end;
procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
ProgressBar1.Position := ProgressBar1.Position + AWorkCount;
end;
end.