Процедура похожа на функцию, но обычно не возвращает значения (хотя и это возможно). Процедуру можно представить себе как полноценную маленькую программу со своими константами, переменными, типами данных и пр. Описание процедуры очень похоже на описание функции:
PROCEDURE имя_процедуры (арг1:тип; … аргn: тип);
раздел локальных описаний
BEGIN
операторы
…
END;
Глобальные процедуры тоже описываются после оператора IMPLEMENTATION. Как и в случае функции, в процедуру могут передаваться данные. Вызов процедуры состоит просто из написания ее названия. Например, создадим процедуру, завершающую работу всей программы и назовем ее Stop:
PROCEDURE Stop;
BEGIN
Form1.Close
END;
Вот как выглядит ее вызов:
BEGIN
...
Stop;
...
END;
Фактически в язык Delphi мы добавили новый оператор и назвали его Stop.