Академический Документы
Профессиональный Документы
Культура Документы
Структура модуля
unit <идентификатор>;
interface
uses <список модулей>; { Необязательный }
{ глобальные описания }
implementation
uses <список_модулей>; { Необязательный }
{ локальные описания }
{ реализация процедур и функций }
begin
{ код инициализации }
end.
Интерфейсная секция
Секция реализации
Секция инициализации
program MyProg;
uses thisUnit, thatUnit, theOtherUnit;
unit thisUnit;
uses thatUnit;
.
.
.
program MyProg;
uses thisUnit, theOtherUnit;
.
.
.
program TestStuff;
uses MyStuff;
var
I : integer;
AStar : MyStars;
begin
Writeln(myValue);
AStar := Deneb;
SetMyWord(AStar);
Writeln(MyWord);
I := TheAnswer;
Writeln(I)
end.
program TestStuff;
uses MyStuff;
const
MyValue = 22;
var
I : integer;
AStar : MyStars;
begin
Writeln(myValue);
AStar := Deneb;
SetMyWord(AStar);
Writeln(MyWord);
I := TheAnswer;
Writeln(I)
end.
В этой программе переопределяются некоторые из идентификато-
ров, описанных в МyStuff. Будучи скомпилированной и выполненной,
эта программа будет использовать собственные определения для
МyValue и ТheAnswer, поскольку они были описаны позднее, чем оп-
ределения в МyStuff.
program TestStuff;
uses MyStuff;
const
MyValue = 22;
var
I : integer;
AStar : MyStars;
begin
Writeln(MyStuff.MyValue);
AStar := Deneb;
SetMyWord(AStar);
Writeln(MyWord);
I := MyStuff.TheAnswer
Writeln(I)
end.
program TestStuff;
uses MyStuff;
var
I : integer;
AStar : MyStuff.MyStars;
begin
Writeln(MyStuff.MyValue);
AStar := My.Stuff.Deneb;
MyStuff.SetMyWord(AStar);
Writeln(My.Stuff.MyWord);
I := MyStuff.TheAnswer;
Writeln(I)
end.
Компиляция модуля
+------------------------+-------------------------+
| Целевая платформа | Расширение имени файла |
| | модуля |
+------------------------+-------------------------|
| DOS реального режима | .TPU |
| Windows | .TPW |
| DOS защищенного режима | .TPP |
+------------------------+-------------------------+
Скопируйте свой новый файл .TPU, .TPW или .TPP в каталог мо-
дулей, заданный в диалоговом окне Options|Directories, или ис-
пользуйте параметр командной строки /U при работе с компилятором
режима командной строки.
uses IntLib;
unit IntLib;
interface
procedure ISwap(var I,J : integer);
function IMax(I,J : integer) : integer;
implementation
procedure ISwap;
var
Temp : integer;
begin
Temp := I; I := J; J := Temp
end; { конец процедуры ISwap }
function IMax;
begin
if I > J
then IMax := I
else IMax := J
end; { конец функции IMax }
end. { конец модуля IntLib }
program IntTest;
uses IntLib;
var
A,B : integer;
begin
Write('Введите два целочисленных значения: ');
Readln(A,B);
ISwap(A,B);
Writeln('A = ',A,' B = ',B);
Writeln('Максимальное значение равно ',IMax(A,B));
end. { конец программы IntTest }
program Editor;
uses
WinCrt, String { стандартные модули из TPW.TPL }
EditGlobals, { модули, написанные пользователем }
EditInuit,
EditPrint,
EditRead, EditWrite,
EditFormat;