Функция BOF()

Определяет, установлен ли указатель записи в начале таблицы.

Синтаксис:

BOF([nWorkArea | cTableAlias])

Параметры:
nWorkArea
Задает номер рабочей области для таблицы, открытой в другой рабочей области.
cTableAlias
Задает псевдоним таблицы, открытой в другой рабочей области.
Если таблица, в которой вы хотите проверить позицию указателя записи, открыта в рабочей области, отличной от выбранной в данной момент, задайте для таблицы с помощью этих аргументов номер рабочей области или псевдоним. Если в заданной рабочей области нет открытых таблиц, функция BOF() возвратит "ложь" (.F.).

Результат:
Логический

Комментарии:
Используйте функцию BOF( ) для проверки местонахождения в начале файла таблицы. BOF( ) возвращает значение "истина" (.T.), если вы пытались переместить указатель записи в позицию перед первой записью таблицы.

Пример:

* В данном примере открывается таблица 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.

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 25.11.2002