找回密码
 加入
搜索
查看: 4862|回复: 10

[AU3基础] 依次调用自定义函数并及时显示结果?

 火.. [复制链接]
发表于 2012-12-30 14:12:04 | 显示全部楼层 |阅读模式
请问怎么依次调用自定义函数
是这样的
For $Mun = 8 To 1 Step -1
        Tip()
        Wallpaper()
        finish()
        Sleep(1000)
        ToolTip(@CR & $tip & @CR, @DesktopWidth - 350, @DesktopHeight - 120, 正在执行: 第(" & $Mun & "/8)项 ", 1)
Next

就是想让调用的函数$tip为逐个ToolTip显示的结果或@error。
哎 菜鸟没思路
发表于 2012-12-30 14:34:00 | 显示全部楼层
用循环变量$Mun
 楼主| 发表于 2012-12-30 14:50:16 | 显示全部楼层
回复 2# veket_linux

额还是不太明白,可以有个实列么?

我可能说的不太详细,是这样的
For $Mun = 2 To 1 Step -1
        Tip()
        finish()
        ...
;        Sleep(3000)
        ToolTip(@CR & $tip & @CR, @DesktopWidth - 350, @DesktopHeight - 120, "正在执行: 第(" & $Mun & "/8)项 ", 1)
Next
我想用 $tip  来显示运行后每个函数的结果或@error,这样就能依次显示结果了,所以先瞎写一个望高手能理解我想要的思路,谢谢,预祝大家元旦快乐!成为高手没有烦恼呵呵
发表于 2012-12-30 15:07:39 | 显示全部楼层
没看懂。。。。。
 楼主| 发表于 2012-12-30 15:22:21 | 显示全部楼层
回复 4# netegg
For $Mun = 2 To 1 Step -1
        MsgBox (0,"","")
                If @error=0 Then $tip="成功运行"
        Sleep(3000)
                ToolTip(@CR & $tip & @CR, @DesktopWidth - 350, @DesktopHeight - 120, "正在执行: 第(" & $Mun & "/2)项 ", 1)
                
                MsgBox (0,"","")
                If @error=0 Then $tip="成功OK!"
        Sleep(3000)
        ToolTip(@CR & $tip & @CR, @DesktopWidth - 350, @DesktopHeight - 120, "正在执行: 第(" & $Mun & "/2)项 ", 1)
                ...
                .....
                ......
Next
;注:第一和第七行的MsgBox (0,"","")只是代表调用的一些不同的函数或UDF,,冒号为类似的程序一直下去,所以我只是想简化...

望高手能解决
发表于 2012-12-30 15:48:05 | 显示全部楼层
回复 5# ycy
还是不太明白,把代码贴全些
发表于 2012-12-30 18:01:09 | 显示全部楼层
For $i = 8 To 0 Step -1
ToolTip (A(),'','',$i) 
Sleep(1000)
Next
func A()
Return @MSEC
endfunc
发表于 2012-12-30 18:17:53 | 显示全部楼层
回复 1# ycy
Global $work, $tip

For $Mun = 1 To 2 Step 1
        $tip = '当前为第' & $Mun & '次循环'
        Tip()
                _Msg(@error)
                Sleep(2000)
        finish()
                _Msg(@error)
                Sleep(2000)
        ;...
        ToolTip(@CR & $tip & @CR, @DesktopWidth - 350, @DesktopHeight - 120, "正在执行: 第(" & $Mun & "/8)项 ", 1)
        Next
        

Func Tip()
        $work = 1
EndFunc

Func finish()
        $work = 2
        Return SetError(1, 0, $work)
EndFunc

        
Func _Msg($eCoce)
        If $eCoce Then
                ToolTip(@CR & $tip & @CR, @DesktopWidth - 350, @DesktopHeight - 120, "执行第 " & $work & " 个函数出错了.", 1)
        Else
                ToolTip(@CR & $tip & @CR, @DesktopWidth - 350, @DesktopHeight - 120, "执行第 " & $work & "个函数成功. ", 1)
        EndIf
EndFunc
发表于 2012-12-31 20:21:36 | 显示全部楼层
回复 3# ycy
$tip是从什么地方蹦出来的
发表于 2012-12-31 20:22:39 | 显示全部楼层
本帖最后由 netegg 于 2012-12-31 20:47 编辑

[au3]For $Mun = 2 To 1 Step -1
        func1()
        If @error = 0 Then showtip("成功运行", $Mun)
        func2()
        If @error = 0 Then showtip("成功OK!", $Mun)
Next
Func showtip($i, $y)
        ToolTip(@CR & $i & @CR, @DesktopWidth - 350, @DesktopHeight - 120, "正在执行: 第(" & $y & "/2)项 ", 1)
        Sleep(3000)
endfunc
[/au3]
这个意思?
发表于 2013-1-10 16:59:37 | 显示全部楼层
本帖最后由 shqf 于 2013-1-10 18:39 编辑

"$tip  来显示运行后每个函数的结果或@error","依次显示结果",‘第(" & $Mun & "/8)项 "’
从楼主如上的片断语言中,似乎理解了楼主的意思,但只是猜呵。
既然要依次显示每项函数运行的结果,就不要用循环,如循环了,会多次地依次执行Wallpaper()、finish()那几个函数。
依次地运行函数并显示其结果,就达到了楼主的目的。
代码大概如下(仅表示思路,不能执行):
Local $tip,$Mun = 0

Wallpaper()
Tip()
Sleep(3000)

finish()
Tip()
Sleep(3000)
......

Func Wallpaper()
        ......
        If <表达式成立> Then
                $tip = "成功"
        Else
                $tip = @error
        EndIf
        Return $tip
EndFunc   ;==>Wallpaper

Func finish()
        ......
        If <表达式成立> Then
                $tip = "成功"
        Else
                $tip = @error
        EndIf
        Return $tip
EndFunc   ;==>finish

Func Tip()
        $Mun = $Mun + 1
        ToolTip(@CR & $tip & @CR, @DesktopWidth - 350, @DesktopHeight - 120, "正在执行: 第(" & $Mun & "/8)项 ", 1)
EndFunc   ;==>Tip
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 20:14 , Processed in 0.166154 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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