字符串精确比较
精确比较运算符”= =”:完全匹配
非精确比较运算符”=”:部分完全匹配
set exact on状态下,精确比较,右边字符串去掉尾部空格,和左边字符串(去掉尾部空格)完全一样,结果为。T。
set exact off状态下,非精确比较,右边字符串和左边字符串前面部分匹配时,结果为.T.。
⑤逻辑运算符:表达式结果是逻辑值真(.T.)或假(.F.)
NOT或!:逻辑“非”;AND:逻辑“与”;OR:逻辑“或”
优先顺序为:()→NOT→AND→OR
【说明】运算符的优先级:算术运算符→关系运算符→逻辑运算符
【相关例题】1/4/5/10
(2)VFP函数(重要)
【注意】如何学习函数
函数名:功能,主要用途
参数:输入,处理内容
返回值:输出,处理结果
①数值函数(*)
MOD()函数:求余数(适用于数值型数据),作用是可以判断两个数能否整除。
【总结】运算结果的符号位与函数的第二个参数相同。当两个参数的符号相同时,运算结果的绝对值为两个参数相除的余数;当两个参数的符号不同时,运算结果的绝对值为两个参数相除的余数和第二个参数的差。
RAND()函数:返回0-1之间的随机小数。
②字符型函数(***)
截除字符串空格函数:ALLTRIM()、ltrim()、rtrim()或trim()
整形函数(填充函数):STUFF(字符串<1>,起始位置,指定长度,<字符串2>)
【补充】去空格函数STRTRAN(字符串,SPACE(1),SPACE(0))
计算字符串长度函数:LEN()
计算子字符串出现位置和次数函数:AT()、OCCURS()
取子字符串函数:SUBSTR()、left()和right()
产生指定长度空格字符串函数:SPACE()
③日期/时间函数(*)
计算星期几函数:DOW()(默认第一天为星期日)
④数据类型转换函数(****)
ASC()函数:求首字符的ASCII码值
【应用】判断某个字符是英文还是汉字。
CHR()函数:由ASCII码值(要在ASCII码值允许的范围)求字符。
【应用1】十进制→十六进制(mod():取余;chr(x+55))
【应用2】产生随机英文字母
VAL()函数:字符型(数字字符)转换成数值
STR()函数:数值转换为对应的数字字符串,默认宽度是10
DTOC()函数:日期型型转换为字符型。
dtoc(date(),1)&&显示年月日20100304,去掉分隔符
len(dtoc(date(),1))&&显示固定宽度8
【应用】建立索引表达式,按出生日期排序
CTOD()函数:字符型转换为日期型。
应用:生日在星期几
⑤其他重要函数
BETWEEN()函数:判断一个值是否在某个范围内(适用于数值、字符、日期型)。
IIF()函数(*****):条件函数,根据逻辑表达式的真假,返回两个表达式值中的一个。
应用:二选一,只需一个IIF()函数;三选一,需要一个IIF()函数嵌入到另外一个IIF()函数中
MESSAGEBOX()函数:显示用户自定义对话框。函数名不能只写前四个字母,必须写全。GETFILE()函数:显示”打开”对话框。【相关例题】2/3/14/15/16/17
(3)VFP变量
①变量赋值:使用store语句一次给多个变量赋相同值;用=给某个变量赋单个值
②变量取名:只包含字母、下划线、数字和汉字;数字不能开头;避免使用下划线开头【强调】自由表字段名、索引名至多10个字符,其余名称长度是1-128个字符。
③变量优先访问权:变量和字段同名时,字段变量优先访问;变量名前加m.可访问;不能用”=”给字段变量赋值。
④变量作用域:全局(Public)变量作用范围在命令窗口、多个程序之间;局部(Local)变量作用范围只在某个程序内部;私有(Private)变量作用范围在当前程序及子程序间。【注意】全局变量在不同程序间起作用;局域变量作用在当前程序内部;全局变量与局部变量同名,优先访问局部变量;私有变量作用在当前程序及其子程序之间;在子程序中明确声明私有变量,同名变量作用范围限制在当前程序中。