计算机二级VFP备考笔记之VFP测试函数
1.数据类型测试函数
格式:VARTYPE((表达式),[(逻辑表达式)])
功能:测试表达式的数据类型,返回用字母代表的数据类型。函数值为字符型。未定义或错误的表达式返回字母U.若表达式是一个数组,则根据第一个数组元素的类型返回字符串。
若表达式的运算结果是NULL值,则根据函数中逻辑表达式的值决定是否返回表达式的类型。具体规则是:如果逻辑表达式为.T,则返回表达式的原数据类型。如果逻辑表达式为.F,或省略,则返回X,表明表达式的运算结果是NUll值。
举例:
a=DATE()
a=NUll
?VARTYPE($385),VARTYPE([FoxPro]),VARTYPE(a,T.),VARTYPE(a)
输出为:Y C D X.
2.表头测试函数
格式:BOF([(工作区号)])l<别名)])
功能:测试指定或当前工作区的记录指针是否超过了第一个逻辑记录,即是否指向表头,若是,函数值为.T,否则为.F(工作区号)用于指定工作区,(别名)为工作区的别名或在该工作区上打开的表的别名。当<工作区号>和<别名>都缺省不写时,默认为当前工作区。
3.表尾测试函数
格式:EOF([(工作区号)[(别名>])
功能:测试指定或当前工作区中记录指针是否超过了最后一个逻辑记录,即是否指向表的末尾,若是,函数值为.T,否则为。F自变量含义同BOF函数,缺省时默认为当前工作区。
4.记录号测试函数
格式:REcNO([<工作区号>}(别名>])
功能:返回指定或当前工作区中当前记录的记录号,函数值为数值型。省略参数时,默认为当前工作区。如果记录指针在最后一个记录之后,即EOF()为.T,RECNO()返回比记录总数大l的值。如果记录指针在第一个记录之前或者无记录,即BOF()为.T.,REcONO()返回1。
5.记录个数测试函数
格式:RECCOUNT([(工作区号|别名>])
功能:返回当前或指定表中记录的个数。如果在指定的工作区中没有表被打开,则函数值为O。如果省略参数,则默认为当前工作区.RECCOUNT()返回的值不受SET r)EI.ETED和SET FIITER的影响,总是返回包括加有删除标记在内的全部记录数。
6.查找是否成功测试函数
格式:FOUND([<工作区号『别名>])
功能:在当前或指定表中,检测是否找到所需的数据。如果省略参数,则默认为当前工作区。数据搜索由FIND、SEEK、LOCATE或CONTINUE命令实现。如果这些命令搜索到所需的数据记录,函数值为.T,否则函数值为。F如果指定的工作区中没有表被打开,则FOUND()返回。F如果用非搜索命令如GO移动记录指针,则函数值为.F
7.文件是否存在测试函数
格式:FILE((文件名>)
功能:检测指定的文件是否存在。如果文件存在,则函数值为.T,否则函数值为。F文件名必须是全称,包括盘符、路径和扩展名,且(文件名)是字符型表达式。
8.判断值介于两个值之间的函数
格式:BETwEEN(<被测试表达式>,<下限表达式),(上限表达式))
功能:判断表达式的值是否介于相同数据类型的两个表达式值之间.BETwEEN()首先计算表达式的值。如果一个字符、数值、日期、表达式的值介于两个相同类型表达式的值之间,即被测表达式的值大于或等于下限表达式的值,小于或者等于上限表达式的值,BETW:EEN()将返回.T.值,否则返回.F
举例:
gz一375
7 BETWEEN(gz,260,650)
输出为。T
9.条件函数IIF
格式:IIF((逻辑型表达式),(表达式1),(表达式2>)
功能:若逻辑型表达式的值为.T,函数值为(表达式1>的值,否则为<表达式2>的值。
举例:
xb=“女”
?IIF(xB=[男],1,IIF(Xb一[女],2,3))
输出为2。