Компоненти
Delphi site: daily Delphi-news, documentation, articles, review, interview, computer humor.
Програма обчислення швидкості бігу має отримати від користувача вихідні дані – довжину дистанції та час, за який спортсмен пробіг дистанцію. У таких програмах дані з клавіатури, як правило, вводять у поля редагування. Тому у форму треба додати компонент Edit – поле редагування.
Найчастіше використовувані компоненти знаходяться на вкладці Standard (рис. 11).
Для того щоб додати у форму компонент, необхідно на панелі компонентів вибрати цей компонент, клацнувши лівою кнопкою миші на його піктограмі, далі встановити курсор в ту точку форми, в якій повинен бути верхній лівий кут компонента і ще раз клацнути лівою кнопкою миші. У результаті формі з'являється компонент стандартного розміру.
Мал. 11. Вкладка Standard містить компоненти, що найчастіше використовуються.
Розмір компонента можна встановити в процесі його додавання до форми. Для цього треба після вибору компонента з палітри помістити курсор миші в ту точку форми, де повинен знаходитися лівий верхній кут компонента, натиснути ліву кнопку миші і, утримуючи її натиснутою, перемістити курсор у точку, де має знаходитися правий нижній кут компонента, і відпустити кнопку миші. На формі з'явиться компонент необхідного розміру.
Кожному компоненту Delphi надає ім'я, що складається з назви компонента та його порядкового номера. Наприклад, якщо до форми додати два компоненти Edit, їх імена будуть Editl і Edit2. Програміст, змінюючи значення властивості Name, може змінити ім'я компонента. У простих програмах імена компонентів зазвичай не змінюють.
На рис. 12 наведено вигляд форми після додавання двох компонентів Edit полів редагування,призначені для введення вихідних даних. Один із компонентів виділено. Властивості виділеного компонента відображаються у вікні Object Inspector. Щоб побачити властивості іншого компонента, клацніть лівою кнопкою миші на зображенні потрібного компонента. Можна також вибрати ім'я компонента у вікні Object TreeView або зі списку об'єктів, що знаходиться у верхній частині вікна Object Inspector.

Мал. 12. Форма після додавання двох компонентів
У табл. 3 перераховані основні властивості компонента Edit – поля редагування.
Назва компонента. Використовується в програмі для доступу до компо-
ненту та його властивостям, зокрема - для доступу до тексту, введено
ному в полі редагування
Текст, що знаходиться в полі введення та редагування
Відстань від лівої межі компонента до лівої межі форми
Відстань від верхньої межі компонента до верхньої межі
Шрифт, що використовується для відображення тексту, що вводиться
Ознака успадкування компонентом характеристик шрифту фор-
ми, де знаходиться компонент. Якщо значення властивості дорівнює-
але True, то при зміні властивості Font форми автоматично
змінюється значення властивості компонента
Delphi дозволяє змінити розмір та положення компонента за допомогою миші.
Для того щоб змінити положення компонента, необхідно встановити курсор миші на його зображення, натиснути ліву кнопку миші і, утримуючи її, перемістити контур компонента в потрібну точку форми, потім відпустити кнопку миші. Під час переміщення компонента (рис. 13) відображаються поточні значення координат верхнього лівого кута компонента (значення властивостей Left і Тор).
Для того, щоб змінити розмір компонента, необхідно його виділити,встановити покажчик миші однією з маркерів, помічають межу компонента, натиснути ліву кнопку миші та, утримуючи її натиснутою, змінити положення межі компонента. Потім відпустіть кнопку миші. Під час зміни розміру компонента відображаються поточні значення властивостей Height та Width (рис. 14).
Властивості компонента так само, як властивості форми, можна змінити за допомогою Object Inspector. Щоб властивості необхідного компонента були виведені у вікні Object Inspector, потрібно виділити цей компонент (клацнути мишею з його зображенні). Можна також вибрати компонент зі списку об'єктів, що знаходиться у верхній частині вікна Object Inspector (рис. 15) або зі списку у вікні Object TreeView (рис. 16).

Мал. 13. Відображення поточних значень властивостей Left та Тор при зміні положення компонента

Мал. 14. Відображення поточних значень властивостей Height та Width при зміні розміру компонента

