FOR ... ENDFOR 命令

示例 请参阅

按指定的次数重复执行一组命令。

语法

FOR MemVarName = nInitialValue TO nFinalValue [STEP nIncrement] 
Commands
[EXIT]
[LOOP]
ENDFOR | NEXT

参数

MemVarName

指定作为计数器的内存变量或数组元素。在 FOR ... ENDFOR 语句执行之前,此内存变量或数组元素不一定存在。

nInitialValue TO nFinalValue

nInitialValue 是计数器的初始值,而 nFinalValue 是计数器的最终值。

STEP nIncrement

nIncrement 是计数器递增或递减的步长。如果 nIncrement 为负,则计数器递减;如果省略 STEP 子句,计数器每次的增量为 1。

Commands

指定要执行的 Visual FoxPro 命令,Commands 可以包含任意数目的命令。

EXIT

在 FOR ... ENDFOR 循环中,将控制权传递给紧接在 ENDFOR 后面的命令。可以在 FOR 与 ENDFOR 之间的任何地方放置 EXIT。

LOOP

将控制权直接返给 FOR 子句,不再执行 LOOP 与 ENDFOR 之间的语句。计数器正常递增或递减,就象执行到 ENDFOR 一样。可以在 FOR 与 ENDFOR 之间的任何地方放置 LOOP。

说明
可以用内存变量或数组元素作为计数器,指定 FOR ... ENDFOR 循环中 Visual FoxPro 命令的执行次数。
在遇到 ENDFOR 或 NEXT 之前,始终执行 FOR 后面的 Visual FoxPro 命令。执行过程中,每循环一次,计数器 MemVarName 都会递增,增量为 nIncrement(如果省略 STEP 子句,则计数器每次的增量为 1),然后把计数器的值与 nFinalValue 作比较。如果计数器的值小于或等于 nFinalValue,将再次执行 FOR 语句后的命令;如果计数器的值大于 nFinalValue,则退出 FOR ... ENDFOR 循环,程序继续执行 ENDFOR 或 NEXT 之后的第一条命令。

附注
nInitialValue、nFinalValue 和 nIncrement 只能是初次读入的值。在循环过程中更改计数器 MemVarName 的值将影响循环的执行次数。

如果 nIncrement 为负,且初始值 nInitialValue 大于最终值 nFinalValue,则每经过一次循环,计数器都将递减。