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

2019-04-21 23:14

以. PRG为扩展名,在项目管理器中标为“程序”) 或一些对象的过程或事件处理程序中。 如被调用,系统将一条条顺序执行各行命令,如遇到控制语句(IF,DO,CALL,FOR?等),依据控制语句的指定,转移到指定语句再一条条顺序执行。

这些命令书写时, 每条语句应在一行中写完, 如不能写完,可用分号“;”结束,表示下一行继续。两条语句不能写在一行上。每条语句中命令字及选项中保留字大多数可只书写前四个字符。 一般一个简单的VFP应用系统由若干模块组成, 各自完成一定的功能,总的系统用一个总控模块去控制,通过它调用子模块,层层调用以实现全系统的功能。这种结构如图5.4所示。这种方式便于设计、调试,保证程序的正确性,也容易实现模块共亭,实现软件重用,提高程序设计效率。

主模块可由主封面窗体、主命令文件和主菜单文件构成;各个模块可由过程、自定义函数、窗体、窗体集、应用程序或子菜单等构成。

一个窗体或一个窗体集中可有一到多个用户接口,可设置一到多个命令按钮及其他程控项,用户可利用按钮及程控项,产生特定的消息触发执行一个程序,完成一个功能。应用程序是对一个模块编译后的. APP执行档,“过程”是由命令组成的程序,以RETURN语句结束,它可为另一个程序所调用,调用执行时遇到RETURN语句将返回其调用程序。

图 5.4 VFP程序总体结构

一.变量赋值与显示语句

在项目管理器中选“代码→程序→新建”或在命令框利用命令MODIFY COMMAND建立命令文件。

1.MODIFY COMMAND 意义:创建命令文件。

命令格式:MODIFY COMMAND 文件名 例如:MODIFY COMMAND PROC1

执行此命令后,将进入全屏幕编辑状态。 如原已建立了该档proc1,将调出该文件在屏幕上显示,用户可对之修改。如是新文件,则用户可利用全屏幕编辑键,输入自己的程序。新档将自动加上扩展名.PRG。 2.DO

意义:执行命令文件程序,有三种方法:①在项目管理器中选“代码→程序→选择程序名→运行”。②在主菜单中选“程序→运行→输入(选择)程序名→运行”。③在程序中或命令窗日中使用DO命令。命令格式:DO 程序名[WITH 表达式表]

程序名可以是上述方式建立的命令档(.PRG文件)、可执行文件(.EXE文件)、应用程序(.APP文件),及对.PRG档编译后的档(.FXP文件)。如调用DO命令时不带扩展名,则按.EXE文件、.APP文件、.FXP文件、.PRG文件的顺序查找同名程序并执行之。 例如:DO PROC1 此外,程序名还可能是菜单程序,调用时必须带扩展名(.MPR)。例如,有菜单程序MAIN.MPR,则可如下调出执行: DO MAIN.MPR

程序名还可以是事件名或过程名。

其中表达式表由多个表达式组成,用逗号分开,在执行时首先计算各表达式的值,并带入

被调程序,被调程序第一句应是LPARAMETERS形参表语句,形参表是以逗号分隔的多个内存变量名,其个数应等于调用时的表达式的个数,执行时,首先用调用语句中各表达式的值对应给它们赋值。

例如:主程序中:DO PROC1 WITH “AB”,21 被调程序:LPARAMETERS M1,X0

执行时,首先完成赋值:M1=“AB”;X0=21,再往下执行。

当使用DO运行一个程序时,包含在其中的命令一直执行,直到下列某一事件发生。遇到RETURN语句,返回到调用程序DO命令的下一句,遇到了CANCEL命令,返回VFP命令状态。遇到QUIT命令退出程序并退出VFP;到达文件尾回到调用前状态;再遇到另一个DO命令,将转人新程序执行。 3.PUBLIC

意义:设置全局性内存变量命令。

格式:PUBLIC 变量名1[,变量名2]?

在不同程序或过程或事件中,同名内存变量的值不一定相同,如要将一个程序(过程、事件)中变量的值传到另一程序(过程、事件)中,可应用上述命令将它定义成全局变量。 4.PRIVATE

意义:设置局部变量的命令。

格式:PRIVATE[ALL[LIKE∣EXCEPT 通配符]∣内存变量表]

