Is it possible to download file with indy using progressbar ? lazarus / 38-Networking and Web Programming ---------------------------------------------------------------------- seba22 · 2010-12-26 10:05 Welcome, Is it possible to download file using indy (GET) with progressbar ? On my website i use content-length header what have full file size. I think i can access to it  using indy, but how create progressbar ? Where can i find how many data are downloaded ? Regards ---------------------------------------------------------------------- seba22 · 2010-12-26 10:20 I wrote that. It was very easy. I didn't see that onworkbegin send filesize. This is code, i tested under linux. Code: [Select]unit Unit1; {$mode objfpc}{$H+} interface uses   Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,   ComCtrls, StdCtrls, IdHTTP, IdComponent, IdAntiFreeze; type   { TForm1 }   TForm1 = class(TForm)     Button1: TButton;     IdAntiFreeze1: TIdAntiFreeze;     IdHTTP1: TIdHTTP;     Label1: TLabel;     ProgressBar1: TProgressBar;     procedure Button1Click(Sender: TObject);     procedure FormCreate(Sender: TObject);     procedure IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;       AWorkCount: Int64);     procedure IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;       AWorkCountMax: Int64);     procedure IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);   private     { private declarations }   public     { public declarations }   end; var   Form1: TForm1; implementation { TForm1 } procedure TForm1.IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode); begin  //label1.caption:='abbbaa'; end; procedure TForm1.Button1Click(Sender: TObject); var pk:string; begin   pk:=idhttp1.Get('http://download.thinkbroadband.com/20MB.zip'); end; procedure TForm1.FormCreate(Sender: TObject); begin end; procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;   AWorkCount: Int64); begin   label1.caption:=inttostr(aworkcount);   progressbar1.position:=aworkcount; end; procedure TForm1.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;   AWorkCountMax: Int64); begin   progressbar1.max:=AWorkCountMax; end; initialization   {$I unit1.lrs} end. ---------------------------------------------------------------------- xenblaise · 2011-02-12 16:09 nice post