Вітаю Васперехожий | Реєстрація | Вхід


































Меню сайту


Авторизація
Наше опитування
Як часто Ви відвідуєте наш сайт?
Всього відповідей: 157
Сьогодні завітали
Статистика
Пошук
Друзі сайту


















За підтримки NIC.UA

Прапорці та перемикачі - Форум

[ Нові повідомлення · Учасники · Правила форуму · Пошук · RSS ]
Сторінка 1 з 11
Модератор форуму: IRINA 
Форум » Готуємо уроки разом » Інформатика » Прапорці та перемикачі (Вивчаємо Delphi)
Прапорці та перемикачі
IRINAДата: Неділя, 06-Листопада-2011, 17:06 | Повідомлення # 1
Вчитель інформатики
Група: Модератори
Повідомлень: 3
Репутація: 0
Статус: Оффлайн
Перемикачі та прапорці
Для реалізації розгалуження в проекті можна використати такі елементи керування як перемикачі та прапорці. Працюючи з текстовими і графічними редакторами, редактором презентацій, іншими програмами, ви неодноразово бачили, що за вибору перемикача всередині з’являється позначка ..., а за вибору прапорця – позначка ... .
Нагадаємо, що з групи перемикачів може бути вибраний тільки один, а в групі прапорців позначка може бути встановлена або на одному з них, або на кількох, або на жодному. Перемикачі призначені для того, щоб у ході виконання проекту вибрати один з можливих варіантів. Наприклад, установити для певної властивості об’єкта одне значення з деякого визначеного набору значень. Прапорці призначені для того, щоб у ході виконання проекту вибрати або один з можливих варіантів, або кілька. Наприклад, установити значення однієї або кількох властивостей об’єкта з деякого визначеного набору властивостей.
Для розміщення на формі перемикача потрібно встановити вказівник на значок RadioButton (англ. radio button – кругла кнопка) на панелі інструментів та двічі клацнути ліву кнопку миші, а для розміщення прапорця – встановити вказівник на значок CheckBox (англ. check box – коробка для перевірки) і також двічі клацнути ліву кнопку миші.
Перемикач і прапорець мають більшість властивостей, які ми розглядали для форми, поля, кнопки і напису, та ще деякі, серед яких розглянемо властивість Checked (англ. checked – вибраний), яка може набувати одне з двох значень True або False і яка визначає, встановлена позначка в даному об’єкті чи ні (вибраний цей об’єкт чи ні). Тому значення цієї властивості можна використовувати в команді розгалуження замість логічного виразу.

Розглянемо, як можна використати перемикачі для реалізації розгалуження в проекті.
Нехай, наприклад, потрібно в ході виконання проекту змінювати значення тільки однієї з таких властивостей форми: або заголовок, або колір, або розміри.
Для цього розмістимо на формі кнопку і три перемикачі (див. рис.). При розміщенні перемикачів на формі для кожного з них за замовчуванням встановлюється значення властивості Checked – False. До запуску проекту змінимо у першого перемикача значення цієї властивості на True. Після цього на формі він виглядатиме вибраним (див. рис.). Таким він буде і після запуску проекту на виконання.
Створимо процедуру для опрацювання події OnClick кнопки, і до її тексту помістимо таку команду:
If RadioButton1.Checked
Then Form1.Caption := 'Заголовок змінений'
Else If RadioButton2.Checked
Then Form1.Color := clRed
Else If RadioButton3.Checked
Then begin
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, тобто дві команди змінення розмірів форми.
Якщо перед запуском проекту на виконання у жодного перемикача не змінювати значення властивості Checked, встановлені за замовчуванням, то при запуску проекту жоден з них не буде вибраним.
Розглянемо тепер, як можна використати прапорці для реалізації розгалуження.
Нехай, наприклад, нам потрібно в ході виконання проекту змінювати значення або тільки однієї з властивостей форми (або заголовок, або колір, або розміри), або кількох із них, або не змінювати значення жодної з них.
Для цього розмістимо на формі кнопку і три прапорці (див. рис.). При розміщенні прапорців на формі для кожного з них за замовчуванням автоматично встановлюється значення властивості Checked – False. Оскільки при виконанні проекту позначка жодного прапорця може бути не встановлена, то доцільно залишити такі початкові значення властивості Checked усіх прапорців.
Створимо процедуру для опрацювання події OnClick кнопки і до її тексту помістимо такі три послідовні (не вкладені одна в одну) команди розгалуження:
If CheckBox1.Checked
Then Form1.Caption := 'Заголовок змінений';
If CheckBox2.Checked
Then Form1.Color := clRed;
If CheckBox3.Checked
Then begin
Form1.Width := 500;
Form1.Height := 200;
end;

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

З розглянутих вище прикладів можна зробити такі висновки:
• перемикачі використовуються тоді, коли потрібно вибрати один і тільки один варіант дій з кількох можливих;
• для опрацювання стану перемикачів у процедуру включають команди розгалуження, які вкладені одна в одну;
• прапорці використовуються тоді, коли може бути вибраний або один, або кілька, або не вибраний жоден варіант дій з кількох можливих;
• для опрацювання стану прапорців у процедуру включають послідовні команди розгалуження, які незалежні одна від одної.
Форум » Готуємо уроки разом » Інформатика » Прапорці та перемикачі (Вивчаємо Delphi)
Сторінка 1 з 11
Пошук: