Что нового

Почему не работает условие IF?

sterro_sasha

Новичок
Сообщения
45
Репутация
1
Скажите пожалуйста, почему простые условия - не работает.

Код:
$iWinTransCount = 255

;первый вариант
If $iWinTransCount And Not $iWinTransCount = 20 Then
    MsgBox(64, '', 'Почему не срабатывает условие?')
EndIf

;второй вариант
If Not $iWinTransCount = 20 Then
    MsgBox(64, '', 'Почему не срабатывает условие?')
EndIf
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Обзор языка - операторы

Вы не учитываете приоритет оператора Not, то есть сперва у вас выполняется "Not $iWinTransCount", а после сравнение с числом

Установите приоритет
Код:
Local $iWinTransCount = 255

;первый вариант
If $iWinTransCount And Not ($iWinTransCount = 20) Then
    MsgBox(64, '', 'Почему не срабатывает условие?')
EndIf

;второй вариант
If Not ($iWinTransCount = 20) Then
    MsgBox(64, '', 'Почему не срабатывает условие?')
EndIf


Но лучше будет использовать оператор не равно
Код:
Local $iWinTransCount = 255

;первый вариант
If $iWinTransCount And $iWinTransCount <> 20 Then
    MsgBox(64, '', 'Почему не срабатывает условие?')
EndIf

;второй вариант
If $iWinTransCount <> 20 Then
    MsgBox(64, '', 'Почему не срабатывает условие?')
EndIf
 
Верх