打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VFP常用函数大全

VFP常用函数大全

http://bbs.exam8.com/thread-19 8710-1-1.html

.字符及字符串处理函数:

字符及字符串处理函数的处理对象均为字符型数据,但其返回值类型各异. 

1.取子串函数: 

格式:substr(c,n1,n2) 

功能:取字符串Cn1个字符起的n2个字符.返回值类型是字符型. 

:取姓名字符串中的姓. 

store "王小风" to xm 

substr(xm,1,2) 

结果为: 

2.删除空格函数:以下3个函数可以删除字符串中的多余空格,3个函数的返回值均为字符型. 

trim(字符串):删除字符串的尾部空格 

alltrim(字符串):删除字符串的前后空格 

ltrim(字符串):删除字符串的前面的空格 

:去掉第一个字符串的尾空格后与第二个字符串连接 

store "abcd   " to x 

store "efg" to y 

trim(x)+y 

abcdefg 

3.空格函数: 

格式:space(n) 

说明:该函数的功能是产生指定个数的空格字符串(n用于指定空格个数). 

:定义一个变量dh,其初值为8个空格 

store space(8) to dh 

4.取左子串函数: 

格式:left(c,n) 

功能:取字符串C左边n个字符. 

5.取右子串函数: 

格式:right(c,n) 

功能:取字符串c右边的n个字符 

:a="我是中国人" 

right(a,4) 

国人 

left(a,2) 

 

6.empty(c):用于测试字符串C是否为空格. 

7.求子串位置函数: 

格式:At(字符串1,字符串2) 

功能:返回字符串1在字符串2的位置 

:?At("教授","副教授") 

    2  

8.大小写转换函数: 

格式: 

lower(字符串) 

upper(字符串) 

功能:lower()将字符串中的字母一律变小写;upper()将字符串中的字母一律变大写 

: 

bl="FoxBASE" 

lower(bl)+space(2)+upper(bl) 

foxbase   FOXBASE 

9.求字符串长度函数: 

格式:len(字符串) 

功能:求指定字符串的长度 

:a="中国人" 

len(a) 

6  

    .数学运算函数: 

1.取整函数: 

格式:int(数值)  

功能:取指定数值的整数部分. 

:取整并显示结果 

int(25.69) 

25 

2.四舍五入函数:  

格式:round(数值表达式,小数位数) 

功能:根据给出的四舍五入小数位数,对数值表达式的计算结果做四舍五入处理 

:对下面给出的数四舍五入并显示其结果 

round(3.14159,4),round(2048.9962,0),round(2048.9962,-3) 

3.1416   2049   2000  

3.求平方根函数: 

格式:sqrt(数值) 

功能:求指定数值的算术平方根 

:?sqrt(100) 

  10 

4.最大值、最小值函数: 

格式: 

