- Integer
ERRLINE - Integer
LAST_CRIT_ERR - Integer
EXT_CRIT_ERR - Integer
CONSTRAIN_TESTS_COUNT - Integer
CONSTRAIN_FOUND_COUNT - Integer
FIELDINDEX - Integer
WINDOWINDEX - Integer
LASTERR - Integer
TERMCHAR - Integer
FLEXKEY - Integer
SCREENEND - Integer
MEMAVAIL - Integer
LASTENTRY - Integer
FLX_REVISION - Integer
ENTER$DISPLAY - Integer
NOKEYCHECK - Integer
CHAIN_DEPTH - Integer
CURSOR_SET - Integer
CURSOR_RETURN - Integer
MINIMUM_MEMORY - Integer
INDEX_NUMBER - Integer
SCREEN_WIDTH - Integer
NUMPAGE - Integer
NUMWINDOW - Integer
NEXT_MENU - Integer
CURRENT_IMAGE - Integer
CURRENT_WINDOW - Integer
LAST_GOSUB - Integer
STRMARK - Integer
STRLEN - Integer
LINECOUNTENTER & REPORT DEF'S
- Integer
PAGECOUNT - Integer
PAGEEND - Integer
PAGEFEED - Integer
FILENUMBER - Integer
FIELDNUMBER - Integer
TOTAL_RESOURCES - ABORT
- ACCEPT
- APPEND
- ASCII
- AUTO2$
- AUTO3$
- AUTO4$
- AUTOPAGE
- BACKFIELD
- BEGIN
- BLANKFORM
- BREAK$
does breakpoint for all
- BREAK$DOWN
does gosub to break
- BREAK$PRT
prints all SUBHEADERs
- BREAK$T3
- BREAK$UP
does GOSUB to break
- BREAKINIT
set up breakpoints for REPORT
- BREAKPOINT
test breakpoint and set indicators
- CALCULATE
- CHAIN
- CHAIN$HELP
- CHARACTER
- CLEAR_OPTION
Clears window options which
- CLEARFORM
- CLEARSCREEN
- CLEARWARNING
- CLEARXY
- CLOSE_INPUT
- CLOSE_OUTPUT
- CMDLINE
- COPYFILE
- CONSTRAINT_SAVE_INIT
- CONSTRAINT_SET
- CONSTRAINT_VALIDATE
- CONSTRAINT_INIT
mode file by index
- CONSTRAINED_CLEAR
- CONSTRAINED_FIND
MODE FILE by INDEX
- DEBUG
JJT-5.1
#COMMAND DATE TR
#NUM V$
#REPLACE !1 |VD!v
#IF (!0>1)
DATE !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDCOMMAND
- DECREMENT
- DESPOOL
O/S dependent function
- DIRECTORY
- DIRECT_INPUT
- DIRECT_OUTPUT
- APPEND_OUTPUT
- DISKFREE
- DISPLAY
- ELSE
- END
- ENDGROUP
- ENT$KEY
- ENTAGAIN
- ENTDISPLAY
Display all entries for a file
- ENTER
- ENTEREND
end of ENTER
- ENTERGROUP
independent entry section
- ENTERMODE
- ENTFIND
- ENTRY
- ENTSFIND
- ENTUPDATE
- ERASEFILE
- ERASEFILEWIN
Only available in console mode
- ERROR
- ERROR_REPORT
- FIELD_DEF
- FILELIST
- FILELIST$PUT
- FILE$MODE$HELP
- FILE_MODE
- FILE$MODE
- FILE_SIZE
- FIND
- FIND$PAGE
- FLEX$INIT
- FOR
- FORMAT
FORMAT window {}
FORMAT window THRU window {}
- FORMAT$RANGE
- FORMFEED
just like PAGECHECK 500
- GET_ARGUMENT_SIZE
- GET_CHANNEL_SIZE
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_CHANNEL_SIZE channelNumber TO integerVariable
Descrtiption:
A command to retrieve the "size" of a sequential device (opened with
direct_input). Warning, devices that do not support the concept of
"size" (such as LST:) report an error.
Parmeters:
channelNumber
Number of a valid (open) channel.
integerVariable
Variable to return the channel size to. If the channel is not
open, 0 is returned.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_RESOURCE_TYPE
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_RESOURCE_TYPE resourceName|resourceId TO integerVariable
Descrtiption:
A command to retrieve the type of a resource at runtime. (Note: the
resource type is set a compile-time.) For the first parameter, you may
pass either the resource name (not in quotes) or the integer value of
the resource id.
Parmeters:
resourceName
Name of a resource.
resourceId
Integer value of a resource id. (The resource name is just a
symbolic replacement (with a .RSC suffix) of a constant integer
equal to the resource id.)
integerVariable
Variable to return the resource type to.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_CURRENT_COLORS
- GET_CURRENT_DIRECTORY
- GET_CURRENT_INPUT_CHANNEL
- GET_CURRENT_LOCKCOUNT
- GET_CURRENT_OUTPUT_CHANNEL
- GET_CURRENT_USER_COUNT
- GET_DATE_FORMAT
- GET_ENVIRONMENT
- GET_LICENSED_MAX_USERS
- GET_NUMBER_FORMAT
- GETXY
- GOSUB
- GOTO
- GOTOXY
- HELP
- IF
- IFNOT
- IF_
THIS IF_ WILL NOT WORK WITH ELSE!
- IFNOT_
THIS IFNOT_ WILL NOT WORK WITH ELSE!
- IF$HELP
- IFCHANGE
- INCLUDE_RESOURCE
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
INCLUDE_RESOURCE fileName AS resourceName {TYPE resourceType}
Descrtiption:
A command to include (embed) a file as a resource.
Parmeters:
fileName
Name of a file (NOT in quotes) to include. May include a path.
resourceName
Name of the resource (NOT in quotes).
resourceType
A constant integer (or a symbolic replacement for a constant
integer) that is recorded in the .flx to indicate the type of
resource. If omitted, DF_RESOURCE_TYPE_LINE is assumed. You
uase any positive value for user-defined types. Do NOT use
0. 0 means the resource is uninitialized (registered, but not
included.) DAC reserves the negative values.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- INCREMENT
- INDCT$$0
- INDCT$$1
- INDCT$AS
- INDCT$GROUP
- INDCT$STATUS
- INDEX_DEF
- INDICATE
- INDICATOR
- INHERIT_SCREEN
- INKEY
- INKEY$
- INPUT
- INSERT
- IS_FILE_INCLUDED
JJT-5.1
#COMMAND INTEGER TR
// ALLOW FOR MORE INTS
#REPLACE !1 |VI!D
#IF (!0>1)
INTEGER !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDCOMMAND
- KEYCHECK
- KEYPROC
- LEFT
- LENGTH
- LOCK
- LOOP
- MAKEDEF$
make a list of symbols defined
- MAKE_FILE
- MEMORY
- MID
- MOVEDATE
JJT-5.1
#COMMAND MOVE #LU "TO" #GLEURC .
#IFCLASS !1 "G" // MOVE INDICATOR
#CHECK !1 _VWFC
!A [] $4020 !1 |GB[0] !3 IN$GLALL |3
#ELSE
// Type independent move as of 2.3
!A [] $086 !1 !3
#ENDIF
#ENDCOMMAND
- MOVEINT
- MOVENUM
- MOVEREAL
- MOVESTR
- MULTI$
repeat a command for each argument (internal)
- MULTIBACK$
same as above, except that arguments
- NAME
- ON
JJT-5.1
#COMMAND NUMBER TR
#NUM V$
#REPLACE !1 |VN!v
#IF (!0>1)
NUMBER !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDCOMMAND
- OS$CALL
- OUTCLOSE
- OUTFILE
- OUTPUT
- OUTPUT_WRAP
- PAD
- PAGE
- PAGECHECK
- POS
- PRINT
- PRINT_WRAP
- READ
- READLN
- READ_BLOCK
- READ_DFINI
- REAL
- REGISTER_RESOURCE
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
REGISTER_RESOURCE resourceName
Descrtiption:
A command to register a resource for use prior to its inclusion.
Parmeters:
resourceName
Name of the resource (NOT in quotes).
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- REGISTRATION
- RENAMEFILE
- REPEAT
- REPLACE
- REPORT
- REPORTEND
end of REPORT
- RIGHT
JJT-5.1
#COMMAND RETURN VFWNDE#G
#IF !0=0
!A [] $043 |CL0
#ELSE
#IFSAME !1 RETURN
#SET Q$ (!a+2)
!A [] $043 |CL!q // RETURN RETURN
RETURN !2 !3 !4 !5 !6 !7 !8 !9
#ELSE
#IFDEF !1
#CHECK !1 _S
#CHECK !2 .
!A [] $043 !1
#ELSE
!A [] $043 |CL0
#FREF !1 !a
#ENDIF
#ENDIF
#ENDIF
#ENDCOMMAND
- RUNPROGRAM_PIPE
- RUNPROGRAM
- SCREENMODE
- SECTION
- SET_ARGUMENT_SIZE
- SET_DFPATH
- SET_CHANNEL_POSITION
- SET_OPTION
Sets window options
- SET_RELATE
- SET_TERMLIST
- SETCHANGE
- SHOW
- SHOWLN
- SLEEP
- STATUS$
- STOP
- STOP_HERE
- SUBTOTAL
JJT-5.1
#COMMAND STRING TR E#L%
#IF (!0>1)
#IFDEF !2
#CHECK !2 _VSWDF
#STR V$ !2
#REPLACE !1 |VS!v
#IF (!0>2)
STRING !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ELSE
#STR V$ 80
#REPLACE !1 |VS!v
STRING !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ELSE
#STR V$ 80
#REPLACE !1 |VS!v
#ENDIF
#ENDCOMMAND
- SYSDATE$HELP
- SYSDATE
SYSDATE DATE HR MIN SECOND
- SYSDATE4
SYSDATE DATE HR MIN SECOND
- SYSTEM
- TRIM
remove pre- and trailing spaces
- UNLOCK
- UNTIL
- UPPERCASE
- WHILE
- WRITE$STR
- WRITE
- WRITELN
- SOUND
- GRAPHIC
- GRSHOW
- GRSHOWLN
- GRXY
- GET_GRXY
- GET_CHANNEL_POSITION
- CIRCLE
- BOX
- BAR
- LINE
- PLOT
- PIE
- ARC
- ELLIPSE
- FLOOD
- PALETTE
- GR_PRINT
- SET_LINE_STYLE
- SET_TEXT
- DISPLAY_GRAPHIC
- SAVE_GRAPHIC
- SAVE_CUT
- DISPLAY_CUT
- SETWORLD
- GETDRANGE
- GRAPH_INIT
- GRAPH_VALUE
- GRAPH_SUM
- GRAPH_STAT
- GRAPH_GETFIRST
- GRAPH_GETNEXT
- ASPECT
- CHART_INIT
- CHART
- INITIALIZE_INTERFACE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
INITIALIZE_INTERFACE
Parameters:
None.
Description:
INITIALIZE_INTERFACE initializes the object resource information.
It should be executed before any other object related operations
are performed.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET$OBJ$IMAGE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Object ObjectName IS [A|AN] ObjectClass {ImageName} {SubImageNames...}
Parameters:
ObjectName is a string.
ObjectClass is an integer.
ImageName is a string.
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND OBJECT R "IS" "A""AN" RVD#I
#IF (!0<5) // if no image try to aquire one
OBJECT !1 !2 !3 !4 !1
#ELSE
#DATA // start up the data stream
#PUSH !Zj // save the unique object label
#PUSH !b // save current definition state
#IF (!b = 4) // if in procedure and not class
#SET ZJ$ 0 // do not inc z
#ELSE
#SET ZJ$ !ZB // assign the next object id
#ENDIF
#PUSH !Zb // save this level on stack
#IFDEF !4.AGG // was this a class with sub objects?
#SET ZB$ !4.AGG // sub objects will begin at the
#ELSE // next object after superclass
#SET ZB$ 0 // base classes start at 0
#ENDIF
#SET ZI$ !ZI // count this object at the current level
#PUSH !Zi // and push the level
#IF (!b > 0) // if (in_object | in_class)
#IF (!b & 2) // obj_flag == in_class?
#IF (!b & 1) // obj_flag == in_Object?
#ELSE // No Name for Subobject in constructor
#REPLACE !$.!1.OBJ |CI-!Zj // object_name = -current_object
#ENDIF
#ENDIF
// (LS) removed setting of ZJ; it is NOT being used.
// (Removed when max lines increased > 32k)
// #SET ZJ$ (32766-!a) // a very unique label for this object
#DPUSH |CS".!1" // make name from parent and child
#ELSE // global object name
#DPUSH |CS"!1" // assign an absolute name to object
#ENDIF
#CHECK U_!4 _U // does class exist?
#DPUSH U_!4 // define then class the class id
GET$OBJ$IMAGE !5 // define the objects image
#IF ((!b & 3) = 2) // if in_class & !in_object
#DPUSH !$.!1.OBJ // pick the assigned dependant number
#ELSE //
#IF (!b = 0) // A global object must assign #
#IFDEF !1.OBJ // Is the symbol defined, name_object?
#DPUSH |CI0 // pick the next dependant number
#ELSE
#DPUSH |CI!Zj // force the dependant number
// #SET ZJ$ ($1000+!Zj) // mark as global object
#SET ZJ$ ($10000000+!Zj) // using 32-bit ids now
#REPLACE !1.OBJ |CI!Zj // Assign an ID to this object
#ENDIF
#ELSE
#DPUSH |CI0 // pick the next dependant number
#ENDIF
#ENDIF
REGISTER_OBJECT !1
#DPUSH GET_!1
#SET B$ (!b | 1) // we are in a object definition
!A [] OBJ$CREATE |VL // create the object now
#IFDEF !1.OBJ
#IFCLASS !1.OBJ V$ // does this object have a global?
MOVE CURRENT_OBJECT TO !1.OBJ // Move the object id to its global
#ENDIF
#ENDIF
#SPUSH !$ //save the old class name
#SET $$ !4
#IFSUB '!$$SC' // if flex-defined class
#IFSUB '!$$SM' // if begin-instance macro exists
!$$SM !$ !5 !6 !7 !8 !9
#ELSE
FORWARD_BEGIN_CONSTRUCT !$ !5 !6 !7 !8 !9
#ENDIF
#ELSE
ADD$IMAGE$ARGS MSG_CONSTRUCT_OBJECT !5 !6 !7 !8 !9 //else use default
#ENDIF
#ENDIF
#ENDCOMMAND
identify the image type
- ADD$IMAGE$ARGS
pass sub image args to constructor
- REPEAT_ITEM
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Register_Object Object_Name
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND REGISTER_OBJECT R
#IFDEF UI.EXISTS
#ELSE
USE UI
#ENDIF
#IFDEF GET_!1
#ELSE
#REPLACE GET_!1 |CI!ZH
#FREG GET_!1 RETURNS INTEGER
#ENDIF
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
ITEM_LIST
Parameters:
None.
Description:
This is the startment that markes the beginning of a list of
items to be attached to the current object. A list class object
can not have a item list.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND ITEM_LIST .
#PUSH !Zg
#PUSH !Zj
#SET ZJ$ !a
#PUSH !Zj
#SET ZG$ 0 // Set the item counter to zero. This is used to
// count and assign ID's to the items.
!A [] OBJ$ILIST |CI0 // Create the command to save the item count,
#FREF OBJ$!Zj$INUM !a // and tell flex to update it later.
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
ON_Item {Value} {[SEND Message {TO Object} | BEGIN_PULL_DOWN Pull_Down_Name {Pull_Down_Image}]}
Parameters:
Value is a string.
Message is a integer.
Object is a integer.
Description:
The ITEM command adds the next item to the current object list.
The Message is the value which will be passed to the handler
if this item is selected.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#COMMAND ON_ITEM NDI """SEND""BEGIN_PULL_DOWN"
#IF (!0<2)
#IF (!0<1)
ON_ITEM '' SEND MSG_NONE
#ELSE
ON_ITEM !1 SEND MSG_NONE
#ENDIF
#ELSE
#IFSAME !1 SEND
ON_ITEM '' !1 !2 !3 !4 !5 !6 !7 !8 !9
#ELSE
#IFSAME !2 SEND
#SET ZG$ !ZG // Increment the item counter
#IFSAME !4 TO
#CHECK !6 .
#DATA
#IFDEF !3
#DPUSH !3 // Push the (variable) message
#ELSE
#IFDEF MSG_!3
#DPUSH MSG_!3 // Push the constant message
#ELSE
#DPUSH |CI0
#FREF MSG_!3 !a,0 // Forward fef the message
#ENDIF
#ENDIF
#IFDEF !5
#DPUSH !5 // Push the (expression, var) dest object
#ELSE
#IFDEF !5.OBJ
#DPUSH !5.OBJ // Push the global object
#ELSE
#DPUSH |CI0
#FREF !5.OBJ !a,1 // Forward ref the object
#ENDIF
#ENDIF
!A [] OBJ$ITEM_EXEC !1 |VL
#ELSE
#IF (!0 > 3)
#CHECK !4 "TO"
#ENDIF
#IFDEF MSG_!3
!A [] OBJ$ITEM MSG_!3 !1 // Create the item passing name and value.
#ELSE
#IFDEF !3
!A [] OBJ$ITEM !3 !1 // Create the item passing name and value.
#ELSE
!A [] OBJ$ITEM |CI0 !1 // Create the item passing name and value.
#FREF MSG_!3 !a // fix value later with procedure address
#ENDIF
#ENDIF
#ENDIF
#ELSE
#IFSAME !2 BEGIN_PULL_DOWN
#CHECK !3 R
REGISTER_OBJECT !3
ON_ITEM !1 SEND ACTIVATE_PULL_DOWN TO (!3(CURRENT_OBJECT))
#IFSUB 'END_MENU'
CREATE_MENU !3 SUB_LOCATION !4 !5 !6 !7 !8 !9
#ELSE
#ERROR 1000 INVALID ARGUMENT: "BEGIN_PULL_DOWN" REQUIRES MENU_SYSTEM PACKAGE
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Repeat_Item Count# TIMES {Item_Syntax}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- END_PULL_DOWN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Entry_Item File.Field {Entry_Options}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND ENTRY_ITEM R
#SET ZG$ !ZG
#DATA
#IFCLASS !1 "EC"
#ENTOPT {$C0A0=!1,$C002,$C003,!2}
#ELSE
#ENTOPT {$C0A0=!1,!2}
#ENDIF
!A [] OBJ$ENTRY$ITEM |CI0 |VL
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
END_ITEM_LIST
Parameters:
None.
Description:
The END_ITEM_LIST command marks the end of a list of items.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND END_ITEM_LIST .
#POP ZJ$
#REPLACE OBJ$!Zj$INUM |CI!Zg // Update the count in the ITEM_LIST cmd.
!A [] OBJ$ENDILIST OBJ$!Zj$INUM // Tell runtime this is the end of list.
#POP ZJ$
#POP ZG$
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
END_PULL_DOWN
Parameters:
None.
Description:
Ends the structure of an ON_ITEM ... BEGIN_PULL_DOWN ... as used by
Menu_System package.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- DEFAULT_END_OBJECT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
On_Key KeyName SEND Message {TO Object} {PRIVATE}
Parameters:
KeyName is a valid hot key name.
Message is valid message name.
Object is the a valid object name.
Description:
The ON_KEY command tells the menu manager to pass the
specified Message code to the specified Object when the
KeyNAme is pressed. If no Object name is passed, the current
object is used. Passing MSG_NONE for Message causes the key to do
nothing, passing MSG_DEFAULT_KEY will restore the default key definition.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#COMMAND ON_KEY RULGBO#SDN "SEND" RLGBO#SDN """TO""PRIVATE" _DNOB """PRIVATE" .
#IFSAME !4 PRIVATE
ON_KEY !1 !2 !3 TO |CI-1 PRIVATE
#ELSE
#DATA
#DPUSH !1
#IFSAME !4 TO
#IFDEF !5
#DPUSH !5
#ELSE
#IFDEF !5.OBJ
#DPUSH !5.OBJ
#ELSE
#DPUSH |CI0
#FREF !5.OBJ !a,1
#ENDIF
#ENDIF
#ELSE
#DPUSH |CI-1
#ENDIF
#IFSAME !6 PRIVATE
#DPUSH |CI1
#ENDIF
#IFDEF !3
!A [] OBJ$ONKEY !3 |VL
#ELSE
#IFDEF MSG_!3
!A [] OBJ$ONKEY MSG_!3 |VL
#ELSE // else the command is defined in flex code
!A [] OBJ$ONKEY |CI0 |VL // get flex to fix the fwd ref
#FREF MSG_!3 !a
#ENDIF
#ENDIF
#ENDIF
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
END_OBJECT
Parameters:
None required
Description:
END_OBJECT tells the manager we are done defining an object.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND END_OBJECT
//
// The following section was added 01-08-90 by SAL to support inheritable
// end-instance macros for classes
//
#IFSUB '!$$SC' //if flex-defined class
#IFSUB '!$$EM' //if end-instance macro defined for class,
!$$EM !$ !1 !2 !3 !4 !5 !6 !7 !8 !9
#ELSE
FORWARD_END_CONSTRUCT !$ !1 !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ELSE
DEFAULT_END_OBJECT //else use default
#ENDIF
#SPOP //restore old class name
//
// end of addition 01-08-90 by SAL
//
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
DEFAULT_END_OBJECT
Parameters:
NONE
Description:
This command terminates an object declaration
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- START_UI
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Start_Ui {Object}
Parameters:
NONE
Description:
This command will dispatch io to the current focus. it will
remain in this routine until a non-zero return code is received.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- UI_ACCEPT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
UI_ACCEPT Object {GROUP | OBJECT} TO ReturnValue
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET Property {OF Object} {ITEM #} TO Value {...}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET Property {OF Object} {ITEM #} TO Value {...}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- FORWARD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
FORWARD {GET | SET | SEND} Property {...}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- DELEGATE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
DELEGATE {GET | SET | SEND} Property {...}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- BROADCAST
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
BROADCAST {RECURSIVE | RECURSIVE_UP} {IGNORE_RETURN} {GET | SET | SEND} Property {...}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- BROADCAST_FOCUS
- PROCEDURE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND GET$SET
#IFSAME !3 OF
#IFSAME DFLT$!2 __X__ // is this a item type message?
#IFSAME !5 ITEM // is the item keyword used?
OBJECT$PROPERTIES !1 !2 !4 !6 !7 !8 !9 // pass it on
#ELSE
OBJECT$PROPERTIES !1 !2 !4 -99 !5 !6 !7 !8 !9 // use dflt
#ENDIF
#ELSE
#IFSAME !5 TO
OBJECT$PROPERTIES !1 !2 !4 !6 !7 !8 !9 // just supply args
#ELSE
OBJECT$PROPERTIES !1 !2 !4 !5 !6 !7 !8 !9 // just supply args
#ENDIF
#ENDIF
#ELSE
GET$SET !1 !2 OF CURRENT_OBJECT !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command: OBJECT$PROPERTIES
Parameters:
{GET | SET} PROPERTY OBJECT { {ITEM #} | TO } VALUE {...}
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND OBJECT$PROPERTIES "GET""SET" RD#OBLG RSND#OBLG R
#DATA
#IFDEF !2 // is message in a variable?
#DPUSH !2 // yes, just push the value
#ELSE
#IFDEF !1_!2 // is this message defined?
#DPUSH !1_!2 // yes, push the definition
#ELSE
#DPUSH |CI0 // forward reference the message
#FREF !1_!2 !a,0 // add the reference to be defined
#ENDIF
#ENDIF
#PUSH !Zg
#SET ZG$ 0
PROPERTY$HELP !4 !5 !6 !7 !8 !9
#POP ZG$
#IFDEF !3
!A [] OBJ$!1 !3 |VL
#ELSE
#IFDEF !3.OBJ
!A [] OBJ$!1 !3.OBJ |VL
#ELSE
!A [] OBJ$!1 |CI0 |VL
#FREF !3.OBJ !a
#ENDIF
#ENDIF
#ENDCOMMAND
JJT-5.1
#COMMAND PROPERTY$HELP
#IF (!0>0)
#IFSAME !1 TO
#ELSE
#IFSAME !1 ITEM
#ELSE
#SET ZG$ !ZG
#IFDEF !1
#DPUSH !1
#ELSE
#IFCLASS !1 0123456789ABCDEF
#DPUSH !1
#ELSE
#IFDEF MSG_!1
#DPUSH MSG_!1
#ELSE
#DPUSH |CI0
#FREF MSG_!1 !a,!Zg
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
PROPERTY$HELP !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Send Message {OptionalArguments...} {TO Object} {OptionalArguments...}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND SEND RSD#OBLG
#DATA
#IFDEF !1
#DPUSH !1
#ELSE
#IFDEF MSG_!1
#DPUSH MSG_!1
#ELSE
#DPUSH |CI0
#FREF MSG_!1 !a,0
#ENDIF
#ENDIF
#IFSAME !2 TO
SEND$HELP !4 !5 !6 !7 !8 !9
SEND$CMD TO !2 !3
#ELSE
SEND$HELP !2 !3 !4 !5 !6 !7 !8 !9
SEND$CMD TO TO CURRENT_OBJECT
#ENDIF
#ENDCOMMAND
JJT-5.1
#COMMAND SEND$HELP U
#IF (!0>0)
#DPUSH !1
SEND$HELP !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDCOMMAND
#COMMAND SEND$CMD
#IFSAME !1 !2
#IFDEF !3
// !A [] OBJ$SEND !3 |VL
!A [] $044C !3 |VL
#ELSE
#IFDEF !3.OBJ
!A [] OBJ$SEND !3.OBJ |VL
#ELSE
!A [] OBJ$SEND |CI0 |VL
#FREF !3.OBJ !a
#ENDIF
#ENDIF
#ELSE
!A [] OBJ$SEND CURRENT_OBJECT |VL
#ENDIF
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Procedure {Set} Message {FOR Class} {{Type Argument} ...}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- MESSAGE$ADDRESS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Function Message {FOR Class} {Type Argument} RETURNS Type
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND FUNCTION R
HANDLE$MESSAGE GET_!1 !2 !3 !4 !5 !6 !7 !8 !9
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command: HANDLE$MESSAGE Message { FOR Class } { RETURNS Type } { Type Argument }
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND HANDLE$MESSAGE RGOBL#
#IFDEF UI.EXISTS
#ELSE
USE UI
#ENDIF
#IF (!b & 4)
#ERROR 100 Procedures and Functions may .not. be nested.
#ENDIF
#CHECK NUM_ARGUMENTS _T
#PUSH !Zg
#PUSH !Za
#SET ZA$ !a
#PUSH !Zu
#DATA
#STKSYM // forget all old stack symbols
#SET B$ (!b | 4) // set flag to in_procedure
#REPLACE NUM_ARGUMENTS |SI0 // define the arg count
#IFSAME !2 GLOBAL
#DPUSH |CI0 // No message
#DPUSH |CI0 // for no class
#CHECK !1 T // cant have dups of these globals
#SET ZG$ (0-!a-2) // make it negative to distuinguish it
#REPLACE !1 |CI!Zg // this will cause all fwd refs to be fixed.
#IF (!0>1) // do we have arguments?
#SET ZG$ 1 // starting argument number
DEFINE_ARGUMENTS !3 !4 !5 !6 !7 !8 !9
#ENDIF
#FREG !1 !2 !3 !4 !5 !6 !7 !8 !9
#ELSE
#IFSAME !2 FOR // are we explict about the class?
MESSAGE$ADDRESS !1 // create id symbol for this message
#DPUSH !1
#IFDEF !3
#IFSAME !3 DESKTOP
#DPUSH U_DESKTOP // Message for the desktop class
#ELSE
#DPUSH !3 // Message for the named class
#ENDIF
#ELSE
#CHECK U_!3 RSDNU // check the class for goodness
#DPUSH U_!3 // Message for the named class
#ENDIF
#IF (!0>3)
#SET ZG$ 1 // starting argument number
DEFINE_ARGUMENTS !4 !5 !6 !7 !8 !9
#ENDIF
#FREG !1 !4 !5 !6 !7 !8 !9
#ELSE
#IF (!b & 2) // obj_flag == in_class?
MESSAGE$ADDRESS !1 // yes, same as handle "for"
#DPUSH !1 // the message
#DPUSH U_!$ // handle msg for "current class"
#ELSE
#IF (!b & 1) // in_object, instance method
!A [] CLONE$CLASS
MESSAGE$ADDRESS !1 // yes, same as handle "for"
#DPUSH !1 // the message
#DPUSH |CI0 // handle for objects class
#ELSE // just your simple global message
#DPUSH |CI0 // No message
#DPUSH |CI0 // for no class
#CHECK !1 T // cant have dups of these globals
#SET ZG$ (0-!a-2) // make it negative to distuinguish it
#REPLACE !1 |CI!Zg // this will cause all fwd refs to be fixed.
#ENDIF
#ENDIF
#IF (!0>1) // do we have arguments?
#SET ZG$ 1 // starting argument number
DEFINE_ARGUMENTS !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#FREG !1 !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDIF
// !A [] HANDLE$FOR |CI0 |VL // handle the message
!A [] $0454 |CI0 |VL
#FREF OBJ$!Za$ENDPROC !a // fref the end procedure line
#SET ZG$ 0 // starting argument number for locals
#ENDCOMMAND
- REGISTER_PROCEDURE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Register_Procedure Message {FOR Class} {{Type Argument} ...}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- DEFINE_ARGUMENTS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Register_Function Message {FOR Class} {{Type Argument} ...} RETURNS Type
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND REGISTER_FUNCTION R
#IFDEF UI.EXISTS
#ELSE
USE UI
#ENDIF
#IFSAME !1 GLOBAL
#ERROR 101 GLOBAL FUNCTIONS CANNOT BE REGISTERED
#ELSE
MESSAGE$ADDRESS GET_!1
#IFSAME !2 FOR
#FREG GET_!1 !4 !5 !6 !7 !8 !9
#ELSE
#FREG GET_!1 !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDIF
#ENDCOMMAND
- CALL
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
END_PROCEDURE
Parameters:
None.
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND END_PROCEDURE .
#SET B$ (!b & 3) // reset flag to in_procedure
#POP U$
#REPLACE OBJ$!Za$LNUM |CI!Zg // Update the count in the local cmd.
// !A [] OBJ$END$HANDLER |CI0
!A [] $0455 |CI0
#REPLACE OBJ$!Za$ENDPROC !a
#POP U$
#POP ZG$
#STKSYM
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
FUNCTION_RETURN {OptionalReturnValue}
Parameters:
Return value may be a variable or constant of any type, including
the literals TRUE or FALSE.
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND FUNCTION_RETURN GO .
#IF (!0 > 0)
#IFSAME !1 $0
// !A [] OBJ$HRET |CI0
!A [] $0450 |CI0
#ELSE
#IFSAME !1 $1
// !A [] OBJ$HRET |CI1
!A [] $0450 |CI1
#ELSE
#CHECK !1 U
// !A [] OBJ$HRET !1
!A [] $0450 !1
#ENDIF
#ENDIF
#ELSE
// !A [] OBJ$HRET |CI0
!A [] $0450 |CI0
#ENDIF
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
LOCAL {STRING | NUMBER | DATE | INTEGER | REAL} LocalName {...}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND LOCAL T T
#IF (!0>0)
#CHECK !1 '"STRING""NUMBER""DATE""INTEGER""REAL"'
#CHECK !2 RT
#IFDEF NUM_ARGUMENTS
#IF (!Zg = 0)
// !A [] LOCAL$ARGUMENT |CI0 // Create the command to save the local count,
!A [] $0456 |CI0
#FREF OBJ$!Za$LNUM !a // and tell flex to update it later.
#ENDIF
#IFSAME !1 STRING
#REPLACE !2 |SS!ZG
#ELSE
#IFSAME !1 NUMBER
#REPLACE !2 |SN!ZG
#ELSE
#IFSAME !1 DATE
#REPLACE !2 |SD!ZG
#ELSE
#IFSAME !1 INTEGER
#REPLACE !2 |SI!ZG
#ELSE
#IFSAME !1 REAL
#REPLACE !2 |SR!ZG
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ELSE
!1 !2
#ENDIF
#IF (!0>2)
LOCAL !1 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDIF
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Class New_Class IS A|AN Old_Class {STARTMAC StartMacro} {ENDMAC EndMacro}
{FgColor BgColor {HandlerName}}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND CLASS _RCDNSO "IS" "A""AN" _RDNO //_UGBO#L _UGBO#L _GBO#L .
#CHECK U_!4 _U // does class exist?
#REPLACE !1$SC !4 //define superclass of new class
#IFSAME !5 STARTMAC //if start macro specified,
#REPLACE !1$SM !6 //remember its name
#IFSAME !7 ENDMAC //if end macro specified,
#REPLACE !1$EM !8 //remember it
BASE_CREATE_CLASS !1 !2 !3 !4 !9
#ELSE
BASE_CREATE_CLASS !1 !2 !3 !4 !7 !8 !9
#ENDIF
#ELSE
#IFSAME !5 ENDMAC //no STARTMAC - if ENDMAC specified,
#REPLACE !1$EM !6 //remember it
BASE_CREATE_CLASS !1 !2 !3 !4 !7 !8 !9
#ELSE
BASE_CREATE_CLASS !1 !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDIF
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
BASE_CREATE_CLASS New_Class IS A|AN Old_Class {FgColor BgColor {HandlerName}}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND BASE_CREATE_CLASS _RCDNSO "IS" "A""AN" _RDNO _UGBO#L _UGBO#L _GBO#L .
#PUSH !b // save obj_flag
#PUSH !Zb // save current_dep
#PUSH !Zf // save the super_class_count
#SET B$ (!b | 2) // set flag to in_class
#SET ZB$ 0 // based on atomic class object
#IF ( (!b & 1) = 0 ) // are we NOT in a create_object?
#IFDEF !4.AGG // bump dep number by already
#SET ZB$ !4.AGG // defined sub objects
#ENDIF
#ENDIF
#SET ZF$ !Zb // save the super_class_count
#PUSH !Zi // save current sub object count
#SET ZI$ 0 // and init for new class
#PUSH !x // save old property index
#SET X$ 0 //init to first array index# (0)
#SPUSH !$ // save the old class name
#SET $$ !1 // retain the name of the class
#IFDEF U_!1 // if the new class id has already
#ELSE // been defined, dont bother
INTEGER U_!1 // else put it into a int of that name
#ENDIF
#DATA // wind up the stream
#IFDEF !4
#DPUSH !4
#ELSE
#DPUSH U_!4 // based upon
#ENDIF
#IF (!0<5)
#DPUSH |CI0 // no colors defined, use default
#ELSE
#DPUSH !5 // else do what they say
#ENDIF
#IF (!0<6)
#DPUSH |CI0 // no colors defined, use default
#ELSE
#DPUSH !6 // else do what they say
#ENDIF
#IF (!0=7) // if parameter used, this will be
#DPUSH |CS"!7" // the name of a 'C' function.
#ELSE
#DPUSH |CS"" // else inherit one from the parent
#ENDIF
!A [] CREATE$CLASS U_!1 |VL // let 'er rip
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
END_CLASS
Parameters:
None.
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND END_CLASS .
#SET ZI$ (!Zi+!Zf) //subobject count = self + superclass
#REPLACE !$.AGG |CI!Zi //define subobject count
!A [] END$CLASS U_!$ |CI!Zi
#SPOP // restore the old class name
#POP X$ // reset the property index
#POP ZI$ // reset old sub_object_count
#POP ZF$ // reset super_class_count
#POP ZB$ // reset current_dep
#POP B$ // reset obj_flag
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
PROPERTY Type Name PRIVATE | PUBLIC {InitialValue}
Parameters:
Type is a primitive DataFlex variable type, i.e. Integer, String...
Name is the local name of the property
PRIVATE indicates that no access handlers should be built
PUBLIC indicates that access/set handlers should be built (default)
InitialValue is the value the property is to have on creation
Description:
PROPERTY declares an attribute of a class, and optionally provides
get and set handlers to manipulate its value. The class receiving
the property is assumed to have defined an array-object named
Attributes; properties will be stored in the Attributes array in the
order in which they are declared.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
JJT-5.1
#COMMAND PROPERTY R R """PRIVATE""PUBLIC" UGO .
#IFSAME !3 PRIVATE
PROPERTY !1 !$.!2 PUBLIC !4
#ELSE
#IF (!b & 1) // in_object, instance method
!A [] CLONE$CLASS // Create a new class
#ENDIF
#DATA // Start the property
MESSAGE$ADDRESS GET_!2
#DPUSH GET_!2 // Push the get property id
#FREG GET_!2 RETURNS !1
MESSAGE$ADDRESS SET_!2
#DPUSH SET_!2 // Push the set property id
#DTYPE Q$ !1 // get the property type in q
#DPUSH |CI!q // push the type
#IF (!0 > 3)
#DPUSH !4
#ELSE // 10/30/1997: If no default param is passed force
#IFSAME !1 STRING // a default value. String types require
#DPUSH |CS'' // a string, all others are numeric. This
#ELSE // fixes a problem in the runtime where
#DPUSH |CI0 // dates and numbers did not initialize properly
#ENDIF // when no initial param was passed in the command
#ENDIF
!A [] CREATE$PROPERTY |CI0 |VL
#ENDIF
#ENDCOMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
CALL RoutineName {Parameters ...}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SUB_PAGE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SUB_PAGE NewPage FROM FromPage ;
{ (WindowNumber) | ;
({VERTICAL|HORIZONTAL} FromWindow ForWindows) | ;
(RECTANGULAR FromWindow NumColumns NumRows) } {...}
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SUB$IMAGE$DEFINE
- MOVE_SUB_PAGE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- USE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
USE PackageName | UI
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- VFIND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SCREEN_OPTIMIZE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
Parameters:
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- FORWARD_BEGIN_CONSTRUCT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
FORWARD_BEGIN_CONSTRUCT ClassName { <argument> ... }
Parameters:
ClassName is the name of the class which owns the macro that is
forwarding.
<argument> is any argument required
Description:
This command allows the instance-creation macros defined for classes
to 'inherit' the instance-creation macro(s) defined by their
superclass(es).
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
<currentClassName> { <arg> ... }
- FORWARD_END_CONSTRUCT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
FORWARD_END_CONSTRUCT ClassName { <argument> ... }
Parameters:
ClassName is the name of the class which owns the macro that is
forwarding.
<argument> is any argument required
Description:
This command allows the instance-ending macros defined for classes
to 'inherit' the instance-ending macro(s) defined by their
superclass(es).
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
<currentClassName> { <arg> ... }
- SET_DEFERRED
- NAME_ITEM
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
NAME_ITEM <object_name> item names...
Description:
Gives names to items of objects in the form: object.item
Assumes item number has already been set.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- NAME_COLUMN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
NAME_COLUMN <object_name> item names...
Description:
Gives names to items of objects in the form: object.item
Just like name_item except item numbers are relative to
base_item.
Assumes item number has already been set.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- NAME_PROPERTY
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
NAME_PROPERTY <object_name> property names...
Description:
Gives names to property of objects in the form: object.item
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- NAME_OBJECT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
NAME_OBJECT <object_name> ACCESS item names...
ACCESS = CHILD, GLOBAL, COLUMN, PROPERTY, ITEM or ACCESS METHOD.
Description:
Gives names to objects in the form: object.obj
and allows items, properties and COLUMNs to be defined.
Inits item number to zero and assumes item names follow.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- ITEM_GROUP
- END_ITEM_GROUP
- DEPENDENT_ITEM
- IMPORT_CLASS_PROTOCOL
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
IMPORT_CLASS_PROTOCOL Source Dest {Msg | ALL} {Flag}
Description:
This command will copy the message definitions of the Source
class to the Dest class. The program may choose to copy ALL
of the messages or only one of the messages from the Source.
The program has the option to stop any message that would overwrite
and to stop the copying of messages not directly defined in the
Source class.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- LOGOUT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
LOGOUT {Driver Name {Server Name}}
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_TRANSACTION_RETRY
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_TRANSACTION_RETRY
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_TRANSACTION_RETRY
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_TRANSACTION_RETRY
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- COPY_DB
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
COPY_DB
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- COPY$DB$CALLBACK
- COPY$DB$COMPRESSION
- DECLARE_DATAFILE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
DECLARE_DATAFILE logicalFileName*n
Description:
Include the .FD for the named file and define any related symbols,
e.g., FILE.FILE_NUMBER
Parameter
logicalFileName
Base name of the .FD file, e.g., for PERSON.FD, it would be
PERSON.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_FILE_FIELD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_FILE_FIELD fileNum fieldNum
SET_FILE_INDEX fileNum indexNum
Description:
Used by API commands requiring more than 2 parameters. Assigns
the fileNum and field or index number. Two commands were provided
to allow improve readability of code.
Parameters:
fileNum:
The number of the file.
fieldNum:
indexNum:
The number of the field or index ( depending on the command.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_FILE_INDEX
- SET_SEGMENT_MISC
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_SEGMENT_MISC segmentNum miscNum
Description:
Used by API commands requiring more than 2 parameters. Assigns
the segmentNum and miscNum.
Parameters:
segmentNum:
The number of the segment of an index
miscNum:
A command dependent numeric value.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_LENGTH_OFFSET
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_LENGTH_OFFSET length offset
Description:
Used by API commands requiring additional length and offset
parameters.
Parameters:
length:
Typically in bytes.
offset:
Typically in bytes.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_ATTRIBUTE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_ATTRIBUTE attribute;
{OF fileNum {fieldNum|(indexNum {segmentNum})} "TO" VARIABLE
Description:
Get a global, file, field, or index attribute.
Parameters
attribute
Attribute id (as defined by API) to be set
fileNum
Optional handle for either a file or a structure
fieldNum
Optional field to be interrogated
indexNum
Optional index to be interrogated
segmentNum
Num of segment in index to be interrogated
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_ATTRIBUTE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_ATTRIBUTE attribute;
{OF fileNum {fieldNum|(indexNum {segmentNum})} "TO" VARIABLE
Description:
Get a global, file, field, or index attribute.
Parameters
attribute
Attribute id (as defined by API) to be set
fileNum
Optional handle for either a file or a structure
fieldNum
Optional field to be modified
indexNum
Optional index to be modified
segmentNum
Num of segment in index to be modified
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- STRUCTURE_START
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
STRUCTURE_START fileNum driverName
Description:
This function begins creation of a new file or modification of
an existing file.
Parameters:
fileNum:
The number for an existing file. It must be 0 if starting a
new file or the number of a file being modified. In either
case, a handle to the structure is written back into fileNum
so that attributes of the new structure can be queried.
driverName:
Name of the driver to use when creating a new file.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- STRUCTURE_ABORT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
STRUCTURE_ABORT structureHandle
Description:
Terminates a file structure operation without completing it.
Parameters:
structureHandle
Handle from the structure_start.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- STRUCTURE_END
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
STRUCTURE_END fileNum {restructureOptions {tempDir {callBackObject}}}
Description:
This function commits a structure operation, performing restructure
on the file if necessary.
Parameters:
fileNum:
The number of the file ( or handle returned by STRUCTURE_START
for a new file ) which a STRUCTURE_START has been done on.
restructureOptions:
The IAND'ing of the following API attributes:
DF_STRUCTEND_OPT_NONE
DF_STRUCTEND_OPT_FORCE
DF_STRUCTEND_OPT_RECOMPRESS
DF_STRUCTEND_OPT_INPLACE
DF_STRUCTEND_OPT_NO_SORT
tempDir:
A temporary directory to be used in not restructuring in place.
callBackObject:
An object id which will receive MSG_CALLBACK during the restructure
operation. This the first parameter of this message is a string
containing progress information.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- STRUCTURE_COPY
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
STRUCTURE_COPY fromFileNumber TO toFileNumber
Descriptiion:
Copies structure of one file to another
Parameters:
fromFileNumber:
File Number of the file from where the structure is to be copied
toFileNumber:
Number of the file to which the structure is to be copied
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- FILL_FIELD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
FILL_FIELD FileNumber fieldNumber { "WITH" <Fill_Type> }
Description:
Fill a field with the highest or lowest value ot the type.
Fill_type:
DF_HIGH or DF_LOW. For example for a numeric field, DF_HIGH is
all 9's and lowest being all 0's
Parameters:
FileNumber:
Number of the file
Field Number:
Number of the field which is to be filled
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- CREATE_FIELD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
CREATE_FIELD fileNum {"AT" fieldNum}
Description:
Creates a new field. If fieldNum is ommitted or 0,
field is appended to record. Actual fieldNum assigned
to new field is returned in fieldNum. fileNum must
be the number of a file currently being restructured or
created.
Parameter:
fileNum
Handle for either a file or a structure
fieldNum
Field to be modified
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- DELETE_FIELD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
DELETE_FIELD fileNum fieldNum
Description:
Delete the field described by fieldNum and fileNum. NOTE:
the fileNum handle must be for a file that has had a STRUCTURE_START
done on it.
Parameter:
fileNum
Handle for either a file or a structure
fieldNum
Field to be modified
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- CREATE_INDEX
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
CREATE_INDEX fileNum {"AT" indexNum}
Description:
Creates a new index for file fileNum. STRUCTURE_START must have
been called for fileNum. IndexNum will contain the number of
the index created; any value in it prior to the call is ignored.
Parameter:
indexNum
Handle for either a file or a structure
fieldNum
Field to be modified
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- DELETE_INDEX
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
DELETE_INDEX fileNum indexNum
Description:
Delete the index described by indexNum and fileNum. NOTE:
the fileNum handle must be for a file that has had a
STRUCTURE_START done on it.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- VARIABLE_FILE_COMMAND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
VARIABLE_FILE_COMMAND command [fileSymbol|fileNum]
Description:
This command allows the execution of any other command,
handling both file numbers ( 102 ) and file symbols
( PERSON )
Parameters:
command:
The DataFlex command number
fileSymbol:
The symbol used to load the .FD file; the logical name of the file.
fileNum:
The number of the file ( obviously ).
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- API_OPEN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
OPEN {fileName AS} [logicalName|fileNum|] {MODE fileMode} index
Description:
Open a DataFile using the specified filename of filenumber.
Parameters:
fileName:
A string containing the physical name of the file
logicalName:
The symbolic name used to find the .FD file.
fileNum:
A number which will be used to open the file. If using the "AS"
form, fileNum may be a variable containing a 0. In that case,
filelist will be searched for an entry with a logical name
matching fileName; the number of the first entry matching will
be used as the number to open the file and will be written
back to the variable used for fileNum.
fileMode:
The mode to open the file in ( e.g., DF_EXCLUSIVE ).
index:
Index to buffer, may be either a number or an index symbol (INDEX.1)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- OLD_OPEN
- OPEN
- API_CLEAR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
CLEAR {logicalName|fileNum}*n
Description:
Clear the current record in the file.
Parameters:
logicalName:
The name used to identify the file in a DataFlex program.
fileNum:
The number used to open the file.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- OLD_CLEAR
- CLEAR
- API_CLOSE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
CLOSE {logicalName|fileNum}*n
Description:
Closes the file.
Parameters:
logicalName:
The name used to identify the file in a DataFlex program.
fileNum:
The number used to open the file.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- OLD_CLOSE
- CLOSE
- GET$FIELD$VALUE$HELP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_FIELD_VALUE fileNum fieldNum "TO" destVariable;
{"LENGTH" iLength {"OFFSET" iOffset}}
Description:
Gets the value of a field into the destVariable doing any
type conversion necessary.
Parameters:
fileNum:
The number used to open the file.
fieldNum:
The number of the field.
destVariable:
Where the fields value will be put.
iLength:
The length of the data to be used. By default, all
data (or as much as can be) is written into the field.
A length of 0 causes all data to be written.
iOffset:
The first byte in the field where data will be written, from 0.
Default is that data will be written into the field starting at
byte 0.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_FIELD_VALUE
- SET$FIELD$VALUE$HELP$2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_FIELD_VALUE fileNum fieldNum "TO" newValue;
{"LENGTH" iLength {"OFFSET" iOffset {noTruncateFlag}}}
Description:
Sets the value of a field to newValue doing any type conversion
necessary.
Parameters:
fileNum:
The number used to open the file.
fieldNum:
The number of the field.
newValue:
The value to be put into the field.
iLength:
The length of the data to be used. By default, all
data (or as much as can be) is written into the field.
A length of 0 causes all data to be written.
iOffset:
The first byte in the field where data will be written, from 0.
Default is that data will be written into the field starting at
byte 0.
noTruncateFlag:
Flag which signifies whether existing data in the field
following data that is edited will be truncated or not. By
default, all old data following new data written is truncated.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET$FIELD$VALUE$HELP
- SET_FIELD_VALUE
- API_SAVERECORD
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SAVERECORD {logicalName|fileNum}*n
Description:
Saves the current record in the specified files.
Parameters:
logicalName:
The name used to identify the file in a DataFlex program.
fileNum:
The number used to open the file.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- OLD_SAVERECORD
- SAVERECORD
- API_ATTACH
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
ATTACH {logicalName|fileNum}*n
Description:
Updates all fields in the current record which relate to another file
with the values of those fields in the parent ( or related-to) files.
Parameters:
logicalName:
The name used to identify the file in a DataFlex program.
fileNum:
The number used to open the file.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- OLD_ATTACH
- ATTACH
- API_SAVE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SAVE {logicalName|fileNum}*n
Description:
Save the contents of the currently active record, updating the
records with any data in parent files from related fields (as per
attach).
Parameters:
logicalName:
The name used to identify the file in a DataFlex program.
fileNum:
The number used to open the file.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- OLD_SAVE
- SAVE
- OLD_DELETE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
DELETE {fileNum|logicalName}*n
Description:
Delete the currently active record from the datafile
Parameters:
logicalName:
The name used to identify the file in a DataFlex program.
fileNum:
The number used to open the file.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- API_DELETE
- DELETE
- OLD_RELATE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
RELATE {fileNum|logicalName}*n
Description:
Moves all related fields into the parent files and then performs a
find in the parents using the main index of the first (or primary)
related field for each parent.
Parameters:
logicalName:
The name used to identify the file in a DataFlex program.
fileNum:
The number used to open the file.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- API_RELATE
- RELATE
- OLD_REFRESH
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
REREAD {fileNum|logicalName}*n
Description:
Locks all files and then re-finds the current record in each file
specified as an argument to the command. If no files are specified,
then all files are reread.
Parameters:
logicalName:
The name used to identify the file in a DataFlex program.
fileNum:
The number used to open the file.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Re-find all files listed by record identity
- OLD_REREAD
- API_REFRESH
- API_REREAD
- REREAD
- OLD_ZEROFILE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
ZEROFILE {fileNum|logicalName}
Description:
Erases all data within the file.
Parameters:
logicalName:
The name used to identify the file in a DataFlex program.
fileNum:
The number used to open the file.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- API_ZEROFILE
- ZEROFILE
- CONSTRAIN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
VCONSTRAIN fileNum RELATES fileNum2
VCONSTRAIN fileNum AS boolExpression
VCONSTRAIN fileNum fieldNum mode expression
VCONSTRAIN fileNum fieldNum mode fileNum2 fieldNum2
Description:
This command allows a variable constraint to be created.
Parameters:
fileNum
Num of the file to be constrained
fieldNum
Num of the field to be constrained
boolExpression
An expression which is treated as FALSE if it evaluates to zero,
TRUE if non-zero
expression
Any DataFlex expression
fileNum2
Num of the file to be constrained to
fieldNum2
Num of the field to be constrained to
mode
Either the symbols LT, LE, EQ, NE, GT, GE, CONTAINS, and MATCHES,
or an expression that corresponds to their symbolic value.
MATCHES = 6, CONTAINS = 7.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- VCONSTRAIN_COMPARE
Handles comparing file.field to expression|file.field.
- VCONSTRAIN_AS
- VCONSTRAIN_RELATE
- VCONSTRAIN
- SORT
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SORT fileNum {indexNumbers {options {callBackObject}}}
Description:
Parameters:
logicalName:
The name used to identify the file in a DataFlex program.
fileNum:
The number used to open the file.
indexNumbers:
Optional string listing all index numbers to sort.
callBackObject:
An object id which will receive MSG_CALLBACK during the restructure
operation. This the first parameter of this message is a string
containing progress information.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- OUTPUT_AUX_FILE_HELP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
OUTPUT_AUX_FILE fileType FOR fileNum {NUMBER logicalNum} {TO optPath}
Description:
Output a database related file.
Parameters:
fileNum:
The number used to open the file.
logicalNum:
The logical number to be used to create the file. Only used if the
file to be created is a new file (thus has no set file number).
fileType:
The type of file to be created, e.g., DF_AUX_FILE_FD or
DF_AUX_FILE_DEF.
optPath:
Optional filename/sequential device where output will be written.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- OUTPUT_AUX_FILE
- OUTPUT_DEF_FILE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
OUTPUT_DEF_FILE fileNum {NUMBER logicalNum} {TO optPath}
Description:
Output a .DEF file.
Parameters:
fileNum:
The number used to open the file.
logicalNum:
The logical number to be used to create the file. Only used if the
file to be created is a new file (thus has no set file number).
optPath:
Optional filename/sequential device where output will be written.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- OUTPUT_FD_FILE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
OUTPUT_FD_FILE fileNum {NUMBER logicalNum} {TO optPath}
Description:
Output an FD file.
Parameters:
fileNum:
The number used to open the file.
logicalNum:
The logical number to be used to create the file. Only used if the
file to be created is a new file (thus has no set file number).
optPath:
Optional filename/sequential device where output will be written.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- DELETE_DB
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
DELETE_DB fileNumber | logicalNameString {IGNORE_ERRORS}
Description:
Deletes a dGatafile. If IGNORE_ERRORS is passed, all errors
are suppressed. This should be used when deleting a file that
may or may not exist.
Parameters:
fileNumber:
Number of file to delete. File can be open but does not have
to be
logicalNameString:
String containing the logical name of the file to delete.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- COPY$RECORD$HELP
-=-=-=-==-==--=-=-=-=-=--=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
COPY_RECORDS FileNumber1 TO fileNumber2 {NoOfRecords};
{USING indexNum} {CALLBACK callback_id}
Description:
Copies NoOfRecords from fileNumber1 to fileNumber2. If USING is not
specified, recnum is used otherwise records are copied using the
specified indexNum. If CALLBACK is specified, the callback function
in the object callback_id is called. FileNumber1 AND FileNumber2
should have identical fields.
Parameters:
FileNumber1:
Number of file FROM where records are to be copied.
FileNumber2:
Number of fiel TO which recordsare to be copied.
NoOfRecords:
Number of records to be copied.
indexNum:
Index Number. If not specified, files are copied in the order of recnum.
callback_id:
Object id of the object containing the callback function.
-=-=-=-==-==--=-=-=-=-=--=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- COPY_RECORDS
- FIELD_MAP
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
FIELD_MAP FileNumber <field_name> "TO" FieldNumber
Description:
converts <field_name> into field number and puts it in FieldNumber
Parameters:
FileNumber:
No of the file containing the fields.
field_name:
name of the field to be converted into number.
FieldNumber:
Value returned by FIELD_MAP
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=---=-=-=-=-=-=--=-=-=-=-
- LOAD_DRIVER
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
LOAD_DRIVER driver_name
Description:
Loads a database driver
Parameter:
driver_name:
Name of the database driver.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- UNLOAD_DRIVER
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
UNLOAD_DRIVER driver_name
Description:
Loads a database driver
Parameter:
driver_name:
Name of the database driver.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- READ_HEX
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
READ_HEX {CHANNEL channelNum} varName {numHexBytes}
Description:
Read a stream of hex bytes from the sequential channel chosen. The
stream must be in the form of a string containing two byte printable
hex numbers, e.g., "616263" would correspond the the string "abc".
The value is converted into ASCII before it is store in varName.
Parameters:
channelNum:
The number of the sequential device channel to be read from. If
not specified, the currently active input channel is read from.
varName:
The variable to read the bytes into.
numHexBytes:
The number of two digit hex codes to read in, e.g., "616263" is
3 hex codes (even though it is actually 6 bytes). If ommitted or
zero, READ_HEX will read until it encounters the end of the line.
If data is read which cannot be converted from hex to ascii,
READ_HEX stops at that point.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- WRITE$HEX$HELP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
WRITE_HEX {CHANNEL channelNum} {value}*n
Description:
Writes any set of values (expressions, variables, etc.) to the chosen
sequential channel in the form of a stream of two digit hex codes,
e.g., the string "abc" would be written as "616263".
Parameters:
channelNum:
The number of the sequential device channel to be read from. If
not specified, the currently active input channel is read from.
value:
Any variable, expression, etc. to be written out. The value is
evaluated and converted to a string before being written, e.g.,
a value of (1 + 1) would be converted to the string "2" and
then written out as "50" which is the hex code corresponding to
the character '2'.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- WRITE_HEX
- GET_CURSOR_VISIBLE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_CURSOR_VISIBLE
Description:
Returns 0 if the cursor is hidden, non-zero if it is visible. NOTE:
this only reflects whether the cursor will be shown during the next
user input action, not whether it is currently shown.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_CURSOR_VISIBLE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_CURSOR_VISIBLE visibleFlag
Description:
Sets the cursor hidden or displayable. NOTE: this only affects
whether the cursor will be shown during the next user input action,
not whether it is currently shown.
Parameters:
visibleFlag
If this value is non-zero, the cursor will be displayed. If zero,
the cursor will be hidden.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- COMPUTE$CRC$HELP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
COMPUTE_SCREEN_CRC {startX startY endX endY "TO"} crcVariable
Description:
Returns a CRC for a region of the screen. This can be used by
automated testing programs to verify that the screen has the
expected display.
Parameters:
startX, startY, endX, endY
Starting and ending coordinates of the region to be CRC'd. If
not given, the whole screen is checked.
crcVariable
A variable which will contain the CRC.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- COMPUTE_SCREEN_CRC
- CALL$DRIVER$1
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
CALL_DRIVER fileNumber driverName;
FUNCTION driverFunction CALLBACK objectID;
PASSING aString aString2 aLong RESULT returnValue
Descrtiption:
A function call used directly access driver specific functions.
Parmeters:
fileNumber
Number of the file
driverName
Name of the driver
driverFunction
Numeric value corresponding to a driver specific function
returnValue
Value returned by CALL_DRIVER
aString
A string
aString2
Another string
aLoing
A long
objectID
Object id for an object that will be sent the GET_CALLBACK
message
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- CALL$DRIVER$2
- CALL_DRIVER
- LOAD_DEF
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
LOAD_DEF defName ONTO structureHandle
Descrtiption:
Will load the file definition from defName on top of the structure
defined by structureHandle. While the structure may be for an
existing file, no structure operations (other than STRUCTURE_START)
should be performed on structureHandle prior to calling LOAD_DEF.
Parmeters:
structureHandle
Handle to an new or modified structure.
defName
Name of the sequential device which contains the .DEF
specification.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_FILELIST
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_FILELIST newName
Descrtiption:
Sets the filelist.cfg file to the name specified. If the specified
file cannot be opened, the current filelist file remains unchanged.
Parmeters:
newName
The name of the file to use as filelist.cfg
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_FILELIST
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_FILELIST Name
Descrtiption:
Gets the name of the current filelist file.
Parmeters:
Name
The name of the file being used as filelist.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- LOGIN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
LOGIN ServerName UserName Password {DriverName}
Description:
Login to the specified server using the passed user and password.
Parameters
ServerName
Name of the server (driver specific) to be logged into
UserName
Name of the user to be used for the login
Password
Password to use for the login
DriverName
Optional database driver to use for the login. API defaults
to attempting a login with all drivers.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- ENUMERATION_LIST
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Commands:
ENUM_LIST, DEFINE, and END_ENUM_LIST
Descrtiption:
Altogether, these commands can be used to enumerate symbol
replacements for lists of symbols.
DEFINE outside of an ENUM/ENUM_LIST block can be used to define
individual symbolic replacements, and to define "flags". (However,
there is no UNDEFINE. Sorry.)
Parmeters:
ENUM_LIST and END_ENUM_LIST take no parameters.
DEFINE supports several syntaxes:
DEFINE symbol
If outside an enum list, defines a symbolic replacement named
symbol as |CI1 (to be used with #IFDEF compiler directive).
DEFINE symbol1 symbol2 ...
If within an enum list, defines a symbolic replacement named
symbol1 as a constant integer one greater than the previous
symbolic replacement in the enum list (and symbol2 and each
additional parameter are defined one greater than the symbol
before it).
DEFINE symbol FOR originalSymbol
If outside an enum list, defines a symbolic replacement named
symbol for originalSymbol. In this instance, originalSymbol may
be any valid symbol name or constant value.
DEFINE symbol FOR constInt
If within an enum list, defines a symbolic replacement named
symbol for the constant integer constInt. Only constant integers
can be used for constInt with the AS syntax option within enum
lists.
Examples:
enumeration_list
define ddd // starts at 0 by default
define eee // 1
define fff ggg hhh // 2 3 4
end_enumeration_list
enum_list
define rrr for 5 // start at 5
define sss // 6
define ttt for 21 // jump to 21
define uuu // 22
end_enum_list
define aaa for ttt // generic symbolic replacements
define aaa for "Hello"
define zzz // defines zzz as |CI1 (to be used with #IFDEF)
Note: Defining multiple "flags" (define sss ttt) is not allowed in order
to allow proper type-checking. (The compiler's preprocessor substitutes
the symbols too early; therefore, it becomes impossible to differentiate
the allowable syntaxes if multiple arguments are allowed.)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- DEFINE
- END_ENUMERATION_LIST
- ENTRY_NAME_ITEM
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
ENTRY_NAME_ITEM itemName file.field ...
Description:
Just like Entry_Item except the first parameter is a (global) Item
Name.
Parameters:
itemName
The (global) name of the item being defined/created.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- ON_NAME_ITEM
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
ON_NAME_ITEM itemName itemValue ...
Description:
Just like On_Item except the first parameter is a (global) Item
Name.
Parameters:
itemName
The (global) name of the item being defined/created.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- BEGIN_TRANSACTION
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
BEGIN_TRANSACTION
Description:
Starts a transaction on any open files.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- END_TRANSACTION
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
END_TRANSACTION
Description:
Attempts to commit all operations in the current transaction.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- ABORT_TRANSACTION
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
ABORT_TRANSACTION
Description:
Aborts any currently active transactions, unlocking the files.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_RESOURCE_LIBRARY
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_RESOURCE_LIBRARY newName
Description:
Tells the program to look in the specified file when opening
resources (with the DIRECT_INPUT command). Specifying "" (the empty
string) as the newName resets the resource library to look in the
currently executing program for resources. The new library must be a
properly compiled DataFlex program; all commands and non-resource
data in the program/library are ignored. The filename MUST include
the extension, but is not required to be .FLX. If the specified
file cannot be opened, an error occurs and the current resource
library continues to be used.
Note: Any resources that are currently open when the resource
library is changed remain open; i.e. you may continue to read from
them. The setting of the resource library only affects the
DIRECT_INPUT command when opening resources.
Parameters:
newName
The name of the file to use as the library of resources.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_RESOURCE_NAME
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_RESOURCE_NAME resourceName|resourceId TO stringVariable
Description:
A command to retrieve the name of a resource at runtime. For the first
parameter, you may pass either the resource name (not in quotes) (I
know that sounds strange, and you'd probably never do it, but it WILL
work) or the integer value of the resource id.
Parameters:
resourceId
Integer value of a resource id.
stringVariable
Variable to return the resource name to.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- ADD
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
ADD value TO variable
Description:
Adds the specified value to the target variable.
Parameters:
value:
Any expression
variable
Any window, variable, etc. that can receive a value
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SUBTRACT
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SUBTRACT value FROM variable
Description:
Subtracts the specified value to the target variable.
Parameters:
value:
Any expression
variable
Any window, variable, etc. that can receive a value
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- BREAK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
BREAK [BEGIN|END]
Description:
Exit or jump to start of a control loop (WHILE, REPEAT, FOR). Default
action is to exit if no argument supplied.
Parameters:
BEGIN:
Jump to start of loop.
END:
Jump to end of loop and exit.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- HARD$EXIT
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
HARD$EXIT <integer>
THIS COMMAND IS INTENDED FOR INTERNAL DAC TESTING USE ONLY
USE WITHIN AN APPLICATION WILL PROBABLY CAUSE SYSTEM INTEGRITY
PROBLEMS!
This command causes the runtime to do an exit(#) without
any internal cleanup. It is intended for testing server
transaction support.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- NETWARE_GET_TTS_FLAG
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
netware_get_tts_flag <path name> to <integer boolean>
THIS COMMAND IS INTENDED FOR INTERNAL DAC TESTING USE ONLY!
This command returns the state of the TTS flag of a file (by path name),
returns false (0) if not a tts volume.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- NETWARE_SET_TTS_FLAG
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
netware_set_tts_flag <path name> to <integer boolean>
THIS COMMAND IS INTENDED FOR INTERNAL DAC TESTING USE ONLY!
This command sets the state of the TTS flag of a file (by path name),
returns [FOUND] if status could be set.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- NETWARE_GET_AVAILABLE
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
netware_get_available <integer boolean>
THIS COMMAND IS INTENDED FOR INTERNAL DAC TESTING USE ONLY!
This command returns non-zero if netware is loaded.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- VALID_DRIVE
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
VALID_DRIVE driveLetter retVal
Description:
This command returns non-zero if the drive is a valid drive letter
This command is only useful under dos/os2/windows
Parameters:
driveLetter
Drive letter to check if valid. Must be a letter.
retVal
Integer results of command
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_DIRECTORY
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_DIRECTORY directory
Description:
Sets the current directory. The directory argument may contain a drive
letter to set the current directory on a particular drive.
Parameters:
directory
The new current directory to be set. The directory argument may
contain a drive letter to set the current directory on a particular
drive.
NOTE: This command will be removed for final VDF 4.0 release. A new message
will be added to provide replacement functionality. KCR
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- FILE_EXIST
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
FILE_EXIST fileName result
Description:
Returns non-zero if the specified file exists.
Parameters:
fileName
The name of the file to check the existance of.
result
Non-zero if the file exists or zero if does not exist.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_DIRECTORY
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_DIRECTORY {drive} currentDirectory
Description:
Returns the current directory.
Parameters:
{drive}
The drive letter to get the current directory for. If drive is
not specifed then the current drive is assumed.
currentDirectory
The current directory for the appropriate drive.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- MAKE_DIRECTORY
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
MAKE_DIRECTORY directory {permissions}
Description:
Makes a directory on the current drive. Uses the optional permissions
value for the directory if it is specified.
Parameters:
directory
The name of the new directory to be made.
{permissions}
The access permissions of the new directory. If this is not
specified then the default is DF_FLEX_ALL_RIGHTS.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- REMOVE_DIRECTORY
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
REMOVE_DIRECTORY directory
Description:
Removes the specified directory.
Parameters:
directory
The name of the directory to be removed.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- MAKE_TEMP_FILE
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
MAKE_TEMP_FILE tempExtension tempFile
Description:
Makes a temporary file with a unique name with the specified extension
and returns the unique name that was generated.
Parameters:
tempExtension
The extension to use when making the temporary file.
tempFile
The name of the temporary file that is returned.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_FILE_MOD_TIME
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_FILE_MOD_TIME fileName "TO" date {hour} {minute} {second}
Description:
Returns the file modified date/time stamp for the specified file.
Parameters:
fileName
The file to get the date/time stamp for.
date
The date the file was last modifed.
{hour}
The hour of the day that the file was last modified.
{minute}
The minute that the file was last modified.
{second}
The second that the file was last modified.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_FILE_MOD_TIME
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_FILE_MOD_TIME fileName "TO" date {hour} {minute} {second}
Description:
Sets the file modified date/time stamp for the specified file.
Parameters:
fileName
The file to set the date/time stamp for.
date
The new date that the file was modified.
{hour}
The new hour that the file was modified.
{minute}
The new minute that the file was modified.
{second}
The new second that the file was modified.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_VIDEO_MODE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_VIDEO_MODE
GET_VIDEO_MODE
Description:
Video Modes for DOS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_VIDEO_MODE
- DEFINE_SYMBOL
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
DEFINE_SYMBOL
Description:
Like #REPLACE except it checks if the symbol exists first.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_DATE_ATTRIBUTE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_DATE_ATTRIBUTE
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_DATE_ATTRIBUTE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_DATE_ATTRIBUTE
Description:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_GROUP_ID
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_GROUP_ID groupId
Description:
This command sets the group id to be used.
Parameters:
groupId
The group id to set as the current group id
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_USER_ID
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_USER_ID userId
Description:
This command sets the user id to be used.
Parameters:
userId
The user id to set as the current user id
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_GROUP_ID
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_GROUP_ID retVal
Description:
This command returns the current group id.
Parameters:
retVal
the value returned is the current user group id
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_EFFECTIVE_GROUP_ID
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_EFFECTIVE_GROUP_ID retVal
Description:
This command returns the current effective group id. This may be
different from the actual group id if, say, the user has become
superuser under unix.
Parameters:
retVal
the value returned is the current effective user group id
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_USER_ID
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_USER_ID retVal
Description:
This command returns the current user id.
Parameters:
retVal
the value returned is the current user id
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_EFFECTIVE_USER_ID
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_EFFECTIVE_USER_ID retVal
Description:
This command returns the current effective user id. This may be
different from the actual user id if, say, the user has become
superuser under unix.
Parameters:
retVal
the value returned is the current effective user group id
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_PERMISSION
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_PERMISSION fileName "TO" retVal
Description:
This command returns the current access privledeges for the specified
file
Parameters:
fileName
The name of the file to check the permissions for
retVal
An value containing all the permission bits for the file
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_PERMISSION
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_PERMISSION fileName "TO" permissions
Description:
This command sets the access privledeges for the specified file.
The various permissions must be and'ed together to form one argument
Parameters:
fileName
The name of the file to set the permissions for
permissions
An value containing all the permission bits for the file and'ed
together to form one integer value
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- ADD_PERMISSION
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
ADD_PERMISSION fileName permissions
Description:
This command adds the requested access privledeges for the specified
file to the access permissions already set for this file.
The various permissions must be and'ed together to form one argument.
These permission bits will then be and'ed together with the existing
permission bits for the file.
Parameters:
fileName
The name of the file to add the permissions for
permissions
An value containing the permission bits to be changed for the file
and'ed together to form one integer value
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- DELETE_PERMISSION
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
DELETE_PERMISSION fileName permissions
Description:
This command removes the requested access privledeges for the specified
file from the access permissions already set for this file.
The various permissions must be and'ed together to form one argument
Parameters:
fileName
The name of the file to remove the permissions for
permissions
An value containing the permission bits to be removed for the file
and'ed together to form one integer value
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_FILE_OWNER
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
SET_FILE_OWNER fileName "TO" owner {group}
Description:
Sets the file owner of the specifed file and optionally sets the
group id of the file.
Parameters:
fileName
The file to set the owner for.
owner
The new owner for the file.
{group}
The new group id for the file.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- GET_FILE_OWNER
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command:
GET_FILE_OWNER fileName "TO" owner {group}
Description:
Gets the file owner of the specifed file and optionally gets the
group id of the file.
Parameters:
fileName
The file to get the owner for.
owner
The owner of the file.
{group}
The group id of the file.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- SET_REFRESH_AFTER_CHAIN
- GET_REFRESH_AFTER_CHAIN
- COMPILER_WARNINGS
JJT-5.1
Changed commands
- END_PROCEDURE
changes: 1. declare an error if not within a procedure or function
2. Check for mismatched Begin/End blocks.
3. Check for child objects within end_object
- END_CLASS
changes: 1. declare an error if not within a class
2. declare an error if within a procedure/function
3. declare an error in object (implies missing end_object)
Note: it is possible that under advanced usage you might be
creating a class in a method. If this is the case you should
use base_end_class
- BASE_END_CLASS
this is lower level end_class. It doesn't check that the
command apppears in the "right" spot.
- END_OBJECT
changes: declare an error if not within an object
if within a class, this should be inside of a method
- FUNCTION_RETURN
changes: declare an error if not within a procedure or function
- RETURN
change: return can be used in methods or in sub-routines
perhaps next revision
#COMMAND RETURN
#IF (!b & 4) // are we within a Procedure/function
#IF (!Zl & 2)
#REM #ERROR 301 Old Style Usage: Possible gosub return inside of method
#ENDIF
Procedure_Return !1 // we are returning from a method
#ELSE
// tells us what we need to fix.
#IF (!Zl & 2)
#REM #ERROR 301 Old Style Usage: Gosub style/Return s/b Gosub_return
#ENDIF
#IF (!Zl & 1) // if relaxed...
Gosub_Return !1 !2 // we are doing an old style sub-routine return
#ELSE
Procedure_Return !1 // we are returning from a method.. will gen an error
#ENDIF
#ENDIF
#ENDCOMMAND
change: if within a method declare an error. Force use of
gosub_return. This catches errors where developer types
return instead of procedure_return.
- Gosub_Return
- LOCAL
Change: Declare error if not within a method (it used to create
globals.
- INTEGER
if not defined as local make it local if needed
- STRING
- DATE
- NUMBER
- ADDRESS
- DEFINE$VARIABLE$HELP
This would make Local keyword optional in methods
- GLOBAL_VARIABLE
check if global is within method and declare error
#COMMAND DEFINE$VARIABLE$HELP
#IFDEF NUM_ARGUMENTS
#IF (!Zl & 1) // old style - force to global
Global_Variable !1 !2 !3 !4 !5 !6 !7 !8 !9
#REM WARNING 301: Global Variable defined in method
#ELSE
#ERROR 301 Global Variable defined in method
#ENDIF
#ELSE
Global_Variable !1 !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDCOMMAND
- CLASS
Change: Check that U_!1 is not yet defined
Error if within class
Error if within a method
_UGBO#L _UGBO#L _GBO#L .
- BASE_CREATE_CLASS
Change: Clear In object Flag. If a class is created within an object
it is not relevant.
- PROPERTY
changes: 1. Allow New syntax: Property type Name {dflt} public|private is optional
2. Check placement as follows:
2.1. Must be in class or object
2.2. Cannot be in a child object defined by a class
2.3. If in class, must be in procedure (constructor)
2.4. If in object, must not be in procedure.
3. Check for Property Name conflicts (Get_name conflict)
3.1. If defined as object access - error
3.2. If defined as global method - error
3.3. If defined with different param list - error (already does this)
- OBJECT
Changes: 1. No_image is optional if windows (always provided by compiler)
2. If within class, s/b within a class (in df$object)
- DF$OBJECT
- GET$SET
Changes: 1. Methods not allowed in class child-objects
2. If on desktop and not Global/for..is for dfdesktop
- GET$SET$HELP
- OBJECT$PROPERTIES
- OBJECT$DEFINE
- DPUSH$EXP
this forces the param passed to be subsituted for an expression
you can directly dpush an expression
- PROPERTY$HELP
- SEND
Changes: 1. support "OF" as well as "TO". OF is preferred
2. Check location of "OF" keyword
3. Check for improper message type (expression)
4. If sent directly within class (not method)...error
- SEND$CMD
- OBJECT$SEND$DEFINE
- SEND$HELP
- MOVE
Create Move command that will move object access methods
to a var with simple name
- MOVEVAR
- MOVEOBJ
- REGISTER_OBJECT
changes: Check that object name is not already a global/class function
Add alternate access syntax @Name
check that the name is not an internal function
- REGISTER_FUNCTION
Changes: Check for Global error (used to check !1)
Check for Object access name error
Check that the name is not a global name
- FUNCTION
Changes: Check for Object access name error
- HANDLE$MESSAGE
called by Set/Get
Changes: 1. If in object and msg_consruct_object..error
2. Cannot nest methods (already was there)
3. Methods not allowed in class child-objects
4. If on desktop and not Global/for..is for dfdesktop
- ITEM_LIST
- END_ITEM_LIST
- ENTRY_ITEM
- ENTRY$ITEM
- REPLACE_CLASS_NAME
- ON_KEY
- ON_ITEM
- GET_FIELDNUMBER
****************************************************************************//
//
Returns the field number of a fieldnumber passed. //
//
USAGE: //
GET_FIELDNUMBER FlexErrs.Note to MyVar //
//
****************************************************************************//
- GET_FILENUMBER
****************************************************************************//
//
Returns the file number of a fieldnumber passed. //
//
USAGE: //
GET_FILENUMBER FlexErrs.Note to MyVar //
//
****************************************************************************//