Процедура SetTextBuf

Модуль SYSTEM

Назначает буфер ввода/вывода на текстовый файл.

Объявление:

Procedure SetTextBuf(Var F : Text; Var Buf [ ; Size : Word ] );

Режим:

Windows,  Protected,  Real

Замечание:

Процедуру SetTextBuf нельзя применять к открытому файлу, хотя ее и можно вызывать сразу после выполнения Reset, ReWrite и Append.

Если вы вызываете SetTextBuf для открытого файла во время операций ввода/вывода, то это может вызвать потерю данных из-за смены буфера.

Borland Pascal не гарантирует, что буфер будет существовать во время всей операций ввода/вывода в файл. Обычная ошибка состоит в том, что используют локальную переменную как буфер, а затем используют файл вне процедуры, в которой был объявлен буфер.

Пример:

{Settxtbf.PAS}
 
 { Пример программы для процедуры SetTextBuf }
 
 Var F : Text;
    Ch : Char;
   Buf : Array [1..4095] Of Char;  { 4Kб буфер }
 
 Begin
  { Получаем имя файла для чтения из командной строки }
  Assign(F, ParamStr(1));
  { Большой буфер для ускорения чтения }
  SetTextBuf(F, Buf);
  Reset(F);
  { Выводим содержимое файла на экран }
  While Not EOF(F) Do
   Begin
    Read(F, Ch);
    Write(Ch);
   End;
  End.