home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
anomoly.zip
/
ANOMLY.TXT
Wrap
Text File
|
1986-07-03
|
12KB
|
273 lines
>>> @...CLEAR TO
@...CLEAR TO does not erase a single line from the screen,
although the @...TO draws a single line on the screen. The
minimum vertical area @...CLEAR TO erases is two lines. For
example,
@ 2,0 TO 2,79
@ 2,5 CLEAR TO 2,25
draws a line from 2,0 to 2,79 but does not erase from 2,5 to
2,25.
>>> @...GET...READ
Performing an @...GET on a PRIVATE memory variable created in a
lower program and RETURNing to the calling program and issuing a
READ will cause the GET to display on screen, but will not allow
input. For example,
DO WHILE .T.
DO Test
READ && Test.PRG sets up a PRIVATE variable.
ENDDO
* ---Test.PRG
mem1 = SPACE(2)
@ 12,41 GET mem1 && This GET will never be READ.
RETURN
Under certain circumstances, this will cause the PICTURE template
of some @...GET commands to be read into the GET as a literal
value. This occurs if the command @...SAY DATE() is executed
before READing the PRIVATE memory variable and if the PICTURE
template meets its own criteria as valid input. For example, a
"9" is valid input to the PICTURE template "9." Once this
occurs, every PICTURE template that meets its own criteria will
be read as a literal value. The READ ignores the GET and the
value of the field or memory variable is not changed. The only
way to stop this is to reload dBASE III PLUS. For example,
DO WHILE .T.
mem = SPACE(6)
@ 10,41 SAY DATE()
@ 11,41 GET mem PICTURE "999999"
READ
DO Test
READ && Test.PRG sets up a PRIVATE variable.
ENDDO
mem will always be read as "999999" until dBASE III PLUS is
reloaded.
>>> ASSIST
When in ASSIST, performing any full-screen edit on a record found
with Position/Locate will disable the Continue option. Upon
returning from a full-screen operation, the Continue option will
not be highlighted and may not be accessed.
>>> ASSIST
In ASSIST, whenever a drive is chosen from any menu of available
drives, that drive becomes the default drive.
>>> CREATE REPORT
In CREATE REPORT, if Return is pressed twice while highlighting
the contents area of the Columns menu, an empty column is created
in the report form. This causes a "Syntax error in field
expression." when the REPORT FORM is executed. The blank column
is represented in the REPORT FORM with a question mark, which is
documented as representing a memo field in the column contents.
>>> CREATE SCREEN
When on the blackboard in CREATE/MODIFY SCREEN, pressing Ctrl-T
with the cursor on a line to the left of a special character
(!,?,.,@) will lock the computer requiring a warm boot.
>>> CREATE SCREEN
When using CREATE/MODIFY SCREEN to draw a box, if SET STATUS is
ON, terminating a box at column 79 and at a row greater than 21
and then pressing the PgUp key will break the box into two
sections, overwriting the menu line. Line zero is now
inaccessible. Saving the screen and re-issuing CREATE/MODIFY
SCREEN will not correct the problem. If a box must terminate at
this location, SET STATUS OFF before entering CREATE/MODIFY
SCREEN.
>>> FIND
Using the FIND command with a macro (&) and in-line comments (&&)
may return "No find." even though there are matching records in
the index file.
This works correctly if the variable contains the entire key
value or if the key contains an embedded space and the variable
contains key information up to the embedded space. For example,
if the key field contains "FIRST" or "FIRST LAST", the commands
x = "FIRST"
FIND &x && This is a comment.
execute correctly. If, however, the variable contains "FIR", the
example above returns "No find." Terminating the macro with a
period does not change the result. To include in-line comments
with a FIND and macro, the comment must begin flush against the
macro or terminator. For example,
x = "FIR"
FIND &x && This will not work.
No find.
FIND &x. && This will not work either.
No find.
FIND &x&& This will work.
FIND &x.&& This will work, as well.
>>> INDEX/REINDEX
The INDEX and REINDEX commands may produce "File is not
accessible." and damage the index files in use. This occurs when
the length of the key field and the length of the path to the
.NDX file exceed 100 characters. This does not occur with very
small files, but adding records will eventually produce the
error.
For example, if the key length is 85 characters,
INDEX ON <field> TO \Division\Three
will return the "File is not accessible." error message.
INDEX ON <field> TO \Division\Four
will create the index file as expected. The first path name is
15 characters in length, the second path name is 14 characters.
The length of the filenames and directory names do not matter
individually, so long as their combined length in the path name
does not exceed 14 characters. Further, not all key expression
and path name combinations that exceed 100 characters produce the
error.
Occasionally, SET INDEX TO will work, but a subsequent REINDEX
will return the "File is not accessible." error message. Other
times, SET INDEX TO will appear to work, though a GOTO will
return "Record is not in index."
SET PATH TO \Division\Recorder followed by SET INDEX TO Three
will also work. In this case, a subsequent REINDEX will execute
properly because it follows the path previously set.
SET TALK has been shown to affect the REINDEX command used with
large files. REINDEXing with SET TALK OFF returns the error
message "File is not accessible." USEing the file and index
returns "Index damaged. REINDEX should be done before using
data." REINDEX may work properly, however, if SET TALK is ON.
>>> READ
A READ command with no active GETs will stop execution of dBASE
III PLUS until any key is pressed. dBASE III PLUS will not
return to the dot prompt until any key is pressed. In a command
file, execution will stop at the READ statement until the next
key is pressed. The cursor is positioned to the right of its
last screen position.
>>> SET CATALOG TO
Attempting to SET CATALOG TO <filename> when the maximum number
of files is already open will delete all entries from the
catalog, except those referring to files currently open.
>>> SET CATALOG TO
If a path to the root directory of any drive is specified with
the SET PATH TO command, the SET CATALOG TO <filename> command
will return the error message "File is not accessible." if it
must create a CATALOG file on a directory other than the default
directory. For example,
SET PATH TO B:\
* ---dBASE III PLUS is not on the root directory.
* ---C:\Test.CAT does not already exist.
SET CATALOG TO C:\Test
File is not accessible. <---Error message.
>>> SET HISTORY TO
SETting HISTORY TO a number greater than the default of 20 will
interfere with the DISPLAY HISTORY command. The message "Press
any key to continue..." will appear, sometimes repeatedly, before
the commands in HISTORY are displayed. This message will also
appear intermittently as HISTORY scrolls.
>>> SET MESSAGE TO
SET MESSAGE TO will accept any length message although only the
first 79 characters display.
>>> SET PRINT ON
There are a number of reported instances of the "Printer not
ready." error message appearing on parallel as well as serial
printers. This occurs whenever SET PRINT ON, SET DEVICE TO
PRINT, TO PRINT, or SET PRINTER TO is used. Printing from DOS or
other software packages works properly, but dBASE III PLUS
returns an error message whenever printing is attempted.
>>> SET PRINTER TO
A serial communication port usually cannot be specified with the
SET PRINTER TO command, although this will work intermittently.
An attempt to SET PRINTER TO COM1 or SET PRINTER TO COM2 may
return the "Printer not ready" error message even though the
printer is on-line and ready to print.
The work-around is to use the RUN command to load the resident
portion of PC-DOS MODE into memory. For example,
RUN MODE LPT1=COM1
This work-around may fail, however, if MODE is loaded from COMPAQ
DOS.
If MODE is used to redirect LPT1 to COM1, it is unnecessary to
SET PRINTER TO COM1 from within dBASE III PLUS. This will return
"Printer not ready."
>>> SET PRINTER TO
Issuing SET PRINTER TO with no parameters will inhibit all output
to the printer. Commands such as LIST TO PRINT and REPORT FORM
TO PRINT will echo to the screen but will not print. SET PRINT
ON will not allow output to the printer. In fact, while DISPLAY
STATUS shows that output has been assigned to LPT1, the default,
it has not been assigned to any device at all, therefore no
printing can occur. If a SET DEVICE TO PRINT is issued, dBASE
III PLUS will not output to the screen or printer. It may appear
to be frozen at this point, but it is fully functional, except
that it is not outputting any data. It is necessary to SET
PRINTER TO <device name> to resume printing.
>>> SET PRINTER TO
With a serial printer properly configured with MODE, if a SET
PRINT ON command is issued, a later SET PRINT ON or SET DEVICE TO
PRINT command will return the "Printer not ready." error
message. SET PRINT OFF must be issued first. SET DEVICE TO
PRINT followed by SET PRINT ON works as expected. This problem
does not occur with a parallel printer.
>>> SET UNIQUE ON
Indexing with SET UNIQUE ON or INDEX ON <key expression> TO
<filename> UNIQUE will work with small files (less than 100
records), but will fail in one of several ways when indexing
larger database files.
1. INDEX with UNIQUE may seem to execute properly, but create an
index file that is neither unique nor a complete index.
2. INDEXing a database file with the UNIQUE clause or with SET
UNIQUE ON can lock the computer causing one lost cluster on
the disk. This leaves behind two files, an .NDX file
containing 0 bytes and a larger file with the extension .W44.
This file is a temporary file created during the indexing
procedure. Under normal circumstances, it is deleted when
INDEX terminates.
3. The INDEX command with UNIQUE sometimes will not lock the
computer but continue to create the index until an Esc key is
pressed (if SET ESCAPE is ON) or the available disk storage is
consumed, generating a "Disk is full" error message.
>>> TOTAL
TOTALing ON <key field> TO <filename> while using a database file
that has no numeric fields may produce an "Internal error: EVAL
work area overflow" or "Internal error: Illegal opcode" error
message. The resultant file will be created and control is
returned to the dot prompt. Occasionally, this will display
"Internal error: EVAL work area overflow" and "Divide overflow"
then lock the computer, requiring a cold boot.
>>> TRANSFORM()
Using the TRANSFORM() function with an argument combining the @(
and @B functions will display extraneous characters following the
output. For example,
? TRANSFORM(-10,'@(B9999')
(10.00 )) <---Result.
The extra characters may be another parenthesis, a field name, or
the argument from a previous function.