
- •Лекція 12 Тема: Засоби візуальної розробки програм Перший проект
- •Компоненти
- •Подія й процедура обробки події
- •Редактор коду. Система підказок. Навігатор коду.
- •Система підказок
- •Навігатор коду
- •Шаблони коду. Довідкова система
- •Довідкова система
- •Структура проекту
- •Збереження проекту
- •Компіляція
- •Помилки
- •Попередження й підказки. Запуск програми.
- •Variable… is declared but never used in…
- •Запуск програми
- •Помилки часу виконання
- •Внесення змін
- •Остаточне настроювання додатка
- •Створення значка для додатка. Перенос додатка на інший комп’ютер.
- •Перенос додатка на інший комп’ютер
Компоненти
Програма обчислення швидкості бігу повинна одержати від користувача вихідні дані – довжину дистанції й час, за який спортсмен пробіг дистанцію. У подібних програмах дані із клавіатури, як правило, вводять у поля редагування. Тому у форму треба додати компонент Edit – поле редагування.
Найбільш часто використовувані компоненти перебувають на вкладці Standard (рис. 6).
Для того щоб додати у форму компоненти, необхідно в палітрі компонентів вибрати цей компонент, клацнувши лівою кнопкою миші на його піктограмі, далі встановити курсор у ту точку форми, у якій повинен бути лівий верхній кут компонента, і ще раз клацнути лівою кнопкою миші. У результаті у формі з’являється компонент стандартного розміру.
Рис. 6. Вкладка Standard містить найбільше часто використовувані компоненти
Розмір компонента можна задати в процесі його додавання до форми. Для цього треба після вибору компонента з палітри помістити курсор миші в ту точку форми, де повинен перебувати лівий верхній кут компонента, натиснути ліву кнопку миші й, утримуючи її натиснутою, перемістити курсор у точку, де повинен перебувати правий нижній кут компонента, потім відпустити кнопку миші. У формі з’явиться компонент потрібного розміру.
Кожному компоненту Delphi привласнює ім’я, яке складається з назви компонента і його порядкового номера. Наприклад, якщо до форми додати два компоненти Edit, те їхні імена будуть Edit1 і Edit2. Програміст шляхом зміни значення властивості Name може змінити ім’я компонента. У простих програмах імена компонентів, як правило, не змінюють.
На рис. 7 наведений вид форми після додавання двох компонентів Edit полів редагування, призначених для введення вихідних даних. Один з компонентів виділений. Властивості виділеного компонента відображаються у вікні Object Inspector. Щоб побачити властивості іншого компонента, треба клацнути лівою кнопкою миші на зображенні потрібного компонента. Можна також вибрати ім’я компонента у вікні Object Treeview або з вікна, що перебуває у верхній частині, Object Inspector списку, що розкривається, об’єктів.
Рис. 7. Форма після додавання компонентів Edit
У табл. 3 перераховані основні властивості компонента Edit – поля введення-редагування.
Таблиця 3. Властивості компонента Edit (поле введення-редагування).
Властивість |
Опис |
Name |
Ім'я компонента. Використовується в програмі для доступу до компонента і його властивостям, зокрема – для доступу до тексту, уведеного в поле редагування |
Text |
Текст, що перебуває в поле введення й редагування |
Left |
Відстань від лівої границі компонента до лівої границі форми |
Top |
Відстань від верхньої границі компонента до верхньої границі форми |
Height |
Висота поля |
Width |
Ширина поля |
Font |
Шрифт, використовуваний для відображення тексту, що вводиться |
Parentfont |
Ознака спадкування компонентом характеристик шрифту форми, на якій перебуває компонент. Якщо значення властивості рівно True, то при зміні властивості Font форми автоматично міняється значення властивості Font компонента |
Delphi дозволяє змінити розмір і положення компонента за допомогою миші.
Для того щоб змінити положення компонента, необхідно встановити курсор миші на його зображення, нажати ліву кнопку миші й, утримуючи її натиснутої, перемістити контур компонента в потрібну крапку форми, потім відпустити кнопку миші. Під час переміщення компонента (рис. 8) відображаються поточні значення координат лівого верхнього кута компонента (значення властивостей Left і Tор).
Рис. 8. Відображення поточних значень властивостей Left і Top при зміні положення компонента
Для того щоб змінити розмір компонента, необхідно його виділити, установити покажчик миші на один з маркерів, що позначають границю компонента, нажати ліву кнопку миші й, утримуючи її натиснутої, змінити положення границі компонента. Потім відпустити кнопку миші. Під час зміни розміру компонента відображаються поточні значення властивостей Height і Width (рис. 9).
Рис. 9. Відображення поточних значень властивостей Height і Width при зміні розміру компонента
Властивості компонента так само, як і властивості форми, можна змінити за допомогою Object Inspector. Для того щоб властивості необхідного компонента минулого виведені у вікні Object Inspector, потрібно виділити цей компонент (клацнути мишею на його зображенні). Можна також вибрати компонент із вікна, що перебуває у верхній частині, Object Inspector списку, що розкривається, об’єктів (рис. 10) або зі списку у вікні Object Treeview (рис. 11).
Рис. 10. Вибір компонента
Рис. 11. Вибір компонента зі списку у вікні Object Inspector у вікні Object Treeview
У табл. 4 наведені значення властивостей полів редагування Edit1 і Edit2. Компонент Edit1 призначений для введення довжини дистанції, Edit2 – для введення часу.
Зверніть увагу на те, що значенням властивості Text обох компонентів є порожній рядок.
Таблиця 4. Значення властивостей компонентів Edit.
Властивість |
Компонент | |
|
Edit1 |
Edit2 |
Text |
|
|
Top |
56 |
96 |
Left |
128 |
128 |
Height |
21 |
21 |
Width |
121 |
121 |
Крім полів редагування у вікні програми повинна перебувати коротка інформація про програму й призначення полів введення. Для висновку тексту у форму використовують поля висновку тексту. Поле висновку тексту (поле статичного тексту) – це компонент Label. Значок компонента Label перебуває на вкладці Standard (рис. 12). Додається компонент Label у форму точно так само, як і поле редагування.
Рис. 12. Компонент Label – поле висновку тексту
У форму розроблювального додатка треба додати чотири компоненти Label. Перше поле призначене для висновку інформаційного повідомлення, друге й третє – для висновку інформації про призначення полів уведення, четверте поле – для висновку результату розрахунків (швидкості).
Властивості компонента Label перераховано в табл. 5.
Таблиця 5. Властивості компонента Label (поле висновку тексту).
Властивість |
Опис |
Name |
Ім’я компонента. Використовується в програмі для доступу до компонента і його властивостям |
Caption |
Відображуваний текст |
Font |
Шрифт, використовуваний для відображення тексту |
Parentfont |
Ознака спадкування компонентом характеристик шрифту форми, на якій перебуває компонент. Якщо значення властивості рівно True, текст виводиться шрифтом, установленим для форми |
Autosize |
Ознака того, що розмір поля визначається його вмістом |
Left |
Відстань від лівої границі поля висновку до лівої границі форми |
Top |
Відстань від верхньої границі поля висновку до верхньої границі форми |
Height |
Висота поля висновку |
Width |
Ширина поля висновку |
Wordwrap |
Ознака того, що слова, які не містяться в поточному рядку, автоматично переносяться на наступний рядок |
Слід звернути увагу на властивості Autosize і Wordwrap. Ці властивості потрібно використовувати, якщо поле висновку повинне містити кілька рядків тексту. Після додавання до форми компонента Label значення властивості Autosize рівно True, тобто розмір поля визначається автоматично в процесі зміни значення властивості caption. Якщо ви прагнете, щоб текст, що перебуває в полі висновку, займав кілька рядків, то треба відразу після додавання до форми компонента Label привласнити властивості Autosize значення False, властивості Wordwrap – значення True. Потім зміною значень властивостей Width і Height потрібно задати необхідний розмір поля. Тільки після цього можна ввести у властивість caption текст, який повинен бути виведений у поле.
Після додавання полів висновку тексту (чотирьох компонентів Label) і установки значень їх властивостей відповідно до табл. В6 форма програми набуває вигляду, наведеного на рис. 13.
Зверніть увагу, що значення властивості caption уводиться як один рядок. Розташування тексту усередині поля висновку визначається розміром поля, значенням властивостей Autosize і Wordwrap, а також залежить від характеристик використовуваного для висновку тексту шрифту.
Рис. 13. Вид форми після додавання полів висновку тексту
Таблиця 6. Значення властивостей компонентів Label1, Label2, Label3 і Label4.
Компонент |
Властивість |
Значення |
Labell |
Autosize |
False |
Wordwrap |
True | |
Caption |
Програма обчислить швидкість, з якою спортсмен пробіг дистанцію | |
Top |
8 | |
Left |
8 | |
Height |
33 | |
Width |
209 | |
Label2 |
Top |
56 |
Left |
8 | |
Caption |
Дистанція (метрів) | |
Label3 |
Top |
96 |
Left |
8 | |
Caption |
Час (хвилин, секунд) | |
Label4
|
Caption |
|
Autosize |
False | |
Wordwrap |
True | |
Top |
120 | |
Left |
8 | |
Height |
41 | |
Width |
273 |
Останнє, що треба зробити на етапі створення форми – додати у форму дві командні кнопки: Обчислити й Завершити. Призначення цих кнопок очевидно.
Командна кнопка, компонент Button, додається у форму точно так само, як і інші компоненти. Значок компонента Button перебуває на вкладці Standard (рис. 14). Властивості компонента наведено в табл. 7.
Рис. 14. Командна кнопка – компонентів Button
Таблиця 7. Властивості компонента Button (командна кнопка).
Властивість |
Опис |
Name |
Ім’я компонента. Використовується в програмі для доступу до компонента і його властивостям |
Caption |
Текст на кнопці |
Enabled |
Ознака доступності кнопки. Кнопка доступна, якщо значення властивості рівно True, і недоступна, якщо значення властивості рівно False |
Left |
Відстань від лівої границі кнопки до лівої границі форми |
Top |
Відстань від верхньої границі кнопки до верхньої границі форми |
Height |
Висота кнопки |
Width |
Ширина кнопки |
Після додавання до форми двох командних кнопок потрібно встановити значення їх властивостей відповідно до табл. 8.
Таблиця 8. Значення властивостей компонентів Button1 і Button2.
Властивість |
Компонент | |
Button1 |
Button2 | |
Caption |
Обчислити |
Завершити |
Top |
176 |
216 |
Left |
200 |
200 |
Height |
25 |
25 |
Width |
80 |
80 |
Остаточний вид форми розроблювального додатка наведено на рис. 15.
Рис. 15. Форма програми Швидкість перегони
Завершивши роботу зі створення форми додатка, можна приступити до написання тексту програми. Але перед цим обговоримо дуже важливі при програмуванні в Windows поняття:
подія;
процедура обробки події.