Zitat von
Larsi:
Zitat:
Kommst du denn an die Information wieveil Bytes übertragen wurden bzw. werden?
Dann kannst du die Geschwindigkeiten ausrechen.
Das wär zumindenst mein Ansatz.
Wie soll das gehen? Es muss doch eine Möglichkeit geben die Download und Uploadrate auszulesen, Windows kann das doch auch.
Delphi-Quellcode:
procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
var
FPercent: Integer;
begin
if not ((GetTickCount - FTime) <= 0) then
begin
try
lblSpeedStatus.caption:= Format('%.2f KB/s', [(AWorkCount - FBytes) / (GetTickCount - FTime)]);
except
end;
end;
FTime:= GetTickCount;
FBytes:= AWorkCount;
if FFileSize <> 0 then
FPercent:= Round((FBytes / FFileSize) * 100);
//Shape1.Width:= 2 * FPercent;
Image1.Width:= 2 * FPercent;
LblPercent.Caption:= IntToStr(FPercent) + '%';
lblCurrentSize.Caption:= GetSizeName(FBytes);
lblFileSize.Caption:= '/ ' + GetSizeName(FFileSize);
Application.ProcessMessages;
end;
Das Beispiel ist zar nur bei einem Download, sollte aber auf diese Art auch funktionieren wenn du an die irgendwie an die Übertragenen Werte kommst.
Ich habe mir die .Pas Datei nicht angeschaut die du angegeben hast.
Mein Beitrag sollte auch nur ein Vorschlag für eine mögliche Lösung sein. Wenn du an die übertragenen Werte nicht kommst ist dieser Vorschlag natürlich hinfällig.