VF6.0常用函数
foxpro6.0 函数
7.删除字符串尾部空格函数RTRIM( ) | TRIM( )
【格式】RTRIM | TRIM(<cExp>)
【功能】删除cExp串尾部空格字符。
8.空格函数SPACE( )
【格式】SPACE (<nExp>)
【功能】返回一个包含nExp个空格的字符串。
9.字符串替换函数STUFF( )
【格式】STUFF(<cExp1>,<nExp1>,<nExp2>,<cExp2>)
【功能】从nExp1指定位置开始,用cExp2串替换 cExp1串中nExp2个字符。
10.字符复制函数 REPLICATE( )
【格式】REPLICATE (<cExp>,<nExp>)
【功能】返回将cExp串重复nExp次的字符串。
【格式】COL ( )
ROW()
【功能】COL ( )返回光标的列坐标值,ROW ( )返回光标的行坐标值。
11.打印机列坐标和行坐标函数PCOL( ),PROW( )
【格式】PCOL( )
PROW()
【功能】返回打印机打印头所处位置的列坐标和行坐标。
【格式】ASIN(<nExp>)
【功能】返回nExp的反正弦值。自变量值必须在[-1,1]内,函数值为弧度,且值域为[-π/2, π/2]。
17.反余弦函数ACOS( )
【格式】ACOS(<nExp>)
【功能】返回nExp的反余弦值。自变量的值必须在[-1,1]内,函数值为弧度,值域为[-π/2, π/2]。
18.反正切函数ATAN( )
VFP常用函数总汇
VFP常用函数总汇VFP常用函数总汇VFP常用函数使用说明1、数值运算函数函数操作例结果SQRT(x) 求平方根 SQRT(9) 3INT(x) 取整数 INT(3.14) 3ROUND(x) 四舍五入 ROUND(3.14159,4) 3.1416MOD(x,y) 求X除以Y的余数 MOD(25,4) 1MAX(x,y) 求X,Y中的最大值 MAX(7,8) 8MIN(x,y) 求X,Y中的最小值 MIN(1,2,3) 12、字符中操作函数函数名操作例结果UPPER(S)小写字母 UPPER(abc) ABCLOWER(S)大写字母 LOWER(ACD) acdLEN(S)求字符串的长度 LEN("中国1号") 7AT(S1,S2)在字符串S2,找字符串S1 AT("H","CHINA") 2SUBSTR(S,I,N)在S字符串中的第I个字符起取N个字符SUBSTR('TECHNOLO',3,3) CHNLEFT(S,N)从字符串S左边取N个字符 LEFT(“中国人”,4)中国RIGHT(S,N)从字符串S右边取N个字符S=‘12345’RIGHT(S,3) 345SPACE(N)生成N个空格 "合计"+SPACE(2)+"123" 合计123 TRIM(S)消除字符串尾部空格 TRIM("姓名 ") 姓名ALLTRI(S)消除字符串中所有空格 ALLTRIM("李丽")李丽STUFF(S1,N1,N2,S2) 用字符串S2替换S1中第N1个字符起的N2个字符 STUFF("NOW",2,1,"E") NEW& 宏替换P=“G2”USE &P USE G23、日期和时间函数函数名操作例结果DATE()求当前日期 DATE() 2001/11/12DATETIME() 求当前日期和时间 DATETIME() 2001/11/12/0:22:33amYEAR(D)求年份 YEAR(DATE()) 2001MONTH(D)求月份(数值) MONTH(DATETIME()) 11CMONTH(D)求月份(字符)MONTH(DATETIME()) NovenberDAY(D)求日期 DAY(DATE()) 12DOW(D)求星期几(数值) DOW(DATE()) 1CDOW(D)求星期几(英文) CDOW(DATE()) sundayTIME(D)求当前时间 TIME(DATE()) 10:20:38am4、数据类型转换函数函数名操作例结果ASC(S)求第一个字符串的ASCII码 ASC("what") 87CHR(N)求ASCII码的字符 CHR(87) wSTR(R,L,D) 数值转换成字符,L为长度,D为小数位数 X=3.1415STR(X,6,2) 3.14VAL(S)字符串转换为数值 VAL("123") 123.00CTOD(S)字符串转日期 CTOD('11/01/2002') 11/01/2002DTOC(D)日期转换成字符串 DTOC(DATE()) 11/01/2002DTOS(D)把日期转成年月日式的字符串DTOS(DATE()) 20021101CTOT(C)字符串转成日期时间型CTOT(11/01/2002 10:30:50am) 11/01/2002 10:30:50amDTOT(D)日期型转为日期时间型DTOT(DATE()) 11/25/2001 00:00:01amTTOC(T)日期时间型转为字符型TTOC(DATETIME()) 11/25/2001 00:00:01amTTOD(T)日期时间型转为日期型TTOD(DATETIME()) 11/25/2001IIF(LE,E1,E2) 逻辑判断 IIF(A>0,"YES","NO") YES5、检测函数函数名操作例结果RECNO()检测当前记录号 RECNO() 1RECCOUNT()检测当前记录数 RECCOUNT() 12BOF()开始记录 BOF() 1EOF()最后记录 EOF() 12FOUND()返回查找结果 FOUND() .T.ROW()返回当前行坐标 ROW() 1COL()返回当前列坐标 COL() 1SYS(N)返回系统状态 SYS(13)联机状态。
VF第03章
常用命令
赋值 输出 显示 释放
字 段 变 量
3.1 常量、变量和数据类型 常量、
变量
内存变量 字段变量 数组变量
数组 变量
是一组有序内存变量的集合, 是一组有序内存变量的集合,或者说是 由同一个名字标记起来的由下标进行区 分的一组简单内存变量的集合。 分的一组简单内存变量的集合。 DIMENSION | DECLARE <数组名 下标 [,下标 数组名1>(下标 下标2]) 数组名 下标1 下标 [,<数组名 下标 [,下标 数组名2>(下标 下标2])] ,… 。 数组名 下标1 下标 把下标括起来。 用 “( )”或 “[ ]”把下标括起来。 或 把下标括起来 未经赋值的数组元素, 未经赋值的数组元素,系统将自动 赋以逻辑假值( )。 赋以逻辑假值(.F.)。
MAX(e1,e2[,e3,…]) MAX(e1,e2[,e3, ]) 返回各个数据中的最大值 MIN(e1,e2[,e3,…]) MIN(e1,e2[,e3, ]) 返回各个数据中的最小值 MOD(n1,n2) RAND(n) ROUND(n1,n2) SIGN(n) SQRT(n) 返回n1除以n2的余数,余数符号同n2的符号 返回n1除以n2的余数,余数符号同n2的符号 n1除以n2的余数 n2 返回一个0~1之间的随机数 返回一个0~1之间的随机数 0~1 返回n1的保留到n2位小数的四舍五入的结果 返回n1的保留到n2位小数的四舍五入的结果 n1的保留到n2 符号函数,根据n是正数、负数和0 符号函数,根据n是正数、负数和0,返回对 应的1 应的1、-1和0 返回n 返回n的平方根函数值
常量
字符型 数值型 逻辑型 日期型
表示真和假两个值,长度固定为 个 表示真和假两个值,长度固定为1个 字符, 表示。 字符,用.T.和.F.表示。 和 表示 长度固定为8个字符。包括年、 长度固定为 个字符。包括年、月、 个字符 每个部分以规定的分隔符隔开。 日,每个部分以规定的分隔符隔开。
VF6.0常用函数
VF6.0常用函数函数在程序中能进行数据运算或类型转换的作用,在程序中起到一定的作用。
下面我就一些常用的函数进行一下归类讲解。
(1)数值函数:运算结果为数值类型。
常见的有abs 绝对值函数sqrt 平方根函数int 取整函数,只取整数位舍去小数位ceiling 返回大于或等于指定数值表达式的最小整数floor 返回小于或等于指定数值表达式的最大整数round 四舍五入函数,返回指定数值表达式在指定位置四舍五入后的结果mod 返回两个数值表达式相除后的余数,余数的正负号与除数一致max 计算各表达式中的值,返回最大值min 计算各表达式中的值,返回最小值(2)字符函数:运算结果为字符类型。
常见的有len 返回指定字符表达式值的长度,以字节为单位,一个西文字符或空格占一个字符,一个中文字符占两个字符函数值为数值型lower,upper 分别将指定的字符表达式转换成大写和小写字母,其它字符不变space 返回由指定数目的空格组成的字符串trim,ltrim,alltrim返回指定字符表达式去掉尾部、首部、首尾部空格形成的字符串left,right 分别从指定表达式值的左端、右端取一个指定长度的子串作为函数值substr 从指定表达式值的指定位置取指定长度的子串作为函数at,atc 如果前字符串是后字符串的子串,测试前字符串首字符在后字符串中第几次出现的位置,函数值为数值型,atc在测试中不区分字母大小写stuff 从前字符串指定位置开始指定长度的字符用后字符串替换like 比较前后两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回值为逻辑真,否则为逻辑假,前字符串可包含通配符(3)日期和时间函数date 返回当前系统日期,函数值为日期型time 以24小时制、hh:mm:ss格式返回当前系统时间,函数值为字符型datetime 返回当前系统日期时间,函数值为日期时间型year,month,day 分别从指定的日期或日期时间表达式中返回年份、月份、天数hour,minute,sec分别从指定的日期时间表达式中返回小时、分钟、秒数部分(4)类型转换函数str 数值转换成字符串val 字符串转换成数值ctod 字符转换成日期dtoc 日期转换成字符& 替换出字符型变量的内容(5)测试函数:函数值为逻辑型between 判断一个表达式的值是否介于另外两个表达式的值之间isnull 判断一个表达式的值是否为空值empty 判断指定的表达式的运算结果是否是空值eofbof 测试指定的表文件中的记录指针是否处于尾标和首标recno 测试指定的表文件中的当前记录的记录号reccount 测试指定的表文件中的记录个数iif 测试逻辑表达式的值,若为逻辑真,函数返回前表达式的值,否则返回后表达式的值deleted 测试指定的表文件中的当前记录是否有删除标记第二种总结方式:数值函数:1.绝对值和符号函数格式:ABS(<数值表达式>)SIGN(<数值表达式>)例如:ABS(-5)=5,ABS(4)=4,SIGN(8)=1,SIGN(-3)=-1,SIGN(0)=02.求平方根表达式格式:SQRT(<数值表达式>)例如:SQRT(16)=4,它与开二分之一次方等同。
vfp常用函数
一.数值函数:1、绝对值函数 ABS(数值表达式)返回数值表达式的绝对值,返回数据类型:数值型;2、取整函数 INT(数值表达式)返回数值表达式的整数部分,返回数据类型:数值型;3、符号函数 SIGN(数值表达式)测试表达式的值,若为正数,返回1,若为负数,返回-1,若为0,返回0,返回数据类型:数值型;4、取最小整数函数CEILING(数值表达式)返回大于或等于表达式的值的最小整数,返回数据类型:数值型;5、取最大整数函数FLOOR(数值表达式)返回小于或等于表达式的值的最小整数,返回数据类型:数值型;6、四舍五入函数 ROUND(数值表达式,有效位数)对数值表达式按照有效位数进行四舍五入,返回数据类型:数值型;7、求余函数 MOD(数值表达式1,数值表达式2)返回表达式1除以表达式2的余数,同号直接求余,若异号,求余后加上表达式2的值,返回数据类型:数值型8、平方根函数 SQRT(数值表达式)返回数值表达式的平方根,返回数据类型:数值型9、自然对数函数LOG(数值表达式)返回数值表达式的自然对数,返回数据类型:数值型10、圆周率函数 PI( )返回圆周率的值,返回数据类型:数值型二、日期和时间函数1、日期函数 DATE()返回当前系统日期,返回默认格式“mm/dd/yy”,返回的数据类型:日期型;2、求年份函数 YEAR(日期表达式|日期时间表达式)返回指定日期的年份,返回的数据类型:数值;3、求月份函数 MONTH(日期表达式|日期时间表达式)返回指定日期的月份,返回的数据类型:数值;4、求日函数 DAY(日期表达式|日期时间表达式)返回指定日期的日的数值,返回的数据类型:数值;5、系统时间函数 TIME()返回当前系统时间,返回的默认格式“hh:mm:ss”,返回数据类型:字符型;6、系统日期时间函数 DATETIME()返回当前系统日期和时间,返回的数据类型日期时间型三、字符函数1、生成空格函数 SPACE(数值表达式)返回一个空格组成的字符串,空格的个数有数值表达式来决定 ,返回数据类型:字符型2、删除前导空格函数LTRIM(字符表达式)返回指定字符串删除前导空格后的字符串,返回数据类型:字符型。
VF6.0实践操作教程
5、日期时间型数据(Time,简写为T) 格式为:{^yyyy-mm-dd [,][hh[:mm[:ss]][a|p]]} 日期时间型默认宽度为8位。 6、货币型(Currency,简写为Y) 以符号$开头,小数位数不超过4位。宽度为8位。 7、备注型数据(Memo,简写为M) 默认宽度4位,其文本存放在扩展名为.fpt的备注文 件中。 8、通用型数据(General,简写为G) 默认宽度4位,其实际内容也存放在扩展名为.fpt的 备注文件中
VFP 6.0 基础
• VFP 6.0文件组成 1、项目文件 .PJT .PJX 2、数据库文件 .DBC .DCT 3、表文件 .DBF .FPT 4、程序文件 .PRG .FXP 5、索引文件.IDX .CDX 6、内存变量文件.MEM 7、格式文件.FMT 8、报表格式文件.FRX .FRT 9、标件.FMT签文件 .LBX .LBT 10、文本文件 .TXT 11、菜单文件 .MNT .MNX .MPR .MPX 12、表单文件 .SCX .SCT
(4)打开项目:“文件”菜单的“打开”命令。 4、“项目管理器”中的文件操作 操作步骤: (1)在“项目管理器”中选择操作对象的文件类型; (2)选择操作按钮。 5、“项目管理器”中的其他操作 (1)浏览表的数据;(2)“项目信息”的显示与 编辑 (3)给“项目”中的文件添加说明 (4)文件共享:用鼠标拖拽;(5)项目管理器的 定置。
2、字符表达式 由字符串常量、变量、函数和字符运算符组成的表达式。 结果为字符型。 字符串运算符 (1)、+ :将两个字符串直接相连成一个表达式,其结果为字符串。 (2)、- :将两个字符串相连,并把前一个字符串末尾的空格移到新串 的末尾,其结果为字符串。 (3)、$:包含运算符,即左边字符串是否为右边字符串的子串,其结 果为逻辑值 .T. 或 .F. 。 例:?“江西 ”+“赣州 ” &结果:江西 赣州 ?“江西 ”-“赣州 ” &结果:江西赣州 ?“AB”$“ABC” & 结果:.T. ?“AB”$“ACB” &结果:.F. 3、日期表达式(结果为日期型) 由日期运算符、日期型常量、变量和函数组成的表达式。 日期运算符两个符号:+ ,格式:日期值+整数(天数)—→日期值 日期值 - 整数(天数)—→日期值 日期值-日期值 —→ 整数(天数) 例:?{02 / 20 / 95}+10 &结果:03 / 02 / 95 ?{02 / 20 / 95}-9 &结果: 02 / 11 / 95
(3)[转载]VFP6.0常用函数
(3)[转载]VFP6.0常用函数VFP6.0常用函数函数是用程序来实现的一种数据运算或转换。
每一个函数都有特定的数据运算或转换功能,它往往需要若干个自变量,即运算对象,但只能有一个运算结果,称为函数值或返回值。
函数可以用函数名和一对圆括号加以调用,自变量放在圆括号里,如LEN(x)。
函数调用可以出现在表达式里,表达式将函数的返回值作为自己运算的对象。
函数调用也可作为一条命令使用,但此时系统忽略函数的返回值。
本章将常用函数分为数值函数、字符处理函数、日期类函数、数据类型转换函数、测试函数5类,通过举例分别介绍。
1.数值函数数值函数是指函数值为数值的一类函数,它们的自变量和返回值往往都是数值型数据。
1.绝对值函数格式:ABS(〈数值表达式〉)功能:返回指定的数值表达式的绝对值。
例如:ABS(10),ABS(-5)10 52.符号函数格式:SIGN(〈数值表达式〉)功能:返回指定数值表达式的符号。
当表达式的运算结果为正、负和零时,函数值分别为1、-1和0。
例如:SIGN(-10),SIGN(0),SIGN(5)-1 0 13.求平方根函数格式:SQRT(〈数值表达式〉)功能:返回指定表达式的平方根。
自变量表达式的值不能为负。
例如:SQRT(4)24.圆周率函数格式:PI()功能:返回圆周率π(数值型)。
该函数没有自变量。
5.求整数函数格式:INT(〈数值表达式〉)CEILING(〈数值表达式〉)FLOOR(〈数值表达式〉)功能:INT()返回指定数值表达式的整数部分。
CEILING()返回大于或等于指定数值表达式的最小整数。
FLOOR()返回小于或等于指定数值表达式的最大整数。
例如:X=5.8INT(X);INT(-X);CEILING(X);CEILING(-X);FLOOR(X);FLOOR(-X)5 -56 -5 5 -66.四舍五入函数格式:ROUND(〈数值表达式1〉,〈数值表达式2〉)功能:返回指定表达式在指定位置四舍五入后的结果。
VFP命令、函数及程序语句大全解读
VFP命令、函数及程序语句大全(1学过VFP(Microsoft Visual FoxPro的朋友都知道它是微软公司开发的数据库管理系统。
它经历了从dBASE、FoxBASE、FoxPro直到VFP的发展过程。
本文便以VFP 6.0为例介绍它的命令、函数及程序语句,为学习VFP的朋友提供必要的学习参考,也为已经精通VFP的朋友提供复习的好机会。
一、主要命令:1、CREATE作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。
说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出对话框,要求用户输入想要建立的表名。
在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。
2、MODIFY STRUCTURE作用:显示表文件结构,并允许修改此表的结构。
格式:MODIFY STRUCTURE说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND作用:在当前表的尾部(无论表中有无记录追加记录(在当前表指当前正使用的表。
格式:APPEND [BLANK]说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。
无BLANK 参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT作用:在表文件中间插入一个新记录。
格式:INSERT [BEFORE] [BLANK]说明:INSERT 在当前记录后插入一记录;INSERT BEFORE 在当前记录前插入一记录;INSERT BEFORE BLANK 在当前记录前插入一空记录。
INSERT - SQL命令追加记录INSERT INTO 表名[(字段1[,字段2…]];VALUES(表达式1[,表达式2…]例:INSERT INTO XS(XH,XM,XB,XIMINGVALUES(“950106”,“高山”,“男”,“”5、UPDATE作用:修改数据update <表名> set <字段1=表达式1>,<字段2=表达式2...> where <条件>例: update <表名> set <字段1,字段2...>=<表达式1,表达式2...> where <条件>6、BROWSE作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
附录VF常用函数和命令
(9)字符匹配函数
格式:INLIST(<字符表达式1>,<字符表达式2>,<字符表 达式3…>)
(6)四舍五入
格式:ROUND(<数值表达式>,<保留位数>)
功能:根据指定的保留位数,对保留位数后的小数进行四 舍五入的处理。如果<保留位数>小于0,则对整数部分进行四 舍五入。
(7)求最大值与最小值
格式:MAX(<数值表达式1>,<数值表达式2>,[<数值表达 式…>])
MIN(<数值表达式1>,<数值表达式2>,[<数值表达式…>])
常用命令
1.系统命令 (1)设置默认路径命令 格式:SET DEFA TO 盘符:\路径 功能:对VF系统中默认的路径进行设定。
(2)终止程序执行命令 格式:CANCEL、QUIT、RETURN 功能:终止程序。
(3)复制任何类型的文件 格式:COPY FILE 〈文件名1〉TO 〈文件 名2〉 (4)清除主屏幕命令
3.表命令
DBF() 返回指定工作区中打开的表名,或根据表别名返回表名 EOF() 确定记录指针位置是否超出当前表或指定表中的最后一个记录 FCOUNT() 返回衰中的字段数目 FIELD() 根据编号返回表中的字段名 BROWSE 浏览记录 LOOKUP( ) 在表中搜索字段值与指定表达式匹配的第一个记录 RECCOUNT() 返回当前或指定表中的记录数目 RECNO() 返回当前表或指定表中的当前记录号
VPF 6.0 常用函数
Int(<数值表达式>) Max(<数值表达式1>, <数值表达式2>,„) Min(<数值表达式1>, <数值表达式2>,„) Round(<数值表达式>,n) Rand()
功能简述
返回数据表达式的整数部分,不四舍五入 对给定的多个数值表达式的值进行比较,返回其中最大 值 对给定的多个数值表达式的值进行比较, 返回其中最小值 按指定位数n对数值表达式的值进行四舍五入 返回介于0~1之间的随机数
功能简述
以当前设定的日期格式返回系统的当前日期(日期型) 以HH:MM:SS格式返回系统的当前时间(字符型) 根据给定的日期返回其年份(数值型) 根据给定的日期返回其月份(数值型) 根据给定的日期返回是该月的第几天(数值型)
类型转换函数 函数名
Val(<字符串>)
功能简述
将数字字符串转换成数值,当遇到非数字字符时, 转换结束(转换后自带2位小数) 将数值表达式转换为长度为m,小数位数为n的字符串 Str(<数值表达式>,m[,n]) (固定宽度为10) Ctod(<字符串>) 将具有日期格式的字符串转换为日期型数据 Dtos(<日期表达式>) 将指定的日期表达式转换为“YYYYMMDD”格式的字符串 ( )→字符运算、日期运算、数值运算→关系运算→逻辑运算 取模用Mod
字符运算 函数名
Substr(<字符串>,M[,n]) Len(<字符串>) Alltrim(<字符串>) Space(<数值表达式>)
功能简述
从m位置开始,在字符串中截取长度为n的字符串 返回给定的字符串的长度 删除字符串前导和拖尾空格 产生指定数值表达式个空格
VFP常用编程命令及常用函数
VFP常用编程命令及常用函数VFP常用编程命令及常用函数常用编程命令及常用函数注:在语法中如用方括号“[]”括起来的词句,表示可以不用。
常用命令假设(if...endif) 循环(dowhile...enddo)分支(docase...endcase)赋值(store...to) 调用表单(do form) 调用子程序(do)返回调用程序(return) 启动事件处理(readevents)清除事件处理(clearevents)开关命令执行状态(set talkon/off)结束程序(cancel)常用函数数值转换字符(str()) 字符转换数值(val()) 取系统日期(date())取年份(year()) 取月份(month()) 取天日(day())取整(int()) 四舍五入(round()) 删除标记(delete())记录号(recno()) 记录数(reccount()) 找到记录(found())表结尾(eof()) 表开头(bof()) 消除后续空格(trim())消除前导空格(ltrim())假设语句根据一逻辑表达式的值,有条件的执行一组命令。
语法:IF 逻辑表达式 [THEN]程序组1[ELSE程序组2]ENDIF参数:逻辑表达式代表一逻辑值,如果这逻辑值为真,系统执行程序组1,否则不执行程序组1,如果有else及程序组2的话,则执行程序组2,如没有则什么也不执行,直接执行endif后面的语句。
备注:在if...endif之间还可以有if...endif,即该命令是可以嵌套的。
then可以有也可以没有,对程序没有影响。
else及程序组2可以有也可以没有,但如果有的话,在逻辑表达式的值为假时,程序组2将被执行。
if 与 endif 必须配对使用,即有一个 if 必须有一个 endif,否则程序会出错。
举例:例1:假如分数字段的值大于等于90,则让等级字段的值为“优”,并显示该记录。
Visual FoxPro 6.0 基础知识
§1 Visual FoxPro 6.0 基础知识
1.1.2 Visual FoxPro 6.0 常用数据类型
数据是数据库管理的主要对象,那么在VF6.0系统中, VF6.0系统中 数据是数据库管理的主要对象,那么在VF6.0系统中, 主要使用的数据类型有: 主要使用的数据类型有: 数值型( )、字符型 字符型( 李小伟)、 )、日期 数值型(12.3 -5)、字符型(男 李小伟)、日期 2009-11-11)、逻辑性( )、逻辑性 型(2009-11-11)、逻辑性(T或F)等。
§1 Visual FoxPro 6.0 基础知识
3、变量的赋值 可以有以下两种方法: 可以有以下两种方法: (1)内存变量名=表达式 内存变量名= 例如: 例如: X1=2 Y1=X1+2
(2)STORE命令给变量赋值 STORE命令给变量赋值 命令格式: <内存变量名表 内存变量名表> 命令格式:STORE 表达式 TO <内存变量名表> 例如: STORE 2*3 TO X1,X2,Y1,Y2 例如:
§1 Visual FoxPro 6.0 基础知识 (3)求整数函数 ) 格式: 数值表达式>)返回数值表达式的整数部分 格式:INT(<数值表达式 返回数值表达式的整数部分 数值表达式 CEILING(<数值表达式 返回大于或等于表达式 数值表达式>)返回大于或等于表达式 数值表达式 的最小整数 FLOOR(<数值表达式 返回小于或等于表达式 数值表达式>)返回小于或等于表达式 数值表达式 的最大整数 例如: 例如: INT(5.8) 结果为:5. INT(-7.8) 结果为:-7 结果为: 结果为: CEILING(6.4) 结果为:7 CEILING(-5.9) 结果为:-5 结果为: 结果为: FLOOR(9.9) 结果为:9 结果为:
VFP6.0_数据与数据运算
2、内存变量的基本操作(P31) 赋值:格式1:store 表达式 to 内存变量表 格式2:内存变量名 = 表达式 显示:显示所有内存变量:display/list memory [like 通配符] [to print] [to file (文件名)] 显示指定内存变量的值:?/?? 内存变量名清单 保存:存储内存变量的文件称为内存文件,扩展名为.mem save to 内存文件名 [all like/all except <通配符>] 恢复:restore from 内存文件名 [additive] 清除:清除所有内存变量:clear memory 清除部分内存变量:release 内存变量名清单 release [all like/all except <通 配符>] 例题:3.1-3.5
字符型(Character):由汉字、字母、数字、空格、符号等任意 ASCII码字符组成,字符型数据的长度为1-254,每个字符占1个字节, 每个汉字占2个字节。 货币型(Currency):用于储存货币值的数据。货币型数据最多只 能保留到小数点后4位,超过,则会四舍五入,不足四位,则自动在后 面补0。表示范围:-922337203685477.5808 ~ 922337203685477.5809。 数值型(Numeric):用于存储一个数量,由正负号、小数点、数字 组成。Visual FoxPro 6.0对数值型支持十进制和十六进制两种方式, 在表中占1~20个宽度。取值范围为-0.9999999999E+19-0.9999999999E+20
3.3 常用函数
3、日期和时间函数 求系统日期:date( ) 求系统时间:time( ) 求系统日期时间:datetime( ) 求年:year(日期型数据) 求月:month(日期型数据) 求日:day(日期型数据) 求时:hour(日期时间型数据) 求分:minute(日期时间型数据) 求秒:stc(日期时间型数据) 例:函数的运用 计算现在2008年奥运会开幕式还有多少天,合多少年,多 少周?
vf6.0常用函数
一、函数的定义:函数是一种自带程序的模块,我们只需调用即可,一般用于辅助计算。
其格式:函数名(<参数>)。
运算时不能直接写在命令窗口,必须以“?”开始。
二、函数类型:根据类型不同可为五种:数值函数、字符函数、日期函数、类型转换函数、测试函数。
1、数值函数:⑴取整函数int()?int(12.5689) 运算结果为:12?int(-100.23) 运算结果为:-100⑵求绝对值函数abs()?abs(-125) 运算结果为:125?abs(200) 运算结果为:200⑶圆周率函数pi()?pi() 运算结果为:3.14⑷求平方根函数sqrt()?sqrt(100) 运算结果为:10⑸四舍五入函数round()?round(123.567,2) 运算结果为:123.57(保留两位小数)?round(123.567,-1) 运算结果为:120(表示在小数点左边截取1位)?round(123.567,-3) 运算结果为:0?round(532.567,-3) 运算结果为:1000⑹对数函数log()?log(100) 运算结果为:4.61⑺常用对数函数log10()?log10(100) 运算结果为:2.00⑻指数函数exp()?exp(120) 运算结果为:1.304180E+52⑼最大值函数max()?max(1,2,3,10) 运算结果为:10⑽最小值函数min()?min(2,10,3,-1) 运算结果为:-1⑾符号函数sign()?sign(100) 运算结果为:1 (表示正数)?sign(-200) 运算结果为:-1(表示负数)?sign(0) 运算结果为:0 (表示0)2、字符函数⑴求字符串长度函数len()?len(”abcd”) 运算结果为:4?len(”计算机AB”) 运算结果为:8(一个汉字占两个字节)⑵删除左空格函数ltrim()?ltrim(” abcd ”) 运算结果为:abcd (左无空格,右有两个空格)⑶删除右空格函数ltrim()或trim()?ltrim(” abcd ”) 运算结果为:abcd (左有两个空格,右无空格)⑷左右都删除空格函数alltrim()?ltrim(” abcd ”) 运算结果为:abcd (左右都无空格)⑸生成空格函数space()?’ab’+space(4)+’cd’ 运算结果为:ab cd(中间有四个空格)⑹生成重复字符函数replicate()?replicate(”*”,10) 运算结果为:**********⑺截取子串函数substr()?substr(”abcdefg”,2,3) 运算结果为:bcd(“2”截取的位置,”3”截取的总字节数)⑻截取左子串函数left()?left(”abcdefg”,4) 运算结果为:abcd(“4”表示截取的总字节数。
vf6.0常用函数
一、函数的定义:函数是一种自带程序的模块,我们只需调用即可,一般用于辅助计算。
其格式:函数名(<参数>)。
运算时不能直接写在命令窗口,必须以“?”开始。
二、函数类型:根据类型不同可为五种:数值函数、字符函数、日期函数、类型转换函数、测试函数。
1、数值函数:⑴取整函数int()?int(12.5689) 运算结果为:12?int(-100.23) 运算结果为:-100⑵求绝对值函数abs()?abs(-125) 运算结果为:125?abs(200) 运算结果为:200⑶圆周率函数pi()?pi() 运算结果为:3.14⑷求平方根函数sqrt()?sqrt(100) 运算结果为:10⑸四舍五入函数round()?round(123.567,2) 运算结果为:123.57(保留两位小数)?round(123.567,-1) 运算结果为:120(表示在小数点左边截取1位)?round(123.567,-3) 运算结果为:0?round(532.567,-3) 运算结果为:1000⑹对数函数log()?log(100) 运算结果为:4.61⑺常用对数函数log10()?log10(100) 运算结果为:2.00⑻指数函数exp()?exp(120) 运算结果为:1.304180E+52⑼最大值函数max()?max(1,2,3,10) 运算结果为:10⑽最小值函数min()?min(2,10,3,-1) 运算结果为:-1⑾符号函数sign()?sign(100) 运算结果为:1 (表示正数)?sign(-200) 运算结果为:-1(表示负数)?sign(0) 运算结果为:0 (表示0)2、字符函数⑴求字符串长度函数len()?len(”abcd”) 运算结果为:4?len(”计算机AB”) 运算结果为:8(一个汉字占两个字节)⑵删除左空格函数ltrim()?ltrim(” abcd ”) 运算结果为:abcd (左无空格,右有两个空格)⑶删除右空格函数ltrim()或trim()?ltrim(” abcd ”) 运算结果为:abcd (左有两个空格,右无空格)⑷左右都删除空格函数alltrim()?ltrim(” abcd ”) 运算结果为:abcd (左右都无空格)⑸生成空格函数space()?’ab’+space(4)+’cd’ 运算结果为:ab cd(中间有四个空格)⑹生成重复字符函数replicate()?replicate(”*”,10) 运算结果为:**********⑺截取子串函数substr()?substr(”abcdefg”,2,3) 运算结果为:bcd(“2”截取的位置,”3”截取的总字节数)⑻截取左子串函数left()?left(”abcdefg”,4) 运算结果为:abcd(“4”表示截取的总字节数。
VF6.0中最重要的函数
函数:一、数值和数学函数1、一般数值函数(1)取整函数格式:INT(<数值表达式>)功能:该函数返回<数值表达式>的整数部分(2)向上取整函数格式:CEILING(<数值表达式>)功能:该函数返回不小于<数值表达式>的最小整数(3)向下取整函数格式:FLOOR(<数值表达式>)功能:该函数返回不大于<数值表达式>的最大整数(4)四舍五入函数格式:ROUND(<数值表达式1>,<数值表达式2>)功能:该函数根据要求保留小数位。
具体操作是:根据<数值表达式2>指定的位数,对<数值表达式1>进行四舍五入操作,最后保留相应的小数位数。
若<数值表达式2>指定的位数为负数,则表示整数部分舍至第几位,得到的值将尾随<数值表达式2>个零。
(5)取模函数格式:MOD(<数值表达式1>,<数值表达式2>)功能:该函数返回<数值表达式1>除以<数值表达式2>的余数,如<数值表达式2>为正,则函数值为正,否则为负。
表达式自动取整再进行取模运算。
(6)最大/最小值函数格式:MAX/MIN(<表达式1>,<表达式2>[<表达式3>...])功能:该函数返回若干个表达式中的最大或最小数。
(7)绝对值函数格式:ABS(<数值表达式>)功能:该函数返回<数值表达式>的绝对值(8)平方根函数格式:SQRT(<数值表达式>)功能:该函数返回<数值表达式>的算术平方根(9)指数函数格式:EXP(<数值表达式>)功能:该函数返回以E为底的指数值,<数值表达式>为e的指数部分。
(10)符号函数格式:SIGN(<数值表达式>)功能:该函数根据<数值表达式>的值为正、零、负数分别返回1、0、-1。
第三章VFP6的语言元素和系统函数
2.取整数函数 有3个
格式: 功能: INT(<expN>) 返回<expN>值的整数部分; CEILING(<expN>) 返回大于或等于<expN> 值的最小整数; FLOOR(<expN>) 返回小于或等于<expN> 值的最大整数。
3.内存变量的创建与简单输出
· 可以用 =、STORE 、INPUT、 WAIT、ACCEPT 等命令创建内存变量并给内存变量赋值。所赋 的值的类型决定内存变量的类型。 · 可以用 ?、??、@…SAY 等命令对变量中 的值进行输出。 1)STORE命令 格式: STORE <表达式> TO <内存变量表>
二、表达式
表达式是把同类型的各种数据如常量、字段变 量、内存变量(包括内存变量数组)和函数用运 算符连接起来的有意义的式子。 表达式的类型是指该表达式运算结果值的类型。 在同一个表达式中,参与运算的各个数据成员 的类型必须相同,类型不相同的数据若要做运 算必须先转换为相同类型才能运算。
表达式运算的先后次序
一个表中的所有字段及其属性组成表的结构, 在建立表之前,应先设计字段属性。字段的基 本属性包括字段名、字段类型、字段宽度、小 数位数以及是否允许为NULL。 所谓NULL值就是没有明确的值,不等于零或空 格。NULL值不能比较大小。
2.建立表结构
使用“表设计器”建立“成绩”表结构的表过 程: (1)打开“表设计器” CREATE D:\教学管理\成绩 (2)定义字段 (3)完成表结构设计 (4)在表中输入数据 (5) 保存(按“CTRL+W”保存并退出编辑 )
vf常用函数总结
常用函数1、数值函数Abs (数值表达式) 返回表达式的绝对值Sign(数值表达式) 返回表达式的符号:表达式为正数(1)为负数(-1)为零(0)Sqrt(数值表达式) 返回表达式的平方根。
(即开方)Pi() 返回圆周率即3.14Int(数值表达式) 返回表达式的整数部分Ceiling(数值表达式) 返回大于等于表达式的最小整数Floor(数值表达式) 返回小于等于表达式的最大整数Round(数值表达式,四舍五入的位置) 返回表达式四舍五入后的值Mod(被除数,除数) 返回两个数相除后的余数Max(数值表达式1,数值表达式2……)返回其中的最大值Min(数值表达式1,数值表达式2……)返回其中的最小值2、字符函数Len(字符表达式) 返回表达式值的长度(即表达式所包含的个数)Lower(字符表达式) 将表达式中的大写字母变为小写字母upper(字符表达式) 将表达式中的小写字母变为大写字母space(字符表达式) 返回指定的空格trim(字符表达式) 去掉表达式值的尾部空格ltrim(字符表达式) 去掉表达式值的前部空格alltrim(字符表达式) 将表达式值的前后空格都去掉left(字符表达式,长度) 从表达式的左边取指定的长度right(字符表达式,长度) 从表达式的右边取指定的长度substr(字符表达式,起始位置,长度) 从表达式的起始位置取指定的长度,若无长度则从起始位置一直取到最后occurs(字符表达式1,字符表达式2) 返回表达式1在表达式2中出现的次数at(字符表达式1,字符表达式2,表达式1在2中第几次出现) 返回表达式1的首字符在2中出现的位置。
区分大小写atc(字符表示1,字符表达式2,表达式1在2中第几次出现) 同at( ),但不区分大小写stuff(字符表达式1,起始位置,长度,字符表达式2)用表达式2的值替换表达式1中由起始位置和长度指明的内容chrtran(字符表达式1,字符表达式2,字符表达式3) 当表达式1中的一个或多个相同字符与表达式2中的某个字符一样时,就用表达式3中的对应字符替换这些字符like(字符表达式1,字符表达式2)比较2个表达式对应位置上的字符,若都匹配函数值为.T.,否则为.F.(表达式1中可以包含通配符*和?)3、日期和时间函数Date() 当前系统日期,函数值为日期型Time()当前系统时间,函数值为字符型Datetime() 当前系统日期时间,函数值为日期时间型Year(日期表达式)返回表达式中日期的年份Month(日期表达式)返回表达式中日期的月份Day(日期表达式)返回表达式中日期的天数Hour(日期时间表达式) 返回日期时间表达式中的小时部分minute(日期时间表达式) 返回日期时间表达式中的分钟部分sec(日期时间表达式) 返回日期时间表达式中的秒数部分4、数据类型转换函数Str(数值表达式,长度,小数位数) 将数值转换成字符串Val(字符表达式) 将字符串转换成数值Ctod(字符表达式) 将字符串转换成日期Ctot(字符表达式) 将字符串转换成日期时间Dtoc(字符表达式,1) 将日期转换成字符串。
vf6语句及函数大全
Vf6 命令大全? 在下一行显示表达式串?? 在当前行显示表达式串\ 在下一行文字直接输出命令\\ 在当前行文字直接输出命令&& 标明程序文件中非执行的内部注释的开始* 标明程序文件中非执行的注释行的开始@... 将数据按用户设定的格式显示在屏幕上或在打印机上打印ACCEPT 把一个字符串赋给内存变量APPEND 给数据库文件追加记录APPEND FROM 从其它库文件将记录添加到数据库文件中AVERAGE 计算数值表达式的算术平均值BROWSE 全屏幕显示和编辑数据库记录CALL 运行内存中的二进制文件CANCEL 终止程序执行,返回圆点提示符CASE 在多重选择语句中,指定一个条件CHANGE 对数据库中的指定字段和记录进行编辑CLEAR 清洁屏幕,将光标移动到屏幕左上角CLEAR ALL 关闭所有打开的文件,释放所有内存变量,选择1号工作区CLEAR FIELDS 清除用SET FIELDS TO命令建立的字段名表CLEAR GETS 从全屏幕READ中释放任何当前GET语句的变量CLEAR MEMORY 清除当前所有内存变量CLEAR PROGRAM 清除程序缓冲区CLEAR TYPEAHEAD 清除键盘缓冲区CLOSE 关闭指定类型文件CONTINUE 把记录指针指到下一个满足LOCATE命令给定条件的记录,在LOCATE命令后出现。
无LOCATE 则出错COPY TO 将使用的数据库文件复制另一个库文件或文本文件COPY FILE 复制任何类型的文件COPY STRUCTURE EXTENED TO 当前库文件的结构作为记录,建立一个新的库文件COPY STRUCTURE TO 将正在使用的库文件的结构复制到目的库文件中COUNT 计算给定范围内指定记录的个数CREATE 定义一个新数据库文件结构并将其登记到目录中CREATE FROM 根据库结构文件建立一个新的库文件CREATE LABEL 建立并编辑一个标签格式文件CREATE REPORT 建立宾编辑一个报表格式文件DELETE 给指定的记录加上删除标记DELETE FILE 删除一个未打开的文件DIMENSION 定义内存变量数组DIR 或 DIRECTORY 列出指定磁盘上的文件目录DISPLAY 显示一个打开的库文件的记录和字段DISPLAY FILES 查阅磁盘上的文件DISPLAY HISTORY 查阅执行过的命令DISPLAY MEMORY 分页显示当前的内存变量DISPLAY STATUS 显示系统状态和系统参数DISPLAY STRUCTURE 显示当前书库文件的结构DO 执行FoxBase程序DO CASE 程序中多重判断开始的标志DO WHILE 程序中一个循环开始的标志EDIT 编辑数据库字段的内容EJECT 使打印机换页的命令,将PROW()函数和PCOL()函数值置为0ELSE 在结构中提供另一个条件选择路线ENDCASE 终止多重判断ENDDO 程序中一个循环体结束的标志ENDIF 判断体结构结束标志ERASE 从目录中删除指定文件EXIT 在循环体内执行退出循环的命令FIND 将记录指针移动到第一个含有与给定字符串一致的索引关键字的记录上FLUSH 清除所有的磁盘存取缓冲区GATHER FROM 将数组元素的值赋予数据库的当前记录中GO/GOTO 将记录指针移动到指定的记录号HELP 激活帮助菜单,解释FoxBASE+的命令IF 在结构中指定判断条件INDEX 根据指定的关键词生成索引文件INPUT 接受键盘键入的一个表达式并赋予指定的内存变量INSERT 在指定的位置插入一个记录JOIN 从两个数据库文件中把指定的记录和字段组合成另一个库文件KEYBOARD 将字符串填入键盘缓冲区LABEL FROM 用指定的标签格式文件打印标签LIST 列出数据库文件的记录和字段LIST FILES 列出磁盘当前目录下的文件LIST HISTORY 列出执行过的命令LIST MEMORY 列出当前内存变量及其值LIST STATUS 列出当前系统状态和系统参数LIST STRUCTURE 列出当前使用的数据库的库结构LOAD 将汇编语言程序从磁盘上调入内存LOCATE 将记录指针移动到对给定条件为真的记录上LOOP 跳过循环体内LOOP与ENDDO之间的所有语句,返回到循环体首行MENU TO 激活一组@命令定义的菜单MODIFY COMMAND 进入FoxBASE+系统的字处理状态,并编辑一个ASCII码文本文件(如果指定文件名以.PRG为后缀,则编辑一个FoxBASE+命令文件)MODIFY FILE 编辑一个一般的ASCII码文本文件MODIFY LABEL 建立并编辑一个标签(.LBL)文件MODIFY REPORT 建立并编辑一个报表格式文件(.FRM)文件MODIFY STRUCTURE 修改当前使用的库文件结构NOTE/* 在命令文件(程序)中插入以行注释(本行不被执行)ON 根据指定条件转移程序执行OTHERWISE 在多重判断(DO CASE)中指定除给定条件外的其它情况PACK 彻底删除加有删除标记的记录PARAMETERS 指定子过程接受主过程传递来的参数所存放的内存变量PRIVATE 定义内存变量的属性为局部性质PROCEDURE 一个子过程开始的标志PUBLIC 定义内存变量为全局性质QUIT 关闭所有文件并退出FoxBASE+READ 激活GET语句,并正是接受在GET语句中输入的数据RECALL 恢复用DELETE加上删除标记的记录REINDEX 重新建立正在使用的原有索引文件RELEASE 清楚当前内存变量和汇编语言子程序RENAME 修改文件名REPLACE 用指定的数据替换数据库字段中原有的内容REPORT FORM 显示数据报表RESTORE FROM 从内存变量文件(.MEM)中恢复内存变量RESTORE SCREEN 装载原来存储过的屏幕映象RESUME 使暂停的程序从暂停的断点继续执行RETRY 从当前执行的子程序返回调用程序,并从原调用行重新执行RETURN 结束子程序,返回调用程序RUN/!在FoxBASE+中执行一个操作系统程序SAVE TO 把当前内存变量及其值存入指定的磁盘文件(.MEM)SAVE SCREEN 将当前屏幕显示内容存储在指定的内存变量中SCATTER 将当前数据库文件中的数据移到指定的数组中SEEK 将记录指针移到第一个含有与指定表达式相符的索引关键字的记录SELECT 选择一个工作区SET 设置FoxBASE+控制参数SET ALTERNATE ON/OFF 设置传送/不传送输出到一个文件中SET ALTERNATE TO 建立一个存放输出的文件SET BELL ON/OFF 设置输入数据时响铃/不响铃SET CARRY ON/OFF 设置最后一个记录复制/不复制到添加的记录中SET CENTURY ON/OFF 设置日期型变量要/不要世纪前缀SET CLEAR ON/OFF 设置屏幕信息能/不能被清除SET COLOR ON/OFF 设置彩色/单色显示SET COLOR TO 设置屏幕显示色彩SET CONFIRM ON/OFF 设置在全屏幕编辑方式中,要求/不要求自动跳到下一个字段SET CONSOLE ON/OFF 设置将输出传送/不传送到屏幕SET DATE 设置日期表达式的格式SET DEBUG ON/OFF 设置传送/不传送ECHO的输出到打印机上SET DECIMALS TO 设置计算结果需要显示的小数位数SET DEFAULT TO 设置默认的驱动器SET DELETED ON/OFF 设置隐藏/显示有删除标记的记录SET DELIMITER TO 为全屏幕显示字段和变量设置定界符SET DELIMITER ON/OFF 选择可选的定界符SET DEVICE TO SCREEN/PRINT 将@命令的结果传送到屏幕/打印机SET DOHISTORY ON/OFF 设置存/不存命令文件中的命令到历史记录中SET ECHO ON/OFF 命令行回送到屏幕或打印机SET ESCAPE ON/OFF 允许ESCAPE退出/继续命令文件的执行SET EXACT ON/OFF 在字符串的比较中,要求/不要求准确一致SET EXACLUSIVE ON/OFF 设置数据库文件的共享SET FIELDS ON/OFF 设置当前打开的数据库中部分/全部字段为可用SET FIELDS TO 指定打开的数据库中可被访问的字段SET FILTER TO 在操作中将数据库中所有不满足给定条件的记录排除SET FIXED ON/OFF 固定/不固定显示的小数位数SET FORMAT TO 打开指定的格式文件SET FUNCTION 设置F1-F9功能键值SET HEADING ON/OFF 设置LIST或DISPLAY时,显示/不显示字段名SET HELP ON/OFF 确定在出现错误时,是否给用户提示SET HISTORY ON/OFF 决定是/否把命令存储起来以便重新调用SET HISTORY TO 决定显示历史命令的数目SET INDEX TO 打开指定的索引文件SET INTENSITY ON/OFF 对全屏幕操作实行/不实行反转显示SET MARGIN TO 设置打印机左页边SET MEMOWIDTH TO 定义备注型字段输出宽度和REPORT命令隐含宽度SET MENU ON/OFF 确定在全屏幕操作中是否显示菜单SET MESSAGE TO 定义菜单中屏幕底行显示的字符串SET ODOMETER TO 改变TALK命令响应间隔时间SET ORDER TO 指定索引文件列表中的索引文件SET PATH TO 为文件检索指定路径SET PRINT ON/OFF 传送/不传送输出数据到打印机SET PRINTER TO 把打印的数据输送到另一种设备或一个文件中SET PROCEDURE TO 打开指定的过程文件SET RELATION TO 根据一个关键字表达式连接两个数据库文件SET SAFETY ON/OFF 设置保护,在重写文件时提示用户确认SET SCOREBORAD ON/OFF 设置是/否在屏幕的第0行上显示FoxBASE+的状态信息SET STATUS ON/OFF 控制是/否显示状态行SET STEP ON/OFF 每当执行完一条命令后,暂停/不暂停程序的执行SET TALK ON/OFF 是否将命令执行的结果传送到屏幕上SET TYPEAHEAD TO 设置键盘缓冲区的大小SET UNIQUE ON/OFF 在索引文件中出现相同关键字的第一个/所有记录SKIP 以当前记录指针为准,前后移动指针SORT TO 根据数据库文件的一个字段或多个字段产生一个排序的哭文件STORE 赋值语句SUM 计算并显示数据库记录的一个表达式在某范围内的和SUSPEND 暂停(挂起)程序的执行在屏幕上当前光标位置显示...的文本数据块TOTAL TO 对预先已排序的文件产生一个具有总计的摘要文件TYPE 显示ASCII码文件的内容UNLOCK 解除当前库文件对记录和文件的加锁操作UPDATE 允许对一个数据库进行成批修改USE 带文件名的USE命令打开这个数据库文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数在程序中能进行数据运算或类型转换的作用,在程序中起到一定的作用。
下面我就一些常用的函数进行一下归类讲解。
(1)数值函数:运算结果为数值类型。
常见的有abs 绝对值函数sqrt 平方根函数int 取整函数,只取整数位舍去小数位ceiling 返回大于或等于指定数值表达式的最小整数floor 返回小于或等于指定数值表达式的最大整数round 四舍五入函数,返回指定数值表达式在指定位置四舍五入后的结果mod 返回两个数值表达式相除后的余数,余数的正负号与除数一致max 计算各表达式中的值,返回最大值min 计算各表达式中的值,返回最小值(2)字符函数:运算结果为字符类型。
常见的有len 返回指定字符表达式值的长度,以字节为单位,一个西文字符或空格占一个字符,一个中文字符占两个字符函数值为数值型lower,upper 分别将指定的字符表达式转换成大写和小写字母,其它字符不变space 返回由指定数目的空格组成的字符串trim,ltrim,alltrim返回指定字符表达式去掉尾部、首部、首尾部空格形成的字符串left,right 分别从指定表达式值的左端、右端取一个指定长度的子串作为函数值substr 从指定表达式值的指定位置取指定长度的子串作为函数 at,atc 如果前字符串是后字符串的子串,测试前字符串首字符在后字符串中第几次出现的位置,函数值为数值型,atc在测试中不区分字母大小写stuff 从前字符串指定位置开始指定长度的字符用后字符串替换like 比较前后两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回值为逻辑真,否则为逻辑假,前字符串可包含通配符(3)日期和时间函数date 返回当前系统日期,函数值为日期型time 以24小时制、hh:mm:ss格式返回当前系统时间,函数值为字符型datetime 返回当前系统日期时间,函数值为日期时间型year,month,day 分别从指定的日期或日期时间表达式中返回年份、月份、天数hour,minute,sec分别从指定的日期时间表达式中返回小时、分钟、秒数部分(4)类型转换函数str 数值转换成字符串val 字符串转换成数值ctod 字符转换成日期dtoc 日期转换成字符& 替换出字符型变量的内容(5)测试函数:函数值为逻辑型between 判断一个表达式的值是否介于另外两个表达式的值之间isnull 判断一个表达式的值是否为空值empty 判断指定的表达式的运算结果是否是空值eofbof 测试指定的表文件中的记录指针是否处于尾标和首标recno 测试指定的表文件中的当前记录的记录号reccount 测试指定的表文件中的记录个数iif 测试逻辑表达式的值,若为逻辑真,函数返回前表达式的值,否则返回后表达式的值deleted 测试指定的表文件中的当前记录是否有删除标记第二种总结方式:数值函数:1.绝对值和符号函数格式:ABS(<数值表达式>)SIGN(<数值表达式>)例如:ABS(-5)=5,ABS(4)=4,SIGN(8)=1,SIGN(-3)=-1,SIGN(0)=02.求平方根表达式格式:SQRT(<数值表达式>)例如:SQRT(16)=4,它与开二分之一次方等同。
3.圆周率函数格式:PI()4.求整数函数格式:INT(<数值表达式>)返回数值表达式的整数部分CEILING(<数值表达式>)返回大于或等于表达式的最小整数FLOOR(<数值表达式>)返回小于或等于表达式的最大整数例如:INT(5.8)=5.8,INT(-7.8)=-7,CEILING(6.4)=7,CEILING(-5.9)=-5FLOOR(9.9)=95.四舍五入函数格式:ROUND(<数值表达式1>,<数值表达式2>)功能:返回制定表达式在制定位置四舍五入的结果例如:ROUND(345.345,2)=345.35,ROUND(345.345,1)=345.3,ROUND(345.345,0)=345,R OUND(345.345,-1)=3506.求余函数格式:MOD(<数值表达式1>,<数值表达式2>)例如:MOD(10,3)=1 MOD(10,-3)=-2 MOD(-10,3)=2 MOD(-10,-3)=-1求余数的规律:1.首先按照两数的绝对值求余2.表达式1的绝对值大于表达式2的绝对值,则余数为表达式1的值3.余数取表达式1的正负号4.若两数异好号,余数在加上表达式2的值为最终的结果7. 求最大值和最小值函数MAX(数值表达式列表)MIN (数值表达式列表)例如:MAX(2,3,5)=5 MAX(‘2’,’12’,’05’)=2 MAX(‘汽车’,’飞机’,’轮船’)字符串比较的规律:字符串比较首先比较第一个字母,如果有结果那就不用在进行比较了。
如果相等在进行第二个字母的比较,以次类推。
字符函数1.求字符串长度函数格式:LEN(<字符表达式>)功能:返回制定字符表达式的长度,即所包含的字符个数。
函数值为数值型例如:X=“中文Visual FoxPro6.0”则LEN(X)=202.大小写转换函数格式:LOWER(<字符表达式>)UPPER(<字符表达式>)功能:LOWER将制定表达式值中的大写字母转换成小写字母,其他字符不变UPPER将指定表达式值中的小写字母转换成大写字母,其他字符不变。
例如:LOWER(‘X1y2A’)=x1y2a UPPER(‘n=1’)=N=13.空格字符串生成函数格式:SPACE(<字符表达式>)功能:返回指定数目的空格组成的字符串。
4.删除前后空格函数格式:TRIM(<字符表达式>)LTRIM(<字符表达式>)ALLTRIM(<字符表达式>)功能:TRIM():返回指定字符表达式值去掉尾部空格后形成的字符串LTRIM():返回指定字符表达式值去掉前导空格后形成的字符串ALLTRIM():返回指定字符表达式值去掉前导空格和尾部空格后形成的字符串。
例如:STORE SPACE(1) ”TEST” SPACE(3) TO SS?TRIM(SS) LTRIM(SS) ALLTRIM(SS)LEN(SS)=8,LEN(TRIM(SS))=5,LEN(LTRIM(SS))=7,LEN(ALLTRIM(S S))=45.取子串函数格式:LEFT(<字符表达式>,<长度>)RIGHT(<字符表达式>,<长度>)SUBSTR(<字符表达式>,<起始位置>,<长度>)功能:LEFT(): 从指定表达式值的左端取一个指定长度的子串作为函数值。
RIGHT():从指定表达式值的右端取一个指定长度的子串作为函数值。
SUBSTR():从指定表达式值的起始位置取指定长度的子串作为函数值。
例如:STORE “GOOD BYE!” TO XLEFT(X,2)=GO,SUBSTR(X,6,2) SUBSTR(X,6)=BYBYE!,RIGHT(X,3)=YE!6.计算子串出现次数函数格式:OCCURS(<字符表达式1>,<字符表达式2>)功能:返回第一个字符串在第二个字符串中出现的次数。
例如:STORE ‘abracadabra’ TO SOCCURS(‘a’,S)=5, OCCURS(‘b’,S)=2, OCCURS(‘c’,S)=1, OCCURS(‘e’, S)=07.求子串位置函数格式:AT(<字符表达式1>,<字符表达式2>,<数值表达式>)ATC(<字符表达式1>,<字符表达式2>,<数值表达式>)功能:验证表达式1是否是表达式2的子串,如果是,返回表达式1的首字符在表达式2中的位置,若不是,则为0ATC()与AT()的功能类似,但比较时不区分大小写例如: STORE”This is Visual FoxPro” TO XAT(“fox”,X)=0,ATC(“fox”,X)=16,AT(“is”,X,3)=10,AT(“xo”,X) 8.子串替换函数格式:STUFF( <字符表达式1>,<起始位置>,<长度>,<字符表达式2>)功能:用<字符表达式2>的值替换<字符表达式1>中由<起始位置>和<长度>指明的一个子串。
例如:STORE ‘GOOD BYE!’ TO S1STORE ‘MORNING’ TO S2?STUFF(S1,6,3,S2)=GOOD MORNING!?STUFF(S1,1,4,S2)=MORNING BYE!9.字符替换函数格式:CHRTRAN(<字符表达式1>,<字符表达式2>,<字符表达式3>)功能:当第一个字符中的一个或多个字符与第二个字符串中的某个字符相匹配时,就用第三个字符中的对应字符(相同位置)替换这些字符。
如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因而没有对应字符,那么第一个字符串中相匹配的各字符将会被铲除。
如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数,多于字符被删掉。
例如:CHRTRAN(“ABACAD”,”ACD”,”X12”)=XBX1X2CHRTRAN(“计算机ABC”,”计算机”,”电脑”)=电脑ABCCHRTRAN(“大家好!”,”大家”,”您”)=您好!总结:第二个表达式没有的照写,第三个表达式没有的去掉。
10.字符串匹配函数格式:LIKE(<字符表达式1>,<字符表达式2>)功能:比较两个字符串对应位置上的字符,若所有对应字符相匹配,函数返回逻辑真(.T.)否则返回逻辑假(.F.)<字符表达式1>中可以包含通配符*和?。
*可与任何数目的字符相匹配,?可以与任何单个字符相匹配。
例如:STORE “abc” to xSTORE “abcd” to yLIKE(“ab*”,x)=.T. LIKE(“ab*”,y)=.T. LIKE (x,y)=.F. LIKE(“?b?”,x)=.T. LIKE(“ABc”,x)=.F. 日期和时间函数1.系统日期和时间函数:格式:DATE():返回当前系统日期,函数值为日期型TIME():以24小时制、HH:MM:SS格式返回当前系统时间(字符型)DATETIME():返回当前系统日期时间,函数值为日期时间型2.求年份、月份、天数函数格式:YEAR(<日期表达式>|<日期时间表达式>)MONTH(<日期表达式>|<日期时间表达式>)DAY(<日期表达式>|<日期时间表达式>)3.时、分和秒函数格式:HOUR(<日期时间表达式>)MINUTE(<日期时间表达式>)SEC(<日期时间表达式>)数据类型转换函数1.数值转换成字符串格式:STR(<数值表达式>,<长度>,<小数位数>)例如:STORE –123.456 TO NSTR(N,9,2)=-123.46,STR(N,6,2)=-123.5STR(N,3)=***,STR(N,6)=-123,STR(N)=-1232.字符串转换成字符格式:VAL(<字符表达式>)例如:STORE ‘-123.’ TO X,STORT ‘45’ TO YSTORE ’A45’ TO ZVAL(X Y)=123.45,VAL(X Z)=123.00,VAL(Z Y)=0.003.字符串转换成日期或日期时间格式:CTOD(<字符表达式>)转化成日期型数据CTOT(<字符表达式>)转化成日期时间型数据4.日期或日期时间转化成字符串格式:DTOC(<日期表达式>|<日期时间表达式>[,1])TTOC(<日期时间表达式> [,1])功能TOC()将日期型数据或日期时间数据的日期部分转化成字符串TTOC()将日期时间数据转化成字符串声明:对DTOC()来说,如果选项是1,则字符串的格式总是YYYYMMDD,8个字符。