DO 功能:运行指定的查询
例:do d:\\chax1.qpr 运行名为chax1的查询文件
MODIFY QUERY 功能:打开指定的查询文件 例:modify query d:\\chax1.qpr 打开名为chax1的查询文件
注:不论用什么方法打开查询文件,VFP都会自动打开查询设计器
SELECT FROM [数据库名!] [,[数据库名!] ,„] [WHERE 条件] [GROUP BY 分组项列表] [ORDER BY 排序项[DESC]„] [INTO 目标|TO FILE 文件名|TO PRINTER] 功能:从一个或多个表中查询数据
例:select b1.语文,b1.数学,b1.英语 from sjk1!b1 where b1.语文>70 group by b1.语文 order by b1.学号 desc 查询sjk1数据库中的b1表的语文,数学,英语字段中满足语文大于70的数据,按照b1表的语文字段分组,按照b1表的学号排序,且设置排序方式为倒序。
[INTO 目标]的“目标”可以使用如下3种:“ARRAY 数组名”、“CURSOR 表名”、“DBF 表名”。
[ORDER BY[desc]]中若缺省“desc”则按升序排序。否则则按降序排序。 [TO PRINTER]:将查询结果送往打印机输出
[TO FILE 文件名]:将查询结果输出到指定的文本文件中
CREATE VIEW AS 功能:为当前数据库创建视图 例:open database d:\\sjk1 打开数据库sjk1
create view st1 as select * from sjk1!b1 为当前数据库创建一个视图st1其功能为“查询数据库sjk1的表b1中所有字段数据”
注:使用上述命令创建的视图还需要在视图设计器中指定可更新字段,才能实现更新数据的功能
DROP VIEW 功能:删除当前数据库中指定的视图 例:open database d:\\sjk1 打开数据库sjk1
drop view st1 删除视图st1 CREATE REPORT 功能:建立一个空白报表 例:create report d:\\bb1 建立一个报表bb1
MODIFY REPORT 功能:打开指定的报表文件 例:modify report d:\\bb1 打开报表bb1
REPORT FORM TO PRINTER 功能:打印指定的报表 例:report form d:\\bb1 to printer 打印报表bb1
MODIFY COMMAND 功能:建立一个程序文件 例:modify command cx1 建立一个名为cx1的程序文件并打开编写 DO 功能:运行指定的程序 例:do d:\\cx1 运行程序cx1
注:如果在A程序中使用命令调用B程序,则B程序称为A程序的子程序,A程序称为B程序的主程序。
VFP中可以使用“*”号和NOTE命令可以给某一行加注释,也可以使用“&&”在语句行后面添加注释。
注:给某一个行加注释就是以“*”或NOTE开头后进行注释,给语句行加注释就是使用“&&”直接在语句后面加上注释,相比来说“&&”注释更加灵活。
例:clear &&清屏
给clear加注释“清屏”
1 注:注释的作用就是帮助理解程序的功能,以利今后修改程序时提高工作效率,一般注释的内容在VFP中以绿色显示。
CLEAR 功能:清除屏幕上的显示信息 ACCEPT [提示信息] TO
功能:把用户输入的字符串保存到指定的内存变量中
例:accept to x 在屏幕上光标处输入字符串,并将字符串保存到变量x中
accept ”请输入x:” to x
在屏幕上”请输入x:”后输入字符串,并将字符串保存变量x中 INPUT [提示信息] TO
功能:把用户输入的表达式的值保存到指定的内存变量 例:input ”请输入y:” to y 在“清输入y:”后输入数据,并将数据保存到变量y中 注:input与accept的区别是,前者可以输入数值型数据、逻辑型数据,也可输入字符型数据,在输入字符型数据时要加定界符,后者输入的数据都一律被认为是字符型数据,且不用加定界符。
WAIT [提示信息] [TO 内存变量] [WINDOW] [TIMEOUT 时间] 功能:等待用户输入一个字符
例:wait 屏幕上显示“按任意键继续„”,并要求任意输入一个字符以继续
wait “是否继续(Y/N)?” to x window timeout 2 在屏幕右上角中的系统窗口中显示“是否继续(Y/N)?”系统窗口存在2秒,并将输入的字符保存到变量x中
注:wait命令和accept命令中的变量的一定是字符型变量且不用加定界符,而input命令的变量的类型由输入表达式值的数据类型决定。wait命令常用于输入单字符和显示信息,accept命令常用于输入字符串,input命令常用于输入其他类型的数据。
@ SAY 功能:在指定位置输出信息 例:@1,1 say ”你好” 在第一行第一列显示“你好” @ [SAY 显示信息] GET 功能:在指定位置输入数据,并把输入的数据保存在指定的变量 例:@1,1 say”姓名:” get xm
read 在第一行第一列显示“姓名:”并在其后面输入数据并将数据其保存给变量xm 注:该命令需要与read命令共同使用,才能激活命令中的变量,接收输入的数据。 注:不与read命令共同使用的话,系统将自动将原先变量的值载入。 ROW() 功能:返回当前坐标的行坐标 COL() 功能:返回当前坐标的列坐标 SET TALK ON|OFF
功能:设置是否显示某些命令执行的结果,ON为显示,OFF为不显示 SET SAFETY ON|OFF
功能:设置删除文件数据时是否显示提示信息,ON为显示,OFF为不显示 CLEAR ALL 功能:清除用户自定义的内存变量和对象 IF
功能:单分支选择结构
ENDIF 例:if x
?”x小于0”
返回.T.时执行,执行后执行endif后面的语句
endif
返回.F.时执行endif后面的语句
2 IF 功能:双分支选择结构
ELSE
ENDIF 例:if x
?”x小于0”
返回.T.时执行,执行后执行endif后面的语句
else
?”x大于等于0” 返回.F.时执行,执行后执行endif后面的语句
endif 注:条件是一个逻辑表达式,其返回值为.T.或.F.。
注:if和endif必须成对使用,分别表示选择结构开始和选择结构结束 DO CASE
功能:多分支选择结构
CASE
CASE „
CASE [OTHERWISE 语句组] ENDCASE 例:do case
case x=1
?”x等于1”
x等于1时执行,执行后执行endcase后面的语句
case x=2 ?”x等于2”
x等于2时执行,执行后执行endcase后面的语句
case x=3
?”x等于3”
x等于3时执行,执行后执行endcase后面的语句
otherwise
? ”x是大于3的数”
x不满足以上的所有条件时执行,执行后执行endcase后面的语句 endcase 注:do case和endcase必须成对使用,分别表示选择结构开始和选择结构结束
DO WHILE 功能:基于条件的循环结构
ENDDO 例:do while x
x=x+1
返回.T.时执行,执行完毕后跳回循环开始处(do while )再次判断条件是不是满足或不满足
enddo 返回.F.时执行enddo后面的语句
SCAN [FOR条件] 功能:针对表记录的循环结构
3 ENDSCAN
例:use d:\\b1 由于是针对表记录的循环,所以需打开一张表
scan for 性别=”男”
display
每个性别字段等于“男”的记录都会执行一次语句组的语句,全部执行完毕后,执行endscan后面的语句
endscan FOR = TO [STEP 步长] 功能:指定次数的循环
ENDFOR
例:s=0 设置累加器s
for x=1 to 11 step 2 给x赋初值1,终值11,其步长为
2 s=s+x
因步长为2,故x的值为
1、
3、
5、
7、
9、11,s将x从初值1到11的每一步的值都加起来,当x的值下一步大于其终值时,执行endfor后面的语句
endfor 注:do while enddo,scan endscan,for endfor必须成对使用
LOOP 功能:终止本次循环,使程序再次检查是否满足循环条件,以决定是否进行下一次循环即直接跳回循环开始处(如do while )。
EXIT 功能:结束循环,使程序执行循环结构后面的语句即直接跳到循环结束处(如 enddo)。 PROCEDURE 功能:定义一个过程 ENDPROC 例:procedure x 定义一个过程,过程名为x
display
该过程的语句
endproc
结束过程
SET PROCEDURE TO [过程文件名] 功能 :打开指定的过程文件 例:set procedure to 关闭正在打开的过程
set procedure to d:\\gc1 打开过程文件gc1 注:缺省可选项则关闭已经打开的过程文件。 DO [WITH 参数表] 功能:调用指定的程序,并把指定的参数传递给调用的下级程序。 注:缺省可选项,则不传递参数。
PAREMETERS 功能:接受上级程序传递来的参数 例:input”你出生的年份:” to c
input”现在的年份:” to n
do c1 with c,n
调用过程c1并传递参数c和n,并执行过程c1的语句
?”你现在”+alltrim(str(n))+alltrim(”岁”)
在屏幕上显示“你现在n(变量)岁”,因n为数值型,所有要用str()函数转换成字符型,用alltrim()函数消除多余的空格
return
procedure c1 定义过程c1
parameters x,y 接收上级传递过来的参数,c对应x,n对应y
y=y-x 即用现在的年份减去你出生的年份,算出要计算的年龄
endproc
结束过程,并将参数y,x的值传递回c,n,此时执行调用该过程之后的语句 注:在这里c,n称为实参,即实际使用的参数。x,y称为形参,即位置相同,形式相同的参数。
CREATE FORM 功能:创建一个空白表单 例:create form d:\\bd1 建立一个名为bd1的表单 DO FORM 功能:运行指定的表单 例:do form d:\\bd1 运行表单bd1
MODIFY FORM 功能:打开指定的表单 例:modify form d:\\bd1 打开表单bd1 Thisform.refresh 功能:刷新表单
Thisform.release 功能:释放并关闭表单,即从内存中清除表单
Thisform..= 功能:修改或设置表单对象的属性值Thisform.text1.value=”VFP”
这个表单的text1控件的value属性值是”VFP” DO 功能:运行指定的菜单 例:do d:\\cd1.mpr 运行菜单cd1
DO WITH this ,T,
功能:使用表单调用菜单 例:do d:\\cd1 with this ,T, 在当前表单上调用菜单cd1
例:5