Сбрасывает на диск все модифицированные буферы памяти, относящиеся к заданному файлу.

int _FFlush(FCHAN chan)
FCHAN chan; /* Канал сбрасываемого файла или файл для записи. */

Замечания

_FFlush( ) возвращает 0, если очистка буферов выполнена успешно, или - 1 в противном случае.

Для получения дополнительной информации о том, как создавать библиотеку API  и интегрировать её в Visual FoxPro, См.  Доступ к Visual FoxPro API.

Пример

В следующем примере создается файл и его длина устанавливается равной 8196 байтам. Если в окне команд Visual FoxPro выдать командную строку DIR TEMP.TXT, то в выданной информации будет указано, что размер файла на диске по-прежнему равен 0. Однако если выдать DIR TEMP.TXT еще раз после того, как выполнится =XFFLUSH( ), то вы увидите, что файл на диске обработан программой _FCHSize( ) и имеет размер 8196 байтов.

Visual FoxPro Код

  Копировать код
SET LIBRARY TO FFLUSH  
DIR temp.txt && размер на диске - пока еще 0
WAIT WINDOW "размер файла = 0"
= XFFLUSH()
DIR temp.txt && размер на диске 8196
WAIT WINDOW "Размер файла не равняется 0"
CLOSE ALL

C Код

  Копировать код
#include <pro_ext.h>

static FCHAN fchan;

FAR CreateIt(ParamBlk FAR *parm)
{
fchan = _FCreate("temp.txt", FC_NORMAL);
_FCHSize(fchan, 8196);
}

FAR FFlushEx(ParamBlk FAR *parm)
{
_FFlush(fchan);
}

FoxInfo myFoxInfo[] = {
{"ONLOAD", (FPFI) CreateIt, CALLONLOAD, ""},
{"XFFLUSH", (FPFI) FFlushEx, 0, ""},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

See Also