Выполняет ряд команд указанное число раз.
FOR VarName = nInitialValue TO nFinalValue [STEP nIncrement] Commands [EXIT] [LOOP] ENDFOR | NEXT |
Параметры
- VarName
-
Определяет название переменной которая будет выступать в качестве щетчика. Счетчик следит за числом раз, для которого выполняются команды Visual FoxPro в цикле FOR ... ENDFOR. Переменная не должна существовать перед выполнением FOR ... ENDFOR.
- nInitialValueTO nFinalValue
-
Определяет начальные и конечные значения счетчика. И nInitialValue и nFinalValue могут быть элементами массива.
- [STEP nIncrement]
-
Определяет шаг на который увеличивается или уменьшается значение счетчика. Если nIncrement отрицателен, значение счетчика уменьшается. Если опустить выражение STEP clause, VarName значение счетчика увеличивается на 1.
- Commands
-
Определяет команды Visual FoxPro, на выполнение. Commands может включать любое число команд.
- [EXIT]
-
Передает управление из цикла FOR ... ENDFOR команде стоящей сразу после ENDFOR. Вы можете поместить EXIT в любом месте между FOR и ENDFOR. Для получения дополнительной информации, смотрите Команда EXIT.
- [LOOP]
-
Возвращает управление выражению FOR не выполняя ключевыми словами LOOP и ENDFOR. Значение счетчика увеличивается или уменьшается какбудто ENDFOR был достигнут. Для получения дополнительной информации, смотрите Команда LOOP.
- ENDFOR
-
Определяет конец цикла FOR ... ENDFOR.
- NEXT
-
Определяет местоположение, из которого продолжается выполнение программы после того, как значение счетчика превысит nFinalValue.
Замечания
Команды Visual FoxPro содержащиеся в цикле FOR выполняются пока не достигнут ENDFOR или NEXT. Значение в счетчике VarName увеличиваются или уменшаются на значение nIncrement. Значение счетчика сравнивается с nFinalValue. Если счетчик меньше или равен nFinalValue, то команды после выражения FOR выполняются снова. Если счетчик больше nFinalValue, происходит выход из цикла the FOR ... ENDFOR , и програма продолжает выполняться из первой команды после ENDFOR или NEXT.
![]() |
---|
Значения nInitialValue, nFinalValue, и nIncrement первоначально доступны только для чтения. Однако, изменение значения счетчика VarName внутри цикла, затрагивает число раз выполнения цикла. Изменение значения nFinalValue в цикле FOR не имеет никакого эффекта. |
Пример
Пример 1
В следующем примере, цикл FOR ... ENDFOR отображает числа от 1 до 10 используя команду ?:
![]() | |
---|---|
FOR gnCount = 1 TO 10 ? gnCount ENDFOR |
Для получения дополнительной информации, смотрите Команда ? | ?? .
Пример 2
Следующий пример открывает таблицу Customer в примере базе данных TestData Visual FoxPro, расположенной в каталоге ..\Samples\Data. Цикл FOR ... ENDFOR определяет начальное значение 1, значение приращения 2, и конечное значение 10. Команда GOTO перемещяет указатель записи на запись заданную переменной gnCount
и команда DISPLAY отображает название компании из поля Company таблицы. Цикл FOR ... ENDFOR отображает все нечетные записи из первых 10 записей.
![]() | |
---|---|
OPEN DATABASE (HOME(2) + 'Data\TestData') USE Customer FOR gnCount = 1 TO 10 STEP 2 GOTO gnCount DISPLAY Company ENDFOR |
Для получения дополнительной информации, смотрите Команда GO | GOTO и Команда DISPLAY.