Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi_LR4.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
274 Кб
Скачать
☆

2.2 Інструкція case

Множинний вибір може бути реалізований за допомогою вкладених одна в іншу інструкцій if. Такий підхід не завжди зручний, особливо в тому випадку, якщо кількість варіантів ходу програми велика. У середовищі Delphi є інструкція case, яка дозволяє ефективно реалізувати множинний вибір. У загальному вигляді вона записується таким чином:

case Селектор of

список1:begin{Інструкції 1}end;

список2:begin{Інструкції 2}end;

списокN:begin{Інструкції N}end;

else

begin{Інструкції)end;

end;

де

  • Селектор – вираз, значення якого визначає подальший хід виконання програми (тобто послідовність інструкцій, яка буде виконана);

  • списокN – список констант. Якщо константи є діапазоном чисел, то замість списку можна вказати першу і останню константу діапазону, розділивши їх двома точками. Наприклад, список 1, 2, 3, 4, 5, 6 може бути замінений діапазоном 1..6.

Виконується інструкція case наступним чином:

1. Спочатку обчислюється значення виразу-селектора.

2. Значення виразу-селектора послідовно порівнюється з константами зі списків констант.

3. Якщо значення виразу збігається з константою зі списку, то виконується відповідна до цього списку група інструкцій. На цьому виконання інструкції case завершується.

4. Якщо значення виразу-селектора не збігається ні з однією константою з усіх списків, то виконується послідовність інструкцій, наступна за else.

Синтаксис інструкції case дозволяє не писати else і відповідну послідовність інструкцій.

Приклад 2

Програма перерахунку ваги з фунтів у кілограми. Програма враховує, що в різних країнах фунт «важить» по-різному. Наприклад, в Україні фунт дорівнює 409,5 грамів, в Англії – 453,592 грами, а в Німеччині, Данії та Ісландії фунт важить 500 грамів.

У діалоговому вікні програми для вибору країни використовується список Країна.

Рисунок 1 – Діалогове вікно програми Приклад використання case

Для вибору назви країни використовується список – компонент ListBox. Значок компонента ListBox знаходиться на вкладці Standard (рис. 2). Додається список до форми додатка так само, як і інші компоненти. У таблиці 3 наведені властивості компонента ListBox.

Рисунок 2 – Компонент ListBox

Таблиця 3 – Властивості компонента ListBox

Властивість

Визначає

Name

ім’я компоненту (у програмі використовується для доступу до властивостей компоненту)

Items

елементи списку

Itemindex

номер вибраного елемента списку (номер першого елементу списку дорівнює нулеві)

Left

відстань від лівої границі списку до лівої границі форми

Top

відстань від верхньої границі списку до верхньої границі форми

Height

висоту поля списку

Width

ширину поля списку

Font

шрифт, що використовується для відображення елементів списку

Parent-Font

ознаку спадкоємства властивостей шрифту батьківської форми

Найбільш цікаві властивості Items і Itemindex. Властивість Items містить елементи списку. Властивість Itemindex задає номер обраного елемента списку. Якщо жоден з елементів не обраний, то значення властивості дорівнює мінус одиниці. Список може бути сформований під час створення форми або під час роботи програми. Для формування списку під час створення форми треба у вікні Object Inspector вибрати властивість Items і натиснути на кнопці запуску редактора списку рядків (рис. 3).

Рисунок 3 – Кнопка запуску редактора списку

У діалоговому вікні String List Editor (рис. 4) потрібно ввести список, набираючи кожен елемент списку в окремому рядку. Після введення чергового елемента списку для переходу до нового рядка необхідно натиснути клавішу <Enter>. Після введення останнього елемента клавішу <Enter> натискати не треба. Завершивши введення списку, слід клацнути на кнопці Оk.

Рисунок 4 – Редактор списку

В таблиці 4 перераховані компоненти форми програми, а в таблиці 5 наведені значення властивостей компонентів.

Таблиця 4 – Компоненти форми

Компонент

Призначення

ListBox1

Для вибору країни, для якої треба виконати перерахунок

Edit1

Для вводу ваги у фунтах

Label1, Label2, Label3

Для виводу пояснювального тексту про призначення полів вводу

Label4

Для виводу результату перерахунку

Button1

Для активізації процедури перерахунку ваги з фунтів у кілограми

Таблиця 5 – Значення властивостей компонентів

Властивість

Значення

Form1.Caption

Приклад використання case

Edit1.Text

Label1.Caption

Виберіть країну, введіть кількість фунтів і натисніть на кнопці Обчислити

Label2.Caption

Країна

Label3.Caption

Фунтів

Button1.Caption

Обчислити

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

У лістингу 1 наведено текст програми перерахунку ваги з фунтів у кілограми.

Лістинг 1. Перерахунок ваги з фунтів у кілограми

unit Unit1;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]