17th
Май

ProgressBar для скачивания

Posted by Chas under Пост-обзор

projectsoft:

unit Unit1;

interface

uses
SimpleXML, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdHTTP, StdCtrls, ComCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
HTTP: TIdHTTP;
ListBox1: TListBox;
ProgressBar1: TProgressBar;
procedure Button1Click(Sender: TObject);
procedure HTTPWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
procedure HTTPWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
procedure HTTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
procedure HTTPConnected(Sender: TObject);
private
procedure Theard;
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Theard;
var
Stream: TFileStream;
begin
Stream:= TFileStream.Create('gmbartlist.xml' ,fmCreate);
try
HTTP.Get('http://bar.gismeteo.ru/gmbartlist.xml',Stream);
finally
Stream.Free;
end;
ListBox1.Items.LoadFromFile('gmbart list.xml');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Theard;
end;

procedure TForm1.HTTPWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
begin
ProgressBar1.Max:= AWorkCountMax;
end;

procedure TForm1.HTTPWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
ProgressBar1.Position:= 0;
Button1.Enabled:= True;
end;

procedure TForm1.HTTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
ProgressBar1.Position:= AWorkCount;
Application.ProcessMessages;
end;

procedure TForm1.HTTPConnected(Sender: TObject);
begin
Button1.Enabled:= False;
end;

end.

тема на форуме

Похожие статьи