DELPHI IDHTTP下载

type
  THttpThread = class(TThread)
  private
    FIdHTTP: TIdHTTP;
    FUrl: string;
    FSavePath: string;
    procedure Down(Url: string; SavePath: string);
  public
    constructor Create(CreateSuspended: Boolean; Url: string; SavePath: string);
    destructor Destroy; override;
    procedure Execute; override;
  end;

{ THttpThread }

constructor THttpThread.create(CreateSuspended: Boolean; Url: string; SavePath: string);
begin
  inherited Create(CreateSuspended);
  FreeOnTerminate := True;
  FUrl := Url;
  FSavePath := SavePath;
  FIdHTTP := TIdHTTP.Create(nil);
end;

destructor THttpThread.Destroy;
begin
  FIdHTTP .Free;
  inherited;
end;

procedure THttpThread.Down(Url: string; SavePath: string);
var
  Stream: TMemoryStream;
begin
  BegTime := GetTickCount;
  Stream := TMemoryStream.Create;
  try
    try
      FIdHTTP.Get(Url, Stream);
    finally
      DeleteUrlCacheEntry(PChar(Url));
    end;
  except
    MessageBox(0, '网络出错', '提示', MB_ICONQUESTION);
    Stream.Free;
    Exit;
  end;

  Stream.SaveToFile(SavePath);
  Stream.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  HttpThread1: THttpThread;
  UrlPath: string;
begin
  UrlPath := 'http://mirror1.2ccc.com/downloads/general/multimedia/Money2ChineseCapitalaovi888.rar';
  HttpThread1 := THttpThread.Create(False, UrlPath, 'C:\Test\1.Rar');
end;

procedure THttpThread.Execute;
begin
  inherited;
  Down(FUrl, FSavePath);
end;

 

转载于:https://www.cnblogs.com/chengxin1982/archive/2009/09/30/1576946.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值