_EdRevert( ), API-Bibliotheksroutine
Ignoriert alle Änderungen, die an der im angegebenen Bearbeitungsfenster angezeigten Datei seit dem letzten Speichern mit _EdSave( ) vorgenommen wurden.
void _EdRevert(WHANDLE wh)
WHANDLE wh; /* Handle of editing window. */
Beispiel
Im folgenden Beispiel wird eine durch einen Parameter angegebene Datei zum Bearbeiten geöffnet. Nach einigen Bearbeitungsvorgängen, dem Einfügen einer neuen Zeile, dem Einrücken von zwei Zeilen und dem Löschen von zwei Zeilen werden die Änderungen mit _EdRevert( ) verworfen.
Visual FoxPro-Code
SET LIBRARY TO EDREVERT
= EDREVERT("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\r\n", _StrLen("Hello, world\n"));
_EdSelect(wh, _EdGetLinePos(wh, 14), _EdGetLinePos(wh, 16));
_EdIndent(wh, 1);
_EdSelect(wh, _EdGetLinePos(wh, 9), _EdGetLinePos(wh, 12));
_EdDelete(wh);
_EdRevert(wh);
}
FoxInfo myFoxInfo[] = {
{"EDREVERT", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_EdRedo( ), API-Bibliotheksroutine | _EdUndo( ), API-Bibliotheksroutine | _EdUndoOn( ), API-Bibliotheksroutine | _EdSave( ), API-Bibliotheksroutine