HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail


 
В этот день много лет назад...
26 ноября. В 1884 году (140 лет назад) - В России вводится налог на недвижимость.
 
 

Turbo Pascal Documentation

Процедура SetTextBuf



     Функция: Назначает для текстового файла буфер ввода-вывода.
     Описание: SetTextBuf(var f: text; var буфер [; размер: word ])
     Примечания: Параметр f представляет собой файловую  пе-
ременную, соответствующую текстовому файлу. Параметр "буфер"
- любая переменная, а параметр "размер" - необязательное вы-
ражение длиной в слово.
     Каждая файловая переменная для текстового файла
     имеет внутренний буфер размером в 128 байтов, что по
     умолчанию используется для буферизации операций чтения
     и записи. Этот буфер подходит для использования во
     многих прикладных задачах, однако программы,  выполняю-
щие много операций ввода-вывода (например, задачи, выполняю-
щие копирование или преобразование текстовых  файлов)  будут
лучше  работать  с  буфером  большего размера, поскольку это
уменьшает перемещение головки по поверхности диска  и  избы-
точное использование файловой системы.
     Процедура SetTextBuf переназначает буфер,  используемый
для  текстового  файла  f: вместо внутреннего буфера файла f
используется буфер, заданный  параметром  "буфер".  Параметр
"размер"  задает  размер буфера в байтах. Если этот параметр
опущен, то подразумевается использование  SizeOf(буфер),  то
есть по умолчанию в качестве буфера используется вся область
памяти, занятая буфером. Новый буфер действует до  тех  пор,
пока для f вновь не выполняется процедура Assign.
     Ограничения: Данная процедура никогда не должна  приме-
няться для открытого файла, хотя вызывать ее можно немедлен-
но вслед за обращением к процедурам Reset, Rewrite и Аppеnd.
Вызов  процедуры SetTextBuf для открытого файла во время вы-
полнения операций ввода-вывода может из-за смены буфера при-
вести к потере данных.
     Турбо-Паскаль не обеспечивает существование  буфера  на
все  время выполнения операций ввода-вывода для файла. Общей
ошибкой, в частности, является введение качестве буфера  ло-
кальной  переменной и затем использование файла вне процеду-
ры, в которой описывается буфер.
     Отличия: В версии 3.0 Турбо-Паскаля использовался
     другой синтаксис - var f:text[2048].
     Пример:

        var
          f : text;
         ch : char;
        buf : char;                   { буфер 10 К }
       begin
       { назначить для файла считывание из командной строки }
       Assign(f, ParamStr(1));
       { ввести для более быстрого чтения буфер большего размера }
       SetTextBuffer(f, buf);
       Reset(f);
        { вывести текстовый файл на экран }
       while not Eof(f) do
       begin
         Read(f, ch);
         Write(ch);
       end;
       end.




HOME