FOXPRO的一种容错技术
常用几种测试函数容错实例
1.FILE()检测文件是否存在,以防打开文件时出现“文件不存在”的错误
IF FILE(“ABC.DBF”)
USE ABC.DBF
ELSE
?“ABC.DBF文件不存在”
ENDIF
2.EOF()检测记录是否已到库文件尾,以防指针定位库文件尾后,操作出错。
GO TOP
DO WHILE .T.
.
.
SKIP
IF EOF()
EXIT
ENDI
ENDDO
3.YTPE()检测变量的类型,以防对不迪型变量的误操作
USE ABC.DBF
IF TYPE(“基本工资”)=“N”
REPLACE ALL 基本工资 WITH 基本工资+基本工资*0.1
ENDIF
4.DISKSPACE()检测磁盘空间的字节数,以房文件操作时“外存空间不够”。
USE ABC.DBF
SIZE=33+32*FCOUNT()+RECOUNT()*RECSIZE()
IF DISKSPACE()<SIZE
? “磁盘空间不够”
RERU
ENDIF
COPY TO A:CCC.DBF
.
.
其中FCOUNT()求字段数,RECOUNT()求记录个数,RECSIZE()求记录长度。
5.USED()测试数据库文件是否正在使用,若对非当前库操作则会出错。
NA=“ABC.DBF”
IF .NOT.USED()
? NA+“非当前数据库”
USE &NA
ENDIF
6.SYS(13)(或PRINTSTATUS)检测打印机状态是否准备好,若未准好提醒用户纠正。
DO WHILE SYS(13)=“OFFLINE”
WAIT “请把打印机准备好,按任一健”
ENDDO
SET PRINT ON