Тут при чтении строки нужно ее проверять, читать номер нужного поля и далее тоже самое. Только массив трехмерный будет.
Код:
var F: TextFile;
S,S1: string;
i,j,n:integer;
Begin
AssignFile(F, FileName);
Reset(F);
n:=0;
while (not eof(f)) do begin
Readln(F, S);
if copy(S,1,5)='#Pole' then begin
S1:=copy(S,6,maxint);
n:=strtointdef(S1,1);
j:=1;//По X
while (not eof(f)) do begin
Readln(F, S);//читаем строку
for i:=1 to 20 do begin //По Y
M[n][i][j]:=strtoint(numnum(s));//читаем 20 чисел из строки. Числа из строки удаляются
end;
inc(j);
end;
end;
end;
Если поля нумеруются попорядку то можно просто inc(n) без
Код:
S1:=copy(S,6,maxint);
n:=strtointdef(S1,1);
Или если есть несколько массивов, то просто при обнаружении #Pole считывать в нужный массив.
Все, у меня лимит инета исчерпался, так что минимум ближайшую неделю буду в оффлайне
Good bye!