В 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
Здесь компьютер назовёт Вас человеком "счастливым или несчастным", т.к. условие выполняется только тогда, когда пользователь имеет и машину и компьютер или не того и не другого.
Для подготовки данной работы были использованы материалы с сайта http://visualprogs.narod.ru/