Лекція 1

 

1. Основні характеристики програмного продукту Delphi

Розвиток обчислювальної техніки і технології програмування спонукав до того, що фірма Borland розробила принципово новий програмний продукт, який отримав назву Delphi. Цей програмний продукт за оцінкою багатьох спеціалістів виявився одним з найважливіших продуктів сучасної комп'ютерної індустрії. Програмісти стверджують, що Delphi робить програмування задоволенням. Назва програмного продукту Delphi походить від назви грецького міста, в якому жив дельфійський оракул.

З використанням Delphi навіть програмісти-початківці, можуть створювати віконні додатки сумісні Windows. Програмні продукти створені на Delphi мають широко спектр застосовуються в інженерних, офісних, наукових галузях.

Використовуючи Delphi, можна розробляти бібліотеки, працювати з мережевими та локальними БД будь-яких типів (InterBase, Sybase, Microsoft SQL, Oracle, dBase та ін.).

Delphi є одним з самих поширених засобів створення додатків баз даних. Він дозволяє автоматично, високопродуктивно відлагоджувати програми роботи з базами даних на локальному сервері InterBase, що встановлюється разом з Delphi.

Delphi надає можливість зв'язуватись додатку з такими продуктами Microsoft, як Word, Excel, Access та ін., використовуючи їх можливості створювати потужні системи за їхньої допомоги.

В основі ідеології Delphi лежать:

- технологія візуально-подійного проектування;

- об'єктно-орієнтована методологія програмування, основу якої складає мова Object Pascal.

2. Базові поняття

Delphi - одна з найбільш потужних візуально об'єктно-орієнтованих середовищ програмування, що дозволяє на найсучаснішому рівні створювати як окремі прикладні програми, орієнтовані на роботу в Windows, так і розгалужені комплекси, що призначені для роботи в корпоративних мережах та в Інтернет.

Середовище візуального об'єктно-орієнтованого програмування Delphi - це графічна автоматизована оболонка об'єктно-орієнтованої версії мови Pascal - Object Pascal.

Проект в Delphi - це розроблюваний Delphi-додаток, що включає сукупність файлів-модулів, файлів-форм та інші файли, які зв'язані власне файлом-проекту.

Об'єкти проекту - за термінологією візуального програмування - це діалогові вікна і елементи управління, що є в діалогових вікнах (кнопки, поля введення текстової інформації, перемикачі та інше).

Форма - це діалогове Windows-вікно програми, яке відкривається під час роботи Delphi-додатку на етапі розробки програми, на нього розміщуються об'єкти проекту.

Клас - тип даних, який містить поля даних і методи їх обробки (аналог об'єкта в ТР/ВР).

Компонента - клас, який може використовуватись багаторазово та розміщується на формі.

Палітра компонент — це набір (контейнер) компонент Delphi, який представляє собою каталог візуальних і прикладних об'єктів.

Панель інструментів - панель, яка містить набір піктограм, котрі в свою чергу відповідають за ту чи іншу дію.

Код - текст програми.

Object Pascal - мова програмування, в основі якої лежить Pascal, реалізована за допомогою принципів ООП.

Подія - це те, що відбувається під час роботи Delphi-додатка.

Методи - це функції та процедури, що забезпечують всі необхідні операції над даними.

3. Склад середовища Delphi

Середовище візуально-подійного програмування Delphi являє собою інтегровану систему розробки, в яку входить набір спеціалізованих програм, що відповідають за різні етапи створення Delphi- додатку. Саме середовище візуального програмування Delphi (рис.1) складається з ряду елементів, що завжди присутні на екрані:

  1. Головне вікно із заголовком;
  2. Вікно Інспектора Об'єктів (Object Inspector);
  3. Вікно Форми (Form1);
  4. Вікно Редактора коду програми (Unit1.pas);
  5. Вікно Провідника коду (Code Explorer) (розташоване зліва від вікна редактора коду).



Головне вікно Delphi



Рис.1. Система вікон середовища Delphi

 


 

4. Головне меню Delphi

Головне меню складається з таких пунктів: File, Edit, Search, View, Project, Run, Component, DataBase, Tools, Windows, Help.

Меню є статичним, тобто воно залишається незмінним при переході від одного меню до іншого. Стрічка меню дозволяє керувати роботою системи самого Delphi з одного місця. В Delphi не потрібно індивідуальне меню для кожного вікна. Це все можливе, оскільки Delphi розроблений за специфікаціею SDI - Single Document Interface. Аналогічна модель документів і у Windows. Рядок меню можна налаштувати згідно побажань користувача, додаючи нові елементи до меню Tools. Стрічка меню дає можливість здійснювати контроль за всіма вікнами середовища розробки, дозволяє управляти проектом, вікнами і використовувати додаткові опції.

Меню File містить стандартні команди для роботи з файлами проекту. За допомогою цих команд можна створювати:

а) новий проект (New Application),

б) нову форму або модуль (New Form та New Unit);

в) відкрити або закрити файл ( Open та Close);

г) закрити всі файли проекту (Close All);

д) зберегти файл, проект або все відразу (Save, Save As, Save Project As, Save All).

За допомогою команд меню Edit можна:

а) вирівнювати компоненти відносно сітки та між собою (Align to Grid, Align);

б) задавати порядок відображення компонентів, які накладуються (Bring to Front, Send To Back);

в) змінювати розмір вибраного компонента (Size);

г) масштабувати візуальні компоненти (Scale).

Меню Search містить стандартні команди пошуку та заміни фрагмента тексту (Find, Replace, Search Again, Incremental Search).

У меню View знаходяться параметри перегляду елементів середовища.

Меню Project містить команди, за допомогою яких можна додавати, видаляти із проекту форми, змінювати опції проекту, компілювати проект (Compile, Build All), перевіряти синтаксис програми (Syntax Check).

Меню Run містить команди налагодження та запуску програми.

Меню Component використовують для створення та інсталяції нових компонентів, змінювати палітру компонентів, працювати із пакетами packages.

Меню Database містить команди, що дозволяють працювати із базами даних.

У меню Tools знаходяться компоненти для задання парамертів середовища.

Розділи меню Windows дозволяють переміщуватись серед вікон, що одночасно відкриті в процесі розробки.

Меню Help містить розділи, що допомагають працювати із довідковою системою.

5. Панель інструментів

Панель інструментів використовується для розміщення кнопок, які відповідають деяким командам меню, які часто використовуються. Панель інструментів виконує ті ж функції, що і команди меню.

Рис.2 Панель інструментів (стандарний склад)

 



Навівши курсор миші на певну кнопку, з'являється текст, який відповідає функції, яку виконує дана кнопка. На рис.2 відображена стандартна структура панелі інструментів, але в Delphi існує можливість змінювати панель, тобто додавати додаткові кнопки для команд, які ви часто використовуєте, видаляти кнопки, які ви рідко використовуєте, або навіть робити деякі кнопки невидимими.

Таблиця 1.

Характеристика команд, які виконують кнопки панелі інструментів в

стандатному складі

Команда меню

Призначення

File /New /Other

Додання до проекту нового елементу

File/Open (File/Reopen)

Відкриття файла проекту, модуля або вікриття файлів, які недавно використовувалися

File/Save As (File/Save)

Збереження файла модуля, з яким проводилась робота

File/Save All

Збереження всіх файлів (файлів модулів, файла проекту)

File/Open Project

Відкрити файл проекту

Project /Add to Project

Додати файл до проекту

Project/Remove from Project

Видалити файл із проекту

Help/Contents

Виклик допомоги

View/Units

Вибір модуля для перегляду

View/Forms

Вибір форми для перегляду

View /Toggle Form/ Unit

Перехід від форми до модуля, який їй відповідає

File/New/Form

Додати до проекту нову форму

Run/Run

Виконанння додатка

Run/Program Pause

Пауза виконання додатка

Run/Trace Into

Покрокове виконання програми із входом у функції

Run/Step Over

Покрокове виконання програми без входу до функцій

 

 

6. Палітра компонент

Палітра компонент подібна коробці з кубиками, які можна використовувати для побудови програми. Точніше кажучи, палітра компонент являє собою каталог візуальних і прикладних об'єктів, які можуть використовуватися при створенні додатків. Кожен елемент на кожній сторінці палітри являє собою функціонуючу підпрограму, яку можна вставити в свою програму простим рухом миші. Палітра компонент версії Delphi 7 розміщує свої компоненти в 33 групах (на 33 сторінках), які згруповані відповідно до їх змісту та призначення. Від версії до версії Delphi кількість компонент зростає.

