Логические операторы VB

Логические операторы VB. 

В Visual Basic можно выделить пять основных и важных логических операторов: And, Or, Not, Xor и Eqv. Роль каждого из них я сейчас и попытаюсь объяснить! 

Итак, And! 

Это, наверное, самый простой и нужный логический оператор среди других. 

Help: 

Возвращает результат конъюнкции (логического И) для двух выражений. 

Синтксис: 

результат = выражение1 And выражение2 

Т.е. результат будет истинным только в том случае, когда истинны выражение1 И выражение2. Возвращаемые оператором значения представлены в следующей таблице: 

выражение1 

выражение2 

результат

True

True

True

True

False

False

True

Null

Null

False

True

False

False

False

False

False

Null

False

Null

True

Null

Null

False

False

Null

Null

Null

А теперь маленький пример: 

Представим себе, что переменные User_Has_Computer и User_Has_Car объявлены как булевы значения и в процессе каких-нибудь действий приняли значения либо True либо False. Вы устанавливаете условие, проверяющие эти значения: 

Мы же сэмулируем это сами :) - впишите куда - нибудь следующие строки: 

Dim User_Has_Computer As Boolean 

Dim User_Has_Car As Boolean 

User_Has_Computer = True 

User_Has_Car = True 

If User_Has_Computer And User_Has_Car Then  

MsgBox "Вы счастливый человек!" 

End If 

При проверки данного условия на экран выскочит сообщение, извещающие, что пользователь счастливый человек, т.к. у него есть машинa И компьютер :-)! А теперь перед третьей или четвёртой строкой поставьте апостроф "'" - закоменнтируйте строку. Теперь одна из переменных будет False по умолчанию. Теперь сообщение НЕ выскочит, т.к. пользователь не очень счастливый, имея машину ИЛИ компьютер... 

Следующий оператор не менее простой - Or. 

Help: 

Выполняет операцию логического ИЛИ (сложения) для двух выражений. 

Синтаксис: 

результат = выражение1 Or выражение2 

Результат будет истинным только в том случае, если только одно из выражений истинно. Возвращаемые оператором значения представлены в следующей таблице:  

выражение1 

выражение1 

результат

True

True

True

True

False

True

True

Null

True

False

True

True

False

False

False

False

Null

Null

Null

True

True

Null

False

Null

Null

Null

Null

И снова маленький пример с прежними булевыми перменными User_Has_Computer и User_Has_Car, которые в процессе каких-нибудь действий приняли значения либо True либо False. 

Dim User_Has_Computer As Boolean 

Dim User_Has_Car As Boolean 

User_Has_Computer = False 

User_Has_Car = True 

If User_Has_Computer Or User_Has_Car Then  

MsgBox "Вы почти счастливый человек!" 

End If 

При проверки данного условия на экран выскочит сообщение, извещающие, что пользователь почти счастливый человек, т.к. у него есть машинa, но нет компьютера :-|... 

Оператор Not. 

Help: 

Выполняет над выражением операцию логического отрицания. 

Синтаксис: 

результат = Not выражение 

Т.е. результат стаёт противополжным выражению (исключая Null). Возвращаемые оператором значения представлены в следующей таблице:  

выражение

результат

True

False

False

True

Null

Null

Пример: 

Dim User_Has_Computer As Boolean 

User_Has_Computer = False 

If Not User_Has_Computer Then  

MsgBox "Сочувствую...:)" 

End If 

Объясняю: условие If ... Then выполняется тогда, когда какое-нибудь выражение (на месте ...) равно True. Представим, что переменная User_Has_Computer = False. Тогда строка 

Not User_Has_Computer даёт результат True и условие выполняется! 

Оператор Xor. 

Help: 

Выполняет операцию исключающего ИЛИ для двух выражений. 

Синтаксис: 

[результат =] выражение1 Xor выражение2 

В принципе, этот оператор похож на Or, но это не просто ИЛИ, а исключающее ИЛИ. Если одно и только одно из выражений истинно (имеет значение True), результат имеет значение True. А оператор Or допускает два истинных выражения. Результат определяется следующим образом:  

выражение1

выражение2

результат

True

True

False

True

False

True

False

True

True

False

False

False

Пример: 

Dim User_Has_Computer As Boolean 

Dim User_Has_Car As Boolean 

User_Has_Computer = False 

User_Has_Car = True 

If User_Has_Computer Xor User_Has_Car Then  

MsgBox "Вам нужна машина И компьютер!" 

End If 

Здесь так же, как и в предыдущем примере условие выполняется только тогда, когда строка User_Has_Computer Xor User_Has_Car истинна (= True). А истинна она тогда и только тогда, когда только одно из условие истинно. Если оба, то условие уже не исполнится. 

Оператор Eqv. 

Help: 

Используется для проверки логической эквивалентности двух выражений. 

Синтаксис: 

результат = выражение1 Eqv выражение2 

Тут совсем всё просто: результат будет истинным в том случае, если оба выражения либо истинны, либо ложны. Результат определяется следующим образом:  

выражение1 

выражение2

результат

True

True

True

True

False

Flase

False

True

False

False

False

True

Пример: 

Dim User_Has_Computer As Boolean 

Dim User_Has_Car As Boolean 

User_Has_Computer = True 

User_Has_Car = True 

If User_Has_Computer Eqv User_Has_Car Then  

MsgBox "Вы или счастливый или несчастный человек!" 

End If 

Здесь компьютер назовёт Вас человеком "счастливым или несчастным", т.к. условие выполняется только тогда, когда пользователь имеет и машину и компьютер или не того и не другого.