收藏 分享(赏)

vfp命令、语句等说明总结.doc

上传人:精品资料 文档编号:11146939 上传时间:2020-02-09 格式:DOC 页数:22 大小:91KB
下载 相关 举报
vfp命令、语句等说明总结.doc_第1页
第1页 / 共22页
vfp命令、语句等说明总结.doc_第2页
第2页 / 共22页
vfp命令、语句等说明总结.doc_第3页
第3页 / 共22页
vfp命令、语句等说明总结.doc_第4页
第4页 / 共22页
vfp命令、语句等说明总结.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、VFP 命令、函数及程序语句大全VFP 提供一些简单的程序设计语言命令, 包括赋值语句、控制语句、设置命令等,我们可根据某种功能的需要,利用这些命令及数据库操作的有关命令构成语句,分行存在文件中(称为命令文件,以 PRG 为扩展名,在项目管理器中标为“程序”) 或一些对象的过程或事件处理程序中。 如被调用,系统将一条条顺序执行各行命令,如遇到控制语句(IF,DO,CALL,FOR等),依据控制语句的指定,转移到指定语句再一条条顺序执行。这些命令书写时, 每条语句应在一行中写完, 如不能写完,可用分号“;”结束,表示下一行继续。两条语句不能写在一行上。每条语句中命令字及选项中保留字大多数可只书写

2、前四个字符。一般一个简单的 VFP 应用系统由若干模块组成, 各自完成一定的功能,总的系统用一个总控模块去控制,通过它调用子模块,层层调用以实现全系统的功能。这种结构如图54 所示。这种方式便于设计、调试,保证程序的正确性,也容易实现模块共亭,实现软件重用,提高程序设计效率。主模块可由主封面表单、主命令文件和主菜单文件构成;各个模块可由过程、自定义函数、表单、表单集、应用程序或子菜单等构成。一个表单或一个表单集中可有一到多个用户界面,可设置一到多个命令按钮及其他程序控件,用户可利用按钮及程序控件,产生特定的消息触发执行一个程序,完成一个功能。应用程序是对一个模块编译后的 APP 执行文件,“过

3、程”是由命令组成的程序,以RETURN 语句结束,它可为另一个程序所调用,调用执行时遇到 RETURN 语句将返回其调用程序。图 54 VFP 程序总体结构一.变量赋值与显示语句在项目管理器中选“代码程序新建”或在命令框利用命令 MODIFY COMMAND 建立命令文件。1MODIFY COMMAND意义:创建命令文件。命令格式:MODIFY COMMAND 文件名例如:MODIFY COMMAND PROC1执行此命令后,将进入全屏幕编辑状态。 如原已建立了该文件 proc1,将调出该文件在屏幕上显示,用户可对之修改。如是新文件,则用户可利用全屏幕编辑键,输入自己的程序。新文件将自动加上扩

4、展名PRG。2DO意义:执行命令文件程序,有三种方法:在项目管理器中选“代码程序选择程序名运行”。在主菜单中选“程序运行输入(选择)程序名运行”。在程序中或命令窗日中使用 DO 命令。命令格式:DO 程序名WITH 表达式表程序名可以是上述方式建立的命令文件(.PRG 文件)、可执行文件(.EXE 文件)、应用程序(.APP 文件),及对.PRG 文件编译后的文件(.FXP 文件)。如调用 DO 命令时不带扩展名,则按.EXE 文件、.APP 文件、.FXP 文件、.PRG 文件的顺序查找同名程序并执行之。例如:DO PROC1此外,程序名还可能是菜单程序,调用时必须带扩展名(.MPR)。例如

5、,有菜单程序 MAIN.MPR,则可如下调出执行:DO MAIN.MPR程序名还可以是事件名或过程名。其中表达式表由多个表达式组成,用逗号分开,在执行时首先计算各表达式的值,并带入被调程序,被调程序第一句应是 LPARAMETERS 形参表语句,形参表是以逗号分隔的多个内存变量名,其个数应等于调用时的表达式的个数,执行时,首先用调用语句中各表达式的值对应给它们赋值。例如:主程序中:DO PROC1 WITH “AB”,21被调程序:LPARAMETERS M1,X0执行时,首先完成赋值:M1=“AB”;X0=21,再往下执行。当使用 DO 运行一个程序时,包含在其中的命令一直执行,直到下列某一

