Массив заполняется не верно, попробуйте так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
sl: TStrings;
begin
Memo1.Lines.LoadFromFile('f.txt');
sl:= TStringList.Create;
m := memo1.Lines.Count;
SetLength(a, m);
for i:=0 to m-1 do
begin
sl.DelimitedText:= memo1.Lines[i];
a[i].mark := sl[0];
a[i].nomer:= sl[1];
a[i].name := sl[2];
end;
sl.Free;
end;