VF常用函数.doc_第1页
VF常用函数.doc_第2页
VF常用函数.doc_第3页
VF常用函数.doc_第4页
VF常用函数.doc_第5页
已阅读5页,还剩5页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

常 用 函 数函数是系统为实现一些特定功能而设置的内部程序,作为系统的一部分供用户使用.Visual Foxpro 提供了500多个函数,功能比较强大,为程序设计和软件开发提供了许多方便.函数的基本形式为: 函数名()函数的操作有三种情况:有一部分函数的操作数由系统规定,用户不必输入,此时函数无操作数,其形式为: 函数名(); 有一部分函数的操作数必须由用户输入;还有一部分函数的操作数可以由用户来指定,如用户不指定,系统就按有关规定给出.对于后两种情况,输入的操作数就相当于一般函数的自变量. Visual Foxpro对每个函数自变量的个数、类型以及函数值的类型都有明确的规定,在使用函数时必须遵循这些规定.学习函数必须掌握它输入输出的数据类型.按Visual Foxpro函数的功能和用途,可将函数分为11大类型:数值和数学函数、字符型函数、日期时间函数、转换函数、测试函数、数据库和表函数、数组函数、对象特性函数、SQL查询函数、菜单和窗口函数、其它函数。我们只介绍部分最常用函数。一、数值和数学函数该类函数的输入均为数值型。输出除了其中的确定函数为逻辑型外,其它为数值型。(一)一般数值函数(1)取整函数格式:INT()该函数返回的整数部分(舍尾).(2)向上取整函数格式:CEILING()该函数返回不小于的最小整数。(3)向下取整函数格式:FLOOR()该函数返回不大于的最大整数。例:?INT(3.14),INT(-3.14),CEILING(3.14),CEILING(-3.14),FLOOR(3.14),FLOOR(-3.14)3-3 4-33-4(4)四舍五入函数格式:ROUND(,)该函数要求保留小数位。其具体操作是:根据指定的位数,对进行四舍五入操作,最后保留相应的小数位数。若指定的位数为负数,则表示对整数部分舍至第几位,得到的值将尾随个零。例:?ROUND(1024.5972,2),ROUND(1024.5972,0) ,ROUND(1024.5972,-2)1024.6010251000(5)取模函数格式: MOD(,)功能: 返回除以的余数,如为正,则函数值为正,否则为负.表达式自动取整再进行取模运算。与%相同。例:?MOD(6*8,30/3),MOD(-89,7.5),MOD(89,-7.5), 6*8%(30/3),-89%7.5,89%(-7.5)81-181-1(6)最大值函数格式: MAX(,)功能: 返回若干表达式中的最大值.表达式可以是各种数据类型,但在同一个函数中的表达式的类型应一致.(7)最小值函数格式:MIN(,)功能: 返回若干表达式中的最小值.(8)绝对值函数格式: ABS()功能: 返回的绝对值.(9)平方根函数格式: SQRT()功能: 返回的算术平方根. 应大于或等于零.(10)指数函数格式:EXP()功能: 返回以e为底的指数值, 为e的指数部分.例: ?ABS(30-40),SQRT(64),EXP(0),EXP(1)10812.72(11)符号函数格式: SIGN()功能:根据的值为正、零、负数分别返回1、0、-1。例:?SIGN(3.2),SIGN(0), SIGN(-3.2)10-1(12)随机函数格式: RAND()功能: 返回一个0-1.0之间的随机数. 是随机种子.如果是一个正数,则该数将代替缺省种子,如果是相同的正数,则产生相同的随机序列; 如果是一个负数, 由系统时钟产生种子.为了获得真正的随机序列,可以在第一个RAND函数中使用负参数,用该数代替缺省种子, 而以后的RAND()不带任何参数.例: =RAND(-1)?(b-a)*RAND()+a二、字符型函数在使用字符型函数时,应注意每一个汉字相当于两个西文字符的位置。(一)字符串截取函数该类函数的输出是字符型的.(1)取消前后空格函数格式: ALLTRIM()功能: 去掉中的前后空格.(2)删除字符串前导空格函数格式: LTRIM()功能: 截去中左边空格.例: ?计算机+ 应用& 计算机应用(3)删除字符串尾部空格函数格式: TRIM()/RTRIM()功能: 字符串尾部空格.若全由空格组成,则函数返回空串.例: STORE 计算机 TO Z?TRIM(Z)+应用& 计算机应用(4)左子串截取函数格式: LEFT(,)功能: 截取最左边的个字符为一个子字符串. 若的值大于的长度,则该函数返回整个字符串;若小于或等于零,则返回空串.(6)右子串截取函数格式:RIGHT(,)功能: 截取最右边的个字符为一个子字符串. 若的值大于的长度,则该函数返回整个字符串;若小于或等于零,则返回空串.(6)取子串函数格式:SUBSTR(,,)功能: 截取的子串. 其中, 指定取子字符的起始位置, 指定取字符的个数.若缺省或其值大于的长度时,则将截取指定的位置起至最后一个字符为止的子串.当的值为0时,输出空串.例: X=10/14/99?SUBSTR(X,7,2)+年+SUBSTR(X,1,2)+月+SUBSTR(X,4,2)+日99年12月14日?SUBSTR(X,7)&输出余下所有字符99?SUBSTR(X,0,7)&输出空串(二)字符查找和替换函数(1)子串检索函数格式: AT(,,)功能: 返回在中第次出现的位置. 若不在中则返回0,若省略则隐含为1. 其返回值类型为数值型. 例: STORE I amstudent. TO STR2STORE am TO STR1?AT (STR1,STR2), AT(STR1,student), AT(t,STR2, 2)309(2)表达式计算函数格式: EVALUATE ()功能: 返回的值. 是要计算的表达式,可以是一个字符串,一个合法的表达式,内存变量,数组元素或任何数据类型的字段.例: X=学生.DBFUSE EVALUATE(X)A=9*5?EVALUATE(A)& 9*5 变量为字符型?EVALUATE(A)& 45 相当于执行了命令?EVALUATE(9*5)(3)字符串替换函数格式: STUFF(,,,)功能: 可用修改中任一部分.其中, 指定修改的起始位置,为要修改的字符个数.若为0,则在的位置插入; 若为空串,则从中自起删除个字符,而不增加任何字符. 所以该函数集修改(替换)、插入、删除功能为一身。输出类型为字符型。例:?STUFF(南方财经学院,9,4,大学)&南方财经大学?STUFF(会计凭证,5,0,记帐)&会计记帐凭证?STUFF(南方财经大学,5,4,)&南方大学(4)字符替换函数格式: CHRTRAN(,,)功能:在中查找,如果找到,就用来替换. 若中的字符比的字符多,多余的字符被忽略; 若中的字符比的字符少,则后面多余的字符以空表示.例: ?CHRTRAN(azbycx=aZbYcX,abc,ABC)AxByCx=AZBYCX(5)字符串检索替换函数格式: STRTRAN(,,,)功能: 用替换中出现的. 其中指定替换的起始位置,即第次出现的位置开始替换,缺省为1. 指出替换的次数,缺省值为出现几次就替换几次. 若找不到就不替换.例: STRTRAN(南方工业大学工业系,工业,财经)南方财经大学财经系(6)填充字符函数格式1: PADL(,,)格式2: PADR(,,)格式3: PADC(,,)功能: 分别在的左、右、两边填充,并使结果串长度为。缺,将以空格字符填充。例如:PADL(Good,12,*),PADC(Good,12,*),PADR(Good,12,*)*Good*Good*Good*(三)其它字符函数(1)数据类型测试函数格式: TYPE()功能: 返回的类型. 操作数必须是字符型的,即必须将参数用定界符括起来. TYPE()函数的参数可以是表达式, 它先计算表达式的值,最后返回一个指示该表达式类型的单个字母. 例: ?TYPE(10+8)& N 数值型,包括浮点、双精度、整型?TYPE(.F. OR .T.)& L 逻辑型?TYPE(DATE()& D 日期型?TYPE(DATETIME()& T 日期时间型?TYPE(ABC123)& C 字符型?TYPE(ABC123)& U 未定义,表示参数有错,无法返回正确类型O OLE对象 M备注型 G通用型 Y货币型(2)字符串长度函数格式:LEN()功能:返回的长度。例:LEN(“This is a book.”)&15LEN(SUBSTR(首都师范大学,0,10)&0(3)子串个数测试函数格式: OCCURS(,)功能: 返回在中出现的次数.例: OCCURS(is, This is an example.)& 2(4)空格函数格式: SPACE()功能: 输出个空格. 输出类型为字符型.(5)字符重复函数格式: REPLICATE(,)功能: 将重复次. 输出类型为字符型.例:?REPLICATE(*,10)&*三、日期时间函数(1)系统时间函数格式: TIME()功能: 以hh:mm:ss形式返回当前系统时间.如果包含有,则返回的时间精确到百分之几秒, 可以是任何值. 输出值的类型为字符型.例: ?TIME()&14:18:23?TIME(6)&14:18:56:23(2)日期函数格式: DATE()功能: 返回当前系统日期. 返回日期的格式与日期格式设置函数有关.输出类型为字符型.例: ?DATE()& 10/18/99(3)日期时间函数格式:DATETIME()四、宏代换函数格式:&.功能: 替换出字符型内存变量的值。例: STORE GZ.DBF TO XUSE &X宏代换的作用范围是从符号&起,直到遇到一个圆点符.或空白为止.所以,要在宏代换后面再加入其它字符,可用圆点符.将他们分开.例:H=“GZ”USE &H.DBF&变量H后第一个点是&函数的分隔符.五、转换函数(1) 字母大小写换函数格式: UPPER / LOWER ()功能: 将中所有小/大 写字母转换为大/小 写字母. 例: ?LOWER(Personal Computer), UPPER(Personal Computer)personal computer PERSONAL COMPUTER(2)字符型转换为日期型函数格式: CTOD()功能: 将字符型日期转换成日期型日期. 字符表达式的有效输入范围为1/1/100 到12/31/9999. 输出值的类型为日期型.例: ?CTOD(10/18/99)& 10/18/99(3)日期型转换为时间型函数格式: DTOC(, 1)功能: 把日期型日期转换为字符型日期. 加选择参数1, 则输出格式转换为年、月、日,年份为4位。输出值的类型为字符型。例:?DTOC(DATE()&10/18/99? DTOC(DATE(),1)&19991018(4)字符转换为ASCII码格式: ASC()功能: 返回中首字符的ASCII 码十进制数.输出值的类型为数值型. 例: ?ASC(APPLE), ASC(apple)& 6597(5)ASCII码转换为字符格式: CHR()功能: 把的值转换为相应的ASCII码字符. 输出值的类型为字符型.例: ?CHR(98)& b该函数可以用来实现控制字符的转换. 例如,下面的命令可以使喇叭连续发三声:?CHR(7)+CHR(7)+CHR(7)(6)数值型转字符型函数.格式: STR(,)功能: 将转换为字符型数据, 是转换的长度,指定小数位数.缺省转换整个长度,缺省不转换小数位.输出值的类型为字符型.例: ?STR(156.73,6,1)&156.7 ?STR(12345.478, 4,2)&* 当的值小于的整数位数时,转换溢出.(7)字符转换数值函数格式: VAL()功能: 将字符型数据转换为数值型数据. 其输入为字符型数据, 输出为字符型数据. 字符串中可转换部分从第一个数字字符开始到非数字字符为止的数字串, 可以包含符号. 函数值的小数位由SET DECIMAL TO 命令决定, 默认值为2. 输出值的类型为数值型.例: ?VAL(134ABCD576.235)& 134.00?VAL(-657.5326)&-657.53?VAL(ABDC236)&0.00SET DECIMAL TO 3?VAL(“-657.5326”)& -657.533五、数据库和表函数(一) 字段处理函数(1)字段数函数格式: FCOUNT(/)功能: 返回指定工作区中打开表的字段数. 若指定的工作区中没有打开的表,则返回0. 输出值的类型为数值型.例: USE 学生?FCOUNT()& 显示学生表的字段数(2)字段名函数格式: FIELD(/)功能: 返回指定工作区中第个字段的名字.输出值的类型为字符型.例: USE 学生?FIELD(1)& 学号(3)字段长度函数格式: FSIZE(/)功能: 返回指定工作区中指定字段的长度. 输出值的类型为数值型.例: USE 学生?FSIZE(姓名)&8 (4)求备注字段内容的行数格式: MEMLINES()功能: 返回当前记录中指定的备注字段内容所站的行数. 输出值的类型为数值型.(5)求备注字段某行内容格式: MLINE(,)功能: 返回当前记录指定的备注字段名中的行且自开始的内容,备注文件内容每行从0开始编号.输出值的类型为字符型.(二) 记录处理函数(1)表起始/结束测试函数格式:BOF/EOF(/)功能: 测试表文件开始/结束状态,并返回一个逻辑值. 当把记录指针移到表文件的第一条/最后一条逻辑记录位置之前/之后时,该函数为.T.,否则返回.F.。(2)删除函数格式:DELETED(/)功能:若当前记录已作删除标记,则返回.T.,否则返回.F.例: USE 工资DELETE RECORD 3?DELETED()&.T.(3)记录数测试函数格式: RECCOUNT(/)功能:返回指定工作区中表文件的记录总数.若指定工作区中没有打开的表文件,则函数值为0.例: USE 工资?RECCOUNT()&显示工资表的记录数(4)记录号测试函数格式:RECNO(/)功能:返回指定表中当前记录号.若指定的工作区中没有打开的表文件,则函数值为0; 若是一个空表,则RECNO()=1且EOF()=.T.;若记录指针移到表的最后一条记录后面,则得到比最后一条记录的记录号大1的值;若记录指针移到表的第一条记录前,函数值为1.六、测试函数1.光标行/列坐标测试函数格式: ROW()/COL()功能: 返回当前光标所在的行坐标或列坐标. 输出值的类型为数值型.2. 鼠标行/列坐标测试函数格式: MROW()/MCOL()功能: 返回当前鼠标指针所在的行坐标或列坐标. 输出值的类型为数值型.说明: 为窗口名称, 若缺省且没有活动的用户自定义窗口,则返回的值时相对整个屏幕的; 如果缺省, 但有活动的用户自定义窗口, 则返回的值是相对该活动窗口的; 如果鼠标驱动程序没有安装,则返回的值均为-1.3. 文件测试函数格式: FILE()功能: 测试指定的文件是否存在. 文件名必须包含扩展名. 若存在, 返回.T.,否则返回.F.4. 磁盘可用空间测试函数格式: DISKSPACE()功能: 返回当前驱动器上磁盘可用字节数. 5. 条件函数格式: IIF(,)功能: 当的值为.T.时,返回的值; 当的值为.F.时,返回的值.例: NUM=10?IIF(NUM9, STR(NUM,2),STR(NUM,1)&106. 环境设定函数格式: SET(, 1)功能: 返回开关的状态(ON 或OFF)和设置命令所设置的值. 其中是SET命令组中各条命令的关键字, 因有些命令在SET命令关键字ON/OFF和SET命令关键字TO两个命令形式中有相同的命令关键字, 为了区别这种情况, 在需要返回SET命令关键字TO设置时, 在SET函数中加参数1.例: ?SET(CLOCK)&OFF?SET(BELL)&ON?SET(CURRENCY)&LEFT?SET(CURRENCY,1)&$七、数组函数该类函数均返回数值型。(1)数组复制函数格式:ACOPY (,)功能: 将源数组中的元素一对一地复制到目标数组中去, 源数组中的元素将替换目标数组的元素. 如目标数组不存在, Visual Foxpro 将自动创建与源数组大小相同的目标数组. 该函数返回复制到目标数组中的元素个数.说明: 指定源数组中第一个被复制元素的编号,复制从此元素开始(包含此元素). 如果缺省,则从源数组的第一个元素开始复制. 指定复制的源数组的元素数目, 如果其值为-1,则从元素开始,复制源数组中所有的元素. 指定目标数组中第一个被替换的元素编号. 例: ?ACOPY(A1,A2,1,10,11)&将数组A1的前10个元素分别复制到数组A2的11到20元素中(2)寻找数组内容函数格式: ASCAN(,)功能:在数组中搜索与匹配,有相同数据和数据类型的元素。其中,是搜索开始元素的序号,是搜索元素的数目,如果两者都缺省则从头到尾搜索整个数组. 如果找到一个匹配元素,则返回包含表达式的元素的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论