home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / AAKXREF.ZIP / MISCPROC.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1986-04-25  |  1.6 KB  |  71 lines

  1.   procedure scrn_update(indent : boolean);
  2.   const
  3.    mainx = 18;
  4.    incx = 20;
  5.  
  6.   BEGIN
  7.    IF indent
  8.     THEN
  9.      gotoxy(incx,wherey)
  10.     ELSE
  11.      gotoxy(mainx,wherey);
  12.    WRITE( Line_Numb : 10 )
  13.   END;
  14.  
  15.  function get_answer(opt1,opt2 : option_type) : option_type;
  16.   var ch : char;
  17.    BEGIN
  18.     REPEAT
  19.      read(kbd,ch)
  20.     UNTIL ch in [opt1,opt2,upcase(opt1),upcase(opt2)];
  21.     WRITELN(ch);
  22.     get_answer := upcase(ch)
  23.    END;
  24.  
  25.  function get_choices(opt1,opt2,opt3 : option_type) : option_type;
  26.   var ch : char;
  27.    BEGIN
  28.     REPEAT
  29.      read(kbd,ch)
  30.     UNTIL ch in [opt1,opt2,opt3,upcase(opt1),upcase(opt2),upcase(opt3)];
  31.     WRITELN(ch);
  32.     get_choices := upcase(ch)
  33.    END;
  34.  
  35.  procedure empty_keyboard;
  36.   var
  37.    c : char;
  38.   BEGIN
  39.    while keypressed do
  40.     read(kbd,c)
  41.   END;
  42.    PROCEDURE dealwithuser;
  43.  
  44.    VAR
  45.       oldx,oldy : integer;
  46.       answer : option_type;
  47.       c : char;
  48.  
  49.    BEGIN
  50.       empty_keyboard;
  51.       oldx:=wherex; oldy:=wherey;
  52.       WRITELN;
  53.       WRITE ('Press space to continue, Esc to abort ...');
  54.       answer := get_answer(#32,#27);
  55.       IF answer=#27
  56.       THEN BEGIN (* ABORT *)
  57.               IF ( 'P' IN Switches )
  58.               THEN BEGIN
  59.                       WRITELN ( LST ) ;
  60.                       WRITE ( LST , Form_Feed ) ;
  61.                    END ;
  62.               HALT ;
  63.            END
  64.       ELSE BEGIN
  65.               gotoxy(wherex,wherey-1);
  66.               delline;
  67.               IF (oldy=25) or (oldy=23) THEN oldy := 23;
  68.               gotoxy(oldx,oldy)
  69.            END ;
  70.    END ; (* NESTED DEAL WITH USER *)
  71.