Cześć,
głowię się z jednym problemem.
Jak za pomocą Indy wyświetlić z jaką prędkością dane są wysyłane i pobierane.
Wygrzebałem na google jedne kodzik niby wydaje się być OK ale nie wyświetla mi prędkości, wyświetli powiedzmy 31KB/s i zaraz "ginie" na 0KB/s [???] drugi problem ale to już mniej istotne niby jest ProgressBar i ma być postęp widoczny na nim odebranych pakietów chyba :-O a nic się nie dzieje pozostaje ciągle w pozycji 0;
A na firewallu widzę, że pobiera z prędkością nawet po 130 wiec [???]
procedure TForm1.IdPOPWork(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Integer);
Var
S: String;
TotalTime: TDateTime;
H, M, Sec, MS: Word;
DLTime: Double;
AverageSpeed: Real;
begin
TotalTime := Now - STime;
DecodeTime(TotalTime, H, M, Sec, MS);
Sec := Sec + M * 60 + H * 3600;
DLTime := Sec + MS / 1000;
if DLTime > 0 then AverageSpeed := (AWorkCount / 1024) / DLTime;
S := FormatFloat('0.00 KB/s', AverageSpeed);
case AWorkMode of
wmRead : StatusBar1.Panels[1].Text := 'Download speed ' + S;
wmWrite: StatusBar1.Panels[1].Text := 'Uploade speed ' + S;
end;
ProgressBar2.Position := AWorkCount;
end;
procedure TForm1.IdPOPWorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Integer);
begin
STime := Now;
ProgressBar2.Max := AWorkCountMax;
end;
Dzięki za pomoc.