通过 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. bzoj1584 [Usaco2009 Mar]Cleaning Up 打扫卫生 动态规划+思维

    Description 有N头奶牛,每头那牛都有一个标号Pi,1 <= Pi <= M <= N <= 40000.现在Farmer John要把这些奶牛分成若干段,定义每段的 ...

  2. 服务器内部转发forward,action到action

    如果request.getRequestDispatcher();中不是页面而是传action的话,参考以下内容修改: web.xml 2.4版本里,默认的filter只拦截request. 如果使用 ...

  3. request response session的常用方法

    .request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例. 序号 方 法 说 明 1 object ...

  4. 大数(bzoj 4542)

    /* 想了半天莫队,不知道咋转移,需要动下脑子. 有一个很显然的结论是如果(l,r)是P的倍数,那么s[l...n]%P=s[r+1...n]%P. 根据这个东西,我们预处理出所有的后缀%P的余数,接 ...

  5. DP的序--Codeforces956E. Wardrobe

    $n \leq 10000$个盒子,有高度,高度总和$\leq 10000$,盒子有重要的和不重要的,问最多有多少重要盒子的底端在区间$[L,R]$. 这是个入门级的DP,但需要一点胆量MD这题能放D ...

  6. msp430项目编程60

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

  7. 解决U3D4.1.5或以上无法启动MONODEV的方法

    通常会报这样的错误 System.EntryPointNotFoundException: Unable to find an entry point named 'gtksharp_list_get ...

  8. EGO V2

    Original EGO: mkdir -p ~/Library/Developer/Xcode/UserData/FontAndColorThemes; cd ~/Library/Developer ...

  9. 迁移桌面程序到MS Store(8)——通过APPX下载Win32Component

    在上一篇<迁移桌面程序到MS Store(7)——APPX + Service>中,我们提到将desktop application拆分成UI Client+Service两部分.其中UI ...

  10. OpenCV、PCL;Xtion、kinect;OpenNI、kinect for windows SDK比较

    一.对比介绍: 1. OpenCV:开源跨平台,OpenCV于1999年由Intel建立,如今由Willow Garage提供支持. 2. OpenNI:OpenNI组织创建于2010年11月.主要成 ...