Newsgroups : Borland : borland.public.delphi.internet.winsock : 2007 Sep : Using OnWork Begin For Generating A Progress Bar

www.cryer.info
Managed Newsgroup Archive

Using OnWork Begin For Generating A Progress Bar

Subject:Using OnWork Begin For Generating A Progress Bar
Posted by:"Frank Bishop" (franc..@taconic.net)
Date:Sun, 9 Sep 2007 08:22:12

I'm trying to use onworkbegin onwork onworkend to generate a progress bar
during getting a list of groups or getting a list of headers


When Requesting Groups Or Headers I dont Get A Starting Value For On Work
Begin

Sample Output
--------------------------------------

GET GROUPS REQUESTED

News Work Begin Message
0

News NNTPWork Message
16

News NNTPWork Message
40
.
.
.

News NNTPWork Message
782

News NNTPWork Message
785

News WorkEnd Message


Sample Code Used
-----------------------------------------

{******************************************************************************}

procedure TForm1.IdNNTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCountMax: Int64);
begin
  memo1.Lines.add('');
  memo1.Lines.add('News Work Begin Message');
  ProgressBar1.Max := AWorkCountMax;
  memo1.Lines.add(inttostr(AWorkCountMax));
  ProgressBar1.Position := 0;
end;

{******************************************************************************}

procedure TForm1.IdNNTP1Work(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Int64);
begin
  memo1.Lines.add('');
  memo1.Lines.add('News NNTPWork Message');
  ProgressBar1.Position := AWorkCount;
  memo1.Lines.add(inttostr(AWorkCount));
end;


{******************************************************************************}

Should Work Begin Output The Max to be used to define ProgressBar1.Max

For Both Groups And Headers I'm always getting zero


Using Indy 10  Version 10.2.3

With Delphi 6 and BDS 2006

Thanks,

Frank Bishop


Here is the original source for my using these methods


Here's some sample code for updating a TProgressBar:

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

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

Thats what I use in Indy 9.

JD

"Dolf van den Berg" <dolf@nology.co.za> wrote in message
news:46d287a4@newsgroups.borland.com...
> Hi
>
> Were can I get some exsampels on how to use the OnWorkBegin and OnWorkEnd
> events for the IdTCPClient component.
>
> Thanks
>
> Dolf

Replies:

www.cryer.info
Managed Newsgroup Archive