Книга: VBA для чайников

Условные выражения без операторов сравнения

Условные выражения без операторов сравнения

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

Этот вопрос обсуждается здесь не для того, чтобы заставить вас создавать условные выражения, не использующие операций сравнения, а просто потому, что такие выражения создают многие программисты. Часто такие условные выражения присутствуют в текстах программ, публикуемых в компьютерных журналах и представленных в Internet. Но пока вы занимаетесь освоением VBA, я рекомендую вам включать операции сравнения в условные выражения хотя бы для ясности программного кода, даже если такие операции и не необходимы.

Теперь о деталях. Как вы знаете, значением логической переменной всегда является либо True, либо False. Поэтому выражение

bоо1До18 ' это значение либо True, либо False

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

If bоо1До18 Then

ПредоставитьСкидку

End If

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

1234 ' всегда True

0 ' всегда False

True ' всегда True

False ' всегда False

intHowManyPets ' False, если intHowManyPets = 0

ingA + lngB + lngC ' False, если сумма = 0

Свойства объектов часто представляют логические значения, поэтому в качестве условий нередко используются выражения типа frmHelpWindow.Enabled и безо всяких операций сравнения.

Нельзя использовать строки и объекты в качестве условий сами по себе, хотя они вполне годятся для использования в качестве компонентов выражений, построенных на основе подходящей операции сравнения.

Оглавление книги


Генерация: 1.220. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз