Створення, збереження і відкриття проекту 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Створення, збереження і відкриття проекту



 

При запуску середовища Delphi автоматично створюється новий проект. Якщо буде потрібно створити новий проект, не перевантажуючи Delphi, просто виконайте команду меню File - New - New Application. У результаті старий проект буде закрито, а замість нього створено новий.

У процесі розробки програми ви додаєте на форму компоненти, створюєте обробники подій, додаєте в проект дочірні форми, в загальному, проектуєте додаток. Коли щось вже зроблено, необхідно зберегти проект. Для цього виконайте команду головного меню File - Save All. Delphi запросить спочатку ім'я для програмного модуля з формою, а потім ім'я для проекту. Якщо файл з введеним ім'ям вже є на диску, середовище Delphi повідомить вам про це і запитує підтвердження на перезапис існуючого файлу або запис під іншим ім'ям.

Якщо раптом буде потрібно замінити ім'я проекту іншим ім'ям, скористайтеся командою меню File - Save Project As… Якщо ж потрібно замінити ім'я модуля, скористайтеся командою File - Save As… Операції ці елементарні й не вимагають подальших пояснень.

Для відкриття в середовищі Delphi раніше збереженого на диску проекту достатньо виконати команду головного меню File - Open… На екрані з'явиться вікно діалогу, де необхідно вказати або вибрати з поданого списку папку та ім'я завантажуваного проекту.


Налаштування параметрів проекту

 

Проект має багато різних параметрів, за допомогою яких ви керуєте процесом компіляції і збірки додатку. Встановити параметри проекту можна у вікні Project Options. Для цього виберіть в головному меню команду Project - Options… На екрані з'явиться діалогове вікно; вам залишиться лише встановити в ньому потрібні значення параметрів.

 

Компіляція та складання проекту

 

Компіляція проекту може виконуватися на будь-якій стадії розробки проекту. Під компіляцією розуміється отримання об'єктних модулів (DCU-файлів) з вихідних текстів програмних модулів (PAS-файлів). Під складанням розуміється отримання виконуваного файлу з об'єктних модулів. У середовищі Delphi компіляція та збирання проекту суміщені.

Для виконання компіляції досить виконати команду меню Project - Compile <Назва проекту> або натиснути комбінацію клавіш Ctrl + F9. При цьому компілюються всі вихідні модулі, вміст яких змінювалося після останньої компіляції. У результаті для кожного програмного модуля створюється файл з розширенням DCU (скор. від Delphi Compiled Unit). Потім середовище Delphi компілює головний файл проекту і складає (іноді говорять компонує) з DCU-модулів виконуваний файл, ім'я якого збігається з ім'ям проекту.

Існує особливий вид компіляції і складання – повна примусова компіляція всіх програмних модулів проекту, для яких доступні вихідні тексти, з наступним складанням виконуваного файлу. При цьому не важливо, були включені до них зміни після попередньої компіляції чи ні. Повна компіляція проекту виконується за допомогою команди головного меню Project - Build <Назва проекту>. У результаті теж створюється виконуваний файл, але на це витрачатися трохи більше часу.

 

Запуск готового додатку

 

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

 

3. Основи візуального програмування в середовищі Delphi

 

3.1. Основні концепції візуального програмування вDelphi

 

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

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

 

3.2. Порожня форма і її модифікація

 

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

Спочатку розглянемо як змінювати значення властивостей форми.

 

Зміна заголовка.

За замовчуванням заголовок вікна збігається із заголовком форми: Forml. Щоб змінити заголовок форми потрібно звернутися до вікна Інспектора об'єктів і клацнути мишею по рядку Caption (Заголовок) сторінки Properties (Властивості) вікна Інспектора об'єктів. Тепер правий стовпчик цього рядка з текстом Forml виділений кольором і праворуч від виділення бачимо текстовий курсор. Переключіть клавіатуру в режим введення кирилиці і введіть новий заголовок, наприклад ЛАБОРАТОРНА РОБОТА №1. Результат зміни буде відразу відображений на формі.

 

Зміна кольору форми.

Щоб змінити колір форми потрібно звернутися до вікна Інспектора об'єктів і клацнути мишею по рядку Color (Колір) на сторінці Properties (Властивості) вікна Інспектора об'єктів, після чого в списку, що випадає (у правому стовпчику цього рядка) вибрати необхідний колір. Наприклад, якщо необхідно зробити форму жовтою, вибираємо clYellow, якщо червоною, тоді - clRed. У такий ж спосіб можна змінювати будь-які інші властивості форми.

 

Розміщення нового компонента.

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

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

Новий компонент має стандартне ім'я Label1 і напис на ньому повторює це ім'я. Змінити цей напис можна за допомогою рядка Caption вікна Інспектора об'єктів. Для цього треба ввести новий напис (наприклад, Delphi) у правий стовпчик цього рядка. Як тільки Ви почнете вводити новий напис, вигляд компонента на формі почне змінюватись, динамічно відображаючи всі зміни, зроблені Вами у вікні Інспектора об'єктів.

 

 

Рис. 3.1. Розміщення на формі компонента Label

 

Виділимо напис кольором і зробимо його шрифт більш великим. Для цього клацнемо мишею по властивості Font вікна Інспектора об'єктів і за допомогою кнопки в правій частині рядка розкриємо діалогове вікно налаштування шрифта. У списку size (Розмір) цього вікна виберемо висоту шрифту 24 пункта (пункт - 1/72 дюйма, тобто приблизно 0,04 мм, таким чином, 24 пункта означає висоту шрифту трохи більше 9 мм), а за допомогою списку Color (Колір) виберемо потрібний колір (наприклад, червоний), після чого закриємо вікно кнопкою ОК.

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

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

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

