2016-10-25 7 views
-4

Я просто хочу запустить цикл в autoit, где, если я возьму любой номер, тогда код не будет выполнен. Код ниже ,В случае If Else, если какое-либо число было принято тогда, оно будет показывать error.how будет сделано в AUTOIT

If $Number($read, "")Then 

;We have it, display the message. 

MsgBox($MB_SYSTEMMODAL, "", "The following values were converted to a numeric value:" & @CRLF & _ 
     $Number) 

Else 
;Get Existing Data of edit 
$read2 = GUICtrlRead($hEdit) 
$text = $read2 & @CRLF & $read ; 
+1

Ваш фрагмент кода дает меньше информации. Вы используете указатель на функцию '$ Number', но мы не можем видеть, что делает эта функция. Я не уверен, что должен делать ваш код. – McBarby

ответ

0

Я не уверен на 100%, я понимаю, что вам нужно, но у меня есть идея.

Если я правильно понял, вы хотите проверить, является ли значение числом, и выполнить код, если это НЕ. Я прав? Если это так, лучшим способом сделать это, я считаю, было бы использование функции IsNumber(). Например:

$testVar = 1 
If NOT (IsNumber($testVar)) Then 
    MsgBox(0,"Title","This code will not execute as the variable's a number.") 
Else 
    MsgBox(0,"Title","This code WILL execute since the variable is a number.") 
EndIf 

$testVar2 = "String" 
If NOT (IsNumber($testVar2)) Then 
    MsgBox(0,"Title","This code WILL execute since the variable is NOT a number.") 
Else 
    MsgBox(0,"Title","This code will not execute as the variable's NOT a number.") 
EndIf 

Если я НЕ понял правильно, то не обращайте внимания на все, что я только что сказал.

Имейте в виду, что если $ testVar - это число, но это число в кавычках, оно будет признано как строка и будет выполняться, поскольку оно не является числом.

Я надеюсь, что это помогло !,

Tim