按指定的次数重复执行一组命令。
语法
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,则每经过一次循环,计数器都将递减。