E O F 函 数 - 图1E O F 函 数 - 图2E O F 函 数

E O F 函 数 - 图3确定记录指针是否超出当前表或指定表中的最后记录

语 法

EOF([ n W orkArea | cTableAlias ])

返 值 类 型

逻辑值

参 数 描 述

n W o rkArea

E O F 函 数 - 图4指 定 表 所 在 的 工 作 区 号

cTableAlias

E O F 函 数 - 图5指 定 表 的 别 名

E O F 函 数 - 图6E O F 函 数 - 图7E O F 函 数 - 图8E O F 函 数 - 图9E O F 函 数 - 图10E O F 函 数 - 图11如果指定工作区中没有打开的表 则 EOF 函数返回 假 (.F.)

E O F 函 数 - 图12E O F 函 数 - 图13E O F 函 数 - 图14如果没有指定工作区或别名 则检查当前选定工作区中打开的表 看是否到达了表的最后一个记录

说 明

E O F 函 数 - 图15E O F 函 数 - 图16E O F 函 数 - 图17E O F 函 数 - 图18E O F 函 数 - 图19E O F 函 数 - 图20E O F 函 数 - 图21E O F 函 数 - 图22E O F 函 数 - 图23E O F 函 数 - 图24E O F 函 数 - 图25E O F 函 数 - 图26E O F 函 数 - 图27E O F 函 数 - 图28如果记录指针已指向表文件的末尾 (EOF) 则 EOF 返回 真 (.T.) 当记录指针超过表中的最后记录时 即到达表的末尾 例如 当 FIND LOCATE 或 SEEK 命令不成功时 Visual FoxPro 将把记录指针移动到最后一个记录之后 EOF 函数返回

E O F 函 数 - 图29E O F 函 数 - 图30E O F 函 数 - 图31E O F 函 数 - 图32E O F 函 数 - 图33E O F 函 数 - 图34E O F 函 数 - 图35E O F 函 数 - 图36E O F 函 数 - 图37真 (.T.) 当记录指针并不指向表的末尾时 EOF 函数返回 假 (.F.)

示 例

E O F 函 数 - 图38E O F 函 数 - 图39E O F 函 数 - 图40E O F 函 数 - 图41E O F 函 数 - 图42下面的示例打开 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