guides:programming:programmers_reference_manual:environment

Environment

The following system variables ("at variables", or "@-variables") allow you to query (and set) the current OpenInsight environment.

VariableDescription
@ADMINThe level of the user currently logged on. There are 3 possible values:

0 - User
1 - Administrator
2 - Systems Administrator
@APPIDThe fully specified application inheritance chain (@FM-delimited) for the current application. The first name is always the current application, the last name is always SYSPROG, and any other applications inherited are in the middle.
@APPINFOA field mark delimited array containing information about all applications in the system. In the SYSAPPS file is one row for each defined application. The information for the current application is copied into @APPINFO. The following fields are defined:

Field Number - Meaning
1 - Application title
2 - Database ID
3 - Application's inheritance chain (starting from SYSPROG)
4 - Date and time created
5 - Company name
6 - Author
7 - Create permissions (multivalue field)
8 - Abstract
9 - Document references (multivalue field)
10 - Tool types for documents (multivalue field)
11 - Application entry point id
12 - Application entry point class id
13 - Application entry point entity id
14 - Flag for maintaining columns in repository
15 - Logon banner name
@DBIDThe name of the current database (same as @APPINFO<2>)
@ENVIRON_SETArray of environmental settings for the current user.
@FILES.SYSTEMField mark delimited array of OpenInsight system files
@FILES_SYSDICTThe file variable for the SYSDICT file
@FILES_SYSENVThe file variable for the SYSENV file
@FILES_SYSOBJThe file variable for the SYSOBJ file
@FILES_SYSPTRSThe file variable for the SYSPTRS file
@LOWER_CASEAn ordered string containing all lower-case letters. Corresponds to @UPPER_CASE.
@LPTRHIGHHeight of the printer page.
@LPTRWIDEWidth of the printer page.
@MDIACTIVEThe active child from which an event is invoked. An event is invoked from a frame and its active children. The value of @MDIACTIVE is dynamic.
@MDIFRAMEThe frame of the window from which an event is called. The value of @MDIFRAME is dynamic.
@PRINTMODEIf this variable is set to false, the BASIC+ Print function will print the ASCII characters zero through 31 using their assigned graphics. If set to true, these characters are not printed, and are treated as control characters.
@STATIONThe network station identifier (or null for non-networked versions).
@SYSTEM_TABLESContains a field mark delimited list of tables that cannot be detached.
@TABLESField mark delimited array of currently attached tables.
@UPPER_CASEAn ordered string containing all upper-case letters. Corresponds to @LOWER_CASE.
@USERNAMEThe name under which the current user logged in. If no user name was specific at login, contains the current database identifier.
@VOLUMESA dynamic array of attached volumes. When assigned from a Basic+ program, a field mark delimited array of filing systems in the format:

filing system*location

is returned. However, if viewed from the debugger System Variables window, @VOLUMES(n) contains the following:

Dimension (n) - Meaning
0 - Dynamic array of attached volumes. Returned when assigning a Basic+ variable to @VOLUMES
1 - Field mark delimited array of volume labels
2 - Field mark delimited array of volume names
3 - Field mark delimited array of multivalued file names
4 - Field mark delimited array of filing systems associated with the volume
5 - Field mark delimited array of handles to the volume map

Note: In Basic+ you can assign a variable to one of these dimensioned arrays and return the result. For example, vol_labels = @volumes(1) assigns the array of volume labels to vol_labels.
@WINDOWThe window an event is called from. The value of @WINDOW is dynamic.
  • guides/programming/programmers_reference_manual/environment.txt
  • Last modified: 2024/06/19 20:20
  • by 127.0.0.1