Программирование >>  Проектирование интерфейса пользователя 

1 ... 5 6 7 [ 8 ] 9 10 11 ... 153


пользоваться константа (скажем, 5), значение другой переменной или результат операции. Строка 3 демонстрирует ирисваивание результата оиерации сложения. Вначале Access выполняет сложение (5 + 3), а затем его результат присваивает lvalue-переменной А. Таким образом, после выполнения строки 3 кода в переменной А будет храниться число 8. В процессе операции, определяемой строкой 4, переменной А будет присвоено значение 3. Выполнение следующей строки - 5 - приведет к занесению в А значения 2, а после завершения операции, указанной в строке 6, А приобретет значение 196.

Листинг 2.1 демонстрирует основы арифметических рпераций. Хотя подобный набор строк кода вряд ли может иметь смысл в практике реального программирования, он полезен с методической точки зрения. Впрочем, вы можете запросто объединить несколько операторов в единую цепочку. Например, А=5 + 3- 6\ 2+16* 16 - вполне допустимое выражение. Однако будет лучше, если вы постараетесь упрощать выражения.

Если арифметическое выражение содержит много переменных, констант и операторов, применять круглые скобки, которые помогут недвусмысленно разъяснить системе ваши намерения. Например, выражение А=5 + 3- 6\ 2 + 16 * 16, - это, на самом деле, А = (5 + 3) (6 \ 2) + (16*16).

Арифметические операторы Access подчиняются тем же правилам приоритета выполнения, что и в традиционной математике. Операции умножения и деления имеют более высокий приоритет (т.е. выполняются раньше), чем сложение и вычитание.

Операторы сравнения

Операторы сравнения - <, <=, >, >=, = ио - были упомянуты ранее, в табл. 2.2. Все они относятся к разряду бинарных. Каждый из операторов сравнения предполагает наличие значений lvalue и rvalue. Результат выполнения оператора сравнения - величина типа Boolean, принимающая одно из значений, True (истина) или False (ложь).

Новый термин

Переменные типа Boolean способны хранить одно из двух значений -True или False. Своим происхождением и именем они обязаны английскому математику Джорджу Булю (George Boole), разработавшему основы алгебры логики, именованной позднее булевой. Булева алгебра устанавливает законы поведения объектов, которые способны принимать два состояния - True ИЛИ False.

Листинг 2.2 демонстрирует, каким образом можно присвоить результат выполнения оператора сравнения переменной типа Boolean.

Листинг 2.2. Примеры операторов сравнения

1: Dim Result As Boolean

2 : Result = 5 > 4

3 : Result =6=7

4: Result = 4 <= 7


Смысл некоторых языковых объектов VBA зависит от контекста их употребления. Так, например, строку 3 листинга 2.2 следует трактовать таким образом: результат выполнения оператора сравнения (=) двух чисел, 6 и 7 (а это значение False) присваивается (=) переменной Result, которая ранее была объявлена как булева.



Строка 1 содержит объявление переменной Result типа Boolean. В строке 2 осуществляется проверка, действительно ли число 5 превосходит числ. Результат, True (истина), присваивается переменной Result. Итог False (ложь) проверки равенства чисел 6 и 7 присваивается переменной после выполнения строки 3 кода. Осуществляя операцию сравнения, содержащуюся в строке 4, система обнаружит, что число 4 на самом деле не больше числа 7, и поэтому присвоит переменной Result значение True.

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

Логические операторы, перечисленные в табл. 2.4, применяются при выполнении действий над булевыми величинами. Логические выражения - как и арифметические -могут быть довольно простыми или настолько сложными, насколько это необходимо. Некоторые примеры логических операторов приведены ниже, в тексте листинга 2.3.

Таблица 2.4. Логические операторы VBA

Обозначение

Описание

Бинарный оператор; если обго операнда равны True, результат также равен True; в противном случае результат равен False

Оператор побитового сравнения

Оператор импликации (бинарной логической связки)

Унарный оператор отрицания (например, Not True есть False, a Not False - True)

Бинарный оператор; если хотя бы один из его операндов равен True, то результат также равен True

Бинарный оператор; результат равен True, если выражения левой (lvalue) и

правой (rvalue) частей различны

Листинг 2.3. Примеры логических операторов

3 : 4: 5

Dim Test As Boolean Test = True And False Test = False Or False Test = Not (5 > 4) Test = ((MyValue > 3.1459)

And (YourValue <= Or True

В строке 1 листинга 2.3 объявляется булева переменная Test. После выполнения строки 2 Test принимает значение False. Результат вычисления выражения False Or False, приведенного в строке 3, равен False. Выражение (5 > 4) строки 4 истинно, но его отрицание дает итог False, который и присваивается переменной Test. Результат вычисления выражения строки 5 всегда истинный, независимо от значений числовых переменных MyValue и YourValue, поскольку выражение завершается конструкцией Or True.

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



Результаты выполнения логических операторов обычно представляют в виде таблиц истинности, которые вы сможете отыскать в оперативной справочной системе Access. Таблицы истинности помогут проверять создаваемые логические выражения. Конечно, не помешают и знания основ математической логики (например автор данной книги, будучи студентом университета штата Мичиган, изучал курс дискретной

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

Операторы конкатенации строк

К операциям со строками придется обращаться очень часто. String - это тип данных, позволяющий хранить непрерывные последовательности символов. При конкатенации (или сложении строк) одна строка присоединяется в конец другой.

Существует два оператора сложения строк. Они обозначаются символами плюс (+) и амперсанд (&). Оба оператора бинарны. Просмотрите фрагмент кода, представленный листингом 2.4.

Листинг 2.4. Примеры сложения строк

1: Dim A As String

2: А = Здравствуй, + мир! 3 : А= Здравствуй, & мир!

В строке 1 объявляется переменная А типа string. В строках 2 и 3 используются операторы сложения, склеивающие две строки ( Здравствуй, и мир! ) в единое целое, и результат - строка Здравствуй, мир! - присваивается переменной А. В этом примере конечные результаты применения обоих операторов сложения строк - + и & - совершенно равноценны.

Отличие оператора & состоит в том, что он способен превращать значения любого встроенного типа данных в строку. Поэтому сложение строки Мне уже с числом 5 посредством оператора & даст в результате строку Мне уже 5 . Оператор & осуществляет неявное преобразование значений всех встроенных типов данных в значение типа String. Примеры вы найдете в листинге 2.5.

Новый термин

Встроенным называется тип данных, изначально определенный программирования (в частности, Access VBA).

в языке

1: Dim A As String

2; А = Мне уже

3 : MsgBox A

4: А = Мне уже

5: MsgBox А

& 5

r( 5 )

Результаты выполнения строк 2 и 4 равносильны. В обоих случаях переменной А присваивается строка Мне уже 5 . Символ амперсанда исключает необходимость обращения к встроенной функции Str ( осуществляющей явное преобразование числа в строку. (Подробнее о встроенных функциях см. главу 8-й час. Декомпозиция задач .) Оператор конкатенации строк, обозначаемый символом процесс преобразовании типов проводит самостоятельно.



1 ... 5 6 7 [ 8 ] 9 10 11 ... 153

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика