idhttp post 上传或下载时显示进度条(对接idhttp1.OnWork事件)
通过 idhttp 带进度条上传演示一下,下载和上传原理差不多,说明一下下面例子中的的idhttp 是动态创建的
第一步:添加一个StatusBar或者gauge 进度条,这2个都可以。我用的是 statusbar ,因为这个好看,属性保持默认就可。
第二步:获取上传进度需要填写idhttp中的onwork,onworkbegin,onworkend,由于idhttp是动态创建的所以需要覆盖一下。
在主窗体类中添加如下几个公有函数(函数名可随意),记住一定要是一个类的方法,否则报错。
|
1
2
3
4
5
6
|
[delphi] view plaincopyprint?procedure idhttp_onwork(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); procedure idhttp_beginwork(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); procedure idhttp_endwork(ASender: TObject; AWorkMode: TWorkMode); |
之后编写函数的实现:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
[delphi] view plaincopyprint?procedure TFormMain.idhttp_onwork(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); begin ProgressBar1.Position:=AWorkCount ; end; procedure TFormMain.idhttp_beginwork(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); begin ProgressBar1.Max:=AWorkCountMax; ProgressBar1.Min := 0; ProgressBar1.Position:=0; end; procedure TFormMain.idhttp_endwork(ASender: TObject; AWorkMode: TWorkMode); begin //ProgressBar1.Position:=ProgressBar1.Max; ProgressBar1.Position:=0; |
第三步:在动态创建idhttp的时候 ,像这样写
|
1
2
3
4
5
|
[delphi] view plaincopyprint?idhttp1 := TIdHTTP.Create(); idhttp1.OnWork := FormMain.idhttp_onwork; idhttp1.OnWorkBegin := FormMain.idhttp_beginwork; idhttp1.OnWorkEnd := FormMain.idhttp_endwork; |
好了这样就可以了,不过如果上传或下载速度太快的话就无法看到进度条在动
https://www.cnblogs.com/94YY/p/3482067.html
idhttp post 上传或下载时显示进度条(对接idhttp1.OnWork事件)的更多相关文章
- idhttp post 上传或下载时显示进度条
通过 idhttp 带进度条上传演示一下,下载和上传原理差不多,说明一下下面例子中的的idhttp 是动态创建的 第一步:添加一个StatusBar或者gauge 进度条,这2个都可以.我用的是 st ...
- VC下载文件显示进度条
VC下载文件显示进度条 逗比汪星人2009-09-18上传 by Koma http://blog.csd.net/wangningyu http://download.csdn.net/deta ...
- 【转】C#中使用aria2c进行下载并显示进度条
[转自] C#中使用aria2c进行下载并显示进度条 - 云平台知识库 - 博客园https://www.cnblogs.com/littlehb/p/5782714.html 正则表达式的生成网站: ...
- Spring MVC 上传、下载、显示图片
目录 1. 准备工作 1.1 数据库表准备 1.2 实体类 User 和 Mapper(DAO) 1.3 pom.xml 依赖包 1.4 SSM 框架的整合配置 2. 控制器 UserControll ...
- C#调用耗时函数时显示进度条浅探
最近在做一个VSS日志分析工具,使用C#进行开发,在完成了所有功能后,发现,从服务器下载VSS日志非常耗时,因为此,导致工具使用体验不好,所以,准备增加一个进度条.鉴于C#不经常使用,一下子搞个进度条 ...
- VC下载文件 + 显示进度条
在codeproject里找了许久,发现这样一个VC下载文件并显示进度条的源码,于是添加了些中文注释: 1.下载线程函数: UINT DownloadFile(LPVOID pParam) { CWn ...
- 百度开源上传组件webuploader 可上传多文件并带有进度条
//上传多文件 function UploadMultiFile() { var uploader = WebUploader.create({ // 选完文件后,是否自动上传. auto: true ...
- libcurl开源库在Win32程序中使用下载文件显示进度条实例
一.配置工程引用libcurl库 #define CURL_STATICLIB #include "curl/curl.h" #ifdef _DEBUG #pragma comme ...
- Android 下载文件 显示进度条
加入两个权限 一个是联网,另一个是读写SD卡 <uses-permission android:name="android.permission.INTERNET">& ...
随机推荐
- 【线段树查询区间最值】poj 3264 Balanced Lineup
#include<cstdio> #include<algorithm> using namespace std; ; struct Seg { int l,r,mi,ma; ...
- Hubtown
Hubtown 时间限制: 10 Sec 内存限制: 256 MB 题目描述 Hubtown is a large Nordic city which is home to n citizens. ...
- 洛谷 [P1436] 反素数
算术基本定理的应用 算术基本定理: 一个正整数 \(N\) 能唯一分解成如下形式 \[N=p_1 ^ {c_1}p_2^{c_2}\cdots P_m ^ {c_m}\] 其中 \(c_i\) 都是正 ...
- hdu 1717
小数化分数2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 开始学习Objective-C
加油! 顺便试试这MarsEdit好用不~
- android获取手机号
private String getPhoneNum(){ //与手机建立连接 TelephonyManager tm = (TelephonyManager)getSystemService(Con ...
- android 服务
1.创建服务 Exported:是否允许除了当前程序之外的其他程序访问这个服务 Enable:是否启用这个服务 点击完成后自动生成 import android.app.Service; import ...
- codevs——1958 刺激
1958 刺激 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description saffah的一个朋友S酷爱滑雪,并且追求刺 ...
- [Bzoj5043][Lydsy1709月赛]密码破译(按位dp)
5043: [Lydsy1709月赛]密码破译 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 477 Solved: 125[Submit][Sta ...
- MFC中的几种播放声音的方法
一.播放声音文件的简单方法 在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数.利用这些函数可以方便地播放声音.最简单的播放声音方法就是直接调用VC++中提供的声音播放函 数BOOL s ...