String 从AHK中的文本文件中分离和比较字符串

String 从AHK中的文本文件中分离和比较字符串,string,loops,user-interface,autohotkey,String,Loops,User Interface,Autohotkey,我遇到了一个小问题,但我觉得离解决它很近了。我有一个文本文件,其中用户名和密码用管道隔开: ;info.txt user1|pass1 user2|pass2 user3|pass3 user4|pass4 user5|pass5 user6|pass6 user7|pass7 user8|pass8 user9|pass9 user10|pass10 下面是代码: Gui, -SysMenu Gui, Add, Button, , Log in getUsers() Gui, Add, Bu

我遇到了一个小问题,但我觉得离解决它很近了。我有一个文本文件,其中用户名和密码用管道隔开:

;info.txt
user1|pass1
user2|pass2
user3|pass3
user4|pass4
user5|pass5
user6|pass6
user7|pass7
user8|pass8
user9|pass9
user10|pass10
下面是代码:

Gui, -SysMenu
Gui, Add, Button, , Log in
getUsers()
Gui, Add, Button, , Exit
Gui, Show
Return


getUsers()
{
    userList := ""
    loop
    {

        FileReadLine, line, info.txt, %A_Index%
        if ErrorLevel
            Break
        getUsers := StrSplit(line, "|")
        userList .= getUsers[1] "|"

    }

    Gui, Add, ListBox, h100 vChoice, %userList%
}

ButtonLogin:
MsgBox, You chose %Choice%.
Gui, Submit, NoHide
Return

ButtonExit:
ExitApp
Return 
我使用StrSplit()将用户与Pass分开,然后对用户进行分隔,使其成为列表框的正确格式。一切加载都很好,但当我从列表中选择一个并点击“登录”时,第一个没有给我任何结果,然后正确的结果会延迟一个。例如:

Click user1 > You chose .
Click user5 > you chose user1.
Click user3 > you chose user5.

另外,如果有人有更好的方法,请告诉我。

啊,我找到了。这是一个问题:

ButtonLogin:
MsgBox, You chose %Choice%.
Gui, Submit, NoHide
Return
MsgBox发生在提交之前。固定的:

ButtonLogin:
Gui, Submit, NoHide
MsgBox, You chose %Choice%.
Return
如果您的问题已经解决,请接受您自己的答案。