Перемещает текущий указатель записи к заданной записи в заданной рабочей области.
int _DBRead(int workarea, long record) int workarea; /* Рабочая область. */ long record; /* Номер записи. */ |
Замечания
_DBRead( ) возвращает 0 в случае успешного завершения. Если выполнение завершается неудачно, возвращается отрицательное число, абсолютное значение которого равно номеру ошибки Visual FoxPro.
Если номер record задать равным 0, вызов будет эквивалентен команде GO TOP; если задать record равным -1, это эквивалентно выдаче команды GO BOTTOM.
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к Visual FoxPro API.
Пример
Следующий пример обеспечивает приблизительно те же функциональные возможности, что и команда Visual FoxPro GO. XGO(n) перемещает текущий указатель записи к записи с номером n в текущей рабочей области.
Код Visual FoxPro
![]() | |
---|---|
SET LIBRARY TO DBREAD DO CreateTest USE Test SHARED GO BOTTOM ? RECNO() = XGO(2) ? RECNO() PROCEDURE CreateTest CREATE TABLE test (ABC C(20)) APPEND BLANK REPLACE ABC WITH "This is record 1" APPEND BLANK REPLACE ABC WITH "This is record 2" APPEND BLANK REPLACE ABC WITH "This is record 3" APPEND BLANK REPLACE ABC WITH "This is record 4" GO TOP RETURN |
Код C
![]() | |
---|---|
#include <pro_ext.h> FAR Example(ParamBlk FAR *parm) { _DBRead(-1, parm->p[0].val.ev_long); } FoxInfo myFoxInfo[] = { {"XGO", (FPFI) Example, 1, "I"}, }; FoxTable _FoxTable = { (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo }; |
Смотрите также

c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.