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 einen beliebigen Visual FoxPro-Datentyp mit Ausnahme von Memo zurück.
void _RetVal(Value FAR *val)
Value FAR *val; /* Pointer to value structure. */
Hinweise
_RetVal( ) übergibt eine vollständige Visual FoxPro-Wertstruktur. Sie müssen _RetVal( ) aufrufen, um eine Zeichenfolge zurückzugeben, die Nullzeichen enthält.
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 _RetVal( ) verwendet, um den zugehörigen Parameter vom Typ Zeichen, umgewandelt in Großbuchstaben, zurückzugeben.
Visual FoxPro-Code
SET LIBRARY TO RETVAL
? XUPPER("upper") && returns "UPPER"
C-Code
#include "pro_ext.h"
void NullTerminate(Value FAR *cVal)
{
if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1)) {
_Error(182); // "Insufficient memory"
}
((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0';
}
FAR Example(ParamBlk FAR *parm)
{
char FAR *pString;
int i;
NullTerminate(&parm->p[0].val);
pString = _HandToPtr(parm->p[0].val.ev_handle);
for (i = 0; i < parm->p[0].val.ev_length; i++)
{
if ('a' <= *pString && *pString <= 'z')
{
*pString += ('A' - 'a');
}
pString++;
}
_RetVal(&parm->p[0].val);
}
FoxInfo myFoxInfo[] = {
{"XUPPER", (FPFI) Example, 1, "C"},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_RetChar( ), API-Bibliotheksroutine | _RetCurrency( ), API-Bibliotheksroutine | _RetDateStr( ), API-Bibliotheksroutine | _RetDateTimeStr( ), API-Bibliotheksroutine | _RetFloat( ), API-Bibliotheksroutine | _RetInt( ), API-Bibliotheksroutine | _RetLogical( ), API-Bibliotheksroutine