第二十七章 Caché 变量大全 $ZEOF 变量
包含指示是否已到达文件末尾的标志。
大纲
$ZEOF
描述
在每次顺序文件读取之后,Caché设置$ZEOF
特殊变量以指示是否已到达文件末尾。提供此特殊变量是为了与使用$ZC
设备状态检查的MSM例程兼容。
Caché将$ZEOF
设置为上次使用的设备的文件状态。例如,如果从顺序文件读取,然后写入主设备,则Caché会将$ZEOF
从顺序文件的文件结束状态重置为主设备状态。因此,应该在顺序文件读取之后立即检查$ZEOF
值(如果需要,将其复制到变量)。
Caché将$ZEOF
设置为下列值:
- –1 文件结束
- 0 不在文件末尾
要使用此功能,必须对顺序文件禁用<ENDOFFILE>
错误。
- 要对当前进程禁用此功能,请调用
%SYSTEM.Process
类的SetZEOF()
方法。 - 若要在系统范围内禁用此功能,请设置
Config.Miscellous
类的SetZEOF
属性,或者转到管理门户并选择“系统管理”、“配置”、“附加设置”、“兼容性(系统、配置、兼容性设置)”。查看和编辑SetZEOF
的当前设置。此选项控制在读取顺序文件时Caché遇到意外文件结尾时的行为。当设置为“true”时,Caché设置$ZEOF
特殊变量以指示已到达文件末尾。当设置为“false”时,Caché会发出<ENDOFFILE>
错误。默认值为“false”。
当到达文件末尾时,读取将返回空字符串,设置$ZB=NULL
和设置$ZEOF=-1
,而不是发出<ENDOFFILE>
错误。
$ZEOF
不支持MSM $ZC
函数的所有功能。与$ZC
不同,$ZEOF
不识别文件分隔符字符或I/O错误。$ZEOF
不会使用文件分隔符检查文件终止是否正确。I/O错误由读取命令错误检测,而不是由$ZEOF
检测。
不能使用set
命令修改此特殊变量。尝试这样做会导致<SYNTAX>
错误。
网友评论