Операторы выбора

Операторы выбора используются для изменения пути выполнения программы в зависимости от значения какого-либо выражения.

selection-statement:

if-statement

switch-statement

Оператор If

Оператор If используется для выбора одного из возможных путей выполнения программы в зависимости от значения логического выражения.

if-statement:

If   boolean-expression   Then   block   elseif-clausesopt   else-clauseopt   End If

boolean-expression:

expression

elseif-clauses:

elseif-clause

elseif-clauses   elseif-clause

elseif-clause:

Elseif   boolean-expression   Then   block

else-clause:

Else   block

Оператор If выполняется следующим образом:

Пример

Private Sub TestIf();
Var
    a, b: Integer;
    c: Double;
Begin
    //.....
    // Условие
    If a = 0 Then
        c := b; // Операторы, выполняющиеся, если a=0
    Else
        c := b / a; // Операторы, выполняющиеся, если a<>0
    End If;
    //.....
End Sub;

Оператор Select

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

switch-statement:

Select Case   expression   switch-sections   else-clauseopt   End Select

switch-sections:

switch-section

switch-sections   switch-section

switch-section:

Case   switch-labels   :   block

switch-labels:

switch-label

switch-labels   ,   switch-label

switch-label:

constant-expression

В заголовке оператора Select указывается выражение посредством вычисления которого будет определяться выполняемый блок операторов. Тип выражения в заголовке оператора называется определяющим типом. Константные выражения в списках меток должны иметь значения, которые могут быть неявно приведены к определяющему типу оператора. Если два или более значений меток имеют одинаковое значение возникает ошибка компиляции.

Оператор Select выполняется следующим образом:

Пример

Private Function TestSelect(a: integer): string;
Begin
    Select Case a
        Case 0Return "A=0";
        Case 1Return "A=1";
        Case 2Return "A=2";
        Else Return "A>2";
    End Select;
End Function TestSelect;

См.также:

Операторы