Система управления базами данных Visual FoxPro5.0 - от начальных навыков к профессиональной работе. Крушель Е.Г - 50 стр.

UptoLike

Составители: 

96
Общие особенности конструкций циклов в Visual FoxPro 5.0 связаны с преодолением
массовых операций (см. п.1).Для этого внутри циклических конструкций предусмотрены
добавочные операторы, нарушающие цикл и относящиеся к числу запрещенных в
других языках (рис.2.1). Благодаря этим нарушениям запретов» удается избежать
операций завершения цикла «нормальным» образом после того, как искомая запись
найдена (и не тратить
время на просмотр оставшихся записей).
2.4.1. Конструкция DO WHILE...ENDDO:
DO WHILE <exprL>
<серия команд 1>
[LOOP] && Досрочный возврат к началу цикла
<серия команд 2> .
[EXIT] && Досрочный выход из цикла
<серия
команд3>.
ENDDO
Цикл выполняется, пока
истинно логическое
выражение <exprL>
либо пока не встретится
команда EXIT. Серии
команд 2 и 3
выполняются только в
том случае, если не
встретится команда
LOOP.
Пример
см. в п.2.4.4.
2.4.2. Конструкция FOR...ENDFOR:
FOR <memvar>=<exprN1> TO <exprN2> [STEP <exprN3>]
<серия команд1>
[LOOP]
<серия команд2>
[EXIT]
<серия команд3>
ENDFOR &&(можно - NEXT)
Конструкция аналогична FOR..NEXT в QuickBasic:
<exprN1> - начальное значение цикловой переменной <memvar>;
<exprN2> - ее конечное значение;
<exprN3> - шаг изменения цикловой переменной
.
LOOP и EXIT имеют тот же смысл, что и в цикле
DO WHILE...ENDDO (см.п.2.4.1).
2.4.3. Конструкция SCAN...ENDSCAN не имеет аналогов в других языках процедурного
программирования. «Мотором» цикла в ней является файловый указатель:
SCAN [<scope>][FOR <exprL1>][WHILE <exprL2>]
<серия команд1>
[LOOP]
<серия команд2>
[EXIT
]
<серия команд3>
ENDSCAN
Команды
до цикла
Команды
до цикла
Начало цикла
Конец цикла
Команды после
цикла
Команды после
цикла
Рис.2.1. Специальные конструкции цикла, разрешенные в Visual FoxPro
                                                 96

Общие особенности конструкций циклов в Visual FoxPro 5.0 связаны с преодолением
массовых операций (см. п.1).Для этого внутри циклических конструкций предусмотрены
добавочные операторы, нарушающие цикл и относящиеся к числу запрещенных в
других языках (рис.2.1). Благодаря этим нарушениям запретов» удается избежать
операций завершения цикла «нормальным» образом после того, как искомая запись
найдена (и не тратить время на просмотр оставшихся записей).
2.4.1. Конструкция DO WHILE...ENDDO:
           DO WHILE 
            <серия команд 1>
            [LOOP]           && Досрочный возврат к началу цикла
                <серия команд 2> .
            [EXIT]           && Досрочный выход из цикла
                                                                                          <серия
    Команды                       Команды                             команд3>.
    до цикла                      до цикла                                        ENDDO

                                                                      Цикл выполняется, пока
                   Начало цикла                                       истинно       логическое
                                                                      выражение 
                                                                      либо пока не встретится
                   Конец цикла
                                                                      команда EXIT. Серии
                                                                      команд     2      и    3
                                                                      выполняются только в
   Команды после             Команды после                            том случае, если не
      цикла                       цикла                               встретится       команда
                                                                      LOOP.
Рис.2.1. Специальные конструкции цикла, разрешенные в Visual FoxPro   Пример см. в п.2.4.4.


2.4.2. Конструкция FOR...ENDFOR:
      FOR = TO  [STEP ]
        <серия команд1>
        [LOOP]
          <серия команд2>
         [EXIT]
           <серия команд3>
      ENDFOR               &&(можно - NEXT)
  Конструкция аналогична FOR..NEXT в QuickBasic:
   - начальное значение цикловой переменной ;
   - ее конечное значение;
   - шаг изменения цикловой переменной.
  LOOP и EXIT имеют тот же смысл, что и в цикле
DO WHILE...ENDDO (см.п.2.4.1).

2.4.3. Конструкция SCAN...ENDSCAN не имеет аналогов в других языках процедурного
программирования. «Мотором» цикла в ней является файловый указатель:
       SCAN [][FOR ][WHILE ]
          <серия команд1>
          [LOOP]
             <серия команд2>
          [EXIT]
             <серия команд3>
       ENDSCAN