其中选项意义:ALL将所有内存变量说明为局部性变量,ALL[LIKE∣EXCEPT 通配符]将变量名能与通配符相匹配的内存变量说明为局部性变量。“ALL EXCEPT通配符”将除了能与通配符相匹配的变量名之外的内存变量说明为局部性变量。在程序中,为了一个程序的运行结果不影响另一个程序的执行,不希望同名变量将值从一个程序带到另一个程序而造成干扰。为此,可将该变量定义成局部性变量。 5.DIMENSION

意义:定义内存变量数组命令,VFP中可定义一维或二维数组。

格式:DIMENSION 数组名(数字表达式1[,数字表达式2])[,数组名2(数字表达式1[,数字表达式2])]?

每个数组的每个元素都可单独使用,如同一个内存变量,称为下标变量,下标起始值为1。 例如,DIMENSION ARRAY1(8,20),X1(30)定义了两个数组,数组名分别为ARRAY1和X1,前一个数组共有20×8=160个元素:ARRAY1(l,l)、ARRAY1(l,2)?? ARRAY1(l,20),ARRAY1(2,1)?ARRAY1(8,20)。对各元素也可用单下标取用其值,如用ARRAY1(l),ARRAY1(2)?ARRAY1(160)也可访问该数组各元素,与前面双下标表示形式一一对应。 6.PUBLIC ARRAY

意义:定义全局性内存变量数组。 格式:PUBLIC ARRAY 数组名(数字表达式1[,数字表达式2])[,数组名2(数字表达式1[,数字表达式2])]? 7.=

意义:赋值语句。

将表达式的值赋值给一个内存变量。对变量赋值后,该变量类型也即确定为表达式返回值的类型。对一个变量可重复赋值,也可改变变量的类型。但为了保证程序的清晰和结构完整,建议在一个系统中每个变量名应有确定的意义和数据类型。 8.STORE

意义:同时对多个变量赋值命令。

格式:STORE 表达式 TO变量1[,变量2]?

在程序运行时常要求用户输入控制参数或数据,实现此功能语句我们称为人机对话语句。在程序中如插入人机对话语句,用户可借助键盘输入参数或控制量赋值给变量。控制程序走向,或用于不同数据处理。在程序执行到这类语句时,将停止运行,在屏幕上显示命令中附注的提

示信息,同时等待用户从键盘输入数据,赋给所指定的变量。完成赋值之后再接着运行下一条语句。 在VFP中这类语句可在主控程序中或在调试程序时使用,在窗体程序中使用文本框等各种控件及消息框代替它们。

9.INPUT

意义:输入各种类型数据赋给内存变量 格式:INPUT “提示信息” TO 内存变量名

本命令允许输入字符类型、数值类型、日期类型、逻辑类型等不同类型的数据,要求输入数据是字符类型时,数据两端要加定界符,例“张平”;输入数据是日期类型时,要按{MM/DD/YY}或设定的格式,例{12/21/00};逻辑类型按.T.、.F.格式。

用户输入还可以是包括变量名及函数在内的表达式,但变量必须是己赋值的,表达式是可以计算出确定值的。用户输入完后回车表示输入结束。 例:INPUT“请输入初始日期:” TO D1

屏幕上显示:“请输入初始日期:”,游标在此句之后。用户可输入{05/10/96}。 此时用户如果执行命令:?D1 屏幕上将显示:05/10/96 10.ACCEPT

意义:输入字符串赋给变量。

格式:ACCEPT[“提示内容”]TO内存变量名 该命令和INPUT命令区别有两点: .输入数据均被视为字符类型。

.输入数据两端不需加定界符,如加了定界符,定界符被视作字符串的一部分。 11.WAIT

意义:接收单个字符赋给变量,或中断程序,按任意键后继续。 格式:WAIT [“提示信息”] TO 内存变量名

该命令与ACCEPT命令不同点在于只接收从键盘输入的一个字符,用户输入一个字符后无须回车。该命令也可用在VFP窗体程序的某个事件中, 用于中断该事件的执行,让屏幕显示程序运行的中间结果,按某个键或单击鼠标后再继续执行。 12.GET

意义:格式化输入数据,给内存变量赋值或修改表中当前记录字段内容。 格式:@ 行号,列号 GET 内存变量名或字段名

