foxpro常用编程命令

上传人:子 文档编号:43516023 上传时间:2018-06-06 格式:DOC 页数:18 大小:19.01KB
返回 下载 相关 举报
foxpro常用编程命令_第1页
第1页 / 共18页
foxpro常用编程命令_第2页
第2页 / 共18页
foxpro常用编程命令_第3页
第3页 / 共18页
foxpro常用编程命令_第4页
第4页 / 共18页
foxpro常用编程命令_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《foxpro常用编程命令》由会员分享,可在线阅读,更多相关《foxpro常用编程命令(18页珍藏版)》请在金锄头文库上搜索。

1、FOXPROFOXPRO 常用编程命令常用编程命令假设 (if.endif) 日期:2005-09-17 来源:虾盟教程基地 作者:未知 字体:大 中 小 注:在语法中如用方括号“ ”括起来的词句,表示可以不用。 假设 语句 根据一逻辑表达式的值,有条件的执行一组命令。 语法 : IF 逻辑表达式 THEN 程序组 1 ELSE 程序组 2 ENDIF 参数 : 逻辑表达式 代表一逻辑值,如果这逻辑值为真,系统执行程序组1,否则不执行程序组 1,如果有 else 及程序组 2 的话,则执行程序组 2,如没有则什么也不执行,直接执行 endif 后面的语句。 备注 : 在 if.endif 之间

2、还可以有 if.endif,即该命令是可以嵌套的。then 可以有也可以没有,对程序没有影响。 else 及程序组 2 可以有也可以没有,但如果有的话,在逻辑表达式的值为假时,程序组 2 将被执行。 if 与 endif 必须配对使用,即有一个 if 必须有一个 endif, 否则程序会出错。 举例 : 例 1:假如分数字段的值大于等于 90,则让等级字段的值为“优” ,并显示该记录。程序如下: if 分数=90 replace 等级 with 优 display endif 例 2:在数据库中可以把性别字段设为逻辑型, “真”代表“男” ,“假”代表“女” ,但显示时不能显示真、假,否则别人

3、看不懂,而应显示男、女,因此我们设一变量 xb,根据性别字段的具体值,将xb 的值设为男或女,然后在需要的时候显示 xb 的值即可。程序如下: if 性别 xb=男 else xb=女 endif 其中第一句:if 性别,表示“假如性别为真”的意思,不要写成“if 性别=.t.” 。 以上程序也可以写成如下形式,效果相同: if .not. 性别 xb=女 else xb=男 endif 即,假如性别不为真的话,xb 的值就为女,否则为男。循环 (do while.enddo)日期:2005-09-17 来源:虾盟教程基地 作者:未知 字体:大 中 小 循环 语句(do while.enddo

4、) 根据条件重复执行一组程序。 语法 : DO WHILE lExpression Commands LOOP EXIT ENDDO 参数 : lExpression 为一逻辑表达式,其值如果是“真” ,即执行 commands 程序组,如果表达的值为“假” ,则跳过该段程序组,执行 enddo 后面的语句。 Commands 当表达式 lExpression 值为真时所要执行的程序组。 LOOP 此为 do while.enddo 命令的一个子句,它可以放在 commands 程序组中间的任何地方,当程序一旦执行到该子句时,则返回 do while 重新执行。此子句根据需要可以有,也可以没有

5、。 EXIT 与 loop 一样是 do while.enddo 命令的一个子句,它可以放在 commands 程序组中间的任何地方,当程序一旦执行到该子句时,则跳出循环,执行 enddo 后面的语句。此子句根据需要可以有,也可以没有。 备注 : 程序一旦执行到 do while 语句,如果 lExpression 的值为真,则执行 commands 程序组,该程序组执行完后,就到 enddo 语句,enddo 会将程序返回 do while 再次验证 lExpression 是否为真,如仍是,则又一次执行 commands ,如此循环往复,直到 lExpression 为假,或遇上 exit

6、 语句。 该语句可以嵌套,即循环中还可以有循环。 do while 与 enddo 必须配对使用,即有一个 do while 必须有一个 enddo 否则程序会出错。 举例 : 例 1:在数据库中不断将记录指针往下移,直到数据库结尾。程序如下: do while .not. eof() skip enddo 例 2:在上面的例子加入此功能,当遇到性别字段为“女”时,跳出循环。程序如下: do while .not. eof() if 性别=女 exit endif skip enddo 例 3:不断将记录指针往下移,当遇到数量字段的值大于等于 600时退出循环,如遇到值小于 400 的,将其值

7、乘 2,然后再检验一次是否大于 600,如是则退出循环。程序如下: do while 数量600 if 数量400 replace 数量 with 数量*2 loop endif skip enddo 分支 (do case.endcase) 日期:2005-09-17 来源:虾盟教程基地 作者:未知 字体:大 中 小 分支 语句(do case.endcase) 根据不同的条件执行不同的程序组。 语法 : DO CASE CASE 逻辑表达式 1 程序组 1 CASE 逻辑表达式 2 程序组 2 . CASE 逻辑表达式 n 程序组 n OTHERWISE 程序组 0 ENDCASE 参数

