|QM 3.0-3 (released 10 Aug 2012)|
The CATALOGUE command now has an option to specify the prefix character for a globally catalogued subroutine separately from its call name, allowing use of a prefix when cataloguing from a select list.
The @LINE token can be used in QMBasic programs as the source line number in the module being compiled. The @WHERE token is similar but includes line numbers in nested include records in the form "21.4.31". These tokens may be useful in constructing program error messages.
The QMBasic FIELD() function and the equivalent [D,I,N] operator have been extended to allow use of an asterisk in place of the number of elements of the string to be extracted when all beyond the start position is required.
Key value 1029 (FL$LAST.PART) to the QMBasic FILEINFO() function returns the last value from evaluating the partitioning algorithm for a distributed file, including where an error is reported because the part does not exist.
Key value 1024 (PU$PATHNAME) to the QMBasic GETPU() function returns the pathname of the output file of an open print unit.
QMBasic now has a REDIMENSION statement (short form REDIM) that allows a default style matrix passed as an argument into a subroutine to be redimensioned in that subroutine. Used with a matrix that is not a subroutine argument or is a Pick style matrix, this statement is identical to use of DIMENSION.
Two new key values have been added to the SYSTEM() function. Key 1049 returns true (1) if terminal output has been suppressed with HUSH. Key 1050 returns true if the current user has administrator rights.
QMBasic subroutines can now be globally catalogued with a hyphen prefix for improved compatibility with other environments.
The NETDELAY configuration parameter can be used to set a period in seconds for which the server connection for a QMNet file will remain open after closing the last file in use on that server. This can improve performance of applications that repeatedly open files on the same QMNet server.
The Basic pre-processor provided as source code in the BP file of the QMSYS account has been extended to allow use of AND and OR in conditional compilation tests ($IFDEF and $IFNDEF).