# data[].attributes.headline
Методичні матеріали з програмування

# data[].attributes.subject
Методичні матеріали з програмування

# data[].attributes.body
І семестр

# data[].attributes.headline
Методичні матеріали з програмування

# data[].attributes.subject
Методичні матеріали з програмування

# data[].attributes.body
ІІ семестр

# data[].attributes.body
Питання для підготовки

# data[].attributes.body
Практична робота

# data[].attributes.headline
Використання компонента Shape

# data[].attributes.subject
Використання компонента Shape

# data[].attributes.body
Практична робота

# data[].attributes.headline
Графіка в середовищі візуального програмування

# data[].attributes.subject
Графіка в середовищі візуального програмування

# data[].attributes.body
Практична робота

# data[].attributes.headline
Двовимірний масив

# data[].attributes.subject
Двовимірний масив

# data[].attributes.body
Практична робота

# data[].attributes.attachment_link.title
Пр_двовим_масив

# data[].attributes.body
Теоретичні відомості, приклади реалізації проектів

# data[].attributes.headline
Діалогові вікна. Створення текстового редактора

# data[].attributes.subject
Діалогові вікна. Створення текстового редактора

# data[].attributes.body
Пр_8_Lazarus

# data[].attributes.attachment_link.title
Текстовий редактор

# data[].attributes.headline
Діалогові режими

# data[].attributes.subject
Діалогові режими

# data[].attributes.body
Лекційний матеріал

# data[].attributes.attachment_link.title
Діалогові_режими

# data[].attributes.headline
Підручники для початкової школи

# data[].attributes.subject
Підручники для початкової школи

# data[].attributes.body
Посібник для початкової школи

# data[].attributes.headline
Створення проекту з використанням декількох форм

# data[].attributes.subject
Створення проекту з використанням декількох форм

# data[].attributes.body
Пр_7_Lazarus

# data[].attributes.headline
Створення форм

# data[].attributes.subject
Створення форм

# data[].attributes.body
Приклад проекту

# data[].attributes.attachment_link.readable_text
На попередньому уроці ми розповідали про організацію введення і виведення даних за допомогою вбудованих діалогових вікон InputBox, ShowMessage.

На цьому уроці ми навчимося створювати додатки, в яких використовуються кілька форм.

Крім того ми вивчимо новий компонент TRadioGroup для створення груп перемикачів. Навчимося застосовувати умовний оператор для аналізу стану перемикачів.

Для початку вам потрібно ознайомитись з новим компонентом TRadioGroup його призначенням і властивостями.

Компонент TRadioGroup (Група перемикачів) знаходиться на закладці Standard.

Компонент TRadioGroup (Група перемикачів) являє собою групу перемикачів, в якій одночасно може бути виділений тільки один перемикач. Коли користувач встановлює один з перемикачів групи, всі інші автоматично скидаються.

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

Радіокнопки в контейнері TRadioGroup створюються через властивість Items. У групі перемикачів кожен рядок властивості Items ставитися до окремого перемикача і служить його заголовком.

Властивість

Опис

Caption

Заголовок групи

Columns

Кількість стовпців в групі перемикачів. За замовчуванням =1

ItemIndex

Визначає номер (починаючи з 0) перемикача, який є виділеним в групі. Якщо спочатку не виділено ні один перемикач, то значення властивості дорівнює -1.

Item

Містить список заголовків перемикачів групи.

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

Властивість Name містить префікс grp, який повідомляє про те, що це група перемикачів.

Тепер вивчимо оператор розгалуження if - then.

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

У мові Паскаль є два умовних оператора: if (оператор розгалуження) і case (оператор вибору). Оператор if забезпечує вибір з двох альтернатив, оператор вибору case дозволяє зробити вибір з довільного числа наявних варіантів.
Умовний оператор If (оператор розгалуження).
Повна форми умовного оператора називається If-then-else, має вигляд:

Then [оператор1]

Else [оператор2];
Якщо в якості оператора повинна виконуватися серія операторів, то вони об'єднуються в операторні дужки Begin-End.
   [оператори1]

   [оператори2]

Слова if (якщо) і Then (то) -зарезервовані.

Зауваження. Перед ключовим словом else (інакше) крапка з комою не ставиться, вона ставиться після всього оператора If.

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

Алгоритм виконання повного умовного оператора:

Перевіряється значення логічного виразу, записаного в умови після слова If Якщо умова істинно (значення виразу умова одно True), то виконується Серія1, вказаний після слова Then. Якщо умова помилкова, то виконується Серія2, записана після слова Else.
Неповна форма умовного оператора називається if-then, має вигляд:
If умова

Then [оператор];