Усі видимі компоненти Delphi (у Delphi можуть використовуватися як видимі, так і невидимі компоненти. Невидимі компоненти не мають візуального відображення на етапі виконання програми) мають властивості Left (Ліворуч), Тор (Зверху), Width (Ширина) і Height (Висота), числові значення яких визначають положення лівого верхнього кута компонента і його розмірів у так званих пікселах, тобто в мінімальних за розміром точках екрана. При переміщенні компонента або зміні його розмірів мишею, ці значення автоматично міняються і, навпаки, зміна цих властивостей у вікні Інспектора об'єктів приводить до відповідної зміни положення і розмірів компонента.

 

Реакція на події.

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

Розглянемо приклад реакції на подію. Для цього проведемо чергову модернізацію нашої першої програми: вставимо в її форму ще один компонент - „кнопку", і змусимо її реагувати на подію - натискання лівої кнопки миші.

Компонент „кнопка" розташований на сторінці Standard палітри компонентів. Розмістемо цей компонент на формі.

Рис. 3.1. Розміщення на формі компонента Button

 

При клацанні по кнопці мишею в працюючій програмі виникає подія OnClick. Поки ця подія ніяк не обробляється програмою, тому "натискання" кнопки не приведе ні до яких наслідків. Щоб змусити програму реагувати на натискання кнопки, необхідно написати мовою Object Pascal фрагмент програми, що називається обробником події.

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

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

 

procedure TForml.ButtonlClick(Sender: TObject);

begin

end;

 

Ім'я процедури складене: воно складається з імені класу TForml і власне імені процедури ButtonlClick.

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

Кожен компонент належить до строго визначеного класу, а всі конкретні екземпляри компонентів, що вставляються у форму, одержують ім'я класу з доданим числовим індексом. У Delphi всі імена класів починаються з літери Т. Таким чином, ім'я TForml означає ім'я класу, створеного за зразком стандартного класу TForm. На початку тексту у вікні коду знаходяться наступні рядки:

 

type

 

TForml = class(TForm)

Buttonl: TButton;

Labell: TLabel;

procedure ButtonlClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var Forml: TForml;

 

Рядок TForml = class(TForm) визначає новий клас TForml, що породжений (створений за зразком) від стандартного класу TForm.

Рядок Forml: TForml створює екземпляр цього класу з ім'ям Forml. Стандартний клас TForm описує порожнє Windows-вікно, тоді як клас TForml описує вікно з уже вставленими в нього компонентами мітка і кнопка. Опис цих компонентів містять рядки Buttonl: TButton; Labell: TLabel. Вони вказують, що компонент Buttonl (Кнопка 1) є екземпляром стандартного класу TButton, а компонент Labell (Мітка l) - екземпляром класу TLabel.

За ім'ям процедури TForml.ButtonlClick у круглих дужках йде опис параметра виклику Sender: TObject. Параметр з ім'ям Sender належить класу TObject. Процедури можуть мати не один, а кілька параметрів виклику або не мати їх зовсім. Параметри виклику (якщо вони є) служать для налаштування реалізованого в процедурі алгоритму на виконання конкретної роботи. За допомогою параметра Sender підпрограма Button1Click може при бажанні визначити, який саме компонент створив подію OnClick.

Наступні рядки визначають тіло процедури:

begin

end;

Слово begin (початок) вказує компілятору про початок послідовності операторів, що описують алгоритм роботи процедури, а слово end (кінець) - про кінець цієї послідовності. У нашому випадку тіло процедури поки ще не містить опису будь-яких дій, що і не дивно: Delphi тільки створює шаблон для процедури, і нічого "не знає" про те, для чого ця процедура призначена. Наповнити тіло процедури - задача програміста.

Тепер при натисканні кнопки Button1 керування буде передаватися в тіло процедури. Між словами begin і end можна написати фрагмент програми, що буде виконуватися у відповідь на цю подію.

 

Динамічна зміна властивостей компонента.

Крім зміни властивостей на етапі конструювання форми за допомогою вікна Інспектора об'єктів, можна змінювати властивості під час виконання програми. Зміни на етапі конструювання називаються статичними, а в ході прогону програми - динамічними. Наприклад для динамічної зміни тексту на кнопці створимо оброблювач події OnCreate для форми і змінимо в ньому цю властивість.

Подія OnCreate виникає після створення windows-вікна, але до появи цього вікна на екрані. Щоб створити обробник цієї події, необхідно розкрити список компонентів у верхній частині вікна Інспектора об'єктів, вибрати компонент Forml і двічі клацнути по властивості OnCreate на сторінці Events цього компонента (клацати потрібно по правій частині рядка onCreate). У відповідь Delphi знову активізує вікно коду і покаже Шаблон для процедури TForml.FormCreate. Необхідно відредагувати її в такий спосіб:

 

procedure TForml.FormCreate(Sender: TObject);

begin

Button1.Caption:= 'Вихід з програми';

end;

 

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

Після чергового запуску програми Ви побачите змінений напис на кнопці.

Отже:

- процес створення Delphi-програми розбивається на два етапи: етап конструювання форми і етап кодування;

- конструювання форми здійснюється за допомогою вибору компонентів з палітри і розміщення їх на формі;

- програміст може переміщувати будь-який розміщений на формі компонент і змінювати його розміри за допомогою миші;

- щоб надати компоненту потрібні властивості, використовується сторінка Properties Інспектора об'єктів;

- щоб компонент міг відгукуватись на ту чи іншу подію, програміст повинен створити обробник події і вказати його ім'я на сторінці Events Інспектора об'єктів;

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

- для надання компоненту належної функціональності треба написати відповідний код у вікні кода;

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



Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 356; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.219.236.62 (0.049 с.)