home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / anomoly.zip / ANOMLY.TXT
Text File  |  1986-07-03  |  12KB  |  273 lines

  1.  >>> @...CLEAR TO
  2.  @...CLEAR TO does not erase a single line from the screen,
  3. although the @...TO draws a single line on the screen.  The
  4. minimum vertical area @...CLEAR TO erases is two lines.  For
  5. example,
  6.  
  7.    @ 2,0 TO 2,79
  8.    @ 2,5 CLEAR TO 2,25
  9.  
  10.  draws a line from 2,0 to 2,79 but does not erase from 2,5 to
  11. 2,25.  
  12.  
  13.  >>> @...GET...READ
  14.  Performing an @...GET on a PRIVATE memory variable created in a
  15. lower program and RETURNing to the calling program and issuing a
  16. READ will cause the GET to display on screen, but will not allow
  17. input.  For example,
  18.  
  19.    DO WHILE .T.
  20.        DO Test
  21.        READ           && Test.PRG sets up a PRIVATE variable.
  22.    ENDDO
  23.  
  24.    * ---Test.PRG
  25.    mem1 = SPACE(2)
  26.    @ 12,41 GET mem1  && This GET will never be READ.
  27.    RETURN
  28.  
  29.  Under certain circumstances, this will cause the PICTURE template
  30. of some @...GET commands to be read into the GET as a literal
  31. value.  This occurs if the command @...SAY DATE() is executed
  32. before READing the PRIVATE memory variable and if the PICTURE
  33. template meets its own criteria as valid input.  For example, a
  34. "9" is valid input to the PICTURE template "9."  Once this
  35. occurs, every PICTURE template that meets its own criteria will
  36. be read as a literal value.  The READ ignores the GET and the
  37. value of the field or memory variable is not changed.  The only
  38. way to stop this is to reload dBASE III PLUS.  For example,
  39.  
  40.    DO WHILE .T.
  41.        mem = SPACE(6)
  42.        @ 10,41 SAY DATE()  
  43.        @ 11,41 GET mem PICTURE "999999"
  44.        READ
  45.        DO Test
  46.        READ      && Test.PRG sets up a PRIVATE variable.
  47.    ENDDO
  48.  
  49.  mem will always be read as "999999" until dBASE III PLUS is
  50. reloaded. 
  51.  
  52.  >>> ASSIST
  53.  When in ASSIST, performing any full-screen edit on a record found
  54. with Position/Locate will disable the Continue option.  Upon
  55. returning from a full-screen operation, the Continue option will
  56. not be highlighted and may not be accessed.
  57.  
  58.  >>> ASSIST
  59.  In ASSIST, whenever a drive is chosen from any menu of available
  60. drives, that drive becomes the default drive.  
  61.  
  62.  >>> CREATE REPORT
  63.  In CREATE REPORT, if Return is pressed twice while highlighting
  64. the contents area of the Columns menu, an empty column is created
  65. in the report form.  This causes a "Syntax error in field
  66. expression." when the REPORT FORM is executed.  The blank column
  67. is represented in the REPORT FORM with a question mark, which is
  68. documented as representing a memo field in the column contents.  
  69.  
  70.  >>> CREATE SCREEN
  71.  When on the blackboard in CREATE/MODIFY SCREEN, pressing Ctrl-T
  72. with the cursor on a line to the left of a special character
  73. (!,?,.,@) will lock the computer requiring a warm boot.  
  74.  
  75.  >>> CREATE SCREEN
  76.  When using CREATE/MODIFY SCREEN to draw a box, if SET STATUS is
  77. ON, terminating a box at column 79 and at a row greater than 21
  78. and then pressing the PgUp key will break the box into two
  79. sections, overwriting the menu line.  Line zero is now
  80. inaccessible.  Saving the screen and re-issuing CREATE/MODIFY
  81. SCREEN will not correct the problem.  If a box must terminate at
  82. this location, SET STATUS OFF before entering CREATE/MODIFY
  83. SCREEN.  
  84.  
  85.  >>> FIND
  86.  Using the FIND command with a macro (&) and in-line comments (&&)
  87. may return "No find." even though there are matching records in
  88. the index file.
  89.  This works correctly if the variable contains the entire key
  90. value or if the key contains an embedded space and the variable
  91. contains key information up to the embedded space.  For example,
  92. if the key field contains "FIRST" or "FIRST LAST", the commands
  93.  
  94.    x = "FIRST"
  95.    FIND &x    && This is a comment.
  96.  
  97.  execute correctly.  If, however, the variable contains "FIR", the
  98. example above returns "No find."  Terminating the macro with a
  99. period does not change the result.  To include in-line comments
  100. with a FIND and macro, the comment must begin flush against the
  101. macro or terminator.  For example,
  102.  
  103.    x = "FIR"
  104.    FIND &x    && This will not work.
  105.    No find.
  106.    FIND &x.   && This will not work either.
  107.    No find.
  108.    FIND &x&&     This will work.
  109.    FIND &x.&&    This will work, as well.
  110.  
  111.  >>> INDEX/REINDEX
  112.  The INDEX and REINDEX commands may produce "File is not
  113. accessible." and damage the index files in use.  This occurs when
  114. the length of the key field and the length of the path to the
  115. .NDX file exceed 100 characters.  This does not occur with very
  116. small files, but adding records will eventually produce the
  117. error.
  118.  
  119.  For example, if the key length is 85 characters,
  120.  
  121.    INDEX ON <field> TO \Division\Three 
  122.  
  123.  will return the "File is not accessible." error message.
  124.  
  125.    INDEX ON <field> TO \Division\Four 
  126.  
  127.  will create the index file as expected.  The first path name is
  128. 15 characters in length, the second path name is 14 characters. 
  129. The length of the filenames and directory names do not matter
  130. individually, so long as their combined length in the path name
  131. does not exceed 14 characters.  Further, not all key expression
  132. and path name combinations that exceed 100 characters produce the
  133. error.
  134.  Occasionally, SET INDEX TO will work, but a subsequent REINDEX
  135. will return the "File is not accessible." error message.  Other
  136. times, SET INDEX TO will appear to work, though a GOTO will
  137. return "Record is not in index."
  138.  SET PATH TO \Division\Recorder followed by SET INDEX TO Three
  139. will also work.  In this case, a subsequent REINDEX will execute
  140. properly because it follows the path previously set.
  141.  SET TALK has been shown to affect the REINDEX command used with
  142. large files.  REINDEXing with SET TALK OFF returns the error
  143. message "File is not accessible."  USEing the file and index
  144. returns "Index damaged.  REINDEX should be done before using
  145. data."  REINDEX may work properly, however, if SET TALK is ON.  
  146.  
  147.  >>> READ
  148.  A READ command with no active GETs will stop execution of dBASE
  149. III PLUS until any key is pressed.  dBASE III PLUS will not
  150. return to the dot prompt until any key is pressed.  In a command
  151. file, execution will stop at the READ statement until the next
  152. key is pressed.  The cursor is positioned to the right of its
  153. last screen position.
  154.  
  155.  >>> SET CATALOG TO
  156.  Attempting to SET CATALOG TO <filename> when the maximum number
  157. of files is already open will delete all entries from the
  158. catalog, except those referring to files currently open. 
  159.  
  160.  >>> SET CATALOG TO
  161.  If a path to the root directory of any drive is specified with
  162. the SET PATH TO command, the SET CATALOG TO <filename> command
  163. will return the error message "File is not accessible." if it
  164. must create a CATALOG file on a directory other than the default
  165. directory.  For example,
  166.  
  167.    SET PATH TO B:\
  168.    * ---dBASE III PLUS is not on the root directory.
  169.    * ---C:\Test.CAT does not already exist.
  170.    
  171.    SET CATALOG TO C:\Test
  172.    File is not accessible.        <---Error message.
  173.  
  174.  
  175.  >>> SET HISTORY TO
  176.  SETting HISTORY TO a number greater than the default of 20 will
  177. interfere with the DISPLAY HISTORY command.  The message "Press
  178. any key to continue..." will appear, sometimes repeatedly, before
  179. the commands in HISTORY are displayed.  This message will also
  180. appear intermittently as HISTORY scrolls.   
  181.  
  182.  >>> SET MESSAGE TO
  183.  SET MESSAGE TO will accept any length message although only the
  184. first 79 characters display.   
  185.  
  186.  >>> SET PRINT ON
  187.  There are a number of reported instances of the "Printer not
  188. ready." error message appearing on parallel as well as serial
  189. printers.  This occurs whenever SET PRINT ON, SET DEVICE TO
  190. PRINT, TO PRINT, or SET PRINTER TO is used.  Printing from DOS or
  191. other software packages works properly, but dBASE III PLUS
  192. returns an error message whenever printing is attempted.  
  193.  
  194.  >>> SET PRINTER TO
  195.  A serial communication port usually cannot be specified with the
  196. SET PRINTER TO command, although this will work intermittently. 
  197. An attempt to SET PRINTER TO COM1 or SET PRINTER TO COM2 may
  198. return the "Printer not ready" error message even though the
  199. printer is on-line and ready to print.
  200.  The work-around is to use the RUN command to load the resident
  201. portion of PC-DOS MODE into memory.  For example,
  202.  
  203.    RUN MODE LPT1=COM1
  204.  
  205.  This work-around may fail, however, if MODE is loaded from COMPAQ
  206. DOS.
  207.  If MODE is used to redirect LPT1 to COM1, it is unnecessary to
  208. SET PRINTER TO COM1 from within dBASE III PLUS.  This will return
  209. "Printer not ready."  
  210.  
  211.  >>> SET PRINTER TO
  212.  Issuing SET PRINTER TO with no parameters will inhibit all output
  213. to the printer.  Commands such as LIST TO PRINT and REPORT FORM
  214. TO PRINT will echo to the screen but will not print.  SET PRINT
  215. ON will not allow output to the printer. In fact, while DISPLAY
  216. STATUS shows that output has been assigned to LPT1, the default,
  217. it has not been assigned to any device at all, therefore no
  218. printing can occur.  If a SET DEVICE TO PRINT is issued, dBASE
  219. III PLUS will not output to the screen or printer.  It may appear
  220. to be frozen at this point, but it is fully functional, except
  221. that it is not outputting any data.  It is necessary to SET
  222. PRINTER TO <device name> to resume printing.   
  223.  
  224.  >>> SET PRINTER TO
  225.  With a serial printer properly configured with MODE, if a SET
  226. PRINT ON command is issued, a later SET PRINT ON or SET DEVICE TO
  227. PRINT command will return the "Printer not ready." error
  228. message.  SET PRINT OFF must be issued first.  SET DEVICE TO
  229. PRINT followed by SET PRINT ON works as expected.  This problem
  230. does not occur with a parallel printer.  
  231.  
  232.  >>> SET UNIQUE ON
  233.  Indexing with SET UNIQUE ON or INDEX ON <key expression> TO
  234. <filename> UNIQUE will work with small files (less than 100
  235. records), but will fail in one of several ways when indexing
  236. larger database files.
  237.  
  238.  1. INDEX with UNIQUE may seem to execute properly, but create an
  239.     index file that is neither unique nor a complete index.
  240.  
  241.  2. INDEXing a database file with the UNIQUE clause or with SET
  242.     UNIQUE ON can lock the computer causing one lost cluster on
  243.     the disk.  This leaves behind two files, an .NDX file
  244.     containing 0 bytes and a larger file with the extension .W44. 
  245.     This file is a temporary file created during the indexing
  246.     procedure.  Under normal circumstances, it is deleted when
  247.     INDEX terminates.
  248.  
  249.  3. The INDEX command with UNIQUE sometimes will not lock the
  250.     computer but continue to create the index until an Esc key is
  251.     pressed (if SET ESCAPE is ON) or the available disk storage is
  252.     consumed, generating a "Disk is full" error message.  
  253.  
  254.  >>> TOTAL
  255.  TOTALing ON <key field> TO <filename> while using a database file
  256. that has no numeric fields may produce an "Internal error: EVAL
  257. work area overflow" or "Internal error: Illegal opcode" error
  258. message.  The resultant file will be created and control is
  259. returned to the dot prompt.  Occasionally, this will display
  260. "Internal error: EVAL work area overflow" and "Divide overflow"
  261. then lock the computer, requiring a cold boot.  
  262.  
  263.  >>> TRANSFORM()
  264.  Using the TRANSFORM() function with an argument combining the @(
  265. and @B functions will display extraneous characters following the
  266. output.  For example,
  267.  
  268.    ? TRANSFORM(-10,'@(B9999')
  269.    (10.00        ))            <---Result.
  270.  
  271.  The extra characters may be another parenthesis, a field name, or
  272. the argument from a previous function.    
  273.