program DB_Xpl14;
uses
   CRT,
   GS_KeyI;

type
   MyObjt = Object(GS_KeyI_Objt)
               PROCEDURE Check_Func_Keys; virtual;
               CONSTRUCTOR Init;
            end;

var
   MyKeyIn : MyObjt;
   DumyStr : string;

CONSTRUCTOR MyObjt.Init;
begin
   GS_KeyI_Objt.Init;
end;

PROCEDURE MyObjt.Check_Func_Keys;
var
   i : integer;
begin
   i := 0;
   case Ch of
      Kbd_F1    :  i := 1;
      Kbd_F2    :  i := 2;
      Kbd_F3    :  i := 3;
      Kbd_F4    :  i := 4;
      Kbd_F5    :  i := 5;
      Kbd_F6    :  i := 6;
      Kbd_F7    :  i := 7;
      Kbd_F8    :  i := 8;
      Kbd_F9    :  i := 9;
      Kbd_F10   :  i := 10;
      else GS_KeyI_Objt.Check_Func_Keys;
   end;
   if i > 0 then
   begin
      gotoxy(10,20);
      write('':25);
      gotoxy(10,20);
      write('Function Key ',i,' Pressed');
   end;
end;

begin
   ClrScr;
   MyKeyIn.Init;
   DumyStr := 'TEST';
   DumyStr := MyKeyIn.EditString(DumyStr,5,5,20);
end.

