E O F 函 数
确定记录指针是否超出当前表或指定表中的最后记录
语 法
EOF([ n W orkArea | cTableAlias ])
返 值 类 型
逻辑值
参 数 描 述
n W o rkArea
指 定 表 所 在 的 工 作 区 号
cTableAlias
指 定 表 的 别 名
如果指定工作区中没有打开的表 则 EOF 函数返回 假 (.F.)
如果没有指定工作区或别名 则检查当前选定工作区中打开的表 看是否到达了表的最后一个记录
说 明
如果记录指针已指向表文件的末尾 (EOF) 则 EOF 返回 真 (.T.) 当记录指针超过表中的最后记录时 即到达表的末尾 例如 当 FIND LOCATE 或 SEEK 命令不成功时 Visual FoxPro 将把记录指针移动到最后一个记录之后 EOF 函数返回
真 (.T.) 当记录指针并不指向表的末尾时 EOF 函数返回 假 (.F.)
示 例
下面的示例打开 customer 表 并且一次一页地列出公司名称 直到文件尾或者选择了取消 才 结束
CLOSE DATABASES
CLEAR
OPEN DATABASE (HOME() + "samples\data\testdata")
USE customer GO TOP
local recCtr, btnValue recCtr = 0
btnValue = 1
DO WHILE btnValue = 1 AND NOT EOF()
? "Company : " + company recCtr = recCtr + 1
if (recCtr % 20) = 0 then
btnValue =MESSAGEBOX ("Click OK to continue, ; Cancel to quit.",33)
clear endif
Skip 1 && 下移一个记录
ENDDO
=MESSAGEBOX("Listing complete.",48)
请 参 阅
BOF ( ) , G O | GOTO , SKIP