Якщо в якості оператора повинна виконуватися серія операторів, то вони об'єднуються в операторні дужки Begin-End.

If умова Then

Begin

[оператори]

End;

У неповному розгалуженні гілка Else відсутній. На малюнку показана блок схема оператора if-then.

Додавання нової форми

Компонент форма є об'єктом, відсутнім на палітрі компонентів. Щоб додати нову форму в проект, потрібно вибрати команду Файл - Створити форму або натиснути кнопку Створити форму на панелі інструментів.

Появиться нова порожня форма. Називатися вона буде Form 2, а відповідний їй файл з вихідними текстами додасться в Редактор коду на нову вкладку Unit 2.

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

У прикладі показаний виклик форми Form3 в звичайному вікні після натискання кнопки Button1.
procedure TForm1.Button1Click (Sender: TObject); Показ форми як модального вікна
Щоб викликати форму в модальному вікні, треба використовувати метод ShowMoal. Переключитися з модального вікна на інші вікна не вдасться, поки воно не буде закрито. Приклад показу форми Form3 в модальному вікні після натискання кнопки Button2.
procedure TForm1.Button2Click (Sender: TObject); Form3.ShowModal;
Модальні вікна добре підходять для завдання всіляких налаштувань, виконання введення проміжних значень, відображення результатів.Тепер у нас є все необхідне, для того щоб створити свій перший додаток з кількома формами.

Завдання. Створити додаток з трьома формами: Головна, Опції і Про програму. Форму Опції викликати в звичайному вікні. Для виклику форми Про програму використовувати модальне вікно. На малюнку показані головна форма і підформи нашого нового проекту.
Хід виконання проекту
1. Створіть новий додаток, збережіть файли проекту в папці "Три форми".

2. Додайте на формі Form1 3 кнопки, змініть властивості об'єктів відповідно до таблиці.

3. Створіть формуForm2. Для цього виберіть в меню Файл команду Створити форму. На екрані з'явитися нова форма Form2, в редакторі коду - нова вкладка unit2.

4. Встановіть на формі компонент RadioGroup для вибору кольору, напис, поле виведення, дві кнопки. Налаштуйте властивості об'єктів відповідно до таблиці.

5. Після розміщення на формі компонента TradioGroup, що входять до нього перемикачі задаються перерахуванням їх назв. Ці назви в вводяться в властивість Items.

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

7. На малюнку нижче показаний редактор списку для введення назв перемикачів.

8. Велика текстова область вікна редактора призначена для введення назв перемикачів по одному в кожному рядку. Перехід в початок наступного рядка здійснюється при натисканні на клавіші Shift + Enter.

9. Після закінчення введення списку, натисніть на кнопку ОК, і зовнішній вигляд об'єкта RadioGroup1 на формі відразу зміниться.

10. Створіть ще одну форму - Форма Form3, вибравши команду Файл-Створити форму. На екрані з'явитися нова форма Форма Form3 а в редакторі коду - нова вкладка Unit3.

11. Додайте на form3 ОБ'ЄКТИ І КНОПКА напис. Налаштуйте властивості

12. Програмний код для форми Головна (модуль Unit1) У модулі Unit1 в розділі Implementation необхідно записати директиву uses:

uses Unit2, Unit3;

Це необхідно для того щоб модулі Unit2, Unit3 форм Опції і Про програму були видимі в головному модулі Unit1.

13. Написати обробники подій для кнопок форми Головна. Перша кнопка форми Головна (кнопка Параметри) викликає в Форму Опції з звичайному вікні допомогою методу Show.

Процедура TfrmGeneral.Button1Click (Sender: TObject);

 frmOptions.Show;

14. Перша кнопка форми Головна (кнопка Про програму) викликає форму Про програму в модальному вікні за допомогою методу ShowModal.

Процедура TfrmGeneral.Button2Click (Sender: TObject);

 frmAbout.ShowModal;

15.  Третя кнопка форми Головна (Кнопка ОК) закриває головне вікно.

procedure TfrmGeneral.Button3Click(Sender: TObject);

16. Відкриваємо програмний код форми Опції (модуль Unit2) .В модулі Unit2 в розділі implementation записати директиву uses:

Це необхідно для того щоб головний модуль Unit1 форми Головна був бачимо в цьому модулі.

17. Створити обробник завантаження форми Опції, в який записати програмний код, що передає текст заголовка головної форми в поле Edit1.

procedure TFrmOptions.FormCreate(Sender: TObject);

  frmOptions.Edit1.text:=frmGeneral.Caption;

Кнопка ОК форми Опції. Після клацання на цій кнопці буде відбуватися зміна кольору головної форми.

