1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| procedure TfrmLoadLOGFromFTP.IdFTPWork(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); Var S: String; TotalTime: TDateTime; H, M, Sec, MS: Word; DLTime: Double; AverageSpeed : Double; 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); Application.ProcessMessages; case AWorkMode of wmRead: lblDownloadProgress.Caption := S + ' ' + sDownloadSpeed; wmWrite: lblDownloadProgress.Caption := S + ' ' + sUploadSpeed; end; Application.ProcessMessages; pbDownload.Position := AWorkCount; pbDownload.Update; Application.ProcessMessages; end;
procedure TfrmLoadLOGFromFTP.IdFTPWorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); begin pbDownload.Max := AWorkCountMax; pbDownload.Position := 0; Application.ProcessMessages; end;
procedure TfrmLoadLOGFromFTP.IdFTPWorkEnd(ASender: TObject; AWorkMode: TWorkMode); begin pbDownload.Position := pbDownload.Max; Application.ProcessMessages; end; |