Определяет, установлен ли указатель записи после последней записи в текущей или заданной таблице.
Синтаксис:
EOF([nWorkArea | cTableAlias])
Параметры:
nWorkArea.
Задает номер рабочей области таблицы.
cTableAlias
Задает псевдоним таблицы.
Функция EOF( ) возвращает значение "ложь" (.F.), если в указанной рабочей области нет открытых таблиц.
Если вы не задали рабочую область или псевдоним, условие конца таблицы будет проверяться в таблице, которая открыта в рабочей области, выбранной в данный момент.
Результат:
Логический
Комментарии:
Функция EOF( ) возвращает значение "истина" (.T.), если указатель записи достиг конца файла таблицы (EOF). Конец таблицы достигается, когда указатель записи минует последнюю запись в таблице. Например, когда команда FIND, LOCATE или SEEK выполняется неудачно, Visual FoxPro перемещает указатель записи за последнюю запись и EOF( ) возвращает значение "истина" (.T.). Если указатель записи не находится в конце таблицы, EOF( ) возвращает "ложь" (.F.).
Пример:
* В следующем примере открывается таблица customer и на экране * появляются командные кнопки, позволяющие передвигать указатель * записи по таблице взад-вперед. В зависимости от направления движения * Visual FoxPro проверяет, достиг указатель записи конца файла (EOF) или * начала файла (BOF). Если какое-либо из этих условий имеет значение * истина (.T.), Visual FoxPro выдает сообщение и устанавливает указатель * записи на последнюю или первую запись. CLOSE DATABASES OPEN DATABASE (HOME( ) + 'samples\data\testdata') USE customer && Open customer table SET TALK OFF CLEAR ACTIVATE SCREEN @ 2,1 SAY 'Company: '+ company DEFINE WINDOW wSkip FROM 9,10 TO 14,65 DOUBLE COLOR SCHEME 5 ACTIVATE WINDOW wSkip @ 1,5 GET gnChoice FUNCTION '*HN \<Forward;\<Backward;\<Quit' ; DEFAULT 0 SIZE 2,14 VALID CHOICE( ) READ CYCLE RELEASE WINDOW wSkip PROCEDURE choice DO CASE CASE gnChoice = 1 SKIP IF EOF('CUSTOMER') WAIT WINDOW 'End of file encountered' NOWAIT SKIP -1 ENDIF CASE gnChoice = 2 SKIP -1 IF BOF('CUSTOMER') WAIT WINDOW 'Beginning of file encountered' NOWAIT GO TOP ENDIF CASE gnChoice = 3 CLEAR READ ENDCASE ACTIVATE SCREEN @ 2,1 CLEAR TO 2,50 @ 2,1 SAY 'Company: '+ company RETURN .T.