如何更简单的调用名字类似的Func[已解决]
本帖最后由 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() while 1
set1()
set2()
...
wend 是要 每隔一段时间调用一次? 本帖最后由 liuyilun 于 2016-11-22 13:43 编辑
回复 3# heroxianf
可能是我的说法有问题 ,主要是想有个简便的方式调用set1()到set8(),而不是一个一个的调用
比如:
For $i=1 To 8
set[$i]()
Nxet
这样,但是没有这种语法 本帖最后由 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 不考虑代码迷惑之类的二次整理代码的话,可直接使用 Eval()、Call() 这类函数解决
如
For $i=1 To 8
Call('set' & $i)
Nxet 本帖最后由 liuyilun 于 2016-11-22 14:33 编辑
回复 5# heroxianf
谢谢,一直是直接用set1()的,忘了还有Call,那第二个问题呢?
case怎么用变量?可以直接创建复选框的时候用数组创建吗?$Checkbox这样? 回复 7# liuyilun
这个问题你就参考这里,A大讲的很详细了。
http://www.autoitx.com/thread-52096-1-1.html 回复 8# heroxianf
谢谢
页:
[1]