Внешние процедуры и модули

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

function():;

раздел описании

begin

раздел операторов

end;

Внешняя подпрограмма процедура имеет следующую структуру:

Procedure();

раздел описаний

begin

раздел операторов

end;

Текст созданной внешней подпрограммы сохраняется в отдельном файле с расширением inc (это расширение внешних подпрограмм в ТР), например chislo.inc.

Директива компилятора {$I } позволяет в данное место текста программы вставить содержимое файла с указанным именем. Файлы с расширением inc можно накапливать на магнитном диске, формируя таким образом личную библиотеку подпрограмм.

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

Существуют стандартные модули Турбо Паскаля (system, crt, graph и т.д).

Модуль имеет следующую структуру:

После служебного слова Unit записывается имя модуля, которое (для удобства дальнейших действий) должно совпадать с именем файла, содержащего данный модуль. Имя не должно содержать более 8 символов.

В разделе interface объявляются все ресурсы, которые будут в дальнейшем доступны программисту при подключении модуля. Для подпрограмм здесь лишь указывается полный заголовок.

В разделе implementation описываются все подпрограммы, которые были ранее объявлены. Кроме того, в нем могут содержаться свои константы, переменные, типы, подпрограммы и т.д., которые носят вспомогательный характер и используются для написания основных подпрограмм. В отличие от ресурсов, объявленных в разделе interface, все, что дополнительно объявляется в Implementation, уже не будет доступно при подключении модуля.

При описании основной подпрограммы достаточно указать ее имя (т.е. не требуется полностью переписывать весь заголовок), а затем записать тело подпрограммы.

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

При разработке модуля рекомендуется такая последовательность действий:

1. Спроектировать модуль, т.е. определить основные и вспомогательные подпрограммы и другие ресурсы.

2. Описать компоненты модуля.

3. Каждую подпрограмму целесообразно отладить отдельно, после чего «вклеить» в текст модуля.

Сохранить текст разработанной программы в файле . PAS и откомпилировать модуль.

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

Procedure….

Var a:array[1..9] of integer; I,s:integer;

Begin

S:=0;

For i:1 to 9 do begin

A[i]:=strtoint(StringGrid1.cells[i-1,0]);

If a[i] mod 2 = 0 then s:=s+a[i];end;

Label1.caption:=inttostr(s);

End;

Рандомно подобранные статьи с сайта:

Внешние модули танка Т-34 времён Второй мировой войны


Похожие статьи:

  • С использованием подпрограмм и модулей

    Цель лабораторной работы:изучить возможности DELPHI для написания подпрограмм и создания модулей. Составить и отладить программу, использующую внешний…

  • Стандартные библиотечные модули

    Практическая работа № 13 Написание программы на Паскале с использованием функций Цель работы: формирование знаний и умений по работе с подпрограммами….

  • Внешнее проектирование модуля

    Первый шаг при проектировании модуля состоит в определении его внешних характеристик. Эта информация выражается в виде внешних спецификаций…

admin