_EdSkipLines( ), API-Bibliotheksroutine

Verschiebt die Einfügemarke an den Anfang der Zeile, die um die in offset angegebene Anzahl von Zeilen von der aktuellen Versatzposition thePos entfernt ist.

EDPOS _EdSkipLines(WHANDLE wh, EDPOS thePos, int offset)
WHANDLE wh;            /* Handle of editing window. */
EDPOS thePos;               /* Current offset position. */
int offset;                     /* Number of lines to skip. */

Hinweise

Sie können eine positive oder negative Anzahl von Zeilen angeben.

Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.

Beispiel

Im folgenden Beispiel wird eine durch einen Parameter angegebene Datei zum Bearbeiten geöffnet. Die Versatzpositionen werden mit _EdSkipLines( ) gesucht, anschließend werden die Zeilen 3 und 4 ausgewählt.

Visual FoxPro-Code

SET LIBRARY TO EDSKIPLI
= SKIPLINE("x")

C-Code

#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

   WHANDLE wh;
   EDPOS edpos;

   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "Insufficient memory"
   }
   pFILENAME[parm->p[0].val.ev_length] = '\0';

   _HLock(parm->p[0].val.ev_handle);
   wh = _EdOpenFile(pFILENAME, FO_READWRITE);
   _HUnLock(parm->p[0].val.ev_handle);

   // select next two lines
   edpos = _EdSkipLines(wh, 0, 2); // skip to two lines from top
   _EdSelect(wh, edpos, _EdSkipLines(wh, edpos, 2));
   _Execute("WAIT WINDOW 'Using _EdSkipLines() \
      to select lines 3 and 4'");
}

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

Siehe auch

_EdGetPos( ), API-Bibliotheksroutine |_EdSetPos( ), API-Bibliotheksroutine | Zugreifen auf die Visual FoxPro-API