VUESCR.SBR




 FUNCTION: Allows display and editing of a variable in a VUE-like manner from
           an AlphaBasic program.

 HINTS/RESTRICTIONS: User is limited to visual output of terminal in use.
                     24 line, 80 columns or whatever the terminal is
                     capable of handling. The variable string to be edited
                     must be Mapped in the basic program and must be a
                     String or Unformatted variable.

       Example mappings:

       MAP1 STRING,X,256

       or

       MAP1 STRING
               MAP2 ARRAY(4),S,64

       or

       MAP1 STRING
               MAP2 ARRAY(8),S,32


       The variable STRING is what VUESCR will edit and it will edit all
       of the above mapped versions equally well. The ARRAY's where added
       so that manipulation of the variable would be easier to access in
       the Basic program if neccessary and would facilitate a better
       understanding in the case of how many characters per line were
       actually being edited. As in the case of MAP2 ARRAY(4),S,64 would
       be used in a 4 line 64 character editing screen. (MAXROW=4:MAXCOL=64).
       The MAP2 ARRAY(8),S,32 would describe a 8 row by 32 column editing
       screen. (MAXROW=8:MAXCOL=32).

       Map the maximum rows, maximum column , starting row, and starting
       columns as floating point numbers

       MAP1 ROWS,F,6
       MAP1 COLUMNS,F,6
       MAP1 STARTROW,F,6
       MAP1 STARTCOL,F,6

       See VUESCR.BAS


 FORMAT:  XCALL VUESCR, STRING, MAXROW, MAXCOL, STARTROW, STARTCOL, RTNCDE

          WHERE:
               STRING   = Mapped String or Unformatted Variable
               MAXROW   = Maximum number of rows to be used
               MAXCOL   = Maximum number of columns to be used
               STARTROW = Row number to start display and edit on
               STARTCOL = Column number to start display and edit on
               RTNCDE   = Return code of exit characters (Binary variable)
                          ESC = 27
                          ^C  = 3
                          ^R  = 18
                          ^T  = 20
                          If RTNCDE is not defined then ^R or ^T will
                          not exit subroutine or return value.

 DEFAULTS: None


 OPERATION:
             Place:
             XCALL VUESCR,string,maxrow,maxcol,startrow,startcol,{rtncde}
       in your AlphaBASIC program where you want to edit a variable in
       a VUE-like manner. VUESCR will print the STRING within the area
       defined by MAXROW and MAXCOL and print the string starting on
       row and column number defined by STARTROW and STARTCOL and then
       begin to print data on every column until the MAXCOL is reached
       and then start a new row and continue until MAXROW has been reached.
       Null characters or unprintable characters of a mapped
       STRING will be displayed as a low intensity * (star). Editing of
       the variable may begin. The editing is very similar to the editing
       of text in ALPHAVUE. When the user is finished editing the variable
       or wishes to exit from editing, an ESCAPE key will return the user
       to the AlphaBASIC program. All editing changes made while in VUESBR
       will be retained and returned in the STRING variable.

COMMAND SUMMARY:

       Commands available in VUESCR


   ^A - prev word    ^H - left arrow   ^M - Return       ^W - next word
   ^C - abort        ^J - down arrow   ^N - end of line  ^Y - erase EOL
   ^D - delete       ^K - up arrow     ^U - beg of line  ^Z - erase line
   ^E - end page     ^L - right arrow  ^V - erase word   ESC - exit
   ^^ - home         ^F - insert space ^I - Tab 8 spaces



 CHARACTERISTICS:

       Allows editing of a variable in a VUE-like manner and returns
       the edited variable back to the basic program.
       Will start the Row display on the number defined by STARTROW and
       STARTCOL and will stay within the edit area defined by MAXROW and
       MAXCOL in a basic program

 NOTE:

      This program is not part of the original AMOS/L operating system
      distributed  by  Alpha  Microsystems.

      The author of this program is: James A. Jarboe IV
                                     1401 19th Street
                                     Huntsville, TX  77340
                                     1-409-295-5767
                                     GR/AM

      This command was donated by: James A. Jarboe IV

      Distributed by the Alpha Micro Users  Society,  735  Walnut St.,
      Boulder, CO  80302. (303) 449-6917.