词条 | 测试函数 |
释义 | 在数据库应用的操作过程中,用户需要了解数据对象的类型、状态等属性,Visual FoxPro提供了相关的测试函数,使用户能够准确地获取操作对象的相关属性。 1.数据类型函数TYPE( ) 【格式】TYPE(<cExp >) 【功能】返回cExp 串表示的数据对象的数据类型,返回值是一个表示数据类型的大写字母。C:字符型,D:日期型,N:数值型,L:逻辑型,M:备注型,G:通用型,U:未定义。 2.文件查找函数FILE() 【格式】FILE(<cExp>) 【功能】根据cExp串中指定路径查找文件,如未指定路径,则在默认目录中查找。文件存在,返回逻辑真(.T.) 值,否则为逻辑假(.F.)值。 3.条件测试函数IIF( ) 【格式】IIF(<lExp >,<eExp 1>,<eExp2>) 【功能】逻辑表达式lExp值为真(.T.),返回表达式eExp1的值,否则返回表达式eExp2的值。eExp1和eExp2可以是任意数据类型的表达式。 4.表结束标志测试函数EOF( ) 【格式】EOF([<工作区号> | <别名>]) 【功能】测试记录指针是否移到表结束处。如果记录指针指向表中尾记录之后,函数返回真(.T.),否则为假(.F.)。 5.表起始标识测试函数BOF ( ) 【格式】BOF ([<工作区号> | <别名>]) 【功能】测试记录指针是否移到表起始处。如果记录指针指向表中首记录前面,函数返回真(.T.),否则为假(.F.)。工作区说明见EOF()函数。 6.当前记录号函数RECNO() 【格式】RECNO([<工作区号> | <别名>]) 【功能】返回指定工作区中表的当前记录的记录号。对于空表返回值为1。 7.当前记录逻辑删除标志测试函数DELETED( ) 【格式】DELETED([<工作区号> | <别名>]) 【功能】测试指定工作区中表的当前记录是否被逻辑删除。如果当前记有逻辑删除标记,函数返回真(.T.),否则为假(.F.)。 8.记录数函数RECCOUNT( ) 【格式】RECCOUNT ([<工作区号> | <别名>]) 【功能】返回指定工作区中表的记录个数。如果工作区中没有打开表则返回0。 9.记录大小测试函数RECSIZE( ) 【格式】RECSIZE( [<工作区号> | <别名>] ) 【功能】返回指定工作区中表的记录总长度。如果工作区中没有打开表则返回0。 10.屏幕列坐标和行坐标函数COL( )、ROW( ) 【格式】COL ( ) ROW() 【功能】COL ( )返回光标的列坐标值,ROW ( )返回光标的行坐标值。 11.打印机列坐标和行坐标函数PCOL( ),PROW( ) 【格式】PCOL( ) PROW() 【功能】返回打印机打印头所处位置的列坐标和行坐标。 DATE()函数 示例 SET CENTURY OFF ? DATE() && 显示不带世纪的本日日期 SET CENTURY ON ? DATE() && 显示带世纪的本日日期 ? DATE(1998, 02, 16) && 显示 2000 年兼容的日期值 TIME()函数 示例 DAY()函数 示例 STORE {^1998-03-05} TO gdBDate ? CDOW(gdBDate) && 显示Thursday ? DAY(gdBDate) && 显示5 DOW()/CDOW函数 示例 STORE DATE() TO gdDayNum ? DOW(gdDayNum) ? CDOW(gdDayNum) && Monday星期一Tuesday星期二Wednesday星期三Thursday星期四Friday星期五Saturday星期六Sunday星期日 MONTH()函数 示例 ? DATE() && 显示今天日期 ? MONTH(DATE()) && 显示月数 STORE {^1998-05-03} TO gdBuy STORE MONTH(gdBuy + 31) TO gdMonth ? gdMonth && 显示 6 CMONTH()函数 示例 ? CMONTH(DATE()) STORE {^1998-02-16} TO gdDueDate ? 'Your payment was due in ', CMONTH(gdDueDate) STORE gdDueDate+60 TO gdFinalDate ? 'You must pay by ', CMONTH(gdFinalDate) YEAR()函数 示例 ? YEAR(DATE()) ASC( ) 函数 示例 下面的示例显示从 a 到 j 的字符, 并用 ASC( ) 函数显示相应的 ansi 值。 STORE 'ABCDEFGHIJ' TO gcANSI && 10 个字符 CLEAR FOR nCOUNT = 1 TO 10 ? SUBSTR(gcANSI, nCount,1) && 显示一个字符 ?? ASC(SUBSTR(gcANSI, nCount)) && 显示 ANSI 值 ENDFOR ASC(“中”) &&54992 CHR()函数 示例 下面的示例显示从 65 到 75 的数值,并使用 chr() 显示对应的字符值 a 到 k。 CLEAR FOR nCOUNT = 65 TO 75 ? nCount && 显示数值值 ?? ' ' + CHR(nCount) && 显示字符 ENDFOR CTOD()函数 示例 以下代码演示如何用 CTOD() 函数来转换字符型数据到日期然后执行简单的与日期相关的动作。 SET CENTURY ON && 显示 century value cDate="01/01/2003" ?CTOD(cDate) && Returns 01/01/2003 as Date ?GOMONTH(CTOD(cDate),12) && Returns 01/01/2004 ?CTOD(cDate)+100 && Returns 04/11/2003 DTOC()函数/DTOS()函数 示例 SET STRICTDATE TO 1 STORE CTOD('10/31/98') TO gdThisDate ? DTOC(gdThisDate) STORE DTOC({^1998-10-31}+90) TO gcExpireDate ? 'Your 90-day warranty expires ', gcExpireDate ? DTOC({^1998-10-31},1) ? DTOS({^1998-10-31}) STR()函数 示例 ? STR(3.14,5,1) && 3.1 ? STR(3.14) && 3 缺省宽度时,系统默认为10个字符位置 ? STR(3.64,5) && 4 VAL()函数 示例 STORE '12' TO A STORE '13' TO B ? VAL(A) + VAL(B) && 显示25.00 STORE '1.25E3' TO C ? 2 * VAL(C) && 显示2500.00 TYPE()函数 示例 CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\\testdata') USE customer && 打开 Customer 表 nTest = 1.01 cTest = "String" CLEAR ? TYPE('customer.contact') && 显示C ? TYPE('(12 * 3) + 4') && 显示N ? TYPE('DATE()') && 显示D ? TYPE('.F. OR .T.') && 显示L ? TYPE('ANSWER=42') && 显示U ? TYPE('$19.99') && 显示Y ? TYPE('nTest') && 显示N ? TYPE('cTest') && 显示C FILE()函数 示例 下面的示例显示一条信息,指明 Visual FoxPro 资源文件是否在 Visual FoxPro 的启动目录下。 SET PATH TO HOME() CLEAR IF FILE('foxuser.dbf') WAIT WINDOW 'Visual FoxPro 资源文件 present' ELSE WAIT WINDOW 'Visual FoxPro 资源文件 not present' ENDIF |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。