6、事件发生。遇到 RETURN 语句,返回到调用程序 DO 命令的下一句,遇到了 CANCEL 命令,返回 VFP 命令状态。遇到 QUIT 命令退出程序并退出 VFP;到达文件尾回到调用前状态;再遇到另一个 DO 命令,将转人新程序执行。3PUBLIC意义:设置全局性内存变量命令。格式:PUBLIC 变量名 1,变量名 2在不同程序或过程或事件中,同名内存变量的值不一定相同,如要将一个程序(过程、事件)中变量的值传到另一程序(过程、事件)中,可应用上述命令将它定义成全局变量。4PRIVATE意义:设置局部变量的命令。格式:PRIVATEALLLIKEEXCEPT 通配符内存变量表其中选项意义:

7、ALL 将所有内存变量说明为局部性变量,ALLLIKEEXCEPT 通配符将变量名能与通配符相匹配的内存变量说明为局部性变量。“ALL EXCEPT通配符”将除了能与通配符相匹配的变量名之外的内存变量说明为局部性变量。在程序中,为了一个程序的运行结果不影响另一个程序的执行,不希望同名变量将值从一个程序带到另一个程序而造成干扰。为此,可将该变量定义成局部性变量。5DIMENSION意义:定义内存变量数组命令,VFP 中可定义一维或二维数组。格式:DIMENSION 数组名(数字表达式 1,数字表达式 2),数组名2(数字表达式 1,数字表达式 2)每个数组的每个元素都可单独使用,如同一个内存变量

8、,称为下标变量,下标起始值为 1。例如,DIMENSION ARRAY1(8,20),X1(30)定义了两个数组,数组名分别为 ARRAY1 和 X1,前一个数组共有 208160 个元素:ARRAY1(l,l)、ARRAY1(l,2) ARRAY1(l,20),ARRAY1(2,1)ARRAY1(8,20)。对各元素也可用单下标取用其值,如用 ARRAY1(l),ARRAY1(2)ARRAY1(160)也可访问该数组各元素,与前面双下标表示形式一一对应。6PUBLIC ARRAY意义:定义全局性内存变量数组。格式:PUBLIC ARRAY 数组名(数字表达式 1,数字表达式 2),数组名2(

9、数字表达式 1,数字表达式 2)7=意义:赋值语句。将表达式的值赋值给一个内存变量。对变量赋值后,该变量类型也即确定为表达式返回值的类型。对一个变量可重复赋值,也可改变变量的类型。但为了保证程序的清晰和结构完整,建议在一个系统中每个变量名应有确定的意义和数据类型。8STORE意义:同时对多个变量赋值命令。格式:STORE 表达式 TO 变量 1,变量 2在程序运行时常要求用户输入控制参数或数据,实现此功能语句我们称为人机对话语句。在程序中如插入人机对话语句,用户可借助键盘输入参数或控制量赋值给变量。控制程序走向,或用于不同数据处理。在程序执行到这类语句时,将停止运行,在屏幕上显示命令中附注的提

10、示信息,同时等待用户从键盘输入数据,赋给所指定的变量。完成赋值之后再接着运行下一条语句。 在 VFP 中这类语句可在主控程序中或在调试程序时使用,在表单程序中使用文本框等各种控件及消息框代替它们。9INPUT意义:输入各种类型数据赋给内存变量格式:INPUT “提示信息” TO 内存变量名本命令允许输入字符类型、数值类型、日期类型、逻辑类型等不同类型的数据,要求输入数据是字符类型时,数据两端要加定界符,例“张平”;输入数据是日期类型时,要按MM/DD/YY或设定的格式,例12/21/00;逻辑类型按.T.、.F.格式。用户输入还可以是包括变量名及函数在内的表达式,但变量必须是己赋值的,表达式是

