xyx115 发表于 2015-10-9 16:19:06

[已解决]关于变量的定义名称,能否使用变量?提示语法错误,请教如何处理

本帖最后由 xyx115 于 2015-10-9 22:56 编辑


Local $size
For $i = 1 To 3 Step +1
        For $j = 1 To 3 Step +1
                Local $size[$j]="这是第"& $i &"次出现"
                MsgBox(0,$j,$size[$j])
        Next
Next
这段代码中,提示error: syntax error
如果把$size[$j]改为$size,则正确。
有时候需要定义大量的名称。如$size1,$size2,$size3,。。。。。。
使用循环无疑是最好的办法。但是不知道方法!请教有什么办法吗?

感谢A大的帮助,问题已经完美解决。解决后的代码如下:
d_1()
d_2()

Func d_1()
;==================================================A大的方法
      Global $i, $j, $size, $x = -1
      For $i = 1 To 3
                For $j = 1 To 3
                        $x += 1
                        $size[$x] = "这是第 " & $i & " - " & $j & " 次出现"
                        ;   MsgBox(0, '', $size[$x])
                Next
      Next
;===================================================我的方法
      Global $a = [ _
                        ["句柄名称A", 1, 2, 3], _
                        ["句柄名称B", 4, 5, 6], _
                        ["句柄名称C", 7, 8, 9]]
      For $b = 0 To 2 Step +1
                $a[$b] = $a[$b] & $a[$b] & $a[$b]
                ;MsgBox(0,$a[$b],$a[$b])
      Next
EndFunc   ;==>d_1

Func d_2()
      MsgBox(0, 0, $size);A大的方法
      MsgBox(0, 0, $a);我的方法
EndFunc   ;==>d_2

afan 发表于 2015-10-9 17:07:40

Local $i, $j, $size, $x = -1
For $i = 1 To 3
        For $j = 1 To 3
                $x += 1
                $size[$x] = "这是第 " & $i & " - " & $j & " 次出现"
                MsgBox(0, '', $size[$x])
        Next
Next

xyx115 发表于 2015-10-9 22:38:31

本帖最后由 xyx115 于 2015-10-9 22:48 编辑


        Global $a = [ _
                        ["句柄名称A",1,2,3], _
                        ["句柄名称B",4,5,6], _
                        ["句柄名称C",7,8,9]]
                        ;........可以更多,这里的“A”可以设定为自己的句柄名称......
        For $b = 0 To 2 Step +1
                $a[$b] = $a[$b] & $a[$b] &$a[$b]
                MsgBox(0,$a[$b],$a[$b])
        Next
感谢A大的帮助,回家后登陆才看到。我最后是这样解决的。如果调用句柄,我是使用类似这样写的: $Wo
这是我正在写的一段:
        Global $Wo = [ _
                        ["Wo0", "0x000000", 400, 0, 90, 556, 23, $ES_CENTER, -1, "使用帮助"], _
                        ["Wo1", "0x999999", Default, 20, 120, 556, 23, -1, -1, "1.使用帮助"], _
                        ["Wo2", "0x999999", Default, 20, 150, 556, 23, -1, -1, "2.使用帮助"], _
                        ["Wo3", "0x999999", Default, 20, 180, 556, 23, -1, -1, "3.使用帮助"], _
                        ["Wo4", "0x999999", Default, 20, 210, 556, 23, -1, -1, "4.使用帮助"], _
                        ["Wo5", "0x999999", Default, 20, 240, 556, 23, -1, -1, "5.使用帮助"], _
                        ["Wo6", "0x999999", Default, 20, 270, 556, 23, -1, -1, "6.使用帮助"], _
                        ["Wo7", "0x999999", Default, 20, 300, 556, 23, -1, -1, "7.使用帮助"], _
                        ["Wo8", "0x999999", Default, 20, 330, 556, 23, -1, -1, "8.使用帮助"], _
                        ["Wo9", "0x999999", Default, 20, 360, 556, 23, -1, -1, "9.使用帮助"]]
        For $k = 0 To 9 Step +1
                $Wo[$k] = GUICtrlCreateLabel($Wo[$k], $Wo[$k], $Wo[$k], $Wo[$k], $Wo[$k], $Wo[$k], $Wo[$k])
                GUICtrlSetColor($Wo[$k], $Wo[$k]);更改文本颜色
                GUICtrlSetFont($Wo[$k], Default, $Wo[$k]);设置文本字体
        Next

d_1()
d_2()

Func d_1()

        Global $i, $j, $size, $x = -1
        For $i = 1 To 3
                For $j = 1 To 3
                        $x += 1
                        $size[$x] = "这是第 " & $i & " - " & $j & " 次出现"
                        ;   MsgBox(0, '', $size[$x])
                Next
        Next

        Global $a = [ _
                        ["句柄名称A", 1, 2, 3], _
                        ["句柄名称B", 4, 5, 6], _
                        ["句柄名称C", 7, 8, 9]]
        ;........可以更多,这里的“A”可以设定为自己的句柄名称......
        For $b = 0 To 2 Step +1
                $a[$b] = $a[$b] & $a[$b] & $a[$b]
                ;MsgBox(0,$a[$b],$a[$b])
        Next

EndFunc   ;==>d_1

Func d_2()
        MsgBox(0, 0, $size)
        MsgBox(0, 0, $a)
EndFunc   ;==>d_2

A大的代码更好。

dabaiyun 发表于 2015-10-13 21:17:19

来学习学习,谢谢
页: [1]
查看完整版本: [已解决]关于变量的定义名称,能否使用变量?提示语法错误,请教如何处理