D O W H ILE...ENDDO 命 令

D O W H ILE...ENDDO 命 令 - 图1在一个条件循环里执行一组命令

语 法

DO WHILE lExpression Commands

[LOOP]

[EXIT] E N D D O

参 数 描 述

lExpression

D O W H ILE...ENDDO 命 令 - 图2D O W H ILE...ENDDO 命 令 - 图3D O W H ILE...ENDDO 命 令 - 图4D O W H ILE...ENDDO 命 令 - 图5D O W H ILE...ENDDO 命 令 - 图6D O W H ILE...ENDDO 命 令 - 图7指 定 一 个 逻 辑 表 达 式 它 的 值 决 定 是 否 执 行 DO WHILE 和 E N D D O 之 间 的命 令 集 如 果 lExpression 计 算 为 真 ( .T .) 就 执 行 命 令 集

Commands

D O W H ILE...ENDDO 命 令 - 图8D O W H ILE...ENDDO 命 令 - 图9D O W H ILE...ENDDO 命 令 - 图10D O W H ILE...ENDDO 命 令 - 图11指 定 当 lExpression 计 算 为 真 (.T.) 时 要 执 行 的 V isual FoxPro 命 令 集

LOOP

D O W H ILE...ENDDO 命 令 - 图12直 接 将 程 序 控 制 返 回 到 DO WHILE LOOP 可 放 在 DO WHILE 和 ENDDO

D O W H ILE...ENDDO 命 令 - 图13间 的 任 何 位 置

EXIT

D O W H ILE...ENDDO 命 令 - 图14将 程 序 控 制 从 DO WHILE 循 环 的 内 部 转 到 E N D D O 后 的 第 一 个 命 令 EXIT

D O W H ILE...ENDDO 命 令 - 图15可 放 在 DO WHILE 和 E N D D O 间 的 任 何 位 置

说 明

D O W H ILE...ENDDO 命 令 - 图16D O W H ILE...ENDDO 命 令 - 图17D O W H ILE...ENDDO 命 令 - 图18D O W H ILE...ENDDO 命 令 - 图19D O W H ILE...ENDDO 命 令 - 图20D O W H ILE...ENDDO 命 令 - 图21D O W H ILE...ENDDO 命 令 - 图22只要逻辑表达式 lExpression 为 真 (.T.) 就执行位于 DO WHILE 和 ENDDO 间的命令集 每个 DO WHILE 语句必须有一个相应的 ENDDO 语句 可在 DO WHILE 和ENDDO 之后放置注释 在程序编译和执行期间注释被忽略

示 例

D O W H ILE...ENDDO 命 令 - 图23D O W H ILE...ENDDO 命 令 - 图24D O W H ILE...ENDDO 命 令 - 图25D O W H ILE...ENDDO 命 令 - 图26下面的示例用 DO WHILE loop 语句对库存中价格超过 20 美元的产品进行汇总 直到遇到文件尾 (EOF) 然后退出 DO WHILE loop 语句 并显示总和

CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'Data\testdata') USE products && 打开 Products 表

SET TALK OFF

D O W H ILE...ENDDO 命 令 - 图27gnStockTot = 0

D O W H ILE...ENDDO 命 令 - 图28D O W H ILE...ENDDO 命 令 - 图29D O W H ILE...ENDDO 命 令 - 图30

IF EOF

EXIT ENDIF

.T. && 开始循环

IF unit_price < 20

SKIP LOOP

ENDIF

gnStockTot = gnStockTot + in_stock SKIP

D O W H ILE...ENDDO 命 令 - 图31 D O W H ILE...ENDDO 命 令 - 图32 D O W H ILE...ENDDO 命 令 - 图33 D O W H ILE...ENDDO 命 令 - 图34 D O W H ILE...ENDDO 命 令 - 图35 && 结束循环

CLEAR

? 'Total items in stock valued over 20 dollars:'

?? gnStockTot

请 参 阅

D O W H ILE...ENDDO 命 令 - 图36DO CASE...ENDCASE , FOR...ENDFOR , IF...ENDIF , IIF D O W H ILE...ENDDO 命 令 - 图37 ,

SCAN...ENDSCAN