11、可以计算出确定值的。用户输入完后回车表示输入结束。例:INPUT“请输入初始日期:” TO D1屏幕上显示:“请输入初始日期:”,光标在此句之后。用户可输入05/10/96。此时用户如果执行命令:?D1屏幕上将显示:05/10/9610ACCEPT意义:输入字符串赋给变量。格式:ACCEPT“提示内容”TO 内存变量名该命令和 INPUT 命令区别有两点:输入数据均被视为字符类型。输入数据两端不需加定界符,如加了定界符,定界符被视作字符串的一部分。11WAIT意义:接收单个字符赋给变量,或中断程序,按任意键后继续。格式:WAIT “提示信息” TO 内存变量名该命令与 ACCEPT 命令不同点

12、在于只接收从键盘输入的一个字符,用户输入一个字符后无须回车。该命令也可用在 VFP 表单程序的某个事件中, 用于中断该事件的执行,让屏幕显示程序运行的中间结果,按某个键或单击鼠标后再继续执行。12GET意义:格式化输入数据,给内存变量赋值或修改表中当前记录字段内容。格式: 行号,列号 GET 内存变量名或字段名FUNCTION 功能代码PICTURE 格式代码DEFAULT 表达式MESSAGE提示信息RANGE 输入值范围下限,输入值范围上限SIZE 文本框高度,文本框宽度VALID 条件表达式该命令可用于对内存变量赋值,也可用于修改当前打开表中当前记录中指定字段的内容。如对内存变量赋值且省

13、略 DEFAULT 选项,在使用此语句时,必须已对该内存变量赋值。否则按此选项中表达式对内存变量初始化。本命令执行后只显示内存变量或字段当前值,要到执行命令“READ”时,此语句方被激活,程序停止执行,等待用户从键盘输入数据,直待回车后才继续执行。行号、列号为当前窗口中字符行和列的位置号。行号与列号允许是小数。FUNCTION 选项用于对输入内容限制或变化。功能代码:A:只允许输入内容由字母字符组成,包括不允许空格和标点符号。B:数值数据左对齐,默认格式为右对齐。I:文本居中对齐。J:文本右对齐,默认为左对齐。Sn:限定文本框中字符个数为 n。如 S20。T:去掉前导和后缀空格。Z:当数值数据

14、值为 0 时显示空格。!:把字母字符转换为大写。PICTURE 选项用于限定输入数据的字符类型及大小。功能代码例:A:该位为字母或数字L:只允许逻辑数据。N:该位为字符或数字。X:任何字符。I:该位为数字,或数值数据中的符号。-:标明小数点位置。,:用逗号分隔左右数字。!:将小写字母转换为大写字符。例:3,10 GET x1 DEFAULT 0 PICTURE“999999”此时在屏幕第 3 行的第 10 列位置显示方框,其中内容为 DEFAULT 规定的初始值 000,如再发出命令:READ, 将光标落在尚未激活的第一个方框上等待输入,只能输入数字和符号,且整数部分不多于 4 位,小数部分不

15、多于 2 位,否则将提示“请您重新输入”。RANGE、VALID 两个选项用于保证数据完整性,输入数据必须在预定范围内,满足条件表达式要求时,才可完成赋值操作。本语句还有设置字体、字形和颜色的选项。在 VFP 中, 综合上述人机交互命令尤其是 GET 命令的功能和特性,设计了文本框、编辑框等类和控件,便之应用更加方便、简单,我们将在下一章中介绍。程序运行结果一般由输出语句使其显示在屏幕上或输出到其他地方,输出语句可将数据输出到屏幕上显示也可传送给打印机或传送存入到其他文件中。屏幕显示语句在 VFP 中一般用在主控程序或调试程序时使用。 在表单程序中使用各种控件、消息框代替它们。13?|?意义:

