Using ANSI Escape Sequences to Clear the Screen (67195)



The information in this article applies to:

  • Microsoft FORTRAN Compiler for MS-DOS 3.2
  • Microsoft FORTRAN Compiler for MS-DOS 3.3
  • Microsoft FORTRAN Compiler for MS-DOS 3.31
  • Microsoft FORTRAN Compiler for MS-DOS 4.0
  • Microsoft FORTRAN Compiler for MS-DOS 4.01
  • Microsoft FORTRAN Compiler for MS-DOS 4.1
  • Microsoft FORTRAN Compiler for MS-DOS 5.0
  • Microsoft FORTRAN Compiler for MS-DOS 5.1
  • Microsoft FORTRAN compiler for OS/2 4.1
  • Microsoft FORTRAN compiler for OS/2 5.0
  • Microsoft FORTRAN compiler for OS/2 5.1

This article was previously published under Q67195

SUMMARY

An ANSI escape sequence can be used within a FORTRAN program to clear the screen. Programs can use a subset of the ANSI 3.64-1979 standard escape sequences to erase the display, set the display mode and attributes, and control the cursor in a hardware-independent manner.

MORE INFORMATION

In real mode, the ANSI.SYS device driver is used to support ANSI escape sequences. It is installed in the CONFIG.SYS file with the following command:
   DEVICE=[drive:][path]ANSI.SYS
				
In protected mode, support for ANSI escape sequences come from an OS/2 AVIO ("advanced video input/output") function.

An ANSI escape sequence is a sequence of ASCII characters, the first two of which must be the escape character (char(27)) and the left-bracket character ([). The characters following the escape and left-bracket characters vary with the type of control function being performed.

An escape sequence cannot be entered directly at the system prompt because each ANSI escape sequence must begin with an escape character. If you press the ESC key, MS-DOS cancels the command line.

The following program uses the ANSI escape sequence (ESC[2J) to clear the screen:
      character*1 clrstr(4)
      data clrstr /' ','[','2','J'/ 
      clrstr(1) = char(27)            ! Escape character (ASCII 27).
      write (*,'(1x,4a1\)') clrstr    ! You must use a 1x as the first
      end                             ! part of the format specifier
                                      ! to ensure output of escape
                                      ! character.
				
The CHAR(int) intrinsic function is used to form either printing or nonprinting characters using the corresponding integer from the ASCII table.

Modification Type:MajorLast Reviewed:12/1/2003
Keywords:KB67195