第四讲函数及其应用 要点:基本函数 函数应用举例 ● 基本函数(P50-P52) INT (N) 数值取整 例:?It(23.54): 23 ROUND (N1,.N2)数值N1四舍五入保留N2位小数 例:?Round(23.54,4): 23.5400 ?Round(23.54,-1): 20 SQRT (N) 正数值的算术平方根 例:?SQRT(9) 3 MOD (N1,N2) 自然数N1被N2整除的余数 例:?Mod(7,3): 1 MAXN1,N2,N3,)求大数 例:?MAX(3.45,6.73,2.41) 6.73 MAX(C1,C2,C3,…)求ASCII码最大的字符串 例:?MAX(abc',abd') ‘abd MINN1,N2,N3,)求小数 例:?MAX(3.45,6.73,2.41) 2.41 MN(C1,C2,C3,.)求ASCI码最小的字符串 例:?MAX(abc',abd') "abc" LEN (C) 给出字符串C的字节数 例:C=”王”+“小刚” Len(C): 6 LTRIM (C) 截去字符串C的左空格 例:C=” abc” ?Len(Ltrim(C)): 3 RTRIM(C) 截去字符串C的右空格 例:C="abc“.“def'?Len(Rtrim(C):6 TRIM (C) 与RTRIM(C)相同 ALLTRIM (C) 截去字符串C的首尾空格 例:C=”abc“.“def ?Len(Alltrim(C):8 LEFT (C,N) 取字符串C的左N位
例:?Lef(“64492552”,4) “6449” RIGHT(C,N) 取字符串C的右N位 例:?Right(“64492552”,4): 2552” SUBSTR(C,N1,N2) 取字符串C的从左起第N1位 开始的长度为N2的子串 例:?Substr(“001-212-746-2986”,5,3):“212” LOWER(C) 将字符串C的字符全部该为小写 例:?Lower(“aBCD-ef'): “abcd-ef' UPPER (C) 将字符串C的字符全部该为小写 例:?Upper(“aBCD-ef'): “ABCD-EF” SPACE(N) 产生N个空格的字符串 例:?Len(“A”+Space(2)十”2597”): STR (N1,N2,N3) 保留N3位小数,改数值N1 为长度为N2的字符串 例:n=23.3464 ?Str(n,7,2):"23.35 VAL(C) 将数字形式的字符串转换为数字 例:?VAL(·23.35) 23.35 AT (C1,C2,N) 给出C1在C2中第N次出现时的 字符位 例:?At("f","吉祥村f座5号",1) 8 DATE O 给出机内今日日期 例:?Date0: 01/30/00 TIME O 给出机内时间 例:?Time0 : 16:54:35 DTOC (D) 将日期D转换成字符串 例:?Dtoc({01/30/00}): 01/30/00” CTOD(C) 将字符串C转换成日期 例:?Ctod(01/30/00”): 01/30/00 YEAR(D) 返回日期D的年份(数值) 例:?Year(Date (): 2000 MONTH(D) 返回日期D的月份(数值) 例:?Month({10/23/99}): 10 DAY(D) 返回日期D的日号(数值) 例:?Day({10/23/99}) 23
FILE (C) 是否存在文件C 例:?File("C:mydocu\comm.dbf"): F FSIZE (C) 给出字段名C的字段宽度 例:?Fsize(“name”): 6 ●函数应用举例 Use D:\mysub\Staff.dbf G03 ?"姓名:”,name,Space(5),“年龄:“, Year(Date ())-Year (birthday Use D:mysub\Address.dbf Replace for Left (telephone,4)="6674"telephone with “8461”+Right(telephone,.4) Use D:\mysubladdress.dbf List for Left(Ltrim(street),8)=”惠新东路” Use D:\mysub\staff.dbf G04 山牙日期=Str(Year(birthday),4,0)+“年”+ Str(Month (birthday )2,0)+ “月”+Sr(Day(birthday)),2,0)+ “日” ?出身日期 Use D:\mycub\Address.dbf Display all for Substr(Ltrim(street),5,4)=“东路” 报告日期=“报告日期:”+Dtoc(Date0) ?报告日期 number=”A0023-030-56K-L” 代码=Substr(number,At(“,number,2)+1,3))
?代码 Use D:mysub\Payment.dbf Replace all total with Int(salary+allowance+award)
第五讲数据传递与数据库文件操作 要点:记录与内存变量组的数据传递 从另一数据库添加记录 复制数据库文件 单独复制库文件结构 产生排序文件 磁盘文件操作命令 ●记录与内存变量组的数据传递(P61) Scatter Memvar Fields字段名,字段名, 将当前记录的指定字段数据复制给一组内存变量, 内存变量名相应为m,字段名(内存变量自动定义) 例:Scatter Memvar Fields name,sex,birthday m.name,m.sex,m.birthday 显示结果:王小刚男02/08/76 Gather Memvar Fields字段名,… 将内存变量组的当前值替换当前记录相应字段的值 例:m.name=“李芳” m.sex=“女” m.birthday =(03/15/77) .Gather Memvar Fields name,sex,age ?name,sex,age 结果:李芳女03/15/77 例:Append Blank Scatter Memvar m.name=“陈军” m.sex=“男” m.birthday ={10/23/80) m.married =.F. Gather Memvar 结果:数据库添加一条非空记录 ●从另一数据库添加记录(P58)(菜单操作:Database/Append From....)