liuyilun 发表于 2016-11-21 16:18:05

如何更简单的调用名字类似的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()

lin6051 发表于 2016-11-22 13:12:46

while 1
set1()
set2()
...
wend

heroxianf 发表于 2016-11-22 13:20:53

是要 每隔一段时间调用一次?

liuyilun 发表于 2016-11-22 13:41:50

本帖最后由 liuyilun 于 2016-11-22 13:43 编辑

回复 3# heroxianf


可能是我的说法有问题 ,主要是想有个简便的方式调用set1()到set8(),而不是一个一个的调用
比如:
For $i=1 To 8
      set[$i]()
Nxet
这样,但是没有这种语法

heroxianf 发表于 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

afan 发表于 2016-11-22 14:20:58

不考虑代码迷惑之类的二次整理代码的话,可直接使用 Eval()、Call() 这类函数解决

For $i=1 To 8
      Call('set' & $i)
Nxet

liuyilun 发表于 2016-11-22 14:23:08

本帖最后由 liuyilun 于 2016-11-22 14:33 编辑

回复 5# heroxianf


    谢谢,一直是直接用set1()的,忘了还有Call,那第二个问题呢?
    case怎么用变量?可以直接创建复选框的时候用数组创建吗?$Checkbox这样?

heroxianf 发表于 2016-11-22 14:38:20

回复 7# liuyilun

这个问题你就参考这里,A大讲的很详细了。
    http://www.autoitx.com/thread-52096-1-1.html

liuyilun 发表于 2016-11-22 14:45:47

回复 8# heroxianf


    谢谢
页: [1]
查看完整版本: 如何更简单的调用名字类似的Func[已解决]