home *** CD-ROM | disk | FTP | other *** search
- New features added in Baja Version 2
- ====================================
-
- o Integer constants can be delcared as specific bit values (.x)
- o Integer contsants can be modified during compilation (345*12)
- o Compiler supports C-like macros (!define) for pre-processor definition of
- integer and string constants
- o Compiler supports multi-file projects using a C-like pre-processor directive
- (!include) for combining multiple source/include files
- o Enhanced functions:
- SHIFT_STR [str_var] <#>
- Can shift any string variable (not just str)
- SETLOGIC <TRUE or FALSE or GREATER or LESS>
- Supports new GREATER and LESS logic states
- PRINT <"str" or any_var>
- Can print any variable as well as string constants
- CHKFILE <"str" or str_var>
- Can check for file specified by string constant or variable
- COMPARE_KEY <key>
- Now supports DIGIT, EDIGIT, ^x, and /x like CMDKEY
- COMPARE_ARS <ars>
- Now supports WIP (Windows Interface Protocol) keyword
- COMPARE_USER_MISC <attrs>
- and
- TOGGLE_USER_MISC <attrs>
- Now support WIP (Windows Interface Protocol) attribute
- PRINTFILE <"str" or str_var> [mode]
- Optional mode (one or more):
- NOABORT Disallows abortion of display with Ctrl-C
- SAVEATR Retain attributes (colors) after display
- NOATCODES Don't expand @-code variables/actions
- OPENCLOSE Open and close immediately (before display)
- GETSTR [str_var] [maxlen] [mode]
- Can read into any string variable (not just str)
- Optional mode (one or more):
- UPPER Converts all letters to upper case
- UPRLWR Upper/Lower case automatically
- NUMBER Allow numbers only
- WRAP Allows word wrap
- MSG Allows ANSI, ^N ^A ^G
- SPIN Spinning cursor
- LINE Input line (inverse color)
- EDIT Edit string passed
- NOCRLF Don't print CRLF after string input
- ALPHA Only allow alphabetic characters
- LOWPRIO low priority input
- NOEXASC No extended ASCII allowed
- E71DETECT Detect E-7-1 terminal type
- AUTODEL Auto-delete text (used with EDIT)
- NOECHO Don't echo input to local or remote console
- GETNUM [any_var] <#>
- Writes to any variable (not just str)
- NODE_ACTION <action or #>
- Supported actions:
- MAIN Main Prompt
- RMSG Reading Messages
- RMAL Reading Mail
- SMAL Sending Mail
- RTXT Reading G-Files
- RSML Reading Sent Mail
- PMSG Posting Message
- AMSG Auto-message
- XTRN Running External Program
- DFLT Main Defaults Section
- XFER Transfer Prompt
- DLNG Downloading File
- ULNG Uploading File
- BXFR Bidirectional Transfer
- LFIL Listing Files
- LOGN Logging on
- LCHT In Local Chat with Sysop
- MCHT In Multi-Chat with Other Nodes
- GCHT In Local Chat with Guru
- CHAT In Chat Section
- SYSP Sysop Activity
- TQWK Transferring QWK packet
- PCHT In Private Chat
- PAGE Paging another node for Private Chat
- RFSD Retrieving file from seq dev (aux=dev)
- o New String Manipulation functions:
- STR <str_var> [str_var] [...]
- Define local string variable(s)
- GLOBAL_STR <str_var> [str_var] [...]
- Define global string variable(s)
- SET <str_var> <"str">
- Initialize string variable
- COPY <str_var> <any_var>
- Copy from any variable to a string variable
- SWAP <str_var> <any_var>
- Swap contents of any variable with string variable
- STRCAT <str_var> <str_var or "str">
- Append string variable or constant to end of string variable
- SPRINTF <str_var> <"str"> <any_var> [any_var] [...]
- Write text and formated variables to string variable
- TIME_STR <str_var> <int_var>
- Convert time integer variable to date/time string
- DATE_STR <str_var> <int_var>
- Convert time integer variable to MM/DD/YY string
- SECOND_STR <str_var> <int_var>
- Convert time integer variable to HH:MM:SS string
- FTIME_STR <str_var> <"str"> <int_var>
- Convert time integer variable to string in custom format
- TRUNCSP [str_var]
- Truncate space off end of string variable
- STRIP_CTRL [str_var]
- Strips all control characters from string variable
- STRUPR [str_var]
- Convert string variable to upper case
- STRLWR [str_var]
- Convert string variable to lower case
- LOAD_TEXT <"str">
- Loads an alternate TEXT.DAT into memory
- REVERT_TEXT <# or ALL>
- Reverse effects of REPLACE_TEXT for specific line # or ALL
- o New Integer Manipulation functions:
- INT <int_var> [int_var] [...]
- Define local integer variable(s)
- GLOBAL_INT <int_var> [int_var] [...]
- Define global integer variable(s)
- SET <int_var> <#>
- Initialize integer variable
- ADD <int_var> <any_var or #>
- Add any variable or numeric constant to integer variable
- SUB <int_var> <any_var or #>
- Subtract any variable or constant from integer variable
- MUL <int_var> <any_var or #>
- Multiply any variable or constant with integer variable
- DIV <int_var> <any_var or #>
- Divide integer variable by any variable or constant
- MOD <int_var> <any_var or #>
- Modula (remainder after division)
- AND <int_var> <any_var or #>
- Bit-wise AND integer with any constant or variable
- OR <int_var> <any_var or #>
- Bit-wise OR integer with any constant or variable
- NOT <int_var> <any_var or #>
- Bit-wise NOT integer with any constant or variable
- XOR <int_var> <any_var or #>
- Bit-wise XOR integer with any constant or variable
- COPY <int_var> <any_var>
- Copy from any variable to an integer variable
- SWAP <int_var> <any_var>
- Swap contents of any variable with integer variable
- RANDOM <int_var> <#>
- Write random number between 0 and # to integer variable
- TIME <int_var>
- Write current time (time_t format) to integer variable
- STRLEN <int_var> <str_var>
- Put length of string variable into integer variable
- DATE_INT <int_var> <str_var>
- Convert MM/DD/YY string variable to integer variable
- CRC16 <int_var> <str_var>
- Put CRC-16 of contents of string variable into integer variable
- CRC32 <int_var> <str_var>
- Put CRC-32 of contents of string variable into integer variable
- CHKSUM <int_var> <str_var>
- Put CHKSUM of contents of string variable into integer variable
- CHARVAL <int_var> <str_var>
- Put value of 1st char in string variable into integer variable
- FLENGTH <int_var> <str_var>
- Put length of file pointed to by string variable into integer
- o New Logic/Control Flow functions:
- COMPARE <any_var> <any_var or "str" or #>
- Compare any variable with another variable or constant
- IF_EQUAL
- Same as IF_TRUE
- IF_NOT_EQUAL
- Same as IF_FALSE
- IF_GREATER
- If comparison resulted in GREATER-than
- IF_GREATER_OR_EQUAL
- If comparison resulted in GREATER-than or EQUAL-to
- IF_LESS
- If comparison resulted in LESS-than
- IF_LESS_OR_EQUAL
- If comparison resulted in LESS-than or EQUAL-to
- SWITCH <int_var>
- C-like switch { to replace multi if-else-if statements
- CASE <#>
- C-like case: block header
- DEFAULT
- C-like default: case block header
- END_CASE
- Like C "break" statement, terminates a case block
- END_SWITCH
- End of switch block (})
- CMDKEYS <keylist>
- Skip block if current command key is not in keylist
- COMPARE_KEYS <keylist>
- Logic state set to FALSE if current command key not in keylist
- COMPARE_STRN <#> <str_var> <str_var or "str">
- Compare first # characters of two strings (strncmp())
- COMPARE_SUBSTR <str_var> <str_var or "str">
- Find second string inside first (strstr())
- o New Display functions:
- PRINTF <"str"> <any_var> [any_var] [...]
- C-like function to display text and formatted variables
- PRINTTAIL <str_var> <mode> <lines>
- Print last x number of lines of file (mode same as PRINTFILE)
- READ_SIF <"str">
- Read SIF/SOF file and display with user's answers filled in
- SAVELINE
- Save the current display line to be redisplayed w/RESTORELINE
- RESTORELINE
- Re-display last line saved with SAVELINE
- o New Input functions:
- INKEY
- Set logic state to TRUE if the user hit a key (don't wait)
- CREATE_SIF <"str">
- Create/overwrite SIF data file by asking user questions
- o New Miscellaneous functions
- ONLINE
- Assume online execution (auto-halt if disconnected) - default
- OFFLINE
- Assume offline execution (no carrier or no one online)
- LOGIN <"str">
- Process login attempt using passed str for password prompt
- LOGON
- Initiate logon procedure (auto-loads logon module)
- LOGOUT
- This function to be used before re-logging a user in
- NEWUSER
- Initiate new user procedure (auto-loads new user module)
- RIOSYNC
- Synchronize remote output (wait for output buffers to flush)
- PUT_NODE
- Force flush of current node information to disk
- NODE_STATUS <status or #>
- Set node status to one of:
- WFC Waiting for Call
- LOGON At logon prompt
- NEWUSER New user applying
- INUSE In Use
- QUIET In Use - quiet mode
- OFFLINE Offline
- NETTING Networking
- EVENT_WAITING Waiting for all nodes to be inactive
- EVENT_RUNNING Running an external event
- EVENT_LIMBO Allowing another node to run an event
- ADJUST_USER_MINUTES <# or -#>
- Add or subtract minutes from user's minute bank
- USER_EVENT <event_type>
- Execute user event(s), one of:
- LOGON All configured external logon events
- LOGOFF All configured external logoff events
- NEWUSER All configured external new user events
- BIRTHDAY All configured external birthday events
- TRASHCAN <"str">
- Searches file specified by "str" for current command string
- SEND_FILE_VIA <prot> <"str" or str_var>
- Immediately start the transfer of a file with specific protocol
- GETTIMELEFT
- Checks the user's current time left online
- MSWAIT <#>
- Suspends execution for # milliseconds (gives up time-slices)
- o New File Base functions:
- FILE_BATCH_ADD_LIST
- Add list of files (current command str) to batch d/l queue
- FILE_SEND
- Same as FILE_GET, but doesn't require system password.
- o New Chat functions:
- PAGE_GURU
- Page one of the configured online Gurus for chat
- o New File I/O functions:
- FOPEN <int_var> <access> <"str" or str_var>
- Open/create a file for random access
- FCLOSE <int_var>
- Close a file
- FREAD <int_var> <any_var> [int_var or #]
- Read # of bytes from a file into integer or string variable
- FWRITE <int_var> <any_var> [int_var or #]
- Write # of bytes from integer or string variable into a file
- FGET_LENGTH <int_var> <int_var>
- Get current length of file and put in integer variable
- FSET_LENGTH <int_var> <int_var or #>
- Set current length of file
- FGET_TIME <int_var> <int_var>
- Get the current time stamp of file
- FSET_TIME <int_var> <int_var>
- Set the current time stamp of file
- FEOF <int_var>
- Set logic state to true if currently at end of file
- FGET_POS <int_var> <int_var>
- Get current byte offset (position) in file
- FSET_POS <int_var> <int_var or #> [BEG/SET or CUR or END or #]
- Set the current file position (seek)
- FLOCK <int_var> <int_var or #>
- Lock a record of # bytes in length (retry for 10 seconds)
- FUNLOCK <int_var> <int_var or #>
- Unlock a previously locked record
- FPRINTF <int_var> <"str"> <any_var> [any_var] [...]
- Write text and formatted variables to file
- FREAD_LINE <int_var> <any_var>
- Read a single line from a file into a variable
- FSET_ETX <#>
- Set end-of-text character for ASCII termination (default: 0)
- o New File System functions
- o New Directory System functions
-
-
- Incompatibilities with Baja Version 1 Source Code
- =================================================
-
- PRINT function requires argument to be in quotes (if not a variable).
-
- PRINTFILE function requires first argument to be in quotes (if not a variable).
-
- NODE_ACTION function requires inclusion of NODEDEFS.INC and action parameters
- (MAIN and XFER) where changed (to NODE_MAIN and NODE_XFER). Additional
- action values were added. See Baja.DOC for details.
-
- TOGGLE_NODE_MISC and COMPARE_NODE_MISC functions require the inclusion of
- NODEDEFS.INC. Misc attribute syntax was changed. See Baja.DOC for
- details.
-
- TOGGLE_USER_MISC and COMPARE_USER_MISC functions require the inclusion of
- USERDEFS.INC. The misc attributes were changed (prepended with UM_).
- The syntax for combining multiple misc attributes was changed. See
- Baja.DOC for details.
-
- TOGGLE_USER_CHAT, COMPARE_USER_CHAT, TOGGLE_USER_QWK, and COMPARE_USER_QWK
- functions require the inclusion of USERDEFS.INC. The attr parameters
- were changed (from ECHO to CHAT_ECHO, for example). The syntax for
- combining multiple misc attributes was changed. See Baja.DOC for
- details.
-
- SET_USER_STRING function requires the inclusion of USERDEFS.INC. The argument
- syntax was changed (from ALIAS to USER_STRING_ALIAS, for example).
-
- Label names may no longer contain spaces.
-
- /* End of BAJA_V2.NEW */
-