通过 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事件)的更多相关文章

  1. idhttp post 上传或下载时显示进度条

    通过 idhttp 带进度条上传演示一下,下载和上传原理差不多,说明一下下面例子中的的idhttp 是动态创建的 第一步:添加一个StatusBar或者gauge 进度条,这2个都可以.我用的是 st ...

  2. VC下载文件显示进度条

    VC下载文件显示进度条 逗比汪星人2009-09-18上传   by Koma http://blog.csd.net/wangningyu http://download.csdn.net/deta ...

  3. 【转】C#中使用aria2c进行下载并显示进度条

    [转自] C#中使用aria2c进行下载并显示进度条 - 云平台知识库 - 博客园https://www.cnblogs.com/littlehb/p/5782714.html 正则表达式的生成网站: ...

  4. Spring MVC 上传、下载、显示图片

    目录 1. 准备工作 1.1 数据库表准备 1.2 实体类 User 和 Mapper(DAO) 1.3 pom.xml 依赖包 1.4 SSM 框架的整合配置 2. 控制器 UserControll ...

  5. C#调用耗时函数时显示进度条浅探

    最近在做一个VSS日志分析工具,使用C#进行开发,在完成了所有功能后,发现,从服务器下载VSS日志非常耗时,因为此,导致工具使用体验不好,所以,准备增加一个进度条.鉴于C#不经常使用,一下子搞个进度条 ...

  6. VC下载文件 + 显示进度条

    在codeproject里找了许久,发现这样一个VC下载文件并显示进度条的源码,于是添加了些中文注释: 1.下载线程函数: UINT DownloadFile(LPVOID pParam) { CWn ...

  7. 百度开源上传组件webuploader 可上传多文件并带有进度条

    //上传多文件 function UploadMultiFile() { var uploader = WebUploader.create({ // 选完文件后,是否自动上传. auto: true ...

  8. libcurl开源库在Win32程序中使用下载文件显示进度条实例

    一.配置工程引用libcurl库 #define CURL_STATICLIB #include "curl/curl.h" #ifdef _DEBUG #pragma comme ...

  9. Android 下载文件 显示进度条

    加入两个权限 一个是联网,另一个是读写SD卡 <uses-permission android:name="android.permission.INTERNET">& ...

随机推荐

  1. BZOJ4199 [Noi2015]品酒大会 【后缀数组 + 单调栈 + ST表】

    题目 一年一度的"幻影阁夏日品酒大会"隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发"首席品 酒家"和"首席猎手"两个奖项,吸 ...

  2. VMware---之网卡设置

    闲来无事,扯点皮,详细说下NAT配置过程 NAT全称Network Address Translation网络地址转换,顾名思义,配置的重点也是地址转换. 步骤1.配置局域网段及网关 打开vmware ...

  3. 【BZOJ3143】【HNOI2013】游走 && 【BZOJ3270】博物馆 【高斯消元+概率期望】

    刚学完 高斯消元,我们来做几道题吧! T1:[BZOJ3143][HNOI2013]游走 Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小 ...

  4. linux 内核源码arch/ 目录的前世今生

    历史的痕迹:在最新的linux-2.6.31/arch/arm/文件夹下,仍然保留Linux最初向ARM处理器移植的痕迹,最初的移植由黑客完成,在老的移植的代码文件的头部保留着黑客的名字:最初的ARM ...

  5. I.Tower Defense

    给你p个重塔,q个轻塔,把这些塔放在n*m的图中,这些塔会相互攻击同行同列的,轻塔不能受到攻击,重塔能承受一个塔的攻击, 问放的方法数. 先假定n < m. 可以先枚举放轻塔的个数为s,显然,方 ...

  6. HDU_4770 Lights Against Dudely 状压+剪枝

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4770 Lights Against Dudely Time Limit: 2000/1000 MS ( ...

  7. Codeforces 837 E Vasya's Function

    Discription Vasya is studying number theory. He has denoted a function f(a, b) such that: f(a, 0) =  ...

  8. springboot启动报异常,Failed to load property source from location 'classpath:/application.yml'

    学习springboot,在启动时抛出下图异常 往下看异常信息,找到异常的具体位置 找到application.yml文件的对应位置,发现params配置前面多了空格 去掉空格重新启动,可以了 写代码 ...

  9. Spark学习(三): 基本架构及原理

    Apache Spark是一个围绕速度.易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一,与Hadoop和St ...

  10. getpixel 取色

    HWND hwnd = ::FindWindow(NULL,"<天龙八部OL>"); CRect rect; CString strTmp; if (hwnd != N ...