Модуль: System
Описание
Процедура устанавливает буфер ввода/вывода для текстового файла.
Каждая файловая переменная текстового файла имеет внутренний 128-байтовый буфер чтения/записи. Данный буфер не играет роли в большинстве приложений, однако, если программа жестко привязана к вводу/выводу, то наличие буфера позволяет увеличить ее эффективность за счет уменьшения обращений к диску и непроизводительных затрат системы. Процедура SetTextBuf устанавливает для текстового файла, связанного с файловой переменной Vf, взамен внутреннего 128-байтового буфера, буфер указанный в параметре Buf, размером Size байт. Если переменная Size опущена, то размер принимается равным SizeOf( Buf ). Новый заданный буфер будет ассоциирован с файлом Vf до вызова функции AssignFile для данного файла. Процедура SetTextBuf вызывается сразу после вызова процедур Reset, Rewrite или Append. Если до вызова SetTextBuf над файлом производились операции ввода/вывода, то из-за смены буфера информация может быть потеряна.
Пример
var
Vf1, Vf2: TextFile;
Buf: array[1..1024] of Char;
C: Char;
begin
AssignFile( Vf1, 'read.txt');
Reset( Vf1);
SetTextBuf( Vf1, Buf); { устанавливает 1Кб буфер для чтения файла }
AssignFile( Vf2, 'write.txt');
Rewrite( Vf2);
while not Eof( Vf1) do
begin
Read( Vf1, C);
Write( Vf2, C);
end;
CloseFile( Vf1 );
CloseFile( Vf2 );
end;