用URLDownloadToFile下载文件,如何用进度条跟踪下载进度

1:OnDownloadProgress 
2:可有否具体的例子。 
3:unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtActns, ComCtrls;

type
TForm1 = class(TForm)
ProgressBar1: TProgressBar;
Label1: TLabel;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
DownLoadURL : TDownLoadURL;
procedure DownloadProgress(Sender: TDownLoadURL; Progress,
ProgressMax: Cardinal; StatusCode: TURLDownloadStatus; StatusText: String;
var Cancel: Boolean);
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DownloadProgress(Sender: TDownLoadURL; Progress,
ProgressMax: Cardinal; StatusCode: TURLDownloadStatus;
StatusText: String; var Cancel: Boolean);
begin
Label1.Caption := StatusText;
ProgressBar1.Max := ProgressMax;
ProgressBar1.Position := Progress;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
DownLoadURL := TDownLoadURL.Create(self);
with DownLoadURL do
begin
FileName := 'c:\p.exe';
URL := 'http://www.teechart.net/files/vcl/public/TeeChartPro6/TeeChart601Delphi6_RTL3.EXE';
OnDownloadProgress := DownloadProgress;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
DownLoadURL.ExecuteTarget(DownLoadURL);
end;

end. 
4:谢谢! 
5:用我给你提供的类吧:
unit unt_Class_TDownLoad;

interface

uses
ExtActns,ComCtrls;
{ TDownLoad }

type
TDownLoad = class(TObject)
private
FDownLoadFileURL:string;
FLocalFileName:string;
FProgressBar:TProgressBar;
FDownLoadURL : TDownLoadURL;
protected

procedure OnDownloadProgress(Sender: TDownLoadURL; Progress,
ProgressMax: Cardinal; StatusCode: TURLDownloadStatus;
StatusText: String; var Cancel: Boolean);
public
property DownLoadFileURL:string read FDownLoadFileURL write FDownLoadFileURL;
property LocalFileName:string read FLocalFileName write FLocalFileName;
property ProgressBar:TProgressBar read FProgressBar write FProgressBar;

//constructor Create;
constructor Create(ProgressBar:TProgressBar);
function DownLoad():Boolean;overload;
function DownLoad(Url,LocalFilename:string):Boolean;overload;
destructor Destroy; override;
published

end;

implementation

constructor TDownLoad.Create(ProgressBar:TProgressBar);
begin
inherited Create();
FProgressBar:=ProgressBar;
FDownLoadURL:= TDownLoadURL.Create(nil);
FDownLoadURL.OnDownloadProgress:=OnDownloadProgress;
end;

procedure TDownLoad.OnDownloadProgress(Sender: TDownLoadURL; Progress,
ProgressMax: Cardinal; StatusCode: TURLDownloadStatus;
StatusText: String; var Cancel: Boolean);
begin
FProgressBar.Max := ProgressMax;
FProgressBar.Position := Progress;
end;

function TDownLoad.DownLoad():Boolean;
begin
Result:=false;
if (FDownLoadFileURL='') or (FLocalFileName='') then
//RaiseFieldNotFound();
exit;

try
with FDownLoadURL do
begin
FileName := FLocalFileName;
URL := FDownLoadFileURL;
ExecuteTarget(FDownLoadURL);
end;
except
//
end; 
Result:=True;
end;

function TDownLoad.DownLoad(Url,LocalFilename:string):Boolean;
begin
Result:=False;
FDownLoadFileURL:=Url;
FLocalFileName:=LocalFilename;
try
with FDownLoadURL do
begin
FileName := FLocalFileName;
URL := FDownLoadFileURL;
ExecuteTarget(FDownLoadURL);
end;
except
//
end; 
Result:=True;
end;

destructor TDownLoad.Destroy;
begin
//
end;

end.

转载于:https://www.cnblogs.com/wskc/archive/2013/05/28/3104564.html

