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.
Verschiebt die Einfügemarke in der Datei im angegebenen Bearbeitungsfenster an die angegebene Versatzposition. Falls Text markiert ist, wird diese Markierung aufgehoben.
void _EdSetPos(WHANDLE wh, EDPOS thePos)
WHANDLE wh; /* Handle of editing window. */
EDPOS thePos; /* Specified offset position. */
Beispiel
Im folgenden Beispiel wird eine durch einen Parameter angegebene Datei zum Bearbeiten geöffnet. Mit Hilfe von _EdSetPos( ) wird die Einfügemarke auf Position 19 in der Datei gesetzt. _EdGetPos( ) wird aufgerufen, und es erfolgt die Eingabe von Text, um zu überprüfen, ob die Einfügemarke gesetzt wurde.
Visual FoxPro-Code
SET LIBRARY TO EDSETPOS
= EDSETPOS('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_READWRITE);
_HUnLock(parm->p[0].val.ev_handle);
_EdSetPos(wh, 19);
_PutStr("\n_EdSetPos(wh, 19)");
edpos = _EdGetPos(wh);
_PutStr("\n_EdGetPos(wh) ="); putLong(edpos);
_EdInsert(wh, "*** Inserted at EDPOS = 19 ***",
_StrLen("*** Inserted at EDPOS = 19 ***"));
}
FoxInfo myFoxInfo[] = {
{"EDSETPOS", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_EdGetLineNum( ), API-Bibliotheksroutine | _EdGetChar( ), API-Bibliotheksroutine | _EdGetPos( ), API-Bibliotheksroutine