VFP常用函数大全整理一.字符及字符串处理函数:字符及字符串处理函数的处理对象均为字符型数据,但其返回值类型各异.1.取子串函数:格式:substr(c,n1,n2)功能:取字符串C第n1个字符起的n2个字符.返回值类型是字符型.例:取姓名字符串中的姓.store \"王小风\" to xm?substr(xm,1,2)结果为:王2.删除空格函数:以下3个函数可以删除字符串中的多余空格,3个函数的返回值均为字符型.trim(字符串):删除字符串的尾部空格alltrim(字符串):删除字符串的前后空格ltrim(字符串):删除字符串的前面的空格例:去掉第一个字符串的尾空格后与第二个字符串连接store \"abcd \" to xstore \"efg\" to y?trim(x)+yabcdefg3.空格函数:格式:space(n)说明:该函数的功能是产生指定个数的空格字符串(n用于指定空格个数).例:定义一个变量dh,其初值为8个空格store space(8) to dh4.取左子串函数:格式: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(\"教授\",\"副教授\")28.大小写转换函数:格式:lower(字符串)upper(字符串)功能:lower()将字符串中的字母一律变小写;upper()将字符串中的字母一律变大写例:bl=\"FoxBASE\"?lower(bl)+space(2)+upper(bl)foxbase FOXBASE9.求字符串长度函数:格式:len(字符串)功能:求指定字符串的长度例:a=\"中国人\"?len(a)6二.数学运算函数:1.取整函数:格式:int(数值)功能:取指定数值的整数部分.例:取整并显示结果?int(25.69)252.四舍五入函数:格式:round(数值表达式,小数位数)功能:根据给出的四舍五入小数位数,对数值表达式的计算结果做四舍五入处理例:对下面给出的数四舍五入并显示其结果?round(3.14159,4),round(2048.9962,0),round(2048.9962,-3)3.1416 2049 20003.求平方根函数:格式:sqrt(数值)功能:求指定数值的算术平方根例:?sqrt(100)104.最大值、最小值函数:格式:Max(数值表达式1,数值表达式2)Min(数值表达式1,数值表达式2)功能:返回两个数值表达式中的最大值和最小值例:x1=123.456x2=234.567?max(x1,x2)234.567?min(x1,x2)123.4565.求余数函数:格式:mod(表达式1,表达式2)功能:求表达式1对表达式2的余数例:?mod(10,3)16.求指数、对数函数:格式:exp(数值表达式)log(数值表达式)功能:(1).exp()计算自然数e ?表达式的值为指数的幂(2).log()计算表达式值的自然对数,返回lnx的值.例:x=1y=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.562.字符转数值函数:格式:val(s)功能:将数字字符串s转换为数值例:x=\"23\"y=\"76\"?val(x)+val(y)1003.字符转日期函数:格式:ctod(c)功能:将日期字符串c转换为日期例:set date ansi &&日期格式设为美国标准化协会格式?ctod(\"^2005.11.14\")2005.11.144.日期转字符函数:格式:dtoc(d)功能:将日期d转化为日期字符串例:将日期型数据转化为字符型日期数据并显示汉字日期.set century on &&开启世纪前缀,即日期中年份用4位表示set date ansirq={^2005.11.14}rq=dtoc(rq)?substr(rq,1,4)+\"年\"+substr(rq,6,2)+\"月\"+substr(rq,9,2)+\"日\"2005年11月14日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 1029.ASCⅡ码值转字符函数:格式:chr(数值表达式)功能:把数值转成相应的ASCⅡ码字符,返回值为字符型例:?chr(70)+chr(111)+chr(111+9)Fox四.日期函数:1.系统日期函数:格式:date()功能:给出系统的当前日期,返回值是日期型数据.例:显示系统日期?date()11/14/05set date ansiset century on?date()2005.11.142.年、月、日函数:格式:(1).year(日期表达式):从日期表达式中返回一个由四位数字表示的年份.(2).month(日期表达式):从日期表达式中返回一个用数字表示的月份.(3).day(日期表达式):从日期表达式中返回一个用数字表示的日数.例:测试系统日期rq=date()?year(rq),month(rq),day(rq)2005 11 143.系统时间函数:格式:time()功能:得到当前时间字符串例:?time()20:32:264.系统日期时间函数:格式:datetime()功能:得到当前日期时间例:?datetime()2005.11.14 08:35:12 PM5.星期函数:格式:dow(日期表达式)cdow(日期表达式)功能:dow用数字表示星期,1表示星期日,7为星期六;cdow用英文表示星期例:?date()2005.11.15?dow(date()),cdow(date())3 Tuesday五.测试函数:1.测试文件尾函数:格式:eof([n])说明:(1).n指定被测工作区号,其范围为1~32767(2).该函数用于测试指定工作区中的表的记录指针是否指向文件尾,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试文件记录指针是否指向文件尾use 职工档案go bottom?eof().F.skip?eof().T.2.测试文件头函数:格式:bof([n])说明:(1).n指定被测工作区号,其范围为1~32767(2).用于测试指定工作区中的表的记录指针是否指向文件头,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试记录指针是否指向文件头use 职工档案go top?bof().f.skip -1?bof().t.3.测试当前记录号函数:格式:recno()功能:得到当前的记录号例:use 职工档案?recno()1skip?recno()24.测试表文件记录数函数:格式:reccount()功能:得到表的记录数例:测试\"职工档案\"表的记录数use 职工档案?reccount()55.测试表字段数函数:格式:fcount()功能:得到当前的字段数例:测试\"职工档案\"表共有多少个字段use 职工档案?fcount()96.测试查找记录是否成功函数:格式:found()功能:测试find、seek和locate命令查找记录是否成功.如成功则返回真值,否则为假值.例:在\"职工档案\"表中查找\"小刚\"的文化程度use 职工档案locate for 姓名=\"小刚\"?found().t.display7.文件测试函数:格式:file(字符表达式)功能:测试字符表达式指定的文件是否存在例:?file(\"e:\\myvfp\\职工档案.dbf\").t.8.数据类型测试函数:格式:type(字符表达式)功能:测试表达式的数据类型,返回大写字母:N(数值)、C(字符)、L(逻辑)、D(日期)、M(备注)例:x=1236y=\"hello\"?type(\"x\")N?type(\"y\")C9.测试工作区函数:格式:select()功能:返回当前工作区的区号10.测试别名函数:格式:alias()功能:测试当前工作区的别名例:select 1use 职工档案alias zgdaselect 2use 工资情况?alias()工资情况&&打开表时,不指定别名,表名即为别名select zgda &&通过别名选择工作区?select()111.表文件名函数:格式:dbf()功能:返回当前工作区打开的表名例:use 工资情况?dbf()e:\\myvfp\\工资情况六.其它函数:1.宏替换函数:格式:&变量名说明:vfp中只有宏替换函数没有括号.功能是返回指定字符型变量中所存放的字符串.例:为\"工资情况\"表中每个人加100元工资gz=\"工资\"use 工资情况replace all &gz with &gz+1002.条件函数:格式:iif(表达式,表达式1,表达式2)功能:若表达式值为真,则返回表达式1的值;否则返回表达式2的值;函数返回值类型与表达式1或表达式2类型一致a=3b=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说明:实际应用中,我们常在系统菜单或在表单的\"退出\"按钮中添加如下代码:tui=messagebox(\"您确实要退出系统吗?\",4+64,\"提示信息\")if tui=6 &&如果此条件成立,说明用户点了\"是\"按钮,执行quit命令,安全退出quitendif。