Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Основная часть программы



Программа на Object Pascal, как и в более ранних версиях Pascal, состоит из основной части, собственно и называемой программой (англ. Program - программа), и нескольких модулей (англ. Unit — модуль), подключаемых на этапе компиляции к основной части программы, наличие которых не обязательно. Рассмотрим структуру основной части программы.

Program

//Заголовок программы

Uses

//Раздел подключения модулей (библиотек)

Label

//Раздел описания меток безусловного перехода

Const

//Раздел описания констант

Type

//Раздел описания нестандартных типов данных

Var

//Раздел описания переменных

Begin //Начало раздела описания логики программы

//Раздел описания логики программы

End. //Конец раздела описания логики программы

Основная часть программы содержится в отдельном файле и состоит из одного или нескольких разделов, каждый из которых начинается с определенного ключевого слова (Program, Uses, Label и т.д.). Если в существовании раздела нет необходимости, то ключевое слово, открывающее его, не указывается. Основная часть программы в Delphi хранится в файле с расширением dpr (от англ. DPr — Delphi Project -- проект Delphi) и, в большинстве случаев, не требует вмешательства программиста. Создание и обновление основной части программы берет на себя среда разработки.

Из всех представленных разделов обязательным в Pascal является только раздел описания логики программы (начинается ключевым словом Begin, заканчивается ключевым словом End с точкой). В программе на Delphi обязательным является также заголовок программы, имеющий вид:

Program <Название>;

Требование к наличию заголовка программы связано со ссылками на файлы ресурсов, подключаемых к программе, и имеющих такие же названия, что и файл, в котором хранится основная часть программы. Данные ссылки добавляются средой автоматически, а исправление их вручную не рекомендуется, так как это может вызвать нарушение структуры проекта.

Название программы выбирается по обычным правилам именования идентификаторов в Turbo Pascal, описанным выше. Исполняемый ехе-файл, получаемый в результате компиляции программы, имеет имя, соответствующее названию файла с программой.

Разделы описания констант (начинается ключевым словом Const), нестандартных типов данных (ключевое слово Туре) и переменных (ключевое слово Var) могут следовать друг за другом в любом порядке, однако приведенный порядок является наиболее предпочтительным. Это связано с тем, что константы могут использоваться при описании типов данных и переменных, а типы данных обычно используются при описании переменных. При этом идентификаторы, описанные в разделе описания переменных, ни при каких условиях не могут использоваться в разделах описания типов и констант. Напомним, что область действия идентификатора начинается с момента его описания, то есть использование идентификатора возможно только ниже по тексту программы.

Модули

Модуль (библиотека), так же как и основная часть программы, содержится в отдельном файле и состоит из нескольких разделов, аналогичных разделам основной части программы. Рассмотрим структуру модуля.

Unit //Заголовок модуля

Interface //Указание на начало интерфейсной секции

Uses

//Раздел подключения модулей (библиотек)

Const

//Раздел описания констант

Туре

//Раздел описания типов данных

Var

//Раздел описания переменных

Implementation //Указание на начало описательной секции

Uses

//Раздел подключения модулей

Label

//Раздел описания меток безусловного перехода

Const

//Раздел описания констант

Туре

//Раздел описания типов данных

Var

//Раздел описания переменных

Initialization //Начало секции инициализации

//Раздел описания логики инициализации

Finalization //Начало секции деинициализации

//Раздел описания логики деинициализации

End. //Окончание модуля

Исходный текст модуля может содержать четыре секции:

· Интерфейсная секция(начинается ключевым словом interface), в которой располагаются заголовки процедур и функций, а также описания констант (раздел описания констант начинается с ключевого слова Const), нестандартных типов данных (ключевое слово Туре) и переменных (ключевое слово Var). Все идентификаторы, описанные в интерфейсной секции, доступны для использования вызывающим (подключающим модуль) частям программы, наряду с их собственными описаниями.

· Описательная секция (начинается ключевым словом Implementation), в которой располагаются описания процедур и функций, заголовки которых указаны в интерфейсной секции, а также другие процедуры и функции, используемые подпрограммами данного модуля, но не доступные фрагментам программ, подключающим модуль. Также в описательной части модуля могут располагаться описания меток безусловного перехода, констант, нестандартных типов данных и переменных (начинаются, соответственно, с ключевых слов Label, Const, Type и Var). Все эти описания также не доступны фрагментам программы, подключившим модуль, и используются только для внутренних целей библиотеки.

· Секция инициализации (начинается ключевым словом Initialization), содержащая команды, которые необходимо выполнить при подключении модуля к программе. Таким образом, перед выполнением какой-либо программы, к которой подключаются внешние модули, сначала выполняются инициализационные части модулей (в порядке подключения). Данная секция не является обязательной.

· Секция деинициализации (начинается ключевым словом Finalization), используемая только при наличии секции инициализации, содержащая команды, которые необходимо выполнить при завершении приложения. Данная секция не является обязательной и может использоваться для освобождения ресурсов, занятых в секции инициализации.

Наличие ключевого слова End с точкой является обязательным и означает окончание модуля.

Наличие интерфейсной и описательных секций в библиотеке является обязательным даже если в этих секциях ничего не содержится. Таким образом, ключевые слова Interface и Implementation должны присутствовать в тексте модуля всегда.

Название модуля — идентификатор, указываемый после ключевого слова Unit в заголовке модуля. Название модуля строится по обычным правилам именования идентификаторов и должно соответствовать имени файла, в котором находится описания модуля. Именно по названию осуществляется подключение модулей к основной части программы или к другим модулям. Как уже упоминалось ранее, подключение производится в разделе подключения модулей Uses по названию.

В листинге 2.1 приведен пример кода простейшего модуля и программы, которая подключает к себе этот модуль, а код подключающей его программы - в листинге 2.2.

Листинг 2.1.Простейший модуль

Unit Unit1; {Заголовок модуля, название модуля — Unit1}

Interface {Указание на начало интерфейсной секции}

Implementation {Указание на начало описательной секции}

End. {Окончание модуля}

Листинг 2.2. Простейшая программа, подключающая модуль:

Program Program1; {Заголовок программы,

название программы - Program1}

Uses {Раздел подключения модулей}

Unit1; {Подключение модуля Unit1}

Begin {Начало раздела описания логики программы}

End. {Конец раздела описания логики программы}

Проект

Важным нововведением в Delphi является понятие проекта — описания частей, на которые разбит исходный текст программного продукта. Кроме файлов с исходными текстами, в проект могут входить файлы ресурсов, подключаемых к программе (например, изображения или тексты).

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

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





Дата публикования: 2014-11-02; Прочитано: 735 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...