Max(数值表达式1,数值表达式2 

Min(数值表达式1,数值表达式2 

功能:返回两个数值表达式中的最大值和最小值 

例: 

x1=123.456 

x2=234.567 

max(x1,x2) 

234.567 

min(x1,x2) 

123.456  

 

5.求余数函数: 

格式:mod(表达式1,表达式2 

功能:求表达式1对表达式2的余数 

例: 

mod(10,3) 

    1 

6.求指数、对数函数: 

格式: 

exp(数值表达式) 

log(数值表达式) 

功能: 

(1).exp()计算自然数e为底,表达式的值为指数的幂 

(2).log()计算表达式值的自然对数,返回lnx的值. 

: 

x=1 

y=exp(x) 

exp(x),log(x) 

2.72   1  

    .转换函数: 

1.数值转数字字符串函数: 

格式:str(n,n1,n2) 

功能:将数值n转换为字符串,n1为总长度,n2为小数位 

:?str(321.56) 

322 &&隐含四舍五入取整转换为字符型数据 

str(321.56,6,2) 

321.56 

2.字符转数值函数: 

格式:val(s) 

功能:将数字字符串s转换为数值 

:x="23" 

y="76" 

val(x)+val(y) 

100 

3.字符转日期函数: 

格式:ctod(c) 

功能:将日期字符串c转换为日期 

:set date ansi &&日期格式设为美国标准化协会格式 

ctod("^2005.11.14") 

2005.11.14 

4.日期转字符函数: 

格式:dtoc(d) 

功能:将日期d转化为日期字符串 

:将日期型数据转化为字符型日期数据并显示汉字日期. 

set century on &&开启世纪前缀,即日期中年份用4位表示 

set date ansi 

rq={^2005.11.14} 

rq=dtoc(rq) 

substr(rq,1,4)+""+substr(rq,6,2)+""+substr(rq,9,2)+"" 

20051114 

5.时间转字符函数: 

格式:ttoc(时间) 

功能:将时间转为时间字符串 

6.字符转时间函数: 

格式:ctot(c) 

功能:将时间字符串转化为时间  

7.字符串替换函数: 

格式:stuff(<字符表达式1>,<起始位置>,<字符个数>,<字符表达式2>) 

功能:从指定位置开始,<表达式2>的值去替换<表达式1>中指定个数字符.<字符个数>为零,直接插入;<表达式2>为空字符串,则删除<表达式1>中指定个数的字符. 

:X="祝大家新年好!" 

stuff(X,7,4,"春节") 

祝大家春节好 

stuff(X,11,0,"春节") 

祝大家新年春节好 

stuff(x,7,4," ") 

祝大家好 

8.字符转ASCⅡ码函数: 

格式:Asc(<字符表达式>) 

功能:<字符表达式>左边第一个字符转成相应的ASCⅡ码值 

:x="Foxpro" 

Asc(x),Asc(lower(x)) 

70 102 

9.ASCⅡ码值转字符函数: 

格式:chr(数值表达式) 

功能:把数值转成相应的ASCⅡ码字符,返回值为字符型 

:?chr(70)+chr(111)+chr(111+9) 

Fox

.日期函数: 

1.系统日期函数: 

格式:date() 

功能:给出系统的当前日期,返回值是日期型数据.

:显示系统日期 

date() 

11/14/05 

set date ansi 

set century on 

date() 

2005.11.14 

2.年、月、日函数: 

格式1).year(日期表达式):从日期表达式中返回一个由四位数字表示的年份. 

(2).month(日期表达式):从日期表达式中返回一个用数字表示的月份. 

(3).day(日期表达式):从日期表达式中返回一个用数字表示的日数. 

:测试系统日期 

rq=date() 

year(rq),month(rq),day(rq) 

2005 11 14 

3.系统时间函数: 

格式:time() 

功能:得到当前时间字符串 

:?time() 

20:32:26 

4.系统日期时间函数: 

格式:datetime() 

功能:得到当前日期时间 

:?datetime() 

2005.11.14 08:35:12 PM 

5.星期函数: 

格式:dow(日期表达式) 

cdow(日期表达式) 

功能:dow用数字表示星期,1表示星期日,7为星期六;cdow用英文表示星期 

:?date() 

2005.11.15 

dow(date()),cdow(date()) 

3 Tuesday 

.测试函数: 

1.测试文件尾函数: 

格式:eof([n]) 

说明: 

(1).n指定被测工作区号,其范围为132767 

(2).该函数用于测试指定工作区中的表的记录指针是否指向文件尾,是则返回真值;否则返回假值;省略可选项指当前工作区. 

:测试文件记录指针是否指向文件尾 

use 职工档案 

go bottom  

eof() 

.F. 

skip 

eof() 

.T. 

2.测试文件头函数: 

格式:bof([n]) 

说明: 

(1).n指定被测工作区号,其范围为132767 

(2).用于测试指定工作区中的表的记录指针是否指向文件头,是则返回真值;否则返回假值;省略可选项指当前工作区. 

:测试记录指针是否指向文件头 

use 职工档案 

go top 

bof() 

.f. 

skip -1 

bof() 

.t. 

3.测试当前记录号函数:  

格式:recno() 

功能:得到当前的记录号 

: 

use 职工档案  

recno() 

1 

skip 

recno() 

2  

4.测试表文件记录数函数: 

格式:reccount() 

功能:得到表的记录数 

:测试"职工档案"表的记录数 

use 职工档案 

reccount() 

5 

5.测试表字段数函数:  

格式:fcount() 

功能:得到当前的字段数 

:测试"职工档案"表共有多少个字段 

use 职工档案 

fcount() 

9 

6.测试查找记录是否成功函数: 

格式:found() 

功能:测试findseeklocate命令查找记录是否成功.如成功则返回真值,否则为假值. 

:"职工档案"表中查找"小刚"的文化程度 

use 职工档案 

locate for 姓名="小刚" 

found() 

.t. 

display 

7.文件测试函数: 

格式:file(字符表达式)

功能:测试字符表达式指定的文件是否存在 

:?file("e:\myvfp\职工档案.dbf" 

.t. 

8.数据类型测试函数: 

格式:type(字符表达式) 

功能:测试表达式的数据类型,返回大写字母:N(数值)C(字符)L(逻辑)D(日期)M(备注) 

例: 

x=1236 

y="hello" 

type("x" 

N 

type("y" 

C  

9.测试工作区函数: 

格式:select() 

功能:返回当前工作区的区号 

10.测试别名函数: 

格式:alias() 

功能:测试当前工作区的别名 

: 

select 1 

use 职工档案 alias zgda 

select 2 

use 工资情况 

alias() 

工资情况 &&打开表时,不指定别名,表名即为别名 

select zgda &&通过别名选择工作区 

select() 

1  

11.表文件名函数: 

格式:dbf() 

功能:返回当前工作区打开的表名  

: 

use 工资情况 

dbf() 

e:\myvfp\工资情况

.其它函数: 

1.宏替换函数: 

格式:&变量名 

说明:vfp中只有宏替换函数没有括号.功能是返回指定字符型变量中所存放的字符串. 

:"工资情况"表中每个人加100元工资 

gz="工资" 

use 工资情况 

replace all &gz with &gz+100 

2.条件函数: 

格式:iif(表达式,表达式1,表达式2) 

功能:若表达式值为真,则返回表达式1的值;否则返回表达式2的值;函数返回值类型与表达式1或表达式2类型一致 

a=3 

b=5 

iif(a>b,"高兴","开心") 

开心 

3.消息框函数: 

格式:messagebox(提示文本[,对话框类型[,对话框标题文本]]) 

功能:显示提示对话框 

说明: 

(1)对话框类型见表1: 

对话框类型功能 

0"确定"按钮 

1"确定""取消"按钮 

2"终止","重试""忽略"按钮 

3"","""取消"按钮 

4""""按钮 

5"重试""取消"按钮 

16stop图标 

32?图标 

48!图标 

64i图标 

0默认第1个按钮 

256默认第2个按钮 

512默认第3个按钮 

(2).返回值见表2: 

返回值按钮 

1确定 

2取消 

3终止 

4重试 

5忽略 

6 

7 

:分析messagebox("您确实要退出系统吗",4+64,"提示信息")会弹出什么样的窗口. 

分析:回头观察此函数的格式,弹出的对话框中的提示文本是"您确实要退出系统吗",对话框标题是"提示信息", 

函数中间有"4+64",其中4指定对话框中出现""""两个按钮(见表1),64指定对话框中出现i图标(见表2) 

ok,我们在命令窗口依次执行下列命令: 

tui=messagebox("您确实要退出系统吗",4+64,"提示信息")  

&&变量tui用于接收messagebox函数的返回值,弹出的窗口如图1 

tui 

&&变量tui值取决于运行时用户点了哪个按钮,如果点了"",返回6,如果点了"",返回7,见表2

功能:测试字符表达式指定的文件是否存在 

:?file("e:\myvfp\职工档案.dbf") 

.t. 

8.数据类型测试函数: 

格式:type(字符表达式) 

功能:测试表达式的数据类型,返回大写字母:N(数值)C(字符)L(逻辑)D(日期)M(备注) 

例: 

x=1236 

y="hello" 

type("x") 

N 

type("y") 

C  

9.测试工作区函数: 

格式:select() 

功能:返回当前工作区的区号 

10.测试别名函数: 

格式:alias()  

功能:测试当前工作区的别名 

: 

select 1 

use 职工档案 alias zgda 

select 2 

use 工资情况 

alias() 

工资情况 &&打开表时,不指定别名,表名即为别名 

select zgda &&通过别名选择工作区 

select() 

1  

11.表文件名函数: 

格式:dbf() 

功能:返回当前工作区打开的表名  

: 

use 工资情况 

dbf() 

e:\myvfp\工资情况

在下一行显示表达式串

   在当前行显示表达式串

  @... 将数据按用户设定的格式显示在屏幕上或在打印机上打印

  ACCEPT 把一个字符串赋给内存变量

  APPEND 给数据库文件追加记录

  APPEND FROM 从其它库文件将记录添加到数据库文件中

  AVERAGE 计算数值表达式的算术平均值

  PACK 彻底删除加有删除标记的记录

  ZAP 删除当前数据库文件的所有记录(不可恢复)

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
第04讲-vf表达式与函数
VFP常用命令及用法、实例
Visual FOXPRO中的常用内部函数
VFP命令、函数及程序语句大全
常用VBA函数精选
Excel 【原创】Excel 中 Text 函数应用技巧集锦 - Excel 函数与公式 - Excel Home论坛
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服