Delphi ICS 多線程下載

 1、FMultiPartHTTP 的事件:spa

  下載完成事件orm

      HTTPRequestDone(Sender: TObject; ErrorCode: Integer; const Reason: string);事件

    在這裏釋放下載的文件流string

      FMultiPartHTTP.FileStream.Free;it

     FMultiPartHTTP.FileStream := nil;io

     

2、下載顯示狀態信息事件sed

   HTTPShowStats(Sender: TObject);下載

   在這裏顯示當前下載狀態   im

  str :=  '已下載(MB):' + Format('%2f',[FMultiPartHTTP.TotalCount / 1024 / 1024]) +文件

  ' 完成百分比:' + Format('%3.0f', [FMultiPartHTTP.PercentDone])+'%' +

  ' 下載速度(KB/秒):' + Format('%6.2f', [FMultiPartHTTP.CurSpeed]) +

  ' 耗時:' + FormatDateTime('hh:nn:ss', FMultiPartHTTP.ElapsedTime);

3、,ICS進度條有關的事件

下面2個事件和進度條有關,ICS自帶了個下載進度條

HTTPProgressAddSegment(Sender: TObject; StartOffset, ASpan, InitPos: Int64);

ASpan分段大小,InitPos分段開始大小, StartOffset,分段開始大小

HTTPProgressSetPosition(Sender: TObject;Index: Integer; Position: Int64);

Index第幾個分段 Position 分段已下載的大小

4、用法示例:

    FMultiPartHTTP.URL:=下載文件地址;

    FMultiPartHTTP.PartCount:=分塊個數;

    FMultiPartHTTP.FileStream:=TFileStream.Create('下載本地文件名',fmCreate);

    FMultiPartHTTP.Start;

相關文章
相關標籤/搜索