1007236046 发表于 2012-3-30 23:55:28

cmobobox的几个问题

本帖最后由 1007236046 于 2012-3-31 09:02 编辑

#include <GUIConstantsEx.au3>
#include <GUIComboBox.au3>
$window = GuiCreate("请登录", 500, 310)
GUISetState()
GUISetFont(14)
GUICtrlCreateLabel("用户名:", 50, 40, 80,20)
$userstring = IniRead( "config.ini", "users", "userstring", "")
$userbox = GUICtrlCreateCombo("", 140, 37, 180, 20)
GUICtrlSetData($userbox, $userstring)
_GUICtrlComboBox_LimitText($userbox, 12)
$quit = GUICtrlCreateButton("退出", 330, 200, 80, 30)
While 1
        $msg = GUIGetMsg()
        Select
                Case $msg = $GUI_EVENT_CLOSE Or $msg = $quit
                        Exit
        EndSelect
WEnd
假设我的config.ini中userstring=|user1|user2|user3|12345678901234|
我用_GUICtrlComboBox_LimitText($userbox, 12)限制了字符数量,但是config.ini中可以改到超过12个字符(12345678901234)

netegg 发表于 2012-3-30 23:57:33

这和直接要代码有什么区别

1007236046 发表于 2012-3-31 00:07:59

本帖最后由 1007236046 于 2012-3-31 08:58 编辑

好吧,我把无关的都删掉

user3000 发表于 2012-3-31 08:36:14

呵呵,我自己一直整不好了,主要是第二个问题,我用下面的代码还是有问题
$user = GUICtrlRead($userbox)
               ...
1007236046 发表于 2012-3-31 00:07 http://www.autoitx.com/images/common/back.gif

看你标题!
1楼, 3楼, 表述问题都含糊不清, 想清楚了再说话吧, 不要浪费大伙的时间!

veket_linux 发表于 2012-3-31 14:31:53

_GUICtrlComboBox_LimitText($userbox, 12)
限制的   是你从键盘输入的,不是限制从ini里读出来再GUICtrlSetData设进去的

既然你想 对 从文件里读过来的也做限制

就该 用 StringSplit("|user1|user2|user3|12345678901234|", "|")
拆开挨个检查数组各个元素的长度是否超过12
超过12个字符的剔除掉 ,把小于等于12个字符的留下重组成
一串新的字符给 GUICtrlSetData
页: [1]
查看完整版本: cmobobox的几个问题