复制一个600M的大文件时,怎样显示进度条?
当复制几个文件时,可以按照文件的总数和已复制的文件数量,将就进度条显示成从 0% ~ 100% 逐渐变化的样子。可是,当仅复制一个几百兆的大文件时,该如何让进度条显示成从 0% ~ 100% 逐渐变化的样子呢?
请前辈们帮我一下!谢谢!谢谢!:face (36):
[ 本帖最后由 hpdeskjet 于 2008-9-9 23:15 编辑 ] 检测目标文件大小,返回值与源文件的比值 是不是用 FileGetSize( )这个函数检测?
我先手工从F盘复制一个几百兆的电影到D盘,windows复制窗口显示大概需要1分钟的时间。
在这段时间里文件是没有复制完成的,可是用 FileGetSize( )函数检测目标文件,返回的文件大小总是与源文件相同!郁闷~~劳烦前辈再帮我想想办法~~ 请参阅已解决问题区,谢谢!
http://www.autoitx.com/forum.php?mod=viewthread&tid=1964 原帖由 skyfree 于 2008-8-8 11:39 发表 http://www.autoitx.com/images/common/back.gif
请参阅已解决问题区,谢谢!
http://www.autoitx.com/forum.php?mod=viewthread&tid=1964
7猫那个运行出错。 VBS的呢? 原帖由 顽固不化 于 2008-8-8 12:26 发表 http://www.autoitx.com/images/common/back.gif
7猫那个运行出错。
我正在用,没问题,仔细检查一下 原帖由 sanhen 于 2008-8-8 14:09 发表 http://www.autoitx.com/images/common/back.gif
VBS的呢?
VBS的可以的,复制文件时,_DirCopy($SourceDir,$Destdir) ,第一个可以是源文件,第二个是目标目录,而不是重命名的新文件名。
原帖由 skyfree 于 2008-8-8 14:39 发表 http://www.autoitx.com/images/common/back.gif
我正在用,没问题,仔细检查一下
有点小问题吧。似乎要分析原文件结构什么的,复制个30M的RAR文件还是报错,好像对7z、RAR压缩文件不感冒。
如果顺利copy,高手们的源码都能使windows的copy对话框出现。 非常感谢前辈们的这个方法,用SHELL对象来实现的确很简单,很好用!如果是用AU3的进度条控件,是否也能实现像SHELL对象复制文件时出现的进度条的样子,即便只复制一个大文件,也能渐进的显示 0%~100% 的进度?
当网速或者是机器的速度不一样时,用SHELL对象从服务器上复制个电影到本地机器,进度条显示的速度是不一样的!我觉得“顽固不化”前辈的思路比较对,检测目标文件与源文件的大小差多少,这样不管机器环境怎么样,进度条都能比较准确的显示出进度来。但是就是不知道AU3有什么函数能够检测出正在复制的文件实际已经复制了多少,FileGetSize() 肯定不行,它检测目标文件时,不管复制进程有没有结束,返回的目标文件的大小都与源文件一样。
我在写一个从局域网服务器复制电影到本地客户机的程序,想在程序界面内使用自己的进度条,不想使用SHELL对象来实现复制,因为那样会出现windows的复制文件对话框。
再次劳烦大家帮帮我,感激不尽!:face (36): 如从网络复制的话可以使用
InetGet 、InetGetsize函数来下载服务器文件,
下载过程中可以使用@InetGetBytesRead宏获取当前下载文件的字节,这样就可以实现文件下载进度条; AMU写过一个自动更新游戏的,调用了fastcopy,可以参考 问题已解决!感谢deniro前辈!! 不是很懂! 我喜欢fastcopy ksks.....................................
页:
[1]
2