Есть ли в Delphi 2010 Функция LoadTextFromFile?

При переносе некоторого кода из Delphi 7 в Delphi 2010 я переписывал свою функцию LoadTextFromFile ().

function LoadTextFromFile(const aFullFileName: string): string;
var
  lBuffer:     TBytes;
  lEncoding:   TEncoding;
  lFileStream: TFileStream;
  lSize:       Integer;

begin

  if not FileExists(aFullFileName) then
  begin
    raise Exception.Create('File "' + aFullFileName + '" not found.');
  end;

  lFileStream := TFileStream.Create(aFullFileName, fmOpenRead + fmShareDenyNone);
  try

    if lFileStream.Size <= 0 then
    begin
      Result := '';
    end
    else
    begin

      lSize := lFileStream.Size - lFileStream.Position;

      SetLength(lBuffer, lSize);

      // Read file into TBytes buffer
      lFileStream.Read(lBuffer[0], lSize);

      // Read encoding from buffer
      TEncoding.GetBufferEncoding(lBuffer, lEncoding);

      // Get string from buffer
      Result := lEncoding.GetString(lBuffer);

    end;

  finally
    lFileStream.Free;
  end;

end;

Когда мысль била меня по голове: в стандартной библиотеке должно быть что-то подобное. Многие пользователи хотят прочитать текстовый файл в строку, но я не смог найти такую ​​стандартную функцию. Самое близкое, что я нашел, - это использование TStringlist для загрузки текста. Но A) создание списка TStringlist выглядит ненужным, и B) я не хочу переносить накладные расходы из TStringlist.

Вопрос: есть ли стандартная функция LoadTextFromFile в Delphi 2010?

5
задан Jan Derk 15 August 2010 в 14:25
поделиться