Програма з багатьма формами. Загальні принципи використання стандартних діалогових вікон в середовищі візуального програмування.

Введення інформації з використання шаблону введення в середовищі Delphi.

Введення даних з вікна введення здійснюється викликом функції InputBox, що значенням якої є рядок, введений користувачем. У загальному виді інструкція для введення даних з використанням функції InputBox виглядає так:

Змінна := InputBox (Заголовок, Підказка, Значення);

де

Змінна ім'я змінної строкового типу, значення якої повинно бути отримане з вікна введення;

Заголовок текст заголовка вікна введення;

Підказка текст пояснюючого повідомлення;

Значення текст, що знаходиться в поле введення в момент появи вікна введення на екрані.

При цьому, клацання на кнопці ОК привласнює змінній s значення, що відповідає введеному рядку. Клацання на кнопці Cancel привласнює змінній s визначене значення, зазначене при виклику функції InputBox у якості її аргументу (у даному прикладі змінній s буде привласнено ' ', тобто порожній рядок)

Потрібно ще раз звернути увагу на те, що значення функції InputBox строкового (string) типу. Тому, якщо програмі треба одержати значення числового типу, те введений рядок (зображення числа) повинний бути перетворений в число за допомогою відповідної функції перетворення.

Побудова всіх компонент ґрунтується на правилах.

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

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

3. використання всіх компонент відповідає способу використання екземплярів класів з погляду програмування.

Всі компоненти перебувають у ієрархічних стосунках „власник – підлеглий”,

Батьківським класом для всіх компонент є TComponent. У ньому визначено декілька властивостей та методів, що дають загальну характеристику.

Ім'я компоненти

property Name: TCornponentName;

TComponentName: string;

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

Власник компоненти

property Owner: TComponent;

Усі компоненти програми взаємопов'язані - кожна компонента обов'язково має власника і може сама бути власником інших компонент. Власник керує „життєвим циклом” належних йому компонент: їхнім створенням та знищенням. Кожен власник має список належних компонентів.

Кожну компоненту так чи інакше початково створює конструктор

constructor Create (AOwner: TComponent);

параметр AOwner якого визначає компоненту-власника Owner. Знищують компоненту шляхом виклику деструктора

destructor Destroy; або за допомогою методу

procedure Free; який додатково перевіряє вказівник на компоненту, яку знищують.

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

Крім того, клас TComponent має низку методів для керування списком Components підлеглих компонент.

Програма з багатьма формами. Загальні принципи використання стандартних діалогових вікон в середовищі візуального програмування.

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

Робота зі стандартними діалоговими вікнами здійснюється в три етапи.

1. На формі розміщується відповідний компонент із панелі компонентів DIALOGS і здійснюється настроювання його властивостей (сам компонент - діалог невидимий у момент роботи програми, видно лише створюване їм стандартне вікно). Настроювання властивостей може проходити як на етапі конструювання, так і в ході виконання програми.

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

Тільки після звертання до Execute на екрані з'являється відповідне діалогове вікно. Вікно діалогу є модальним вікном, тому відразу після звертання до Execute подальше виконання програми припиняється доти, поки користувач не закриє вікно. Оскільки Execute - логічна функція, вона повертає в програму значення True, якщо результат діалогу з користувачем був успішним.

Проаналізувавши результат Execute, програма може виконати третій етап

3. Використання введених за допомогою діалогового вікна даних - імені файлу, настроювань принтера, обраного шрифту і т.д.

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

Введення даних з вікна введення здійснюється викликом функції InputBox, що значенням якої є рядок, введений користувачем. У загальному виді інструкція для введення даних з використанням функції InputBox виглядає так:

Змінна := InputBox (Заголовок, Підказка, Значення);

де

Змінна — ім'я змінної строкового типу, значення якої повинно бути отримане з вікна введення;

Заголовок — текст заголовка вікна введення;

Підказка — текст пояснюючого повідомлення;

Значення — текст, що знаходиться в поле введення в момент появи вікна введення на екрані.

 

Створення додатків МDI