Ich habe mir einen Code zusammengebastelt, der die Down / und Uploadgeschwindigkeit während einer
FTP-Verbindung messen soll. Nur funktioniert dieser nicht so ganz
. Hier ist ein Teil des Programms:
Delphi-Quellcode:
var
frmMain: TfrmMain;
i : integer;
sl: TStringList;
STime : DWord;
[...]
procedure TfrmMain.FTPWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
begin
Gauge2.MaxValue := AWorkCountMax ;
Gauge3.MaxValue := AWorkCountMax ;
STime := GetTickCount;
end;
procedure TfrmMain.FTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
Var
TotalTime : TDateTime ;
DLTime: real ;
AverageSpeed : real ;
Buffer : real ;
begin
//Errechnen der Transfergeschwindigkeit
TotalTime := GetTickCount - STime ;
DLTime := TotalTime ;
Buffer :=
FTP.SendBufferSize / 1024 ;
AverageSpeed := DLTime / AWorkCount*Buffer ;
case AWorkMode
of
wmRead : Edit1.Text := FloatToStr(AverageSpeed) ;
wmWrite: Edit2.Text := FloatToStr(AverageSpeed) ;
end;
Edit1.Refresh ;
Edit2.Refresh ;
//Aktualisieren der Fortschrittsanzeige:
Gauge2.Progress := AWorkCount ;
if Gauge2.Progress = Gauge2.MaxValue
then
Gauge3.Progress := AWorkCount ;
end;
Für Hilfe wäre ich dankbar. Kann auch ein alternativ Vorschlag sein, ist mir so ziehmlich egal