您的当前位置:首页正文

vf 实用命令

来源:个人技术集锦
1、create

作用:建立一个新的表。

格式:create [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不

写,即crea,下同;中括号表示其中的参数是可选的;|管道符 号表示两个参数只能选择一个,不能同时选择,下同。)

说明:文件指建立以.dbf为扩展名的vfp数据库文件,在命令后面加上一个问号

表示系统会弹出对话框,要求用户输入想要建立的表名。在命令中 不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。

2、modify structure

作用:显示表文件结构,并允许修改此表的结构。 格式:modify structure

说明:只有在用use命令打开表文件以后,才能显示或修改表文件的结构。 3、append

作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使

用的表)。

格式:append [blank]

说明:在append命令后面加上blank参数表示在当前表的尾部添加一条空白记

录。无blank参数时,表示在当前表的尾部添加一条记录并要求 用户输入相应的字段内容。 4、insert

作用:在表文件中间插入一个新记录。 格式:insert [before] [blank]

说明:insert 在当前记录后插入一记录; insert before 在当前记录前插入一记录; insert before blank 在当前记录前插入一空记录。 5、browse

作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。 格式:browse 6、use

作用:打开和关闭表文件。 格式:use [<文件名>] use

说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则

同时打开相应的备注文件(.fpt文件);后一个命令关闭当前打开 的表文件。

7、list和display(不懂)

作用:显示表(.dbf)的内容、结构或状态。

格式:list|display [off] [<范围>] [fields] <表达式表> [while <条件>] [for <

条件>] [to print|to file <文件>]

list|display structure to print|to file <文件>]

list|display status [to print|to file <文件>]

说明:命令带off参数表示不显示记录号,范围指定对哪些记录进行操作,范围 包括:

record n 第几号记录、next n 当前记录开始的几个记录、rest 自当前记录开始

至文件末尾的所有记录、all 所有的记录。不选范围则隐含 范围为all;fields后跟字段名,字段名与字段名之间用逗号分 隔。while后跟条件,for后面也跟条件,区别是,while后的条件如果满足,便

停止查找;for后的条件查找所有满足条件的记录。to

print和to file <文件>分别表示将显示结果在打印机上打印出来和将显示结果输

出到文件。display命令在显示记录满屏后,要求用户按任意 键继续显示,并且在

该命令中,如果省略范围仅显示当前记录。格式中,下面两个命令分别为显示

表结构(structure)和工作状态(status)。 8、记录的定位

作用:用记录指针(pointer)定位记录。 格式:go[to] record n|top|bottom n

skip [+|-]

说明:第一个命令又叫绝对定位,其中,record n定位到n号记录,top定位到

第1个记录,

bottom定位到最后一个记录。第二个命令定位到第n个记录,n是一个数值。第

三个命令又叫相对定

位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认

记录指针后移一个记录。 9、change和edit

作用:显示要编辑或修改的字段。

格式:change|edit [<范围>] [fields <字段名表>] [while <条件>] [for <条件 >]

11、replace

作用:用表达式的值代替命令中与之相对应的字段的内容。

格式:replace [<范围>] <字段1> with <表达式1>[,<字段2> with <表达

式2>] [for <条件>] [while<条件>] 12、delete、pack、zap和recall

作用:分别是给要删除的记录作删除标记、彻底删除、删除所有记录

和取消被

选中的表记录的删除标志。

格式:delete [<范围>] [while<条件>] [for <条件>] (特例:delete file

filename.dbf,

该命令删除指定的表文件) pack zap

recall [<范围>] [for <条件>] [while<条件>] 13、sort和index

14、use <表文件名> index <索引文件名表> 15、find、seek和locate及continue

作用:前两个命令find和seek是在一个已经建立了索引文件的表中,定位到关

键字中的内容与命

令行中字符串相同的第一个记录。后一个命令在用use打开表文件以后,直接查

询表中字段内容。

格式:find <\"字符串\">|<字符串>seek <表达式> locate [<范围>] [for <条件>] [while<条件>] continue

说明:find命令与seek命令的区别是前者后跟字符串,而后者后跟表达式。在

用locate命令找到

一个匹配记录后,可用continue命令搜索表的剩余部分来寻找其他匹配的记录 。 16、count

作用:统计当前表文件中符合条件的记录数。

格式:count [<范围>] [for <条件>] [while<条件>] [to <内存变量名>]

说明:内存变量名可用除参数外的任意字符。 17、sum

作用:对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值

表达式累加求和。

格式:sum [<范围>] [数值<表达式>] [to <内存变量名表>] [for <条件>]

[while<条件>] 18、average

作用:对当前表中选中记录的全部或部分数值型字段及其组成的表达式求平均

