Sage-ST ä

Display

Documentation

Global Declarations (Constants, Types, Variables)
AutoClearField ChangeFormField ClearColorScheme
CopyScreen DefineColorScheme DefineColorSwap DefineFormFieldEntryProc
DefineFormIntercept DefineFunctionKey DefineUserHelp DefineVariableArray
DefineWindowLoc DisableMouse DisplayBackground DisplayBackgroundV
DisplayError DisplayForm DisplayFormV DisplayFormVIP
DisplayMessage EnableMouse ForceFieldCheck ForcedHelpReturn
FormFieldOverflow GetColorMode GetFunctionKey KeyFunctionNumber
LastExitChar LastExitFunction RefreshCheckScreen RemoveFormIntercept
RemoveUserHelp ResetForm RestoreKeyDefinitions RestoreScreen
SaveKeyDefinitions SaveScreen ScrollEnumerationList ScrollForm
ScrollFormBackground ScrollFormQueueSize SelectDefaultKeyboard SelectKeyboard
SetColorMode SetMessageColor SetMessageStyle UnloadAllForms
UnloadForm VariableIndex





  subtype HelpProc is SageSpec.HProcType;

  type HPROC is access
  procedure (currentForm          : in     System.Address;
             CurrentForm_High     : in     ModSys.S_Natural;
             currentRelation      : in     System.Address;
             CurrentRelation_High : in     ModSys.S_Natural;
             currentField         : in     System.Address;
             CurrentField_High    : in     ModSys.S_Natural;
             fieldRepeat          : in     ModSys.S_Natural;
             OccurrenceNumber     : in     ModSys.S_Natural);

  pragma Convention
          (WIN32,
           HPROC);




  procedure AutoClearField
             (enabled : in     boolean);

  --*
  --  AutoClearField - Automatically clear field, on new data entry.
  --
  --
  --  This procedure alters the default editing mode behavior for
  --  "display/entry" type fields on SAGE forms.  When "AutoClearField"
  --  mode is disabled (the default SAGE mode), form "display/entry" type
  --  fields operate in an "overwrite" type mode.  When the cursor
  --  enters a form field that contains existing data, the user may
  --  overwrite part of the field data, without affecting the remaining
  --  data.  When the user exits the field, the current field data is
  --  accepted and processed by the form logic.
  --
  --  When "AutoClearField" mode is enabled, form "display/entry" type
  --  fields operate in a "clear and overwrite" type mode.  When the cursor
  --  enters a form field, if a non SAGE function type key is pressed,
  --  the field is automatically cleared, and the typed character is
  --  displayed in the field.  (SAGE function keys include such keys
  --  as "rightArrow", "leftArrow", etc.)  If the user enters a SAGE
  --  function key (such as rightArrow) as the first key in the field,
  --  the field will not be cleared and will behave as if the
  --  "AutoClearField" mode were disabled.  Thus, to achive an
  --  "overwrite" on existing field data (while "AutoClearField" is
  --  enabled), the user may type a "rightArrow", "leftArrow" combination,
  --  before entering the new field data.  (The leftArrow key is only
  --  required if you want to start editing in the first character position
  --  of the field.)
  --
  --  CALLING SEQUENCE -
  --
  --    AutoClearField (True)
  --
  --  ENTRY -
  --
  --    Enabled : BOOLEAN
  --      If Enabled = TRUE, enable the "AutoClearField" mode for form
  --      "display/entry" type fields.  Otherwise, disable the
  --      "AutoClearField" mode.
  --




  procedure ChangeFormField
             (FormName            : in     string;
              Relation            : in     string;
              Field               : in     string;
              entryType           : in     ModSys.S_Integer;
              standardAppearance  : in     ModSys.S_Integer;
              highlightAppearance : in     ModSys.S_Integer);

  --*
  --  ChangeFormField - Change attributes of a form field.
  --
  --
  --  This procedure allows the changing of the attributes of a
  --  field on the form for as long as the form appears in memory.
  --  Since the changed values are only true as long as the form is
  --  in memory, it should be used while already in a form or just
  --  prior to displaying a form.  Otherwise, accessing other
  --  relations or displaying other forms may cause the form in
  --  question to be released from memory and thus revert back to
  --  the original form's definition.
  --
  --  Following is a list of the appearances associated with the integers
  --  0-255.  These are used for the standardAppearance and
  --  highlightAppearance parameters.
  --
  --     appear.  foreground        background
  --     ------   ----------        ----------
  --      0       black             black
  --      1       blue              black
  --      2       green             black
  --      3       cyan              black
  --      4       red               black
  --      5       magenta           black
  --      6       brown             black
  --      7       white             black
  --      8       gray              black
  --      9       light blue        black
  --     10       light green       black
  --     11       light cyan        black
  --     12       light red         black
  --     13       light magenta     black
  --     14       yellow            black
  --     15       light white       black
  --     16..31   (same as 0..15)   blue
  --     32..47   (same as 0..15)   green
  --     48..63   (same as 0..15)   cyan
  --     64..79   (same as 0..15)   red
  --     80..95   (same as 0..15)   magenta
  --     96..111  (same as 0..15)   brown
  --     112..127 (same as 0..15)   white
  --     128..255 (same as 0..127 except blink foreground)
  --
  --  CALLING SEQUENCE -
  --
  --    ChangeFormField (formName, relation, field, entryType,
  --                     standardAppearance, highlightAppearance)
  --
  --  ENTRY -
  --
  --    formName : string
  --      Name of form which contains fields to change.
  --
  --    relation : string
  --      Name of relation in which specified field resides.
  --
  --    field : string
  --      Name of field (repeat value in [] is optional) in indicated relation.
  --
  --    entryType : ModSys.S_integer
  --      New value of field entry type -
  --        -1 = keep current entry type
  --         0 = display only
  --         1 = entry and display
  --         2 = highlighted
  --
  --    standardAppearance : ModSys.S_integer
  --      New appearance for the field (0..255) or (-1) if the current
  --      standard appearance should be used without change.
  --
  --    highlightAppearance : ModSys.S_integer
  --      New highlight appearance for the field (0..255) or (-1) if the
  --      current highlight appearance should be used without change.
  --
  --  EXIT -
  --
  --    Sage.SageError : ModSys.S_natural
  --      An error flag indicating the result of the operation.
  --




  procedure ClearColorScheme;

  --*
  --  ClearColorScheme - Clear the color scheme table.
  --
  --
  --  This procedure clears the color scheme table of all entries.
  --  For an explanation of this refer to the 'DefineColorScheme'
  --  procedure.
  --
  --  CALLING SEQUENCE -
  --
  --    ClearColorScheme;
  --




  procedure CopyScreen
             (FileName : in     string);

  --*
  --  CopyScreen - Copy the current contents of the screen to a file.
  --
  --
  --  This procedure copies the current contents of the screen to the
  --  end of the file named in "fileName."  An ASCIIX.FF (form feed)
  --  character is written following the last 'screen' written to the
  --  file.
  --
  --  CALLING SEQUENCE -
  --
  --    CopyScreen (fileName)
  --
  --  ENTRY -
  --
  --    fileName : string
  --      Name of file to write 'screen image' to.
  --




  procedure DefineColorScheme
             (schemeName       : in     string;
              replacementColor : in     ModSys.S_Integer);

  --*
  --  DefineColorScheme - Change named standard color on forms.
  --
  --
  --  This procedure causes the colors on forms to be displayed to be
  --  redefined.  Any color on a form which is displayed after this
  --  procedure is executed and which corresponds to the original
  --  'schemeName' color will be converted to the 'replacementColor'.
  --  To deactivate this replacement process, execute the
  --  'ClearColorScheme' procedure.
  --
  --  The color characters are 8 bit entities with each bit
  --  having a meaning as follows:
  --
  --       BIT         MEANING (1=ON, 0=OFF)
  --       ---     -----------------------------
  --       0       Foreground blue
  --       1       Foreground green
  --       2       Foreground red
  --       3       Foreground intensity (1=hi, 0=lo)
  --       4       Background blue
  --       5       Background green
  --       6       Background red
  --       7       Foreground blinking
  --
  --  By using a combination of settings, various colors and effects
  --  may be generated.  For example:
  --
  --       COLOR                         BITS SET          CHAR. #
  --       ------                  ---------------------   -------
  --       light red on black      2 3                       12
  --       dark green on yellow    1 5 6                     98
  --       yellow on black         1 2 3                     14
  --       cyan on red             0 1 3 6                   75
  --       magenta on black        0 2 3                     13
  --       white on black          0 1 2 3                   15
  --       black on white          4 5 6                    112
  --
  --  CALLING SEQUENCE -
  --
  --    DefineColorScheme (schemeName, replacementColor)
  --
  --  ENTRY -
  --
  --    schemeName : string
  --      Standard scheme name representing the color to change on the forms.
  --
  --    replacementColor : ModSys.S_integer
  --      Color to replace 'schemeName' color wherever it appears on the form.
  --
  --  EXIT -
  --
  --    Sage.SageError : ModSys.S_natural
  --      An error flag indicating the result of the operation.
  --




  procedure DefineColorSwap
             (originalColor    : in     ModSys.S_Integer;
              replacementColor : in     ModSys.S_Integer);

  --*
  --  DefineColorSwap - Define color element of std color table.
  --
  --
  --  This procedure defines a color element of the standard color
  --  table which is used to redefine colors on forms to be displayed.
  --  Any 'originalColor' on a form which is displayed after this
  --  procedure is executed will be converted to the 'replacementColor'.
  --  To deactivate this replacement process, execute this procedure
  --  with the same value for the 'originalColor' and the
  --  'replacementColor'.
  --
  --  The color characters are 8 bit entities with each bit
  --  having a meaning as follows:
  --
  --       BIT         MEANING (1=ON, 0=OFF)
  --       ---     -----------------------------
  --       0       Foreground blue
  --       1       Foreground green
  --       2       Foreground red
  --       3       Foreground intensity (1=hi, 0=lo)
  --       4       Background blue
  --       5       Background green
  --       6       Background red
  --       7       Foreground blinking
  --
  --  By using a combination of settings, various colors and effects
  --  may be generated.  For example:
  --
  --       COLOR                         BITS SET          CHAR. #
  --       ------                  ---------------------   -------
  --       light red on black      2 3                       12
  --       dark green on yellow    1 5 6                     98
  --       yellow on black         1 2 3                     14
  --       cyan on red             0 1 3 6                   75
  --       magenta on black        0 2 3                     13
  --       white on black          0 1 2 3                   15
  --       black on white          4 5 6                    112
  --
  --  CALLING SEQUENCE -
  --
  --    DefineColorSwap (originalColor, replacementColor)
  --
  --  ENTRY -
  --
  --    originalColor : ModSys.S_integer
  --      The color to be replaced wherever it appears on the form.
  --
  --    replacementColor : ModSys.S_integer
  --      Color to replace 'originalColor' wherever it appears on the form.
  --




  procedure DefineFormIntercept
             (InterceptProc : in     SageSpec.IProcType);

  --*
  --  DefineFormIntercept - Define keystroke intercept routine for a form.
  --
  --
  --  This routine used to be found in FormChk using the Alsys compiler's
  --  alternate body command.
  --




  procedure DefineFormFieldEntryProc
             (FieldEntryProc : in     SageSpec.EProcType);

  --*
  --  DefineFormFieldEntryProc - Define procedure to be executed upon field entry.
  --
  --
  --  This procedure allows the definition of a procedure to be executed
  --  each time a new field on a form is entered.  This routine used to be
  --  found in CheckLib using the Alsys compiler's alternate body command.
  --
  --  CALLING SEQUENCE -
  --
  --    DefineFormFieldEntryProc (FieldEntryProc)
  --
  --  ENTRY -
  --
  --    EntryProc : SageSpec.EProcType
  --      The name of the procedure to execute.  This procedure
  --      must be of the format of the EPROC type.
  --




  procedure RemoveFormIntercept;

  --*
  --  RemoveFormIntercept - Remove the form intercept request.
  --
  --
  --  This  procedure  remove  the  current  form  intercept procedure
  --  execution defined by the 'DefineFormIntercept' procedure.   This
  --  is the default case.
  --
  --  CALLING SEQUENCE -
  --
  --    RemoveFormIntercept
  --




  procedure DefineFunctionKey
             (keyNumber : in     ModSys.S_Natural;
              c1        : in     character;
              c2        : in     character);

  --*
  --  DefineFunctionKey - Redefine key used in forms.
  --
  --
  --  This procedure allows the redefinition or assignment of a key
  --  to a form function.  If another function has already been
  --  assigned to the key pair being submitted for the current
  --  function, that alternate function is deactivated (or set to
  --  ASCIIX.nul, ASCIIX.nul).  The setting of a function to two
  --  ASCIIX.nul characters deactivates that function.  The following
  --  table gives an example of the C1 and C2 values for various
  --  keys.  Other key function combinations are described in your
  --  DOS technical reference manual.
  --
  --       key       c1'val/c2'val      key       c1'val/c2'val
  --       -------   -------------      -------   -------------
  --       cr           13,  0          Ctrl-A       1 , 0
  --       esc          27,  0          Ctrl-B       2 , 0
  --       ' '          32,  0          Ctrl-C       3 , 0
  --       '0'          48,  0          Ctrl-D       4 , 0
  --       'A'          65,  0          Ctrl-E       5 , 0
  --       'a'          97,  0          Ctrl-F       6 , 0
  --                                    Ctrl-G       7 , 0
  --       Alt-A        0, 30           Ctrl-H       8 , 0
  --       Alt-B        0, 48           Ctrl-I       9 , 0
  --       Alt-C        0, 46           Ctrl-J       10, 0
  --       Alt-D        0, 32           Ctrl-K       11, 0
  --       Alt-E        0, 18           Ctrl-L       12, 0
  --       Alt-F        0, 33           Ctrl-M       13, 0
  --       Alt-G        0, 34           Ctrl-N       14, 0
  --       Alt-H        0, 35           Ctrl-O       15, 0
  --       Alt-I        0, 23           Ctrl-P       16, 0
  --       Alt-J        0, 36           Ctrl-Q       17, 0
  --       Alt-K        0, 37           Ctrl-R       18, 0
  --       Alt-L        0, 38           Ctrl-S       19, 0
  --       Alt-M        0, 50           Ctrl-T       20, 0
  --       Alt-N        0, 49           Ctrl-U       21, 0
  --       Alt-O        0, 24           Ctrl-V       22, 0
  --       Alt-P        0, 25           Ctrl-W       23, 0
  --       Alt-Q        0, 16           Ctrl-X       24, 0
  --       Alt-R        0, 19           Ctrl-Y       25, 0
  --       Alt-S        0, 31           Ctrl-Z       26, 0
  --       Alt-T        0, 20
  --       Alt-U        0, 22           Ctrl-F1      0, 94
  --       Alt-V        0, 47           Ctrl-F2      0, 95
  --       Alt-W        0, 17           Ctrl-F3      0, 96
  --       Alt-X        0, 45           Ctrl-F4      0, 97
  --       Alt-Y        0, 21           Ctrl-F5      0, 98
  --       Alt-Z        0, 44           Ctrl-F6      0, 99
  --                                    Ctrl-F7      0, 100
  --       Alt-F1       0, 104          Ctrl-F8      0, 101
  --       Alt-F2       0, 105          Ctrl-F9      0, 102
  --       Alt-F3       0, 106          Ctrl-F10     0, 103
  --       Alt-F4       0, 107          Ctrl-F11     0, 137
  --       Alt-F5       0, 108          Ctrl-F12     0, 138
  --       Alt-F6       0, 109
  --       Alt-F7       0, 110          Ctrl-PrtSc   0, 114
  --       Alt-F8       0, 111          Ctrl-Left Ar.0, 115
  --       Alt-F9       0, 112          Ctrl-Rght Ar.0, 116
  --       Alt-F10      0, 113          Ctrl-End     0, 117
  --       Alt-F11      0, 139          Ctrl-PgDn    0, 118
  --       Alt-F12      0, 140          Ctrl-Home    0, 119
  --                                    Ctrl-PgUp    0, 132
  --       Alt-1        0, 120
  --       Alt-2        0, 121          F1           0, 59
  --       Alt-3        0, 122          F2           0, 60
  --       Alt-4        0, 123          F3           0, 61
  --       Alt-5        0, 124          F4           0, 62
  --       Alt-6        0, 125          F5           0, 63
  --       Alt-7        0, 126          F6           0, 64
  --       Alt-8        0, 127          F7           0, 65
  --       Alt-9        0, 128          F8           0, 66
  --       Alt-0        0, 129          F9           0, 67
  --       Alt--        0, 130          F10          0, 68
  --       Alt-_        0, 131          F11          0, 133
  --                                    F12          0, 134
  --       Home         0, 71
  --       up arrow     0, 72
  --       PgUp         0, 73           Shift-F1     0, 84
  --       -            0, 74           Shift-F2     0, 85
  --       left arrow   0, 75           Shift-F3     0, 86
  --       right arrow  0, 77           Shift-F4     0, 87
  --       +            0, 78           Shift-F5     0, 88
  --       End          0, 79           Shift-F6     0, 89
  --       down arrow   0, 80           Shift-F7     0, 90
  --       PgDn         0, 81           Shift-F8     0, 91
  --       Ins          0, 82           Shift-F9     0, 92
  --       Del          0, 83           Shift-F10    0, 93
  --                                    Shift-F11    0, 135
  --                                    Shift-F12    0, 136
  --
  --  The following are the SAGE functions by number.
  --
  --   SAGE
  --   No.     function       Description                       Default Key(s)
  --   -----   -------------   -------------------------------   --------------------
  --
  --   1       forward         move cursor forward 1 position    right arrow
  --   2       backward        move cursor back 1 position       left arrow/backspace
  --   3       up              move cursor up 1 line             up arrow
  --   4       down            move cursor down 1 line           down arrow
  --   5       tab             tab to next entry field           tab
  --   6       backtab         back tab to previous field        shift/tab
  --   7       restore         restore field to original value   Ctrl/R
  --   8       helpexit        exit to associated help form      Esc
  --   9       home            go to first field on form         Home
  --   10      exit            leave form                        Enter
  --   11      clearall        clear all fields on form          Ctrl/Home
  --   12      clearfield      clear field from cursor           Ctrl/End
  --   13      bw              toggle between B&W/color          Ctrl/B
  --   14      help            user help for key functions       Alt/H
  --   15      insert          insert mode                       Ins
  --   16      delete          delete a character                Del
  --   17      copyscreen      copy screen to file SCREEN.CPY    Ctrl/K
  --   18      pagedown        variable field page down          PgDn
  --   19      pageup          variable field page up            PgUp
  --   20      helpabort       exit help form                    F10
  --   21-30   exit1-exit10    special exit functions            [programmer-defined]
  --   31      firstpage       variable field first page         Ctrl/PgUp
  --   32      lastpage        variable field last page          Ctrl/PgDn
  --   33      genhelpexit     exit to general help form         [programmer-defined]
  --   34      fieldInfo       form/relation/field info          Ctrl/F
  --   36      autoHELP        toggle auto helps on and off      Alt/A
  --   37      haltForms       exit all stacked forms            [programmer-defined]
  --   38      userHelp        invoke special user help          [programmer-defined]
  --   39      exitAndReset    exit form & reset to prior values [programmer-defined]
  --   40      clearStart      go to start of field and clear field
  --   41-60   exit11-exit30   special exit functions            [programmer-defined]
  --
  --  CALLING SEQUENCE -
  --
  --    DefineFunctionKey (keyNumber, c1, c2)
  --
  --  ENTRY -
  --
  --    keyNumber : ModSys.S_natural
  --      Number of key function to redefine.
  --
  --    c1 : character
  --      The first character used to define the specified function.
  --
  --    c2 : character
  --      The second character of the pair if the first is ASCIIX.nul.
  --
  --  EXAMPLE -
  --
  --    begin
  --    -- define the special exit 1 key to be invoked by F1
  --
  --      Display.DefineFunctionKey (21,character'val(0),character'val(59));
  --
  --    -- define the special exit 2 key to be invoked by F2
  --
  --      Display.DefineFunctionKey (22,character'val(0),character'val(60));
  --
  --      Display.DisplayForm ("FormName","RelName","FldName",false);
  --
  --    -- evaluate which key was used to terminate the form
  --
  --      if    (Display.LastExitFunction = 21) then
  --        -- special operation matching the execution of the F1 key
  --      elsif (Display.LastExitFunction = 22) then
  --        -- special operation matching the execution of the F2 key
  --      elsif (Display.LastExitFunction = 10) then
  --        -- processing of normal form exit
  --      end if;
  --




  procedure GetFunctionKey
             (keyNumber : in     ModSys.S_Natural;
              c1        : in out character;
              c2        : in out character);

  --*
  --  GetFunctionKey - Get the key for the function.
  --
  --
  --  This procedure gets the key value that is currently associated
  --  with a function.  If both values are nul then the function does
  --  not currently have a key assigned to it.  However some key values
  --  have the first character as nul so both characters must be checked
  --  to ensure that this is the case.
  --
  --  See the DefineFunctionKey documentation for more information
  --  about function keys.
  --
  --  CALLING SEQUENCE -
  --
  --    GetFunctionKey (keyNumber, c1, c2)
  --
  --  ENTRY -
  --
  --    keyNumber : CARDINAL
  --      Number of key function to redefine.
  --
  --  EXIT -
  --
  --    c1 : CHAR
  --      The first character used to define the specified function.
  --      If this is set to nul, then the second char has to be checked
  --      to see if it is nul.
  --
  --    c2 : CHAR
  --      The second character of the pair.
  --




  procedure DefineUserHelp
             (HelpProcedure : in     HelpProc);

  --*
  --  DefineUserHelp - Define the user help procedure.
  --
  --
  --  This procedure provides for the definition of a user help
  --  procedure whenever the USERHELP function is invoked by
  --  the user in one of the following ways -
  --
  --  1)  A help form with the reserved name, USERHELP, is
  --      defined and then encountered during form processing
  --      by the user.
  --
  --  2)  The 'userHelp' function key (# 38) has been activated
  --      by the current program using 'Display.DefineFunctionKey'
  --      and the user presses the associated key.
  --
  --  Any normal procedure calls may be made within this procedure
  --  (HelpProc) to display additional forms, operate on a data base,
  --  etc.  When this procedure is terminated, the program control will
  --  return to the same form location from which the USERHELP was
  --  invoked just as if a normal help form were requested and
  --  terminated.
  --
  --  The USERHELP option may be deactivated using the
  --  'Display.RemoveUserHelp' procedure.
  --
  --  This routine used to be found in HelpLib using the Alsys compiler's
  --  alternate body command.
  --
  --  CALLING SEQUENCE -
  --
  --    DefineUserHelp (HelpProc)
  --
  --  ENTRY -
  --
  --    HelpProc : HPROC
  --      The procedure to be executed when USERHELP is invoked.
  --




  procedure RemoveUserHelp;

  --*
  --  RemoveUserHelp - Remove the call to user help.
  --
  --
  --  This procedure removes the procedure currently defined for
  --  user help.
  --
  --  CALLING SEQUENCE -
  --
  --    RemoveUserHelp;
  --




  procedure DefineVariableArray
             (FormName       : in     string;
              v_Proc         : in     SageSpec.VProcType;
              recordSize     : in     ModSys.S_Natural;
              recordNum      : in     ModSys.S_Natural;
              variableRecord : in     string;
              variableField  : in     string);

  --*
  --  DefineVariableArray - Define array to drive var. field form.
  --
  --
  --  This procedure allows the definition of a procedure which
  --  supplies an array to drive the variable fields of a form.
  --  This is useful if the form is a help form and cannot be
  --  defined by calling one of the 'DisplayFormV...' procedures.
  --  Many form/procedure pair ups may be made by successive calls
  --  to this procedure before 'DisplayFormVIP' or 'DisplayFormV'
  --  are called. 'DisplayFormV' or 'DisplayFormVIP' use these
  --  definitions if any of the forms so defined are invoked.  They
  --  then release all form/array pair definitions when control is
  --  returned to the program.
  --
  --  NOTE:  The fieldBuffer must be global to the package in which it
  --  is declared, and the procedure used to fill the array cannot be
  --  nested.
  --
  --  CALLING SEQUENCE -
  --
  --    DefineVariableArray (formName, ABC, recordSize, recordNum,
  --                         variableRecord, variableField)
  --
  --  ENTRY -
  --
  --    formName : string
  --      Name of form.
  --
  --    vProc : SageSpec.VProcType
  --      Procedure which returns the address of the data to be shown on the
  --      form.
  --
  --    recordSize : ModSys.S_natural
  --      The character size of each record in the fieldBuffer.
  --
  --    recordNum : ModSys.S_Natural
  --      The number of records of size "recordSize" to be displayed.
  --
  --    variableRecord : string
  --      The record part of the variable field definition.
  --
  --    variableField : string
  --      Name of the field(s) on the form to have their contents varied by the
  --      contents of the fieldBuffer.  This field must be a highlighted field.
  --
  --  EXIT -
  --
  --    Sage.SageError : ModSys.S_natural
  --      An error flag indicating the result of the operation.
  --
  --  EXAMPLE -
  --
  --    with Sage;
  --    with Calls;
  --
  --    procedure Test is
  --
  --      buf : string (1..100);
  --
  --    procedure MyDataLoad
  --               (recNum  : in     ModSys.S_Natural;
  --                recNeed : in     ModSys.S_Natural;
  --                bLoc    : in out System.Address) is
  --    begin
  --      -- this procedure loads the 'buf' string with data
  --      bLoc := buf'address;
  --    end MyDataLoad;
  --
  --    procedure A
  --               (recNum  : in     ModSys.S_Natural;
  --                recNeed : in     ModSys.S_Natural;
  --                bLoc    : in out System.Address) is
  --    begin
  --      -- this procedure loads the 'buf' string with data
  --      bLoc := buf'address;
  --    end A;
  --
  --    function Picture_Load is new Calls.D_Check (MyDataLoad);
  --    function ABC is new Calls.D_Check (A);
  --
  --    begin
  --      DefineVariableArray ("Help1",ABC,5,100,"Rel2","Fld");
  --      Display.DisplayFormVIP ("TestForm", "RelName", "FldName", FALSE,
  --                           Picture_Load, 10,1000,"RelName", "VarField");
  --




  procedure DefineWindowLoc
             (FormName : in     string;
              row      : in     ModSys.S_Natural;
              col      : in     ModSys.S_Natural);

  --*
  --  DefineWindowLoc - Temporarily define new form window location.
  --
  --
  --  This procedure allows the relocation of a given form location
  --  on the screen.  The form's height and width cannot be changed
  --  from the original definition.  If the new location will not
  --  allow enough space for the form, its position is not
  --  redefined and a 27 error is returned.  This procedure must be
  --  called just before the 'DisplayForm' procedure is called since
  --  it does not change the original form location on the schema
  --  file and dynamic loading is always occurring in the Sage
  --  system.
  --
  --  The top, left corner of the screen is defined as row 1, column 1.
  --
  --  CALLING SEQUENCE -
  --
  --    DefineWindowLoc (formName, row, col)
  --
  --  ENTRY -
  --
  --    formName : string
  --      Name of requested form.
  --
  --    row : ModSys.S_natural
  --      New row for the top row of the form.
  --
  --    col : ModSys.S_natural
  --      New column for the left column of the form.
  --
  --  EXIT -
  --
  --    Sage.SageError : ModSys.S_natural
  --      Error status return (27 if it will not fit).
  --




  procedure DisableMouse;

  --*
  --  DisableMouse - Disable the mouse for use within SAGE.
  --
  --
  --  This procedure disables an installed mouse for use within
  --  SAGE.  The mouse may be enabled when required using the
  --  "Display.EnableMouse" function.  When disabled, the mouse does
  --  not appear nor is usable within SAGE forms.
  --




  procedure DisplayBackground
             (FormName : in     string;
              Default  : in     boolean);

  --*
  --  DisplayBackground - Display background form.
  --
  --
  --  This routine loads and displays a form on the screen.  The
  --  routine does not wait for user input.  The user must have
  --  created the form with the form editor and have opened the data
  --  base prior to this call.  The user may optionally cause the
  --  record buffers associated with a form to be initialized to
  --  their default values.
  --
  --  CALLING SEQUENCE -
  --
  --    DisplayBackground (FormName, Default)
  --
  --  ENTRY -
  --
  --    FormName : string
  --      The name of the form to be displayed.
  --
  --    Default : boolean
  --      Flag indicating whether the default values should be set in record
  --      buffers associated with this form.
  --
  --  EXIT -
  --
  --    Sage.SageError : ModSys.S_natural
  --      An error flag indicating the result of the operation.
  --




  procedure DisplayBackgroundV
             (FormName       : in     string;
              Default        : in     boolean;
              fieldBuffer    : in out string;
              recordSize     : in     ModSys.S_Natural;
              recordNum      : in     ModSys.S_Natural;
              variableRecord : in     string;
              variableField  : in     string);

  --*
  --  DisplayBackgroundV - Display a form.
  --
  --
  --  This routine loads and displays a form on the screen.  The
  --  user must have created the form with the form editor and have
  --  opened the data base prior to this call.  The user may
  --  optionally cause the record buffers associated with a form to
  --  be initialized to their default values.  This differs from the
  --  normal "DisplayBackground" because of the defined variable
  --  field.  This is similar to 'DisplayFormV'.
  --
  --  This differs from the "DisplayFormV" procedure, since it only
  --  displays the form along with highlighted areas updated from
  --  the buffer and does not require user input before leaving.
  --
  --  NOTE:  The fieldBuffer must be global to the package in which it
  --  is declared.
  --
  --  CALLING SEQUENCE -
  --
  --    DisplayBackgroundV (FormName, Default, fieldBuffer, recordSize,
  --                        recordNum, variableRecord, variableField)
  --
  --  ENTRY -
  --
  --    FormName : string
  --      The name of the form to be displayed.
  --
  --    Default : boolean
  --      Flag indicating whether the default values should be set in the record
  --      buffers associated with this form.
  --
  --    fieldBuffer : string
  --      Array containing contents of variable definition fields on the form.
  --
  --    recordSize : ModSys.S_natural
  --      The character size of each record in the fieldBuffer.
  --
  --    recordNum : ModSys.S_Natural
  --      The number of records of size "recordSize" in the "fieldBuffer".
  --
  --    variableRecord : string
  --      The record part of the variable field definition.
  --
  --    variableField : string
  --      Name of the field(s) on the form to have their contents varied by the
  --      contents of the fieldBuffer.  This field must be a highlighted field.
  --
  --  EXIT -
  --
  --    Sage.SageError : ModSys.S_natural
  --      An error flag indicating the result of the operation.
  --




  procedure DisplayError
             (errorNum : in     ModSys.S_Natural;
              Bell     : in     boolean);

  --*
  --  DisplayError - Display a message.
  --
  --
  --  This routine loads and displays a message associated with one
  --  of the Sage.SageError values on the screen.  The user may select
  --  whether the bell is rung.  A Sage.SageError of zero will not be
  --  be displayed.
  --
  --  CALLING SEQUENCE -
  --
  --    DisplayError (errorNum, Bell)
  --
  --  ENTRY -
  --
  --    errorNum : ModSys.S_natural
  --      The sage error message number (see Sage.SageError).
  --
  --    Bell : boolean
  --      Flag indicating whether to ring the bell prior to the message.
  --




  procedure DisplayForm
             (FormName : in     string;
              Relation : in     string;
              Field    : in     string;
              Default  : in     boolean);

  --*
  --  DisplayForm - Display a form.
  --
  --
  --  This routine loads and displays a form on the screen.  The
  --  user must have created the form with the form editor and have
  --  opened the data base prior to this call.  The user may
  --  optionally cause the record buffers associated with a form to
  --  be initialized to their default values.
  --
  --  CALLING SEQUENCE -
  --
  --    DisplayForm (FormName, Relation, Field, Default)
  --
  --  ENTRY -
  --
  --    FormName : string
  --      The name of the form to be displayed.
  --
  --    Relation : string
  --      The name of a relation on the form to position the cursor in.  The
  --      default is the top-most, left-most field on the form.
  --
  --    Field : string
  --      Name of a field on the form to position the cursor in.  This field
  --      name may also contain an instruction to position the cursor in a
  --      particular occurrence of a highlighted field by following the field
  --      name with '/n', where n is the number of the occurrence.  For example
  --        "FldName/35"
  --           or
  --        "Stats[3]/24"           (repeating field)
  --
  --    Default : boolean
  --      Flag indicating whether the default values should be set in the record
  --      buffers associated with this form.  Default values can be typed into
  --      one or more of the individual fields (display only and entry fields)
  --      of the form as it is created.  If set to TRUE, then any non-blank values
  --      on the form will be used to first update the associated memory records
  --      before the form is displayed.  If these fields are entry fields and the
  --      user changes them while the form is displayed, the values entered will
  --      be the new default values the next time the form is displayed with
  --      'Default' set to TRUE.  This parameter (Default) is rarely set to
  --      TRUE, except for an occasional form when first displayed.
  --
  --  EXIT -
  --
  --    SageError : ModSys.S_natural
  --      An error flag indicating the result of the operation.
  --
  --  EXAMPLE -
  --
  --    with Sage;
  --
  --    procedure Display_A_Form is
  --    Begin
  --      Sage.OpenSystem ("MYDATA.DFL",5,5,5000);
  --      Display.DisplayForm ("MyForm","MyRel","Fld",FALSE);
  --      Sage.CloseSystem;
  --    end Display_A_Form;
  --




  procedure DisplayFormV
             (FormName       : in     string;
              Relation       : in     string;
              Field          : in     string;
              Default        : in     boolean;
              fieldBuffer    : in out string;
              recordSize     : in     ModSys.S_Natural;
              recordNum      : in     ModSys.S_Natural;
              variableRecord : in     string;
              variableField  : in     string);

  --*
  --  DisplayFormV - Display a form.
  --
  --
  --  This procedure loads and displays a form on the screen just as
  --  the 'DisplayForm' procedure.  It differs from this procedure
  --  because it allows data to be loaded into the specified
  --  highlighted field of the form instead of accepting the data
  --  defined in that field with the original form.  This procedure
  --  requires input of an array for data to be used in the
  --  highlighted fields of a form.
  --
  --  This procedure and the 'DisplayFormVIP' procedure cause the
  --  forms displayed to be in VARIABLE INPUT ARRAY mode.  In this
  --  mode, the 'DefineVariableArray' procedure may be used to
  --  define procedures to load up variable areas of any of the
  --  forms which are tied to the first form specified (such as help
  --  forms).
  --
  --  When the user is presented with a form with this option, the
  --  PgUp, PgDn, up and down arrow keys are used to vary the
  --  contents of the highlighted fields defined by the
  --  'variableRecord' and 'variableField' parameters.  The data to
  --  fill the fields is determined by the user supplied
  --  'fieldBuffer'.
  --
  --  Each record in the supplied buffer of data may be greater than
  --  or equal to the length of the highlighted field in which it is
  --  to be displayed.  This procedure will use only that portion of
  --  each record in the buffer that is required for display in the
  --  associated highlighted field.
  --
  --  NOTE:  The fieldBuffer must be global to the package in which it
  --  is declared.
  --
  --  CALLING SEQUENCE -
  --
  --    DisplayFormV (FormName, Relation, Field, Default, fieldBuffer,
  --                  recordSize, recordNum, variableRecord, variableField)
  --
  --  ENTRY -
  --
  --    FormName : string
  --      The name of the form to be displayed.
  --
  --    Relation : string
  --      The name of a relation on the form in which to position the cursor.
  --      The default is the top-most, left-most field on the form.
  --
  --    Field : string
  --      Name of a field on the form in which to position the cursor.  This
  --      field name may also contain an instruction to position the cursor in
  --      a particular occurrence of a highlighted field by following the field
  --      name with '/n', where n is the number of the occurrence.  For example
  --        "FldName/35"
  --           or
  --        "Stats[3]/24"           (repeating field)
  --
  --    Default : boolean
  --      Flag indicating whether the default values should be set in the
  --      record buffers associated with this form.  Reference the documentation
  --      for this parameter in the 'DisplayForm' procedure argument list.
  --
  --    fieldBuffer : string
  --      Array containing contents of variable definition fields for the form.
  --
  --    recordSize : ModSys.S_natural
  --      The character size of each record in the fieldBuffer.
  --
  --    recordNum : ModSys.S_Natural
  --      The number of records of size "recordSize" in the "fieldBuffer".
  --
  --    variableRecord : String
  --      The record part of the variable field definition.
  --
  --    variableField : String
  --      Name of the field(s) on the form to have their contents varied by the
  --      contents of the fieldBuffer.  This must be a highlighted field.
  --
  --  EXIT -
  --
  --    SageError : ModSys.S_natural
  --      An error flag indicating the result of the operation.
  --
  --  EXAMPLE -
  --
  --    with Sage;
  --
  --    procedure Display_A_Form is
  --    values : string (1..24);
  --    begin
  --      Sage.OpenSystem ("MYDATA.DFL",5,5,5000);
  --      values := "Name1 Name2 Name3 Name4";
  --      Display.DisplayFormV ("MyForm","MyRel","Fld",FALSE,
  --                         values,6,4,"MyRel","Names");
  --      Sage.CloseSystem;
  --    end Display_A_Form;
  --




  procedure DisplayFormVIP
             (FormName       : in     string;
              Relation       : in     string;
              Field          : in     string;
              Default        : in     boolean;
              v_Proc         : in     SageSpec.VProcType;
              recordSize     : in     ModSys.S_Natural;
              recordNum      : in     ModSys.S_Natural;
              variableRecord : in     string;
              variableField  : in     string);

  --*
  --  DisplayFormVIP - Display form using var. input procedure.
  --
  --
  --  This procedure loads and displays a form on the screen just as
  --  the 'DisplayForm' procedure.  It differs from this procedure
  --  because it allows data to be loaded into the specified
  --  highlighted field of the form instead of accepting the data
  --  defined in that field with the original form.
  --
  --  Where the 'DisplayFormV' procedure requires input of an array,
  --  this procedure allows specification of a procedure which is
  --  used to acquire the data needed for the screen.  This is an
  --  advantage if the total array requires too much memory or is
  --  too slow to acquire.  The procedure supplied to
  --  'DisplayFormVIP' will only be asked to supply one page at a
  --  time as the user requires it to be displayed.
  --
  --  This procedure and the 'DisplayFormV' procedure cause the
  --  forms display to be in VARIABLE INPUT ARRAY mode.  In this
  --  mode, the 'DefineVariableArray' procedure may be used to
  --  define procedures to load up variable areas of any of the
  --  forms which are tied to the first form specified (such as help
  --  forms).
  --
  --  When the user is presented with a form with this option, the
  --  PgUp and PgDn keys are used to vary the contents of the
  --  highlighted fields defined by the "variableRecord" and
  --  "variableField" parameters.  The data to fill the fields is
  --  determined by the user supplied "vProc" procedure which
  --  returns an address of the data to be shown on the screen
  --  within the highlighted fields.
  --
  --  NOTE:  The fieldBuffer must not only be global, but in the later
  --  ALSYS compiler releases, it must be exported from another package.
  --  The procedure used to fill the array can not be nested.  See
  --  the EXAMPLE section.
  --
  --  CALLING SEQUENCE -
  --
  --    DisplayFormVIP (FormName, Relation, Field, Default, ABC,
  --                    recordSize, recordNum, variableRecord, variableField)
  --
  --  ENTRY -
  --
  --    FormName : string
  --      The name of the form to be displayed.
  --
  --    Relation : string
  --      The name of a relation on the form to position the cursor in.
  --      The default is the top-most, left-most field on the form.
  --
  --    Field : string
  --      Name of a field on the form to position the cursor in.  This field
  --      name may also contain an instruction to position the cursor in a
  --      particular occurrence of a highlighted field by following the field
  --      name with '/n', where n is the number of the occurrence.  For example
  --        "FldName/35"
  --           or
  --        "Stats[3]/24"           (repeating field)
  --
  --    Default : boolean
  --      Flag indicating whether the default values should be set in the record
  --      buffers associated with this form.  Reference the documentation for
  --      this parameter in the 'DisplayForm' procedure argument list.
  --
  --    v_Proc : SageSpec.VProcType
  --      Procedure which returns the address of the data to be shown on the
  --      form.
  --
  --    recordSize : ModSys.S_natural
  --      The character size of each record in the fieldBuffer.
  --
  --    recordNum : ModSys.S_Natural
  --      The number of records of size "recordSize" to be displayed.
  --
  --    variableRecord : String
  --      The record part of the variable field definition.
  --
  --    variableField : String
  --      Name of the field(s) on the form to have their contents varied by the
  --      contents of the fieldBuffer.  This must be a highlighted field.
  --
  --  EXIT -
  --
  --    SageError : ModSys.S_natural
  --      An error flag indicating the result of the operation.
  --
  --  EXAMPLE -
  --
  --    package Extra is
  --      buf : string (1..100);
  --    end Extra;
  --
  --    with Extra;
  --    with Display;
  --    with Sage;
  --    with Calls;
  --    with SYSTEM;
  --    with ModSys;
  --
  --    procedure Test is
  --
  --
  --      procedure MyDataLoad
  --                 (recNum  : in     ModSys.S_Natural;
  --                  recNeed : in     ModSys.S_Natural;
  --                  bLoc    : in out System.Address) is
  --      begin
  --        -- this procedure loads the 'buf' string with data
  --        bLoc := Extra.buf'address;
  --      end MyDataLoad;
  --
  --      function Picture_Load is new Calls.D_Check (MyDataLoad);
  --
  --    begin
  --      Sage.OpenSystem ("MYDATA.DFL",5,5,5000);
  --      Display.DisplayFormVIP ("TestForm", "RelName", "FldName", FALSE,
  --                        Picture_Load, 10, 1000, "RelName", "VarField");
  --      Sage.CloseSystem;
  --    end Test;
  --




  procedure DisplayMessage
             (Message : in     string;
              Bell    : in     boolean);

  --*
  --  DisplayMessage - Display a message.
  --
  --
  --  This routine loads and displays a message on the last line of
  --  the screen.  The user may select whether the bell is rung.
  --
  --  CALLING SEQUENCE -
  --
  --    DisplayMessage (Message, Bell)
  --
  --  ENTRY -
  --
  --    Message : string
  --      The message to be displayed.
  --
  --    Bell : boolean
  --      Flag indicating whether to ring the bell prior to the message.
  --




  function EnableMouse return boolean;

  --*
  --  EnableMouse - Enable the use of the mouse in SAGE.
  --
  --
  --  This procedure enables the use of the mouse in SAGE forms.
  --  If the mouse has not been initialized, it is done
  --  at this point.  If it has already been initialized, it makes
  --  it available within SAGE display procedures.  To use a mouse
  --  within SAGE, a mouse driver must have already been installed
  --  during or after boot up of your system.
  --
  --  The "Display.DisableMouse" procedure deactivates the mouse for
  --  use within SAGE.
  --
  --  CALLING SEQUENCE -
  --
  --    m := EnableMouse;
  --
  --  EXIT -
  --
  --    m : boolean
  --      The mouse was enabled (TRUE), or a mouse and driver is
  --      not detected nor available (FALSE);
  --




  procedure ForceFieldCheck
             (autoCheck : in     boolean);

  --*
  --  ForceFieldCheck - Force check on form fields.
  --
  --
  --  This procedure causes the system to check the contents of every
  --  field on a form when leaving that field regardless of whether
  --  any changes have been made or not.  The default when Sage is
  --  first entered is FALSE (fields are only checked if a change
  --  is made).  This procedure is often useful for various functions
  --  involved using the 'CheckLib.FieldCheck' procedure.
  --
  --  CALLING SEQUENCE -
  --
  --    ForceFieldCheck (autoCheck)
  --
  --  ENTRY -
  --
  --    autoCheck : boolean
  --      Check each field of form as user attempts to leave that field (TRUE)
  --      or check the contents of the field only if changes were made (FALSE).
  --




  procedure ForcedHelpReturn
             (forceReturn : in     boolean);

  --*
  --  ForcedHelpReturn - Force exit key(s) to return from help form.
  --
  --
  --  This procedure causes an exit key to always return from a current
  --  help form to the form which invoked it.  The default for this
  --  is FALSE.  With this default, an exit key will instead invoke a
  --  further help form under the following conditions -
  --
  --     1)  You are currently in a help form
  --     2)  You are currently in a highlighted field of that help form
  --     3)  A further help form is defined for the current field
  --
  --  When all of these conditions are met, an exit key acts just like
  --  the help key.  To override this, the ForcedHelpReturn procedure
  --  may be called setting 'forceReturn' to TRUE.
  --
  --  CALLING SEQUENCE -
  --
  --    ForcedHelpReturn (forceReturn)
  --




  procedure FormFieldOverflow
             (overFlow : in     boolean);

  --*
  --  FormFieldOverflow - Turn field entry overflow ON or OFF.
  --
  --
  --  This procedure allows the turning ON or OFF of the field entry
  --  overflow (default is ON).  This is the property of a field on
  --  a form where the cursor will automatically be positioned at
  --  the beginning of the following field after the last character
  --  of the current field is typed in.  If this is turned OFF, then
  --  the cursor remains at the last character position of the
  --  current field regardless of how many characters are typed into
  --  that position until one of the movement keys (arrow, tab,
  --  etc.) are pressed.
  --
  --  CALLING SEQUENCE -
  --
  --    FormFieldOverflow (overFlow)
  --
  --  ENTRY -
  --
  --    overFlow : boolean
  --      Overflow option ON (TRUE) or OFF (FALSE).
  --




  procedure GetColorMode
             (colorMode : in out ModSys.S_Natural);

  --*
  --  GetColorMode - Get the current color mode.
  --
  --
  --  This procedure retrieves the current color status.
  --  One of three status modes apply -
  --
  --    0 - Color
  --    1 - Interpreted black and white (from the original color)
  --    2 - Fixed black and white (fields white, background black)
  --
  --  If using a monochrome adapter card, only options 1 and 2 are
  --  available.
  --
  --  CALLING SEQUENCE -
  --
  --    GetColorMode (colorMode)
  --
  --  EXIT -
  --
  --    colorMode : ModSys.S_natural
  --      The current mode in which the system operates. (0..2)
  --




  function KeyFunctionNumber
            (c1 : in     character;
             c2 : in     character) return ModSys.S_Natural;

  --*
  --  KeyFunctionNumber - Return function # of keyboard char.
  --
  --
  --  This procedure returns the defined function number of the
  --  given set of keyboard characters.
  --
  --  CALLING SEQUENCE -
  --
  --    n := KeyFunctionNumber (c1, c2)
  --
  --  ENTRY -
  --
  --    c1 : character
  --      The first character used to define the specified function.
  --
  --    c2 : character
  --      The second character of the pair if the first is ASCIIX.nul.
  --
  --  EXIT -
  --
  --    n : ModSys.S_Natural
  --      Function number associated with the given characters
  --
  --    SAGE
  --    No.     function       Description                       Default Key(s)
  --    -----   -------------   -------------------------------   --------------------
  --    0                       no function number found
  --    1       forward         move cursor forward 1 position    right arrow
  --    2       backward        move cursor back 1 position       left arrow/backspace
  --    3       up              move cursor up 1 line             up arrow
  --    4       down            move cursor down 1 line           down arrow
  --    5       tab             tab to next entry field           tab
  --    6       backtab         back tab to previous field        shift/tab
  --    7       restore         restore field to original value   Ctrl/R
  --    8       helpexit        exit to associated help form      F1
  --    9       home            go to first field on form         Home
  --    10      exit            leave form                        Enter
  --    11      clearall        clear all fields on form          Ctrl/Home
  --    12      clearfield      clear field from cursor           Ctrl/End
  --    13      bw              toggle between B&W/color          Ctrl/B
  --    14      help            user help for key functions       Alt/H
  --    15      insert          insert mode                       Ins
  --    16      delete          delete a character                Del
  --    17      copyscreen      copy screen to file SCREEN.CPY    Ctrl/K
  --    18      pagedown        variable field page down          PgDn
  --    19      pageup          variable field page up            PgUp
  --    20      helpabort       exit help form                    F10
  --    21-30   exit1-exit10    special exit functions            [programmer-defined]
  --    31      firstpage       variable field first page         Ctrl/PgUp
  --    32      lastpage        variable field last page          Ctrl/PgDn
  --    33      genhelpexit     exit to general help form         [programmer-defined]
  --    34      fieldInfo       form/relation/field info          Ctrl/F
  --    36      autoHELP        toggle auto helps on and off      Alt/A
  --    37      haltForms       exit all stacked forms            [programmer-defined]
  --    38      userHelp        invoke special user help          [programmer-defined]
  --    39      exitAndReset    exit form & reset to prior values [programmer-defined]
  --    41-60   exit11-exit30   special exit functions            [programmer-defined]
  --
  --  EXAMPLE -
  --
  --    functionNum : ModSys.S_Natural;
  --
  --    begin
  --      functionNum := Display.KeyFunctionNumber (character'val(27),
  --                                                character'val(0));
  --




  function LastExitChar return character;

  --*
  --  LastExitChar - Return character last used to exit form.
  --
  --
  --  This procedure returns the last exit character used to exit a
  --  form.  The valid exit characters are defined by the exit
  --  character range of the current keyboard.  If an exit character
  --  is used to terminate a form, then the "Display.LastExitFunction"
  --  function value is irrelevant and will be returned as 0.
  --
  --  CALLING SEQUENCE -
  --
  --    c := LastExitChar;
  --
  --  EXIT -
  --
  --    c : character
  --      Character used to exit the last form.  This will be in the exit
  --      character range defined for the current keyboard set.  If an exit
  --      character was not used, this value will be returned as an ASCIIX.nul.
  --




  function LastExitFunction return ModSys.S_Natural;

  --*
  --  LastExitFunction - Return function # last used to exit form.
  --
  --
  --  This procedure returns the function number (see the
  --  'DefineFunctionKey' procedure) last used to exit a form.
  --
  --  CALLING SEQUENCE -
  --
  --    k := LastExitFunction;
  --
  --  EXIT -
  --
  --    k : ModSys.S_natural
  --      SAGE function number of key last used to exit form.  Of the function
  --      keys possible in a form, the following are commonly used to exit -
  --
  --       10 - normal exit
  --       21 - special exit  1 through  30 - special exit 10
  --       41 - special exit 11 through  60 - special exit 30
  --
  --  EXAMPLE -
  --
  --    begin
  --    -- define the special exit 1 key to be invoked by F1
  --
  --      Display.DefineFunctionKey (21,character'val(0),character'val(59));
  --
  --    -- define the special exit 2 key to be invoked by F2
  --
  --      Display.DefineFunctionKey (22,character'val(0),character'val(60));
  --
  --      Display.DisplayForm ("FormName","RelName","FldName",false);
  --
  --    -- evaluate which key was used to terminate the form
  --
  --      if    (Display.LastExitFunction = 21) then
  --        -- special operation matching the execution of the F1 key
  --      elsif (Display.LastExitFunction = 22) then
  --        -- special operation matching the execution of the F2 key
  --      elsif (Display.LastExitFunction = 10) then
  --        -- processing of normal form exit
  --      end if;
  --




  procedure RefreshCheckScreen
             (refreshOn : in     boolean);

  --*
  --  RefreshCheckScreen - Refresh fields after FieldCheck.
  --
  --
  --  This procedure allows the refresh flag to be set or reset.
  --  This flag causes the fields of the current form to be
  --  refreshed (displayed) after the user supplied defined field
  --  checking procedure is called.
  --
  --  If using autohelp forms, this should be set to refreshOn=FALSE
  --  to prevent the refresh from overwriting and thus covering up
  --  the autohelp form which may be within the current form space.
  --
  --  If performing operations within a 'CheckLib.FieldCheck' procedure,
  --  one or more fields other than the current field may have
  --  changed values.  When refreshOn=TRUE, all of the fields of
  --  the form are update with the new values immediately upon
  --  leaving 'CheckLib.FieldCheck'.
  --
  --  By default, the fields are refreshed (refreshOn = TRUE).
  --
  --  CALLING SEQUENCE -
  --
  --    RefreshCheckScreen (refreshOn)
  --
  --  ENTRY -
  --
  --    refreshOn : boolean
  --      Refresh all of the fields after the user supplied field check
  --      procedure is called (see Checklib).  Default condition is TRUE.
  --




  procedure ResetForm
             (FormName : in     string);

  --*
  --  ResetForm - Reload form from schema file.
  --
  --
  --  This procedure resets the indicated form by reading in the
  --  original definition from the .DFL file.
  --
  --  CALLING SEQUENCE -
  --
  --    ResetForm (formName)
  --
  --  ENTRY -
  --
  --    formName : string
  --      Name of form to be reset.
  --




  procedure RestoreKeyDefinitions
             (keyTable : in     SageSpec.KeyboardDef);

  --*
  --  RestoreKeyDefinitions - Restore saved keyboard definition.
  --
  --
  --  This procedure restores saved keyboard definition settings
  --  which have been saved using the 'SaveKeyDefinitions'.
  --
  --  CALLING SEQUENCE -
  --
  --    RestoreKeyDefinitions (keyTable);
  --
  --  ENTRY -
  --
  --    keyTable : SageSpec.KeyboardDef
  --      Table of keyboard definitions (see Display.SaveKeyDefinitions).
  --
  --  EXAMPLE -
  --
  --    with Display;
  --    procedure Test is
  --      keys : SageSpec.KeyboardDef;
  --    begin
  --      Display.SaveKeyDefinitions (keys);
  --      Display.RestoreKeyDefinitions (keys);
  --




  procedure RestoreScreen
             (screenNumber : in     ModSys.S_Natural);

  --*
  --  RestoreScreen - Restore a saved screen.
  --
  --
  --  This procedure restores a screen which was previously saved
  --  and referenced by an assigned number using "SaveScreen".  If
  --  the aging scheme for Sage has caused the requested screen to
  --  be released, it cannot be restored.  (note the explanation
  --  for the "SaveScreen" procedure)
  --
  --  CALLING SEQUENCE -
  --
  --    RestoreScreen (screenNumber)
  --
  --  ENTRY -
  --
  --    screenNumber : ModSys.S_natural
  --      Number of screen to restore.
  --
  --  EXAMPLE -
  --
  --    begin
  --      Display.DisplayBackground ("form1",FALSE);
  --      Display.DisplayBackground ("form2",FALSE);
  --      Display.DisplayBackground ("form3",FALSE);
  --      Display.SaveScreen (1);
  --      Display.DisplayForm ("form4","MyRel","Field1",FALSE);
  --      Display.RestoreScreen (1);
  --




  procedure SaveKeyDefinitions
             (keyTable :    out SageSpec.KeyboardDef);

  --*
  --  SaveKeyDefinitions - Save current keyboard definition.
  --
  --
  --  This procedure saves the current keyboard definition settings
  --  for possible restoration using the 'restoreKeyDefinitions'
  --  procedure.
  --
  --  CALLING SEQUENCE -
  --
  --    SaveKeyDefinitions (keyTable);
  --
  --  EXIT -
  --
  --    keyTable : SageSpec.KeyboardDef
  --      Current table of keyboard definitions (see Display.DefineFunctionKey).
  --
  --  EXAMPLE -
  --
  --    with Display;
  --    procedure Test is
  --      keys : SageSpec.KeyboardDef;
  --    begin
  --      Display.SaveKeyDefinitions (keys);
  --      Display.RestoreKeyDefinitions (keys);
  --




  procedure SaveScreen
             (screenNumber : in     ModSys.S_Natural);

  --*
  --  SaveScreen - Save the current screen.
  --
  --
  --  This procedure saves the contents of the currently displayed screen
  --  and references it by the assigned number.  This screen may be
  --  restored later using the "RestoreScreen" function.  Multiple
  --  screens may be saved for later retrieval.
  --
  --  A screen may be stored in one of two ways.  If the 'screenNumber'
  --  is less than 100, then the screen may be aged out as are the normal
  --  forms.  For this reason, the aging scheme for forms may cause
  --  screens to be released from memory if the number of forms called
  --  upon to be displayed after the "SaveScreen" execution reaches the
  --  number defined as a maximum when "OpenSystem" (the "MaxScreens"
  --  argument) was first called.  After a saved screen is aged and
  --  released from memory, it can no longer be restored using
  --  "RestoreScreen".
  --
  --  If the 'screenNumber' if greater than or equal to 100, then the
  --  screen is saved until it is restored.  This takes up one form
  --  space for each screen saved.  To successfully display a form, at
  --  least one form space must be left after this kind of permanent
  --  screen saving.
  --
  --  CALLING SEQUENCE -
  --
  --    SaveScreen (screenNumber)
  --
  --  ENTRY -
  --
  --    screenNumber : ModSys.S_natural
  --      Number to assign to the saved screen.  If this number is
  --      less than 100 (1..99), then the screen may be aged out if
  --      a number of forms are displayed before the 'RestoreScreen'
  --      is called.  If the number is 100..n, then the screen will
  --      persist until 'RestoreScreen' is called.
  --
  --  EXAMPLE -
  --
  --    begin
  --      Display.DisplayBackground ("form1",FALSE);
  --      Display.DisplayBackground ("form2",FALSE);
  --      Display.DisplayBackground ("form3",FALSE);
  --      Display.SaveScreen (1);
  --      Display.DisplayForm ("form4","MyRel","Field1",FALSE);
  --      Display.RestoreScreen (1);
  --




  procedure ScrollEnumerationList
             (scrollOptionOn : in     boolean);

  --*
  --  ScrollEnumerationList - Allow enumerated list scrolling.
  --
  --
  --  This option allows the user to scroll through the values
  --  of the enumeration list if in an entry field for an
  --  enumerated field by using the up and down functions (3 and
  --  4) which are normally the up and down arrow keys.
  --
  --  By default, this function is set to FALSE (arrow keys do
  --  not scroll through the enumeration list).
  --
  --  CALLING SEQUENCE -
  --
  --    ScrollEnumerationList (scrollOptionOn)
  --
  --  ENTRY -
  --
  --    scrollOptionOn : boolean
  --      The up and down keys scroll through the enumeration list
  --      (TRUE).
  --




  procedure ScrollForm
             (outerForm     : in     string;
              innerEntry    : in     string;
              innerDisplay  : in     string;
              cursorPos     : in out ModSys.S_Natural;
              TotalRecords  : in     ModSys.S_Natural;
              RecToFormProc : in     RecToFormProcType;
              FormToRecProc : in     FormToRecProcType);

  --*
  --  ScrollForm - Variable scroll of multiple entry forms.
  --
  --
  --  This procedure displays and allows scrolling through multiple
  --  copies of an entry form.  Two forms are requested.  The outer
  --  form is shown as a background form.  The inner form is repeated
  --  from 1..n times depending upon the invisible space defined in
  --  the outer form.  Both an inner form into which data is entered
  --  and an inner form that is displayed may be provided by the user.
  --  This allows the current form (of the 1..n total inner forms) to
  --  be given a different appearance and more and/or different
  --  fields.
  --
  --  If enough width is allowed for more than one column, it is used.
  --  As noted, the outer form should have invisible space defined
  --  within it to designate where the inner form is scrolled.  This
  --  need not be contiguous space, but each invisible area must be at
  --  least large enough to contain an inner form.
  --
  --  This procedure uses special exits 22..30 (key functions 52..60)
  --  for its processes.  Any other exits may be defined using
  --  'DefineFunctionKey' before 'ScrollForm' is executed.  ANY KEYBOARD
  --  SETTINGS WHICH WERE DEFINED BEFORE ENTRANCE INTO 'ScrollForm' WILL
  --  STILL BE DEFINED UPON LEAVING THIS procedure.
  --
  --  The up and down arrow keys are redefined within 'ScrollForm' to act
  --  in a special way.  In normal operation, they will cause the cursor
  --  to move from one field to another within the same entry form IF
  --  THE FIELDS LINE UP OVER EACH OTHER.  Otherwise, these arrow keys
  --  will move the cursor from one entry form to the other.  This will
  --  also be the case if the cursor is resident in a field at the bottom
  --  of the entry form and the down arrow is pressed.  The reverse
  --  condition is true for the up arrow.  There are two special exit
  --  functions (special exits 25 and 26 corresponding to functions 55 and
  --  56) which always cause the cursor to move between entry forms when
  --  pressed.  These are not normally defined, but may be predefined by
  --  the user.  If defined with the up and down arrows (against function
  --  55 and 56 respectively), then this type of up and down movement will
  --  override the normal operation of the up and down arrows as previously
  --  described.
  --
  --  Special Exits used by ScrollForm
  --
  --    Function No.      Name                 Des
  --    ------------   -----------  ----------------------------
  --        52           exit22     Optionally user defined - search key
  --        53           exit23     Predefined motion
  --        54           exit24     Predefined motion
  --        55           exit25     Optionally user defined - up 1 form
  --        56           exit26     Optionally user defined - down 1 form
  --        57           exit27     Predefined motion
  --        58           exit28     Predefined motion
  --        59           exit29     Predefined motion
  --        60           exit30     Predefined motion
  --
  --       procedure RecordToForm
  --                  (recordNumber  : in out ModSys.S_Natural;
  --                   entryForm     : in     boolean;
  --                   searchLine    : in out string);
  --
  --       procedure FormToRecord
  --                  (recordNumber  : in out ModSys.S_Natural;
  --                   fieldsChanged : in     boolean;
  --                   refreshForm   : in out boolean;
  --                   exitTheProc   : in out boolean;
  --                   totalRecords  : in out ModSys.S_Natural);
  --
  --  CALLING SEQUENCE -
  --
  --    Display.ScrollForm (outerForm, innerEntry, innerDisplay,
  --                        cursorPos, totalRecords, RecToFormProc,
  --                        FormToRecProc);
  --
  --  ENTRY -
  --
  --    outerForm : string
  --      Name of form which defines the outer mask for the display.
  --
  --    innerEntry : string
  --      Name of the form in which the cursor will reside for data entry
  --      purposes and while cursoring through the list of entries.  This form
  --      should have the same size and shape as the 'innerDisplay' form.
  --
  --    innerDisplay : string
  --      Name of the form in which data will be displayed.  This form will
  --      appear within the 'outerForm' from 1..n times depending on the space
  --      provided in the outer form.
  --
  --    cursorPos : ModSys.S_Natural
  --      Record number on which the cursor is requested to reside when the
  --      display is first shown (1..n).  If set to zero (0), the display will
  --      be positioned in the same way it was when it was last terminated.
  --
  --    totalRecords : ModSys.S_Natural
  --      Total number of records through which 'ScrollForm' will be permitted
  --      to scroll.
  --
  --    RecordToForm : RecToFormProcType
  --      Procedure which will be called when the memory record information for a
  --      record is to be located so that it can be displayed in the current
  --      inner form.  This procedure acts both as a method to load a record and
  --      to search for a record.  If 'recordNumber' is non-zero, then a specific
  --      record is required by 'ScrollForm' and must be supplied.  If
  --      'recordNumber' is zero (0), then one of two search conditions exists -
  --
  --      1) No entry or highlight fields exist on the 'innerEntry' form and a
  --         key other than a motion key was pressed.  This causes 'searchLine'
  --         to be loaded with the character pressed.  'searchLine' is then
  --         supplied to you for searching purposes.
  --
  --      2) Key function number 52 (exit22) has been defined and was pressed by
  --         the user, indicating that the user wishes to search for something.
  --         The user is on the innerEntry form, and Type 1 - Display/Entry fields
  --         are defined on that form.  In case 1 above, the user indicated a
  --         desire to search by simply typing in what he sought.  But if the form
  --         has entry fields defined on it, this won't work.  ScrollForm must
  --         have some method of notifying the programmer that the user wants
  --         to search.  Hence exit22.
  --
  --    FormToRecord : FormToRecProcType
  --      Procedure which will be called each time an inner entry form is
  --      exited.  This may be when scrolling from one record to another using
  --      the arrow or paging keys, or when an exit key is pressed.  If the
  --      change flag ('fieldsChanged') is set, you may update the changed data
  --      (ReWriteRecord, etc.) in this procedure.  An example is
  --
  --  EXIT -
  --
  --    cursorPos : ModSys.S_Natural
  --      Record number on which cursor was located when procedure was terminated.
  --
  --  EXAMPLE -
  --
  --    with StringsX;
  --    with Sage;
  --    with Display;
  --    with StringsX;
  --
  --    package MyPack is
  --
  --      procedure RecordToForm
  --                 (recNum       : in out ModSys.S_Natural;
  --                  entryForm    : in     boolean;
  --                  searchString : in out string) is
  --      begin
  --
  --        -- A record has been requested.  Read it.
  --        if (recNum > 0) then
  --          Sage.ReadRecordN ("SAMPLE","KEYFIELD",recNum);
  --
  --        -- A search key has been pressed.  Find a match and return.
  --        elsif (StringsX.Length(searchString) > 0) then
  --          Sage.ReadRecordA ("SAMPLE","KEYFIELD",Sage.GE,searchString);
  --          if (Sage.SageError = SageErrs.OpOk) then
  --            Sage.GetKeyPosition ("SAMPLE","KEYFIELD",recNum);
  --          else
  --            recNum := 0;
  --            StringsX.NulFill ("",searchString);
  --          end if;
  --        end if;
  --      end RecordToForm;
  --
  --      procedure FormToRecord
  --                 (recNum   : in out ModSys.S_Natural;
  --                  changed  : in     boolean;
  --                  refresh  : in out boolean;
  --                  exitProc : in out boolean;
  --                  recTot   : in out ModSys.S_Natural) is
  --      begin
  --        if (changed) then
  --          Sage.ReWriteRecord ("SAMPLE");
  --          refresh := TRUE;
  --        end if;
  --      end FormToRecord;
  --
  --
  --      procedure Sample is
  --
  --        recPos : ModSys.S_Natural;
  --        recTot : ModSys.S_Natural;
  --
  --
  --      begin
  --        Sage.OpenSystem ("SAMPLE.DFL",3,3,5000);
  --        Sage.OpenRelation ("SAMPLE",TRUE);
  --
  --        recPos := 1;
  --        recTot := Sage.TotalRecords("SAMPLE");
  --        Display.ScrollForm ("OuterF", "InnerE", "InnerD", recPos, recTot,
  --                            RecordToForm'access, FormToRecord'access);
  --
  --        Sage.CloseRelation ("SAMPLE");
  --        Sage.CloseSystem;
  --      end Sample;
  --
  --    end MyPack;
  --




  procedure ScrollFormBackground
             (outerForm     : in     string;
              innerDisplay  : in     string;
              TotalRecords  : in     ModSys.S_Natural;
              RecToFormProc : in     RecToFormProcType);

  --*
  --  ScrollFormBackground - Background display version of ScrollForm.
  --




  function ScrollFormQueueSize return ModSys.S_Natural;

  --*
  --  ScrollFormQueueSize - Return inner forms not yet displayed.
  --
  --
  --  This procedure returns the number of inner forms yet to be displayed
  --  with associated requested data in the current request queue of
  --  ScrollForm.  This is useful when using MultSage to read in the data
  --  and some form of lock such as ExclusiveWriteLockRelation is used to
  --  speed up the process of paging within ScrollForm.  When the queue
  --  size returned is greater than zero (0), then ScrollForm will
  --  immediately request information for n records (n = queue size)
  --  before any user intervention is allowed.
  --
  --  CALLING SEQUENCE -
  --
  --    s := ScrollFormQueueSize;
  --
  --  EXIT -
  --
  --    s : ModSys.S_natural
  --      Number of inner form requests remaining in the ScrollForm queue.  If
  --      zero (0), the current form was the last one and no more remain.
  --
  --  EXAMPLE -
  --
  --    with StringsX;
  --    with MultSage;
  --    with Display;
  --    with StringsX;
  --
  --    procedure Sample is
  --
  --      recPos  : ModSys.S_Natural;
  --      recTot  : ModSys.S_Natural;
  --      xLocked : boolean := false;
  --
  --      procedure RecordToForm
  --                 (recNum       : in out ModSys.S_Natural;
  --                  entryForm    : in     boolean;
  --                  searchString : in out string) is
  --      begin
  --
  --        if (recNum > 0) then
  --
  --          -- Exclusively lock the relation if more records will be
  --          -- immediately requested after the current one.
  --
  --          if (Display.ScrollFormQueueSize > 0) and then not xLocked then
  --            MultSage.ExclusiveWriteLockRelation ("SAMPLE",300);
  --            xLocked := (Sage.SageError = SageErrs.OpOk);
  --          end if;
  --
  --          -- Read the requested record.
  --
  --          MultSage.ReadRecordN ("SAMPLE","KEYFIELD",recNum);
  --
  --          -- Unlock the relation if this record is the last one in a
  --          -- series and the relation has been exclusively locked.
  --
  --          if (Display.ScrollFormQueueSize = 0) and then xLocked then
  --            MultSage.ExclusiveUnlockRelation ("SAMPLE");
  --            xLocked := false;
  --          end if;
  --
  --        end if;
  --      end RecordToForm;
  --
  --      procedure FormToRecord
  --                 (recNum   : in out ModSys.S_Natural;
  --                  changed  : in     boolean;
  --                  refresh  : in out boolean;
  --                  exitProc : in out boolean;
  --                  recTot   : in out ModSys.S_Natural) is
  --      begin
  --        null;
  --      end FormToRecord;
  --
  --      procedure MyScroll is new Display.ScrollForm
  --                                            (RecordToForm,FormToRecord);
  --
  --      begin
  --        MultSage.OpenSystem ("SAMPLE.DFL",3,3,5000);
  --        MultSage.OpenRelation ("SAMPLE",TRUE);
  --
  --        recPos := 1;
  --        recTot := MultSage.TotalRecords("SAMPLE");
  --        MyScroll ("OuterF","InnerE","InnerD",recPos,recTot);
  --
  --        MultSage.CloseRelation ("SAMPLE");
  --        MultSage.CloseSystem;
  --      end Sample;
  --




  procedure SelectDefaultKeyboard;

  --*
  --  SelectDefaultKeyboard - Set to default keyboard.
  --
  --
  --  This procedure resets the keyboard to the default.  This
  --  default should have been defined within the current
  --  data dictionary (.DFL) file.
  --
  --  CALLING SEQUENCE -
  --
  --    SelectDefaultKeyboard
  --




  procedure SelectKeyboard
             (keyboardName : in     string);

  --*
  --  SelectKeyboard - Select named keyboard set.
  --
  --
  --  This procedure allows the selection of a predefined keyboard
  --  set.  If the set is not defined (available), then a SageError
  --  of 61 is returned.
  --
  --  CALLING SEQUENCE -
  --
  --    SelectKeyboard (keyboardName)
  --
  --  ENTRY -
  --
  --    keyboardName : string
  --      The name of the keyboard to be selected.
  --
  --  EXIT -
  --
  --    Sage.SageError : ModSys.S_natural
  --      An error flag indicating the result of the operation.
  --




  procedure SetColorMode
             (colorMode : in     ModSys.S_Natural);

  --*
  --  SetColorMode - Set current color mode.
  --
  --
  --  This procedure allows the setting of the current color status.
  --  One of three status modes apply -
  --
  --      0 - Color
  --      1 - Interpreted black and white (from the original color)
  --      2 - Fixed black and white (fields white, background black)
  --
  --  If using a monochrome adapter card, only options 1 and 2 are
  --  available.
  --
  --  CALLING SEQUENCE -
  --
  --    SetColorMode (colorMode)
  --
  --  ENTRY -
  --
  --    colorMode : ModSys.S_natural
  --      The mode in which the system should operate. (0..2)
  --




  procedure SetMessageColor
             (messageColor : in     ModSys.S_Integer);

  --*
  --  SetMessageColor - Set color of message.
  --
  --
  --  This procedure sets the color of the standard message which is
  --  displayed at the bottom of the screen.
  --
  --  CALLING SEQUENCE -
  --
  --    SetMessageColor (messageColor)
  --
  --  ENTRY -
  --
  --    messageColor : ModSys.S_integer
  --      Appearance of standard messages shown at the bottom of the screen.
  --         0..255 or -1 to reset to the default appearance.
  --
  --         A list of the message colors follows -
  --
  --         msg. col.   foreground          background
  --         ---------   ----------          ----------
  --           0         black               black
  --           1         blue                black
  --           2         green               black
  --           3         cyan                black
  --           4         red                 black
  --           5         magenta             black
  --           6         brown               black
  --           7         white               black
  --           8         gray                black
  --           9         light blue          black
  --          10         light green         black
  --          11         light cyan          black
  --          12         light red           black
  --          13         light magenta       black    (default)
  --          14         yellow              black
  --          15         light white         black
  --          16..31     (same as 0..15)     blue
  --          32..47     (same as 0..15)     green
  --          48..63     (same as 0..15)     cyan
  --          64..79     (same as 0..15)     red
  --          80..95     (same as 0..15)     magenta
  --          96..111    (same as 0..15)     brown
  --          112..127   (same as 0..15)     white
  --          128..255   (same as 0..127 except blink foreground)
  --




  procedure UnloadForm
             (FormName : in     string);

  --*
  --  UnloadForm - Unload form from memory.
  --
  --
  --  This procedure unloads the indicated form from the memory area.
  --
  --  CALLING SEQUENCE -
  --
  --    UnloadForm (formName)
  --
  --  ENTRY -
  --
  --    formName : string
  --      Name of form to be unloaded.
  --




  procedure UnloadAllForms;




  function VariableIndex return ModSys.S_Natural;

  --*
  --  VariableIndex - Return index to last var. form array.
  --
  --
  --  When a user makes a selection and exits a V-type form, this procedure
  --  returns the index within the array used by that 'DisplayFormV' or
  --  'DisplayFormVIP' procedure corresponding to the user selection.  When
  --  another 'DisplayFormV' call is made or a form using variable highlighted
  --  fields is called within a help sequence, the variable index is updated to
  --  reflect it and the old setting is lost.  If a zero (0) is
  --  returned, then none of the presented fields were selected by the user.
  --
  --  CALLING SEQUENCE -
  --
  --    i := VariableIndex
  --
  --  EXIT -
  --
  --    i : ModSys.S_Natural
  --      Record number within the variable array used (1..n) or zero if
  --      none was selected.
  --
  --  EXAMPLE -
  --
  --    i : ModSys.S_Natural;
  --
  --    begin
  --      Sage.OpenSystem ("MYDATA.DFL",5,5,5000);
  --      Display.DisplayFormVIP ("TestForm", "RelName", "FldName", FALSE,
  --                              Picture_Load, 10,1000, "RelName", "VarField");
  --      i := Display.VariableIndex;
  --




  procedure SetMessageStyle
             (MessageStyle : in     MessageStyleType);

  --*
  --  SetMessageStyle - Sets the message style in SageTerms.
  --
  --
  --  This procedure sets the message style for SageTerms.  If
  --  the setting is SageTermStyle then messages show on the 25th
  --  screen line.   If set to WindowsStyle they show up as a
  --  separate dialog.
  --




Send mail to   warren.merrill@inl.gov with questions or comments about this web site.
Copyright © 1989-2006 Battelle Energy Alliance