Мал. 15. Вибір компонента зі списку у вікні Object Inspector

Мал. 16. Вибір компонента у вікні Object TreeView
У табл. 4 наведено значення властивостей полів редагування Editl та Edit2. Компонент Editl призначений для введення довжини дистанції, Edit2 – для введення часу.
Зверніть увагу на те, що значенням властивості Text обох компонентів є порожній рядок.
Крім полів редагування у вікні програми має бути коротка інформація про програму та призначення полів введення. Для виведення тексту у форму використовують поля виведення тексту. Поле виведення тексту – це компонент Label. Значок компонента Label знаходиться на вкладці Standard (мал. 17). Додається компонент Label у форму так само, як і поле редагування.
Мал. 17. Компонент Label – поле виведення тексту
Уформу програми, що розробляється, треба додати чотири компоненти Label. Перше поле призначене для виведення інформаційного повідомлення, друге та третє – для виведення інформації про призначення полів введення, четверте поле – для виведення результату розрахунку – швидкості.
Властивості компонента Label перелічені у табл. 5.
Назва компонента. Використовується в програмі для доступу до компо-
ненту та його властивостям
Шрифт, який використовується для відображення тексту
Ознака успадкування компонентом характеристик шрифту фор-
ми, де знаходиться компонент. Якщо значення властивості дорівнює
True, текст виводиться шрифтом, встановленим для форми
Ознака того, що розмір поля визначається його вмістом
Таблиця 5 (закінчення)
Відстань від лівої межі поля виведення до лівої межі форми
Відстань від верхньої межі поля виведення до верхньої межі форми
Висота поля виводу
Ширина поля виведення
Ознака того, що слова, які не містяться в поточному рядку, автоматично переносяться на наступний рядок
Слід звернути увагу до властивості AutoSize і wordwrap. Ці властивості потрібно використовувати, якщо поле виводу має містити кілька рядків тексту. Після додавання до форми компонента Label значення властивості AutoSize дорівнює True, тобто розмір поля визначається автоматично у процесі зміни значення властивості caption. Якщо ви хочете, щоб текст, що знаходиться в полі виведення, займав кілька рядків, то треба відразу після додавання до форми компонента Label привласнити властивості AutoSize значення False, властивості Wordwrap - значення True. Потім зміною значень властивостей width і Height потрібно вказати необхідний розмір поля. Тільки після цього можна ввести у властивість caption текст, який має бутививедений у полі.
Після додавання полів виведення тексту (чотирьох компонентів Label) та встановлення значень їх властивостей відповідно до табл. 6, форма програми набуває вигляду, наведеного на рис. 18.
Зверніть увагу, що значення властивості caption вводиться як один рядок. Розташування тексту всередині поля виводу визначається розміром поля, значенням властивостей AutoSize та wordwrap, а також залежить від характеристик шрифту, що використовується для виведення тексту.

Мал. 18. Вид форми після додавання полів виведення тексту
Програма вирахує швидкість, з якою спортсмен пробіг дистанцію
Останнє, що треба зробити на етапі створення форми – додати у форму дві командні кнопки: Обчислити та Завершити. Призначення цих кнопок є очевидним.
Командна кнопка, компонент Button, додається у форму так само, як і інші компоненти. Значок компонента Button знаходиться на вкладці Standard (мал. 19). Властивості компонента наведено у табл. 7.
Мал. 19. Командна кнопка – компонент Button
Таблиця 7. Властивості компонента Button
Назва компонента. Використовується в програмі для доступу до компонен-
ту та її властивостям
Текст на кнопці
Ознака доступності кнопки. Кнопка доступна, якщо значення-
ства дорівнює True, і не доступна, якщо значення властивості дорівнює False
Відстань від лівої межі кнопки до лівої межі форми
Відстань від верхньої межі кнопки до верхньої межі форми
Таблиця 7 (закінчення)
Після додавання до форми двох командних кнопок необхідно встановити значення їх властивостей відповідно до табл. 8.
Остаточний вид форми програми, що розробляється, наведено на рис. 20.

Мал. 20. Форма програми Швидкістьбігу
Завершивши роботу зі створення форми програми, можна розпочати написання тексту програми. Але перед цим обговоримо дуже важливі під час програмування під Windows поняття: