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.
Fügt die angegebene Anzahl von Bytes an der Einfügemarke ein, beginnend mit der angegebenen Adresse TEXT *.
void _EdInsert(WHANDLE wh, TEXT *theStr, unsigned long Bytes)
WHANDLE wh; /* Handle of editing window. */
TEXT *theStr; /* Address of beginning of insertion
text. */
unsigned long Bytes; /* Number of bytes to insert. */
Beispiel
Im folgenden Beispiel wird eine Bearbeitungssitzung für eine durch einen Parameter angegebene Datei geöffnet. Die Textzeile "Hello, world" wird als neue 14. Zeile in die Datei eingefügt.
Visual FoxPro-Code
SET LIBRARY TO EDINSERT
= EDINSERT("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;
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, _EdGetLinePos(wh, 13));
_EdInsert(wh, "Hello, world\n", _StrLen("Hello, world\n"));
}
FoxInfo myFoxInfo[] = {
{"EDINSERT", (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