procedure TFrmOptions.Button1Click(Sender: TObject);

if radioGroup1.ItemIndex=0 then frmGeneral.color:=clWhite;

if radioGroup1.ItemIndex=1 then frmGeneral.color:=clRed;

if radioGroup1.ItemIndex=2 then frmGeneral.color:=clBlue;

if radioGroup1.ItemIndex=3 then frmGeneral.color:=clGreen;

18. Кнопка Закрити форми Опції. Після клацання на кнопці Цією закривається вікно Опції.

procedure TFrmOptions.Button2Click(Sender: TObject);

Переходимо в програмний код форми Про програму (модуль Unit3) .В модулі Unit3 в розділі implementation записати директиву uses

Модуль Unit1 форми Головна повинен бу ти видимий в цьому модулі.

20. Кнопка ОК форми Про програму закриває вікно.

procedure TfrmAbout.Button1Click(Sender: TObject);

21.Проект готовий. Збережіть проект і перевірте його роботу.

На цьому уроці ми створили проект, що складається з трьох форм, використовували різні методи для виклику форм: просте вікно і модальне вікно. У нашому додатку ми вперше застосували компонент RadioGroup (Група перемикачів), використовували умовний оператор для обробки вибору користувача.

Додати коментар

# data[].attributes.attachment_link.title
Lazarus. УРОК 7. КОМПОНЕНТ TRADIOGROUP. ПРОЕКТ З ДЕКІЛЬКОМА ФОРМАМИ

# data[].attributes.attachment_link.description
На попередньому уроці ми розповідали про організацію введення і виведення даних за допомогою вбудованих діалогових вікон InputBox, ShowMessage. На цьому уроці ми навчимося створювати додатки, в яких використовуються кілька форм. Крім того ми вивчимо новий компонент TRadioGroup для створення груп перемикачів. Навчимося застосовувати умовний оператор для аналізу стану перемикачів.

# data[].attributes.headline
Створення меню

# data[].attributes.subject
Створення меню

# data[].attributes.body
Пр_6_Lazarus

# data[].attributes.headline
Компоненти одинарного і множинного вибору

# data[].attributes.subject
Компоненти одинарного і множинного вибору

# data[].attributes.body
Пр_5_Lazarus

# data[].attributes.headline
Завдання для ІРС

# data[].attributes.subject
Завдання для ІРС

# data[].attributes.body
Lazarus

# data[].attributes.headline
Побудова обчислювальних проектів (ідеальна вага)

# data[].attributes.subject
Побудова обчислювальних проектів (ідеальна вага)

# data[].attributes.body
Пр_4_Lazarus

# data[].attributes.headline
Побудова обчислювальних проектів (конвертер валют)

# data[].attributes.subject
Побудова обчислювальних проектів (конвертер валют)

# data[].attributes.body
Пр_3_Lazarus

# data[].attributes.headline
Об'єктно-орієнтоване програмування

# data[].attributes.subject
Об'єктно-орієнтоване програмування

# data[].attributes.body
Лекційний матеріал

# data[].attributes.headline
Ознайомлення з середов. ООП. Створення діалогових проектів

# data[].attributes.subject
Ознайомлення з середов. ООП. Створення діалогових проектів

# data[].attributes.body
Пр_1_Lazarus

# data[].attributes.headline
Побудова форм. Властивості і події форм

# data[].attributes.subject
Побудова форм. Властивості і події форм

# data[].attributes.body
Пр_2_Lazarus

# data[].attributes.body
Лекційний матеріал

# data[].attributes.body
Функції для роботи з графікою

# data[].attributes.attachment_link.title
Основні функції для роботи з графікою

# data[].attributes.body
Лекційний матеріал

# data[].attributes.attachment_link.title
Підпрограми.PDF

# data[].attributes.headline
Практичні завдання до екзамену

# data[].attributes.subject
Практичні завдання до екзамену

# data[].attributes.attachment_link.title
Задачі підг_екз.docx

# data[].attributes.headline
Питання до екзамену

# data[].attributes.subject
Питання до екзамену

# data[].attributes.attachment_link.title
Питання до екз.docx

# data[].attributes.headline
Посібник для учнів початкових класів

# data[].attributes.subject
Посібник для учнів початкових класів

# data[].attributes.body
Збешко

# data[].attributes.headline
Посібник з інформатики для початкової школи

# data[].attributes.subject
Посібник з інформатики для початкової школи

# data[].attributes.body
Чубай О.

# data[].attributes.headline
Посібник з інформатики для початкової школи

# data[].attributes.subject
Посібник з інформатики для початкової школи

# data[].attributes.body
Чирко В