_DBRead( ) (Rutina de biblioteca API)

Mueve el puntero del registro actual al registro especificado en el área de trabajo especificada.

int _DBRead(int workarea, long record)
int workarea;               /* Work area. */
long record;                  /* Record number. */

Observaciones

_DBRead( ) devuelve 0 si la rutina tiene éxito. Si la rutina falla, _DBRead( ) devuelve un entero negativo cuyo valor absoluto corresponde a un número de error de Visual FoxPro.

Especificar 0 para record equivale a ejecutar GO TOP; especificar – 1 para record equivale a ejecutar GO BOTTOM.

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 proporciona una funcionalidad similar a la del comando GO de Visual FoxPro. XGO(n) mueve el puntero del registro actual al registro número n del área de trabajo actual.

Código 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ódigo 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
};

Vea también

_DBRewind( ) (Rutina de biblioteca API) | _DBSkip( ) (Rutina de biblioteca API) | _DBUnwind( ) (Rutina de biblioteca API) | GO | GOTO (Comando)