转:delphi用URLDownloadToFile下载文件,用进度条跟踪下载进度相关推荐

  1. python下载文件加上日期_Python实现给下载文件显示进度条和下载时间代码

    本篇文章小编给大家分享一下Python实现给下载文件显示进度条和下载时间代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 该模块调用了三个库: 1. ...

  2. C++ vs2017 - libcurl - http请求 代码大全(请求数据,上传下载文件,多线程上传下载文件)

    在网上搜寻各种libcurl的用法,将代码集合于此! 目录 一.配置curl项目 二.Curl 请求参数 1. CURLOPT_POST 2. CURLOPT_URL 3. CURLOPT_HTTPH ...

  3. php下载apk文件源码下载,PHP_php下载文件源代码(强制任意文件格式下载),一个简单的php文件下载源代码 - phpStudy...

    php下载文件源代码(强制任意文件格式下载) 一个简单的php文件下载源代码,虽不支持断点续传等,但是可以满足一些常用的需求了.php下载文件其实用一个a标签就能实现,比如 magento-1.8.1 ...

  4. uniapp进度条及下载单位转换

    uniapp进度条及下载单位转换 <view class="strip" ><view class="blue" :style="' ...

  5. Android自定义半圆进度条 半圆渐变色进度条带指示 半圆开口大小可自由修改

    Android自定义半圆进度条 半圆渐变色进度条带指示 半圆开口大小可自由修改 首先我们来看下效果图 不同的开口大小只需要修改一个参数即可 半圆1: 半圆2: 半圆3: 如果是你想要的效果,就直接滑动 ...

  6. 自定义圆形进度条 自定义倒计时进度条

    自定义圆形进度条 自定义倒计时进度条 版权声明:转载必须注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003 此控件源码已开源到Github:https: ...

  7. Java文件下载,HTML进度条实时刷新进度

    效果展示 实现原理 1:后台同步进程开始下载文件 2:前台使用遮罩效果,使页面不能点击,使用circliful进度条插件(插件源码见后) 3:页面使用JavaScript定时器发送ajax请求刷新进度 ...

  8. 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本。该案例支持处理 js 的交互逻辑且无耦合、同时暴露进度条加载进度、可以监听异常 error 状态、支持视频播放

    YCWebView 项目地址:yangchong211/YCWebView 简介: 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本.该案例支持处理 js 的交 ...

  9. Xamarin XAML语言教程使用属性设置进度条的当前进度

    Xamarin XAML语言教程使用属性设置进度条的当前进度 在图12.19~12.21中我们看到的是没有实现加载的进度条,即进度条的当前进度为0,如果开发者想要修改当前进度,可以使用两种方式:一种是 ...

最新文章

  1. Model和ViewModel
  2. Asp.net系列计划
  3. 题目1208:10进制 VS 2进制(进制转换以及大数保存问题)
  4. 整蛊偷快递的家伙!不愧是 NASA 工程师
  5. flask出现错误:cannot import name ‘ContextVar‘
  6. window自动备件软件
  7. python定义私有变量的方法_Python中私有属性的定义方式
  8. 微信支付v3 php 源码,求微信支付wxpayv3服务端完整代码
  9. linux中副规则_linux中命名规则_学习笔记
  10. 服务器修改ip socket,socket不能选择本地IP连接的解决方法
  11. sublime开发apicloud项更新apploader解决
  12. HTTP请求的完整过程
  13. 携程的产品与收入模式分析
  14. ★如何引导客户需求?几个经典的案例分析!
  15. 19 统计量及其抽样分布——样本均值的分布与中心极限定理
  16. vs2013+qt生成的exe无法找到入口,无法定位程序输入点与动态库*.exe,而不是DLL
  17. @Windows server 2022安装使用(Workstation)
  18. 高防IP是如何来防御DDoS攻击的呢?
  19. 软件测试阶段划分以及测试分类
  20. 【XSY3898】强度(期望dp)

热门文章

  1. 网站被降权后该如何操作?
  2. JAVA窗帘_HomeControl 智能家具系统,包括灯光,窗帘的控制,设备,房间,情景模式的添加 Java Develop 240万源代码下载- www.pudn.com...
  3. java jackson json_java – 使用Jackson从JSON获取单个字段
  4. docker klee tutorial_在容器中安装新的程序
  5. elasticsearch 2.2+ index.codec: best_compression启用压缩
  6. java生成随机数保留数点后两位
  7. Linux/Ubuntu
  8. mysql 用命令行复制表数据到新表
  9. node.js querystring
  10. Unreal Engine 4 —— Post Process Shader练手(HLSL)