m程序设计 第11讲 FoxPro的常用函数 FoxproForWindowshttp://cc.synu.edu.cn
FoxPro For Windows http://cc.synu.edu.cn 1 FoxPro程序设计 第11讲 FoxPro的常用函数
m程序设计 玄是感3 函数是能够返回一个值的子程序; 函数由函数名和一对圆括号组成; 根据需要用户可以自定义函数; 系统提供200多种系统函数。MOD( SUBSO STRO OUINIDAEOFO FOU N D() BOFO FoxproForWindowshttp://cc.synu.edu.cn 2
FoxPro For Windows http://cc.synu.edu.cn 2 FoxPro程序设计 什么是函数? 函数是能够返回一个值的子程序; 函数由函数名和一对圆括号组成; 根据需要用户可以自定义函数; 系统提供200多种系统函数。 MOD( ) STR( ) SUBS( ) EOF( ) BOF( ) FOUND( )
m程序设计 算术函数 绝对值函数:ABS() 【例】ABS(-125) 求平方根函数:SQRT() 【例】SQRT(4) X SQRT(-4) 最大值函数:MAX(,) 例】MAX(12,4) 最小值函数:MN(,) 【例】M|N(12,4) FoxproForWindowshttp://cc.synu.edu.cn 3
FoxPro For Windows http://cc.synu.edu.cn 3 FoxPro程序设计 绝对值函数:ABS() 【例】 ABS(-12.5) 求平方根函数:SQRT() 【例】 SQRT(4) ×SQRT(-4) 最大值函数:MAX(,) 【例】 MAX(12,4) 最小值函数:MIN(,) 【例】 MIN(12,4) 算术函数
m程序设计 四舍五入: ROUND(, ROUND函数,数值表达式2>=0,加一位四舍五入 ) 常用来判别一个数能否被另一个数整除。 例:表达式|NT(X/2)=X/2 为真,说明X能被2整除(偶数),否则不能被2整除(奇数)。 【例】NT(5/2)NT(5/-2)NT(-49,9) FoxproForWindowshttp://cc.synu.edu.cn
FoxPro For Windows http://cc.synu.edu.cn 4 FoxPro程序设计 四舍五入:ROUND(,) ROUND函数,数值表达式2>=0,加一位四舍五入; ) 常用来判别一个数能否被另一个数整除。 例:表达式 INT(X/2)=X/2 为真,说明X能被2整除(偶数),否则不能被2整除(奇数)。 【例】INT(5/2) INT(5/-2) INT(-49,9)
m程序设计 求余函数:MOD(, MOD函数的功能同模除运算%符号同数值表达式2 符号相同:余数=被除数商*除数 符号不同:余数=(商+1)*除数被除数 【例】 ?MOD(36,10),MOD(10,36),MOD(36,-10),MOD(10,-36),MOD(-10,36) 6 26 26 注意 FoxPro中无平方函数。对于X平方可表示为Ⅹ^2、X*2或 X。 【例】表达式3*5*2+10%6/2的结果为: A.227 B.76 C.226 D.77 FoxproForWindowshttp://cc.synu.edu.cn 5
FoxPro For Windows http://cc.synu.edu.cn 5 FoxPro程序设计 求余函数:MOD(,) MOD函数的功能同模除运算%,符号同数值表达式2。 符号相同:余数=被除数-商* 除数 符号不同:余数=(商+1) * 除数-被除数 【例】 ?MOD(36,10), MOD(10,36), MOD(36,-10), MOD(10,-36), MOD(-10,36) 6 10 -4 -26 26 注意FoxPro中无平方函数。对于X平方可表示为X^2、X**2或 X*X。 【例】 表达式3*5**2+10%6/2的结果为: A.227 B.76 C.226 D.77
m程序设计 字符函数 宏替换函数:&【] 宏替换函数&替换字符型变量的值,注意在&后的变量必须是字符型。 常用在程序中实现对任意的输入对象进行相关操作。 用将宏替换函数后的字符串常量分隔。 【例】 执行下列命令后,将显示 store 100 to yz store 10 to y store 'z to n store y&n to m ?&m A.100 B.0 C.10 D显示‘变量没找到 FoxproForWindowshttp://cc.synu.edu.cn 6
FoxPro For Windows http://cc.synu.edu.cn 6 FoxPro程序设计 宏替换函数:&[.] 宏替换函数&替换字符型变量的值,注意在&后的变量必须是字符型。 常用在程序中实现对任意的输入对象进行相关操作。 用.将宏替换函数后的字符串常量分隔。 【例】 执行下列命令后,将显示: store 100 to yz store 10 to y store 'z' to n store 'y&n' to m ? &m A.100 B.0 C.10 D.显示‘变量没找到’ 字符函数
m程序设计 【例】km= space(8) @5,15say"请输入数据库文件名:" get km read use &km 【例】允许&嵌套 stor 99 to rj 8899 stor ""toz & j stor r&z to mn & &mn 8&99 【例】宏函数与后面字符间,以"."分隔 stor /"to c &/ stor 125&c 5 to s 8&1255 【例】X=1998 ?&X+5 882003 ?&X+5 8&1998+5 FoxproForWindowshttp://cc.synu.edu.cn 7
FoxPro For Windows http://cc.synu.edu.cn 7 FoxPro程序设计 【例】 km=space(8) @ 5,15 say "请输入数据库文件名:" get km read use &km 【例】允许&嵌套 stor 99 to rj &&99 stor "j" to z && j stor "r&z" to mn && rj ? &mn && 99 【例】宏函数与后面字符间,以"."分隔 stor "/" to c && / stor "125&c.5" to s && 125/5 【例】 X=‘1998’ ? &X+5 &&2003 ? ‘&X+5’ && 1998+5
m程序设计 子串搜索函数: AT(,[数值>] RAT(,]) 子串搜索函数AT0返回字符串1在字符串2中从左边的开始 位置,若字符串2不包含字符串1,则返回值为0。RAT 从右边开始。 例】?at("or"," FOXPro2.6 for Windows")&&12 例】x='o y=FoxPro 2.6 for Windows at(x,y, 3) 8&13 FoxproForWindowshttp://cc.synu.edu.cn
FoxPro For Windows http://cc.synu.edu.cn 8 FoxPro程序设计 子串搜索函数: AT(,[,]) RAT(,[,]) 子串搜索函数AT()返回字符串1在字符串2中从左边的开始 位置,若字符串2不包含字符串1,则返回值为0。RAT 从右边开始。 【例】?at("for","FoxPro 2.6 for Windows") &&12 【例】 x='o' y='FoxPro 2.6 for Windows' ? at(x,y,3) &&13
m程序设计 取子串函数: SUBSTR(,L,) 取右子串函数:RGHT(字符串>,) 例】str=" OXPro26 for windows" subs(str, 12, 3)&&for left(str, 10) &&FoxPro 2.6 例】sno=990108 Subs(sno, 1, 2) Right(sno, 2) 注意:使用取子串函数时一定要注意一个汉字占两个字符的位置。 FoxproForWindowshttp://cc.synu.edu.cn 9
FoxPro For Windows http://cc.synu.edu.cn 9 FoxPro程序设计 取子串函数:SUBSTR(,[,]) 取左子串函数:LEFT(,) 取右子串函数:RIGHT(,) 【例】 str="FoxPro 2.6 for Windows" ? subs(str,12,3) &&for ? left(str,10) &&FoxPro 2.6 【例】sno=‘990108’ ? Subs(sno,1,2) ? Right(sno,2) 注意:使用取子串函数时一定要注意一个汉字占两个字符的位置
m程序设计 删除字符串首、尾空格函数: ALLTRIM) 串长度函数:LEN) 【例】 store space(8) to name LEN(name) FoxproForWindowshttp://cc.synu.edu.cn 10
FoxPro For Windows http://cc.synu.edu.cn 10 FoxPro程序设计 删除字符串首、尾空格函数: ALLTRIM() TRIM() LTRIM() 【例8.7】 STORE “Good” TO str1 STORE “ Morning.” TO str2 ? Str1+str2,str1+LTRIM(str2) Good Morning. GoodMorning. 空格函数:SPACE() 串长度函数:LEN() 【例】 store space(8) to name ? LEN(name)