Forum: Programmieren allgemein
Delphi
by KWin,
15. Jul 2020
Hallo,
ich verwende 64-Bit-Windows und die Delphi-Zielplattform 64-Bit.
Forum: Programmieren allgemein
Delphi
by KWin,
15. Jul 2020
Ich habe es ausprobiert,
wenn die Datei > wie MaxInteger/2 ist (1073741824) dann tritt bei StringList.LoadfromFile
der Fehler Integerüberlauf auf. Ich vermute mal, dass Delphi für jedes Character 2 Bytes benötig.
Forum: Programmieren allgemein
Delphi
by KWin,
15. Jul 2020
Habe das ganze mit TStreamReader gelöst.
Ich durchsuche viele Logfiles mit unterschiedlicher Dateigröße.
Wenn die Datei >= 1073741824 Bytes ist verwende ich den TStreamReader,
ansonsten die TStringList, welche wesentlich schneller ist.
hier mein Codeausschnitt
var
Forum: Programmieren allgemein
Delphi
by KWin,
15. Jul 2020
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.
procedure TStrings.LoadFromStream(Stream: TStream; Encoding: TEncoding);
var
Size: Integer;
Buffer: TBytes;
Forum: Programmieren allgemein
Delphi
by KWin,
15. Jul 2020
Der Code sieht ungefähr so aus:
var
StrList : TStringList;
StrList := TStringList.Create;
try
StrList.LoadFromFile(LogFileName);
Forum: Programmieren allgemein
Delphi
by KWin,
15. Jul 2020
Hallo,
ich versuche mit einer StringList eine relativ große Text-Datei (1*265*819*892 Bytes) zu laden und
bekomme den Fehler "Integerüberlauf".
Compiliert unter Win64 mit Delphi 10.2 Tokyo.
gibt es da eine Lösung für das Problem?
lg Klaus