_DBRecNo( ) API Library Routine Example

The following example provides functionality similar to that of the Visual FoxPro RECNO( ) function.

Visual FoxPro Code

SET LIBRARY TO DBRECNO 
DO CreateTest
GO 3
? DBRECNO()
GO 6
? DBRECNO()
USE
? DBRECNO()  && returns -119

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"
   APPEND BLANK
   REPLACE ABC WITH "This is record 5"
   APPEND BLANK
   REPLACE ABC WITH "This is record 6"
   GO TOP
RETURN

C Code

#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _RetInt(_DBRecNo(-1), 10);
}

FoxInfo myFoxInfo[] = {
   {"DBRECNO", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};