对于你这种要求,象楼上说得那样,如果没有精确的进度控制,那么可以采用avi来做。而如果有进度控制,那么在大数据量的情况下,在win32下,可以这么做,写在你每次循环的前面(我以前安装程序中用的)
if(::PeekMessage(&msg,NULL,0,0,PM_REMOVE)){
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}TObject *Sender = this;
if(msg.message==WM_PAINT)Form1->OnPaint(Sender);
//上面这句,就可以显示进度条等。不错,在C#中,我不知道怎么做?难道也用这些api代码,做一个unsafe的?
if(::PeekMessage(&msg,NULL,0,0,PM_REMOVE)){
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}TObject *Sender = this;
if(msg.message==WM_PAINT)Form1->OnPaint(Sender);
//上面这句,就可以显示进度条等。不错,在C#中,我不知道怎么做?难道也用这些api代码,做一个unsafe的?
让连接异步进行,让进度条不断向前移动,先每秒移动一格,到80%,之后每10秒移动1格,到90%...
总之是加速衰减的数列,总会等到完成或timeout的时候。
microsoft的 copy fiel都不能很好的实现!!!
microsoft的 copy fiel都不能很好的实现!!!
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
对于可跟踪的任务使用动态平均法进行进度条的更新;1.可大约估计一个时间:t0;2.采样传输速度:当前时刻的速度speed;3.计算剩下的任务:W;4.则计算出平均所需时间:w/speed;5.重复2,3,4步骤。而对于不可跟踪的操作,也就是说无法计算或预知剩余工作量的操作,只能使用循环指示,即只指示进行与终止两种状态。
--------------------------------------------
CSDN论坛助手很棒,希望以后更好,我坚决拥护!