С помощью условного оператора происходит проверка заданного условия и в зависимости от полученного результата происходит выбор одного из двух действий. Условный оператор представляет средство ветвления алгоритмического процесса.
Структура условного оператора представляет собой следующий вид:
if условие then список операторов 1 else список операторов 2 ;
где if, then, else - зарезервированные слова, по русски означающие - если, то, иначе.
Условие выбора - это логическое выражение (в основном используются операторы сравнения).
список операторов 1 и список операторов 2 - любые операторы языка Delphi. В состав списка операторов может входить один оператор или несколько, тогда это должен быть составной оператор. Один из выборов может отсутствовать, (быть пустым). Обычно это выбор действий расположенный после слова else. В такой ситуации, при условии равном FALSE, управление передается операторам следующим сразу за условным оператором.
Алгоритм работы условного оператора имеет следующий вид. Первоначально вычисляется выражение условие.Получаем результат логического типа. Если результат равен TRUE, то выполняются операторы входящие в список операторов 1, а список операторов 2пропускается. Если результат равен FALSE, то происходит обратное действие - выполняются операторы входящие в список операторов 2, а список операторов 1 пропускается.
Еще важный момент перед словом else не ставиться точка c запятой.
Давайте расположим на форме кнопку Button и компонент Label. Для кнопки напишем такой обработчик события:
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
begin
i :=2;
if i = 1 then
begin
Label1.Caption := 'Переменная i равна 1';
Form1.Color := clRed
end else
begin
Label1.Caption := 'Переменная i не равна 1';
Form1.Color := clGray
end
end;
При осуществлении проверки состоящей из множества условий (оператором if), допустим нам надо выполнить один из пяти или более операторов, получиться довольно громоздкая и не удобочитаемая запись.
Для этих целей удобней использовать оператор выбора Case. С его помощью возможно делать выбор из необходимого количества вариантов. Структура в языке Delphi оператора Case имеет следующий вид:
Case Переменная of
значение 1 : оператор 1;
значение 2 : оператор 2;
----
значение N : оператор N;
Else оператор;
end;
Case, of, else, end - зарезервированные слова.
Переменная - может быть одним из стандартных типов: символьным типом, целым числом, перечисляемым типом... Вместо значения может стоять простой оператор.
значение N - произвольное значение, того же типа, что и переменная.
оператор N - любые операторы.
Работа оператора Case осуществляется следующим образом. Вначале если необходимо вычисляется значение переменной. Затем ищется соответствие переменной значению N. При равенстве происходит выполнение оператора N и оператор case завершает свою работу. Если совпадений не найдено то выполняется оператор расположенный после слова else. При отсутствии оператора else, когда нет соответствия оператор case завершит свою работу и будет выполнен следующий оператор.