找回密码
 加入
搜索
查看: 3321|回复: 2

[GUI管理] [已解决](谢谢republican)关于GUI、数组、动态显示的让人摸不着头脑的问题

[复制链接]
发表于 2011-5-7 13:12:43 | 显示全部楼层 |阅读模式
本帖最后由 222222 于 2011-5-7 13:30 编辑

#include <IE.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Main = GUICreate("", 269, 300, 18, 18)
$Begin = GUICtrlCreateButton("开始", 216, 12, 42, 66, $BS_DEFPUSHBUTTON)
$Name0 = GUICtrlCreateEdit("", 8, 115, 150, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$Name1 = GUICtrlCreateEdit("", 8, 140, 150, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$Name2 = GUICtrlCreateEdit("", 8, 165, 150, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Dim $NameNumber[3]
For $i = 0 To 2
        $NameNumber[$i] = "$Name" & $i
Next

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Begin
                        For $u = 0 To 2
                                GUICtrlSetData($NameNumber[$u], 999)
                        Next
        EndSwitch
WEnd


===============================
编了一段代码,想循环赋值,在三个编辑框里都显示999,但是怎么都不行。

【一个个赋值我懂,这里就是想了解下循环赋值在GUI界面显示的方法】

参考贴:http://www.autoitx.com/thread-8396-1-1.html
其中Afan 的代码中有If GUICtrlRead($s[$i1]) = 0 then GUICtrlSetData($s[$i1], 1)
的语句。

备注:我的软件版本为本论坛的AUTOIT_3.3.6.1-2
发表于 2011-5-7 13:22:09 | 显示全部楼层
回复 1# 222222

$NameNumber[$i] = "$Name" & $i

改为

$NameNumber[$i] = eval("Name" & $i)
 楼主| 发表于 2011-5-7 13:29:17 | 显示全部楼层
回复 2# republican


    谢谢!搞定了。  高手一出马,果然不一样。

我解决问题的思路也偏了,尽考虑语法上面的问题去了,没想到是数据类型的原因。

刚才还在分析http://www.autoitx.com/forum.php ... 0%CA%D3%C6%F7%2B%2B   帖子呢,里面也有类似的动态显示语句。看得我好辛苦……

===============
高手把问题解决了,我来做点增补工作,补上Eval的官方说明,为后来人做点贡献。

Eval
--------------------------------------------------------------------------------
返回字符串形式的变量的值.

Eval ( 表达式 )

参数
字符串 字符串代表的变量.

返回值
成功: 返回变量的值.
失败: 返回一个""(空字符串)并把 @error 设为非0.

注意/说明
如果有需要使用 Eval() 来读取一个变量,在大多数情况下,Assign() 应该用于创建/写入到变量和 IsDeclared() 应该用来检查变量存在.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-2 02:45 , Processed in 0.094773 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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