uses SysUtils, Classes, my_unit; // my_unit - название подключаемого юнита
Если юнитов несколько - просто перечисляйте их через запятую.
ВАЖНО! название txt файла, должно совпадать с названием юнита, т.е. в данном случае это будет my_unit.txt
Теперь перейдем к структуре юнита, она должна быть следующая:
unit my_unit;
interface
uses {имена других модулей (юнитов), которые надо подключить к данному,
чтобы иметь доступ к классам, функциям, переменным, объектам и т.п.
этих модулей в области Interface и Implementation}
{Область Interface. Здесь находятся описания типов, объектов и процедур, которые БУДУТ ВПОСЛЕДСТВИИ ВИДНЫ в других
модулях, если к ним подключить данный}
type
{описания типов и классов, к которым БУДЕТ ПРЕДОСТАВЛЕН доступ другим юнитам, если к ним подключить данный}
var
{описания объектов и переменных, к которым БУДЕТ ПРЕДОСТАВЛЕН доступ другим юнитам, если к ним подключить данный}
implementation {Реализация}
uses {здесь могут быть перечислены имена юнитов, которые могут использоваться только в реализации классов или функций/процедур }
type
{описания типов и классов, к которым НЕ БУДЕТ ПРЕДОСТАВЛЕН доступ другим юнитам, если к ним подключить данный}
var
{описания объектов и переменных, к которым НЕ БУДЕТ ПРЕДОСТАВЛЕН доступ другим юнитам, если к ним подключить данный}
{реализация классов, описанных выше в разделе type областей interface и implementation данного юнита}
end.
Все, что описано в области interface, будет доступно из других модулей, если данный модуль к ним подключить. Здесь могут находиться описания классов (только описания!), описания процедур и функций (если они не являются методами класса, то тогда достаточно будет просто указать их заголовок с параметрами в области interface), переменные, объекты, константы. Вся реализация должна находиться после ключевого слова implementation (которое в переводе как раз и означает «реализация»). В «реализации» также могут находиться описания и других типов, классов, переменных, объектов, процедур, но только тогда они никак не могут быть доступными из других юнитов.
Т.е. основная суть: чтобы сделать «что-то» доступным для других юнитов (при условии подключении данного юнита в разделе uses), необходимо описание «этого» поместить в область interface.
unit unit_1; // название юнита
interface // раздел interface
procedure procedure_1(); // описание метода, к которому будет доступ, если подключиь этот юнита куда-нибудь
implementation // раздел implementation (реализация)
procedure procedure_1(); // непосредственно сам метод
var i: integer;
begin
for i:=1 to 10 do print('Исполняем шаг ' + inttostr(i));
end;
end.
Код:
uses unit_1; // подключили наш юнит
begin
print('Начали основной скрипт');
procedure_1(); // вызываем метод, описанный в юните
print('Закончили основной скрипт');
end.
Модули (юниты) должны находиться в той же папке что и главный скрипт
Взято с асивин