Проект Delphi являє собою набір програмних одиниць - модулів. Один з модулів - головний, містить інструкції, з яких починається виконання програми. Головний модуль програми повністю формується Delphi.
Головний модуль являє собою файл з розширенням dpr. Для того щоб побачити текст головного модуля додатка, потрібно з меню Project вибрати команду View Source.
Завантажити - приклад готового проекту в Lazarus (91,59 MB) = 1,31мін.
У лістингу наведеному нижче, наведено текст головного модуля програми обчислення швидкості бігу.
Лістинг №1. Головний модуль програми - program vrun;
Починається головний модуль словом program, за яким слідує ім'я прог- Рамі, що збігається з ім'ям проекту. Ім'я проекту задається в момент сохра- нання проекту, і воно визначає ім'я створюваного компілятором виконуваного файлу програми. Далі за словом uses слідують імена використовуваних модулів: бібліотечного модуля Forms і модуля форми vrunl.pas.
Частина, що головного модуля знаходиться між інструкціями begin і end. Інструкції виконуваної частини забезпечують ініціалізацію додатка і висновок на екран стартового вікна.
Крім головного модуля, кожна програма включає в себе ще як мінімум один модуль форми, який містить опис стартової форми додатка і підтримують її роботу процедур. У Delphi кожній формі відповідає свій модуль.
У лістингу, наведеному нижче, наведено текст модуля програми обчислення швидкості бігу.
Лістинг №2. Модуль програми.
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms, Dialogs, StdCtrls;
TForm1 = class (TForm) Edit1: TEdit;
Edit2: TEdit; Label1: TLabel;
Label2: TLabel; Label3: TLabel;
procedure ButtonlClick (Sender: TObject);
procedure Button2Click (Sender: TObject);
// натискання кнопки Обчислити
procedure TForm1.ButtonlClick '(Sender: TObject);
dist. integer; // дистанція, метрів
t: real; // час як дробове число
min. integer; // час, хвилини
sek. integer; // час, секунди
// одержати вихідні дані з полів введення
dist: = StrToInt (Edit1.Text); t: = StrToFloat (Edit2.Text);
min: = Trunc (t); // кількість хвилин - це ціла частина числа t
sek: = Trunc (t * 100) mod 100; // кількість секунд - це дрібна частина
v: = (dist / 1000) / ((min * 60 + sek) / 3600);
label4.Caption: = 'Дистанція:' + Edit1.Text + 'м' + # 13
+ "Тайм-аут: '+ IntToStr (min) +' хв '
+ IntToStr (sek) + 's' + # 13 +
'Швидкість:' + FloatToStrF (v, ffFixed, 4,2) + км / год ';
// натискання кнопки Завершити
procedure TForm1.Button2Click (Sender: TObject)
Починається модуль словом unit, за яким слідує ім'я модуля. Саме це ім'я згадується в списку використовуваних модулів в інструкції uses головного модуля додатка, текст якого наведено в лістингу ВЗ.
Модуль складається з наступних розділів: