_DBUnwind( ) API Library Routine

Works like the Visual FoxPro GO BOTTOM command in the specified work area, and then returns the current record number.

long _DBUnwind(int workarea)
int workarea;               /* Work area. */

Example

The following example calls _DBUnwind( ) for the table open in the current work area.

Visual FoxPro Code

SET LIBRARY TO DBUNWIND
DO CreateTest
? DBUNWIND()   && returns new record #
SKIP
? EOF()       && now EOF() returns .T.

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 Code

#include <pro_ext.h>

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

FoxInfo myFoxInfo[] = {
   {"DBUNWIND", (FPFI) Example, 0, ""},
};

FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

See Also

_DBRewind( ) API Library Routine | _DBWrite( ) API Library Routine | Working with Fields and Records | Records