In WorkBegin() kun je een starttijd zetten. Daarna kun je in Work() de starttijd van de huidige tijd af halen en je hebt dan de verstreken tijd. Je kunt in Work() dan zien (a.d.h.v. AWorkCount) hoeveel werk er al is gedaan.
Voorbeeldje uit de losse vuist:
Delphi Code:
//...
public
TotaalAantalBytes: Integer;
BeginTijd: Cardinal;
SnelheidBytesPerSeconden: Extended;
end;
//...
procedure TForm1.HTTPWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
begin
TotaalAantalBytes := AWorkCountMax;
BeginTijd := GetTickCount();
end;
procedure TForm1.HTTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
var
Verstreken: Extended;
begin
Verstreken := (GetTickCount() - BeginTijd) / 1000; // seconden
SnelheidBytesPerSeconden := AWorkCount / Verstreken;
end;
Het is natuurlijk maar wel de vraag hoe je de snelheid wilt hebben. Bytes per seconden. Megabytes per seconden. Megabits per seconden. etc. etc.
Bookmarks