Angenommen deine Datei hat 60 zeilen. Dann ist z im ersten durchlauf 59.
Dann gehst du hin und löschst Zeilen 40-59.
Dann willste auf Zeile 59 die nicht mehr da ist zugreifen.
Delphi-Quellcode:
var SL: TStringList;
z: integer;
begin
SL := TStringList.Create;
try
if not OpenDialog1.Execute then exit;
SL.LoadFromFile(OpenDialog1.FileName);
while SL.Count > 40 do SL.Delete(SL.Count-1);
for z := 0 to SL.Count-1 do
SL[z] := Copy(SL[z], 11, Length(SL[z]));
txt_eingabe.Text := SL.Text;
finally
SL.Free;
end;
end.