本帖最后由 annybaby 于 2013-1-15 11:42 编辑
回复 1# CCM
这句
$array = StringSplit($value, ",")
感觉使用StringSplit来判断不是个好主意(最起码,StringInStr也比它稍微好一点,至少更易理解^_^),如果你一定要用它来判断字符串中有逗号,应该是要判断$array[0]是否大于1
其次,就算是包含了逗号,也不见得输入就是合法的
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;下面的代码也不是很严谨,如果有必要,你可以再判断数组元素的内容是否合法,下面是给一个示例,可以照此优化;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;你原版改的
Do
$value = InputBox("輸入座標", "請輸入座標 (以逗號分隔): ")
If @error Then Exit
$array = StringSplit($value, ",")
If Not StringRegExp($value,'\d+,\d+',0) Then MsgBox(0, "輸入錯誤", "請以逗號分隔輸入", 1)
Until StringRegExp($value,'\d+,\d+',0)
MsgBox(0, "", $array[1])
MsgBox(0, "", $array[2])
;我认为代码短一点的:
Do
$value = InputBox("輸入座標", "請輸入座標 (以逗號分隔): ")
If @error Then Exit
Until StringRegExp($value,'\d+,\d+',0)
$array = StringRegExp($value,'\d+',3)
MsgBox(0, "", $array[0]&@LF&$array[1])
|