Wie mkinzler schon sagte wäre eine Stringlist besser:
Delphi-Quellcode:
var List: TStringList;
begin
List := TStringList.Create;
List.LoadFromFile(...);
end;
Wenn du aber bei deiner Methode bleiben möchtest, muss
a zu beginn der Read-Schleife als Wert den ersten Index des Daten-Arrays tragen, also Low(daten), also 1.