Тема. Список, що розкривається. Алгоритми з розгалуженням.
Розглянемо, як можна використати поле з розкривним списком у команді розгалуження.
Вправа 8. У ході виконання проекту потрібно змінювати значення тільки однієї з властивостей вікна: або заголовок, або колір, або розміри.
Варіант алгоритму проекту.
- Розмістимо на формі поле з розкривним списком і створимо відповідний список.
- Розмістимо також на формі кнопку і складемо процедуру – обробних події Click для цієї кнопки, під час виконання якої вибиратимемо один з рядків розкривного списку та кнопку відміни значень обраних властивостей .
Залежно від вибраного рядка змінюватимуться або заголовок або заголовок форми, або її колір, або її розміри.
- Виберемо перший пункт списку Заголовок і клацнемо кнопку:
тоді під час виконання процедури значення логічного виразу (ComboBox1.Text='Заголовок ') = true, а значить виконуватиметься команда Form1.Caption:= ' Заголовок змінений ', яка змінить заголовок вікна, після чого виконання команди розгалуження і всієї процедури закінчиться.
- Якщо вибрати другий пункт списку Колір і клацнути кнопку,
то під час виконання процедури значення логічного виразу (ComboBox1.Text= ' Заголовок ') =false;
тоді обчислюється значення логічного виразу ComboBox1.Text= ' Колір ', і воно дорівнює true. А значить виконуватиметься команда Form1.Color:=clRed, яка змінить колір вікна, після чого виконання команди розгалуження і всієї процедури закінчиться.
- Якщо вибрати третій пункт списку Розміри і клацнути кнопку ,
то під час виконання процедури значення логічного виразу ( ComboBox1.Text= ' Заголовок ') = false;
після цього обчислюється значення логічного виразу ComboBox1.Text= ' Колір ', і воно теж дорівнює false;
цього обчислюється значення логічного виразу ComboBox1.Text= ' Розміри ', і воно дорівнює true. А значить виконуватимуться команди Form1.Width:=600 і Form1.Height:=300, які змінять ширину і висоту вікна, після чого виконання команди розгалуження і всієї процедури закінчиться.
- Якщо не вибрати жодного пункту списку і клацнути кнопку, то значення всіх логічних виразів у розгалуженні будутьfalse і в цьому випадку не змінюватимуться значення жодної властивості вікна і виконання процедури закінчиться.
Варіант1. програмного коду проекта
Поскільки із розкривного списку ми можемо одночасно вибрати лише один рядок списку, тому має місце і такий варіант програмного коду:
procedure TForm1.Button1Click(Sender: TObject);
begin
if ComboBox1.Text = 'Заголовок' then form1.Caption := 'компонент combobox';
if ComboBox1.Text = 'Цвет' then form1.color:=clred;
if ComboBox1.Text='Размер'then
begin
form1.height:= 300;
form1.width:= 600;
end;
end;
Інтерфейс проекту
⇒
Формування списку елемента керування ComboBox
Фрагмент алгоритму проекту
Програмний код
procedure TForm1.Button1Click(Sender: TObject); begin if k1 then s:= s + checkbox1.Caption + ' '; //если выбран флажок k1, в переменной S формируется текст: бег на 100 метров if k2 then s:= s + checkbox2.Caption + ' '; //если выбран флажок k2, в переменной S формируется текст: бег на 100 метров прыжки в длину if k3 then s:= s + checkbox3.Caption + ' '; {если выбран еще и флажок k3, в переменной S формируется текст: if combobox1.Text = 'юный возраст' then s:= s +', категория: юный возраст ' ; {если значение переменной combobox1.Text - текст "юный возраст" тогда значение переменной s: бег на 100 метров прыжки в длину челночный бег , категория: юный возраст } if combobox1.Text = 'средний возраст' then s:= s +', категория: средний возраст ' ; {если значение переменной combobox1.Text - текст "средний возраст" тогда значение переменной s: бег на 100 метров прыжки в длину челночный бег , категория: средний возраст } if combobox1.Text = 'преклонный возраст' then s:= s +', категория: преклонный возраст ' ; {если значение переменной combobox1.Text - текст "преклонный возраст" тогда значение переменной s: бег на 100 метров прыжки в длину челночный бег , категория: преклонный возраст } ShowMessage(k + ', Вы зарегестрированны: ' + s ); end; |