_DBSkip( ) (Rutina de biblioteca API)
_DBSkip( ) mueve el puntero de registro del área de trabajo especificada un número de registros especificado.
long _DBSkip(int workarea, long distance)
int workarea; /* Work area. */
long distance; /* Number of records to skip. */
Observaciones
_DBSkip( ) respeta las expresiones activas de índice y de filtro, al igual que el comando SKIP de Visual FoxPro. La distancia puede ser positiva o negativa. _DBSkip( ) devuelve el número del nuevo registro.
Utilice _DBStatus( ) para comprobar las condiciones de inicio y fin de archivo. Si trata de saltar más allá del final del archivo o saltar hacia atrás por delante del principio del archivo, _DBSkip( ) devuelve un número entero negativo cuyo valor absoluto corresponde a un número de error de Visual FoxPro.
Para obtener más información acerca de cómo crear una biblioteca API e integrarla con Visual FoxPro, vea Acceso a la API de Visual FoxPro.
Ejemplo
El siguiente ejemplo funciona igual que el comando SKIP de Visual FoxPro.
Código 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ódigo 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
};
Vea también
_DBRecCount( ) (Rutina de biblioteca API) | _DBRecNo( ) (Rutina de biblioteca API) | Acceso a la API de Visual FoxPro | _DBStatus( ) (Rutina de biblioteca API)