Тема. Складання та виконання алгоритмів з елементами управління для завдання логічного значення величини.
Елементи для введення даних: прапорець, перемикач.
Під час роботи з різними програмами користувачеві досить часто доводиться робити вибір певних елементів або налаштувань із запропонованих у діалоговому вікні. Ми ознайомимося з компонентами RadioButton (перемикач) і CheckBox (прапорець), які дозволяють робити вибір різних можливостей або режимів роботи.
Для реалізації розгалуження в проекті можна використати елементи управління:
|
Дані елементи можуть набувати один із двох виглядів: Тому за їх допомогою у програмний код можна передати логічне значення: |
Прапорець CheckBox Перемикач RadioButton |
CheckBox
Окрім стандартних властивостей, таких як Caption, Font та інших, які ви вже використовували для інших елементів управління, компонент CheckBox має особливі.
|
Checked
Значення змінюється автоматично, хоча його також можна змінити у програмному коді |
State
|
З елементом управління CheckBox пов'язані події:
|
OnClick Виникає кожного разу, коли користувач вмикає чи вимикає прапорець на формі після запуску програми на виконання. |
OnChange Також виникає, коли користувач вмикає чи вимикає прапорець. Зміна передбачена у програмному коді, що виконується після натиснення деякої кнопки, за допомогою команди: ChB1.Checked:= not ChB1.Checked; Тоді при натисненні на таку кнопку стан прапорця зміниться на протилежний — відбудеться OnChange , а подія ОnСlіск — ні, адже мишею на прапорці не клацали. |
Щоб додати до програмного коду процедуру опрацювання однієї з цих подій, можна двічі клацнути на ній у таблиці вікна Інспектор об'єктів.
RadioButton
Властивість Checked елемента управління RadioButton, яка визначає стан перемикача, не може бути змінена у програмному коді, на відміну від аналогічної в елемента управління CheckBox.
Вправа 3. Складіть проект Замовлення квітів у середовищі Lazarus для оформлення електронного замовлення квітів за зразком.
У проекті натиснення кнопки Оформити замовлення викликає виведення відповідного тексту в текстовому полі, яке захищене від змін, а натиснення кнопки Завершити – закриває вікно форми.
- Сплануйте проект. Передбачте, які об'єкти будуть використані на екранній формі та які події будуть відбуватись із ними.
- Відкрийте середовище Lazarus, створіть новий проект і збережіть його складові в папку Замовлення_квітів. Змініть властивості об'єкта Form1, розмістіть на формі потрібні об'єкти та надайте значень їх властивостям. Візьміть до уваги, що для всіх об'єктів використовується властивість шрифта–BookmanOldStyle, розмір – 14. Стиль шрифта визначте за малюнком.
- Створіть процедуру опрацювання події: натиснуто кнопку Оформити замовлення. У вікні редактора коду введіть код:

- Створіть процедуру опрацювання події натиснення кнопки Завершити. Для цього використайте метод Close.
- Запустіть проект на виконання. Перевірте, чи відповідають умові завдання дії, пов'язані з об'єктами управління екранної форми. Якщо є помилки, –виправте їх.
- Завершіть роботу із проектом і середовищем програмування.
|
procedure TForm1.BitBtn1Click(Sender: TObject); begin p1 := RadioButton1.checked; { логической переменной р1 присваивается значение Checked (false / true) элемента RadioButton1 и т.д. } p2 := RadioButton2.checked; s := ' '; if k1 then s := s + checkbox1.caption + ' '; { если значение логической переменной k1 - true, к значению строковой переменной s присоединяется значение свойства caption элемента checkbox1 и т.д.} if k2 then s := s + Checkbox2.caption + ' '; if p1 then t := ' в корзинке '; { если значение логической переменной р1 - true, строковой переменной t присваивается значение - в корзинке и т.д. } if p2 then t := ' в обычной упаковке '; label1.Caption := 'Вы выбрали ' + s + #13 + t; {формирование значения (текстового сообщения ) свойства Caption надписи( метки) label1, #13 - переход на следующую строку при выводе текста в надпись} procedure TForm1.Button1Click(Sender: TObject); |
Групи перемикачів (radioGroup) та групи прапорців (CeckGroup)
Додавання форм в проект
Список, що розкривається











