線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2671
推到 Plurk!
推到 Facebook!

請問怎樣計算IdFTP上傳速度?

 
supperment
一般會員


發表:14
回覆:2
積分:3
註冊:2007-02-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-02-06 16:56:30 IP:218.19.xxx.xxx 訂閱
IdFTP?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-02-06 17:44:53 IP:59.124.xxx.xxx 未訂閱
TIdFtp 的 OnWorkBegin Event 中開始計算
TIdFtp 的 OnWork Event 中的 AWorkCount 參數為傳輸的 byte 數
TIdFtp 的 OnWorkEnd Event 中結束計算
jaya
初階會員


發表:9
回覆:70
積分:30
註冊:2002-05-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-02-07 02:35:09 IP:61.229.xxx.xxx 訂閱
附上我目前的程式碼,雖然不能直接使用,希望能夠有所幫助!(不需要的地方請自行刪除) 
<textarea class="delphi" rows="10" cols="60" name="code"> procedure Tmainfrm.IdFTPWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); Var S, st: String; TotalTime: TDateTime; H, M, Sec, MS: Word; DLTime: 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); st := app04 FloatToStr(round((TotalByte / 1024 /1024)*100)/100) 'MB '; case AWorkMode of wmRead: begin stBar.Panels[1].Text := st app05 S; if TotalByte > 0 then stBar.Panels[0].Text := FloatToStr(round((AWorkCount / TotalByte)*100)) '%'; end; wmWrite: stBar.Panels[1].Text := app06 S; end; if AbortTransfer then IdFTP.Abort; ProgressBar1.Position := AWorkCount; AbortTransfer := false; end; procedure Tmainfrm.IdFTPWorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer); begin TransferrignData := true; AbortTransfer := false; STime := Now; if AWorkCountMax > 0 then ProgressBar1.Max := AWorkCountMax else ProgressBar1.Max := BytesToTransfer; AverageSpeed := 0; TotalByte := ProgressBar1.Max; end; procedure Tmainfrm.IdFTPWorkEnd(Sender: TObject; AWorkMode: TWorkMode); begin stBar.Panels[1].Text := app07; stBar.Panels[0].Text := ''; BytesToTransfer := 0; TransferrignData := false; ProgressBar1.Position := 0; AverageSpeed := 0; end; </textarea>
===================引 用 文 章===================
TIdFtp 的 OnWorkBegin Event 中開始計算
TIdFtp 的 OnWork Event 中的 AWorkCount 參數為傳輸的 byte 數
TIdFtp 的 OnWorkEnd Event 中結束計算
supperment
一般會員


發表:14
回覆:2
積分:3
註冊:2007-02-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-02-07 11:15:39 IP:218.19.xxx.xxx 訂閱
thank!
系統時間:2024-04-25 2:08:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!