Основні сторінки палітри компонент:

Standard - стандартні, містить компоненти, які найбільше використовуються;

Additional - додаткові, яка є доповненням стандартних;

Win32 - 32-бітні компоненти в стилі Windows 95/98/2000 та NT

System - системні, яка містить системні компоненти такі як, наприклад, таймер;

Data Access - доступ до даних;

Data Controls- компоненти відображення та редагування даних;

dbExpress - зв'язок з даними за допопомогою dbExpress (починаючи Delphi 6);

BDE - доступ до даних через Borland Database Engine — BDE (починаючи з Delphi 6, раніше ці компоненти розміщувалися на сторінці Data Access)

ADO - зв'язок з базами даних через Active Data Objects (ADO) - множина компонент ActiveX, що використовують для доступу до інформації баз даних Microsoft OLE DB (починаючи з Delphi 5)

InterBase - прямий зв'язок з базами даних InterBase (починаючи з Delphi 5);

WebServices – Компоненти для роботи зі стандартними сервісами мережі

Internet — компоненти для створення серверів Web;

Decision Cube - компоненти для багатовимірного аналізу даних (не в усіх варіантах Delphi);

Dialogs - вікна, системні вікда типу відкрити файл", „Зберегти файл" та інші;

Win 3.1 — Windows 3.x, компоненти в стилі Windows 3.x (для оберненої сумісності з Delphil);

ActiveX- компоненти ActiveX;

Rave - компоненти для підготовки звітів (починаючи з Delphi 7);

IndyClients - клієнтські компоненти Internet Direct (Indy), що дають доступ до різних протоколів Інтернету з додатків Delphi. C++Builder, Kylix (починаючи з Delphi 6);

IndyServers - серверні компоненти Internet Direct (Indy) (починаючи з Delphi 6);

InterBase Admin - компоненти можливостей нової версії InterBase (починаючи з Delphi 6);

Servers - оболонки VCL для поширених северів СОМ (починаючи з Delphi 5).

