BAJA2NEW.TXT
12-17-22 15:09
Line 1 / 332
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 */
PgDn/PgUp · Home/End · Q=Back · Raw
0%