请教怎么自动分段输入序列号?形如xxxx-xxxx
如图,我想实现,在输入CD-KEY的时候,每输入5个字符光标就自动切换到下一文本框,请问怎么现实。[ 本帖最后由 assassin 于 2008-5-12 13:44 编辑 ] 还是不太明白,请回答的具体一点好吗?最好给出代码,谢谢 谢谢您的解答,现在的问题是不知道怎么调用,或是什么时候调用
比如HTML里可以用OnChange来调用,在Autoit里怎么调用呢? 没人知道吗?知道的请指教! 我打算在文本框内容有变化的时候调用自定义的检查函数 Opt("GUIOnEventMode", 1)
#include <GUIConstants.au3>
Global $Inp, $Chk = 0
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 525, 136, 193, 125)
GUISetOnEvent($GUI_EVENT_CLOSE, "quit")
$Inp = GUICtrlCreateInput("", 32, 56, 89, 21)
$Inp = GUICtrlCreateInput("", 128, 56, 89, 21)
$Inp = GUICtrlCreateInput("", 224, 56, 89, 21)
$Inp = GUICtrlCreateInput("", 320, 56, 81, 21)
$Inp = GUICtrlCreateInput("", 408, 56, 81, 21)
For $I = 0 To 4
GUICtrlSetLimit($Inp[$I], 5)
Next
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
If $Chk = 0 Then ChkInp()
Sleep(100)
WEnd
Func ChkInp()
Local $I
For $I = 4 To 0 Step - 1
If StringLen(GUICtrlRead($Inp[$I])) = 5 Then
If $I = 4 Then
MsgBox(0, 0, GUICtrlRead($Inp) & "-" & GUICtrlRead($Inp) & "-" & GUICtrlRead($Inp) _
& "-" & GUICtrlRead($Inp) & "-" & GUICtrlRead($Inp))
$Chk = 1
ExitLoop
EndIf
If StringLen(GUICtrlRead($Inp[$I + 1])) = 0 Then
GUICtrlSetState($Inp[ $I + 1 ], $GUI_Focus)
ExitLoop
EndIf
EndIf
If $I = 0 And StringLen(GUICtrlRead($Inp[$I])) = 0 Then GUICtrlSetState($Inp[ $I ], $GUI_Focus)
Next
EndFunc ;==>ChkInp
Func quit()
Exit
EndFunc ;==>quit
不知这个能达到楼主想要的效果么?没什么间,所以没注解。如果其中的某个地方不清楚,楼主可以跟贴问我。
[
[ 本帖最后由 漠北雪~狼 于 2008-5-12 10:45 编辑 ] 谢谢,这个可以达到我的要求。 正确的序列号 没有显示出来
页:
[1]