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

A

AngelOfLove

Original poster
Условия в языках программирования позволяют создавать сложные нелинейные алгоритмы, о которых и пойдет речь в этом уроке.Условия в программном коде Delphi/Pascal обозначаются специальными условными операторами if и case, без которых сейчас не обходится практически не одна программа. Условные операторы позволяют выполнять какие-либо действия при определенных условиях. Разберем непосредственно конструкцию простого условия:

1
if {условия} then {действие, выполняющееся при условии};
Как видите, сначала мы ставим оператор if , затем указывам условие или условия (их может быть несколько). Затем ставим оператор then и указываем действие, которое выполнится при указанном условии. Такая конструкция позволяет создавать несколько условий, однако позволяет создать только одно действие, выполняющееся при этом условии. После единственного действия мы как обычно ставим «;«.

Для того, чтобы задать несколько действий, мы можем использовать другую конструкцию:

1 if {условия} then begin
2
3 {действие, выполняющееся при условии};
4
5 {действие, выполняющееся при условии};
6
7 end;

Стоит учесть, что «;» ставиться только в конце оператора, т.к. служебные слова then и else входят в состав оператора if, и перед ним точка не ставиться.

Кроме того, сами условия, при которых выполняются действия, могут включать в себя несколько простых условий, каждое из которых заключается в скобки (это мы разберем чуть далее).

Таким образом, между вложенными в условие операторами begin и end мы можем задавать несколько действий. Каждое действие оканчивается «;». После end в условии тоже ставится «;».

Существует также более сложная конструкция условий, которая позволяет задавать действия для такого случая, когда условия оператора if не выполняются:

1 if {условия} then begin
2
3 {действие, выполняющееся при условии};
4
5 {действие, выполняющееся при условии};
6
7 end else begin
8
9 {действие, которое выполняется в противном случае};
10
11 {действие, которое выполняется в противном случае};
12
13 end;

Также, если в условной конструкции нам нужно выполнить только одно действие, то справедлива следующая конструкция:

1 if {условия} then {действие, выполняющееся при условии} else
2
3 {действие, которое выполняется в противном случае};
Теперь разберемся, как же задавать нам сами условия. Условия, как я уже говорил могут быть сложными, т.е. состоять из нескольких подусловий. Примеры условий:

1 if a>b then {если a численно больше b (только для численных переменных)};
2
3 if (a>b)or(c>d) then {если a численно больше b или c>d (только для численных переменных)};
4
5 if (a>b) then {если a численно больше b (только для численных переменных)};
6
7 if not(a>b) then {если не выполняется условие "a численно больше b" (только для численных переменных)};
8
9 if (a<>b) then {если a не равняется b (только для численных переменных)};
10
11 if str1=str2 then {если строка1 посимвольно равна строке2};
12
13 if str1<>str2 then {если не выполняется условие "строка1 посимвольно равна строке2"};
14
15 if str1<>str2 then {если не выполняется условие "строка1 посимвольно равна строке2"};
16
17 if str1='test' then {если строка1 посимвольно равна строке "test"};

Надеюсь, примеров я привел достаточно, чтобы показать вам самые распространенные условия. Условия также могут включать в себя и больше подусловий. Приведу пример готовой условной конструкций:

1 if (a=b)and(c<0) then begin
2
3 if c+1>d-sin(e) then showmessage('test!') else c:=c+1;
4
5 h:=h+20;
6
7 end else x:=0;

В следующем уроке я расскажу вам об условном операторе case, который дает возможность создавать большое количество пар «условие-действие».
 
Название темы
Автор Заголовок Раздел Ответы Дата
A Delphi для начинающих. Урок 11. Процедуры и функции С/C++ 0
A Delphi для начинающих. Урок 10. Циклы. Работа с массивами С/C++ 0
A Delphi для начинающих – Урок 9 – Массивы С/C++ 0
A Delphi для начинающих – Урок 8 – Условия. Оператор Case С/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
G Продам Продам Телеграм группы для безопасного инвайта Куплю/Продам 0
Support81 ЦБ РФ и Росфинмониторинг тестируют платформу для контроля криптовалютных операций Новости в сети 0
Support81 Майнинг и вымогательство: OpenMetadata стала площадкой для инвестиций в недвижимость Китая Новости в сети 0
Support81 Ботнет в каждом доме: хакеры снова порабощают роутеры TP-Link для DDoS-атак Новости в сети 0
Support81 Telegram устранил 0day, используемый для удаленного запуска кода Новости в сети 0
Emilio_Gaviriya Статья SSTImap: Инновационный инструмент для анализа городского пространства. Анонимность и приватность 0
Emilio_Gaviriya Статья Защита и надёжность: Важность патчей для Microsoft Active Directory. Вирусология 0
El_IRBIS Интересно Lookyloo: Путешествие в глубины интернета с помощью инструмента для анализа веб-страниц. Уязвимости и взлом 0
El_IRBIS Интересно Набор инструментов для глубокой проверки пакетов с открытым исходным кодом. Уязвимости и взлом 0
M Нужен VPN для роутера Вопросы и интересы 0
Tera_shop Продам Telegram аккаунты для рассылки, инвайта (Session + Json, Tdata) Tear-shop.ru Купить аккаунты на сайте: https://tear-shop.ru/ Tear-shop - Магазин Аккаунты/Админки/Документы 1
Emilio_Gaviriya Статья Censys: Поисковик для кибербезопасности в интернете. Уязвимости и взлом 0
Emilio_Gaviriya Статья AlienVault: Всё, что вам нужно знать о платформе для обнаружения угроз. Уязвимости и взлом 0
Emilio_Gaviriya OSINT: Подборка инструментов для автоматизации разведки. Статьи 0
Support81 VPN – ловушка для Android: как приложения превращают смартфоны в зомби Новости в сети 0
Support81 Токены Discord нарасхват: взлом Top.gg обернулся кошмаром для разработчиков Новости в сети 0
Emilio_Gaviriya Статья Платформы для проверки и улучшения навыков белого хакинга. Уязвимости и взлом 0
Emilio_Gaviriya Статья Инструмент для сбора whois-истории. Уязвимости и взлом 0
Support81 82 участника, 1,3 миллиарда и...отсрочка: что происходит с российской платформой для обмена кодом Новости в сети 0
Support81 DarkGPT: незаменимый OSINT-инструмент для специалистов в сфере кибербезопасности Новости в сети 0

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