2.2 VFP 6.0的语言成分
1. 命令
即:由用户发出的、指示VFP进行某种操作的指令。
如 USE aaa & 打开 一个名为 aaa.dbf的数据表
2. 函数
即:一个预先编制好的模块,可由VFP程序在任何地方调用。
函数的使用方法:名称、功能、参数、返回值
几个常用函数
名称
|
命令格式
|
示例
|
字符串截取函数
|
SUBSTR expC,expN1[,expN2 ])
|
SUBSTR(“ABCDEFG”,2,4)
结果是: BCDE
|
LEFT expC,expN )
|
LEFT(“ABCDEFG”,2) 结果是: AB
|
RIGHT expC,expN )
|
RIGHTT(“ABCDEFG”,4)
结果是: DEFG
|
字符串查找函数
|
AT expC1 , expC2 [ expN ])
|
AT(“B”, “ABCDE”) 结果是: 2
? AT(“A”, “ABCDEASD” )
结果是: 1
? AT(“A”,“ABCDEASD”,2 )
结果是: 6
|
大小写字母转换函数
|
LOWER expC )
|
LOWER(“DFGHa”) 结果是: dfgha
|
UPPER expC )
|
UPPER(“asdf”) 结果是: ASDF
|
数值函数
|
MAX(exp1,exp1[,exp3,…])
|
MAX(15,23,4,56) 结果是: 56
|
MIN(exp1,exp1[,exp3,…])
|
MIN(15,23,4,56) 结果是: 4
|
ABS( expN )
|
ABS(-15.83) 结果是: 15.83
|
INT( expN )
|
INT(25.62) 结果是: 25
|
压缩空格函数
|
ALLTRIM expC )
|
ALLTRIM(" AD B G ")
结果是: AD B G
|
类型转换函数
|
STR expN1[,expN2][,expN3])
|
STR(789.678,6,2) 结果是: 789.68
|
CTOD expC )
|
CTOD(“98/10/15”)
结果是: 98/10/15
|
VAL expC )
|
VAL("123.45") 结果是: 123.45
|
DTOC expD )
|
DTOC({98/12/15})
结果是: 98/12/15
|
日期时间函数
|
DATE()
|
DATE() 结果是: 2000/03/15
|
DATETIME()
|
DATETIME()
结果是: 2000/03/15 10:15:30
|
YEAR expD )
|
YEAR({87/03/25}) 结果是: 1987
|
数据库函数
|
RECNO( )
|
DBC( )
|
SEEK( )
|
其它函数
|
LEN( )
|
DELETED()
|
EOF( )
|
BOF( )
|
FOUND( )
|
EMPTY(exp)
|
INLIST(,,)
|
RECCOUNT( )
|
SELECT( )
|
BETWEEN(,,)
|
IIF(,,)
|
TABLEREVERT( )
|
LOCK( )
|
CHR()
|
ASC()
|
TABLEUPDATE( )
|
FSIZE( )
|
TAG()
|
INKEY()
|
自定义函数:
由用户为自己的应用程序创建的专用函数,可作为独立的程序文件保存在磁盘上也可作为过程文件存放在其他程序中。
3. 表达式
即:变量、操作符、常量、函数、字段名、控制以及属性的组合,求值结果为单个值。
表达式的类型:
算术表达式:由算术操作符和数值型数据构成的表达式。
字符表达式:由字符操作符和字符型数据构成的表达式。
日期表达式:由日期操作符和日期、时间型数据构成的表达式。
逻辑表达式:由逻辑操作符和逻辑型数据构成的表达式。
名称表达式:
由圆括号括起来的一个字符表达式,用来替换命令或函数中的名称。
例: DBF_NAME="学生成绩登记表"
USE (DBF_NAME)
宏替换:用宏替换符号 & 表示,它与名称表达式具有相似的作用。
例: 已知 A="1", B="2", C12="GOOD"
则 C&A&B="GOOD"
4. 操作符
数值操作符
|
( )
|
^ 或 **
|
*
|
/
|
%取余数)
|
+
|
-
|
关系操作符
|
<
|
<=
|
>
|
>=
|
<> 或 != 或 # = =
|
逻辑操作符
|
()表达式分组
|
NO或!非)
|
AND和)
|
OR 或)
|
日期和时间操作符
|
+
|
-
|
注意: 日期型: 天数 时间型: 秒数
|
字符操作符:
|
+
|
-
|
$
|
|
|
|
|
两个特殊的操作符
|
圆点操作符(.):用于分隔对象的名称以及分隔对象中的属性、事件、方法。
|
范围转变操作符(::):提供了从一个子类中调用一个父类的方法。
|
|