|
Программирование >> Проектирование интерфейса пользователя
Таблица 4.7. Приоритеты выполнения операторов Арифметические операторы Операторы сравнения Логические операторы
Таблицу следует читать сверху вниз, а затем слева направо. Все арифметические операторы имеют более высокий приоритет по сравнению с операторами сравнения и логическими операторами. Среди арифметических операторов наивысшим приоритетом обладает оператор возведения в степень. Оператор конкатенации строк, условно отнесенный к группе арифметических операторов, замыкает ее. Тем не менее, сложение строк все равно выполняется прежде люб1х операций сравнения или логического исчисления. Запоминать данные табл. 4.7 вовсе не обязательно - вы всегда с не меньшим успехом сможете поведать о своем замысле, расставив соответствующим образом круглые скобки. Еще одно хорошее правило, которое стоит взять на вооружение, .таково: не старайтесь выразить свое намерение в виде единого громоздкого выражения - разделите предложение на несколько более простых и расположите их в нужном порядке. Специальные операторы В арсенале VBA есть еще три оператора, которые при определенных обстоятельствах могут вам пригодиться. Два из них (Is и Like) бинарны, а третий (AddressOf) - унарный. Названные операторы описаны в табл. 4.8. Таблица 4.8. Специальные операторы Наименование Синтаксис Описание Is Объект! Is06beia2 Like Результат = Строка Like Образец AddressOf AddressOf ИмяПроцедуры Оператор проверяет, ссылаются ли две переменные на один и тот же объект Оператор проверяет, удовлетворяет ли строка заданному образцу Возвращает числовое значение, представляющее собой адрес процедуры в памяти Оператор Is Оператор Is применяется с целью проверки, ссылаются ли обе переменные-операнды на один и тот же объект. Объект в данном случае - это экземпляр определенного пользователем типа данных, который содержит элементы-свойства и функции-методы их обработки. Подробнее об объектах и приемах их использования см. главу 21-й час. Основы программирования классов . Оператор Like Оператор Like возвращает логический результат проверки такого факта: действительно ли указанная строка (левый операнд) сравнима с заданным текстовым образцом (правым операндом). Образец, с которым сопоставляется строка, может содержать: обычные литеральные символы; вопросительные знаки (?), служащие для представления любого единственного символа; символы звездочки (*), обозначающие строку произвольной (в том числе и нулевой) длины;) символы фунта (#), представляющие любую цифру; а также заключенные в квадратные скобки списки символов, которые следует принять во внимание или, наоборот, исключить из рассмотрения. Листинг 4.10 содержит несколько примеров сравнения строк с образцом с помощью оператора Like. Листинг 10. Примеры использования оператора Like 1: Dim Result As Boolean 2: Dim ZipCode As String 3: ZipCode = 48864 4: Result = ZipCode Like 488## 5: Result = Сидорчу-- Like Сидор* 6: Result = (555) 555-1212 Like (555) 555-#### 7: Dim CustomerName As String 8: CustomerName = Jones 9: Result = CustomerName Like [!K-Z]* Оператор сравнения в строке 4 определяет, что строка, хранящаяся в переменной ZipCode, действительно содержит префикс 488 . В строке 5 выполняется сопоставление литерала Сидорчук с образцов адор* , и результат этой операции также равен True. Подобный код можно использовать для поиска различных вариантов имен и фамилий, например Сидор, Сидорчук, Сидоров, Сидоренко и т.п., поскольку звездочка, завершающая образец, обозначает любую последовательность символов, в том числе и нулевой длины. Строка 6 служит для проверки принадлежности заданного телефонного номера множеству номеров, начинающихся с последовательности пифр (555) 555 . Результат операции равен True. Оператор сравнения с образцом, приведенный в строке 9, возвращает значение True для строк, начинающихся с любой буквы латинского алфавита, за исключением тех, которые попадают в промежуток от К до Z. Оператор AddressOf В состав стандартного интерфейса программирования Windows-приложений (Windows Application Programming Interface, API) входят спепиальные средства использования так называемых сй/йасА-переменных, содержащих адреса функций или процедур. Поскольку идентификаторы всех переменных, функций и процедур программы преобразуются компилятором в определенные адресные значения, наличие адреса процедуры позволяет использовать его для непосредственного обращения к этой процедуре. В некоторых случаях функции Windows API должны иметь возможность обращения к процедурам, определенным пользователем. Вам следует знать о существовании оператора AddressOf, хотя с вероятностью 99.9% его никогда не придется использовать на практике. Подробности, касающиеся применения средств Windows API в целом и оператора AddressOf в частности, вы найдете в таких книгах, как, например, Peter Nortons Complete Guide to Windows 98, Second Edition издательства Sams. Резюме На этом занятии мы подробно рассмотрели все операторы языка программирования Access VBA. Они будут использоваться вами постоянно - в любом выражении программного кода VBA, которое когда-либо придется написать. Вы узнали о критериях классификации операторов по числу используемых ими операндов, типах данных и приоритетах выполнения. Операторы сравнения и логического исчисления обычно применяются в структурах программного кода, управляющих последовательностью действий. Арифметические и логические операторы применяются при расчетах. Вы будете сталкиваться с ними вновь и вновь - на протяжении всех оставшихся двадцати занятий - и таким образом приобретете богатый опыт их практического использования. В следующей главе мы расскажем о применении операторов сравнения и логического исчисления в профаммных управляющих структурах. Управление потоком вычислений - один из основополагающих аспектов профаммирования. Вопросы и ответы Вопрос. Каким образом можно превратить несколько разрозненных значений различ-н1х типов в единую строку? Ответ. Объявите переменную типа string и примените оператор конкатенации (s) с неявным преобразованием типов данных. Вопрос. Как преобразовать десятичное число в двоичное? Ответ. Если вы затрудняетесь сделать это самостоятельно (вспомните материал раздела Побитовые операции текущей главы), обратитесь за помощью к стандартному Windows-приложению Калькулятор в режиме Инженерный. Вопрос. Как упростить сложное выражение? Ответ. Используйте круглые скобки и/или разделите сложную конструкцию на последовательность из нескольких простых. Задания Ниже приведены тестовые задания и упражнения, которые помогут вам самостоятельно проверить уровень освоения материала, изложенного в этой главе. Ответы на вопросы вы найдете в приложении. Тесты 1. Для каких целей применяется оператор +? 2. Назовите четыре основные фуппы операторов. 3. Каков приоритет выполнения фупп операторов? 4. Как изменить естественный порядок выполнения операций? 5. Операторы какой фуппы обладают наивысшим приоритетом выполнения? Упражнения 1. Напишите текст демонстрирующей все возможные сочетания значений аргументов оператора And. 2. Используя окно непосредственного исполнения кода (Immediate) среды профаммирования Microsoft Visual Basic, вычислите значения следующих выражений на основе побитового оператора: Or: 2 Or 3; 4 Or 5; 6 Or 7. 3. С помощью средств окна Immediate вычислите остаток от деления пар чисел, приведенных в предыдущем упражнении.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |