home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / MISC / DATAREP.ZIP / VT100CTR.INC < prev    next >
Encoding:
Text File  |  1990-02-22  |  2.7 KB  |  102 lines

  1. {This is a series of screen control commands for a VT100  }
  2. {terminal or equivalent.  It should work on most terminals}
  3. {or common terminal emulators.                            }
  4.  
  5.  
  6. PROCEDURE Clear_screen;  {Erase screen, leave cursor at home.}
  7.         BEGIN
  8.         IF VT100 THEN
  9.            WRITE (CHR (27), '[f', CHR (27),'[2J');
  10.         END;
  11.  
  12. PROCEDURE Clear_box;  {Clear first five rows, leave cursor at home.'}
  13.         BEGIN
  14.         IF VT100 THEN 
  15.            BEGIN
  16.            WRITE (CHR (27), '[5;80f', CHR (27), '[1J');
  17.            WRITE (CHR (27), '[f');
  18.            END;
  19.         IF NOT VT100 THEN WRITELN;
  20.         END;
  21.  
  22. PROCEDURE Scroll_box; {Scroll only first five lines. Cursor starts at home.}
  23.         BEGIN
  24.         IF VT100 THEN
  25.            WRITE (CHR (27), '[1;5r', CHR (27), '[f');
  26.         END;
  27.  
  28. PROCEDURE Clear_block; {Clears lines 6 through 24. Leaves cursor at 6,0.}
  29.        BEGIN
  30.        IF VT100 THEN
  31.           WRITE  (CHR (27), '[6;0f', CHR (27), '[0J');
  32.        END;
  33.  
  34. PROCEDURE Erase_line;  {Erases line to end.}
  35.        BEGIN
  36.        IF VT100 THEN
  37.           WRITE (CHR (27), '[K');
  38.        END;
  39.  
  40. PROCEDURE Top_of_block; {Moves cursor to line 6.}
  41.        BEGIN
  42.        IF VT100 THEN
  43.           WRITE (CHR(27), '[6;1f');
  44.        END;
  45.  
  46. PROCEDURE Bottom_of_block; {Moves cursor to line 23.}
  47.        BEGIN
  48.        IF VT100 THEN
  49.           WRITE (CHR(27), '[23;1f');
  50.        END;
  51.  
  52. PROCEDURE Scroll_block; {Scrolls lines 6 through 23. Cursor starts at line 6.}
  53.         BEGIN
  54.         IF VT100 THEN
  55.            WRITE (CHR (27), '[6;23r', CHR (27), '[6;1f');
  56.         END;
  57.  
  58. PROCEDURE Save_cursor;
  59.         BEGIN
  60.         IF VT100 THEN
  61.            WRITE (CHR (27), '7');
  62.         END;
  63.  
  64. PROCEDURE Restore_cursor;
  65.         BEGIN
  66.         IF VT100 THEN
  67.            WRITE (CHR (27), '8');
  68.         END;
  69.  
  70. PROCEDURE Erase_to_end;
  71.         BEGIN
  72.         IF VT100 THEN
  73.            WRITE (CHR (27), '[K');
  74.         END;
  75.  
  76. PROCEDURE Bottom_line; {Clears and writes on bottom line.}
  77.         BEGIN
  78.         IF VT100 THEN
  79.            WRITE (CHR (27), '[24;1f', CHR (27), '[0K');
  80.         WRITELN;   {To avoid problems with WRITE's exceeding line limits.}
  81.         END;
  82.  
  83. PROCEDURE Restore_scrolling; {Returns scrolling over whole screen.}
  84.         BEGIN
  85.         IF VT100 THEN
  86.            WRITE (CHR (27), '[1;24r');
  87.         END;
  88.  
  89. PROCEDURE GoToXY (X,Y: INTEGER);  {X = column number, Y = row number.}
  90.         BEGIN
  91.         IF VT100 THEN
  92.            BEGIN
  93.            WRITELN;
  94.            WRITE (CHR (27), '[');
  95.            IF Y<10 THEN WRITE (Y:1) ELSE WRITE (Y:2);
  96.            WRITE (';');
  97.            IF X<10 THEN WRITE (X:1) ELSE WRITE (X:2);
  98.            WRITE ('H');
  99.            END;
  100.         END;
  101.  
  102.