I have a big text file (about 100MB) and each lines are separated by CR character, and not CRLF.
I tried to read this text file, line by line using TStringList.LoadFromFile() or ReadLn(F,..), but both methods require the lines are separated by CRLF.
Do you have any efficient and fast method to read this kind of text file?
PS: I am using Delphi 7.
This should do it. Read the text file into a memory stream. Then fill the string list with the contents.
textList.Text accepts any combination of
CRLF to form a line.
function MemoryStreamToString( M : TMemoryStream) : string; begin SetString( Result,PChar(M.Memory),M.Size div SizeOf(Char)); // Works in all Delphi versions end; var memStream : TMemoryStream; textList : TStringList; begin textList := TStringList.Create; try memStream:= TMemoryStream.Create; try memStream.LoadFromFile('mytextfile.txt'); textList.Text := MemoryStreamToString( memStream); // any combination of CR,LF,CRLF interprets as a line finally memStream.Free; end; // do something with textList finally textList.Free; end; end;