Что нового

Сложение через or

Serafim

Новичок
Сообщения
10
Репутация
0
Подскажите, в чем ошибка, требуется чтобы исполнялось какое либо действие, при условии если переменная $Inputblock (GUICtrlCreateInput) равна одному из несколько величин, но при использовании OR условие выполняется при любом значении $Inputblock, хотя если переменная имеет одно значение, то все правильно работает. Вот пример кода:
$Inputblock = GUICtrlCreateInput
If GUICtrlRead($Inputblock) = 52466544 or 6847987 or 7464644262 or 2552444 or 6516146 Then ...
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Код:
$Inputblock = GUICtrlCreateInput 
If ((GUICtrlRead($Inputblock) == 52466544)or(GUICtrlRead($Inputblock) == 6847987)or(GUICtrlRead($Inputblock) == 7464644262)or(GUICtrlRead($Inputblock) == 2552444)or(GUICtrlRead($Inputblock) == 6516146)) Then ...


Код:
Local $aArray[5] = [52466544, 6847987, 7464644262, 2552444, 6516146]

$Inputblock = GUICtrlCreateInput 

For $i = 0 To UBound($aArray)-1
   If GUICtrlRead($Inputblock) == $aArray[$i] Then
		 ...
   EndIf
Next
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
Serafim [?]
Вот пример кода
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Администратор.





---Zak---
Вариант по проще:

Код:
If StringRegExp(GUICtrlRead($Inputblock), '^(52466544|6847987|7464644262|2552444|6516146)$') Then
	;...
EndIf


:whistle:
 
Верх