Задача: Нарисовать табличку, в которой можно двигатся стрелочками и заносить данные, данные в табличке выводятся в виде первых двух чисел и троеточия(12...), вводятся данные через отдельное окно снизу экрана, данные должны сохранятся в массив(не реализованно, но тут разберусь) и показыватся в табличке указанным уже методом. Пока для проверки программа должна рисовать в ячейке просто букву Х, но она этого не делает, у меня есть подозрение, что метод, которым я решил это сделать не совсем подходит для данной задачи, а именно в каждой ячейке таблицы создается собственное окно, возможно так делать нельзя и надо просто ограничить движение курсора внутри ячейки. Подскажите каким образом лучше всего реализовать данную задачу, или если метод реализации правильный, то почему буковка Х не рисуется wink.gif .
 Program interpol;
uses crt;
const Esc= #27;
      Right= #77;
var n,i,x,y,Xn,Yn,key:integer;
curchoice,status, temp:byte;
z:real;
ch,c,s:char;
begin
clrscr;
curchoice:=1;status:=128;textcolor(7);
asm mov ah,01;mov cl,$20;int $10;end
Xn:=2;Yn:=2;
gotoxy(Xn,Yn);textcolor(15);
textbackground(black);
n:=21;
x:=1;y:=1;
for i:=1 to n do
  begin
   GotoXY(x,y);
   write('ЙНННННН»');
   writeln;
   gotoxy(x,y+1);
   write('є      є');
   writeln;
   gotoxy(x,y+2);
   write('ИННННННј');
   if x<80 then
      x:=x+8
  else
    begin
     x:=1;y:=y+3;
    end;
  end;
 x:=2;y:=2;
 window(2,2,7,2);
key:=0;
repeat
c:=readkey;
  if c=#0 then
    begin
      s:=readkey;
       case s of
        #77: if x<70 then x:=x+8;
        #75: if x>8 then x:=x-8;
        #72: if y>3 then y:=y-3;
        #80: if y<5 then y:=y+3;
{     #13: key:=1;}
       end;
       window(x,y,x+5,y);
    end
else
begin
case c of
     #13:
     begin
     window(1,23,20,23);
     readln(z);
     window(x,y,x+5,y);
     Gotoxy(x,y);
     writeln('x');
     end;
end;
end;
until c=#27;
end.