Смекни!
smekni.com

Логические операторы 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

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