zoukankan      html  css  js  c++  java
  • Delphi IdHTTP1下载文件防止假死 (

    在Form1中添加控件:
    两个Indy控件:IdAntiFreeze1,IdHTTP1;
    一个按钮 :Button1;
    一个进度条 :ProgressBar1 显示下载速度

    procedure TForm1.Button1Click(Sender: TObject);
    var
    MyStream:TMemoryStream;
    begin
    IdAntiFreeze1.OnlyWhenIdle:=False;//设置使程序有反应.
    MyStream:=TMemoryStream.Create;
    try
    //http://www.delphitop.com/
    IdHTTP1.Get('http://www.appcontrols.com/demos/exe/HTTPDemo.exe',MyStream);
    except
    Showmessage('没有下载成功!');
    MyStream.Free;
    Exit;
    end;
    MyStream.SaveToFile(ExtractFilePath(paramstr(0))+'HTTPDemo.zip');
    MyStream.Free;
    Showmessage('OK');
    end;

    procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
    const AWorkCountMax: Integer);
    begin
    //开始下载前,将ProgressBar1的最大值设置为需要接收的数据大小.
    ProgressBar1.Max:=AWorkCountMax;
    ProgressBar1.Min:=0;
    ProgressBar1.Position:=0;
    end;

    procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
    const AWorkCount: Integer);
    begin
    //接收数据的时候,进度将在ProgressBar1显示出来.
    ProgressBar1.Position:=ProgressBar1.Position+AWorkCount;
    end;

  • 相关阅读:
    iOS 上线流程
    静态库和动态库的区别
    iOS如何生成.a文件
    苹果公司软件
    iOS 的主要框架
    多线程图解
    判断屏幕横屏/竖屏
    最大堆构建和堆排序
    hadoop2.6.0 + hbase-1.0.0 伪分布配置
    centos6 名字服务dnsmasq配置
  • 原文地址:https://www.cnblogs.com/key-ok/p/3533379.html
Copyright © 2011-2022 走看看