用idftp控件上传一个文件到主机,如何得到即时的网络传输速度?

解决方案 »

  1.   

    procedure TfrmFTPPRG.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
    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;
    end;now是当前时间,stime是在IdFTP1的WorkBegin事件中记录的当前时间,两个相减就是间隔时间.
    然后将间隔时间分解,变成秒.
    利用Work事件中的AWorkCount参数计算速度.
    这样可不可以?