值并显示。

格式:average [<范围>] [数值<表达式>] [to <内存变量名表>] [for <条件>]

[while<条件>] 二、常用函数 1、数学函数 函数 用途

abs(<数值表达式>) 绝对值,|x|

ceiling(<数值表达式>) >=自变量的最小整数 exp(<数值表达式>) 对基e的幂,e=2.71828 floor(<数值表达式>) <=自变量的最大整数 int(<数值表达式>) 取整(舍尾)自变量 log(<数值表达式>) 自变量的自然对数,ln x log10(<数值表达式>) 自变量的普通对数,lg x max(<表达式1>,<表达式2>) 两个值的最大值 min(<表达式1>,<表达式2>) 两个值的最小值 mod(<数值表达式1>,<数值表达式2>) 求余数 rand([<数值表达式1>]) 返回伪随机数

round(<数值表达式1>,<数值表达式2>) 四舍五入第一个自变量

sign(<数值表达式>) 自变量的符号 sqrt(<数值表达式>) 平方根(正根) 2、字符串操作函数 函数 用途

&<内存变量> 用于代替内存变量内容

len(<字符串表达式>) 返回字符串表达式的字符个数 space(<数值表达式>) 生成空格

substr(<字符串表达式>,<数值表达式n>[,<数值表达式l>]) 求子字符串

,从指定的字符串表达式第n个开始,总长为l的字符串 lower(<字符串表达式>) 将字符串字母转换成小写字母 upper(<字符串表达式>) 将字符串字母转换成大写字母 trim(<字符串表达式>) 删除字符串尾空格

asc(<字符串表达式>) 返回字符串表达式最左边的第一个字符的ascii码

chr(<数值表达式>) 将数值表达式转换成字符

at(<字符串表达式1>,<字符串表达式2>[,<数值表达式n>]) 确定字符串

