home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 September / Simtel20_Sept92.cdr / msdos / ega / egatest.arc / PAUSES.MOD < prev    next >
Text File  |  1986-12-23  |  2KB  |  51 lines

  1. IMPLEMENTATION MODULE Pauses;
  2. (*
  3. Title   : Pauses.MOD -- SplitScreen Pauses
  4. LastEdit: July 22, 1986
  5. Author  : John T. Cockerham, M.D.
  6. System  : LOGITECH MODULA-2/86
  7. *)
  8. IMPORT Terminal;
  9. FROM LowEGA IMPORT
  10.   Write, WriteString, SetCursorPoint, SetCursor, GetCursorPoint,
  11.   RollSplitScreenUp, WriteBiosString, RollSplitScreenDown,
  12.   SetBiosCursorPoint, SetModeBios, ActivePage;
  13. FROM PointLib IMPORT Point, MakePoint, BumpPointY;
  14.  
  15.  
  16. CONST Page0 = 0; Blank = 020H;
  17.  
  18.  
  19.   (* This procedure raises a split screen and prints a message there
  20.      awaiting the user to continue. Can only be used text mode. *)
  21.   PROCEDURE Pause(msg : ARRAY OF CHAR);
  22.     VAR ch : CHAR;     p : Point;
  23.         SavedCursor : Point;
  24.  
  25.     PROCEDURE Blank2Lines(Page : CARDINAL);
  26.       VAR i : CARDINAL;
  27.     BEGIN
  28.       FOR i := 0 TO 159 DO Write(Page, CHR(Blank), 2); END;
  29.     END Blank2Lines;
  30.  
  31.   BEGIN
  32.     MakePoint(p, 0, 0);       GetCursorPoint(SavedCursor, Page0);
  33.     SetCursorPoint(Page0, p); Blank2Lines(Page0);
  34.     SetCursorPoint(Page0, p); Write(Page0, CHR(Blank), 2);
  35.     WriteString(Page0, msg, 2);
  36.     WriteString(Page0, ' [Strike ENTER to go on] ', 2);
  37.     SetCursor(ActivePage);    SetCursorPoint(Page0, SavedCursor);
  38.     RollSplitScreenUp(16);    Terminal.Read(ch);
  39.     RollSplitScreenDown;
  40.   END Pause;
  41.  
  42.  
  43.   PROCEDURE GraphicsPause(Page : CARDINAL; msg : ARRAY OF CHAR);
  44.     VAR p : Point; ch : CHAR;
  45.   BEGIN
  46.     MakePoint(p, 8, 8);       SetBiosCursorPoint(Page, p);
  47.     WriteBiosString(msg, 2);
  48.     WriteBiosString(' [Strike ENTER to go on] ', 2);
  49.     Terminal.Read(ch);
  50.   END GraphicsPause;
  51. END Pauses.