|
Программирование >> Проектирование интерфейса пользователя
В практике программирования часто возникают неприятные ситуации, связанные с непредвиденными изменениями значений переменных. Но константы не подвержены подобной опасности, поскольку в ходе выполнения программы их значения - по определению - остаются постоянными. Константы - это величины, на которые всегда можно положиться. Применяйте их настолько активно, насколько это возможно и целесообразно. Только оставив за плечами сложные программные проекты, вы сможете по-настояшему оценить, что такое надежность кода. Глобальные переменные Переменные, объявленные посредством служебного слова Global, могут адресоваться в любом месте кода программы. Синтаксис объявления глобальных переменных таков: Globa ойПеременной As ТипДанных Объявляя собственную глобальную переменную, дайте ей подходящее имя и укажите нужный тип данных. Значение переменной Global может изменяться в любой строке кода программы. Программа, содержащая большое число глобальных переменных, становится трудной для восприятия, поэтому имеет смысл использовать их только в тех случаях, когда это действительно необходимо. В ходе программирования конкретного участка кода вы задумываетесь над текущими значениями переменных. Если переменная глобальна, ее значение может быть изменено командами другого блока кода. Поэтому ваши исходные предположения подвержены угрозе непредсказуемого нарушения. Чтобы уменьшить вероятность случайного искажения содержимого глобальных переменных, вы как программист должны предпринять дополнительные меры. Присваивание данных и вычисления Переменные в программе могут использоваться в качестве обоих операндов (левого или правого) различных операторов, а также параметров функций и подпрограмм. Если переменная находится слева (справа) от символа оператора, ее называют левым (правым) операндом. Новыйтермин Новый термин Новыйтермин Функция - это содержащий одну или несколько команд блок кода, который адресуется по имени. Функция обычно возвращает значение определенного типа. Подпрограмма (или процедура) - это также блок кода, который содержит одну или несколько команд. Однако подпрограмма не может возвращать значения. Параметр (или аргумент) - это переменная, которая передается в функцию или процедуру. Параметр может принимать участие в вычислениях и изменяться командами функции (процедуры). Оператор присваивания обозначается символом равенства и заносит в левый операнд-переменную значение правого операнда-выражения. В тексте листинга 3.1 приведено пять примеров операторов присваивания и вычислений. Листинг. 1. Примеры операторов присваивания и вычислений 1: 2 : Di fCircle As Double Dim Radius As Double Const PI = 3.14159 Radius = 10 SquareOfCircle = PI * Radius 2 Строка кода - это буквально одна строка текста, но выражение может быть простым или составным, т.е., другими словами, оно может содержать более одной строки текста. Строка 1 листинга служит для объявления переменной типа Double. В строке 2 объявляется переменная Radius того же типа. Строка 3 содержит объявление константы PI, равной числу л. В строке 4 переменная Radius инициализируется значением 10. В строке 5 вычисляется значение площади круга заданного радиуса (PI * Radius 2), и результат присваивается переменной SquareOfCircle. (Символ (знак вставки, или, как его называют в обиходе, крышки) - это обозначение оператора возведения в степень.) Можно объявить несколько переменных одного типа посредством единственного выражения, в котором имена переменных отделяются запятыми. Например, Dim SquareOfCircle, Radius As Double. Часто полагают, что все переменные, объявленные таким образом, имеют один и тот же тип, но это неверно. В предыдущем примере можно предположить, что и SquareOfCircle, и Radius имеют тип Double. На самом деле переменная Radius имеет тип Double, a SquareOfCircle - тип Variant. Объявление постоянной величины с помощью служебного слова Const, сопровождаемое присваиванием ей исходного значения, называют инициализацией. Многие такие термины способны ввести в заблуждение, но они изобретены программистами с целью ясного и лаконичного выражения мыслей. Хотя вы не обязаны освоить всю терминологию, все же лучше ее знать - особенно в том случае, если приходится часто общаться с коллегами-профессионалами. Строки 3, 4 и 5 листинга 3.1 иллюстрируют операции строки 5 - переменные PI, Radius и константа-литерал 2 - выражения. присваивания. Элементы это члены вычисляемого Будьте точны и до конца откровенны Очень важно, чтобы написанный вами код в процессе выполнения вел себя именно так, как вы предполагали. Существуют два правила, которым необходимо следовать: старайтесь не применять переменные типа Variant и не пользоваться неявно определенными переменными. Тип данных Variant О типе данных Variant вкратце рассказывалось в главе 2. Variant - встроенный тип данных, применение которого приведет к лишним накладным расходам. Встретив в тексте программы объявление переменной типа Variant, компилятор присоединяет дополнительный код, который во время исполнения программы должен определить действительный тип объекта данных. Переменные Variant находят применение в коде стандартных библиотек Microsoft и объектов СОМ. Впрочем, в большинстве случае предпочтительно избегать использования переменных variant и употреблять точные и однозначные объявления. В этом случае ваши намерения будут выражены наиболее четко и недвусмысленно, обеспечивая гарантии соответствия текущих значений типам данных и допустимым диапазонам их изменения. I Новый термин СОМ (сокращение от Common Object Model - общая модель объектов) - это стандарт построения составных типов данных, которые могут быть оформлены в виде отдельных самостоятельных блоков исполняемого кода. Часто объекты СОМ называют компонентами. Неявное определение переменных Access допускает использование переменных, определенных неявно. Неявное определение подразумевает, что переменная просто, без дополнительных объявлений, вводится в точке ее использования. Листинг 3.2 представляет собой исправленный вариант листинга 3.1 - все неременные теперь определяются неявно. Листинг 3.2. Пример неявного определения переменных 1: 2 : Const PI = 3.14159 Radius = 10 SquareOfCircle = PI Radius Обратите внимание, что в тексте листинга отсутствуют какие бы то ни было выражения объявлений. Переменные Radius и SquareOfCircle вводятся в действие без дополнительных разъяснений относительно их типов. На первый взгляд, ничего негативного в таком подходе нет - программа, как и прежде, справится с задачей вычисления площади круга. Но если код приобретет более внушительные размеры - скажем, до нескольких сотен строк, - ситуация может резко измениться к худшему. Вы должны принять к сведению, что подобная практика может осуществляться, но постарайтесь избежать ее использования. В первой строке модуля программы, как правило, должна содержаться команда Option Explicit. Пользуйтесь ею всегда. Она гарантирует вам и коллегам, работающим с вашим кодом, невозможность введения в обращение неявно определенных переменных. Модуль - это отдельный файл, содержащий текст на языке программирования Access VBA. Новый термин Если, введя в начало текста программы команду Option Explicit, вы затем попытаетесь воспользоваться неявно определенной переменной, Access откроет окно сообщения об ощибке, показанное на рис. 3.1.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |