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

 
Output of file : ANOMLY12.TXT contained in archive : DB4ANOM.ZIP
ANOMALIES UPLOADED ON 6-6-89


ANOMALY 12.TXT


The following listing addresses two 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-tips 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


Renaming a .DBO will cause "Procedure not found" error

If a compiled .DBO file is renamed, the resultant file
cannot be run. Attempting to do so will return the error,
"Procedure not found .prs". This fact should have
been documented under the commands DO, COMPILE, and
BUILD/DBLINK.

Since every program file becomes its own main procedure file
and, in addition, when a file is compiled its name becomes
compiled into the resultant .DBO, simply renaming a file
will not change the references to the original filename in
the .DBO file. When the newly named file calls itself as a
main procedure, this name is not the same as the filename of
the main procedure compiled into the .DBO and the error is
returned.

Rather than renaming the .DBO file, the .PRG should be
renamed prior to compiling.

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


CONVERT requires exclusive use of the file

The CONVERT command requires that the file to be CONVERTed
be used in EXCLUSIVE mode. On page 4-4 of Networking with
dBASE IV, CONVERT TO is correctly included in the list of
commands requiring exclusive use. This requirement is not
documented on pages 2-59 or 60 of Language Reference nor
page 4-13 of Networking with dBASE IV.

USAGE-TIPS


@M will override other templates and functions

The multiple choice picture function, @M, uses the literal
values provided in the picture clause. Therefore, The @M
function will override any other picture or template
function used in conjunction with it.

EXAMPLE:

STORE SPACE(20) TO Part_name
@10,10 GET Part_name PICTURE "@M! Sofa, Bed, Chair"

This example always returns the options as initial caps only
instead of all caps. Therefore, the enumerated data must be
entered in all upper-case within the picture template if an
upper-case template is desired.

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


SCAN...ENDSCAN and how records are moved within the construct

The SCAN ... ENDSCAN construct is meant to handle record
positioning itself. It varies from the DO WHILE ... ENDDO
construct in the sense that a
DO WHILE is a looping mechanism, doing a certain operation
multiple times.
DO ... WHILE does not automatically change the record
pointer, where-as in a SCAN ... ENDSCAN construct, the
record pointer update is handled internally.

SCAN DO WHILE .NOT. EOF()
... ...
is equivalent to SKIP
... ...
ENDSCAN ENDDO

Therefore, having the record pointer repositioned within the
SCAN ... ENDSCAN construct may cause the record pointer to
be improperly adjusted.

EXAMPLE:

USE
SCAN While .T.
LIST NEXT 10
IF EOF()
GO TOP
ENDIF
CLEAR
ENDSCAN

The example above is intended to list 10 records at a time,
doing consecutive passes through the database. The first
record of the database is only listed during the first pass
through the file. After the IF EOF() statement, GO TOP
positions the record pointer at the top of the database, but
since ENDSCAN internally changes the record pointer, a
second SKIP is issued and the LIST command will start on the
second record of the file.


  3 Responses to “Category : Dbase (Clipper, FoxBase, etc) Languages Source Code
Archive   : DB4ANOM.ZIP
Filename : ANOMLY12.TXT

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/