[FUNCTION功能代码][PICTURE格式代码][DEFAULT表达式][MESSAGE提示信息] [RANGE输入值范围下限,输入值范围上限][SIZE文本框高度,文本框宽度][VALID 条件表达式]

该命令可用于对内存变量赋值,也可用于修改当前打开表中当前记录中指定字段的内容。如对内存变量赋值且省略DEFAULT选项,在使用此语句时,必须已对该内存变量赋值。否则按此选项中表达式对内存变量初始化。

本命令执行后只显示内存变量或字段当前值,要到执行命令“READ”时,此语句方被启动,程序停止执行,等待用户从键盘输入数据,直待回车后才继续执行。行号、列号为当前窗口中字符行和列的位置号。行号与列号允许是小数。

FUNCTION选项用于对输入内容限制或变化。功能代码:

A:只允许输入内容由字母字符组成,包括不允许空格和标点符号。 B:数值数据左对齐,默认格式为右对齐。 I:文本居中对齐。

J:文本右对齐,预设为左对齐。

Sn:限定文本框中字符个数为n。如S20。 T:去掉前导和后缀空格。

Z:当数值数据值为0时显示空格。 !:把字母字符转换为大写。

PICTURE选项用于限定输入数据的字符类型及大小。功能代码例: A:该位为字母或数字 L:只允许逻辑数据。 N:该位为字符或数字。 X:任何字符。

I:该位为数字,或数值数据中的符号。 -:标明小数点位置。

,:用逗号分隔左右数字。 !:将小写字母转换为大写字符。

例:@3,10 GET x1 DEFAULT 0 PICTURE“9999.99”

此时在屏幕第3行的第10列位置显示方框,其中内容为DEFAULT规定的初始值0.00,如再发出命令:READ, 将光标落在尚未启动的第一个方框上等待输入,只能输入数字和符号,且整数部分不多于4位,小数部分不多于2位,否则将提示“请您重新输入”。

RANGE、VALID两个选项用于保证数据完整性,输入数据必须在预定范围内,满足条件表达式要求时,才可完成赋值操作。本语句还有设置字体、字形和颜色的选项。

在VFP中, 综合上述人机交互命令尤其是@? GET命令的功能和特性,设计了文本框、编辑框等类和控件,便之应用更加方便、简单,我们将在下一章中介绍。

程序运行结果一般由输出语句使其显示在屏幕上或输出到其他地方,输出语句可将数据输出到屏幕上显示也可传送给打印机或传送存入到其他档中。屏幕显示语句在VFP中一般用在主控程序或调试程序时使用。 在窗体程序中使用各种控件、消息框代替它们。 13.?|??

意义:计算<表达式表>所指定的各表达式的值,并显示在屏幕上。 格式:?表达式1[,表达式2]?

用?时,从下一行第一列起显示结果。用??时,从当前行当前列起显示结果。 14.SAY

意义:格式化输出语句。

格式:@行号,列号 SAY表达式[FUNCTION功能代码] [PICTURE格式代码][SIZE高度,宽度]

有关选项的意义与@?GET命令相似,此外还有关于字体,颜色设置的选项。若发出有SET DEVICE TO PRINTER命令,输出到打印机,否则输出至屏幕上显示。

本语句常与@? GET语句合用,合用时,行号、列号指SAY内容显示所在行、列号,GET变量内容框将放置在SAY内容之后。 二.程控命令

1.IF?ENDIF命令

意义:分支条件语句,根据逻辑表达式的值,有选择的执行一组命令。根据条件表达式的值是.T.还是.F.控制程序流向。 格式:

IF 条件表达式 语句序列1 [ELSE

语句序列2] ENDIF

IF条件表达式语句是条件语句的开始, ENDIF语句是条件语句的终止。语句序列是若干条

顺序执行的语句。执行时首先计算条件表达式的值,如结果为“真”(.T.)则执行语句序列l,执行完后退出该语句。如条件表达式不满足,且有ELSE语句和语句序列2,则执行语句序列2。其程序流程图如图5.5所示。

图5.5 分支结构程序流程图

图5.6 主控模块程序流程图

在一个分支控制语句块中可以嵌套另一个IF?ENDIF语句块。 【例5.7】主控模块的程序

程序流程图如图5.6所示。编写程序列表如下: CLEAR &&清屏幕

@ 5,27 SAY “设备管理系统”


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

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

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

马上注册会员

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