_DBSkip( ), API-Bibliotheksroutine
_DBSkip( ) verschiebt den Datensatzzeiger im angegebenen Arbeitsbereich um die angegebene Anzahl an Datensätzen.
long _DBSkip(int workarea, long distance)
int workarea; /* Work area. */
long distance; /* Number of records to skip. */
Hinweise
_DBSkip( ) berücksichtigt die aktiven Index- und Filterausdrücke genauso wie der Visual FoxPro-Befehl SKIP. Der Abstand kann positiv oder negativ sein. _DBSkip( ) gibt die Datensatznummer des neuen Datensatzes zurück.
Verwenden Sie DBStatus( ), um zu überprüfen, ob das Dateiende oder der Dateianfang erreicht wurde. Wenn Sie versuchen, vom Dateiende bzw. Dateianfang aus vor- bzw. zurückzugehen, gibt _DBSkip( ) eine negative ganze Zahl zurück, deren absoluter Wert eine Visual FoxPro-Fehlernummer darstellt.
Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.
Beispiel
Das folgende Beispiel orientiert sich am Visual FoxPro-Befehl SKIP.
Visual FoxPro-Code
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-Code
#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
};
Siehe auch
_DBRecCount( ), API-Bibliotheksroutine | _DBRecNo( ), API-Bibliotheksroutine | Zugreifen auf die Visual FoxPro-API | _DBStatus( ), API-Bibliotheksroutine