Einzelnen Beitrag anzeigen

KWin

Registriert seit: 27. Jun 2007
Ort: Sierning - AUT
10 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Textdatei laden - Integerüberlauf

  Alt 15. Jul 2020, 08:27
Ich denke auch, dass es nicht möglich ist via TStringlist eine so große Dateien zu laden.

Wenn mann sich die Procedure in System.Classes ansieht dann ist
beim Integer Schluss mit lustig.

Delphi-Quellcode:
procedure TStrings.LoadFromStream(Stream: TStream; Encoding: TEncoding);
var
  Size: Integer;
  Buffer: TBytes;
begin
  BeginUpdate;
  try
    Size := Stream.Size - Stream.Position;
    SetLength(Buffer, Size);
    Stream.Read(Buffer, 0, Size);
    Size := TEncoding.GetBufferEncoding(Buffer, Encoding, FDefaultEncoding);
    SetEncoding(Encoding); // Keep Encoding in case the stream is saved
    SetTextStr(Encoding.GetString(Buffer, Size, Length(Buffer) - Size));
  finally
    EndUpdate;
  end;
end;
Am Code dazwischen liegt es definitiv nicht.
ich werde das ganze umbauen und versuchen mit TStreamReader zu realisieren.

Danke für euer bemühen,
ich werde hier posten, wie ich es gelöst habe.

lg Klaus
Klaus
  Mit Zitat antworten Zitat