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 den Dateikanal der Memodatei zurück, die dem angegebenen Arbeitsbereich workarea zugeordnet ist.
FCHAN _MemoChan(int workarea)
int workarea; /* Work area number. */
Hinweise
Wenn keine Datenbank in diesem Arbeitsbereich geöffnet ist oder die Datenbank keine Memodatei enthält, gibt _MemoChan( ) den Wert –1 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 der Inhalt eines Memofeldes abgerufen. _MemoChan( -1) gibt einen Dateikanal zur Memodatei des aktuellen Arbeitsbereichs zurück. FCHAN wird für API-Rückrufroutinen (Callback-Routinen) für Ein-/Ausgaben in Dateien auf niedriger Ebene als Argument verwendet.
Visual FoxPro-Code
SET LIBRARY TO MEMOCHAN
CREATE TABLE WMemo (MemoField M)
APPEND BLANK
REPLACE MemoField WITH "Hello, World."
? GETMEMO(@MemoField)
C-Code
#include <pro_ext.h>
FAR FindMemoEx(ParamBlk FAR *parm)
{
Locator FAR *memoFldLoc;
FCHAN fchMemo;
char FAR *memoContents;
int memoLen;
long loc;
if ((fchMemo = _MemoChan(-1)) == -1)
{
_UserError("_MemoChan() failed");
}
memoFldLoc = &parm->p[0].loc;
if ((loc = _FindMemo(memoFldLoc)) < 0)
{
_UserError("_FindMemo() failed");
}
if ((memoLen = _MemoSize(memoFldLoc)) < 0)
{
_UserError("_MemoSize() failed");
}
if ((memoContents = _Alloca(memoLen + 1)) == 0)
{
_Error(182); // "Insufficient memory"
}
_FSeek(fchMemo, loc, FS_FROMBOF);
_FRead(fchMemo, memoContents, memoLen);
memoContents[memoLen] = '\0';
_RetChar(memoContents);
}
FoxInfo myFoxInfo[] = {
{"GETMEMO", (FPFI) FindMemoEx, 1, "R"},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_AllocMemo( ), API-Bibliotheksroutine | _DBReplace( ), API-Bibliotheksroutine | _FindMemo( ), API-Bibliotheksroutine | _FOpen( ), API-Bibliotheksroutine | _MemoSize( ), API-Bibliotheksroutine | Zugreifen auf die Visual FoxPro-API