16、计算表达式表所指定的各表达式的值,并显示在屏幕上。格式:?表达式 1,表达式 2用?时,从下一行第一列起显示结果。用?时,从当前行当前列起显示结果。14SAY意义:格式化输出语句。格式:行号,列号 SAY 表达式FUNCTION 功能代码 PICTURE 格式代码SIZE 高度,宽度有关选项的意义与GET 命令相似,此外还有关于字体,颜色设置的选项。若发出有 SET DEVICE TO PRINTER 命令,输出到打印机,否则输出至屏幕上显示。本语句常与 GET 语句合用,合用时,行号、列号指 SAY 内容显示所在行、列号,GET 变量内容框将放置在 SAY 内容之后。二.程序控制命令1IFE

17、NDIF 命令意义:分支条件语句,根据逻辑表达式的值,有选择的执行一组命令。根据条件表达式的值是.T.还是.F.控制程序流向。格式:IF 条件表达式语句序列 1ELSE语句序列 2ENDIFIF 条件表达式语句是条件语句的开始, ENDIF 语句是条件语句的终止。语句序列是若干条顺序执行的语句。执行时首先计算条件表达式的值,如结果为“真”(.T.)则执行语句序列 l,执行完后退出该语句。如条件表达式不满足,且有ELSE 语句和语句序列 2,则执行语句序列 2。其程序流程图如图 55 所示。图 55 分支结构程序流程图图 5.6 主控模块程序流程图在一个分支控制语句块中可以嵌套另一个 IFEND

