home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a036 / 1.ddi / README < prev    next >
Encoding:
Text File  |  1993-03-09  |  33.0 KB  |  743 lines

  1.  
  2.                     Welcome to dBASE IV version 2.0 
  3.                     -------------------------------
  4.  
  5. This file contains important, late-breaking information about dBASE IV,
  6. including revisions to the documentation.  Information in this file 
  7. supersedes information in the dBASE IV documentation.
  8.  
  9. TABLE OF CONTENTS
  10. -----------------
  11. 1.  How to Contact Borland
  12. 2.  Answers to Common Configuration Questions
  13. 3.  Notes on dBASE's New High Performance Filter Optimization
  14. 4.  Notes on Language Drivers
  15. 5.  File-sharing in a Multi-tasking Environment
  16. 6.  Running dBASE in Multiple Sessions
  17. 7.  Creating User-defined Help
  18. 8.  Creating Pop-ups for Data Validation
  19. 9.  Improvements in International String Comparisons
  20. 10. Documentation Additions and Corrections
  21. 11. Compatibility Issues
  22.  
  23.  
  24. 1. HOW TO CONTACT BORLAND
  25. -------------------------
  26. If you have any problems with the product, please read this file and 
  27. the dBASE IV manuals first.  If you still need assistance, you can get 
  28. help from the following sources:
  29.  
  30.   1. CompuServe bulletin board: GO BORLAND
  31.      - Provides access to the Borland forums where you can ask technical
  32.        questions, and get the latest technical information, sample 
  33.        files, utilities, and ideas.
  34.  
  35.   2. File Download BBS: 1-408-439-9096 (8, N, 1)
  36.      - Contains sample files, applications, and technical information
  37.        that you can download.
  38.  
  39.   3. Automated Support: 
  40.        800 Automated Support (phone): 1-800-524-8420
  41.        Online Automated Support (via modem): 1-408-431-5250 (8, N, 1) 
  42.        - Provides up-to-date technical information 24 hours a day, seven
  43.          days a week.  Also provides product information, usage tips,
  44.          troubleshooting information, and answers to commonly-asked
  45.          questions.
  46.  
  47.   4. TECHFAX service: 1-800-822-4269 
  48.      - A 24-hours a day service that provides technical information
  49.        on all Borland products and delivers it to your fax machine.
  50.  
  51.   5. dBASE Advisor Line: 1-900-555-1003.
  52.      - A faster, more comprehensive level of technical support.  Each
  53.        call is $2.00 per minute (the first minute is free).
  54.  
  55.   6. Borland Express Support Line: 1-800-524-8420
  56.      - Provides recorded answers to common questions. 
  57.  
  58.   7. dBASE Technical Support: 1-408-431-9060
  59.  
  60. For more information about all of the Borland Technical Support programs, 
  61. read the brochure, "Borland introduces a New Class of Technical Support," 
  62. included with this product.
  63.  
  64. Information You Need When You Call Technical Support
  65. ----------------------------------------------------
  66. When you call Technical Support, please have the following information 
  67. ready:
  68.  
  69.   a. Product name and serial number on your original distribution disk.  
  70.      Please have your serial number ready or we will be unable to process 
  71.      your call.
  72.  
  73.   b. Product version number. 
  74.  
  75.   c. Computer brand, model, and the brands and model numbers of any 
  76.      additional hardware.
  77.  
  78.   d. Operating system and version number. (The version number can be 
  79.      determined by typing VER at the DOS prompt.)
  80.  
  81.   e. Contents of your AUTOEXEC.BAT file.
  82.  
  83.   f. Contents of your CONFIG.SYS file.
  84.  
  85.   NOTE:  You can obtain the requested information by typing the
  86.          following at the DOS prompt:  DBINFO -x -o.  This command 
  87.          creates a file, DBINFO.TXT, which includes information on 
  88.          your hardware configuration, operating system, CONFIG.SYS 
  89.          and AUTOEXEC.BAT.
  90.  
  91.  
  92. 2. ANSWERS TO COMMON CONFIGURATION QUESTIONS
  93. --------------------------------------------
  94. Q1:  I'm unable to start dBASE IV 2.0 under Windows 3.1.  Each time I
  95.      try, I get an "Insufficient Memory" message.
  96.  
  97. A1:  dBASE IV 2.0 requires approximately 4MB of virtual memory to 
  98.      run.  Use the following procedure to obtain information about  
  99.      your system's memory and adjust memory allocation:  
  100.      
  101.      1)  In Window's Program Manager, select About Program Manager...
  102.          from the Help menu and check the amount of free memory.
  103.  
  104.          a) If you have LESS than 4MB of free memory, read step 2.
  105.  
  106.          b) If you have MORE than 4MB of free memory, check the available
  107.             contiguous XMS memory by selecting the DOS prompt icon, and
  108.             typing PMINFO at the DOS prompt.  This utility tells you how
  109.             much memory is available for DOS-16M programs.  If it indicates 
  110.             less than 3MB available memory, read step 2.
  111.  
  112.      2)  Increase the swap file size.  To do so, 
  113.          a) Choose Window's Control Panel.
  114.          b) Choose 386 Enhanced.
  115.          c) Click the Virtual Memory push button.
  116.          d) Click the Change push button.
  117.          e) Increase the value of the New Size option.
  118.  
  119.          Increasing the swap file size should increase the amount of
  120.          available virtual memory.    
  121.  
  122.      3)  If you have problems starting dBASE in multiple sessions,
  123.          close all your dBASE sessions, and type SET DOS16M=:4M at
  124.          the DOS prompt.  This allocates a maximum of 4MB to each
  125.          session of dBASE.
  126.  
  127.  
  128. Q2:  I use Windows for Workgroups.  How do I configure dBASE IV 2.0 so
  129.      that it runs optimally in this environment?
  130.  
  131. A2:  Use the same memory configuration as described for Windows 3.1 in
  132.      the previous question.
  133.  
  134.  
  135. Q3:  Why isn't there an option to install cache during installation?
  136.  
  137. A3:  dBASE IV 2.0 uses all available extended memory and no longer requires
  138.      a separate disk cache.
  139.  
  140.  
  141. Q4:  When I start dBASE under Windows 3.1, I get a "LOCALSHARE is currently
  142.      ON so you cannot run dBASE IV..." message followed by "Initialization
  143.      Error."  What do I do?
  144.  
  145. A4:  LOCALSHARE is a new Config.db setting which enables file-sharing
  146.      in a multi-tasking environment such as Windows 3.1.  It is ON by
  147.      default.  When you start dBASE under Windows 3.1, dBASE checks if 
  148.      you have loaded SHARE.EXE, the DOS program that provides file-sharing 
  149.      and locking capabilities.  If SHARE.EXE is not loaded, you get the 
  150.      "LOCALSHARE is currently ON so you cannot run dBASE IV..." message.  
  151.  
  152.      Depending on your work environment, use one of the following
  153.      procedures:
  154.  
  155.      1)  If you don't intend to share dBASE files in multiple dBASE
  156.          sessions or with other applications (such as Quattro), use
  157.          DBSETUP or edit the CONFIG.DB file to set LOCALSHARE=OFF.
  158.  
  159.      2)  If you want to share dBASE files in multiple dBASE sessions
  160.          or with other applications, install SHARE.EXE.  Read your 
  161.          DOS manual for instructions on how to do so.
  162.  
  163.  
  164. Q5:  When I start dBASE, I get a "System is not configured for the
  165.      current code page..." message.  What should I do?
  166.  
  167. A5:  You get this message if the code page you selected during installation
  168.      of dBASE IV 2.0 is different from your system's code page.  Use the
  169.      following procedure to correct the problem:
  170.  
  171.      1)  At the DOS prompt, type CHCP to find out your system's code page.
  172.      2)  Reinstall dBASE IV 2.0.
  173.      3)  In the Code Page Value option, choose the value that matches
  174.          your system's code page.  (By default, dBASE IV's installation
  175.          utility displays your system's code page value.)
  176.  
  177.  
  178. Q6:  I have a previous version of dBASE installed on my computer.  I
  179.      want dBASE IV 2.0's installation utility to automatically overwrite
  180.      the existing files.  What should I do?
  181.  
  182. A6:  dBASE IV 2.0's installation utility gives you the option of 
  183.      "protecting" old dBASE IV and SQL system files, or overwriting them.
  184.      Use the following procedure to overwrite the old system files:
  185.  
  186.      1)  During installation, select "Install Options... [KEEPDB4 SHIELDSQL]"
  187.          The installation utility displays the following options:
  188.  
  189.          Protect Old dBASE IV System Files: [Yes]
  190.          Shield Existing SQL System Files:  [Yes]
  191.  
  192.      2)  Change both options to "No" by pressing Enter when the option 
  193.          is highlighted.  Pressing Enter toggles the selection.
  194.  
  195.      3)  Press Esc to return to the previous menu.
  196.  
  197.  
  198. Q7:  When I try to start dBASE, I get a "Bad command or file name"
  199.      message.  How do I correct this problem?
  200.  
  201. A7:  dBASE may not be in your current path.  Either set dBASE in the
  202.      DOS path in your AUTOEXEC.BAT file, or type the full path at the 
  203.      DOS prompt.
  204.  
  205.      The dBASE IV system files may be missing.  Check that DBASE.EXE
  206.      exists in your dBASE home directory.  If it doesn't, reinstall
  207.      dBASE IV.  In the "Configuration... [dBASE SAMPLES TUTORIAL DTL
  208.      UTILS]" option, make sure that "dBASE IV System" is set to "Yes."
  209.  
  210.  
  211. Q8:  When I start dBASE IV, it appears in black and white.  What happened 
  212.      to the default colors?
  213.  
  214. A8:  dBASE IV 2.0 loads in black and white in the following situations:  
  215.      - You performed a network installation
  216.      - You have an existing CONFIG.DB in the dBASE home directory 
  217.        (The installation utility does not overwrite or modify an
  218.        existing CONFIG.DB during installation)
  219.      - You are using a CGA monitor
  220.  
  221.      To set the default screen colors, follow the instructions in the
  222.      "Setting Colors and Line Modes" section in Chapter 2 of the
  223.      "Getting Started" manual.
  224.  
  225.  
  226. Q9:  I'm running dBASE IV and I get a VM error 5312 or 5313.  What
  227.      does this mean and what should I do?
  228.  
  229. A9:  You were trying to execute an operation in low DOS memory, which
  230.      was fragmented.  To correct this problem, you should reduce the 
  231.      amount of low DOS memory that dBASE uses.  To do so, use the 
  232.      following procedure:
  233.  
  234.      1.  At dBASE's dot prompt, type ? MEMORY(5).  This returns the 
  235.          amount of memory that VMM is managing.
  236.      2.  Subtract 222 from the value returned by MEMORY(5).
  237.      3.  Use the resulting value as the MAXMEM value in the DBASE.VMC file.
  238.      4.  If the resulting value is LESS than 1024, set MINMEM in the
  239.          DBASE.VMC file to this value also.
  240.  
  241.      For example: 
  242.      
  243.      If ? MEMORY(5) returns 1200, set MAXMEM and MINMEM to 978 (1200 - 222).
  244.      If ? MEMORY(5) returns 1600, set MAXMEM to 1378 (1600 - 222).
  245.  
  246.  
  247. 3. NOTES ON dBASE'S NEW HIGH PERFORMANCE FILTER OPTIMIZATION
  248. ------------------------------------------------------------
  249. The information in this section supplements the discussion of filter
  250. optimization in Chapter 34 of "Programming in dBASE IV."
  251.  
  252. The following are some conditions where full optimization occurs:
  253. - The database is in natural order and the filter condition corresponds
  254.   to an open index or order
  255. - The database is indexed and the filter condition corresponds to the
  256.   master index
  257. - The database is indexed on a complex character expression (for example, 
  258.   firstname+lastname+address) and the filter condition corresponds to  
  259.   a subset of the expression (for example, firstname or firstname+lastname)
  260.  
  261. The following table shows examples of expressions that are fully or
  262. partially optimized:
  263.  
  264. Expressions                                             Optimization
  265. --------------------------------------------------------------------
  266. INDEX ON State TAG State
  267. SET FILTER TO State="CA" .OR. State="TN"                Full
  268.  
  269. INDEX ON State+Zip TAG Statezip
  270. SET FILTER TO State+Zip="CA95050"                       Full
  271. SET FILTER TO State="WA"                                Full
  272.  
  273. INDEX ON State TAG State
  274. SET FILTER TO .NOT. State="NY"                          Full
  275.  
  276. INDEX ON Lastname TAG Lastname
  277. INDEX ON Year(Date_hired) TAG Year_hired
  278. LIST FOR Year(Date_hired)=1993 .AND. Lastname="Smith"   Full
  279.  
  280. INDEX ON STR(OrderNo,6)+STR(StockNo,6) TAG LineKey
  281. LIST FOR STR(OrderNo,6)="100001"                        Full
  282.  
  283. SET FILTER TO State="CA" .OR. State="TN"  && no index   Partial 
  284.  
  285. SET FILTER TO State+Zip="CA95050"  && no index          Partial
  286.  
  287. INDEX ON Lastname TAG Lastname
  288. SET ORDER TO Firstname
  289. SET FILTER TO Lastname="Smith"                          Partial
  290.  
  291. SET FILTER TO "Fred" $ Lastname                         
  292. COUNT                                                   No
  293. SUM                                                     Full; dBASE retains       
  294.                                                         the search results 
  295.                                                         of the previous 
  296.                                                         operation 
  297.                                                       
  298. SET FILTER TO FOUND(2)                                  No    
  299.                                                           
  300.  
  301.  
  302. 4. NOTES ON LANGUAGE DRIVERS                               
  303. ----------------------------
  304. The information in this section supplements the discussion of language
  305. drivers on pages 344 and 345 of the Language Reference.
  306.  
  307. dBASE IV version 2.0 supports DOS code pages (character sets) 437 and 850.  
  308. Previous versions supported only code page 437.  If you decide to change to 
  309. code page 850 (the code page available, either as the default or as an 
  310. alternate, with all systems running DOS 5.0 or higher), please note the 
  311. following:  dBASE files created on systems running code page 850 may appear 
  312. differently and generate unexpected results when used on a system running 
  313. code page 437, and vice versa.  
  314.  
  315. This is because many of the extended ASCII (>127) characters differ between 
  316. the two code pages, and if you use these characters in your files, you will 
  317. get different results when viewing and sorting data. 
  318.  
  319. To ensure data integrity, dBASE IV version 2.0 now marks each data file  
  320. (.dbf) and index file (.ndx or .mdx) with a Language Driver ID.  This ID
  321. identifies the code page and language table which the file was created with.
  322. When you open a file, dBASE compares the language driver assigned to the 
  323. file with the system's current language driver.  If the two are different, 
  324. dBASE displays a warning and gives you the option of continuing the 
  325. operation or cancelling it.
  326.  
  327. If, for example, you are currently using code page 850 and you open a 
  328. dBASE IV 2.0 data file that was created with code page 437, dBASE warns 
  329. you of mismatched language drivers.  You can choose to cancel the operation 
  330. or use the file.  If you use the file and it has an associated index file, 
  331. dBASE displays the warning again and prompts you to cancel the operation 
  332. or reindex the file with the current language driver.  If you choose to 
  333. reindex the file, dBASE marks the index file with the new language driver ID.  
  334. It does not, however, mark the data file with the new language driver ID. 
  335.  
  336. Data and index files created in previous versions of dBASE IV do not have 
  337. language driver IDs; if you open these files in dBASE IV 2.0 under code
  338. page 437, dBASE automatically assigns the current language driver ID.  
  339. If you open these files in dBASE IV 2.0 under code page 850, dBASE prompts 
  340. you to assign, or reindex with, the current language driver ID.
  341.  
  342. The language driver ID assigned to an index file is changed each time you 
  343. reindex the file under a different language driver.  The language driver ID 
  344. assigned to a data file, however, is permanent.  
  345.  
  346. To "reassign" a language driver ID of a data file, use the COPY STRUCTURE 
  347. and APPEND FROM commands to create a new data file and transfer the data 
  348. under the current language driver.
  349.  
  350. NOTE:  Marking a file with the new language driver ID does NOT convert 
  351.        extended characters that differ between the two code pages.  If
  352.        your file contains characters that differ, you should change them
  353.        to ensure data integrity.
  354.  
  355.  
  356. 5. FILE-SHARING IN A MULTI-TASKING ENVIRONMENT
  357. -----------------------------------------------
  358. Many operating systems and programs, such as OS/2, Windows, DOSSHELL, 
  359. and DESQVIEW, provide users with the capability to run dBASE in multiple 
  360. sessions and to share local files.  You can now load dBASE IV in nine 
  361. different sessions (the maximum allowed), and use the same files in more 
  362. than one session.  You can also share dBASE files with other applications 
  363. such as Quattro.
  364.  
  365. To support file-sharing on a local system, dBASE provides you with the
  366. option of protecting your dBASE files from multi-tasking collisions 
  367. with a new Config.db setting, LOCALSHARE. 
  368.  
  369. If you intend to use dBASE files in more than one session or application, 
  370. use LOCALSHARE=ON (the default setting) to enable file-sharing protection,
  371. and remove EXCLUSIVE=ON or set EXCLUSIVE=OFF in your CONFIG.DB file.  
  372.  
  373. When LOCALSHARE is ON, dBASE checks and ensures that your system is running 
  374. SHARE.EXE, a DOS program that provides file-sharing and locking capabilities 
  375. on your hard disk.  If it detects SHARE, dBASE protects your dBASE file in 
  376. the same way it protects files in a multi-user (network) environment.  
  377. For example, dBASE will write the updates to the hard disk each time a 
  378. record is modified or created.
  379.  
  380. NOTE:  SHARE limits the number of files that can be opened and the
  381.        number of locks available to your system.  You can increase these
  382.        limits by using the /f and /l switches with the SHARE command.
  383.        Refer to your DOS manual for more information.
  384.  
  385. Unlike running dBASE IV in a multi-user environment, each multi-tasking 
  386. session of dBASE IV uses the same file name (TRANSLOG.LOG) for transaction 
  387. processing.
  388.  
  389. If LOCALSHARE is ON and you run dBASE under Windows without SHARE.EXE, 
  390. dBASE displays a message telling you to load SHARE.EXE.  You can disable 
  391. file-sharing protection by specifying LOCALSHARE=OFF in your CONFIG.DB 
  392. file.   
  393.  
  394.  
  395. 6. RUNNING dBASE IN MULTIPLE SESSIONS
  396. -------------------------------------
  397. If you load dBASE in multiple sessions, dBASE assigns a unique identifier 
  398. to each session.  The identifier is a number from 1 to 9 and is added to the 
  399. user ID in a network environment.  For example, in a network environment,
  400. if a user name is "JSMITH", the first session ID is "JSMITH1".  In a 
  401. single-user environment where user IDs are not used, the first session 
  402. is identified as "SESSION1".
  403.  
  404. The following commands and functions return session IDs:
  405.   ID()
  406.   USER()
  407.   LKSYS(2)
  408.   LKSYS(5)
  409.   LIST USERS
  410.   DISPLAY USERS
  411.  
  412. Session numbers are assigned and recycled, starting with the lowest 
  413. available number.  Therefore, session numbers will not be in chronological 
  414. order if any sessions are closed before all nine are used.  For example, 
  415. if you open five sessions, then close session 2, the next session you open 
  416. is assigned the number 2, not 6.
  417.  
  418.  
  419. 7. CREATING USER-DEFINED HELP
  420. -----------------------------
  421. The Form.gen template file lets you create user-defined Help frames.
  422.  
  423. The F1 Help key can now provide user-defined help information
  424. for individual fields on the Edit screen. When you press F1 Help,
  425. the information in the memo fields of a special database file
  426. will display in a pop-up Help window. If you want to create your own
  427. Help file, create the special database file described below.
  428.  
  429. The name of the database file must begin with the first six
  430. characters of the name of the format file, followed by "_h.dbf".
  431. For example, if the format file is called Entry.fmt, then the
  432. Help file must be called Entry_h.dbf. The database file must
  433. be created with the following structure, before you compile the
  434. form:
  435.  
  436.         Field  Field Name  Type       Width  Dec  Tag
  437.         -----  ----------  ---------  -----  ---- ---
  438.             1  FLD_NAME    Character    10         Y
  439.             2  FLD_HEADNG  Character    25         N
  440.             3  FLD_HELP    Memo         10         N
  441.        ----------------------------------------------
  442.  
  443. Enter the names of the fields for which you want help in the Fld_name
  444. field. You need to create an index tag named Fld_name, as follows:
  445.  
  446.   INDEX ON UPPER( Fld_Name ) TAG Fld_Name
  447.  
  448. You do not need to include all the fields from the database in
  449. the Help file, only the ones for which you want Help windows.
  450.  
  451. Enter the character string for the top frame of the Help window in the
  452. Fld_headng field.
  453.  
  454. Enter the Help text you want displayed for each field in the Fld_help
  455. memo field. If there is more text than will fit inside the help window,
  456. navigation instructions are displayed inside the Help window.
  457.  
  458.  
  459. 8. CREATING POP-UPS FOR DATA VALIDATION
  460. ---------------------------------------
  461. Using CREATE/MODIFY SCREEN, you can create a data validation
  462. routine that presents a pop-up displaying the valid choices from
  463. a lookup database file when a user enters a value that does
  464. not match the lookup file.
  465.  
  466. To create a pop-up for data validation, start from the "Accept value when"
  467. portion of a field's Edit Options table on the forms design screen. You
  468. must enter the following syntax (including quotes):
  469.  
  470.   "POPUP"="<database>-><fieldname> ORDER <fieldname> [REQ] [SHADOW]"
  471.  
  472. For example, to validate the Vendor_id field in Goods.dbf against the
  473. Vendor_id field in Vendors.dbf, insert the following pop-up string in
  474. the "Accept value when" fill-in when highlighting the Vendor_id field
  475. in a form that uses Goods.dbf.
  476.  
  477.   "POPUP" = "Vendors->Vendor_id ORDER Vendor_id REQ SHADOW"
  478.  
  479. If you want to attach an additional .AND. condition to the pop-up
  480. validation, include the condition after the "POPUP"="..." expression.
  481. The condition should not be delimited with quotes.
  482.  
  483. The components of this pop-up string are:
  484.  
  485. POPUP               Initiates pop-up processing for this
  486.                     field during EDIT.
  487.  
  488. Vendors->Vendor_id  Indicates the database file to open and
  489.                     the field in that database file to use
  490.                     for data validation. You must have an index
  491.                     tag on this field.
  492.  
  493. ORDER Vendor_id     Specifies the index tag that orders this field.
  494.  
  495. REQ                 Shows that the user must enter something
  496.                     into the field before moving on. This is
  497.                     optional. If REQ is omitted, the user can
  498.                     escape the pop-up and leave the field blank.
  499.  
  500. SHADOW              Provides a shadowing effect underneath the
  501.                     pop-ups. SHADOW is optional.
  502.  
  503. You can use a field from the .DBF file you are currently working
  504. with or a .DBF from another work area. However, the validated file
  505. and the lookup must be different files. Pop-ups are usually displayed
  506. below the currently-highlighted field, unless the current field is
  507. low on the form.
  508.  
  509. Limitations of Pop-up Validation:
  510.  
  511. - This feature is designed for EDIT and might not display as smoothly
  512.   in BROWSE. If you have a pop-up on your EDIT, the F2 toggle from EDIT
  513.   to BROWSE is disabled.
  514.  
  515. - Pop-up validation cannot be used on a multiple choice field.
  516.  
  517. - Pop-up validation cannot be used on a form created by using a view that
  518.   contains more than one file.
  519.  
  520. - In order to protect a procedure file you currently have in use, EDIT
  521.   will close it on entry and reopen it on exit. If this presents a
  522.   problem with forms that use procedures, see SET LIBRARY in the Language
  523.   Reference manual, and Sysproc and SET LIBRARY in the Programming in
  524.   dBASE IV manual.
  525.  
  526. - The first six characters of the form name and the first eight characters
  527.   of the field names with these pop-ups must be unique.
  528.  
  529.  
  530. 9. IMPROVEMENTS IN INTERNATIONAL STRING COMPARISONS
  531. ---------------------------------------------------
  532. In dBASE IV 2.0, comparisons between strings with extended characters
  533. have been improved.  If you use LANGTABLES=ON and SET EXACT OFF, secondary 
  534. differences between characters are ignored.  For example,
  535.  
  536.       SET EXACT OFF
  537.       ? "âbc" = "abc"
  538.       .T.
  539.  
  540. In previous versions of dBASE IV, ? "âbc" = "abc" would have returned .F.
  541.  
  542. We recommend that you REINDEX old files.  This is important if you work
  543. with LANGTABLES=ON, SET EXACT OFF, and INDEX ON with a FOR condition.
  544.  
  545.  
  546. 10. DOCUMENTATION ADDITIONS AND CORRECTIONS
  547. ------------------------------------------
  548. This section of the README file contains new information and revisions
  549. to the dBASE IV manuals.
  550.  
  551. "Getting Started"
  552. -----------------
  553. - p. 10:  When you run dBASE IV under Windows 3.1 enhanced mode, use 
  554.   the DOS environment variable SET DOS16M to set the maximum memory
  555.   to 4MB or higher.  
  556.  
  557. - p. 11:  When you run dBASE IV under OS/2, set DPMI_MEMORY_LIMIT to 4
  558.   or higher.
  559.  
  560. - p. 68:  To increase or decrease user counts on a multi-user dBASE IV 
  561.   system, you type ADDUSER4 at the DOS prompt, select the option you want, 
  562.   and type in the requested LAN Access number.  dBASE LAN Access Pack 
  563.   version 2.0 no longer prompts you to insert a disk.
  564.  
  565. "Programming in dBASE IV"
  566. -------------------------
  567. - p. 498:  VMM runs automatically when you start dBASE IV if your 
  568.   system has less than 4.5MB of extended memory or if you change 
  569.   VMM's default settings through the DBASE.VMC configuration file.
  570.  
  571. - p. 499:  NOSWAPFILE is not a valid DBASE.VMC parameter. 
  572.  
  573. - p. 501:  The following are valid values for the BUFFSIZE parameter
  574.   in DBASEIV_BUFF:  1, 2, 4, 7, 8 (default), 9, 15, 20, 21, 30, 31, and 32.
  575.   The buffers are dynamically sub-allocated from 64K segments.  Each 
  576.   buffer allocated includes control header information.  Consequently, 
  577.   large buffer sizes (such as 16 and 32) which are exact divisors of 
  578.   64 waste substantial amounts of memory (almost one full buffer)
  579.   because the last buffer (plus its header) doesn't fit into the
  580.   64K segment.
  581.  
  582.   You can achieve optimum memory utilization by using buffer sizes 
  583.   which are close to an even divisor of 63, for example, 7, 9, 15, or 21.  
  584.   With these buffer sizes, extended memory is used more efficiently 
  585.   since more buffers fit into the same physical space, thereby enlarging 
  586.   the effective size of the buffer.  This, in turn, improves overall dBASE 
  587.   I/O performance.
  588.  
  589.   Generally, larger buffers (such as 21) provide good performance with
  590.   sequential processing, such as scanning a database file without an
  591.   active index or copying a subset of one file to another.  Smaller buffer
  592.   sizes are recommended for random file accesses.
  593.  
  594.   Values 1 and 32 are seldom good settings.  Values between 7 and 21 
  595.   provide good overall performance.  On networks, smaller values, such as
  596.   2 or 4, may improve performance.
  597.  
  598. - p. 508:  The following commands should be added to the list of
  599.   commands that are optimized when the FOR clause is used: BLANK, DISPLAY, 
  600.   and INDEX.  SCAN is optimized only when preceded by SET FILTER TO.
  601.  
  602. "Language Reference"
  603. --------------------
  604. - p. 58:  If you are appending from an SDF (System Data Format) file, 
  605.   you can now speed up APPEND processing by using the optional NOVERIFY 
  606.   argument to turn off error-checking and data validation during the APPEND.  
  607.   If you use NOVERIFY, the source data is copied as-is into the target 
  608.   fields.  The following is an example of the APPEND FROM command with 
  609.   the NOVERIFY option:
  610.  
  611.         APPEND FROM Myfile TYPE SDF NOVERIFY
  612.  
  613.   You should use this option only if your data is in the correct format. 
  614.   Without data validation, dBASE doesn't check or convert your source data 
  615.   to fit the data type of the target fields.  For example, when you use
  616.   NOVERIFY, dBASE doesn't check the setting of POINT and accepts only a 
  617.   period as a valid decimal point character.  Therefore, if you want to
  618.   use the NOVERIFY option and get reliable results, use a period as the
  619.   decimal point in float and numeric data types in your source data.
  620.  
  621. - In previous versions of dBASE, when you used the SDF or DELIMITED clause
  622.   with the APPEND FROM command, the formfeed character was appended to the
  623.   database.  Now, the formfeed is not appended to the database if it is
  624.   preceded by a carriage return.
  625.   
  626. - p. 239:  If you are running dBASE in a multi-user or multi-tasking 
  627.   environment, and you use REPLACE with a scope clause to replace an 
  628.   indexed field, you are now required to have exclusive use of the database.  
  629.   This ensures that all records are replaced properly.
  630.  
  631. - p. 275:  This version of dBASE improves the internal processing of the 
  632.   USE AGAIN command.  If you use a database in more than one work area, 
  633.   any changes made to the file in one work area are reflected in all other 
  634.   work areas.  Previously, if you used the same database in more than one 
  635.   work area, updates to the database in one work area were not reflected 
  636.   in the others.  
  637.   
  638.   NOTE:  If you're working in a multi-tasking (LOCALSHARE=ON) 
  639.   or multi-user environment, SET EXCLUSIVE must be OFF to use the USE AGAIN 
  640.   command.  If SET EXCLUSIVE is ON, dBASE displays a "File already open" 
  641.   message.
  642.  
  643. - p. 214:  If you omit <command> when you use ON SELECTION BAR, the
  644.   command previously assigned to the specified menu bar is disabled, and 
  645.   a command specified with ON SELECTION POPUP is associated with the menu
  646.   bar.
  647.  
  648. - p. 216:  If you omit <command> when you use ON SELECTION PAD, the
  649.   command previously assigned to the specified pad is disabled, and a
  650.   command specified with ON SELECTION MENU is associated with the pad.
  651.  
  652. - p. 287, 337, 351:  The SET BLOCKSIZE command allocates the same block 
  653.   size for both memo field data (.dbt files) and index data (.mdx files).  
  654.   In this version of dBASE, you can specify different block sizes for memo 
  655.   field blocks and index blocks by using SET MBLOCK and SET IBLOCK, 
  656.   respectively.  The following describes how the SET BLOCKSIZE setting  
  657.   affects SET IBLOCK and SET MBLOCK, and vice versa:
  658.  
  659.   - If you change the value of BLOCKSIZE through DBSETUP, dBASE IV changes
  660.     the IBLOCK and MBLOCK values to equivalent block sizes.  For example,
  661.     setting BLOCKSIZE to 2 changes IBLOCK to 2 and MBLOCK to 16.  Each sets 
  662.     the block size to 1024 bytes.
  663.  
  664.   - Through DBSETUP, you can change the IBLOCK and MBLOCK values 
  665.     individually.  These values do not change the BLOCKSIZE value.  
  666.     For example, if you leave the BLOCKSIZE value at its default of 
  667.     1 and set IBLOCK to 2 and MBLOCK to 4, dBASE creates 1024-byte 
  668.     memo field blocks and 256-byte index blocks.  In this case, the 
  669.     IBLOCK and MBLOCK values override the BLOCKSIZE value.
  670.  
  671.   - In a CONFIG.DB file, the command that appears further down the file
  672.     overrides one that appears earlier.  For example, if "IBLOCK= " appears 
  673.     after "BLOCKSIZE= " (and it does when DBSETUP writes to CONFIG.DB),
  674.     the IBLOCK value overrides the BLOCKSIZE value.
  675.  
  676.   - Using the SET BLOCKSIZE command at the dBASE dot prompt changes IBLOCK
  677.     and MBLOCK values to equivalent block sizes.
  678.  
  679. - p. 489:  MEMORY(7) returns the size, in kilobytes, of the swap file that 
  680.   VMM creates.  VMM always creates a swap file to improve overall 
  681.   performance.  
  682.  
  683. - p. 521:  Setting the second option, <expL2>, of the RUN() function to    
  684.   .T. tells dBASE to release all available extended memory prior to running
  685.   the specified command or program.  To find out how much extended memory
  686.   is currently available to execute a command or program with RUN(), use 
  687.   MEMORY(0).  To determine how much extended memory dBASE will release when 
  688.   you execute RUN(<expC>,.T.), use MEMORY(3).
  689.  
  690. - p. 696:  Byte 29 in the database file header contains the language 
  691.   driver ID.
  692.  
  693.  
  694. 11.  COMPATIBILITY ISSUES
  695. -------------------------
  696.  
  697. Using dBASE with DOS 5.0 DOSSHELL
  698. ---------------------------------
  699. If you run dBASE IV under a task switcher, such as DOS 5.0 DOSSHELL, you 
  700. should install MULTI16M.EXE.  This TSR is provided with dBASE IV.  For
  701. more information about this program, read MULTI16M.DOC.  This file is
  702. in your dBASE home directory.
  703.  
  704. Using dBASE with Stacker
  705. ------------------------
  706. If you are using Stacker or another disk compression software,
  707. the amount of disk space indicated by DIR or other commands may 
  708. be more than is actually available.  This may cause you to run 
  709. out of disk space when installing dBASE.  Stacker users who have 
  710. less than 10MB of disk space should run SCHECK to see how much 
  711. disk space is actually available.  This information can be found 
  712. under "Bytes Free" in the STACVOL file.
  713.  
  714. Using dBASE under OS/2
  715. ----------------------
  716. dBASE will fail to load under OS/2 unless you increase its
  717. DPMI_MEMORY_LIMIT setting to 4 or higher.
  718.  
  719. If you run dBASE under OS/2 2.0 with the Service Pack installed, using
  720. SET MOUSE ON and moving the mouse pointer causes dBASE IV to crash.
  721. This is a problem with the OS/2 2.0 Virtual DOS mouse driver, which can
  722. be resolved in one of the following ways:
  723.  
  724. 1)  Use the VMOUSE.SYS driver included with your original OS/2 2.0 disks.
  725. 2)  Use MOUSE=OFF in your CONFIG.DB file.
  726. 3)  Contact IBM OS/2 Support at 1-800-237-5511, and refer to problem
  727.     number PJ06533 to obtain the patch that corrects this problem.
  728.  
  729. Mouse drivers for Windows 3.1
  730. -----------------------------
  731. If you run dBASE IV 2.0 in a window session, you must use MOUSE.COM
  732. or MOUSE.SYS version 8.20 or higher in order for the mouse to work.
  733. You can use an older version of MOUSE.COM or MOUSE.SYS if you run dBASE
  734. in full screen mode.
  735.  
  736. Running Multi-user dBASE IV with IBM LAN Server or Microsoft LAN Manager
  737. ------------------------------------------------------------------------
  738. PC client workstations running multi-user dBASE IV with IBM LAN Server
  739. or Microsoft LAN Manager may lose network connections and get the messages 
  740. "File not found," "Network busy," or "Device no longer exists" when 
  741. network traffic is heavy.  This is a network problem and if it occurs, 
  742. contact IBM Technical Support or Microsoft Technical Support.
  743.