МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
Національний Університет “Львівська політехніка”
Методичні вказівки
до лабораторних робіт з курсу
“Застосування засобів об’єктно-орієнтованого програмування в лінгвістичних задачах” за спеціальністю 07.030505 - “Прикладна лінгвістика”
Львів -2002
Початок роботи в Delphi.
Методичні вказівки із курсу “Застосування засобів об’єктно-орієнтованого програмування в лінгвістичних задачах” для студентів спеціальності за спеціальністю 07.030505 - “Прикладна лінгвістика” Укл. Д.В.Корпильов. Львів: ДУЛП ,2002.
Укладач: Д.В. Корпильов , асистент.
Відповідальний за випуск С.П.Ткаченко , к.т.н. , доцент
Рецензенти Ю.В.Стех, к.т.н. , доцент
М.Б.Близнюк , к.т.н. , доцент
Початок роботи в Delphi
Вигляд екрану після запуску Delphi трохи незвичайний (дивися малюнок 1). Замість одного вікна на екрані з'являються чотири: головні вікна Delphi, вікно форми Form1, вікно інспектора об'єктів Object Inspector і вікно редактора коду Unit1.pas.
Малюнок 1.
У головному вікні Delphi (малюнок 2) знаходиться меню команд Delphi, панель інструментів і палітра компонентів. Вікно форми Form1 являє собою заготівлю (макет) вікна розроблювального додатка.
Малюнок 2
Перший проект
Для демонстрації можливостей Delphi і технології візуального проектування займемося розробкою програми перерахування ваги з фунтів у кілограми.
Форма додатка
Робота над новим проектом (так у Delphi називається розроблювальний додаток) починається зі створення стартової форми - вікна, що з'являється при запуску додатка.
Примітка:
Діалогове вікно програми, що відкривається під час її роботи на етапі розробки програми, називається формою.
Стартова форма створюється шляхом зміни властивостей (характеристик) форми Form1. Властивості форми визначають її зовнішній вигляд: розмір, положення на екрані, текст заголовка, вид рамки. Властивості перераховані на вкладці Properties (Властивості) діалогового вікна Object Inspector (Інспектор об'єктів) (мал. 3). У лівому стовпчику знаходяться імена властивостей, а в правої - їхні значення.
Малюнок 3. Заміна значення властивості Caption
При створенні форми в першу чергу варто змінити значення властивості Caption (Заголовок). У нашому прикладі треба замінити Form1 на Фунти-кілограми. Для цього необхідно клацнути мишею поле Caption. У результаті в правому стовпчику, де знаходиться поточне значення (Form1) властивості caption (Заголовок), з'явиться курсор (рис 3). Використовуючи клавішу <Backspase>, видалите Form1 і введіть Фунти-кілограми. Аналогічним образом можна установити значення властивостей Height і width, що визначають висоту й ширину форми. Цим властивостям треба привласнити значення 185 і 290.
Примітка:
Розмір форми і її положення на екрані, а також розмір і положення елементів керування на поверхні форми задаються в пікселях, тобто крапках екрана.
Розмір форми можна змінити точно так само, як і розмір будь-якого іншого вікна Windows, тобто захопленням і переміщенням (за допомогою миші) границі вікна. По закінченні переміщення границь автоматично зміняться значення властивостей Height і width. Вони будуть відповідати встановленому розміру форми. При виборі деяких властивостей, наприклад, властивості Color (Колір), що визначає колір фона форми, праворуч від значення властивості виводиться значок стрілка, що вказує на наявність списку, що розкривається. Подвійне натискання на стрільці розкриває список припустимих значень властивості, з якого можна вибрати потрібне значення. Об'єкти, у тому числі і форми, крім звичайних властивостей можуть мати і складні властивості. Перед ім'ям складної властивості встановлений значок "плюс". При подвійному натисканні на імені складної властивості розкривається список уточнюючих властивостей, а значок "плюс" міняється на "мінус". У полі значення складної властивості Font розташована командна кнопка з трьома крапками, при натисканні якої з'являється стандартне діалогове вікно Windows, що дозволяє вибрати шрифт і задати його параметри. Більшість властивостей визначають зовнішній вигляд форми. Властивість Name, що визначає ім'я форми, використовується в програмі для керування формою. У табл. 2.1 приведені змінені властивості форми розроблювального додатка (програми перекладу фунтів у кілограми). Інші властивості форми залишені без зміни й у таблиці не приводяться.
Таблиця 1. Властивості форми розроблювального додатка і їхнього значення
У табл. 1 наведені значення вкладених властивостей Name і size складної властивості Font. Перед ім'ям вкладеної властивості вказується ім'я властивості, його що вміщає. Після установки значень властивостей, перерахованих у табл. 1, форма приймає вид, зображений на мал. 4.
Малюнок 4.
Компоненти форми
Програма перерахування ваги з фунтів у кілограми повинна одержати від користувача вихідні дані - значення ваги у фунтах. У Windows дані з клавіатури вводяться в поле редагування. Тому у форму треба додати компонент - поле редагування. У Delphi полючи редагування, командні кнопки, полючи статичного тексту та інші елементи керування, що знаходяться у формі, називаються компонентами (компоненти форми). У програмі форма і компоненти розглядаються як об'єкти. Цим можна пояснити те, що вікно, у якому знаходяться властивості компонентів, називається Object Inspector (Інспектор об'єктів). Для того щоб додати у форму компонентів, необхідно в палітрі компонентів (малюнок 5) вибрати вкладку, клацнути пиктограмму потрібного компонента, а потім клацнути лівою кнопкою миші в тій крапці форми, де повинний знаходитися правий верхній кут компонента. У результаті у формі є компонент стандартного розміру.
Рис. 5. Вкладка Standard палітри компонентів містить найбільше часто використовувані компоненти
Для того щоб додати у форму компонентів заданого розміру, необхідно після вибору піктограми потрібного компонента помістити курсор миші в ту крапку форми, де повинний знаходитися лівий верхній кут компонента Потім варто натиснути ліву кнопку миші і, утримуючи її натиснутої, перемістити курсор у крапку, де повинний знаходитися правий нижній кут компонента, і відпустити кнопку миші. У формі з'явиться компонент потрібного розміру.
На мал. 6 представлений вид форми після додавання в неї поля редагування (Edit1). Компонент форми, оточений маленькими квадратиками (маркерами), називається виділеним (маркірованим). Для того щоб виділити компонент, треба клацнути його мишею.
Малюнок 6.
Властивості маркірованого компонента відображаються в діалоговому вікні Object Inspector (Інспектор об'єктів). У табл. 2 перераховані основні властивості компонента - поле редагування.
Таблиця 2. Властивості компонента поле редагування
Delphi надає можливість змінити розмір компонента і його положення на поверхні форми. Для того щоб змінити положення компонента, необхідно установити курсор миші на його зображення, натиснути ліву кнопку миші і, утримуючи її натиснутої, перемістити компонент у потрібну крапку форми, потім відпустити кнопку миші. Під час переміщення компонента Delphi відображає поточні значення координат верхнього лівого кута компонента (значення властивостей Left і Tор). Для того щоб змінити розмір компонента, необхідно його виділити, установити покажчик миші на один з маркерів, що позначають границю компонента, натиснути ліву кнопку миші і, утримуючи її натиснутої, змінити положення границі компонента. Потім відпустити кнопку миші. Під час зміни розміру компонента Delphi відображає його поточні розміри: висоту і ширину (значення властивостей Height і width).
Властивості компонента так само, як і властивості форми, можна змінити за допомогою інспектора об'єктів. Для того щоб властивості необхідного компонента відображалися в діалоговому вікні Object Inspector (Інспектор об'єктів), необхідно виділити чи компонент вибрати його ім'я в списку, що розкривається, у верхній частині цього вікна (прямо під заголовком).
У табл. 3 приведені значення властивостей поля редагування, призначеного для уведення ваги у фунтах.
Таблиця 3, Значення властивостей полючи редагування (Edit1)
Крім полів редагування вікно форми повинне містити текст, що пояснює: коротке інформаційне повідомлення. Текст, що знаходиться у формі, називають міткою. Мітка додається у форму точно так само, як і поле редагування. Значок компонента "мітка" (буква А) знаходиться на вкладці Standard (Стандартна) палітри компонентів (мал. 3). Після того як мітка додана у форму, можна змінити її властивості в діалоговому вікні Object Inspector (Інспектор об'єктів). У форму розроблювального додатка треба додати двох міток. Перша мітка буде являти собою інформаційне повідомлення. Друга мітка призначена для висновку результату перерахування ваги з фунтів у кілограми. Після додавання міток і установки значень їхніх властивостей, форма розроблювального додатка здобуває вид, представлений на мал. 7
Малюнок 7.
Таблиця 4. Значення властивостей міток Label1 і Label2
Властивість ParentFont (Спадкування параметрів шрифту батьківської форми) мітки Label2 має значення false. Тому властивість Font цієї мітки не успадковує значення властивості Font "батька", у даному випадку основної форми. Це дає можливість установити властивості шрифту мітки інші, чим у форми. У мітки Label1 значення властивості ParentFont залишимо без зміни.
Якщо властивість AutoSize (Автоматичний підгін розміру) має значення true, то Delphi автоматично встановлює розміри мітки в залежності від кількості символів тексту мітки, використовуваного шрифту і його розміру.
При необхідності розташувати текст мітки в кілька рядків випливає властивості AutoSize привласнити значення false і вручну установити значення властивостей, що визначають розмір мітки.
На завершення у форму треба додати командну кнопку, при натисканні якої буде виконуватися перерахування ваги у фунтах, введеного в поле вводу, вагу в кілограмах. Кнопка додається у форму точно так само, як і інші компоненти. Піктограма командної кнопки (у виді кнопки ОК) знаходиться на Standard (Стандартна) палітри компонентів. Після додавання командної кнопки в діалоговому вікні Object Inspector (Інспектор об'єкт необхідно установити необхідні значення її властивостей, що представлені в табл. 5
Таблиця 5. Значення властивостей командної кнопки Button1
Остаточний Остаточний вид форми розроблювального додатка перерахування ваги з фунтів у кілограми представлений на мал. 8
Малюнок 8
Подія і процедура обробки події
Вид створеної форми підказує, як працює додаток. Очевидно, що користувач повинний ввести в поле редагування значення ваги у фунтах і клацнути на кнопку <Перерахування>. Клацнути на зображенні командної кнопки - це приклад того, що в Windows називається подією.
Подія - це те, що відбувається під час роботи додатка в Delphi у кожної події є ім'я. Наприклад, клацнути кнопкою миші - це подія OnClick, подвійне клацання мишею - подія OnDblClick.
Таблиця 6. Події Windows
Реакцією на подію повинне бути яка-небудь дія. Наприклад, реакцією на подію OnClick, що відбулася на кнопці <Перерахування>, повинний бути перерахування ваги з фунтів у кілограми. У Delphi реакція на подію реалізується як процедура обробки події. Таким чином, завдання програміста полягає в написанні необхідних процедур обробки подій. Методику створення подібних процедур розглянемо на прикладі процедури обробки події для командної кнопки.
Спочатку необхідно виділити об'єкт, для якого створюється процедура обробки події. У нашому прикладі таким об'єктом є командна кнопка <Перерахування>. Потім варто вибрати вкладку Events (події) діалогового вікна Object Inspector. На вкладці буде відображений список подій, що здатний сприймати маркірований (виділений) компонент. Список подій для наше командної кнопки приведений на малюнку 9.
Малюнок 9.
У лівому стовпчику вкладки Events перераховані імена подій, на які може реагувати маркірований об'єкт. Якщо для події визначена процедура обробки, то в правому стовпчику поруч з ім'ям події виводиться ім'я цієї процедури.
Для того, щоб створити процедуру обробки події, необхідно виконати подвійний щиглик у поле імені процедури обробки події (тобто в правому стовпчику). У результаті відкриється вікно редактора коду Unit1.pas (у Дельфі) кодом називається текст програми) із шаблоном процедури обробки події (малюнок 10), що створюється в Дельфі автоматично.
Малюнок 10.
Дельфі надає процедурі обробки події ім'я, що складається з двох частин. Перша частина імені ідентифікує форму, що містить об'єкт, для якого створюється процедура обробки події. Друга частина імені ідентифікує сам об'єкт і подія. У нашому прикладі ім'я форми - Form1, ім'я командної кнопки - Button1, а ім'я події Click.
У вікні редактора коду між begin і end можна друкувати інструкції мови Object Pascal, що реалізують процедуру обробки події. Нижче наведений текст процедури обробки події OnClick для командної кнопки <Перерахування> :
procedure TForm1.Button1Click(Sender: TObject); var f:real; //вага у фунтах k:real; //вага в кілограмах
begin f:=StrToFloat(Edit1.Text); //перевести вміст Edit1 у число k:=f*0.4059; label2.Caption:=Edit1.text+' фунт(а/ов) це '+ FloatToStr(k)+' кілограм'; end;
[an error occurred while processing this directive]
Програма одержує вихідні дані з поля редагування Edit1 шляхом звертання до властивості Text. Властивість Text містить рядок символів (текст), тому в програмі для перетворення зображення числа в дійсне число використовується функція StrToFloat.
Обчислене значення виводиться програмою в поле мітки Label2 шляхом присвоєння цього значення властивості Caption. Для перетворення дійсного числа в його зображення (текст повідомлення з результатом перерахування) використовується функція FloatToStr.
Редактор коду
Редактор коду Дельфі автоматично виділяє ключові (зарезервовані) слова мови програмування Object Pascal (begin, end, const, var і інші) напівжирним шрифтом, що робить текст програми більш виразним і полегшує сприйняття структури програми.
Крім ключових слів редактор коду виділяє коментарі. Як тільки програміст надрукує символ початку коментарю (відкриваючу фігурну дужку - '{' ), так текст, що стоїть після цієї дужки, змінить свій вид і стане коментарем. При компіляції коментарі не враховуються, вони потрібні лише для тих, хто буде переглядати код. Після того як програміст уведе закриваючу дужку коментарю, текст що знаходиться після цієї дужки, приймає звичайний вид.
Контекстно-залежна довідкова система
Редактор коду постачений контекстно-залежною довідковою системою, що під час набору тексту програми автоматично виводить довідкову інформацію про процедури і функції мови програмування.
Наприклад, якщо під час набору тексту програми надрукувати слово "StrToFloat", що є ім'ям функції перетворення рядка символів у дійсне число, і після нього поставити відкриваючу дужку, то на екрані з'явиться маленьке вікно, у якому буде зазначений тип параметра функції.
Малюнок 11.
Довідкова система
При наборі тексту програми можна одержати довідку про конструкцію мови програмування, чи процедурі функції. Для цього необхідно у вікні редактора коду надрукувати слово, про яке треба одержати довідку, потім установити курсор на будь-яку його букву і натиснути функціональну клавішу <F1>.
Наприклад, якщо курсор помістити на слово real натиснути <F1>, те на екрані з'явиться вікно, зображене на малюнку 12.
Малюнок 12.
Існує й інший спосіб одержати довідку. Для цього необхідно вибрати команду Index (Предметний покажчик) меню Help. У діалоговому вікні, що відкрилося, Довідкова система: Delphi Help на вкладці Предметний покажчик у поле Введіть перші буквы потрібного слова варто ввести слово, про яке потрібно одержати довідку.
Як правило, з одним словом у довідковій системі пов'язано кілька розділів. Тому для одержання довідки по конкретному розділі необхідно в списку вибрати його назва і натиснути кнопку <Вивести>.
Збереження проекту
У термінології Дельфі проект - це набір файлів, використовуючи які компілятор створює файл програми, що виконується. Проект включає файл проекту й один чи кілька файлів модулів (Unit - модуль).
Файл проекту має розширення .dpr і містить загальний опис проекту. Файли модулів проекту мають розширення .pas і містять тексти процедур, функцій, опису типів і іншу інформацію, необхідний компілятору для створення програми, що виконується.
Для того, щоб зберегти проект необхідно вибрати команду Save Project As (Зберегти проект як) меню File. Якщо даний проект зберігається вперше, то у відповідь на команду збереження проекту Save Project As Дельфі спочатку виводить діалогове вікно Save Unit As (Зберегти модуль як). (малюнок 13)
Малюнок 13.
У цьому вікні варто вибрати папку, призначену для збереження проектів Дельфі. У папці проектів Дельфі варто створити нову, окрему папку для файлів проекту, що зберігається. Для цього можна натиснути на кнопку Створення нової папки в діалоговому вікні Save Unit1 As. (Піктограма у виді папки з зірочкою).
Примітка:
Наприклад, у мене улаштовано так: у папці Мої документи знаходиться папка Delphi, а в цій папці кожна програма (точніше кожен проект) зберігається у своїй папці. Виходить дуже зручно, і потрібний проект завжди легко знайти.
Праворуч від значка нової папки, що з'явився, у поле "Зберегти в" варто ввести ім'я папки проекту, наприклад, Фунти-кілограми і натиснути <Enter>. У результаті папка з ім'ям Фунти-кілограми з'явиться в діалоговому вікні Save Unit1 As.
Тепер подвійним клацанням на значку створеної папки потрібно розкрити її й у діалоговому вікні Save Unit1 As у поле "Ім'я файлу" ввести ім'я програмного модуля (тобто .pas), наприклад FuntToKg_. Потім треба натиснути кнопку <Зберегти>.
Після збереження файлу модуля проекту відкриється діалогове вікно Save Project1 As (Зберегти проект як). У поле "Ім'я файлу" варто ввести ім'я файлу проекту.
Треба помітити, що не можна давати файлу модуля проекту і файлу проекту однакові імена! Хоча з погляду операційної системи це різні файли, Дельфі сприйме це як помилку.
Зверніть увагу на те, що ім'я файлу, що виконується, (.EXE), створеного компілятором, буде збігатися ім'ям файлу проекту, тому файлу проекту потрібно давати зрозуміле ім'я. Не можна давати імена, що містять букви українського алфавіту.
Компіляція
Після написання коду і збереження проекту можна, вибравши команду Compile (Компілювати) у меню Project (Проект), відкомпілювати створений додаток. Якщо в програмі немає синтаксичних помилок, то компіляція відбудеться успішно й у результаті буде створений файл, що виконується, (.EXE) з таким же ім'ям, як і ім'я вашого проекту.
Можна настроїти Дельфі так, щоб по завершенні компіляції виводилося діалогове вікно з результатами компіляції. Для цього необхідно вибрати команду Enviroment Options (Настроювання) меню Tools (Інструменти/Сервіс). У діалоговому вікні, що відкрилося, Enviroment Options на вкладці Preferences (Установки) варто установити прапорець Show compiler progress (Показати хід виконання компіляції), що знаходиться в групі Compiling and Running, а потім натиснути кнопку OK.
Помилки часу компіляції
Під час компіляції текст програми перевіряється на відсутність синтаксичних помилок. Компілятор переглядає програму від початку. Якщо виявляється помилка, то процес компіляції припиняється. І у вікні редактора коду виділяється рядок, що містить помилку. (Малюнок 14)
Малюнок 14.
У нижню частину вікна редактора коду компілятор виводить повідомлення про помилки. Якщо розмір вікна редактора коду недостатній для відображення повідомлення про помилку в повному обсязі, то наприкінці повідомлення вказуються крапки. У цьому випадку можна розгорнути вікно редактора коду на весь чи екран помістити курсор миші га слово Error, у результаті чого з'явиться спливаюча підказка, що містить весь текст повідомлення про помилку.
Наявність у тексті хоча б однієї синтаксичної помилки, приводить до виникнення другої помилки - Fatal Error, що говорить про неможливість генерації програми, що виконується.
Рядок вироблена компілятором не завжди містить помилку. Часто помилкової є інструкція, що знаходиться на попередньому рядку. Наприклад, на малюнку 14 інструкція k:=f*0.4059; вірна, хоча і позначена компілятором як помилкова. Але помилку містить попередній рядок, у якій після інструкції немає символу "крапка з комою".
Таблиця 7. Повідомлення про найбільш типові помилки.
Запуск додатка із середовища програмування
Спробний запуск додатка можна виконати безпосередньо із середовища програмування, не завершуючи роботу з Дельфі. Для цього необхідно вибрати команду Run меню Run (Виконання).
На малюнку 15 приведений вид діалогового вікна працюючого додатка Фунти-Кілограми після уведення ваги у фунтах і щиглика кнопки Перерахування.
Малюнок 15.
Вікно додатка - це звичайне вікно Windows. Його можна переміщати по екрані, можна розгорнути на весь екран, можна чи згорнути закрити.
Помилки часу виконання додатка
Під час роботи додатка можуть виникати помилки, що називаються помилками часу чи виконання виключеннями (exceptions). У більшості випадків причинами виключень є невірні вихідні дані.
Наприклад, якщо в програмі перерахування ваги з фунтів у кілограми число фунтів ввести не цифрами, а словом, наприклад, "півтора", то після клацання на кнопці <Перерахування> на екран буде виведене вікно з повідомленням про помилку.
У тексті програми дробова частина числової константи відокремлюється від цілої частини крапкою. При уведенні вихідних даних користувач може відокремити дробову частину числа від цілою чи крапкою комою. Який з цих двох символів є припустимим, залежить від настроювань Windows.
Якщо програма запускається з Дельфі, то при виникненні виключення також з'являється вікно з повідомленням про помилку, і виконання програми припиняється. У цьому вікні крім повідомлення про помилку вказується тип помилки.
Для того, щоб продовжити виконання програми, необхідно натиснути на кнопку OK у вікні з повідомленням про помилку, а потім вибрати команду Step Over меню Run. Для завершення роботи додатка необхідно вибрати команду Program Reset меню Run.
При розробці проекту програміст повинний передбачити всі можливі варіанти некоректних дій користувача, що можуть привести до виникнення помилок часу виконання, і забезпечити способи захисту від них.
Остаточне настроювання додатка
Після того як програма налагоджена, необхідно виконати її остаточне настроювання: призначити додатку значок (піктограму), що буде зображувати файл додатка, що виконується, у чи папках на робочому столі. Цей же значок буде знаходиться під час роботи додатка поруч з її ім'ям на панелі задач Windows.
Для того щоб призначити додатку значок, необхідно вибрати команду Options меню Project (чи нажити Shift+Ctrl+F11) і в діалоговому вікні, що відкрилося, Project Options вибрати закладку Application. (малюнок 16)
Малюнок 16.
У поле Title (Заголовок) варто ввести назву додатка. Під час роботи додатка його назва виводиться на панелі задач Windows поряд зі значком, що зображує цей додаток.
Щоб призначити додатку значок, необхідно натиснути кнопку Load Icon (Завантажити іконку). У діалоговому вікні, що відкрилося, Application Icon потрібно знайти файл придатного значка (повинний бути з розширенням .ICO). Вибравши потрібний значок, натисніть кнопку Відкрити. У результаті діалогове вікно Application Icon закриється, і знову з'явиться діалогове вікно Project Options, у якому тепер відображається обраний значок додатка. Для завершення процесу натисніть кнопку OK.
У такий спосіб ми завершили створення Вашого першого додатка в Delphi. Сподіваюся цей матеріал пішов вам на користь і ви в усьому розібралися. Тепер можете приступати до більш серйозних речей.
Структура простого проекту Дельфі
Проект Дельфі представляє собою набір програмних одиниць - модулів. Один з модулів, який називається глобальним, містить інструкції, з яких починається виконання програми. Головний модуль додатка автоматично формує Дельфі.
Примітка:
Головний модуль зберігається у файлі з розширенням.dpr. Для того щоб побачити текст головного модуля додатка, необхідно вибрати команду View Source (Переглянути вихідний код) меню Project.
На лістінгу 1 наведений приклад головного модуля програми перерахування ваги з фунтів у кілограми.
Головний модуль починається словом Program, за яким їде ім'я програми, що співпадає з ім'ям проекту. Ім'я проекту задається програмістом у момент збереження файлу проекту, і воно визначає ім'я створюваного компілятором файлу програми, що виконується. Далі за словом uses їдуть імена використовуваних модулів: бібліотечного модуля Forms і модуля форми Unti1.pas
Схожа на коментар директива {$R *.RES} вказує компілятору, що потрібно використовувати файл ресурсів, що містить опису ресурсів додатка, наприклад, піктограми. Зірочка показує, що ім'я файлу ресурсів таке ж, як і у файлу проекту, але з розширенням.res
Примітка:
Файл ресурсів не є текстовим файлом, тому переглянути його за допомогою текстового редактора не можна. Для роботи з файлами ресурсів використовуються спеціальні програми, наприклад, Resource Workshop. Можна також використовувати утиліту Image Editor що входить до складу Дельфі , доступ до якої можна одержати вибором команди Image Editor меню Tools.
Частина головного модуля, що виконується, знаходиться між інструкціями begin і end. Інструкції частини, що виконується, забезпечують ініціалізацію додатка і виводу на екран стартового вікна.
Крім, головного модуля кожна програма включає як мінімум один модуль форми, що містить опис стартової форми додатка і підтримуючий роботу її процедур. У Дельфі кожній формі відповідає свій модуль.
На лістінгу 2 приведений текст модуля програми перерахування ваги з фунтів у кілограми.
Починається модуль словом unit, за яким їде ім'я модуля. Саме це ім'я згадується в списку використовуваних модулів в інструкції uses головного модуля додатка.
Модуль складається з трьох розділів: інтерфейсу, реалізації й ініціалізації.
Розділ інтерфейсу (починається словом interface) повідомляє компілятору, яка частина модуля є доступної для інших модулів програми. У цьому розділі перераховані бібліотечні модулі, використовувані даним модулем, а також знаходиться сформоване Дельфі опис форми (типу), який випливає за словом type.
Розділ реалізації починається словом implementation і містить оголошення локальних змінних, процедур і функцій, що підтримують роботу форми.
Далі йде директива {$R *.DFM}, що вказує компілятору, що в розділ реалізації треба вставити інструкції установки значень властивостей форми, що знаходяться у файлі з розширенням.dfm. Файл у форматі DFM генерується Дельфі на основі зовнішнього вигляду форми. На лістінгу 3 наведений текст файлу unit1.dfm нашого проекту перекладу з фунтів у кілограми. На цьому прикладі дуже добре видно як Delphi зберігає властивості об'єктів.
За директивою {$R *.DFM} їде опис процедур обробки подій форми. Сюди ж програміст може помістити опис своїх процедур і функцій, що можуть викликатися з процедур обробки подій.
Розділ ініціалізації дозволяє виконати ініціалізацію змінних модуля. Інструкції розділу ініціалізації розташовуються після розділу реалізації між begin і end. Якщо розділ ініціалізації не містить інструкцій (як у приведеному прикладі), то слово begin не вказується.
Слід зазначити, що значна кількість інструкцій модуля формує Delphi. Наприклад, Delphi, аналізуючи дії програміста по створенню форми, формує опис класу форми (після слова type).