Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие.doc
Скачиваний:
153
Добавлен:
02.05.2014
Размер:
1.63 Mб
Скачать

3.3.3. Константы

В процессе программирования часто будет обнаруживаться, что код содержит постоянные значения, которые появляются много раз. Могут также возникать случаи, когда код зависит от некоторых величин, которые программисту трудно запомнить, — это могут быть числа, сами по себе не имеющие никакого очевидного значения.

В этих случаях значительно повысить удобочитаемость текста кода и облегчить его сопро­вождение можно вводом констант. Константа — некое описательное мнемоническое имя, которое используется вместо числа или строки, неизменных в течение работы программы. Хотя константа в применении несколько похожа на переменную, изменять константу или назначать ей новое значение нельзя. Имеется два вида констант:

встроенные и системные константы обеспечиваются инструментальными приложени­ями и элементами управления. Константы содержатся в объектных библиотеках Access, Visual Basic для приложений (VBA) и DAO. Просмотреть и выбрать их можно в окне Просмотр объектов. Другие приложения, которые содержат объект­ные библиотеки, такие как Microsoft Excel и Microsoft Project, также предоставляют наборы констант, которые можно адресовать через окно диалога Ссылки и исполь­зовать с объектами, методами и свойствами этих приложений. Константы также опреде­лены в библиотеке объектных модулей для каждого элемента управления ActiveX;

символические, или пользовательские, константы, объявляемые в инструкции Const.

В Visual Basic имена констант приводятся в формате смешанного регистра, с префиксом, указывающим библиотеку объектных модулей, в которой данная константа определена. Имена констант объектных библиотек Visual Basic и Visual Basic для приложений предваря­ются префиксом "Vb" — например, vbTileHorizontal. Константы из объектной библиотеки доступа к данным DAO содержат префикс "db" — например, dbRelationUnique, а константы Access — префикс "Ас", например, AcDataTransferType.

Префиксы предназначены для предотвращения случайных конфликтов в ситуациях, когда константы имеют идентичные имена, но представляют различные значения. Однако, даже с префиксами, возможны случаи, когда две объектные библиотеки содержат идентичные кон­станты с разными значениями. Какая константа в этом случае будет адресоваться, зависит от того, у какой библиотеки выше приоритет. Изменить приоритет объектных библиотек можно кнопками Приоритет в окне диалога Ссылки меню Сервис.

Чтобы быть абсолютно уверенным в отсутствии пересечений имен констант, можно квали­фицировать обращения к константам со следующим синтаксисом:

[имя_библиотеки.][имя_модуля.]имя_константы

имя_библиотеки— обычно имя класса элемента управления или библиотеки.

имя_модуля— имя модуля библиотеки, в котором определена константа.

имя_константы — имя константы. Каждый из этих элементов определен в библиотеке объектных модулей и может быть доступен в окне Просмотр объектов.

Создание пользовательских констант. Синтаксис объявления пользовательской константы следующий:

[Public|Private] Const имя_константы [As тип] = выражение

Параметр имя_константы — допустимое символическое имя (правила — те же, что и для имен переменных); выражение составляется из числовых или строковых констант и опера­торов. В выражении, однако, нельзя использовать обращения к функциям.

Инструкцией Const можно объявлять:

• математическое значение, дату/время:

Const conPi = 3.14159255358979 Public Const conPlanets As Integer = 9

Const conDate = #1/1/97#

• строковые константы:

Public Const conVersion = "08.10.A"

Const conName = "Access"

В одной инструкции можно объявить несколько констант, отделяя их запятыми:

Public Const conPi = 3.14, conPlanets = 9, conRussiaPop = 1.7E+08

Выражение справа от знака равенства (=) — число или литеральная строка, но это может быть и выражение, значением которого также является число или строка. Определять константы можно так же с привлечением ранее определенных констант: Const conPi2 = conPi * 2

Соседние файлы в предмете Базы данных