Народна Освіта » Інформатика » Прапорці. Поле з розкривним списком. Перемикачі

НАРОДНА ОСВІТА

Прапорці. Поле з розкривним списком. Перемикачі

1. Який вигляд мають команди повного і неповного розгалуження в Object Pascal і як вони виконуються?

2. Які властивості напису і поля ви знаєте, що визначають їх значення, як їх можна змінити?

3. Для чого використовувалися в програмах, з якими ви працювали, прапорці, поля з розкривними списками, перемикачі?

ПРАПОРЦІ ТА ЇХ ВИКОРИСТАННЯ

Розглянемо компонент прапорець. Значення деяких його властивостей, зокрема властивості Checked (англ. checked - перевірено), можуть бути використані в логічному виразі в команді розгалуження.

 

Для розміщення на формі прапорця потрібно двічі клацнути на кнопці (2 TCheckBox (англ. checkbox - коробка для перевірки) на вкладці Standard з компонентами. Після цього прапорець з’явиться у верхній лівій частині форми (мал. 6.24), а його ім’я додасться до списку компонентів проекту в полі Components вікна Інспектор об’єктів. За потреби поле можна перетягнути в будь-яке інше місце форми.

Властивості прапорця Caption, Top, Left, Name,

Color, Enabled, Visible, Font, Width, Height аналогічні до відповідних властивостей напису. Зокрема, значення властивостей Width і Height прапорця визначаються довжиною тексту праворуч від прапорця і розміром шрифта, яким виведено цей текст.

Сам цей текст є значенням властивості Caption прапорця. Цей текст, як і для напису, можна вводити безпосередньо на вкладці Властивості в полі Caption, а можна вводити у вікні Редактор рядків, яке відкривається вибором кнопки З праворуч від поля Caption.

Властивість Checked прапорця може набувати одне з двох значень: true (позначку прапорця встановлено, прапорець встановлено) або false (позначку прапорця не встановлено, прапорець знято).

Якщо на формі розміщено кілька прапорців, то серед них можна встановити один або кілька, не встановлювати жодного або встановити всі. Якщо прапорець встановлено, то у нього всередині з’являється позначка J7 .

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

Розглянемо, як можна використати прапорці для реалізації розгалуження.

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

Для цього розмістимо на формі кнопку і три прапорці (мал. 6.25). Під час розміщення прапорців на формі для кожного з них за замовчуванням значення властивості Checked встановлюється false. Оскільки під час виконання проекту жодний прапорець може бути не встановлений, то доцільно залишити такі початкові значення властивості Checked для всіх прапорців.

 

Створимо процедуру для опрацювання події Click для кнопки і до її тексту помістимо такі три послідовні (не вкладені одна в одну) команди розгалуження:

If CheckBoxl.Checked

Then Forml.Caption := ’Заголовок змінений’;

If CheckBox2.Checked Then Forml.Color := clRed;

If CheckBox3.Checked Then begin Forml.Width := 500;

Forml.Height := 200; end;

У кожній із цих команд, незалежно одна від одної, буде визначатися, вибрано відповідний прапорець чи ні. І залежно від цього, у кожній з них будуть чи не будуть змінюватися значення відповідних властивостей вікна.

ПОЛЕ З РОЗКРИВНИМ СПИСКОМ ТА ЙОГО ВИКОРИСТАННЯ

 

Ще одним компонентом, значення властивостей якого можна використати в логічному виразі в команді розгалуження, є поле з розкривним списком.

Для розміщення на формі поля з розкривним списком потрібно двічі клацнути на кнопці TComboBox (англ. combobox - поле зі списком) на вкладці Standard з компонентами. Після цього поле з розкривним списком з’явиться у верхній лівій частині форми (мал. 6.26), а його ім’я додасться до списку компонентів проекту в полі Components вікна Інспектор об’єктів. За потреби поле з розкривним списком можна перетягнути в будь-яке інше місце форми.

Властивості Top, Left, Height, Width, Name, Color, Enabled, Visible, Font, Text поля з розкривним списком повністю аналогічні до відповідних властивостей поля.

Задати вміст розкривного списку можна у вікні Редактор рядків (мал. 6.27), яке відкривається вибором кнопки праворуч від поля Items (англ. items - предмети) вкладки Властивості.

Під час виконання проекту можна відкрити цей список і вибрати будь-який його рядок. При цьому відповідний текст потрапляє в поле і стає значенням властивості Text поля з розкривним списком.

Розглянемо, як можна використати поле з розкривним списком у команді розгалуження.

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

 

Розмістимо на формі поле з розкривним списком і створимо відповідний список (мал. 6.27).

Розмістимо також на формі кнопку і складемо процедуру - обробник події Click для цієї кнопки, під час виконання якої вибиратимемо один з рядків розкривного списку (мал. 6.28). Залежно від вибраного рядка змінюватимуться або заголовок форми, або її колір, або її розміри.

Виберемо перший пункт списку Заголовок і клацнемо кнопку. Тоді під час виконання процедури значення логічного виразу (ComboBoxl.Text = ’Заголовок’) = true, а значить виконуватиметься команда Forml.Caption := ’Заголовок змінений’, яка змінить заголовок вікна, після чого виконання команди розгалуження і всієї процедури закінчиться.

Якщо вибрати другий пункт списку Колір і клацнути кнопку, то під час виконання процедури значення логічного виразу (ComboBoxl.Text = ’Заголовок’) = false. Тоді обчислюється значення логічного виразу ComboBoxl. Text = ’Колір’, і воно дорівнює true. А значить виконуватиметься команда Forml.Color := clRed, яка змінить колір вікна, після чого виконання команди розгалуження і всієї процедури закінчиться.

 

Якщо вибрати третій пункт списку Розміри і клацнути кнопку, то під час виконання процедури значення логічного виразу (ComboBoxl.Text = ’Заголовок’) = false. Після цього обчислюється значення логічного виразу ComboBoxl.

Text = ’Колір’, і воно теж дорівнює false.

Після цього обчислюється значення логічного виразу ComboBoxl.Text = ’Розміри’, і воно дорівнює true. А значить будуть виконуватися команди Forml.Width := 600 і Forml.Height := 300, які змінять ширину і висоту вікна, після чого виконання команди розгалуження і всієї процедури закінчиться.

Якщо не вибрати жодного пункту списку і клацнути кнопку, то значення всіх логічних виразів у розгалуженні будуть false і в цьому випадку не змінюватимуться значення жодної властивості вікна і виконання процедури закінчиться.

Перемикачі та їх використання

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

Для розміщення на формі перемикача потрібно двічі клацнути на кнопці ® TRadioButton (англ, radiobutton - кругла кнопка) на вкладці Standard з компонентами.

Якщо на формі розміщено кілька перемикачів, то серед них можна вибрати тільки один перемикач. Якщо перемикач вибрано, то в нього всередині з’являється позначка (* .

Усі ті властивості, які ми розглядали для прапорця, має і перемикач, у тому числі й властивість Checked, значення якої можна використати в логічному виразі в команді розгалуження.

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

 

Розмістимо на формі кнопку і три перемикачі (мал. 6.29). Під час розміщення перемикачів на формі для кожного з них за замовчуванням встановлюється значення властивості Checked - false. До запуску проекту змінимо значення цієї властивості в першого перемикача на true. Після цього на формі він матиме вигляд вибраного. Таким він буде і після запуску проекту на виконання.

Створимо процедуру - обробник події Click для кнопки і до її тексту помістимо таку команду:

If RadioButtonl.Checked Then Forml.Caption := ’Заголовок змінений’

Else If RadioButton2.Checked Then Forml.Color := cIRed Else begin

Forml.Width := 600;

Forml.Height := 300; end;

Розпочинатиметься виконання цієї команди з визначення значення властивості RadioButtonl.Checked.

Якщо при настанні події Click для кнопки вибраним буде перший перемикач, то RadioButtonl.Checked = true. Тому виконається команда змінення заголовка вікна, а інші частини цієї команди розгалуження виконуватися не будуть.

Якщо при настанні події Click для кнопки вибраним буде другий перемикач, то RadioButtonl.Checked = false. Тому будуть виконуватися команди після першого ключового слова Else. Цією командою є також команда розгалуження, що є частиною першої команди розгалуження. Під час її виконання визначається значення властивості RadioButton2.Checked. Оскільки буде вибраний другий перемикач, то це значення дорівнює true. Тому виконається команда змінення кольору вікна, а інші частини команди виконуватися не будуть.

Якщо при настанні події Click для кнопки вибраним буде третій перемикач, то RadioButtonl.Checked = false. Тому будуть виконуватися команди після першого ключового слова Else, тобто внутрішня команда розгалуження. Під час її виконання визначається значення властивості RadioButton2.Checked. Оскільки другий

Значення властивості Checked прапорців може бути використано в логічному виразі команди розгалуження. Воно дорівнює True, якщо прапорець встановлено, або False, якщо прапорець не встановлено (знято).

Для розміщення на формі прапорця потрібно двічі клацнути на кнопці 0 TCheckBox на вкладці Standard з компонентами. Якщо на формі розміщено кілька прапорців, то серед них можна встановити один або кілька, не встановлювати жодного або встановити всі. Тому прапорці використовують для того, щоб у ході виконання проекту вибрати або один з можливих варіантів, або кілька, або не вибрати жодного.

Для опрацювання стану прапорців (встановлено або не встановлено) у проект включають для кожного з них послідовно записані команди розгалуження, які незалежні одна від одної.

Для того щоб у ході виконання проекту вибрати лише один з можливих варіантів, можна використати поле з розкривним списком. Для розміщення на формі поля з розкривним списком потрібно двічі клацнути на кнопці jp TComboBox на вкладці Standard з компонентами.

Дайте відповіді на запитання

1*. Для чого використовують прапорці?

2°. Які значення може мати властивість Checked для прапорця?

3*. Для чого використовують поле з розкривним списком?

4*. Як потрібно записувати команди розгалуження, у яких використовується значення властивості Checked для прапорців?

5*. Як доцільно записати команди розгалуження, у яких використовуються значення властивостей поля з розкривним списком?

6*. У чому полягають відмінності використання команд розгалуження з використанням значень властивостей прапорців і поля з розкривним списком?

7*. Для чого використовують перемикачі?

8*. Які значення може мати властивість Checked для перемикача?

Виконайте завдання

1*. Намалюйте блок-схему і поясніть хід виконання послідовності команд:

If CheckBoxl.Checked Then begin

<команди 1> end;

If CheckBox2.Checked Then begin

<команди 2> end;

2*. Намалюйте блок-схему і поясніть хід виконання команд:

If ComboBoxl.Text = ’<Текст 1>’

Then begin

<команди 1> end

Else If ComboBoxl.Text = ’<Текст 2>’

Then begin

<команди 2> end

Else If ComboBoxl.Text = ’<Текст 3>’

Then begin

<команди 3> end;

3*. Намалюйте блок-схему і поясніть хід виконання команди:

If RadioButtonl.Checked Then begin

<команди 1> end

Else If RadioButton2.Checked Then begin

<команди 2> end

Else

begin

<команди 3> end;

4*. Поясніть відмінності у виконанні команди розгалуження із завдання № 2 і послідовності двох команд розгалуження із завдання № 1. 5*. Створіть проект, у якому можна обчислити суму, або різницю, або добуток, або частку від ділення двох довільних дійсних чисел залежно від вибраного пункту розкривного списку. Збережіть проект у папці з іменем Завдання 6.5.5, створеній у вашій папці.

6*. Створіть проект, у якому можна обчислити суму, різницю, добуток, частку від ділення двох довільних дійсних чисел залежно від установлених позначок прапорців. Збережіть проект у папці з іменем Завдання 6.5.6, створеній у вашій папці.

7*. Робітник виготовляє деталі. Відомо кількість реально виготовлених деталей за місяць і вартість однієї деталі. Якщо робітник виконує план, то він одержує премію в розмірі 10 % від заробленої в результаті виготовлення деталей суми. Якщо робітник перевиконує план, то його премія становить 30 % від заробленої суми. А якщо він недовиконає план, то з нього знімається 20 % від заробленої суми. Створіть проект, який визначає суму грошей, яку заробив робітник за місяць. Збережіть проект у папці з іменем Завдання 6.5.7, створеній у вашій папці.

8*. Робітник має фіксовану заробітну плату за роботу протягом місяця. Якщо в робітника є діти, він отримує доплату в розмірі 20 % від його місячної заробітної плати. Якщо в робітника протягом місяця були порушення трудової дисципліни, на нього накладають штраф у розмірі 15 % від його місячної заробітної плати. Створіть проект, який визначає суму грошей, яку заробив робітник за місяць. Збережіть проект у папці з іменем Завдання 6.5.8, створеній у вашій папці.

 

Це матеріал з підручника Інформатика 8 клас Ривкінд

 

Категорія: Інформатика

Автор: admin от 16-10-2016, 16:06, Переглядів: 13161