找回密码
 加入
搜索
查看: 1920|回复: 4

如何将一个函数作为一个参数来传递?

[复制链接]
发表于 2008-9-11 09:40:40 | 显示全部楼层 |阅读模式
现在想设计一个函数,当这个函数满足一定条件的时候执行另外一个函数,类似于下面的样子!,但是我发现,当我运行Test这个函数的时候发现无论如何它都执行Click这个函数,有没有什么方法让我运行Test(1,Click(721,215))的时候不执行Click这个函数而运行类似于Test(0,Click(721,215))的时候执行Click这个函数?
Test(1,Click(721,215))

Func Test($Role,$FName)
        If $Role = 1 Then
                Exit               
        EndIf       
        call ($FName)
EndFunc
       
Func Click($x,$y)
        WinActivate("×××","")
        mouseclick("Left",$x,$y)
EndFunc
发表于 2008-9-11 14:10:28 | 显示全部楼层
最好的方法就是分开写.写成2个程序用CMDLINE调用.
发表于 2008-9-17 20:07:09 | 显示全部楼层
Test(0, "Click(721,215)")

Func Test($Role, $FName)
        If $Role = 1 Then
                MsgBox(0, "", "现在是1的状态,正在执行第一个自定义函数")
        ElseIf $Role = 0 Then
                $xa = StringSplit($FName, "(")
                $xb = StringSplit($xa[2], ",")
                Call($xa[1], $xb[1], StringTrimRight($xb[2], 1))
        EndIf
EndFunc   ;==>Test

Func Click($x, $y)
        MsgBox(4096, "", "现在是带 " &  $x & " 和 " & $y  & " 参数执行第二个自定义函数")
EndFunc   ;==>Click
发表于 2009-6-8 23:24:13 | 显示全部楼层
函数作为参数传过去。已经是面向对象编程了。AU3可以么?
发表于 2009-6-9 12:00:29 | 显示全部楼层
Execute
--------------------------------------------------------------------------------

执行一个表达式(主要用于数学求值).


Execute ( 字符串 )




参数

字符串 包含一个表达式的字符串.  



返回值

成功: 返回表达式的值.  
失败: 返回 "" (空字符串) ,并且 @error 设置为非 0.  



注意/说明

None.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 11:00 , Processed in 0.186965 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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