Category : Dbase (Clipper, FoxBase, etc) Languages Source Code
Archive   : DB4ANOM.ZIP
Filename : ANOMLY14.TXT

 
Output of file : ANOMLY14.TXT contained in archive : DB4ANOM.ZIP

ANOMALIES UPLOADED ON 7-05-89

ANOMALY 14.TXT


The following listing addresses three known anomalies when using
dBASE IV. Use of these techniques will aid you in avoiding
anomalies that have been reported to our Software Support
Center. There are also two Usage Tip that may be used in order
to avoid further problems or misunderstandings when using the
dBASE IV product. This report will be supplemented as new
information is received.

*********************************************************************

ANOMALIES


Drivers didn't have return to Pica from Condensed

The 10 new dBASE IV Printer Drivers available in the
D4DRIVER.ARC have been updated to allow the user to toggle
back to Pica after using Condensed pitch. These files have
the same name as the original driver names with the prefix
D4, and should replace the drivers provided on System Disk
#2.

D4AMT.PR2
D4HPJET.PR2
D4HPQJET.PR2
D4IBMGP.PR2
D4MX80G.PR2
D4OKI182.PR2
D4OKI92P.PR2
D4RIC6K.PR2
D4RIC6KL.PR2
D4TOSLAS.PR2

======================================================================




MENU.GEN updates

A new update of MENU.GEN file, which is used by the dBASE IV
Applications Generator (APGEN) to generate dBASE programs
for an application designed in APGEN is now available
through our on-line services. This update corrects two
problems with the original MENU.GEN file dated October 1988.

The first problem caused the application to encounter the
error "Position out of window". This was due to a line of
code (@22,0) that APGEN had placed into the procedure Mpdef
in .PRG when an application was generated .

The second problem fixed by this update involves item level
help text associated with a POPUP menu when the POPUP menu
has been attached to a bar menu. That is while on the bar
menu object, MENU:attach pulldown menus is set to Yes. In
the old MENU.GEN, pressing F1 while the attached pulldown
item was highlighted, invoked only the bar menu's (object
level) help text.

In the updated MENU.GEN dated 5/18/89 (version 1.0.1), help
text is processed much more efficiently when pulldowns are
attached. The help text is now object oriented rather than
menu oriented. Therefore, if the popup has help text
defined, that help text will be displayed for each item in
the popup when F1 is pressed, unless help text has been
assigned to that item of the popup. This means it is now
possible to assign help text to the items in a popup menu.

======================================================================


"Printer Not Ready" when system memvars are PRIVATE

In dBASE IV it is possible to make both _ppitch and
_pquality PRIVATE. However, if either of these system
memory variables are set to PRIVATE, executing a REPORT FORM
and pressing Escape to stop the report will result in the
error message "Printer Not Ready".

======================================================================

USAGE-TIP


keep tabs (CHR(9)) as a tab character

Unlike dBASE III PLUS, tabs sent to an alternate file via
SET ALTERNATE ON in dBASE IV are converted to spaces.

WORKAROUND:

If you need to create a text file that retains the tab, use
the SET PRINT TO FILE command and send the tab character
using the ??? command.

Type the following into a .PRG file:

SET PRINT TO FILE Tabs.TXT
SET PRINT ON
?
??? CHR(9)+'Hi there'
?
SET PRINT OFF
SET PRINT TO

Running the above program, yields a text file called
Tabs.TXT with the string 'Hi there' saved at the first tab
position.

======================================================================


CALL() function parameter passing

The CALL command and the CALL() function are used to execute
binary (.BIN) program modules. Once LOADed, the CALLed
module can return a value which can be used in a dBASE
expression. The syntax of the CALL() function is

CALL(,)

where is the name of the binary module being CALLed
and can be up to seven arguments passed to the
module. The CALL() function returns a value from the first
argument only.

Both the CALL command and the CALL() function allow the use
of up to seven arguments. dBASE III PLUS only allowed one
parameter to be passed with the CALL command. Before
executing the module, each argument is checked for
validity. The address of the ASCII representation of the
first argument, if it exists, is passed in the DS:BX
register pair, DS holding the segment address and BX holding
the offset. Additionally, the ES:DI pair will point to a 28
byte block of seven 4-byte pointers. Each of these point to
the ASCII representation of each argument. Any unsupplied
arguments point to a null string. Lastly, the CX register
is loaded with the number of arguments passed.

EXAMPLE:

The following dBASE III PLUS code can be replaced with only
one line of code in dBASE IV.

dBASE III PLUS code:

LOAD Soundex && load a binary file
USE Namefile
DO WHILE .NOT. EOF() && execute all records
Temp = Username
CALL Soundex WITH Temp && CALL command to Soundex
REPLACE Code WITH Temp
SKIP
ENDDO

dBASE IV code:

REPLACE ALL Code WITH CALL("Soundex",Username)