8、: CASE 逻辑表达式 程序组 . 当程序执行到 do case 时,便检验第一个 case 的逻辑表达式( 逻辑表达式 1 )是否为真,如不为真,接着检验第二个 case 的逻辑表达式,以此类推直到 逻辑表达式 n 。当检测到第一个为真的逻辑表达式时,便执行跟随在其后面的程序组,执行完后跳过后面所有的 case ,接着执行 endcase 后面的语句,也就是说即使后面还有为真的逻辑表达式也不执行了。 如果所有 case 后面的逻辑表达式都为假,则执行 otherwise 后面的程序组(如果有的话, otherwise 及其程序组是可以没有的,如果没有则什么都不做,直接执行 endcase

9、以后的程序) 备注 : 在 do case 和 endcase 之间可以有任意多个 case 。 do case 和 endcase 必须配对使用,即有一个 do case 必须有一个 endcase ,否则程序会出错。 举例 : 如果工资在 200 元以下,增加 50%;300 元以下,增加 30%;500 元以下,增加 20%;其它增加 10%。程序如下: do case case 工资=200 replace 工资 with 工资*1.5 case 工资=300 replace 工资 with 工资*1.3 case 工资=500 replace 工资 with 工资*1.2 other

10、wise replace 工资 with 工资*1.1 endcase 在这里要注意一个问题,不能把 300 元的 case 放在 200 元之前,否则一个 100 元的,按理应加 50%,但当遇到小于 300 元的 case 时,其逻辑表达式为真(小于 200 元的肯定小于 300 元) ,因此就会执行后面的程序,加 30%,并且执行完后,就不再执行其它的 case 了,这样就产生了错误的结果,所以应按从小到大的顺序来排列。 赋值 (store.to) 日期:2005-09-17 来源:虾盟教程基地 作者:未知 字体:大 中 小 赋值 语句(store.to) 将一个数据赋给一个变量。 语法

11、 : STORE 表达式 TO 变量名表 参数 : 表达式 的值即为要赋给变量的数据。 变量名表 即为要被赋值的各变量。在这里可以是一个变量,也可以是多个变量,如果有多个变量,其间用“,” (逗号)隔开。 备注 : 如果是给一个变量赋值,该语句可写成如下形式: 变量名 = 表达式 表达式可以是一个数值,也可以是一个算术式。 举例 : 例 1:将 3 赋给 ab、xyz、jfz 三个变量,程序如下: store 3 to ab,xyz,jfz 例 2:将变量 gz 的值加 100 赋给 yfgz。程序如下: yfgz=gz+100 调用表单 (do form)日期:2005-09-17 来源:虾

12、盟教程基地 作者:未知 字体:大 中 小 调用表单 语句 运行一个由表单设计器设计的表单文件。该文件是经编译过的。 语法 : DO FORM 表单文件名 NAME 变量名 LINKED 参数 表单文件名 即是要运行的由表单设计器设计的表单文件名称。 变量名 为调用该表单所用的变量名称,做为表单,不能直接用这的名称去调用它,必须将其赋给一个变量,然后用这个变量来调用它。如果您不会在这个表单之外调用它,也可以不要这个变量。 在程序中产生的所有变量在程序运行结束后将被释放,即这些变量不再存在,因此也就无法继续调用这些变更,如果为了调试程序需要在程序运行结束后在命令窗口中调用这个表单,必须加上 lin

13、ked 子句。 举例 : 在程序中调用 xy7 表单,并将赋给一个变量 lucky,程序如下: do form xy7 name lucky 调用子程序 (do)日期:2005-09-17 来源:虾盟教程基地 作者:未知 字体:大 中 小 调用子程序 语句(do) 运行一个 VFP 程序。当我们要在一个程序中调用另一个程序(子程序)时使用此命令。 语法 : DO 程序名 参数 : 程序名 即为被调用的程序名称。 备注 : 如被调用的程序的扩展名是“prg” ,调用时可不用带扩展名,否则要带上扩展名。 举例 : 有一个程序,名称为 xy7.prg,调用它的程序如下: do xy7 返回调用程序

14、(return) 日期:2005-09-17 来源:虾盟教程基地 作者:未知 字体:大 中 小 返回调用程序 语句(return) 返回调用本程序(该语句所在程序)的程序。 前面讲过调用子程序的语句,从一个程序 A 调用另一个程序 B 后,系统便开始执行 B 程序中的语句,到一定时候往往要从程序 B 返回程序 A,便可使用该语句。 语法 : RETURN 备注 : 程序 A 调用程序 B,当从 B 返回 A 后,系统接着执行调用语句(do b)下面的一条语句。 举例 : 程序 a.prg 如下: do while .not. eof() if 工资100 do b endif skip end

15、do 程序 b.prg 如下: replace 工资 with 工资*1.5 &将工资增加 50 display &显示出该记录,这样可以将所有增加了工资的记录显示出来 return 首先执行程序 a.prg,当程序执行到 do b 语句时,便转去执行程序 b.prg ,在程序 b 中执行到 return 语句时,又返回程序 a ,并接着执行 do b 的下一条语句 endif 。 启动事件处理 (read events) 日期:2005-09-17 来源:虾盟教程基地 作者:未知 字体:大 中 小 启动事件处理 语句(read events) 启动 VFP 的事件处理程序。 语法 : REA

16、D EVENTS 备注 : 当该命令执行后,系统即停止继续执行后续的语句,这时我们可以调用之前所启动的菜单、表单等对象,并用这些对象的事件程序去完成相应的任务,直到发出 clear events 命令,系统才接着执行 read events 后面的命令语句。 可能初学者看了上面的内容还不是很清楚,不要紧,我们在后面课程中会进一步讲解。 清除事件处理 (clear events)日期:2005-09-17 来源:虾盟教程基地 作者:未知 字体:大 中 小 清除事件处理 语句(clear events) 终止由 read events 语句启动的事件处理程序。 语法 : clear events 备注 : 发出该命令后,系统将继续执行 read events 之后的语句。开关命令执行状态 (set talk on/off) 日期:2005

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号