TDBS 1.2 - Command and Function List


Contact:   eSoft, Inc. (Makers of TBBS)
           15200 E. Girard Ave., Suite 3000
           Aurora, CO  80014
           (303) 699-6565      Voice
           (303) 699-6872      Fax
           (303) 699-8222      BBS
           support@esoft.com   E-Mail


TDBS 1.2 COMMAND AND FUNCTION LIST
----------------------------------

The following is a listing of commands and functions supported by
TDBS Version 1.2. The commands and functions are divided into
appropriate categories to describe their level of compatibility
with the de facto xBASE language standard (i.e., dBASE III Plus).
If a desired command is not listed in any of the categories, it
is not supported by TDBS.

                       TDBS xBASE Commands

The following is a list of commands supported by TDBS Version 1.2
whose syntax is the same as dBASE III Plus. If a particular
command supports fewer options than dBASE III Plus, the
differences are noted.

?/?? <exp list>
  Displays the results of one or more expressions.

@ <row>, <col>
  Positions cursor and clears to end of line.

@ <row>, <col> CLEAR [TO <row>, <col>]
  Clears a rectangular area of the screen.

@ <row>, <col> TO <row>, <col> [DOUBLE]
  Draws a single or double line box on the screen.

ACCEPT [<prompt>] TO <memvar>
  Reads character string from the keyboard into specified memory
  variable.

APPEND BLANK
  Adds a blank record to the end of the current database file and
  positions the file pointer to that record.

APPEND FROM <file> [<scope>] [FOR <condition>] [WHILE
<condition>] [TYPE] [SDF]/[DELIMITED [WITH BLANK/<char>]]
  Adds records to the current database file from an ASCII text
  file or another database file. NOTE:  DIF, SYLK and WKS files
  not supported.

AVERAGE <exp list> [<scope>] TO <memvar list> [FOR <condition>]
[WHILE <condition>]
  Averages a series of numeric expressions to memory variables
  for a range of records in the current work area.

CLEAR
  Clears the screen, homes the cursor, and clears any pending
  GETs from the GET buffer.

CLEAR ALL
  Closes any open files, releases all memory variables, releases
  pending GETs from the GET buffer, and sets the SELECTed work
  area to 1.

CLEAR GETS
  Releases any pending GETs from the GET buffer.

CLEAR MEMORY
  Releases all PUBLIC and PRIVATE memory variables.

CLEAR TYPEAHEAD
  Deletes any unread characters in the keyboard input buffer.

CLOSE ALL/ALTERNATE/DATABASES/FORMAT/INDEX
  Closes the specified type of file, or all files. NOTE:  CLOSE
  PROCEDURE has no meaning in TDBS and is not supported.

CONTINUE
  Resumes the most recent LOCATE search.

COPY TO <file> [<scope>] [FIELDS <field list>] [FOR <condition>]
[WHILE <condition>] [TYPE] [SDF]/[DELIMITED [WITH <char>]]
  Copy all or part of the current database file to a new file.
  NOTE:  DIF, SYLK, and WKS formats not supported.

COPY FILE <file> to <file>
  Make a copy of any type of file.

COPY STRUCTURE [FIELDS <field list>] TO <file>
  Creates an empty database file with field definitions from the
  current database.

COPY TO <file> STRUCTURE EXTENDED
  Create a database file whose contents are the field definitions
  of the current database.

COUNT [<scope>] TO <memvar> [FOR <condition>] [WHILE <condition>]
  Tallies selected records from the current work area to a
  specified memory variable.

CREATE <file>
  Creates an empty STRUCTURE EXTENDED file.

CREATE <file1> FROM <file2>
  Creates a new database file from a structure extended file.

DELETE [<scope>] [FOR <condition>] [WHILE <condition>]
  Marks one or more records for deletion in the current database.

DIR [<drive:>][<path>][<skeleton>]
  Displays a listing of files from the specified path.

DO <procedure> [WITH <parameter list>]
  Calls a procedure one level down and optionally passes
  parameters.

DO CASE . . . CASE . . . [OTHERWISE . . .] ENDCASE
  Selects a path of program execution from a set of conditions
  and branches on the first true evaluation.

