Лекция: If CheckBox2.Checked

Then

//Событие возникло в ответ на установку флажка, выполняем

//соответствующие действия

Else

//Событие возникло в ответ на снятие флажка, выполняем

//соответствующие действия

End;

 

1.6 Вложенный условный оператор. В ветках then и else условного оператора могут присутствовать любые операторы, в том числе условные, таким образом мы получаем вложенные условные операторы. Уровень вложенности практически не ограничен.

Примеры вложенных условных операторов:

 

If a>b Then begin A:=3;
If c>d Then A:=a+2 Else A:=a-1;

End;

 

Здесь и далее внешние и внутренние условные операторы выделены разными цветами.

 

If a>b Then begin A:=3;
If c>d Then A:=a+2 Else A:=a-1;

End

Else

If d<k Then A:=10 Else Begin A:=20; D:=k-2 End;

 

 

!!! Иногда (если не использовать операторные скобки begin-end) не всегда понятно, к какому if какой else относится, например:

 

If a>b then if c<d then a:=3 else a:=7;


Здесь непонятно, к какому if, внешнему или внутреннему, относится else. По принятому соглашению в таких случаях считается, что else относится к ближайшему if, т.е. к внутреннему.

 

1.6 Оператор выбора. Иногда в программе требуется организовать множественный выбор, это можно сделать с помощью оператора case. Синтаксис оператора case:

 

а) полная форма

 

case выражение-селектор of

список_значений_1: оператор_1;

список_значений_2: оператор_2;

список_значений_3: оператор_3;

список_значений_n: оператор_n;

else список_значений_n+1: оператор1;

End

 

!!! Здесь перед else нужно ставить точку с запятой.

 

Тип выражения-селектора и значений может быть целым, не может быть вещественным. В зависимости от значения выражения-селектора будет выполняться соответствующая ветка оператора case, если значение выражения-селектора не совпадет ни с одним из значений ни одной из ветвей, то будет выполняться ветка else. Список_значений – это список через запятую целых констант и/или диапазонов, например:

 

1, 2, 8..11, 10+12: // в этот список значений входят числа 1, 2, 8, 9, 10, 11, 22

!!! Значения в списках не должны повторяться.

б) сокращенная форма

 

case выражение-селектор of

список_значений_1: оператор_1;

список_значений_2: оператор_2;

список_значений_3: оператор_3;

список_значений_n: оператор_n;

End

Здесь также в зависимости от значения выражения-селектора будет выполняться соответствующая ветка оператора case, но если значение выражения-селектора не совпадет ни с одним из значений ни одной из ветвей, то сразу же будет выполняться следующий за case оператор.

Если мы хотим, чтобы в какой-либо из веток выполнялось бы более одного оператора, то нужно использовать операторные скобки begin-end.

Примеры операторов case:

 

Case d+1 of

1, 2, 12: Label1.Caption:=’Зима’;

3..5: Label1.Caption:=’Весна’;

6..8: Label1.Caption:=’Лето’;

9..11: Label1.Caption:=’Осень’;

End;

Если перед выполнением оператора case переменная d будет принимать значение 3, то значение выражения-селектора d+1 будет равно 4, это число попадает в диапазон 3..5, в результате будет выполняться подкрашенная ветка. Если перед выполнением оператора case переменная d будет принимать значение 30, то значение выражения-селектора d+1 будет равно 31, это число не совпадает ни с одним из значений ни одной из ветвей, поэтому сразу произойдет выход из оператора case.

Case d+1 of

1, 2, 12: Label1.Caption:=’Зима’;

3..5: Label1.Caption:=’Весна’;

6..8: Label1.Caption:=’Лето’;

9..11: Label1.Caption:=’Осень’;

Else Label1.Caption:=’Ошибка’;

End;

Если перед выполнением оператора case переменная d будет принимать значение 30, то значение выражения-селектора d+1 будет равно 31, в результате будет выполнена ветка else.

Case d+1 of

1, 2, 12: begin Label1.Caption:=’Зима’; Form1.Color:=clWhite; end;

3..5: begin Label1.Caption:=’Весна’; Form1.Color:=clGreen; end;

6..8: begin Label1.Caption:=’Лето’; Form1.Color:=clBlue; end;

9..11: begin Label1.Caption:=’Осень’; Form1.Color:=clYellow; end;

Else begin Label1.Caption:=’Ошибка’; Form1.Color:=clRed; end;

End;

Здесь в зависимости от времени года форма подкрасится в соответствующий цвет.

еще рефераты
Еще работы по географии