[已解决]如何输入数字0进入无限循环
本帖最后由 731106 于 2011-4-19 23:12 编辑输入一个数字,如果为正整数,就循环几次,如果为0,就进入无限循环,为0进入无限循环应该怎么写?#include <GUIConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("test", 247, 158)
$Label2 = GUICtrlCreateLabel("数字:", 24, 56, 31, 17)
$Password = GUICtrlCreateInput("", 72, 54, 169, 21, $ES_NUMBER)
GUICtrlSetState(-1, $GUI_FOCUS)
$Button1 = GUICtrlCreateButton("确定", 80, 112, 89, 33)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Password
GUICtrlSetState($Button1, $GUI_FOCUS)
Case $Button1
$gs = GUICtrlRead($Password)
ExitLoop
EndSwitch
WEnd
For $i = 1 To $gs
MsgBox(0, "Date", $gs)
Next 加个判断就行了吧!
GUICreate('Test', 250, 180)
$Input1 = GUICtrlCreateInput('', 50, 50, 100, 21, 0x2000)
$Button1 = GUICtrlCreateButton('确定', 150, 48, 50, 25)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
Case $Button1
$iNumber = GUICtrlRead($Input1)
If $iNumber = 0 Then
While 1
MsgBox(0, '', '无限循环')
WEnd
Else
For $i = 1 To $iNumber
MsgBox(0, '', $i)
Next
EndIf
EndSwitch
WEnd 加个判断不就可以了?这种要求,一般不要用for,用while或do..Until都可以。
$iNum = Number(GUICtrlRead($Password))
For $i = 1 To $iNum + Number($iNum = 0) Step Number($iNum <> 0)
MsgBox(0, "", $i)
Next 加个判断就行了吧!
水木子 发表于 2011-4-19 22:35 http://www.autoitx.com/images/common/back.gif
这样加判断可是可以,但是如果我判断以后的代码很长的话,那就会造成代码重复太多了,也就是说,IF之后的内容和ELSE之后的内容如果很多的话,而且又是一样,那就重复太多了,有没有更好的办法啊?谢谢
pusofalse 发表于 2011-4-19 22:49 http://www.autoitx.com/images/common/back.gif
这个太厉害了,就这种办法了,还没回好水木的,就又跳出个高手,万分感谢 是啊!P版很强哦,向他学习吧! 瞻仰P版,有种跳出三界外,不在五行中的意思 不错呀 很好
页:
[1]