Die Datei hat keine 7 Zeilen, deshalb greift z.B. List[6] ins Leere.
Verwende einfach folgende Funktion:
Delphi-Quellcode:
// 1. Zeile eine Stringliste auslesen und Eintrag in Liste löschen
function GetFirstLine(list:TStrings):string;
begin
if list.Count > 0 then
begin
result := list[0];
list.Delete(0);
end
else
result := 0;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
List: TStrings;
begin
List := TStringList.Create;
try
if SaveDialog1.Execute then
List.LoadFromFile(SaveDialog1.FileName)
else
Exit;
Edit1.Text:=GetFirstLine(List);
Edit2.Text:=GetFirstLine(List);
Edit3.Text:=GetFirstLine(List);
Edit4.Text:=GetFirstLine(List);
Edit5.Text:=GetFirstLine(List);
Edit6.Text:=GetFirstLine(List);
Edit7.Text:=GetFirstLine(List);
finally
List.Free;
end;
end;
PS: deine Vorgehensweise ist unsicher! Probier mal aus was passiert wenn in der Datei nur 5 Zeilen sind.