Вы можете прочитать его в TMemoryStream, назначить PChar первому адресу и сканировать с циклом от 0 до Size - 1. Разумеется, вам решать, что вы хотите делать со встроенными символами # 0. Просто проигнорируйте # 13 и добавьте строку в каждую # 10, с которой вы сталкиваетесь.
EDIT:
Что-то вроде:
procedure TForm1.Button1Click(Sender: TObject);
var
FileStream: TStream;
MemStream: TMemoryStream;
P: PChar;
s: string;
i: integer;
begin
FileStream := TFileStream.Create('file.txt', fmOpenRead);
try
MemStream := TMemoryStream.Create;
try
MemStream.LoadFromStream(FileStream);
P := PChar(MemStream.Memory);
s := '';
for i := 0 to MemStream.Size - 1 do begin
case P[0] of
#0: {};
#10: begin
// do something with s
s := '';
end;
#13: {};
else
s := s + P[0];
end;
Inc(P);
end;
finally
MemStream.Free;
end;
finally
FileStream.Free;
end;
end;