Язык Lotus Script. Компоненты языка LotusScript. Построение операторов языка LotusScript, страница 6

Тип

Операторы

Блочные операторы

If...Then

If...Then... Else

lf...Then...Elself

Select Case

Блочные операторы цикла

Do... Loop

Do While...Loop

Do Loop...While

Do Untill...Loop

Do... Loop Until

While...Wend

For-Next

ForAII-End ForAII

Операторы ветвления

GoTo

GoSub

lf...GoTo...Else

On...GoTo

On...GoSub

Return

Операторы прерывания

End

Exit

Листинг 22.11 - Инструкции If...Then...Else и Select Case

Dim counter as Integer

counter = 1 REM Какой блок будет выполнятьс? Это зависит от результатов проверки на строке If

If counter < 10 Then 'Эти 3 строки являются блоком

Print "The counter is less than 10."

Counter = 10

Print "The counter has now been set to 10."

Else 'Эти 2 строки являются блоком

Print "The counter was greater than or equal to 10."

Print "Now continuing..."

End If

Select Case counter

Case < 10

Print "The counter was less than 10."

Case < 20

Print "The counter was less than 20."

Case > 50

Print "The counter was greater than 50."

Case Else

Print "The counter was between 20 & 50."

End Select

Существует еще две формы оператораIf...Then...Else. Первая из них используется только тогда, когда выполняется один оператор и проверяемое для него условие является истинным. Другими словами, если условие истинно, то выполняется один оператор; если условие ложно, не выполняется ни один оператор. В любом случае выполнение программы продолжается с оператора, следующего за оператором If...Then. Для оператораIf...Then не требуется операторEnd If.

Имеется еще один вариант оператора If — это операторIf...Then...ElseIf. Он эквивалентен цепочке операторовIf...Then. Блок If...Then...ElseIf заканчивается операторомEnd If.

Блочный операторSelect Case по своей идее аналогичен цепочке последовательных операторовIf. Однако операторSelect Case имеет более простой вид До начала выполнения блокаSelect Case необходимо определить переменную, используемую для проверки условий. Затем в оператореSelect Case задается эта переменная; в предыдущем примере использовалась переменнаяcounter. В каждой строкеCase содержится условие или условия, на соответствие которым проверяется отобранное выражение (переменная) Если в ходе проверки одного из условийCase возвращается значение true, то выполняются операторы, которые содержатся в данном блокеCase. Если ни одна проверка условийCase не дает значения true, выполняется блокCase Else (если он имеется). Затем выполнение программы продолжается с оператора, следующего за операторомEnd Select.

Блочные операторы цикла

Блочные операторы цикла аналогичны блочным операторам, за исключением того, что в блочном операторе блок выполняется один раз (в зависимости от условия), а в блочном операторе цикла блок выполняется много раз. Он выполняется определенное количество раз, пока условие истинно (while) или, наоборот, пока условие ложно (until). К блочным операторам цикла относятся операторыDo, While, For и ForAU. В каждом из них блок операторов выполняется в зависимости от некоторых условий.

ОператорWhile является первым оператором блока, а операторWend — последним. Блок операторов будет выполняться до тех пор, пока выполняется условие, заданное в оператореWhile Если во время выполнения оператораWhile проверка условия не дает значения true, то блок операторов не будет выполняться совсем. С другой стороны, если проверка условия никогда не даст значения false, то программа "зациклится".