18、IF 语句块。【例 5.7】主控模块的程序程序流程图如图 5.6 所示。编写程序清单如下:CLEAR titl 系统错误 ;colo gr+/b;shad doub;in desktopmove wind erro_win centacti wind erro_win1,4 say 错误警告 colo gr+/b3,8 say 当前程序无法继续,按将返回主调! colo w+/b4,4 say 程序建议:稍后再试或与软件供应商联系. colo w+/b6,4 say 出错程序:+m_prog colo w+/b 7,4 say 出 错 行:+allt(str(m_line) colo w+/b

19、8,4 say 错误代码:+allt(str(m_num) colo w+/b9,4 say 错误内容:+iif(len(m_mess)功能:显示指定的磁盘驱动器上的文件名说明:中可带通配符;命令中不指定文件名,则仅仅显示指定目录下的数据表文件名。7.清屏命令 CLEAR格式:CLEAR功能:清除屏幕8.总清命令 CLEAR ALL格式:CLEAR ALL功能:关闭所有打开的数据表文件、索引文件和其他各种文件,清除已有的内存变量9.SET TALK ON/OFF四. 程序设计基础程序的概念命令执行方式:通过命令菜单或直接在命令窗口输命令来执行,执行的结果显示在屏幕上。程序执行方式:以程序的方式

20、来执行。程序是能够完成一定任务的命令的有序集合,这组命令存放在程序文件(.prg)中,执行程序时,系统按一定的次序自动执行包含在程序文件中的命令。程序的特点可以利用编辑器,方便地输入、修改和保存程序。可以利用多种方式、多次运行程序。可以在一个程序中调用另一个程序。程序的基本要求正确性,能实现算法的各个步骤,逻辑上正确,对输入产生的错误有检测措施。通用性,不能只解决一个问题,还考虑解决一类问题。高效率性,编写执行时间短,占用存储空间少的程序。可维护性,程序应易读、易懂、易修改。安全性,必须确保安全、可靠。程序文件的建立在项目管理器中和菜单中建立用命令方式:modify command 程序的执行

21、从“ 程序” 菜单中选择“ 运行” 命令方式:do 文件名中如果没有指定扩展名,系统将按下列顺序寻找程序文件并执行: .exe.app( 应用程序).fxp( 编译程序).prg当程序文件被执行时,文件中包含的命令将被依次执行,直到所有的命令被执行完毕中,或者执行到以下命令:cancel ( 终止程序执行,返回命令窗口) do( 转去执行另一个程序) return( 结束当前程序,返回到上级程序,若无上级程序则返回到命令窗口) quit( 退出 VFP 系统,返回到操作系统)程序结构(1)每个程序都必须有 1 个文件名,文件名由字符、数字或下划线组成,第一个字符必须是字母或汉字,程序扩展名为.

22、PRG(2)程序由若干行数据库命令组成,每行最多写 2048 个字符,1 行只能写 1 条命令,若把一个命令写成若干行,需在该命令的第 1 行及中间各行的行尾写“;”号,但最后一行不写。(3)注释行由“”开头,用以说明程序的名称、功能及其他需要说明的问题,“”是注释命令,是非执行语句,可以写在程序任一位置。(4)以“set”开头的命令为环境设置命令,一般出现在可执行语句的前面。(5)每行程序的后部可以写由“”号引导的注释。(6)“return”命令是返回命令,表示程序结束。编写程序的步骤举例:编写一个简单的程序:给出一个整数,判断是奇数还是偶数。(1)分析任务,确定方法;(2)分解任务,描述算

23、法;(3)编写程序,认真检查;(4)上机调试,纠正错误 流程图流程图符号的使用规则:流程线的方向是从左到右,自上而下,非标准流向的流程线要用箭头表示。 流程线就尽量避免交叉。 流程图符号内的文字一律从左到右,自上而下书写。 流程图符号的注释应写在符号右侧。 出入口处的连接符应使用相同名称,表示把它们连接起来。 子程序、过程和自定义函数 模块化:按适当的原则把一个情况复杂、规模较大的程序系统划分为一个个较小的、功能相关而又相对独立的模块的过程。模块:一个在结构上相对独立的程序段。可以是子程序、过程或自定义函数。 子程序的基本概念 子程序:总被其它程序调用的,一般不单独运行的一个程序段。子程序与主

24、程序的关系:是一种调用和被调用的关系。主程序是能调用其他子程序,而不被其他程序调用的程序,凡能被调用的程序都称为子程序。程序中至少应有一个主程序,可以有一个或若干个子程序。子程序的使用使用模块化程序设计方法编写程序时,把各个功能划分成若干个功能子模块,把子模块写成一个子程序。需要反复调用的情况下,可以写成一个子程序,以节省存储空间。编写子程序 调用子程序命令格式:do 子程序名 WITH参数表子程序返回命令return to master 表示返回到上一级子程序或主程序。带参数 to master 表示无论在哪级子程序上,均立即返回主程序。例 1、 对任意给的正整数 A、B、C,编写程序计算

25、SA!(3/5)B!(C!/2)调试子程序 联合调试:当主程序和子程序分别编辑完成之后,直接运行主程序。若主程序或子程序有错,再进行编辑、调试、重新运行,直到输出正确结果为止。单独调试:编辑一个模块,调试一个模块,各个模块都调试成功后,加入主程序联调。例 2、根据数据库 student.dbf 编写一个菜单程序 main.prg,完成对数据库查询程序cx.prg 和删除程序 sc.prg 的调用过程与过程文件 过程是一段程序,它与子程序不同之处在于,子程序是一个独立文件,而过程是过程文件的一个组成部分,可以把多个过程写在一个过程文件中。过程的结构:procedure return to mas

26、ter/to 过程名由用户定义,供调用过程时使用,过程体是一个语句序列,是过程的核心部分,选择 to 表示返回到“程序名”指定的程序。过程文件的结构procedure return to master/to procedure return to master/to procedure return to master/to 过程文件的调用 在主程序中,调用过程前,首先要打开过程文件。命令格式:set proc to 调用后,要关闭过程文件。命令格式:set procedure to 或close procedure过程的调用 格式:do 例 3、 根据数据库 student.dbf 编写一个

27、菜单程序 gczxc.prg,用过程形式完成对数据库查询程序 cx.prg 和删除程序 sc.prg 的调用。自定义函数命令 命令格式:(1)function (2) return 基本格式:function函数名parameters 参数表语句序列return 表达式 主程序与自定义函数的组织形式:举例计算组合数的值编写 K!的函数。作业1、从键盘输入五个数组,每组有六个数据,分别用子程序、过程、自定义函数的方法,输出每组数的最大值和最小值。2、用子程序、过程、自定义函数三种不同形式对 student.dbf 数据库编写一个菜单程序:系统主菜单1追加记录2修改记录3插入记录4删除记录5输出记录6退 出

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报