首页 > 课堂 > 技术开发 > 正文

VF中do while...enddo循环语句

2023-06-13 12:11:04
字体:
来源:转载
供稿:网友

在VF中可以使用循环语句(do while...enddo)来反复执行一段代码,直到满足某个条件退出而执行循环后面的语句。

其语法格式为:

DO WHILE lExpression
   Commands
   [LOOP]
   [EXIT]
ENDDO

上述语法中lExpression 为一逻辑表达式,其值如果是“真”,即执行commands程序语句序列,如果表达的值为“假”,则跳过该段程序组,执行enddo后面的语句。

Commands 当表达式 lExpression 值为真时所要执行的程序语句序列,即可以是由多个VF语句构成的序列。

LOOP 此为 do while...enddo 命令的一个子句,它可以放在 commands 程序组中间的任何地方,当程序一旦执行到该子句时,则返回 do while 重新执行。此子句根据需要可以有,也可以没有。

EXIT 与loop一样是 do while...enddo 命令的一个子句,它可以放在 commands 程序组中间的任何地方,当程序一旦执行到该子句时,则跳出循环,执行enddo后面的语句。此子句根据需要可以有,也可以没有。

程序一旦执行到do while 语句,如果 lExpression 的值为真,则执行 commands 程序组,该程序组执行完后,就到enddo语句,enddo会将程序返回 do while 再次验证 lExpression 是否为真,如仍是,则又一次执行 commands ,如此循环往复,直到 lExpression 为假,或遇上 exit 语句。

该语句可以嵌套,即循环中还可以有循环。

do while 与 enddo 必须配对使用,即有一个 do while 必须有一个 enddo 否则程序会出错。

下面给出三个具体的例子来说明do while...enddo语句的具体使用方法。

第一个例子:在数据库中不断将记录指针往下移,直到数据库结尾。程序如下:

do while .not. eof()
skip
enddo

第二个例子:在上面的例子加入此功能,当遇到性别字段为“女”时,跳出循环。程序如下:

do while .not. eof()
   if 性别='女'
      exit
   endif
   skip
enddo

第三个例子:不断将记录指针往下移,当遇到数量字段的值大于等于600时退出循环,如遇到值小于400的,将其值乘2,然后再检验一次是否大于600,如是则退出循环。程序如下:

do while 数量<600
   if 数量<400
      replace 数量 with 数量*2
      loop
   endif
   skip
enddo

说明:本文整理于网络。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表