Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012 02 26 Основы программирования в Delphi.docx
Скачиваний:
9
Добавлен:
16.08.2019
Размер:
204.56 Кб
Скачать

Инициализация и завершение

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

Ключевые слова

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

Слово const

Новый термин. Константа – это имя фиксированного значения, на которое вы часто ссылаетесь в своих программах. Объявление константы позволяет обращаться в программе к соответствующему значению по имени вместо написания величины.

Любой модуль может содержать один и более разделов объявления констант. Такой раздел начинается с ключевого слова const.

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

Допустим, что имеется несколько значений, которые будут встречаться в программе много раз. Возможно, эти значения понадобятся другой программе. Тогда их можно (и нужно!) объявить как константы. В качестве примера добавим раздел констант к тексту модуля на листинге 1.3. Один раздел констант поместим в интерфейсную секцию модуля, а другой – в секцию реализации. Константы, объявления которых находятся в интерфейсной секции модуля, будут доступны в других модулях. Константы, объявленные в секции реализации, доступны только в данном модуле. На листинге 1.4 показан модуль с двумя разделами объявления констант.

Константы AppCaption, EarthMeanRadius, EarthGravitation, объявленные в интерфейсной секции модуля Unit2, могут быть в будущем использованы в любом из модулей, который в своем uses – списке содержит имя Unit2.

Константы, обозначенные идентификаторами BaseX и BaseY, будут доступны только в данном модуле, поскольку их объявления размещены в секции implementation.

Ключевое слово const используется и других контекстах исходного кода.

Листинг 1.4. Разделы объявления констант в модуле

unit Unit2;

interface

const

AppCaption = 'My Cool Program 1.0';

EarthMeanRadius = 6371.21; {km}

EarthGravitation = 0.398603e6; {km^3/s^2}

procedure DoSomething;

implementation

const

BaseX = 20;

BaseY = 200;

procedure DoSomething;

begin

{ Здесь должен быть код процедуры DoSomething. }

end;

end.

Обратите внимание на то, что объявление константы содержит знак «равно» (=), а не «присвоить» (:=). Кроме того, нет спецификации типа константы. Компилятор сам определяет тип константы по виду числового значения справа от знака (=). Имена констант в программе следует использовать вместо явного написания чисел или литералов.

Осмысленное применение констант обеспечивает надежность программы и является необходимым условием простоты ее модификации в будущем. Так, чтобы изменить поведение программы (размеры окон, элементов управления, реакции и т.п.), достаточно будет изменить объявления констант только в одном фрагменте исходного кода.