Planned Changes to LCPOSITIONS and LCFUNCTIONS

Published ByDateVersionKnowledge LevelKeywords
Revelation Technologies02 JUN 19912.1XINTERMEDIATELCPOSITIONS, LCFUNCTIONS, SCANCODES, KEYSTROKES

Changes planned for a future release of Advanced Revelation include removing two labelled common areas used by developers.

The two labelled common areas are LCPOSITIONS and LCFUNCTIONS. Records describing these areas are found in the INCLUDE file. Removing the commons will free descriptors and speed Window execution.

Starting with version 2.11, these records will contain equates instead of common declarations. You should use the EQUATE versions of LCPOSITIONS and LCFUNCTIONS in all new code. You should recompile all existing code with the EQUATE records.

Note: Because the same record and variable names are used, you do not need to make any changes to your programs. Recompiling will make all necessary changes to your object code.

Figure 1 is the new definition for LCPOSITIONS. Figure 2 is the new definition for LCFUNCTIONS. Both of these records can be downloaded from CompuServe.

Note: Because Advanced Revelation will continue to initialize the labelled common areas, existing object code that uses the labelled common versions of LCPOSITIONS and LCFUNCTIONS will be compatible with version 2.11.

Figure 1

*
* LCPOSITIONS
*
* WINDOW prompt structure
* Each prompt will conform to the following structure
*
*
*   prompt      position required description
*   ------      -------- -------- -------------------------------------
EQU PNO             TO 1  ;* Yes Relative position number.
EQU DICT            TO 2  ;* No  Dictionary field representing prompt.
EQU TYPE            TO 3  ;* Yes Type of prompt (F=data field,
                                 * S=symbolic, N=filename, D=dict filename).
EQU FNO             TO 4  ;* Yes Dictionary field number (0=key).
EQU D               TO 5  ;* No  Display label/literal.
EQU DA              TO 6  ;* No  Display label's video attribute
                                 * (color). If null, WINDOW will use
                                 * current system attribute setting for
                                 * application window (AW) labels.
EQU DX              TO 7  ;* Yes Display label x/column location
                                 * relative to the upper left corner of
                                 * window.
EQU DY              TO 8  ;* Yes Display label y/row location
                                 * relative to upper left corner of window.
EQU VA              TO 9  ;* No  Prompt value's video attribute
                                 * (color). If null, WINDOW will use current
                                 * system attribute
                                 * setting for application window
                                 * (AW) prompts.
EQU VX              TO 10 ;* Yes Prompt value x/column location
                                 * relative to upper left window corner.
EQU VY              TO 11 ;* Yes Prompt value y/row location
                                 * relative to upper left window corner.
EQU VINP            TO 12 ;* No  Prompt value input validation.
EQU VOTP            TO 13 ;* No  Prompt value output format for display.
EQU VJST            TO 14 ;* No  Prompt value justification for
                                 * display (if null then just = 'L')
EQU VLEN            TO 15 ;* No  Prompt value display length/width.
EQU VDEPTH          TO 16 ;* No  Prompt value display depth for
                                 * multi-value and text fields with depth.
                                 * (0=single value, 1=single line mult-
                                 * value, 2+=multi-line multi-value).
EQU DFLT            TO 17 ;* No  Prompt value default fill-in value
                                 * if user has a null entry.
EQU ET              TO 18 ;* No  Prompt value Entry type.
                                 * (R=required, P=protected, F=fill, etc.)
EQU JOIN.FILE       TO 19 ;* No  Secondary file source for this
                                 * prompt/field
EQU JOIN.KEY        TO 20 ;* No  Key used to access JOIN.FILE
EQU JOIN.FIELD      TO 21 ;* No  Field number to retrieve/update in
                                 * joined record of JOIN.FILE
EQU LOCASE          TO 22 ;* No  Permit lower case characters
                                 * (default = false).
EQU MASK            TO 23 ;* No  Editing mask.
EQU PRE.CODE        TO 24 ;* No  Process to occur prior to user
                                 * data entry into current prompt.
EQU PRE.COMMAND     TO 25 ;* No
EQU POST.CODE       TO 26 ;* No  Process to occur after the user
                                 * has entered data into the current prompt
EQU POST.COMMAND    TO 27 ;* No
EQU OPTIONS.CODE    TO 28 ;* No  Options key code type.
EQU OPTIONS.COMMAND TO 29 ;* No  Options key command to perform
                                 * when Options key is pressed.
