3. procedure TForm2.Button1Click(Sender: TObject);
TYPE
MATRIZ=ARRAY[1..20,1..20]OF INTEGER;
VAR
B,C,D,E,F,G,H,I,J,K,L,M,N,P,Q,R,S,T,z,DI:INTEGER;
A:MATRIZ;
begin
DI:=StrToInt(edit1.text);
C:=1;
D:=1; E:=DI; H:=1;
F:=2; G:=DI; K:=DI;
L:=DI-1; M:=1; T:=DI;
P:=DI-1; Q:=2; N:=1;
FOR Z:=1 to TRUNC(DI/2+1) do
Begin
{FILA}
for J := D to E do
BEGIN
A[H,J]:=C; C:=C+1;
STRINGGRID1.CELLS[J,H]:=INTTOSTR(A[H,J]);
END;
D:=D+1; E:=E-1; H:=H+1;
{COLUMNA}
for I := F to G do
BEGIN
A[I,K]:=C; C:=C+1;
STRINGGRID1.CELLS[K,I]:=INTTOSTR(A[I,K]);
END;
F:=F+1; G:=G-1; K:=K-1;
{ALIF}
for R := L DOWNTO M do
BEGIN
A[T,R]:=C; C:=C+1;
STRINGGRID1.CELLS[R,T]:=INTTOSTR(A[T,R]);
END;
L:=L-1; M:=M+1; T:=T-1;
{ANMULOC}
for S := P DOWNTO Q do
BEGIN
A[S,N]:=C; C:=C+1;
STRINGGRID1.CELLS[N,S]:=INTTOSTR(A[S,N]);
END;
P:=P-1; Q:=Q+1; N:=N+1;
end;
end;
3) CORRIJA ESTA
CODIFICACIÓN