Процедура Flush

Модуль DOS

Очищает буфер текстового файла открытого на вывод.

Объявление:

Procedure Flush(Var F : Text);

Режим:

Windows, Real, Protected

Замечание:

Параметр F - переменная текстового файла.

Если текстовый файл был открыт на вывод с использованием процедур ReWrite или Append, то вызов Flush очистит буфер файла. Это гарантирует, что все символы, записанные в это время в файл будут насильно записаны на диск. Вызов Flush не имеет никакого эффекта для файлов, открытых на ввод.

В режиме {$I-} функция IOResult вернет нуль, если операция была успешна, иначе она вернет отличный от нуля код ошибки.

Ограничения:

Нужно быть в графическом режиме.

Пример:

{ Пример программы для процедуры Flush }

Uses Dos, Crt;

Procedure ReportError(S : String);
{ Перенаправляет вывод на стандартный обработчик
  ошибок DOS, затем выводит сообщение об ошибке и
  прекращает выполнение программы. Файл "output"
  должен быть полность записан на диск, перед
  изменением его дескриптора, иначе прежний вывод
  может появиться на экране наряду с сообщением
  об ошибке }

Begin
 Flush(Output); { Очищаем буфер файла }
 { Переназначаем вывод на стандартный обработчик ошибок }
 TTextRec(Output).Handle:=2;
 WriteLn(S);
 Halt(1);
End;

Begin
 ReportError('Произошла ошибка!');
End.