EQU DEP.MAX         TO 30 ;* No  Maximum depth for associated
                                 * multi-value prompt sets.
EQU JOIN.DEPENDENTS TO 31 ;* No  A list of prompts that are dependent
                                 * on this JOIN key.
EQU PROMPT.TAB      TO 32 ;* No  Tab stop for moving more quickly
                                 * between prompts.
EQU HELP.CODE       TO 33 ;* No  Detail help for this prompt. Can
                                 * take the form of code-vm-command or
                                 * a generated number for use with the
                                 * help file.
EQU SLMV            TO 34 ;* No  Permit a single line multivalue
EQU AMV.GROUP       TO 35 ;* No  Associated multi-value group flag
EQU INVALID.CODE    TO 36 ;* No  Process to occur when data entered
                                 * is invalid.
EQU INVALID.COMMAND TO 37 ;* No
EQU CHAR.CNT        TO 38 ;* No  Number of characters entered at a field.
                                 * Zero or '' allow 64k to be entered
EQU SCRIBE.CODE     TO 39 ;* No  Process to occur instead of Scribe.
EQU SCRIBE.COMMAND  TO 40 ;* No
EQU TX              TO 41 ;* No  X/column during Table mode
EQU TLEN            TO 42 ;* No  Length of prompt during Table mode
EQU HELP.COMMAND    TO 43 ;* No  Help catalyst commands where
                                 * PROMPT.HELP is the catalyst code.
EQU JOIN.DELETE     TO 44 ;* No  Delete joined record from JOIN.FILE
                                 * if primary record is deleted (yes/No)
EQU JOIN.CHANGE     TO 45 ;* No  If JOIN.KEY is changed, delete
                                 * previous JOIN.KEY from JOIN.FILE (yes/No)
EQU THEAD           TO 46 ;* No  Table column heading (overrides
                                 * prompt label)
EQU PREG1           TO 47 ;* No  Prompt register1
EQU PREG2           TO 48 ;* No  Prompt register2
EQU PREG3           TO 49 ;* No  Prompt register3
EQU PREG4           TO 50 ;* No  Prompt register4
EQU PREG5           TO 51 ;* No  Prompt register5
EQU HOMEXY          TO 52 ;* No  Virtual page mark
EQU HIDDEN.LABEL    TO 53 ;* No  Hidden label when only prompt entry
                                 * is needed (No prompt label shown)
EQU GENERIC.TYPE    TO 54 ;* No  Generic Field Data Type (2.0+)

Figure 2

*
*
* LCFUNCTIONS
*
* Keyboard Scan Codes By Key
*

EQU F1 TO \003B\
EQU F2 TO \003C\
EQU F3 TO \003D\
EQU F4 TO \003E\
EQU F5 TO \003F\
EQU F6 TO \0040\
EQU F7 TO \0041\
EQU F8 TO \0042\
EQU F9 TO \0043\
EQU F10 TO \0044\

EQU SF1 TO \0054\
EQU SF2 TO \0055\
EQU SF3 TO \0056\
EQU SF4 TO \0057\
EQU SF5 TO \0058\
EQU SF6 TO \0059\
EQU SF7 TO \005A\
EQU SF8 TO \005B\
EQU SF9 TO \005C\
EQU SF10 TO \005D\

EQU CF1 TO \005E\
EQU CF2 TO \005F\
EQU CF3 TO \0060\
EQU CF4 TO \0061\
EQU CF5 TO \0062\
EQU CF6 TO \0063\
EQU CF7 TO \0064\
EQU CF8 TO \0065\
EQU CF9 TO \0066\
EQU CF10 TO \0067\

EQU AF1 TO \0068\
EQU AF2 TO \0069\
EQU AF3 TO \006A\
EQU AF4 TO \006B\
EQU AF5 TO \006C\
EQU AF6 TO \006D\
EQU AF7 TO \006E\
EQU AF8 TO \006F\
EQU AF9 TO \0070\
EQU AF10 TO \0071\

EQU ALT10 TO ï \0078FE0079FE007AFE007BFE007CFE007DFE007EFE007FFE0080FE0081\
  • tips/revmedia/r86.txt
  • Last modified: 2024/06/19 20:20
  • by 127.0.0.1