program rechtslinks;
{Name:Stefan Ziegler}
uses crt;


var ch               : char;
    d, f, text, ende : integer;

begin
  ende:=0;
  d:=80; f:=1;
  clrscr;
  gotoxy(d,f);
  repeat
    if d<1 then
      begin
        f:=f+1;
        d:=80;
      end;
    gotoxy(d, f);
    if d>80 then d:=80;
    ch:=readkey;
    text:=ord(ch);
    if text = 0 then ch:=readkey;
    if text = 0 then
      case ord(ch) of
        0    : ;
        72   : f:=f-1;            {hoch}
        80   : f:=f+1;            {runter}
        75   : d:=d-1;            {links}
        77   : d:=d+1;            {rechts}
        71   : d:=80;             {Pos1}
        79   : d:=1;              {Ende}
        59   : ende:=1;           {F1}
      end;
    if text > 0 then
      case text of
         8 : begin                {Backspace}
               d:=d+1;
               gotoxy(d, f);
               write(' ');
             end;
        13 : begin                {Enter}
                 f:=f+1;
                 d:=80;
             end;
        27 : ende:=1;             {Escape}
        else begin
               gotoxy(d,f);
               ch:=chr(text);
               write(ch);
               d:=d-1;
             end;
     end;
  until ende=1
end.
