Hallo.
TextFile ist zwar ein alter Hut, aber wenn es dich nicht stört, dann kannst du die darin enthaltene Puffertechnik verwenden und bequem mit ReadLn und WriteLn auf die Textzeilen zugreifen. Wenn ich beim Anpassen meiner alten
TP-Quellen keinen Fehler gemacht habe, dann funktioniert prinzipiell das hier:
Delphi-Quellcode:
{$I Func.TextFilePos.pas}
{$I Func.TextFileSeek.pas}
procedure ReadLines(const fn: TFileName; startPos, numLines: Cardinal; s: TStrings);
var
tf: TextFile;
line: String;
begin
AssignFile(tf, fn);
Reset(tf);
// SetTextBuf() hier, wenn nötig
TextFileSeek(tf, startPos);
while not Eof(tf) and (s.Count < numLines) do
begin
ReadLn(tf, line);
s.Add(line);
end;
CloseFile(tf);
end;
procedure TDemoForm.ButtonClick(Sender: TObject);
begin
with OpenDialog do
if Execute then
ReadLines(FileName, 1, 1, Memo.Lines);
end;
Grüße vom marabu