SetTextBuf, процедура

Синтаксис


procedure SetTextBuf(var F: TextFile; var Buffer);
procedure SetTextBuf(var F: TextFile; var Buffer; Size: Integer);

Описание

Процедура SetTextBuf устанавливает новый текстовый буфер для последующих операций ввода/вывода. Buffer - это новый файловый буфер, Size - его размер в байтах. Если Size отсутствует, SetTextBuf использует SizeOf (Buffer).
Двоичные файлы не имеют буферов, поэтому SetTextBuf работает только для типа TextFile.
Можно установить буфер для любого открытого текстового файла. Не следует менять буфер, если уже выполнялись операции ввода/вывода иначе можно потерять содержимое старого буфера. Если буфер выде лен динамически, не освобождайте его до закрытия файла. SetTextBuf не является настоящей процедурой.

Ошибки

Советы и приемы

Каждый текстовый файл имеет небольшой встроенный буфер. Для консольного ввода/вывода и других обычных применений достаточно небольшого буфера. Если вы обнаружите, что файловый ввод/вывод становится узким местом вашего приложения, попробуйте установить буфер большего размера.

Пример


// Читает список чисел из файла и возвращает их сумму.
function SumFile(const FileName: String): Double;
var
  Number: Double;
  F: TextFile;
  Buffer: array[0..8191] of Char;
begin
  Result := 0.0;
  AssignFile(F, FileName);
  Reset(F);
  try
    SetTextBuf(F, Buffer);
    while not SeekEof(F) do
    begin
      ReadLn(F, Number);
      Result := Result + Number;
    end;
  finally
    CloseFile(F);
  end;
end;

Смотрите также

Функция lOResult, процедуры Reset, Rewrite.
    Учебник по языку Pascal          Лабораторные работы по программированию          Справочник



2018-02-13 10:28:47

efeiuhfeihghiurhrqfjhihfihfrifrfrhfrrfhirhfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh




Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: