Miscellaneous Enhancements

The following are a number of miscellaneous enhancements to a variety of components within PxPlus that are not covered elsewhere:

NOMADS:

a) The screen library used for the Data Dictionary and Nomads screens has be cleaned up to use a more consistent XP look.
b) The panel update utilities have been changed to update CVS source files as needed.
c) Both the Data Dictionary Maintenance and Class Maintenance screens have had a "Push Pin" ICON added to the lower left corner to lock the maintenance window on top of you desktop. This allows you to have the dictionary maintenance screen up while you are coding elsewhere in the system.

Functions:

a) The STP function has been enhanced to all for the removal of formatting from strings. The output of a string passed through the STR function to be formatted can passed to the STP function with the same format specification to remove the formatting information. For Example:

A$ = "123456789"
B$ = STR(A$:"00-0000-000") ! yields B$ = "12-3456-789"
C$ = STP(B$:"00-0000-000") ! yields C$ = "123456789"

The stripping function does not mandate that the input strictly adhere to the format. That is to say, that the formatting characters are stripped only if present. This means in the above example if B$ was "12-3456789" (missing second dash), the system would still return "123456789". The function only strips matching formatting characters. If the formatting character is not in the input string then it is assumed optional.

b) The ARG function has been enhanced to return the pathname of the system library in ARG(-2).

c) The SEP function has been enhanced to return the string of default separators when called with SEP(*).

d) The FIN function has been enhanced to add FIN(<fileno>,"BBXFIN") to return a fully compatible BBx® style FIN.

e) The system now allows the user to define which characters are "Printable" for use with the CVS function value 16. To define which characters are "printable" the programmer can issue a DEF CHR(<string>) directive passing a string of 256 bytes. Each byte must be a $00$ or $01$ where $01$ indicates a printable character and $00$ indicates non-printable. The current table of printable characters can be found be referring CHR(*).

f) The CPL and LST functions now accept a dummy second-string parameter to simplify compatibility with other Business Basic like languages. The second parameter is ignored by the system.

g) The KGN function now supports a ,SEP=<string> option to allow for the definition of the field separator to be used in the key generation.

Properties:

a) The property 'ValueNoSignal$ has been added to allow the programmer to change the value of a control without generating a CTL event when signal all changes is active. Normally if you have signal all changes active and the application changes the value of a control, a change notification is generated. Using the 'ValueNoSignal$ property to change the control suppress the generation of the change signal.

b) The 'Auto property has been enhanced to provide a setting of '3' that changes the signal all changes state for a control such that application made changes do not generate on change signals (same as 'ValueNoSignal above).

Utilities:

a) A new utility object "*plus/obj/dialogs" has been added. In this initial release, it is designed for Windows use only. It provides a method, 'GetDirectory(<titlestring>), to return the name of an existing directory using the standard Windows interface for directory selection. This object has a password to prevent it showing up in trace reports (password="password")

INI File support on Unix/Linux:

When running on a Unix/Linux the system will now automatically look for a INI file in your current directory or, if not found there, in the directory where you installed the PVX Plus Development suite. If desired you can specify a INI file as the first parameter on the command line however the file name MUST end with ".ini".

PXPLUS uses this INI file to obtain the get the default Printer Font and CPI/LPI information.

BBx® is a registered trade mark of Basis International Ltd.