找回密码
 加入
搜索
查看: 2000|回复: 8

[AU3基础] 如何更简单的调用名字类似的Func[已解决]

  [复制链接]
发表于 2016-11-21 16:18:05 | 显示全部楼层 |阅读模式
本帖最后由 liuyilun 于 2016-11-22 15:07 编辑

现在有set1()到set8(),一共8个func
1、怎么才能更简单的调用这8个func呢?
比如:
For $i=1 To 8
      set[$i]()
Nxet
这样,但是没有这种语法

2、还有就是下面这个switch怎么改简单点?
                Case $Checkbox1
                        set1()
                Case $Checkbox2
                        set2()
                Case $Checkbox3
                        set3()
                Case $Checkbox4
                        set4()
                Case $Checkbox5
                        set5()
                Case $Checkbox6
                        set6()
                Case $Checkbox7
                        set7()
                Case $Checkbox8
                        set8()
发表于 2016-11-22 13:12:46 | 显示全部楼层
while 1
set1()
set2()
...
wend
发表于 2016-11-22 13:20:53 | 显示全部楼层
是要 每隔一段时间调用一次?
 楼主| 发表于 2016-11-22 13:41:50 | 显示全部楼层
本帖最后由 liuyilun 于 2016-11-22 13:43 编辑

回复 3# heroxianf


可能是我的说法有问题 ,主要是想有个简便的方式调用set1()到set8(),而不是一个一个的调用
比如:
For $i=1 To 8
      set[$i]()
Nxet
这样,但是没有这种语法
发表于 2016-11-22 14:09:50 | 显示全部楼层
本帖最后由 heroxianf 于 2016-11-22 14:12 编辑

回复 4# liuyilun

你这样写,就可以按照2楼的顺着写下来,何必去循环走一波呢。如果要代码简洁的话你试试下面的,不过我看你的有控件一样,有界面操作?

For $i = 1 To 5
        Call("set" & $i)
Next


Func set1()
        MsgBox(0, 'set1', '调用一次SET1', 1)
EndFunc   ;==>set1
Func set2()
        MsgBox(0, 'set2', '调用一次SET2', 1)
EndFunc   ;==>set2
Func set3()
        MsgBox(0, 'set3', '调用一次SET3', 1)
EndFunc   ;==>set3
Func set4()
        MsgBox(0, 'set4', '调用一次SET4', 1)
EndFunc   ;==>set4
Func set5()
        MsgBox(0, 'set5', '调用一次SET5', 1)
EndFunc   ;==>set5
发表于 2016-11-22 14:20:58 | 显示全部楼层
不考虑代码迷惑之类的二次整理代码的话,可直接使用 Eval()、Call() 这类函数解决

For $i=1 To 8
      Call('set' & $i)
Nxet
 楼主| 发表于 2016-11-22 14:23:08 | 显示全部楼层
本帖最后由 liuyilun 于 2016-11-22 14:33 编辑

回复 5# heroxianf


    谢谢,一直是直接用set1()的,忘了还有Call,那第二个问题呢?
    case怎么用变量?可以直接创建复选框的时候用数组创建吗?$Checkbox[1]这样?
发表于 2016-11-22 14:38:20 | 显示全部楼层
回复 7# liuyilun

这个问题你就参考这里,A大讲的很详细了。
    http://www.autoitx.com/thread-52096-1-1.html
 楼主| 发表于 2016-11-22 14:45:47 | 显示全部楼层
回复 8# heroxianf


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

本版积分规则

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

GMT+8, 2024-12-25 12:21 , Processed in 0.078659 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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