_DBSkip( ) перемещает указатель записи в заданной рабочей области на заданное число записей.
long _DBSkip(int workarea, long distance) int workarea; /* Рабочая область. */ long distance; /* Число пропускаемых записей. */ |
Примечания
_DBSkip( ) принимает во внимание активные выражения индекса и фильтра, как и команда Visual FoxPro SKIP. Значение distance может быть положительным или отрицательным. _DBSkip( ) возвращает номер новой записи.
Используйте _DBStatus( ) для проверки условия конца файла и начала файла. Если вы попытаетесь перейти вперед, находясь в конце файла, или отступить назад, находясь в начале, _DBSkip( ) возвращает отрицательное целое число, абсолютное значение которого равно номеру ошибки Visual FoxPro.
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
Следующий пример работает аналогично команде Visual FoxPro SKIP.
Код Visual FoxPro
![]() | |
---|---|
SET LIBRARY TO DBSKIP ON ERROR DO expectError DO CreateTest USE = DBSKIP(1) && _Error() called: no DBF in use USE test GO TOP = DBSKIP(-1) = DBSKIP(-1) && _Error() called: at top of file GO BOTT = DBSKIP(1) = DBSKIP(1) && _Error() called: at bottom of file ON ERROR PROCEDURE expectError ? "ERROR: " + MESSAGE() RETURN 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 *pblk) { int RetCode; if ((RetCode = _DBSkip(-1, pblk->p[0].val.ev_long)) < 0) { _PutStr("\nError encountered in example program."); _Error(-RetCode); // _DBSkip() returns negative error code } _RetInt(RetCode, 10); } FoxInfo myFoxInfo[] = { {"DBSKIP", (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.