* NEW COMMANDS AND FUNCTIONS
MROW() returns the row position of the mouse pointer on the
screen.
MCOL() returns the column position of the mouse pointer on
the screen.
ISMOUSE() returns a logical true if a mouse driver is
loaded, otherwise it returns false.
KEYMATCH() indicates whether or not a specified expression
is found in the index keys of a specified index.
RAT() is a variant of the AT() function. It works the same
way except it searches from the right of the source string instead of the left.
FLDLIST() returns the fields and calculated field
expressions of a SET FIELDS TO list.
BARCOUNT() returns the number of bars in the active or
specified popup.
BARPROMPT() returns the text that appears in a given bar of
the active or specified popup.
PADPROMPT() returns the text that appears in a given pad of
the active or specified bar menu.
ON BAR executes a specific command when users highlight a
specific bar in a popup.
ON MENU executes a specific command when any pad of the
specified menu is highlighted.
ON POPUP executes a specific command when any bar of the
specified popup is highlighted.
ON SELECTION BAR executes a specific command after users
highlight and then activate a specified bar in a popup.
ON SELECTION MENU executes a specific command when one of
the menu pads is activated.
ON EXIT BAR executes a specific command when the users move
the highlight away from a particular bar in a popup.
ON EXIT MENU executes a specific command when the users
move the highlight away from specified pads in a menu.
ON EXIT PAD executes a specific command when the users move
the highlight away from a particular pad in a menu.
ON EXIT POPUP executes a specific command when the users
move the highlight away from a specified bars in a popup.
ON MOUSE detects when the user clicks the left mouse button
and executes a command when the button is released.
* NEW SET COMMANDS
SET MOUSE ON/OFF enables or disables the mouse cursor.
SET LDCHECK ON/OFF enables or disables checking for the
active language driver ID (LDID).
SET LOCALSHARE ON/OFF enables or disables checking to see
if SHARE.EXE has been loaded.
SET IBLOCK TO lets the users specify the size of the
indexing block size that dBASE IV uses when it creates new .MDX files.
SET MBLOCK TO lets users specify the size of the memo block
size that dBASE IV uses when making new .DBT (memo field) files.
* ENVIRONMENT VARIABLES
DOS16M limits the amount (to reserve memory for other
applications), of the available memory, so that, for example, under Windows 3.1 dBASE IV
2.0 does not take up as much available memory as possible.
DBASEIV_BUFF setting allocates memory to the buffer manager
in the most optimal way possible.
DPMI_MEMORY_LIMIT needs to be set to a value equal to or
greater than 4M when running dBASE IV version 2.0 under OS/2 (in a DOS session).
* ENHANCED COMMANDS AND FUNCTIONS
MEMORY() function lets you enter eight different parameters
that gives different type of information about your system's memory.
DECLARE now lets you declare an array with as many elements
as your system's virtual memory will support, as long as one dimension does not have more
than 64K of elements. (The previous version of dBASE allowed a total of 1170 elements).
SET BLOCKSIZE TO now extends the maximum block size limit
that can be specified from 32 to 63.
SET DISPLAY TO now supports 25,43 and 50 line VGA modes.
ON ERROR now provides programmers with more control over
error trapping. The following Errors can be trapped in dBASE IV 2.0 ERROR No. Message.
ON PAD command now allows you to carry out a specific
command when users highlight a specific pad in a menu.
* OTHER FEATURES/ISSUES
APPEND FROM
In previous versions of dBASE, when you used the SDF or DELIMITED clauses with the APPEND
FROM command, the form feed character was appended to the database. Now, the form feed is
not appended to the database if it is preceded by a carriage return.
REPLACE
If you are running dBASE in a multiuser environment, and you use the REPLACE ALL command
to replace an indexed field, while keeping the index tag that acts on that particular
field active, you are now required to have exclusive use of the database. This ensures
that all records are replaced properly.
USE AGAIN
If you use a database in more than one work area, any changes made to the file in one work
area are reflected in the other work areas in which the same file could be open.
Previously, if you used the same database in more than one work area, updates to the
database in one work area were not reflected in the others.
VMM SETTINGS
In the dBASE directory there will be a file called DBASE.VMC that contains all the
configurations for the Virtual Memory Manager.
LOCALSHARE
dBASE, now provides file sharing and locking under OS/2 and Windows., and could run in
multiple sessions. You can now load dBASE IV 2.0 in 9 different sessions, and use the same
files safely in more than one session. Also the dBASE file can be shared with other
applications, such as Paradox for Windows.
To support file-sharing on a local system, dBASE provides
you with the option of protecting your dBASE files from multi-tasking collisions with a
new CONFIG.DB setting called LOCALSHARE. If you intend to share files on a local system,
load SHARE.EXE from DOS prior to loading Windows.
DIAGNOSTICS
When dBASE terminates abnormally with an unrecoverable error, it automatically creates a
file, DBASE.ERR for diagnostic purposes. This file contains information about the dBASE
version, time at which the error occurred, error code, register status, and so on.