DO WHILE <condition> . . . [EXIT] . . . [LOOP] . . . ENDDO
  Executes a looping structure while the condition is true.

EJECT
  Advances currently selected printer to top-of-form.

ERASE [<drive:>][<path>]<file>
  Removes the specified file from the disk.

FIND <char string>
  Searches the master index for the first key which matches the
  specified <char string> and positions the record pointer to the
  corresponding record.

GO/GOTO <expN>/BOTTOM/TOP
  Moves the record pointer to a specific record in the database
  file open in the current work area.

IF <condition> . . . [ELSE . . .] ENDIF
  Permits conditional execution of commands if the condition is
  true with an optional alternative group of commands if the
  condition is false.

INDEX ON <key exp> TO <file>
  Creates a file which contains an index to the records in the
  current work area's database file. NOTE:  The UNIQUE option is
  not supported, but SET UNIQUE ON (equivalent functionality) is
  supported.

INPUT [<prompt>] TO <memvar>
  Allows a number to be input from the keyboard into a memory
  variable.

LOCATE [<scope>] FOR <condition> [WHILE <condition>]
  Performs a linear (non-indexed) search for the first record in
  the current work area's database file which matches the
  specified condition.

NOTE/*/&&
  Allows comments in the program (NOTE and *) and after command
  lines (&&).

ON ERROR/ESCAPE/KEY [<command>]
  Branches the execution of a program if one of three specified
  conditions occurs.

PARAMETERS <memvar list>
  Identifies memory variables which receive the parameters passed
  by the DO WITH command.

PROCEDURE <procedure>
  Identifies the beginning of a procedure.

QUIT
  Terminates program processing, closes all open files, and
  returns to the calling TBBS menu.

RECALL [<scope>] [FOR <condition>] [WHILE <condition>]
  Reinstates records which were marked for deletion.

RELEASE <memvar list>/[ALL[LIKE/EXCEPT <skeleton>]]
  Delete memory variables. NOTE:  The MODULE option is not
  supported since it does not apply in a TDBS environment.

RENAME <old filename> TO <new filename>
  Renames an existing disk file.

REPLACE [<scope>] <field> WITH <exp> [, <field> WITH <exp> . . .]
[WHILE <condition>] [FOR <condition>]
  Changes the contents of selected fields to the results of the
  specified expressions.

RESTORE FROM <file> [ADDITIVE]
  Retrieve memory variables stored in a memory (.MEM) file.

RETURN [TO MASTER]
  Terminates a procedure or program and returns control to the
  calling program.

SAVE TO <file> [ALL[LIKE/EXCEPT <skeleton>]]
  Save memory variables to a memory (.MEM) file.

SEEK <exp>
  Searches for the first index key matching a given expression.

SELECT <work area/alias>
  Changes the current work area.

SET BELL ON/OFF
  Sets the sounding of the warning bell on full screen edits on
  or off.

SET CENTURY ON/OFF
  Sets the display of century digits for date values on or off.

SET COLOR TO [<standard>][, <enhanced>]
  Defines colors for subsequent screen output. NOTE:  The
  <border> and <background> options are not supported; <border>
  does not apply to TDBS environments, and background colors are
  set as part of the <standard> and/or <enhanced> options.

SET CONFIRM ON/OFF
  Either terminates the current GET field input automatically, or
  requires an explicit terminating keypress.

SET CONSOLE ON/OFF
  Allows program control over sending ? and ?? command output to
  the screen.

SET DATE <format>
  Sets the format of date display, input and function calls to
  the given format.

SET DECIMALS TO <expN>
  Sets the number of decimal places to display for numeric
  values.

SET DELETED ON/OFF
  Turn on or off automatic filtering of records marked for
  deletion.

SET DELIMITERS ON/OFF
SET DELIMITERS TO [<expC>/DEFAULT]
  Defines the characters to delimit GET fields.

SET DEVICE TO SCREEN/PRINT
  Directs the output of @ . . . SAY to either screen or printer.

SET ESCAPE ON/OFF
  Allows control over the Esc key interrupt action.

SET EXACT ON/OFF
  Determines how two character strings are compared.

SET EXCLUSIVE ON/OFF
  Sets the default file mode with which USE will open files.

SET FILTER TO [<condition>]
  Makes a database file appear as if it contains only the records
  meeting a specified condition. NOTE:  Does not support the FILE
  <filename> option.

SET FIXED ON/OFF
  Control the display of numeric output based on the current SET
  DECIMALS command setting.

SET FUNCTION <key> TO [<expC>]
  To assign a character string to a function key.

SET INDEX TO <file list>
  Opens specific index file(s) in the current work area.

SET INTENSITY ON/OFF
  Sets the display of GET screen edit fields to take place in
  either enhanced of standard color settings.

SET MARGIN TO <expN>
  Sets the left margin for all printer output.

SET MEMOWIDTH TO <expN>
  Sets the column width of memo field screen output.

SET ORDER TO [<expN>]
  Selects a new master (controlling) index file.

SET PRINT ON/OFF
  Controls output of ? and ?? command text to the printer.

SET PRINTER TO [LPT1/LPT2/LPT3/LPT4]
  Requests and assigns this program a printer to use.

SET PROCEDURE TO [<file>]
  Compiles all procedures in the specified file so they may be
  accessed by the rest of the TDBS program.

SET TYPEAHEAD TO <expN>
  Sets the size of the keyboard input buffer.

SET UNIQUE ON/OFF
  Determine whether index files are to include non-unique keys
  when creating a new index.

SKIP [<expN>]
  Moves the record pointer relative to the current position for
  the database file in the current work area.

STORE <exp> TO <memvar list>
<memvar> = <exp>
  Initializes and/or assigns a value to one or more memory
  variables.

SUM [<scope>] <expN list> TO <memvar list> [FOR <condition>]
[WHILE <condition>]
  Sums a series of numeric expressions to memory variables for a
  range of records in the current work area.

TEXT . . . <text> . . . ENDTEXT
  Displays a block of text.

TYPE <file> [TO PRINT]
  Displays the contents of a text file to the screen or printer.

WAIT [<prompt>] [TO <memvarC>]
  Pauses program execution until a key is pressed.

ZAP
  Removes all records from the database file in the current work area.

                   TDBS Extended xBASE Commands

The following commands are compatible with dBASE III Plus, but
have also been extended with additional options or functionality.

@ <row>, <col> [SAY <exp> [PICTURE <expC>]] [GET <variable>
[PICTURE <expC>][RANGE <expN>, <expN>]] [NOEDIT] [NOENHANCE]
[READONLY] [SHARED] [EDIT]
  Displays and/or inputs formatted data at specified row and
  column positions on screen.

PRIVATE [ALL[LIKE/EXCEPT <skeleton>]]/<memvar list>/<array list>
  Creates a new instance of one or more memory variables or
  memory variable arrays at the current program level.

PUBLIC <memvar list>/<array list>
  Declares memory variables and/or memory variable arrays as
  global, making them available to all procedures within a program.

READ [SAVE] [FKEY] [SELECT <field>]
  Allows full screen editing using either the pending GETs or a
  screen format (.FMT) file procedure.

SET ALTERNATE TO [<file>] [APPEND]
  Directs output from ? and ?? commands to a text file.

SET FORMAT TO [<procedure>] [NOCLEAR]
  Activates (or deactivates) a screen format procedure which will
  be performed by each READ command.

SET RELATION TO [<key exp>/RECNO() INTO <alias>] [ADDITIVE]
  Relates two work areas so they perform as a single database
  file. The additive options adds this relation to any other
  current relations.

USE [<file>] [INDEX <file list>] [ALIAS <alias>] [EXCLUSIVE]
[READONLY]
  Opens an existing database (.DBF) file, and any associated
  index files in the currently selected work area.

                      TDBS Extended Commands

The following commands are unique to TDBS or are compatible with
xBASE implementations other than dBASE III Plus.

DECLARE <array1> [<expN1>][, <array2> [<expN2>]] . . .
  Creates one or more memory variable arrays.

DOTBBS TYPE <expN> OPTDATA <expC>
  Allows a TDBS program to "shell" into TBBS and execute internal
  TBBS functions, or chain to another option module.

FBREAD <expN1> <memvar1> [<memvar2/expN2> [<expN3> [<expN4>]]]
  Read from a binary mode file.

FBWRITE <expN1> <memvar> [<expC/expN2> [<expN3> [<expN4>]]]
  Write to a binary mode file.

FCLOSE [<expN>]
  Close one or all open flat (binary and/or text) files.

FCREATE <memvar> <file> <expN1> [<expN2> [expN3>]]
  Create a new file for flat file access.

FLFIND <expN1> <memvar> <expC> [<expN2>]
  Find the next line in a line mode (ASCII text) flat file which
  contains the specified target string.

FLREAD <expN> <memvar1> <memvar2>
  Read a line from a line mode (ASCII text) flat file.

FLWRITE <expN> <memvar> <expC>
  Write a line to a line mode (ASCII text) flat file.

FOPEN <memvar> <file> <expN1> [<expN2>]
  Open a file (binary or text) for flat file I/O.

FSEEK <expN1> <memvar> <expN2> [<expN3>]
  Position (or read the current position of) the file pointer of
  flat file (binary or text).

HALT [<exp list>]
  Aborts a program with an optional error message.

ON DISCONNECT [<command>]
  Allows program control when a user accidentally disconnects via
  loss of carrier signal or operator abort.

ON NEWMAIL [<command>]
  Allows a program to take immediate action if any open mailbox
  is updated by another user.

SET DISCONNECT [MAXINST <expN>] [MAXREPS <expN>]
  Allows control of limits during an ON DISCONNECT procedure.

SET DISPLAY RULES TO TDBS/STD1/STD2
  Allows display to confirm to other dBASE dialect standards in
  unusual cases.

SET DIVIDE BY ZERO TO ERROR/INFINITY
  Allows choice of how handle a divide by zero condition.

SET EDITOR [READONLY] [NOMENU] [NOISTAT] [NORFILE] [NORPATH]
[NOWFILE] [NOWPATH] [IGRAVE]
  Allows the appearance and features of the built-in memo field
  editor to be customized to the program's needs.

SET SOFTSEEK ON/OFF
  Sets relative or absolute SEEKing.

SET UPDATE BELL ON/OFF/ROLLBACK
  Determines alert condition for a shared file screen update
  collision.

UNLOCK [ALL]
  Releases file or record locks set by the current user.

USE [<file>] [ALIAS <alias>] MAILBOX [JOURNAL]
  Opens an intraprogram communications channel which simulates a
  database file in the current work area.

                       TDBS xBASE Functions

The following is a list of functions supported by TDBS Version
1.2 whole syntax is the same as dBASE III Plus. If a particular
function supports fewer options than dBASE III Plus, the
differences are noted.

ABS(<expN>)
  Finds the absolute value of <expN>.

ASC(<expC>)
  Convert character type to numeric ASCII equivalent.

AT(<expC1>, <expC2>)
  Locates the first instance of one character string in another.

BOF()
  Determine if a skip past the beginning of file was attempted.

CDOW(<expD>)
  Return the day of the week in text for a given date.

CHR(<expN>)
  Converts an ASCII numeric number to a character.

CMONTH(<expD>)
  Returns string with text month from the date <expD>.

COL()
  Returns current screen column position.

CTOD(<expC>)
  Converts a date character string to a date value.

DATE()
  Returns the current date as a date value.

DAY(<expD>)
  Extracts the day of the month from a date value.

DBF()
  Returns the drive and name of the current database file.

DELETED()
  Determines if the current record is marked for deletion.

DOW(<expD>)
  To extract the day of the week from a date value.

DTOC(<expD>)
  Decode a date value unto a character string formatted date.

EOF()
  Determines if the database file in the current work area has
  been moved past the end-of-file.

ERROR()
  Returns the error code which triggered an ON ERROR condition.

EXP()
  Calculates e^<expN> where e is the base of a natural logarithm.
  NOTE: Requires a math co-processor or 486DX CPU.

FIELD(<expN>)
  Returns the name of the specified field in the current
  database.

FILE(<expC>)
  Determines whether a file exists.

FKLABEL(<expN>)
  Returns the name assigned to the specified function key.

FKMAX()
  Returns the maximum number of programmable function keys.

FLOCK()
  Locks the current database file and reports success or failure.

FOUND()
  Determines whether the previous file search via FIND, SEEK,
  LOCATE or CONTINUE command found a match.

GETENV(<expC>)
  Returns the contents of a DOS environment variable.

IIF(<expL>, <exp true>, <exp false>)
  Returns one of the two specified expressions depending on the
  logical value of the given logical expression.

INT(<expN>)
  Converts a numeric value to an integer by truncating all digits
  after the decimal point.

ISALPHA(<expC>)
  Determines if a character begins with a letter.

ISLOWER(<expC>)
  Determines if the specified string begins with a lower case
  letter.

ISUPPER(<expC>)
  Determines if the specified string begins with an upper case
  letter.

LEFT(<expC>, <expN>)
  Extracts the specified number of characters from the left end
  of a character string.

LOG(<expN>)
  Calculates the natural logarithm of a number. NOTE: Requires a
  math co-processor or 486DX CPU.

LOWER(<expC>)
  Converts any letters in a string to lower case.

LTRIM(<expC>)
  Removes any leading blanks for the specified character string.

LUPDATE()
  Returns a date value with the date the database in the current
  work area was last modified.

MAX(<expN1>, <expN2>)
  Returns the larger of two numeric expressions.

MIN(<expN1, <expN2>)
  Returns the lesser of two numeric expressions.

MOD(<expN1>, <expN2>)
  Returns the value of <expN1> modulo <expN2>.

MONTH(<expD>)
  Extracts the number of the month from a date value.

NDX(<expN>)
  Returns the name of the index file corresponding to <expN>.

OS()
  Returns the name of the operating system.

PCOL()
  Returns the current printer column position.

PROW()
  Returns the current printer row (line) position.

READKEY()
  Returns an integer corresponding to the key pressed to exit a
  full screen READ command, and indicates whether changes were
  made to the data during that command.

RECCOUNT()/LASTREC()
  Returns the total number of records in the currently selected
  database file. This is also the last record number.

RECNO()
  Returns the number of the current database record.

RECSIZE()
  Returns the number of bytes in a single record in the currently
  selected database.

REPLICATED(<expC>, <expN>)
  Repeats a character string the specified number of times.

RIGHT(<expC>, <expN>)
  Returns the specified number of characters from the right end
  of the specified character string.

RLOCK()/LOCK()
  Locks the current record in the current work area.

ROUND(<expN1>, <expN2>)
  Returns a numeric value rounded to the specified number of
  decimal places.

ROW()
  Returns the current row position of the screen cursor.

RTRIM(<expC>)/TRIM(<expC>)
  Removes any trailing blanks from the specified character
  string.

SPACE(<expN>)
  Returns a string of spaces of a specified length.

SQRT(<expN>)
  Returns the square root of the specified number. NOTE: Requires
  a math co-processor or 486DX CPU.

STR(<expN1>[, <expN2>[, <expN3>]])
  Converts a numeric value into a text string display equivalent.

STUFF(<expC1>, <expN1>, <expN2>, <expC2>)
  Combines two character strings to produce a third character
  string.

SUBSTR(<expC>, <expN1>[, <expN2>])
  Extracts a portion of a string and returns it as a new string.

TIME()
  Returns the current system time as a character string.

TRANSFORM(<exp>, <expC>)
  Returns a character string whcih is the value of <exp>
  formatted according to the PICTURE contained in <expC>.

UPPER(<expC>)
  Converts any letters in a string to upper case.

VERSION()
  Returns the version number of TDBS.

YEAR(<expD>)
  Extracts the year from the specified date value.

                  TDBS Extended xBASE Functions

The following functions are compatible with dBASE III Plus, but
have also been extended with additional options or functionality.

DISKSPACE([<expN>/<expC>])
  Determine number of bytes of available space on a disk drive.

INKEY([<expN>])
  Reads a character from the keyboard typeahead buffer with
  optional timeout.

LEN(<expC>/<array>)
  Returns the number of characters in a character string or the
  number of elements in an array.

MESSAGE([<expN>])
  Returns the error message for a given error code.

TYPE(<expC>)
  Determine the data type of the specified character expression.
  Returns A on array types.

                     TDBS Extended Functions

The following functions are unique to TDBS or are compatible with
xBASE implementations other than dBASE III Plus.

ACOPY(<array1>, <array2>[, <expN1>[, <expN2>[, <expN3>]]])
  Copies elements from one array to another.

ADEL(<array>, <expN>)
  Deletes an array element.

AFIELDS(<array1>[, <array2>[, <array3>[, <array4>]]])
  Fills a series of arrays with field names, field types, field
  lengths, and field decimals.

AFILL(<array>, <exp>[, <expN1>[, <expN2>]])
  Fills an array with a specified value.

AINS(<array>, <expN>)
  Inserts an undefined elements into an array.

ALIAS([<expN>])
  Obtains the <alias> name for a work area.

ASCAN(<array>, <exp>[, <expN1>[, <expN2>]])
  Scans an array for a specified value.

ASORT/ADSORT(<array>[, <expN1>[, <expN2>]])
  Sorts the contents of an array ascending or descending order.

CAPFIRST(<expC>)
  Capitalize the first character of a string.

CEILING(<expN>)
  Finds the integer which is equal to or higher in value than
  <expN>.

CRTRIM(<expC>)
  Removes end-of-line sequence from a character string.

DEC2HEX(<expN>)
  Converts a number to a hexadecimal representation in a text
  string.

DESCEND(<exp>)
  Allows creation and SEEKing of descending order indexes.

DOTBBS()
  Detects whether the underlying TBBS will support the DOTBBS
  command.

DTOS(<expD>)
  Converts date value to a standard string format which collates
  properly by date in a sort (yyyymmdd).

EMPTY(<exp>)
  Determines whether the result of an expression is empty (any
  data type).

FBEXTRACT(<expN1>[, <expN2>[, <expN3>]])
  Extract data from a flat file I/O buffer into a string.

FBFILL(<expN1>[, <expN2>[, <expC>[, <expN3>]]])
  Fill a binary flat file I/O buffer with a pattern of
  characters.

FBINSERT(<expN1>[, <expN2>[, <expC>[, <expN3>]]])
  Insert data from a string into a binary flat file I/O buffer.

FBMOVE(<expN1>, <expN2>, <expN3>[, <expN4>[, <expN5>]])
  Move data from one binary flat file I/O buffer to another.

FCOUNT()
  Obtains the number of fields in the current database.

FDATE(<expC>)
  Obtains the date from the operating system that a specified
  file was last modified.

FERROR([<expN>])
  Obtain error status of last file file I/O operation.

FINDFIRST(<memvar1>, <expC1>[, <expC2>[, <memvar2>]])
  Locate file name and attributes of the first file in a
  directory which meets the specified search criteria.

FINDNEXT(<memvar1>[, <memvar2>])
  Locate file name and attributes of the next file in a directory
  which meets the specified search criteria (previous set by
  FINDFIRST).

FLEN(<expN>)
  Obtain the size of the I/O buffer associated with an open flat
  file.

FLOOR(<expN>)
  Finds the integer which is equal to or lower in value for
  <expN>.

FMAXLEN()
  Obtains the maximum number of bytes available in the work pool
  which could be assigned to a flat file I/O buffer.

FSIZE(<expC>)
  Obtains the file size from the operating system for a specified
  file.

FTIME(<expC>)
  Obtains the time from the operating system that a specified
  file was last modified.

GETLPT(<expN>)
  Requests access to LPT<expN>. Returns true if granted.

HARDCR(<expC>)
  Converts any 0x8D soft returns in a string to 0x0D hard
  returns.

HEX2DEC(<expC>)
  Converts a text string hexadecimal number to a numeric value.

HOMEPATH()
  Returns the drive and path where the TDBS program currently
  running resides.

INDEXEXT()
  Determines the type of index file structure in use (always
  ".NDX" in TDBS 1.2).

INDEXKEY(<expN>)
  Determines the key expression of the specified index file.

INDEXORD()
  Determines the position of the controlling index in the list of
  index files for the currently SELECTed database.

ISINT(<expN>)
  Determines is a numeric value is an integer.

ISLASTDAY(<expD>)
  Determines if a date value falls on the last day of the month.

ISLEAP(<expD>)
  Determines if a date value occurs in a leap year.

ISSHARE(<expC>)
  Determines if a work area is currently being shared.

ISSTATE(<expC>)
  Determines if the specified string is a valid US state
  abbreviation.

LASTDAY(<expD>)
  Returns the last day of the month in which <expD> falls.

LASTKEY()
  Returns the last key which was read by TDBS.

LJUST(<expC>)
  Left justifies a character string.

NEWMAIL([<expN>])
  Sees if a mailbox communications channel has received any new
  mail.

NEXTKEY()
  Reads the next pending key in the typeahead buffer without
  removing it from the buffer.

NMYUSERS()
  Returns the number of users of this TDBS program.

NUSERS()
  Returns the number of users currently running any TDBS program.

OPTDATA()
  Returns the Opt Data string from the menu entry which called
  this TDBS program.

PROCLINE()
  Returns the source code line of the current command line.

PROCNAME()
  Returns the name of the current level procedure.

RAT(<expC1>, <expC2>)
  Finds the last occurrance of one string within another string.

RJUST(<expC>)
  Right justifies a character string.

SECONDS()
  Returns the number of seconds since midnight.

SELECT()
  Returns the currently selected work area number.

SETPRC(<expN1>, <expN2>)
  Sets the internal PROW() and PCOL() to the specified values.

SOUNDEX(<expC>)
  Obtains a phonetic match ("sounds like") code for the specified
  character string.

STATENAME(<expC>)
  Returns the full name for a US Post Office state abbreviation.

UANSI()
  Determines the setting of the ANSI parameter in the user
  profile.

UAUTH(<expN>)
  Returns the user's TBBS authorization flag settings for the
  specified access flag group.

UIBM()
  Determine the setting of the IBM Character Graphics parameter
  in the user's TBBS profile.

ULINE()
  Returns the line number identifier for the line this user is
  logged into.

ULOCATION()
  Returns the LOCATION field of the caller's TBBS userlog record.

ULPEEK(<expN1>, <expN2>[, <expN3>])
  Allows reading any field in the caller's TBBS userlog record.

ULPOKE(<expN1>, <expN2>, <exp>[, <expN3>])
  Allows changing any field within the caller's TBBS userlog
  record.

ULREPLACE(<field>[, <select>], <exp>)
  Updates common TBBS userlog record fields for the current user.

UMORE()
  Returns the number of lines per display page from the caller's
  TBBS user profile.

UNAME()
  Returns the user's TBBS logon UD as a character string.

UNOTES()
  Returns the NOTES field from the caller's TBBS userlog record.

UPDATED()
  Determines if a change was made to any of the pending GETs
  during the last READ.

UPRIV()
  Returns the caller's TBBS privilege level as a numeric value
  from 0 to 255.

USING([<expN>])
  To determine which lines are currently sharing a database or
  mailbox work area.

UWIDTH()
  Returns the number of characters per line from the caller's
  TBBS user profile.

WAIT4FLOCK([<expN>])
  Waits for file lock, keypress or timeout.

WAIT4LPT(<expN1>[, <expN2>])
  Wait for printer assignment, keypress or timeout.

WAIT4MAIL([<expN>])
  Waits for new mail from a mailbox communications channel,
  keypress or timeout.

WAIT4RLOCK([<expN>])
  Waits for record lock, keypress or timeout.


TDBS0009
Rev. 4/94

Copyright (C) 1994 eSoft, Inc., All Rights Reserved.  Permission granted
to distribute this file in its entirety, without modification, to any
interested party.  Any other use requires the written permission of
eSoft, Inc.

IMPORTANT:  The information herein is subject to change without notice.
Please call or write to confirm factual information of importance to you
or your organization.

