Delphi для начинающих – Урок 8 – Условия. Оператор Case

A

AngelOfLove

Original poster
В прошлом уроке я рассказал об условном операторе IF. В этому уроке я расскажу о другом аналогичном по функционалу, но более эффективном и удобном для большого количества вложенных условий операторе CASE.

Сначала разберем, как выглядит конструкция CASE:
1 case a of
2
3 1 : ShowMessage('a=1');
4
5 2 : ShowMessage('a=2');
6
7 3 : ShowMessage('a=3');
8
9 4 : ShowMessage('a=4');
10
11 else ShowMessage('no');
12
13 end;
В данном случае, мы можем назначать каждому значению свой результат. Конструкция ELSE в данном случае опциональна, т.е. не обязательна.

Оператор CASE позволяет удобно и эффективно работать с большим количеством условных вложений, в отличии от оператора IF. Чтобы понять преимущества новой конструкции, рассмотрим как будет выглядеть код, представленный выше, но теперь вместо CASE мы будем использовать оператор IF:
1 If a=1 then ShowMessage('a=1') else
2
3 If a=2 then ShowMessage('a=2') else
4
5 If a=3 then ShowMessage('a=3') else
6
7 If a=4 then ShowMessage('a=4') else
8
9 ShowMessage('no');
Согласитесь, такой код гораздо неудобнее, чем с использованием CASE.

Стоит отметить, что IF и CASE хоть и являются условными операторами с одинаковыми возможностями, используются они для разных целей исключительно по удобству. В каких-то случаях гораздо удобнее использовать IF, например когда условия имеют сложную конструкцию, в других случаях удобно использовать CASE, например когда нам нужно создать условие, имеющее несколько одинаковых по структуре условных вложений.

В следующем уроке мы научимся создавать и обрабатывать большие структуры данных, которые включают в себя много однотипных переменных, а именно работать с массивами.
 
Название темы
Автор Заголовок Раздел Ответы Дата
A Delphi для начинающих. Урок 11. Процедуры и функции С/C++ 0
A Delphi для начинающих. Урок 10. Циклы. Работа с массивами С/C++ 0
A Delphi для начинающих – Урок 9 – Массивы С/C++ 0
A Delphi для начинающих – Урок 7 – Условия. Оператор IF С/C++ 0
A Delphi для начинающих – Урок 6 – Пишем свой калькулятор С/C++ 0
A Delphi для начинающих – Урок 5 – Работаем с компонентами С/C++ 0
A Delphi для начинающих – Урок 4 – Работа с переменными С/C++ 0
A Delphi для начинающих – Урок 3 – Создание переменных С/C++ 0
A Delphi для начинающих – Урок 2 — События С/C++ 0
A Delphi для начинающих — Урок 1 — Среда разработки Delphi С/C++ 0
C Реверс-инжирниринг бота на Delphi, есть проблемы Вопросы и интересы 0
M [Delphi] Работа VKAPI, на примере бота С/C++ 3
T Пишем WinLocker на Delphi С/C++ 0
D Нужна помощь по Delphi! ЗАПЛАЧУ! Другие ЯП 1
VAVAN Продам исход стиллера (ЯП Delphi) Продажа софта 1
A Потоки в Delphi. TThread С/C++ 0
A Delphi. Урок 17. Типы С/C++ 0
A Delphi. Урок 16. Исключительные ситуации С/C++ 0
A Delphi. Урок 15. Математические операции С/C++ 0
A Delphi. Урок 14. Работа со списками строк TStringList или «сложные» типы С/C++ 0
A Delphi. Урок 13. Работа со строками С/C++ 0
A Delphi. Урок 12. Преобразование числа в строку и строки в число С/C++ 0
A Простые шутку в DELPHI С/C++ 5
A Мои старые исходники на Delphi С/C++ 1
A Несколько шпор по Delphi =) С/C++ 3
L Загружаем компьютер другу. Delphi,rad studio Другие ЯП 0
I Country IP Ranges Generator v1.0 [Source][Delphi] Другие ЯП 3
B Помощь [Delphi] Другие ЯП 0
B VK Post Grabber [Source][Delphi] Другие ЯП 0
Admin [delphi] downloader winapi Другие ЯП 0
Support81 Шпион из ЦРУ превратил Telegram в площадку для государственной тайны Новости в сети 0
Support81 SMS для Google и Meta? Перешлём через Намибию, Чечню и швейцарский гараж Новости в сети 0
wrangler65 Katz Stealer: новая опасная малварь для кражи данных с функциями скрытности и модульности Новости в сети 0
wrangler65 Киберпартизаны атакуют: новый бэкдор Vasilek использует Telegram для управления зараженными системами Новости в сети 0
smmgoal Интересно BrownVPN – Ваш надежный VPN для конфиденциальности, безопасности и свободы Ищу работу. Предлагаю свои услуги. 0
Support81 Хватило трёх 0Day, чтобы превратить Versa Concerto в инструмент для захвата систем связи Новости в сети 0
Support81 Семь лет в тени, одна экстрадиция, и всё — финальные титры для админа BlackDB Новости в сети 0
Support81 RTX 5090: Nvidia создала монстра для взлома паролей и скромно назвала его видеокартой Новости в сети 0
Support81 Код, который должен проверять других, сам стал лазейкой для хакеров — что не так с Langflow? Новости в сети 0
Support81 Хакер взломал мессенджер для чиновников и нашёл внутри полный архив их переписок Новости в сети 0
smmgoal Esimbuy.org Откройте для себя пакеты данных Travelsim Ищу работу. Предлагаю свои услуги. 0
Chekon ✅ sms.chekons.com - ⭐ Сайт для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" от 0.4$ за номер⭐ Ищу работу. Предлагаю свои услуги. 0
Support81 CouchDB как проходной двор: эксплойты для критической SSH-уязвимости уже гуляют по сети Новости в сети 0
Support81 JUICYJAM: государство завело аккаунт для доносов Новости в сети 0
Support81 VShell? Скорее уж VHell: новый кошмар для Linux от UNC5174 Новости в сети 0
Support81 «PIN-код на лбу безопаснее»: Perplexity AI оказался настоящей находкой для шпиона Новости в сети 0
Support81 Драйвер от Dell, библиотека от ESET: хакеры ToddyCat собрали конструктор для взлома Windows Новости в сети 0
Support81 PIN-код для свободы: новый Android-шпион категорически против своего удаления Новости в сети 0
Support81 Март стал чёрным месяцем для Coinbase: похищено 46 млн долларов Новости в сети 0
Support81 Ошибка на TOR-сайте обернулась концом сразу для трёх группировок Новости в сети 0

Название темы