Ich meine also ungefähr so (ungetestet, vermutlich nicht fehlerfrei):
Code:
var F:File of AnsiChar; Buf:Array [1..512] of AnsiChar; Col:Integer; S:String; C:AnsiChar;
...
AssignFile(F, FileName);
Reset(F);
Col:=1;
S:='';
while (not EoF(F)) do
begin
BlockRead(F, Buf, 512, Count);
P:=1;
repeat
C:=Buf[P];
case C of
#10 : if (Col = 5) then // Notizfeld
begin
Memo.Lines.Add(S);
S:='';
end
else
begin // Satzende
Col:=1;
S:='';
end;
#13 : begin
end;
';' : begin
Memo.Lines.Add(S);
Inc(Col);
S:='';
end;
else
begin
S:=S + C;
end;
end;
Inc(P);
until (P > Count);
end;
CloseFile(F);
...