1 SCREENCTL
     This program is used to perform a range of terminal screen
     attributes and characteristics functions. Such things as drawing
     lines, boxes, clearing parts or all of the screen, getting user
     input, and turning on and off the local echo.  See Command_functions
     for more information on functions performed by SCREENCTL.

  Format:
              $ SCREENCTL function [Parameters] [/Qualifiers]
2 ACCESS_METHODS
     There are three ways to access SCREENCTL functions.
3 Foreign_commands
[4mMETHOD #1  FOREIGN COMMANDS[0m

In order to use this program, using foreign commands, global
symbols should be set up using the following command format;

                  $ sym :==$disk:<dir>SCREENCTL func
Where:
      sym   being the global symbol to be connected to the function.
      disk    "   the logical device where the program is located.
      <dir>   "   the directory where the program is located.
      func    "   the function to be performed.

      Example:

      $ BOX :==$SYS$COMMON:<SYSEXE.UTILITIES>SCREENCTL BOX

      This example defines BOX to execute SCREENCTL to
      perform the box drawing function. To use BOX the following
      would be found in a command procedure;

      $ BOX 1 1 80 3

      This will draw a box on the screen starting on line 1
      column 1 and 80 columns across the screen and be 3 lines deep.

      The program SCREENCTL.EXE will create all the Global symbols
      required to execute all the functions listed under
      Command_functions.

      $ MCR disk:<dir>SCREENCTL CREATE

      Where:   
      disk  being the logical device where the program is located.
      <dir>   "   the directory where the program is located.

      A logical named SCREEN$CTL will be created in the process' JOB
      logical table which will point to the directory where SCREENCTL
      is located. The global symbols created will use this logical.
      Eg. The Symbol BOX will be declared as;

      $SCREEN$CTL BOX

      The following functions are supported by SCREENCTL, but
      are not created symbols during the create option;
                    CLED, GETCMN, LED, LEDx, PUTCMN.
      These symbols can be created using the access method #1
      described on page one.

      If a command procedure was used to execute various SCREENCTL
      functions, each line of the command procedure can have more
      than one command. These functions must be separated by a back
      slash "\".

      Example:
              $ CLEAR \BIG 1 8 "Windsor Board of Education"\BOX 3 2 77 1
                      
      This line will execute three SCREENCTL commands;

           1) CLEAR 
           2) BIG   
           3) BOX   

      Notice the space separating the first command and first
      Back Slash. This space is required to ensure proper running
      of all functions.  This is because the back slash can be
      part of a symbol name.
3 File_input
      [4mMETHOD #2  FILE INPUT[0m

            If SCREENCTL.EXE is executed using the DCL RUN command,
            Eg. $ RUN SCREENCTL.  A file named "SCREEN$CTL.INPUT" is
            searched for in the current default directory.  If the file
            is present, it is used as input for any SCREENCTL commands.
            When executed using the DCL "MCR" command a user supplied
            file name can be used in place of the default file name.
            Eg. $ MCR SCREENCTL SCREEN1.DAT  The user supplied file name
            can be any file name which complies to the VMS file naming
            structure.  The files can contain any number of SCREENCTL
            commands, but [4mONLY ONE[0m command per line.

3 Job_stream
[4mMETHOD #3  JOB STREAM[0m

   If SCREENCTL.EXE is executed using the DCL command;
   $ MCR SCREEN$CTL SYS$INPUT
   within a command procedure, the program will read the
   SCREENCTL commands which follow the execute command in
   the command procedure.

   Example:
           $ MCR SCREEN$CTL SYS$INPUT
           CLEAR
           BIG 1 8 "Windsor Board of Education"
           BOX 3 2 77 1
           SCROLL 5 24
           EXIT
           $ EXIT

   As in method #2, [4mONLY ONE[0m command per line.
   Last Statement is EXIT, If exit command is missing and
   SCREENCTL reads a DCL command, an attempt to execute the
   DCL command will be made. This Will cause the termination
   of SCREENCTL.
2 Command_Functions
    The following commands are available under SCREENCTL;
3 BBIG
Same function as BIG but displays characters in [1mBOLD[0m video.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 BBOX
Draw a box in [1mBOLD[0m video.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 BEEP
Rings the terminal bell.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 BIG
Position cursor and display string in large characters.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 BLACK
Set terminal screen to Light characters dark back ground.
3 BLINK
Position cursor and display string in [05mFLASHING[0m video.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 BOLD
Position cursor and display string, in [1mBOLD[0m video.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 BOTTOM
Draw a Horizontal line at the bottom of the screen.
3 BOX
Draw a box on the screen.  You can draw up to three boxes with one
BOX command.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 BPOS
Position cursor and display string, and ring terminal bell once.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 BRIGHT
Turn on [1mBOLD[0m video.
3 BRPOS
Position cursor and display string, in [1mBOLD[0m video.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 CLEAR
Clear all or part of terminal screen.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 CLED
Turn off all LEDs on the VT100 keyboard.
3 CURSOR
Move Cursor and Display Text, Turn cursor on and off.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 ECHO
Turn character echo on.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 FPOS
Position cursor and display string in [05mFLASHING[0m video.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 GETAR
Wait for user to press one of the four arrow keys (^,V,>,<)

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 GETFUNC
Wait for user to press any of the VT220 function keys.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 GETCMN
Recall string data from the process common area.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 GETPF
Wait for user to press one of the four PF keys.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 GPOS
Position Cursor and display special graphic character.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 HLINE
Draw a Horizontal line on the screen.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 JUSTIFY
Left, Right, or Center Justify text supplied.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 LED / LEDx
Turn on/off the L1-L4 leds on a VT100 type terminal.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 LINE
Position cursor on a screen line. Option to clear that line.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 LPOS
Position cursor on a screen line. Option to clear that line.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 MORE
Display "Press <RETURN>" on line 24 and wait for user to Press <CR>
3 NOECHO
Turn character echo off.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 PAUSE
Halt procedure execution for given number of seconds, or until
specified time of day.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 PDINQ
Position cursor, Display string and wait for user input.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 POS
Position cusor and display string.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 PUTCMN
Store a string into a process common area.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 RPOS
Position cusor and display string in [07mREVERSE[0m video.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 SCRAM
Same as BIG but randomly display characters on line.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 SCROLL
Set scrolling reagion or JUMP/SMOOTH scroll.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 SPOS
Position Cursor and display special graphic character.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 SQUEEZE
Set screen scrolling region and display upper and lower border.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 TOP
Position cursor in top left position.(HOME).
3 UNBOX
Remove BOX from screen.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 UNDERLINE
Position cursor and display string in [4mUNDERLINE[0m video.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 UNSQUEEZE
Cancel SQUEEZE function and set screen to full scroll.
3 VLINE
Draw a vertical line on screen.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
3 WHITE
Set terminal screen to light back ground,Dark characters.
3 WINDOW
Draw a box with optional extra Horizontal and vertical lines.

For more help on this or other functions enter  RUN SCREEN$CTL
at the DCL prompt.
2 Examples

$ CLEAR LINE 12      - Clear line 12 of the screen.

$ CLEAR LINE 2 4 6   - Clear lines 2 4 and 6.

$ VLINE 5 30 6       - Draw a vertical line starting at line 5 col. 30 and
                       down the screen for 6 lines.

$ HLINE 2 1 80       - Draw a horizontal line on line 2 starting at column 1
                       across the screen for 80 columns.

$ BOX 4 9 47 4       - Draw a box starting on line 4 column 9 across the
                       screen for 47 columns and 4 lines deep.

$ BOX 1 1 80 1  22 1 80 1

             - Draw two boxes the 1st starting line 1 col. 1 for
             80 columns across 1 line deep. The 2nd line 22 
             column 1 80 columns across the screen 1 line deep.

$ BIG 2 5 "NEW"      - Position the cursor on line 2 column 5 and print
                       the word NEW in large letters.

$ POS 5 11 "''F$LOGICAL("DISK1:")'"

             - Position the cursor on line 5 column 11 and print the
             logical value of DISK1:

$ RPOS 4 25 " Clearing Out Directory "

             - Position the cursor on line 4 column 25 and display
             the message " Clearing Out Directory "
             in [07mREVERSE[0m video.

$ PDINQ 7 8 ANS "Run Program # 087 ==> "

             - Position cursor on line 7 column 8 and display the
             string "Run Program # 087 ==> " and the cursor will
             hold at the end of the string and wait for user input.

$ PDINQ 7 8 ANS /SIZE=1/TIME "Run Program # 087 ==> "

             - Position cursor on line 7 column 8 and display the
             string "Run Program # 087 ==> " and the cursor will
             hold at the end of the string and wait for user input.
             /SIZE=1 option is used to allow only 1 character to
             be entered and the input will be terminated without the
             user be required to press the RETURN key.
             /TIME option allows the user the default of 10 minutes
             to enter a response .

$ PDINQ 7 8 ANS /TIME=01:00 "Run Program # 087 ==> "

             - Position cursor on line 7 column 8 and display the
             string "Run Program # 087 ==> " and the cursor will
             hold at the end of the string and wait for user input.
             /TIME option allows the user 1 minute to enter a
             response. The form mm:ss is used to set the time limit.
             If values are less than 10, all zeros must be entered.
             Eg. Although 1 minute is allowed for a response, :00
             must be entered to complete the proper syntax of the
             option.

$ GETPF 15 20 P_F  - Position the cursor on line 15 column 20 and wait for
                   one of the 4 PF keys to be pressed. The symbol "P_F"
                   will be set to a value of 1 thru 4 depending on which
                   PF key is pressed.

$ WINDOW 1 1 80 10 15 40
                   - Draw a box starting on line 1 column 1 across the
                   screen for 80 columns and 10 lines deep, Also draw
                   a horizontal line thru the box at line 15, and a
                   vertical line thru the box in column 40.



$ WINDOW 1 1 80 10 0 40
                   - Draw a box starting on line 1 column 1 across the
                   screen for 80 columns and 10 lines deep, Also draw
                   a vertical line thru the box in column 40 without
                   drawing a horizontal line.

$ WINDOW 1 1 80 20 4,15 20,40,60
                   - Draw a box starting on line 1 column 1 across the
                   screen for 80 columns and 20 lines deep, Also draw
                   two(2) horizontal lines, one on line 4 and the other
                   on line 15. Then draw 3 vertical lines columns 20, 40
                   and 60.
