VFP命令、函数及程序语句大全(1)(2)(3)(4)

2019-04-21 23:14

@ 7,36 SAY “主菜单”

@10,21 PROMPT “1.各种查询、屏幕修改”+SPAC(16) @11,21 PROMPT “2.数据编辑”+SPAC(26) @12,21 PROMPT “3.资产统计”+SPAC(26) @13,21 PROMPT “4.报表打印”+SPAC(26) @14,21 PROMPT “5.系统维护”+SPAC(26) MENU TO m_choic &&等待用户输入

IF LASTKEY()=27 &&按Esc键返回VFP RETURN ENDIF

IF m_choic=1 DO sbcx_sc.spr ELSE

IF m_choic=2 DO sjbj_sc.spr ELSE

IF m_choic=3 DO zctj_sc.spr ELSE

IF m_choic=4 DO bbdy_sc.spr ELSE

IF m_choic=5 DO xtwh_pg ENDIF ENDIF ENDIF ENDIF ENDIF RETURN

2.CASE

意义:分情况语句,当求解一个问题存在多种情况,如要求对不同选择执行不同的语句序列,可采用分情况语句。该语句一句中列出许多语句成分,每个语句成分给出一个条件表达式,每次只根据具体条件找出第一个条件表达式值为.T.的语句成分,执行该成分语句中的语句序列后退出该语句。 命令格式: DO CASE

CASE条件表达式1 语句序列1

CASE条件表达式2 语句序列2 ?

CASE条件表达式n 语句序列n [OTHERWISE 语句序列n+1]

END CASE

执行该语句时,系统逐一计算条件表达式1的值,条件表达式2的值?只要有一个条件表达式的值为.T.则执行其后语句序列, 执行它后退出本分情况语句。

如到条件表达式n的值仍均为.F.又有OTHERWISE成分, 则执行语句序列n+l,其程序流程图如图5.7所示。

仍如上面主控程序的例子,程序可设计为: CLEAR &&清屏幕

@ 5,27 SAY “设备管理系统” @ 7,36 SAY “主菜单”

@10,21 PROMPT “1.各种查询、屏幕修改”+SPAC(16) @11,21 PROMPT “2.数据编辑”+SPAC(26) @12,21 PROMPT “3.资产统计”+SPAC(26) @13,21 PROMPT “4.明细报表打印”+SPAC(22) @14,21 PROMPT “5.系统维护”+SPAC(26) MENU TO m_choic &&等待用户输入

IF LASTKEY()=27 &&按Esc键返回VFP RETURN ENDIF DO CASE

CASE m_choic=1 DO sbcx_sc.spr CASE m_choic=2 DO sjbj_sc.spr CASE m_choic=3 DO zctj_sc.spr CASE m_choic=4 DO bbdy_sc.spr CASE m_choic=5 DO xtwh_pg ENDCASE RETURN

图5.7 CASE结构程序流程图

从上面两段程序可见,对于同一个问题,用DO CASE ?ENDCASE 语句比IF?ENDIF语句要简洁了并且逻辑关系清晰,因此不容易出错。 在分情况语句中也可嵌入分支条件语句及分情况。它本身也可嵌入到分支条件语句中去使用。

在对数据表中数据时,常常每条记录被处理的过程是一样的,处理语句也就大体相同,如果表中有多少记录就写多少条语句是十分困难的,为避免重复书写,可使用循环。

3.DO WHILE?.ENDDO

意义:循环语句,可使多次重复执行同一组语句。 格式:

DO WHILE条件表达式 语句序列 [LOOP] [EXIT] ENDDO 其中“DO WHILE条件表达式”语句称为循环起始语句,“ENDDO”语句称为循环结束语句,进入此命令时首先检查条件表达式的值是否为真(.T.)。如果是真,则执行语句序列,然后再判断条件表达式的结果,如仍为真,则继续下去。如果为假(.F.)则退出循环,执行ENDDO后面的语句。如果进入本命令一开始,条件表达式的值为假,则语句序列一次也不执行, 就直接转入执行ENDDO后面的语句。其中LOOP意义为结束本次循环,返回循环体开始。EXIT意义为结束循环,转入执行ENDDO后面的语句。

LOOP语句和EXIT语句一般用在分支条件语句中,因而语句格式为: DO WHILE 条件表达式1 语句序列1

[IF条件表达式2 LOOP ELSE

语句序列2 ENDIF]

[IF条件表达式3 EXIT ELSE

语句序列3 ENDIF] ENDDO

其程序流程图如图5.8所示。

在使用时必须保证经有限次循环后条件表达式1应变为假或条件表达式3的值应变为真,使退出循环。否则就可能成为死循环。在条件表达式中的变量称循环变量, 在数据库中循环变量可能是内存变量, 也可能是表中的指标。必须注意在每次循环过后,循环变量的值都要改变并且是向最终使条件表达式1的值为假或条件表达式3的值变真的方向变化,否则就无法满足前述退出条件。在VFP中有两类特殊用法。

(1)循环变量是指针。 该用法中有两种结构①指针首先指向第一条的DO WHILE结构如图5.9所示。②指向满足条件记录的第一条的DO WHILE结构如图5.10所示。

图5.8 DO WHILE?ENDDO结构程序流程图

图5.9 指针做循环变量开始指向第一条时的DO WHILE结构流程图

图5.10 指针做循环变量开始指向满足条件记录的第一条时

的DO WHILE结构流程图

格式1:图5.9实现的语句。 USE(表名)

SELECT工作区别名 GO TOP

DO WHILE NOT EOF() 语句序列 SKIP ENDDO

在本格式中,循环变量是表中指针,首先让指标指向表的第一条记录,如果不是文件尾,则执行语句序列之后让指针下移一条,再返回判断指标是否指向文件尾。这样一直继续下去直到指针指到最后一条记录的后面,循环结束。

【例5.8】在学生表中有少数学生更换了班级,现要求在屏幕上一屏一屏地显示每个学生的数据,并提问是否修改班级名称, 如回答“Y”,则提供修改框。 SET TALK OFF USE学生 KEY=“Y” GO TOP

DO WHILE NOT EOF()

@3,10 SAY“姓名:”+姓名 @5,10 SAY“班级:”+班级

@7,10 SAY“出生日期:”+DTOC(出生日期) @9,10 SAY“是否修改,Y/N?’GET KEY READ

IF UPPER(KEY)=“Y”

@11,10 SAY“请输入改后班级名称” GET 班级 READ ENDIF SKIP ENDDO


VFP命令、函数及程序语句大全(1)(2)(3)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:广西大明山钨矿区隐伏斑岩型铜矿找矿前景与新方法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: