Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt die aktuelle Versatzposition der Einfügemarke in der Datei im angegebenen Bearbeitungsfenster zurück.
EDPOS _EdGetPos(WHANDLE wh)
WHANDLE wh; /* Handle of editing window. */
Hinweise
Wenn Text ausgewählt ist, gibt _EdGetPos( ) die Versatzposition des Ankers zurück.
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 Bearbeitungssitzung für eine durch einen Parameter angegebene Datei geöffnet. Nachdem die aktuelle Einfügemarke mit _EdSetPos( ) gesetzt wurde, erfolgt ein Aufruf an _EdGetPos( ), um zu überprüfen, ob die Versatzposition der Einfügemarke zurückgegeben wird. Nachdem mit _EdSelect( ) Text ausgewählt wurde, erfolgt ein Aufruf an _EdGetPos( ), um zu überprüfen, ob die Versatzposition des Ankerzeigers zurückgegeben wird.
Visual FoxPro-Code
SET LIBRARY TO EDGETPOS
= EDGETPOS("x")
C-Code
#include <pro_ext.h>
void putLong(long n)
{
Value val;
val.ev_type = 'I';
val.ev_long = n;
val.ev_width = 6;
_PutValue(&val);
}
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_READONLY);
_HUnLock(parm->p[0].val.ev_handle);
_EdSetPos(wh, 19);
_PutStr("\n_EdSetPos(wh, 19)");
edpos = _EdGetPos(wh);
_PutStr("\n_EdGetPos(wh) ="); putLong(edpos);
_EdSelect(wh, 5, 12);
_PutStr("\n_EdSelect(wh, 5, 12)");
edpos = _EdGetPos(wh);
_PutStr("\n_EdGetPos(wh) ="); putLong(edpos);
}
FoxInfo myFoxInfo[] = {
{"EDGETPOS", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_EdGetChar( ), API-Bibliotheksroutine | _EdSetPos( ), API-Bibliotheksroutine | _EdGetLinePos( ), API-Bibliotheksroutine