通过 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. dockerfile各种命令解析

    1.ADD命令,如果ADD的是压缩包,ADD之后会自动进行解压.....

  2. 蜥蜴 BZOJ 1066

    蜥蜴 [问题描述] 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外. 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平面距 ...

  3. msp430项目编程53

    msp430综合项目---扩展项目三53 1.电路工作原理 2.代码(显示部分) 3.代码(功能实现) 4.项目总结

  4. 数据库数据导出CSV文件,浏览器下载

    直接上代码: def download(request): # 从数据库查询数据 data_list = Info.objects.all() # 定义返回对象 response = HttpResp ...

  5. IIS Express 的怪毛病 vs2013本机调试

    本机调试时,如果同一个项目有多个版本,同时debug,可能会串项目调试,造成不必要的困扰: 通常情况下是 IIS express的映射出现了问题: 解决方案: 1.打开目录:查看文件C:\Users\ ...

  6. android EditText禁止复制粘贴完整代码

    <!-- 定义基础布局LinearLayout --> <LinearLayout xmlns:android="http://schemas.android.com/ap ...

  7. 【spring boot】注解@ApiParam @PathVariable @RequestParam三者区别

    1.@ApiParam,就是用于swagger提供开发者文档,文档中生成的注释内容. @ApiOperation( value = "编辑公告", notes = "编辑 ...

  8. iOS开发 浅见runloop

    Runloop是线程相关的的基础框架的一部分.一个 run loop 就是一个事件处理 的循环,用来不停的调度工作以及处理输入事件. 使用Runloop的目的是让线程有任务时去处理,没任务就让它处于休 ...

  9. linux字符设备驱动程序框架(老方法)

    #include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> #inclu ...

  10. 增强版的RecycleViewAdapter,能够直接使用

    在Android的项目中.须要大量的列表组件来显示数据.在之前的项目中一直使用的是ListView 组件,可是在最新的V7包中出现了能后替代ListView的组件RecycleView. 所以在新的项 ...