追梦虎 发表于 2010-1-6 10:24:36

奇怪的进度条问题

本帖最后由 追梦虎 于 2010-1-9 14:30 编辑

在我发贴之前,我己在论坛搜索了一些关于“进度条”的贴子,都是自定义或GUI的函数,长长一篇的代码,看后感觉是一知半解,当看了他们写的代码再看我自己写的,感觉有点像看完大学教授的论文,再去看小学生的作文的感觉差不多。但我想知道我自己写的代码错在哪里,还是根本是一种错误的思路,所以只好厚着脸皮上来向高手们讨教,希望看后不要见笑。我这简单的写法修改来修改去老是行不通,出现了奇怪的进度条显示。dircreate("c:\Adobe Photoshop CS4\")                                       
progresson("Adobe Photoshop CS4","正在复制Adobe Photoshop CS4","己复制0%")
dircopy("Adobe Photoshop CS4\","c:\Adobe Photoshop CS4\",1)                  
$a=dirgetsize("Adobe Photoshop CS4")
while 1
$b=dirgetsize("c:\Adobe Photoshop CS4")
$x=ceiling($b/$a*100)
if$x<100 then
progressset($x,"已复制"&$x&"%")
elseif $x=100 then
progressoff()
msgbox(0,"","复制完成",2)
exitloop
EndIf
wend当我运行脚本时,出现进度条老是为0,不向前滚动,但复制完后,会提示“复制完成”的对话框。如图1

但当我删掉dircopy("Adobe Photoshop CS4\","c:\Adobe Photoshop CS4\",1)自动复制的代码时,自己手动从源位置复制目标位置时,进度条能从0滚动到100,再显示“复制完成”的对话框。实在不解为什么会出现这样的情况,望高手赐教!

追梦虎 发表于 2010-1-6 10:36:16

那要有什么命令才能让它执行dircopy,不等它执行完就跳入下一句吗?

追梦虎 发表于 2010-1-6 10:50:08

嗯,好,谢谢
页: [1]
查看完整版本: 奇怪的进度条问题