Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке Delphi_1.doc
Скачиваний:
50
Добавлен:
28.03.2015
Размер:
710.14 Кб
Скачать
        1. Заголовок программы

Заголовок программы должен совпадать с именем программного файла. Он формируется автоматически при сохранении файла на диске и его не следует изменять вручную. Например:

Program Console;

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

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

{$APPTYPE CONSOLE}

        1. Подключение модулей

Секция подключения модулей предназначена для встраивания в программу стандартных и разработанных вами библиотек подпрограмм и классов. Эта секция состоит из зарезервированного слова uses и списка имен подключаемых библиотечных модулей.

Uses

SysUtils;

С момента подключения все ресурсы модуля (типы данных, константы, переменные, процедуры и функции) становятся доступны программисту.

        1. Программный блок

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

  1. Любая секция в программном блоке кроме тела программы может отсутствовать.

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

  3. Все описания должны быть сделаны до того, как они будут использованы.

Тело программы является исполнительной частью блока. Именно из него вызываются описанные выше процедуры и функции. Тело программы начинается зарезервированным словом begin (начало), далее следуют операторы языка, отделенные друг от друга точкой с запятой. Завершает тело программы зарезервированное слово end (конец) с точкой.

Begin

Application.Initialize;

Application.CreateForm(TfmExample, fmExample);

Application.Run;

end.

Сочетание end со следующей за ней точкойназываетсятерминатором программной единицы: как только в тексте программы встретится такой терминатор, компилятор прекращает анализ программы и игнорирует оставшуюся часть текста.

      1. 2.8.2. Структура модуля

Логически обособленные группы процедур и функций чрезвычайно удобно объединять в специализированные библиотеки — модули. Каждый модуль – это отдельный файл, содержащий исходный код и имеющий расширение.pas. Каждый модуль редактируется и компилируется отдельно.

Каждый модуль заканчивается зарезервированным словом end (конец) с точкой.

Приведем общую структуру программного модуля.

Модуль состоит из:

  1. заголовка,

  2. секция интерфейса,

  3. секция реализации,

  4. секция инициализации (может отсутствовать),

  5. секция завершения (может отсутствовать).

unit <имя модуля>; //Заголовок модуля

{$<директивы>} //Директивы компилятора

interface //Интерфейсная часть

uses <имя>, ..., <имя>; //Подключение модулей

const ... ; //Константы

type ... ; //Типы данных

var ... ; //Переменные

procedure <имя> (<параметры>); //Заголовки процедур

function <имя> (<параметры>): <тип>; //Заголовки функций

implementation //Часть реализации

uses <имя>, ..., <имя>; //Подключение модулей

const ... ; //Константы

type ... ; //Типы данных

var ... ; //Переменные

procedure <имя>; begin ... end; //Реализация процедур

function <имя>; begin ... end; //Реализация функций

initialization

<операторы> //Код инициализации

finalization

<операторы> //Код завершения

end.

После слова unit записывается имя модуля. Оно должно совпадать с именем файла, в котором находится исходный текст модуля. Например, если файл называется MathLib.pas, то модуль должен иметь имя MathLib. Заголовок модуля формируется автоматически при сохранении файла на диске, поэтому его не следует изменять вручную. Чтобы дать модулю другой заголовок, просто сохраните его на диске под другим именем.

В секции interface описываются глобальные данные, процедуры и функции, доступные для использования в основной программе и других модулях.

В секции implementation реализуется программный код глобальных процедур и функций и описываются локальные данные, процедуры и функции, недоступные основной программе и другим модулям.

Секция initialization является необязательной. Она состоит из операторов и выполняется автоматически непосредственно перед запуском основной программы. Блоки инициализации подключенных к программе модулей выполняются в том порядке, в котором они упоминаются в секции uses.

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

Если модуль не нуждается в инициализации и завершении, секции initialization и finalization можно опустить.