Пример модуля
В качестве примера мы приведем модуль, содержащий арифметические функции min и max для целых чисел, а также функцию возведения в степень. Все эти функции отсутствуют в стандартном модуле System.
unit my_arifm; interface function min(a,b: longint): longint; function max(a,b: longint): longint; function deg(a,b: double): double; implementation function min; begin if a>b then min:= b else min:= a; end; function max; begin if a<b then max:= b else max:= a; end; function deg; begin deg:= exp(b*ln(a)) end;end.Теперь, подключив этот модуль к любой своей программе, вы сможете пользоваться этими тремя функциями. Остальные необходимые в работе подпрограммы (например, тригонометрические функции tg, ctg, sec, arcsin, arсcos, arctg, arcctg, arcsec) желающие могут добавить в этот модуль самостоятельно.
Аналогичным образом, полезно единожды написать и отладить подпрограммы, обрабатывающие динамические структуры данных (списки, деревья, стеки и т.п.), сохранить их в специальном модуле, а затем пользоваться ранее проделанной работой вновь и вновь, не тратя времени на повторное программирование. Такой подход очень распространен в программировании вообще и носит несколько неуклюжее название "Повторное использование ранее созданных компонентов"2).