表达式1在字符串表达式2中的位置,n为字符串表达式第几次出现 str(<数值表达式>[,<数值表达式l>][,<数值表达式n>) 将数值转换为字

符串,l为数值表达式总长,n为小数位数 val(<字符串表达式>) 将数字字符串转换为数字 type(<表达式>) 检测表达式值的数据类型 ltrim(<字符串表达式>) 删除字符串左部空格 rtrim(<字符串表达式>) 删除字符串右部空格

left(<字符串表达式>,<数值表达式n>) 取字符串左边部分字符,n为返回

的字符个数

right(<字符串表达式>,<数值表达式n>) 取字符串右边部分字符,n从右边

截取字符个数

3、表(.dbf)操作函数 函数 用途

bof([<工作区号或别名>]) 查表文件开始函数 eof([<工作区号或别名>]) 表文件结尾测试函数

recno([<工作区号或别名>]) 测试当前或指定工作区表的当前记录号

deleted([<工作区号或别名>]) 记录删除测试函数 file(<\"字符串\">) 测试文件是否存在函数 dbf([<工作区号或别名>]) 检测表的文件名函数 4、日期、时间函数 函数 用途

date() 查系统当前日期函数

time([<数值表达式>]) 查系统当前时间函数

year(<日期型表达式>|<日期时间型表达式>) 由日期查年函数 month(<日期型表达式>|<日期时间型表达式>) 从日期查月份函数

cmonth(<日期型表达式>|<日期时间型表达式>) 由日期查月份名函数

day(<日期型表达式>|<日期时间型表达式>) 从日期查当月的日函数

dow(<日期型表达式>|<日期时间型表达式>[,<数值表达式>]) 由日期查星 期函数

cdow(<日期型表达式>|<日期时间型表达式>) 从日期查星期名函数

dtoc(<日期型表达式>|<日期时间型表达式>) 日期转换为字符函数

ctod(<字符串表达式>) 字符串转换为日期函数 ctot(<字符串表达式>) 返回日期时间值函数 ttoc(<日期时间型表达式>) 返回字符值 5、显示、打印位置函数 函数 用途

row() 判断光标行位置函数 col() 判断光标列位置函数

inkey([<数值表达式>]) 检测用户所击键对应的ascii码函数,数值表达式以

秒为单位等待击键的时间 6、其他函数 函数 用途

diskspace() 返回默认磁盘驱动器中可用字节数函数 os() 检测操作系统名称的函数 version() 返回vfp版本号的函数

三、主要程序语句 1、条件判断语句 格式:(1)if <条件> <命令语句组> endif

说明:如果条件为真,则执行命令语句组中的各语句,否则跳过这些命令语句

不执行,

而执行endif后的语句。 (2)if <条件> <命令语句组1> else

<命令语句组2> endif

说明:如果条件为真,执行命令语句组1,否则执行命令语句组2。 (3)if <条件1> if <条件2> <命令语句组1> else

<命令语句组2> endif ... else

<命令语句组n> endif

说明:进行多重条件的嵌套选择。 (4)do case case <条件1> <命令语句组1> case <条件2> <命令语句组2> case <条件3> <命令语句组3> ...

...

case <条件n> <命令语句组n> [otherwise] [<命令语句组n+1>] endcase

说明:依次判断条件,转入条件为真的命令语句组中执行。当所有条件都不成

立时,若有

otherwise项,则执行命令语句组n+1,否则执行endcase后面的语句。 2、循环语句

格式:(1)do while <条件> <命令语句组> [loop] <命令语句组> [exit]

<命令语句组> enddo

说明:判断条件是否为真,如为真就重复执行循环体中的命令语句组,直到条

件为假,结束循环。 (2)scan <命令语句组> endscan

说明:在一个表中建立一个执行命令语句组的循环,并执行对每一条记录的操

作,直到表文件记录完为止。

vfp常用函数使用说明

1、数值运算函数 函数 操作 例 结果

sqrt(x) 求平方根 sqrt(9) 3 int(x) 取整数 int(3.14) 3

round(x) 四舍五入 round(3.14159,4) 3.1416 mod(x,y) 求x除以y的余数 mod(25,4) 1 max(x,y) 求x,y中的最大值 max(7,8) 8 min(x,y) 求x,y中的最小值 min(1,2,3) 1

2、字符中操作函数 函数名 操作 例 结果

upper(s) 小写字母 upper(abc) abc lower(s) 大写字母 lower(acd) acd len(s) 求字符串的长度 len(\"中国1号\") 7

at(s1,s2) 在字符串s2,找字符串s1 at(\"h\

substr(s,i,n) 在s字符串中的第i个字符起取n个字符 substr('technolo',3,3) chn

left(s,n) 从字符串s左边取n个字符 left(\"中国人\",4) 中国

right(s,n) 从字符串s右边取n个字符 s=‘12345' right(s,3) 345

space(n) 生成n个空格 \"合计\"+space(2)+\"123\" 合计123 trim(s) 消除字符串尾部空格 trim(\"姓名 \") 姓名 alltri(s) 消除字符串中所有空格 alltrim(\"李 丽\") 李丽 stuff(s1,n1,n2,s2) 用字符串s2替换s1中第n1个字符起的n2个字符 stuff

(\"now\,1,\"e\") new & 宏替换 p=\"g2\" use &p use g2

3、日期和时间函数 函数名 操作 例 结果

date() 求当前日期 date() 2001/11/12

datetime() 求当前日期和时间 datetime() 2001/11/12/0:22:33am

year(d) 求年份 year(date()) 2001

month(d) 求月份(数值) month(datetime()) 11 cmonth(d) 求月份(字符) month(datetime()) novenber day(d) 求日期 day(date()) 12

dow(d) 求星期几(数值) dow(date()) 1 cdow(d) 求星期几(英文) cdow(date()) sunday time(d) 求当前时间 time(date()) 10:20:38am

4、数据类型转换函数 函数名 操作 例 结果

asc(s) 求第一个字符串的ascii码 asc(\"what\") 87 chr(n) 求ascii码的字符 chr(87) w

str(r,l,d) 数值转换成字符,l为长度,d为小数位数 x=3.1415 str(x,6,2) 3.14

val(s) 字符串转换为数值 val(\"123\") 123.00

ctod(s) 字符串转日期 ctod('11/01/2002') 11/01/2002 dtoc(d) 日期转换成字符串 dtoc(date()) 11/01/2002

dtos(d) 把日期转成年月日式的字符串 dtos(date()) 20021101 ctot(c) 字符串转成日期时间型 ctot(11/01/2002 10:30:50am) 11/01/2002

10:30:50am

dtot(d) 日期型转为日期时间型 dtot(date()) 11/25/2001 00:00:01am

ttoc(t) 日期时间型转为字符型 ttoc(datetime()) 11/25/2001 00:00:01am

ttod(t) 日期时间型转为日期型 ttod(datetime()) 11/25/2001 iif(le,e1,e2) 逻辑判断 iif(a>0,\"yes\

5、检测函数 函数名 操作 例 结果

recno() 检测当前记录号 recno() 1 reccount() 检测当前记录数 reccount() 12 bof() 开始记录 bof() 1 eof() 最后记录 eof() 12

found() 返回查找结果 found() .t.

row() 返回当前行坐标 row() 1 col() 返回当前列坐

因篇幅问题不能全部显示,请点此查看更多更全内容