Оператор Select Case

Синтаксис

$ CaseStatement = Select Case expression case { case}

[ELSE StatementSequence] END SELECT ";"

$ Case = [CASE CaseLabelList ":" StatementSequence]

$ CaseLabelList = CaseLabels {"," CaseLabels}

$ CaseLabels = ConstExpression [ TO ConstExpression]

Описание

Оператор Select Case обеспечивает выбор и выполнение последовательности операторов в соответствии со значением выражения. После ключевых слов Select Case указывается выражение, значение которого будет проверяться. В блоках Case указываются проверяемые значения выражения. В одном блоке Case может быть указано:

После указания проверяемых значений через двоеточие указывается блок операторов, выполняемых для данного блока Case.

Если значение выражения не соответствует ни одной из констант, определённых в блоках Case, то выполняется последовательность операторов из блока Else, если таковой имеется. Проверяемое выражение и значения, указанные в блоках Case, должны быть одного типа. Каждое из проверяемых значений должно использоваться только в одном блоке Case. Диапазоны значений не должны пересекаться. Допустимыми типами выражения и констант являются: Integer, Decimal, Double, Char, String, Boolean.

Пример

Sub SelectCaseSample;

Var

a, c: Integer;

Begin

a := 5; c := 0;

Select Case a

Case 1: c := c - 100;

Case 2: c := c - 100;

Case 3: c := c - 100;

Case 4: c := c - 100;

Case 5: c := c + 1;

Case 6: c := c - 100;

Case 7: c := c - 100;

Case 8: c := c - 100;

Case 9: c := c - 100;

Else c := 0;

End Select;

Select Case a

Case 1, 2, 3: c := c - 100;

Case 4, 5, 6: c := c + 1;

Case 7, 8, 9: c := c - 100;

Else c := 0;

End Select;

Select Case a

Case 1 To 3: c := c - 100;

Case 4 To 6: c := c + 1;

Case 7 To 9: c := c - 100;

Else c := 0;

End Select;

End Sub SelectCaseSample;

См. также:

Операторы