Кожна з груп представлена на окремій сторінці палітри компонент. На етапі проектування форми, програма ніби складається з окремих компонент - частин машинного коду, які можна додавати на форму за допомогою миші. Компоненти розміщуються на палітрі компонент. Вони володіють набором властивостей, що характеризують їх відмінні особливості. Деякі властивості є практично у всіх компонентах, наприклад, Name (ім'я). Інші властивості, наприклад. Caption (заголовок) є у більшості компонент. Окремі властивості унікальні для окремих компонентів, наприклад, SimpleText (простий текст). Властивості компонент в процесі проектування форми змінюються за допомогою Інспектора об'єктів. Інспектор об'єктів показує список властивостей даного компонента, відсортованих по категоріях або в алфавітному порядку. Значення будь-яких властивостей можна змінити. Крім властивостей компоненти містять методи - програмні коди, що обробляють значення властивостей, а також події, які приймає компонента. Правильно підбираючи компоненти і налаштовуючи їх на сумісну роботу шляхом використання властивостей, часто вдається сконструювати програму, взагалі не набравши жодного рядка тексту з клавіатури в тексті програми.

7. Вікно редактора коду

Вікно редактора коду відкривається, як складене з двох частин:

  • вікна провідника коду (Code Explorer),
  • вікна самого редактора коду В ньому відображають і редагують тексти програм. Це вікно представляє собою потужний редактор для створення і редагування коду модулів. Його можна побачити, відсунувши мишею вікно форми. Вікно редактора коду містить сформований Delphi-шаблон коду програми.

Редактор коду підтримує такі можливості:

- автоматично виділяє ключові слова мови Object Pascal, що робить текст програми більш виразним, полегшує сприйняття структури програми, виділяє коментарі, кольорове і позиційне відображення коду модуля програми;

  • має контекстно-залежну довідкову систему, яка під час набору тексту програми автоматично виводить довідкову інформацію про процедури і функції мови програмування;
  • довідкову систему(щоб отримати довідку, необхідно надрукувати слово, встановити на нього курсор і натиснути F1 або вибрати команди Help, чи Delphi Help і система автоматично відобразить розділ який найбільш точніше відповідає набраному слову).

8. Структура вікна редактора коду

Структура вікна редактора коду стандартна. Вікно редактора коду містить (рис.3):

  • з лівого боку вікно Code Explorer, яке при необхідності можна закрити;
  • заголовок вікна редактора коду, в якому відображається ім'я поточного файлу, з яким ведеться робота;
  • зверху над текстом зображені закладки для позначення відкритих файлів (кожна закладка містить ім'я відповідного модуля; для перемикання вікна на потрібний модуль потрібно натиснути мишею на його закладці);
  • у нижній частині вікна розміщений рядок стану.

Рядок стану містить наступну інформацію:

  • про місце курсора на активній сторінці, номер рядка та стовпця;
  • чи був змінений текст модуля в цьому вікні після останнього збереження (modify);
  •  про режими набору символів на клавіатурі (insert - вставка символів, overwrite - заміна, read only - текст не можна змінювати.

Рис.3. Вікно редактора коду

 


 

Рис.4. Можливості Code Insight

 


 

Смугу ліворуч від тексту програми використовують для позначення рядків, на яких будуть розташовані місця зупинки програми. Для цього потрібно зробити позначку за допомогою миші на смузі навпроти потрібного рядка. Повторне натиснення знімає позначку. Редактор коду може працювати спільно з компілятором Delphi. Компілятор дає змогу покроково виконувати програму, безпосередньо в вікні редактора і відображати в ньому всю поточну інформацію. При необхідності можна створити вікно редактора коду. Для цього потрібно виконати команду View -> New Edit Window.

За допомогою пункту контекстного меню Properties (або використавши команду меню Tools -> Editor Options) можна виконати налагодження параметрів редактора коду.

До редактора коду додано інструмент Code Insight. Це є інтуїтивний помічник, який може працювати в двох режимах: автоматичному та ручному (СTRL+пробіл) (рис.4).

9. Вікно провідника коду Code Explorer.

Дане вікно можна автономно закривати і відкривати, а також розміщувати окремо. Для відображення цього вікна потрібно виконати команду View -> Code Explorer.

В цьому вікні відображається деревовидна діаграма, що містить всі типи, класи, властивості, методи, глобальні змінні, визначені в поточному модулі. Це вікно значно полегшує переходи між різними класами, компонентами, змінними і методами поточного модуля. Для "склеення" вікон редактора коду і Code Explorer можна натиснути  Ctrl + Shift + Е, або натиснути праву кнопку миші і вибрати View - > Editor або View - > Explorer.

Для налаштування параметрів Code Explorer потрібно виконати команду

Tools -> Environment options ->Explorer.

 

10. Інспектор об'єктів

Інспектор об'єктів є інструментом середовища розробки Delphi. Він дозволяє редагувати компонент і визначені для нього обробники подій (реакцію на стандартні події). Інспектор об'єктів розташовується в окремому вікні, яке створюється автоматично під час завантаження Delphi.

Вікно інспектора об'єктів (рис.5) має список компонентів поточної активної форми (іноді його називають селектором об'єктів), а також дві вкладки: властивості та події. Для виклику Інспектора об'єктів потрібно натиснути клавішу F11.

Рис.5. Інспектор об'єктів: а) вкладка Properties (властивості) б) вкладка Events (події)

 


 

Вкладка Properties (властивості) містить у лівій частині список всіх доступних під час проектування властивостей для поточного об'єкта, а в правій частині - їх значення. Знак "+" перед іменем властивості вказує, що ця властивість є складеною і містить інші вкладені властивості. Розгортання (або згортання) вкладеної властивості здійснюють при натисканні лівої кнопки миші на знаку "+"(або "-"). Для зміни значення властивості необхідно ввести його або вибрати з вказаного списку. При перенесенні на форму компоненти, інформація про неї автоматично розміщується в Інспекторі об'єктів.

Видиме ім'я активної компоненти складається з двох частин:

  • власного імені компоненти;
  • імені типу (класу), до якого вона належить.

Сторінка властивостей Properties складається з двох стовпців:

  • лівий - з назвами імен властивості активної компоненти;
  • правий — з їхніми значеннями.

Сторінка подій Events складається також з двох стовпців:

  • лівий містить імена стандартних подій, на які може реагувати компонента;
  • правий - з іменами процедур, методів опрацювання подій, які реалізують реакцію компоненти.

Стандартні події виникають під час створення та знищення компоненти, зміну її видимості, натискання на клавіші клавіатури, положення миші та інше. Багато компонент можуть реагувати на специфічні, характерні лише для них події. Кожній стандартній події відповідає фіксоване ім'я методу, процедури обробки. Спочатку правий стовпець є порожнім, тобто не реагує на жодні події. Для встановлення реакції на подію, потрібно перевести курсор миші на поле редактора події в правому стовпці та двічі натиснути правою кнопкою миші. Після цього в стовпці імен з'явиться ім'я методу обробки, а до вікна відповідного модуля в редакторі коду автоматично додається базовий початковий текст цієї події.

Курсор розташовується на місці майбутнього першого оператора. Відповідні заголовки методів так само додаються до опису класу форми, на якій розташована компонента. Початковий текст програми не містить складного оператора, отже, фактичної реакції компоненти на подію не буде доти, доки не будуть записані в тексті потрібні оператори.

Допустимих методів для опрацювання тієї ж події може бути декілька, тоді потрібне ім'я можна вибрати зі списку, який відкривається за допомогою кнопки

11. Вікно форми

При створенні будь-якого проекту автоматично створюється одна форма. Вікно форми являє собою заготовку (макет) вікна, проектованого в Delphi додатку. Його можна трактувати, як своєрідний будівельний майданчик, на якому відповідно до задуманого плану розташовуються компоненти майбутньої програми (рис.6).

Форма є вікном Windows, побудованим одним з допустимих стилів, в якому можуть розміщуватися різні елементи управління (кнопки, меню, перемикачі, списки, елементи введення і т. д.). Зверху над вікном є смуга заголовку і кнопки керування вікном. Решта простору вікна є робочою ділянкою, яка покрита крапковою сіткою, що є досить зручним для вирівнювання компонент під час розміщення їх на формі. Будь-яка програма в Delphi містить принаймні одну форму. Якщо проект потребує декілька форм, то їх можна додати при використанні команди File - > New Form.

Рис.6. Вікно форми

 


 

Перша спроектована форма є по замовчуванню головною (хоча дана властивість може підлягати зміні). Для головної форми характерні наступні властивості: саме цій формі передається управління на початку виконання додатку; закриття користувачем головної форми означає завершення виконання додатку; головна форма, як і інші, може бути спроектована невидимою, але, якщо всі інші форми закриті, то головна стає у будь-якому випадку видимою.

Для управління формами можна використовувати команду Project->Options, при виконанні якої з'являється вікно опцій проекту (рис.7).

Рис.7. Вікно опцій проекту На вкладці Forms можна визначити, яка з форм буде головною.

 


 

         Будь-яка форма може створюватися або автоматично при запуску програми, або програмно. Всі форми, які знаходяться в проекті, автоматично створюються при запуску програми, про що говорить оператор Application.CreateForm(TFormN, FormN) у файлі проекту, де TFormN - клас N-ї форми, FormN- N-a форма.

Якщо потрібно виключити певну форму зі списку форм, які створюються автоматично, то на вкладці Forms у вікні опцій проекту потрібно виділити потрібну форму із лівого списку Auto- create forms та за допомогою стрілки перенести до правого списку доступних форм Available forms. Для таких форм при використанні методу CreateForm можна створити форму у потрібний момент. При цьому форма створюється, але на екрані відображатися не буде.

В Delphi реалізована можливість використання шаблонів при створенні проекту. Шаблон містить готовий набір елементів керування. Для типових випадків розробки проектів Delphi дає змогу створювати власні шаблони і зберігати їх разом зі стандартними.

Розглянемо головні етапи роботи з компонентами в робочій ділянці вікна форми. Активна в конкретний момент компонента (та, що в фокусі) виділена контурною рамкою з малих чорних квадратів по периметру. Переміщення фокусу між компонентами здійснюють мишкою або клавішею ТАВ.

Для вилучення компоненти з форми потрібно перевести на неї фокус і натиснути DEL або Edit -> Delete. В межах робочої ділянки вікна пересувати компоненти краще мишкою, натискаючи ліву кнопку. Змінити розташування компоненти можна за допомогою властивостей Left, Тор інспектора об'єктів.

Розмір компоненти найзручніше змінювати мишкою. Для цього компоненту роблять активною, а потім переміщують мишку на один з чорних квадратів. Курсор набуває вигляду стрілки, пересуваючи який можна змінювати розмір. Крім того, розміри компонети можна задати з використанням властивостей інспектора об'єктів Hight, Width.

 

12. Основні файли проекту

Проект в Delphi - це розроблюваний Delphi-додаток, що включає сукупність файлів-модулів, файлів-форм та інші файли, які зв'язані власне файлом-проекту.

Під час проектування додатку Delphi створює наступні файли:

  • файл проекту (.dpr) - це текстовий файл, що використовується для збереження інформації про форми та модулі; містить оператори ініціалізації та запуску програми на виконання;
  • файл опису форми (.dfm) - це файл, який містить інформацію про форму;
  • файл модуля (.pas) - кожній створеній формі відповідає файл модуля, що використовується для збереження коду (можна створювати модулі, які не пов'язані із формами);
  • файл ресурсів (.res) - це файл, який містить ресурси, що використовуються проектом;
  • файл параметрів проекту (.dfo) - це файл, в якому зберігаються установки параметрів проекта;
  • файл інформації про пакети (.drf) - це бінарний файл, що використовується Delphi при роботі із пакетами;
  • файл пакета (.dpk) - це двійковий файл пакета (package);
  • файл конфігурації (.dsk) - це файл, що зберігає конфігурацію всіх вікон;
  • файл діаграм (.ddp) - це файл діаграми, що створюється на сторінці діаграм Редактора коду;
  • файл групи проектів (.bpg) - це файл, що створюється при роботі з групою проектів;
  • файли резервних копій (.~dp, .~df, .~ра) — це відповідно файли резервних копій для файлів проекту, форми та модуля.

Наступна група файлів створюється компілятором:

  • виконуваний файл (.ехе) - це виконуваний файл додатку;
  • динамічна бібліотека (.dll) - створюється при проектуванні DLL;

 

13. Створення проекту

Для того, щоб створити порожній проект, що містить тільки одну форму, потрібно виконати команду File - > New Application.

При цьому створюється проект, що складається з одного файла модуля, який має назву Unit1.pas, файла опису форми Form1.dfm і файла проекту Project1.dpr та декількох додаткових файлів. Після компіляції для кожного файла-модуля створюється двійковий файл *.dcu. а потім після лінкування всіх модулів створюється виконуваний файл *.ехе або динамічна бібліотека *.dll. Для кожного файлу опису форми з розширенням *.dfm відповідає файл модуля Unit1.pas. В файлі опису форми зберігається інформація про властивості форми і розміщені на ній компоненти. Після зберігання файлу модуля в цьому ж каталозі розміщується файл опису форми. Розробнику немає необхідності редагува­ти його зміст. Для цього він використовує інспектор об'єктів.

Існує також інший шлях створення додатку, а саме із використання команди File - > Other, в результаті чого зявляється вікно New Items (рис.8).

Рис.8. Вікно New Items

 


 

В даному вікні на вкладках представлені зразки компонент, форм, фреймів та проектів, які містяться в каталозі об'єктів. В каталозі об'єктів наявні зразки можна доповнювати власними формами, компонентами, фреймами, проектами.

Фрейми - це панель, тобто деякий фрагмент вікна додатку, який можна переносити на різні форми, в різні додатки, при цьому допускається використання переваг наслідування.

Фрейм — це є дещо середнє між панеллю та формою. Фрейм має наступні характеристики:

  • проектується окремо, як самостійне вікно;
  • має свій власний модуль - файл .pas;
  • має можливості наслідування навіть більш ширші, ніж у форми, оскільки може наслідуватися навіть в межах одного додатку
  • може включатися в каталог та використовуватися так, як і форма, включаючи наслідування;
  • не є самостійним вікном Windows та може відображатися тільки на формі або іншому контейнері;
  • має властивості, методи, події подібні до панелі.

Почати проектування нового фрейму можна командою

File->New ->Frame.

Таким чином з'явиться вікно фрейма, яке подібне до вікна форми. Аналогічно до форми на фрейм можна переносити та розміщувати будь-які компоненти. Розміщення екземплярів фрейма на формі здійснюється наступним чином: переходимо на основну форму додатку, вибираємо на сторінці Standart палітри компонент Frames

При створенні додатків можна вибирати між MDI та SDI додатками. В SDI додатках забезпечено інтерфейс роботи тільки з одним документом. Прикладом SDI додатку можна назвати середовище програмування Delphi. В MDI (Multiple Document Interface) додатках забезпечено робота з багатьма документами, в таких додатках активними можуть бути декілька вікон. Прикладами таких додатків можна назвати додатки типу Word. Excel, Adobe Acrobat Reader. MDI додатки складаються принаймні з двох форм (батьківської та дочірньої). Батьківська форма в таких додатках виступає головною, а дочірні не можуть розміщуватися за межами батьківської.

14. Структура головного файлу проекту

Файл проекту містить код, що забезпечує його функціонування в середовищі розробки, створення і завантаження додатку Windows. Даний файл має розширення .dpr. Він складається з двох частин:

  • секції опису модулів uses;
  • секції операторів тіла програми (begin ... end). Типовий головний файл проекту має наступний вигляд:

program Projectl; uses

Forms, {модуль, в якому міститься опис класу ТApplication, що є базовим для всіх Delphi-додатків}

Unitl in 'Unitl.pas' {Forml}; {модулі, що відповідають створеним формам, назва форми (її ідентифікатор) вказується у фігурних дужках}

{$R *.res} {директива компілятора, яка підключає до проекту всі необхідні ресурси (файли з розширенням .res)}

{місце для констант, змінних, функцій, процедур,які будуть доступні лише в межах даного файлу}

begin

Application.lnitialize; {проводиться ініціалізація самого додатку, що представлений екземпляром класу TApplication}

Application.CreateForm(Tform1, Form1); {проводиться завантаження та ініціалізація форми} Application.Run; {починається виконання додатку та завантаження головної форми}

end.

В секції uses перераховані всі модулі, що входять до складу проекту. Директива in вказує на місце розташування коду модуля.

В блоці begin ... end після ініціалізації об'єкта додатка Application.Initialize здійснюється створення форм Application.CreateForm, які входять до складу додатку. Метод Application.Run забезпечує виконання додатку та завантаження головної форми.

Даний файл можна переглянути за допомогою команди: Project - >View Source.

15. Файли модуля та форми

Файл вихідного коду модуля проекту має розширення *.pas і зберігає опис зв'язаної з модулем форми в синтаксисі мови Object Pascal, а також програмної логіки. Він має наступний вигляд:

unit Unitl;

interface {Відкритий інтерфейс модуля}

uses {Список модулів, що підключаються}

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; {це є основні модулі, що визначають функціональність додатку}

{Опис класу форми} type

TForrnl = class(TForm)

private // Закритий розділ класу

{Private declarations }

{Опис змінних, функцій і процедур, що включаються до класу форми, але не доступні для інших модулів}

public //Відкритий розділ класу

{Public declarations }

{ Опис змінних, функцій і процедур , що включаються до класу форми і доступні для інших модулів }

end;

var

Forml: TForm1; {створюється змінна, що є екземпляром класу TForm1}

{Опис типів, констант, змінних, функцій і процедур, до яких буде можливий доступ з інших модулів, але які не в ключаються до класу форми}

implementation // Реалізація модуля

{$R * .DFM}

{Тут можна розміщувати uses, опис типів, констант, змінних, які будуть доступні в межах даного модуля. Тут мають бути реалізації всіх описаних в розділі interface функцій та процедур, а також можуть бути присутні реалізації будь-яких додаткових, що не описані раніше, функції та процедури}

end.

Цей файл має звичну для модулів структуру. В секції interface містяться описи класів, типів, констант, змінних та модулів. В секції implementation зберігається вихідний код процедур та функцій. Код цієї секції доступний лише в цьому модулі. Описи секції interface видимі і в інших модулях. Директива {$R * .DFM} означає, що ресурси для створення форми зберігаються в файлі з іменем, аналогічним імені модуля, але з розширеним *.dfm.

В загальному випадку модуль може не мати зв'язаної з ним форми. В таких файлах зазвичай міститься вихідний код динамічних бібліотек, загальних для всього проекту процедур і функцій.

Файл з розширенням .dfm є файлом інтерфейсу користувача, що містить опис форми (або фрейма) і розміщених на ній компонент. Працюючи в інтегрованому середовищі розробки Delphi, цей файл можна перетворювати в текстовий ( View As Text - переглядати в текстовому вигляді). Таким чином у вікні редактора можна побачити текстовий файл, наприклад, наступного вигляду:

 

object Form1: TForm1 Left = 192 //горизонтальна координата лівого верхнього кута форми

Тор = 135 //вертикальна координата лівого верхнього кута форми

Width = 696 //ширина форми

Height = 480 //висота форми

Caption = 'Form1' //заголовок форми

Color = clBtnFace //колір форми

Font.Charset = DEFAULTCHARSET //набір шрифтів

Font.Color = clWindowText //колір шрифта

Font.Height = -11 //висота шрифта в пікселях

Font.Name = 'MS Sans Serif //тип шрифта

Font.Style = [] //стиль шрифта

PixelsPerlnch = 96 {визначає, скільки пікселів на дюйм використовується при відображенні форми на екрані} TextHeight = 13//висота тексту

object Buttonl: TButton

Left = 136 //координата лівого краю кнопки

Тор = 40 //координата верхнього краю кнопки

Width = 75 // ширина кнопки

Height = 25 //висота кнопки

Caption = 'Button1' // надпис на кнопці

TabOrder = 0 //при першій появі форми на екрані в фокусі

// буде дана компонента

end;

В даному текстовому файлі можна побачити опис двох об'єктів: форми Form1 типу TForm1 та кнопки Button1 типу TButton. Після заголовку кожного об'єкта перераховуються його властивості. У файлі вказуються не всі властивості, а тільки ті, значення яких відрізняються від значень по замовчуванню. Наприклад, в даному тексті немає властивості Anchors. Але якщо в процесі проектування відбулися зміни даного значення, то в файлі .dfm з'явиться відповідна стрічка. Наприклад,

Anchors =[akLeft, акТор, akRight]. Текстове представлення файла .dfm можна редагувати. Для оберненого перетворення текстового файлу в файл ресурсів .dfm ,потрібно в вікні Редактора Коду зафіксувати праву кнопку миші і вибрати з контексного меню команду View As Form або Alt+F12 (переглянути як форму). Отримаємо форму, яка після змін (якщо вони відбулися) матиме новий вигляд.

Взагалі кажучи, будь-який проект завжди входить в групу проектів. Група проектів може містити як один проект, так і декілька. Для групи проектів створюється файл групи проектів з розширенням *.bpg.

16. Збереження проекту

Як відомо, в термінах Delphi проект - це набір використовуваних файлів, на основі яких компілятор створює файл виконуваної програми. Як відомо, файл проекту має розширення *.dpr і містить загальний опис проекту. Для збереження проекту необхідно виконати команду

File - > Save Project As.

Якщо проект зберігається вперше, то на дану команду Delphi виводить вікно Save Unti1 As. В цьому вікні спочатку потрібно вибрати папку, призначену для проектів Delphi. В цій папці потрібно створити окрему папку для файлів проекту, що зберігається. Ім'я файлу проекту не повинно співпадати з файлом модуля.

17. Створення форми додатку

Робота над новим проектом починається зі створення стартової форми, вікно якої з'являється при завантаженні Delphi-додатку. Стартова форма створюється шляхом змін властивостей, характерних формі. Властивості форми визначають її зовнішній вигляд: розмір, положення на екрані, текст заголовку, вигляд рамки. Властивості форми перераховані на вкладці Properties Інспектора об'єктів. У лівій частині вікна знаходяться імена властивостей, а у правій - їх значення. При створенні форми можна змінити її заголовок, використавши властивість Caption. Аналогічним чином можна встановити значення властивості висоти і ширини форми, вибір кольору форми, шрифту та його висоти.

Tags: