          Open!EDIT v0.99h          Custom Help Screen Documentation
          



          Introduction
          

          Open!EDIT  provides a  unique way  of giving help  to your
          users: a small script language.

          Upon  receiving a  request for  help  (Ctrl+U),  Open!EDIT
          loads  the script file OEHELP.MAC.  This script file  con-
          trols the text Open!EDIT  displays, where it is displayed,
          which  colors to use,  when to wait  for a keypress,  what
          action  to take upon  receipt of a  certain keypress,  and
          more.



          File Layout
          

          The script  language is relatively basic.  If you are fam-
          iliar  with  any  any  other  programming languages,  this
          script  language will  most likely  seem very  simplistic.
          The following are some  basic guidelines  for editing  the
          script file:

             Any text after a  semicolon (;) is  considered to be
              a comment  and is ignored.

             Blank lines are ignored.

             Every non-blank, non-comment line in the file serves
              one of two purposes:

              1. If the  line starts with an "at" symbol (@),  the
                 line is  considered to be a special  command code
                 (see below).
              2. If not, the line is displayed to the user.



          Command Code: Set Window
          

          Code: @WINDOW

          This must be  the first command  in the script.  It  tells
          Open!EDIT to  draw a  box on the  screen  for text  to  be
          displayed in.


          Parameters: xcoord,ycoord,width,height

             xcoord: The x-coordinate of the box's top-left corner.
             ycoord: The y-coordinate of the box's top-left corner.
             width : The width (horizontal) of the box.
             height: The height (vertical) of the box.


          Example: @WINDOW 55,6,24,14

             Sets a window at (55,6) that is 24 characters wide, 14
              characters tall.



          Command Code: Set Label
          

          Code: @LABEL

          Sets a label at the current position for  use with a @GOTO
          command.


          Parameters: labelnumber

             Labelnumber *must* be a number between 1 and 30.


          Example: @LABEL 5

             Sets label #5 at the current position in the script.



          Command Code: Goto Label
          

          Code: @GOTO

          Jumps to the specified label in the script file.


          Parameters: labelnumber

             Labelnumber *must* be a number  between 1 and 30,  and
              MUST be defined  somewhere within the script file with
              the @LABEL command.


          Example: @GOTO 5

             Jumps to the  line in the script  file after  the line
              containing the @LABEL 5 command.



          Command Code: Move Cursor
          

          Code: @MOVE

          Moves the cursor to the specified screen coordinates.


          Parameters: xcoord,ycoord

             xcoord: The x-coordinate to move the cursor to.
             ycoord: The y-coordinate to move the cursor to.

              Please note that these coordinates are RELATIVE TO THE
              WINDOW!  If your window's top-left corner is at (5,7),
              and you use "@MOVE 8,15",  your cursor will end  up at
              screen  position (5+8,15+7), or (13,22).


          Example: @MOVE 30,5

             Moves the cursor to (30,5).



          Command Code: Get Key
          

          Code: @GETKEY

          Waits for  the user to press a key,  and stores the result
          for later use.

          Parameters: <none>

          Example: @GETKEY

             Waits for the user to press a key, then resumes script
              processing.



          Command Code: Compare
          

          Code: @CMP

          Compares two items  to see if they are the  same.  The re-
          sult  (LESS, GREATER, EQUAL, or NOTEQUAL)  is then  stored
          for later use.


          Parameters: item1,item2

             item1: the item being examined
             item2: the expression to compare item1 to


          Example: @CMP KEY,A

             Compares the value of KEY  (the variable in  which the
              last key read by GETKEY is stored) to the letter 'A'.


          Other possible values of KEY:

             UP     - User pressed the UP arrow
             DOWN   - User pressed the DOWN arrow
             ESCAPE - User pressed the ESCAPE key
             HOME   - User pressed the HOME key
             PGUP   - User pressed the PAGEUP key
             LEFT   - User pressed the LEFT arrow
             RIGHT  - User pressed the RIGHT arrow
             END    - User pressed the END key
             PGDN   - User pressed the PAGEDOWN key
             ENTER  - User pressed the ENTER key
             (any other letter, number, or ASCII character is also valid).



          Command Code: IF
          

          Code: @IF

          Checks the result of a @CMP command.  If the result of the
          @CMP command matches <condition>,  the line after  the @IF
          command is executed.  If they do NOT match, the line after
          the @IF command is NOT executed.


          Parameters: condition

             condition: One  of  the  following:  EQUAL,  NOTEQUAL,
                         GREATER, or LESS.


          Example: First Line : @IF EQUAL
                   Second Line: Hello

             In the above two-line check,  if the last @CMP command
              returned EQUAL, the text "Hello" would be displayed in
              the window.  The second line  can be any  valid script
              command or simply plain text to be displayed.



          Command Code: End
          

          Code: @END

          Terminates the script.

          Parameters: <none>

          Example: @END

             Would stop the script immediately if encountered.





          Control Codes
          

          In addition to  the list of command codes, there is also a
          variety of control codes available for use when displaying
          plain text to the user.  When these control  codes are in-
          serted into text, special effects are achieved.

             |NC  Inserts the ANSI color code for "Frame-1"
             |HC  Inserts the ANSI color code for "Frame-2"
             |PC  Inserts the ANSI color code for "Frame-3"
             |BC  Inserts the ANSI color code for "Frame-4"
             |FZ  Inserts the ANSI color code for "Fade"
             |FC  Inserts the ANSI color code for "Capitals"
             |FL  Inserts the ANSI color code for "Lowercase"
             |FS  Inserts the ANSI color code for "Symbols"
             |FD  Inserts the ANSI color code for "Digits"
             |IC  Inserts the ANSI color code for "Input Capitals"
             |IL  Inserts the ANSI color code for "Input Lowercase"
             |ID  Inserts the ANSI color code for "Input Digits"
             |IS  Inserts the ANSI color code for "Input Symbols"

             |xy  Inserts a specific ANSI color code.  The 'x' rep-
                   resents the background color (0-7).  The 'y' rep-
                   resents the foreground color (hexadecimal, 0-F).

             %VNB%  Inserts the current Open!EDIT version number.

          Examples: |0FHello, the word |09tripod|0F is in blue.
                    |FC CAPITALS |FL lowercase |FD 012345 |FS !@#$
                    |0FThe current version number is |FD%VNB%|0F!



          Learning
          

          Still not  sure that you  understand?  We suggest that you
          simply take  a look at  the default CEHELP.MAC  and exper-
          iment with it for awhile.  Make sure  you have a backup on
          hand just  in case something doesn't work  the way you ex-
          pected it to.

          Remember: You can't (as far as we know :-) in any way dam-
                    age Open!EDIT by experimenting with OEHELP.MAC,
                    so feel free to play with it!

          

          End of OEHELP.TXT
          
