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.
Platziert den Text zwischen den angegebenen Versatzpositionen (einschließlich der Versatzpositionen selbst) an die angegebene Adresse.
void _EdGetStr(WHANDLE wh, EDPOS thePos, EDPOS thePos,
TEXT *theStr)
WHANDLE wh; /* Handle of editing window. */
EDPOS thePos; /* Starting offset position. */
EDPOS thePos; /* Stopping offset position. */
TEXT *theStr; /* Where to put the text. */
Beispiel
Im folgenden Beispiel wird ein Dateiname als Parameter angenommen, und die ersten 16 Bytes der Datei werden zurückgegeben.
Visual FoxPro-Code
SET LIBRARY TO EDGETSTR
? EDGETSTR("x") && returns the first 16 characters of file "x"
C-Code
#include <pro_ext.h>
FAR Example(ParamBlk FAR *parm)
{
WHANDLE wh;
char FAR *buffer;
char FAR *pFileName;
if (!_SetHandSize(parm->p[0].val.ev_handle,
parm->p[0].val.ev_length+1))
{
_Error(182); // "Insufficient memory"
}
_HLock(parm->p[0].val.ev_handle);
pFileName = _HandToPtr(parm->p[0].val.ev_handle);
pFileName[parm->p[0].val.ev_length] = '\0';
wh = _EdOpenFile(pFileName, FO_READONLY);
_HUnLock(parm->p[0].val.ev_handle);
if ((buffer = _Alloca(17)) == 0) {
_Error(182); // "Insufficient memory"
}
_EdGetStr(wh, 0, 15, buffer);
buffer[16] = '\0';
_RetChar(buffer);
}
FoxInfo myFoxInfo[] = {
{"EDGETSTR", (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