找回密码
 加入
搜索
查看: 2729|回复: 6

[系统综合] MsgBox提示问题求解【已解决】

  [复制链接]
发表于 2010-10-25 10:06:26 | 显示全部楼层 |阅读模式
本帖最后由 touch_xu 于 2010-10-25 11:40 编辑

我做了一个复制文件的程序,由于文件很多,又要进行日期判断,所以很慢.
提示完了,后有很长时间的没有反应,如何做一个不消失的提示,又不影响代码继续呢,就一直到复制完,都有提示.不要GUI,我主体代码如下:
MsgBoxDJS(48, "温馨提示", "正在查找指定日期文件,请等待复制结束提示!", 2, 2)

        $sum = 0
        For $i = 1 To $FileSearch[0]
                $FileDateGet = StringLeft(FileGetTime($FileSearch[$i], 0, 1), 8)
                If $CopyTo = "" Then $CopyTo = @WorkingDir
                If $_Switch = 1 Then
                        If $FileDateGet >= $FileDate1 And $FileDateGet <= $FileDate2 Then
                                If FileCopy($FileSearch[$i], $CopyTo, 1) Then $sum += 1
                        EndIf
                ElseIf $_Switch = 0 Then
                        If $FileDateGet = $FileDate1 Or $FileDateGet = $FileDate2 Then
                                If FileCopy($FileSearch[$i], $CopyTo, 1) Then $sum += 1
                        EndIf
                EndIf
        Next
        If $sum <> 0 Then
                MsgBoxDJS(48, "温馨提示", "共复制了" & $sum & "个文件!", 3, 2)
        Else
                MsgBoxDJS(48, "温馨提示", "没有找到附合条件的文件!", 3, 2)
        EndIf

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-10-25 10:18:12 | 显示全部楼层
ProgressOn  ;这个算GUI吗?
 楼主| 发表于 2010-10-25 10:21:02 | 显示全部楼层
本帖最后由 touch_xu 于 2010-10-25 10:40 编辑

但是这个如何控制进度,也是个麻烦问题啊!大侠们帮给个例子吧
发表于 2010-10-25 10:54:59 | 显示全部楼层
Opt("GUIOnEventMode", 1)

使用事件驱动模式,看看是否可以。
发表于 2010-10-25 11:10:51 | 显示全部楼层
代码不全,猜一下。
MsgBoxDJS(48, "温馨提示", "正在查找指定日期文件,请等待复制结束提示!", 2, 2)

$sum = 0
Local $temp=0
For $i=1 To $FileSearch[0]
        $FileDateGet = StringLeft(FileGetTime($FileSearch[$i], 0, 1), 8)
        If $_Switch = 1 Then
                If $FileDateGet >= $FileDate1 And $FileDateGet <= $FileDate2 Then
                        $temp+=1
                EndIf
        ElseIf $_Switch = 0 Then
                If $FileDateGet = $FileDate1 Or $FileDateGet = $FileDate2 Then
                        $temp+=1
                EndIf
        EndIf
Next

For $i = 1 To $FileSearch[0]
        $FileDateGet = StringLeft(FileGetTime($FileSearch[$i], 0, 1), 8)
        If $CopyTo = "" Then $CopyTo = @WorkingDir
        If $_Switch = 1 Then
                If $FileDateGet >= $FileDate1 And $FileDateGet <= $FileDate2 Then
                        ;If FileCopy($FileSearch[$i], $CopyTo, 1) Then $sum += 1
                        $sum+=1
                        ToolTip("正在复制"&$FileSearch[$i]&@CRLF&"总进度:"&$sum/$temp*100&"%",@DesktopWidth-100,@DesktopHeight-100)
                        FileCopy($FileSearch[$i], $CopyTo, 1))                
                EndIf
        ElseIf $_Switch = 0 Then
                If $FileDateGet = $FileDate1 Or $FileDateGet = $FileDate2 Then
                        If FileCopy($FileSearch[$i], $CopyTo, 1) Then $sum += 1
                EndIf
        EndIf
Next
If $sum <> 0 Then
        MsgBoxDJS(48, "温馨提示", "共复制了" & $sum & "个文件!", 3, 2)
Else
        MsgBoxDJS(48, "温馨提示", "没有找到附合条件的文件!", 3, 2)
EndIf

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-10-25 11:40:10 | 显示全部楼层
感谢大侠们,感谢3mile ,有这句就好了
ToolTip("正在复制"&$FileSearch[$i]&@CRLF&"总进度:"&$sum/$temp*100&"%",@DesktopWidth-100,@DesktopHeight-100)
谢谢
发表于 2010-10-25 15:01:30 | 显示全部楼层
好贴,对菜菜来说很好。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-23 09:33 , Processed in 0.100020 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表