VF中命令动词.docx
《VF中命令动词.docx》由会员分享,可在线阅读,更多相关《VF中命令动词.docx(19页珍藏版)》请在冰豆网上搜索。
![VF中命令动词.docx](https://file1.bdocx.com/fileroot1/2022-11/15/c38e75b0-f5b5-490f-9c5b-563510e547ea/c38e75b0-f5b5-490f-9c5b-563510e547ea1.gif)
VF中命令动词
命令动词:
[<范围>][fields<字段名表>][for<条件>][while<条件>]
[toprinter[prompt]/tofile<文件名>][nooptimize][off]
1、<范围>子句:
all:
nextn:
只对从当前记录开始的连续若干个(n)指定数目的记录进行操作。
recordn:
只对第n个记录进行操作
rest:
只对从当前记录开始到表文件尾为止的所有记录进行操作
2、FOR<条件>和WHILE<条件>子句的区别
FOR<条件>的作用是,在规定的范围内,按条件逐个检查所有记录,即从<范围>内的第一个记录开始,若满足条件(即逻辑表达式<条件>的值为.T.)时,执行相应命令;不满足的就跳过去继续查找,直到该范围内的最后一条记录为止。
WHILE<条件>的作用是,在规定的范围内,按条件逐个检查所有记录,即从<范围>内的第一个记录开始,若满足条件(即逻辑表达式<条件>的值为.T.)时,执行相应命令,并把记录指针下移一个记录,一旦遇到第一个不满足条件的记录(即逻辑表达式<条件>的值为.F.)时,就停止查找并结束该命令的执行。
FOR<条件>和WHILE<条件>子句均实现对表的记录筛选,完成关系的选择运算。
3、FIELDS子句
该子句规定当前处理的字段,实现对表的字段筛选,完成关系的投影运算。
createtable<路径文件名>
createdatabase<路径文件名>
use<路径文件名>
use
list/display/browse
一、记录的录入:
追加命令:
append[blank][in<工作区>/<别名>]
插入命令:
insert[before][blank]
二、记录指针定位
1、绝对移动
GON
GOTOP
GOBOTTOM
2、相对移动
SKIPSKIP1SKIP-1
三、表内容的编辑
1、浏览
BROWSE[<范围>][fields<字段名表>][for<条件>][while<条件>]
2、修改
REPLACE<字段名表1>WITH<表达式1>
[,<字段名表2>WITH<表达式2>][[for<条件>]]
3、删除
DELETE[<范围>][for<条件>][while<条件>]
PACK
RECALL[<范围>][for<条件>][while<条件>]
zap
一、排序
sorttoon[,][/a][/d][/c]
[<范围>][for<条件>][while<条件>][fields<字段名表>/like<通配符>/except<通配符>]
sorttopxon销售价格;
fieldslike*饮料
二、索引
1、建立索引
indexon<索引表达式>to<文件名>
indexon姓名+str(身高,4,2)tosy
2、打开索引表
use<原表名>index<索引名>
setindexto<索引文件名>
3、重新建立索引文件
reindex
4、关闭索引文件
closeindexes
setindexto
三、查询
1、find<字符表达式|数值>
找到:
recno()found()-->.t.eof()-->.f.
未找到:
recno()reccount()+1,found().f.eof().t.
功能说明:
收索已建立索引的表,查找满足条件的第一个记录。
FIND命令只能查找字符型和数值型关键字。
若是字符型数据,可以加定界符,亦可以不加定界符。
<字符表达式>不能为空值,FIND命令要求当前选定的表已经建立索引,除非SETEXACT设置为OFF,否则与索引表达式的匹配应该是精确的。
2、seek<表达式>
功能说明:
seek命令在一个表中收索首次出现的一个记录,这个记录的索引关键字必须与指定的表达式匹配。
SEEK的查找对象可以是常量、变量、表达式。
若是字符表达式必须加定界符,可以是空字符串,也可以是数值型、逻辑型、日期型等各种类型的常量、变量、表达式。
3、顺序查找命令locatefor<条件>[<范围>][while<条件>]
功能说明:
按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录,用于查找未索引或已索引的表文件
找到:
RECNO(),FOUND().T.EOF().F.iffound()
4、继续查找CONTINUE
LOCATE命令发现一个满足条件的记录后,可执行CONTINUE,从而在表的剩余部分寻找其他满足条件的记录。
四、系统提供了三条在程序运行过程中从键盘接收数据的交互式命令语句:
WAIT、ACCEPT、INPUT。
两条简单的输出语句:
?
、?
?
。
1单字符输入命令WAIT
格式:
WAIT[<字符型表达式>][TO<内存变量>]
功能:
暂停程序运行,以<字符型表达式>的值作为提示信息,等待用户从键盘输入一个字符,然后继续运行程序。
说明:
WAIT命令只需输入一个字符,且不需回车键;若指定<字符型表达式>,将其值显示在屏幕上。
否则,显示系统默认信息:
Pressanykeytocontinue。
如果命令行中有TO<内存变量>,生成字符型内存变量,并将键入的字符存入该内存变量中。
若键入的是回车键,或非打印字符,内存变量的内容将是一个空字符。
如果命令中没有TO<内存变量>,不保存键入的字符。
2字符串输入命令ACCEPT
格式:
ACCEPT[<字符型表达式>]TO<内存变量>
功能:
暂停程序运行,以<字符型表达式>的值作为提示信息,等待用户从键盘输入一个字符串,然后继续运行程序。
说明:
用户从键盘输入的任何数据都被认为是字符串,输入内容不须加定界符,但必须用回车键结束。
如果指定<字符型表达式>,它的值显示在屏幕上提醒用户,<字符型表达式>如果是字符串,必须用定界符括起来。
若省略<字符型表达式>,屏幕上不显示任何提示信息。
3数据输入命令INPUT
格式:
INPUT[<字符型表达式>]TO<内存变量>
功能:
暂停程序的运行,以<字符型表达式>的值作为提示信息,等待用户从键盘输入数据,并赋给指定的<内存变量>,然后继续运行程序。
说明:
输入的数据可以是数值型、字符型、日期型和逻辑型,如果输入的是数值或其表达式可以直接输入;如果是字符串必须加定界符;如果是逻辑值要以类似.T.逻辑值的形式输入;如果是日期型,可能通过CTOD函数转换或按日期常量格式输入。
上述输入都以回车键作为输入的结束。
若省略<字符型表达式>,屏幕上不显示任何提示信息。
INPUT与ACCEPT命令工作方式相似,区别是:
(1)ACCEPT的数据总被当作字符型数据,而INPUT根据输入表达式的类型而确定。
(2)用ACCEPT命令接受的字符串不需用定界符括起来,而INPUT命令接受的字符串需用定界符括起来
五、表的其他操作
1、记数命令
格式:
countto<内存变量>[<范围>][for<条件>][while<条件>]
功能:
统计表中的记录数目。
如果SETDELETE是OFF,则带有删除标记的记录也包括在记数中。
USE学生
COUNTFORSUBSTR(学号,3,1)=”3”TOA
?
A
2、数字字段求和
sum[<表达式表>][<范围>][for<条件>][while<条件>]
[to<内存变量名表>/toarray<数组名>]
功能:
对当前选定表的指定数值型字段或全部数值型字段进行求和。
USE工资
SUM基本工资,岗位津贴,实发金额TO
?
G1,G2,G3
3、求平均数命令
average[<表达式表>][<范围>][for<条件>][while<条件>]
[to<内存变量名表>/toarray<数组名>]
功能:
对当前选定表的指定数值型字段或全部数值型字段进行求算术平均值。
如果SETTALK为ON,结果显示在屏幕上,如果SETHEADINGS为ON,字段名和包括字段名的表达式将显示在结果的上面。
AVERAGE单价TODJ
SETHEADINGSOFF
AVERAGE单价TODJ
SETHEADINGSON
4、统计计算命令
calculate<表达式表>[<范围>][for<条件>][while<条件>]
[to<内存变量名表>/toarray<数组名>]
sqrt(strlen(str)+1)
功能:
该文件对表文件的字段或字段表达式做统计计算。
<表达式表>可由下列函数任意组合而成
avg(<数值表达式>):
按<条件>计算<数值表达式>的算术平均值。
sum(<数值表达式>):
按<条件>计算<数值表达式>的和。
cnt():
返回满足<条件>的记录数
min(<表达式>):
返回〈表达式〉的最小值或最早值,该〈表达式〉可以是各种数据类型
max(<表达式>):
返回〈表达式〉的最大值或最新值,该〈表达式〉可以是各种数据类型
CALCULATEAVG(基本工资),MIN(岗位津贴),MAX(实发金额)
5、分类求和命令
格式:
totalto<文件名>on<字段名>[fields<字段名表>][<范围>][for<条件>][while<条件>]
1、打开原表use
2、对原表建立索引index
3、求和total
4、想看求和结果?
打开新生成的求和表usebrowse
setsafetyoff/on
六、表内容的复制和大批量数据追加命令
1、表内容的复制
copyto<文件名>[<范围>][for<条件>][while<条件>]
[fields<字段名表>/like<通配符>/except<通配符>][[with]cdx][[type][foxplus/fox2x/dif/mod/sdf/sylk/wk1/wks/wr1/wrk/xls/xl5/delimited[with<分隔符>/withblank/withtab]]]
功能:
用当前选定表的内容创建新文件。
2、大批量数据追加
appendfrom<文件名>/?
[<范围>][for<条件>][while<条件>]
[[type][foxplus/fox2x/dif/mod/sdf/sylk/wk1/wks/wr1/wrk/xls/xl5]]
功能:
从一个文件中读入记录,添加到当前表的末尾。
七、表结构文件的建立与应用
1、建立表结构
copystructureextendedto<表结构文件>[fields<字段名表>]
功能:
创建新表,它的字段包含当前选定表的结构信息
2、用表结构文件建立一个新表
create[<表文件名>]from[<表结构文件名>]
利用表结构文件可修改表结构,然后使用CREATEFROM命令创建一个不同结构的新表。
COPYSTRUCTUREEXTENDED和CREATEFROM可以用编程方式的方法更改表的结构。
八、文件管理命令
1、列文件目录命令
DIR/DIRECTOTY[ON<驱动器号>][LIKE][<路径>][<通配文件>]][TOPRINTER[PROMPT]/TOFILE<文件名>]
LISTFILES[O