Модуль (Unit) у Delphi є алгоритмічною частиною проекту. Текст його записується у окремий файл, якому за вмовчанням присвоюється ім’я unit1.pas. Модуль, на відміну від головної частини проекту, яка записана у файлі project1.dpr, не може виконуватись самостійно, він може тільки брати участь у виконанні програми. Але головна частина проекту project1.dpr передає керування подіями проекту модулю. Модулі дозволяють будувати персональні бібліотеки процедур та функцій, що дає можливість створювати програми будь-якого розміру та складності. Крім того у Delphi можна створювати зовнішні модулі (грім головного, що автоматично створюється), які потім під’єднуються до проекту і можуть використовуватись кількома проектами одночасно.
У загальному випадку модуль – це сукупність програмних ресурсів, призначених для використання іншими програмами ( у нашому випадку – для використання проектами та іншими модулями, адже кожен модуль використовує інші модулі, як стандартні, так і написані користувачем). Наприклад, модуль unit1.pas за вмовчанням вже використовує набір стандартних модулів. Це легко бачити з рядку ініціалізації модулів файлу unit1.pas
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
Під програмними ресурсами мається га увазі довільні події мови Delphi Pascal.
Всі програмні елементи модуля можна розбити на дві частини:
· програмні елементи, що призначені для використання іншими програмами та модулями (проектами та модулями). Такі елементи називають видимими поза модулем.
· програмні елементи, що є необхідними тільки для роботи самого модуля. Їх називають невидимими або скритими.
У відповідності до цього, модуль, крім заголовка, містить дві головні частини, що називаються інтерфейсом та реалізацією.
У загальному випадку, модуль має таку структуру:
unit < ім.’я_модуля>; {Заголовок модуля}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
{Опис зовнішніх модулів, що використовуються у програмі}
type {Опис типів}
TForm1 = class(TForm
private
{Опис приватних (тільки для цього модуля) властивостей, процедур та функцій об’єкту TForm1}
public
{Опис опублікованих (загальних) властивостей, процедур та функцій об’єкту TForm1}
end;
var {опис глобальних змінних модуля}
Form1: TForm1;
{Опис видимих програмних елементів модуля}
implementation
{$R *.DFM} {підключення файлу опису розташування компонентів проекту на полотні формі}
{алгоритмічна реалізація усіх програмних елементів модуля – процедур та функцій, як скритих, так і видимих}
end.