Уже лучше, но
вот этот бред
Код:
for j:=1 to 16 do
begin
s:=copy(podstr, 1, 1); //отделяем символы
delete(podstr, 1, 1);
a:=a+1;
state[a, b]:=strtoint(s);
if a=4 then
begin
a:=0;
b:=b+1;
end;
end;
лучше переписать так:
Код:
for a:=1 to 4 do
for b:=1 to 4 do
state[a, b]:=ord(podstr[(a-1)*4+b]);
И ненадо придумывать велосипед.
Правда код, который я привел в качестве примера, можно оптимизировать и он будет работать еще быстрее.
Но для учебных целей и так сойдет.