FOR ... E N D F O R 命 令
按指定的次数重复执行一组命令 .
语 法
FOR Var = nInitialValue TO nFinalValue [STEP nIncremen t]
Commands
[EXIT]
[LOOP] ENDFOR | NEXT
参 数 描 述
Var
指 定 一 个 变 量 或 数 组 元 素 作 为 计 数 器 在 执 行 FOR ... ENDFOR 语 句 之 前变 量 或 数 组 不 必 存 在
nInitialValue TO nFinalValue
nInitialValue 为 计 数 器 的 初 始 值 nFinalValue 为 计 数 器 的 终 止 值
STEP nIncrement
nIncrement 显 示 计 数 器 增 加 或 减 少 的 数 量 如 果 nIncrement 显 示 为 负 数计 数 器 将 减 少 如 果 省 略 这 一 步 计 数 器 默 认 为 1
Commands
指 定 要 执 行 的 V isual FoxPro 命 令 Commands 可 以 包 含 任 意 数 目 的 命 令
EXIT
在 FOR ... ENDFOR 循 环 中 将 控 制 权 传 递 给 紧 接 在 ENDFOR 后 面 的 命 令可 以 在 FOR 与 ENDFOR 之 间 的 任 何 地 方 放 置 EXIT
LOOP
将 控 制 权 直 接 返 给 FOR 子 句 不 再 执 行 LOOP 与 ENDFOR 之 间 的 语 句 计
数 器 正 常 递 增 或 递 减 |
就 像 执 行 到 |
ENDFOR 一 样 |
可 以 在 |
FOR 与 E N D F O R |
---|---|---|---|---|
之 间 的 任 何 地 方 放 置 |
L O O P |
说 明
可以用变量或数组元素作为计数器 指定 FOR ... ENDFOR 循环中 Visual FoxPro 命令的执行次数
在遇到 ENDFOR 或 NEXT 之前 始终执行 FOR 后面的 Visual FoxPro 命令 执行过程中 每循环一次 计数器 MemVarName 都会递增 增量为 nIncrement 如 果 省 略 STEP 子句 则计数器每次的增量为 1 然后把计数器的值与 nFinalValue 作比较
如果计数器的值小于或等于 nFinalValue 将再次执行 FOR 语句后的命令 如果计数器的值大于 nFinalValue 则退出 FOR ... ENDFOR 循环 程序继续执行 ENDFOR 或NEXT 之后的第一条命令
注 意 nInitialValue nFinalValue 和 nIncrement 只 能 是 初 次 读 入 的 值 在 循 环
过 程 中 更 改 计 数 器 M emVarName 的 值 将 影 响 循 环 的 执 行 次 数
如果 nIncrement 为负 且初始值 nInitialValue 大于最终值 nFinalValue 则每经过一次循环 计数器都将递减
示 例
在 示例 1 中显示从 1 到 10 的数字
示例 2 使用变量设置初始值 终止值和 步进 值以显示 customer 表中从 2 到 10 的所有奇数记录
- 示例 1
CLEAR
FOR gnCount = 1 TO 10
? gnCount
ENDFOR
- 示例 2
SET TALK OFF CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata') USE customer && 打开 Customer 表
STORE 2 TO gnI && 初始值STORE 10 TO gnJ && 终止值STORE 2 TO K && 步进值
FOR gnCount = gnI TO gnJ STEP K
GOTO gnCount && 移动记录指针
DISPLAY company && 显示 company 名称
ENDFOR
请 参 阅
DO CASE...ENDCASE ,DO WHILE...ENDDO,IF...ENDIF, SCAN ... ENDSCAN