Hier noch eine vierte Möglichkeit - solange TextFile noch unterstützt wird - allerdings nur getippt und nicht getestet:
Delphi-Quellcode:
procedure GetLines(fn: TFileName; s: TStrings; iStart, iCount: Cardinal);
const
BUF_SIZE = 16
shl 10;
var
tf: TextFile;
buf:
array of Char;
iLine: Cardinal;
line:
String;
begin
SetLength(buf, BUF_SIZE);
AssignFile(tf, fn);
Reset(tf);
SetTextBuf(tf, buf[0], BUF_SIZE);
iLine := 0;
while not Eof(tf)
and (iLine < iStart)
do
begin
ReadLn(tf);
Inc(iLine);
end;
s.BeginUpdate;
while not Eof(tf)
and (iCount > 0)
do
begin
ReadLn(tf, line);
s.Add(line);
Dec(iCount);
end;
s.EndUpdate;
CloseFile(tf);
end;
Gute Nacht
marabu