转:delphi用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下载文件,用进度条跟踪下载进度相关推荐
- python下载文件加上日期_Python实现给下载文件显示进度条和下载时间代码
本篇文章小编给大家分享一下Python实现给下载文件显示进度条和下载时间代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 该模块调用了三个库: 1. ...
- C++ vs2017 - libcurl - http请求 代码大全(请求数据,上传下载文件,多线程上传下载文件)
在网上搜寻各种libcurl的用法,将代码集合于此! 目录 一.配置curl项目 二.Curl 请求参数 1. CURLOPT_POST 2. CURLOPT_URL 3. CURLOPT_HTTPH ...
- php下载apk文件源码下载,PHP_php下载文件源代码(强制任意文件格式下载),一个简单的php文件下载源代码 - phpStudy...
php下载文件源代码(强制任意文件格式下载) 一个简单的php文件下载源代码,虽不支持断点续传等,但是可以满足一些常用的需求了.php下载文件其实用一个a标签就能实现,比如 magento-1.8.1 ...
- uniapp进度条及下载单位转换
uniapp进度条及下载单位转换 <view class="strip" ><view class="blue" :style="' ...
- Android自定义半圆进度条 半圆渐变色进度条带指示 半圆开口大小可自由修改
Android自定义半圆进度条 半圆渐变色进度条带指示 半圆开口大小可自由修改 首先我们来看下效果图 不同的开口大小只需要修改一个参数即可 半圆1: 半圆2: 半圆3: 如果是你想要的效果,就直接滑动 ...
- 自定义圆形进度条 自定义倒计时进度条
自定义圆形进度条 自定义倒计时进度条 版权声明:转载必须注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003 此控件源码已开源到Github:https: ...
- Java文件下载,HTML进度条实时刷新进度
效果展示 实现原理 1:后台同步进程开始下载文件 2:前台使用遮罩效果,使页面不能点击,使用circliful进度条插件(插件源码见后) 3:页面使用JavaScript定时器发送ajax请求刷新进度 ...
- 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本。该案例支持处理 js 的交互逻辑且无耦合、同时暴露进度条加载进度、可以监听异常 error 状态、支持视频播放
YCWebView 项目地址:yangchong211/YCWebView 简介: 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本.该案例支持处理 js 的交 ...
- Xamarin XAML语言教程使用属性设置进度条的当前进度
Xamarin XAML语言教程使用属性设置进度条的当前进度 在图12.19~12.21中我们看到的是没有实现加载的进度条,即进度条的当前进度为0,如果开发者想要修改当前进度,可以使用两种方式:一种是 ...
最新文章
- Model和ViewModel
- Asp.net系列计划
- 题目1208:10进制 VS 2进制(进制转换以及大数保存问题)
- 整蛊偷快递的家伙!不愧是 NASA 工程师
- flask出现错误:cannot import name ‘ContextVar‘
- window自动备件软件
- python定义私有变量的方法_Python中私有属性的定义方式
- 微信支付v3 php 源码,求微信支付wxpayv3服务端完整代码
- linux中副规则_linux中命名规则_学习笔记
- 服务器修改ip socket,socket不能选择本地IP连接的解决方法
- sublime开发apicloud项更新apploader解决
- HTTP请求的完整过程
- 携程的产品与收入模式分析
- ★如何引导客户需求?几个经典的案例分析!
- 19 统计量及其抽样分布——样本均值的分布与中心极限定理
- vs2013+qt生成的exe无法找到入口,无法定位程序输入点与动态库*.exe,而不是DLL
- @Windows server 2022安装使用(Workstation)
- 高防IP是如何来防御DDoS攻击的呢?
- 软件测试阶段划分以及测试分类
- 【XSY3898】强度(期望dp)
热门文章
- 网站被降权后该如何操作?
- JAVA窗帘_HomeControl 智能家具系统,包括灯光,窗帘的控制,设备,房间,情景模式的添加 Java Develop 240万源代码下载- www.pudn.com...
- java jackson json_java – 使用Jackson从JSON获取单个字段
- docker klee tutorial_在容器中安装新的程序
- elasticsearch 2.2+ index.codec: best_compression启用压缩
- java生成随机数保留数点后两位
- Linux/Ubuntu
- mysql 用命令行复制表数据到新表
- node.js querystring
- Unreal Engine 4 —— Post Process Shader练手(HLSL)