If CheckBox.Checked

Begin

Then

Else If RadioButton2.Checked

Else If RadioButton2.Checked

If RadioButton1.Checked

Else begin

Else If RadioButton2.Checked

If RadioButton1.Checked

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

Then Form1.Color := clRed

Form1.Width := 600;

Form1.Height := 300;

end;

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

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

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

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

 

Якщо перед запуском проекту на виконання у жодного перемикача не змінювати значення властивості Checked, встановлені за замовчуванням, то при запуску проекту жоден з них не буду вибраним. Якщо і під час виконання проекту не вибрати жоден з перемикачів і вибрати кнопку, то зміняться розміри форми (подумайте самостійно, чому відбудуться саме такі змінення). Щоб так не сталося, потрібно або обов’язково вибирати один з перемикачів, або після другого ключового слова Else вставити ще одну команду розгалуження:

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

Then Form1.Color := clRed

Form1.Width := 600;

Form1.Height := 300;

end;

 

Поясніть, як виконуватиметься ця команда, якщо жоден з перемикачів не буде вибраний, і чому.


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

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

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

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

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