Використання у модулі процедур та функцій має свої особливості. Заголовок підпрограми містить вcі відомості, що необхідні для її виклику: ім’я, перелік та тип параметрів, тип результату для функції. Якщо до підпрограми буде вестись звертання з інших модулів, то ця інформація має бути розташована до implementation, тобто у інтерфейсну частину модуля, а якщо ж підпрограма використовуватиметься тільки підпрограмами поточного модуля, то її опис слід розміщати після implementation. Саме тіло підпрограми (її текст), де реалізований її алгоритм, записується у частині реалізації модуля.
Інтерфейсна частина модуля містить тільки видимі (доступні для інших модулів) заголовки процедур та функцій.
У випадку, коли імена змінних інтерфейсної частини модуля та у самій програмі співпадатимуть, звертання вестиметься до змінних, що описані у програмі. Для звертання до змінної модуля слід використовувати складене ім’я, що складається з імені модуля та імені змінної, відокремлених крапкою.
Складені імена застосовуються при звертанні не тільки до імен змінних, а і до всіх імен, що описані у інтерфейсній частині модуля.
Рекурсивне використанні модуля заборонене.
Якщо у модулі є блок ініціалізації, то оператори з цього блоку виконуватимуться до початку виконання програми, у якій використовується цей модуль.
Для більшої наглядності розглянемо текст модуля програми – файл unit1.pas.
Як вже говорилось вище, за вмовчанням Delphi створює цей файл з базовими настройками та компонентами.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
end.
У модулі заголовком є
unit Unit1;
як це вже про це говорилось вище.
Опис констант дозволяє використовувати імена, як синоніми констант, їх необхідно визначити у розділі опису констант.
Наприклад, додамо до існуючого тексту програми опис констант:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
const
k=1024;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
end.
Ми додали константу k, яка має ціле значення 1024.
У розділі описі змінних необхідно визначити всі глобальні змінні, що використовуватимуться у програмі.
Наприклад доповнимо блок опису змінних двомі цілими змінними i та j.
var
Form1: TForm1;
i, j : integer;
Моделювання форми.
Перейдемо тепер безпосередньо до створення програми. Спочатко створимо форму, тобто візуальну частину програми. На відміну від більш старих версій мов програмування, Delphi значно полегшує роботу з інтерфейсною частиною. Для того, щоб додати кнопку до форми досить мишкою вибрати у стандартній частині (Standard) палітри компонентів кнопку
і клацнути потім на формі. На палітрі форми з’явиться

У модулі автоматично додастся до розділу опису типів Button1: TButton;
type
TForm1 = class(TForm)
Button1: TButton;
Згадаємо властивості кнопки. По-перше, надпис на кнопці, за який відповідає змінна caption або, якщо бути точнішим, Button1.Caption. Тип цієї змінної – string, початкове значення – ’Button1’. Це значення можна міняти як у самій програмі, так і у властивостях об’єкту. Розглянемо приклад, коли при натисканні на кнопку, напис на ній буде змінюватись на ‘Pressed’.
Як розглядалось вище, кожен об’єкт форми має перелік допустимих подій. Також для кожного об’єкта є і головна подія. Наприклад для кнопки головною подією є натискання на неї.
Для того, щоб описати послідовність дій, які відбуватимуться при натісканні на кнопку, досить або двічі клацнути у неї мишкою, або вибрати у Object Inspector кнопки Events, і далі OnClick.
У тексті модуля буде створена нова процедура
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
причому її заголовок буде розташований у інтерфейсній частині модуля
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
Далі, вся послідовність дій, що відбуватиметься при натисканні на цю кнопку, має бути розташована у алгоритмічній частині процедури між службовими словами begin та end;, що утворюють складний оператор.
У нашому випадку, у процедурі повинен змінюватись надпис на клавіші. Це матиме такий вигляд
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption:=’ Pressed ’;
end;
Весь текст модуля матиме вигляд
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption:=' Pressed ';
end;
end.
Відмітимо, що частина “заготовок” для підпрограм створюється автоматично при встановленні якоїсь події (наприклад події, що відбувається при натисканні на клавішу) для об'єкту форми. У нашому прикладі червоним кольором відмічена частина, що написана “вручну” програмістом, решта створюється автоматично. Крім того, для використання подій, наприклад кнопок, спочатку їх потрібно розташувати у формі.