VF辅导:VFP测试函数

文章作者 100test 发表时间 2008:02:01 15:46:54
来源 100Test.Com百考试题网


在数据库操作过程中,用户需要了解数据对象的类型、状态等属性,Visual FoxPro提供了相关的测试函数,使用户能够准确地获取操作对象的相关属性。

  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。

相关文章


VisualFoxPro菜单项的功能
VisualFoxPro命令窗口的使用
VisualFoxPro操作方式
VisualFoxPro的表达式
VF辅导:VFP测试函数
SQL语句基础学习ANDOR
SQL语句基础学习DISTINCT
怎样生成最小的DirectFB
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