Процедура SetTextBuf( var Vf: Text; var [ ; Size: Integer] ); -------------------------------------------------------------------------------- Модуль: 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;
|