◁ 返回 FileEditSearchHelp CD 8 — 数据库
软件列表
Disc :CD 8 — 数据库
Total :106 个软件
RAW = 标准磁盘映像,可直接用于虚拟机 (VM) 或写入软盘 | IMG/DDI = 原始压缩格式 (HDCOPY/DiskDupe),需专用工具读取
000 ORACLE V6.00 43×HD 4500元
001 ORACLE V6.00 42×TD 1500元
002 ORACLE V6.0 4×TD
README.TXT [展开]
README.TXT
==========

This file contains information about using the Oracle Data Browser
Demo Disk.  For more product information, please contact Oracle
Corporation at (800) 633-0580.

CONFIG.SYS
==========

This version of the Oracle Data Browser demo disk does not support
loading of MS-DOS into the high memory area (HMA).  Before using the
Oracle Data Browser demo disk, you should check your MS-DOS
configuration file (CONFIG.SYS) found in the root directory of your
system disk.

If the root directory of your system disk contains the line "DOS=HIGH",
you should change this line to "DOS=LOW,NOUMB" and reboot your machine
before starting the Oracle Data Browser Demo Disk.

MOUSE SUPPORT
=============

The Oracle Data Browser Demo Disk does provide limited mouse support
in its main menu.  Load your mouse driver (e.g. MOUSE.COM) before
starting the demo.  This demo disk should work with the Microsoft
Mouse or compatible pointing devices.

STARTING THE DEMO
=================

You must set your default drive to the floppy drive that contains the
Oracle Data Browser Demo Disk.  For example, if you inserted the Oracle
Data Browser Demo Disk into drive A, you should then set your default
drive to drive A by entering "A:" at the MS-DOS command line.

To start the demo, enter "DEMO" at the MS-DOS command line.  Use the
space bar to advance to the next slide and the <Scroll Lock> key to
pause.  Press the <ESC> key to exit the demo.

COPYING THE DEMO DISK
=====================

This disk is not copy protected.  Use the MS-DOS command DISKCOPY to
copy this disk.  Please feel free to copy as needed for demonstration
purposes.
003 ORACLE V7.00 57×TD
README.TXT [展开]
This is the SQL*Forms 3.0.16.11.3 release.
(Linked with PL/SQL 1.0.35.1.0)

This version was primarily created as a synchronized-release version, but
also includes the bug fixes noted below in section "BUGS FIXED IN 3.0.16".

Additionally, bugs 91978, 123888, 124022, 124749, 129519, 131235, 132999,
134900, 135121, 135239, 135983, 137235, 138310  have been fixed in this
version of SQL*Forms.

Bugs outstanding: 115687, 127098, 129342, 138247, 138491.

         +------------------------------------------------------+
         | CAUTION:                                             |
         | Installation of this patch on an OS/2 system with a  |
         | local ORACLE database requires that the database     |
         | and Required Support Files be updated to 6.0.36.1.0  |
         | BEFORE this patch can be applied!  Failure to do so  |
         | may result in making the RDBMS inoperable!           |
         |                                                      |
         | Installation of this patch on a client-only system   |
         | (no local database) requires that Required Support   |
         | Files (16-bit) 6.0.36.1.0 be installed on the client |
         | system BEFORE this patch can be applied!             |                               |
         +------------------------------------------------------+

Attached below is the standard README text file which discusses bug fixes and
functionality changes.  This text file is a cumulative file for all 3.0.16
versions of SQL*Forms.
--------------------------------------------------------------------------------

Release Bulletin
SQL*Forms Version 3.0.16 (Production)
April 13, 1992

This bulletin contains important information about this release of SQL*Forms.
It is recommended that you familiarize yourself with the contents of this
bulletin before attempting to use this version.  The bulletin includes function
key mappings for this release for VT100 and VT220 terminals.


New Features since Versions 2.0 and 2.3
=======================================
A complete list of new and changed features can be found in Appendix A of the
SQL*Forms Designer's Reference Version 3.0.  Major new features include:

o   Enhanced User Interface Portability

o   The SQL*Forms (Design) interface is completely revised and includes:
    o   Streamlined Menu structure with pull-down menus
    o   Ability to reference and copy application objects such as triggers
    o   Ability to enforce referential integrity constraints
    o   Context-sensitive online help
    o   Enhanced Debug Mode
    o   Integrated text editor
    o   Automatic master-detail block coordination

o   PL/SQL Integration

o   Ability to integrate pull-down menus built with SQL*Menu

o   Enhanced SQL*Forms (Run Form) Capabilities:
    o   Pop-up Pages, List-of-Values, and Field Editor
    o   Format masks for formatting field contents
    o   Dynamic field and display attributes
    o   Mouse support for bitmap environments



Documentation
=============
Complete documentation is available with the release.  All users are advised to
obtain the most current documentation.  The Version 3.0 documentation set
includes:

        SQL*Forms Operator's Guide              3301-V3.0
        SQL*Forms Operator's Quick Reference    3704-V3.0
        SQL*Forms Designer's Tutorial           3302-V3.0
        SQL*Forms Designer's Quick Reference    3708-V3.0
        SQL*Forms Designer's Reference          3304-V3.0
| NEW!  Advanced SQL*Forms Techniques           5763-V3.0
        Introduction to SQL*Forms and SQL*Menu   19192-V3

NEW!  Advanced SQL*Forms designers are encouraged to get the new Advanced
SQL*Forms Techniques book, now available showing you how to implement specific
SQL*Forms functionality in your applications.

For information on mapping function keys and video attributes or customizing
key mappings, consult the Oracle*Terminal User's Guide, part no. 5206-V1.0.

For complete information on PL/SQL, refer to the PL/SQL User's Guide and
Reference, part no. 800-V1.0.

Keyboard cards are available for designers and operators:

        SQL*Forms Designer's Keyboard Card       755-V3.0
        SQL*Forms Operator's Keyboard Card      3906-V3.0


Upgrading from Earlier Versions
===============================
1.      All forms created prior to Version 3.0.15 must be regenerated to run
        with SQL*Forms Version 3.0.15.  This was due to a PL/SQL problem that
        was fixed, that required regeneration on the SQL*Forms side.  Now that
        version 3.0.16 is full production, we will strive to minimize future
        regeneration needs.

2.      Forms created prior to SQL*Forms Version 3.0 must have their .INP files
        converted, using CONVFORM -vXX inp_filename formname username/password,
        where:

                XX is either 20 or 23, depending on if you are converting from
                Version 2.0 or 2.3 of SQL*Forms

                inp_filename is the name (without the .INP suffix) of the old
                INP file that you are converting to Version 3.0 - not the name
                of the new INP file that you want to create as stated on page
                23-4 of the SQL*Forms Designer's Reference Version 3.0.  This
                documentation bug has been fixed in the latest reprint of the
                document.

        Once the .INP files are converted to the Version 3.0 format, forms must
        be regenerated by using GENERATE inp_filename username/password.

3.      When you use the CONVFORM utility to convert an INP file which you have
        been running under Version 2.0, Oracle Corporation recommends that you
        specify the -f switch in order to preserve the forms's functionality.
        The -f parameter inserts the NOFAIL key-word after #exemacro in all
        trigger steps.  For more information on the NOFAIL key-word, refer to
        the SQL*Forms Documentation Addendum Version 2.3.

        If you decide to take advantage of Version 3.0's success/failure logic,
        you should not specify the -f switch.  However, be advised that the
        resulting form's changed behavior might require you to perform
        additional modification and testing.

        Also, when converting directly from Version 2.0 to 3.0, you need to
        convert the CRT files in order for your forms to interpret box
        characters.  This is not the case when going from Version 2.3 to 3.0.
        If you do not have CRT installed when you run the CONVFORM utility from
        Version 2.0 to 3.0 you either need to copy the necessary CRT files into
        the SQLFORMS30 directory, or you need to reassign the logicals
        ora_crt30 and ora_crtdef30 to point to the location of the CRT files.

4.      For information on using Version 2 CRT files and key mappings with
        SQL*Forms 3.0, refer to the Key Mappings section below and the
        Oracle*Terminal Release Bulletin.

5.      To aid in your migration from SQL*Forms 2.3 to SQL*Forms 3.0, some of
        the symbols used to invoke SQL*Forms 2.3 have been retained for
        SQL*Forms 3.0.  These symbols are IAC, IAD, IAG, IAP, RUNFORM,
        SQLFORMS, CONVFORM, and GENERATE.  While this prevents users from
        having to learn new ways to invoke SQL*Forms 3.0, it can cause
        problems for Oracle products which require SQL*Forms 2.3.  These
        products include:

        CASE*Dictionary 4.1
        CASE*Generator for SQL*Forms 1.0
        CASE*Designer 1.1
        SQL*Menu 4.1
        Easy*SQL 2.3
        SQL*Plus 3.0
        SQL*TextRetrieval 1.1

        Before using any of these products, the user must type:

        @ORA_SQLFORMS:SQLFORMSUSER

        It might be convenient to have your system manager define this
        command as a symbol.

        After using this command and before using SQL*Forms 3.0 or
        SQL*Menu 5.0, the user must type:

        @ORA_SQLFORMS30:SQLFORMS30USER

        Alternatively, if you specify a "30" at the end of the above symbols
        (e.g. sqlforms30), they will run SQL*Forms 3.0, while a "23" will
        invoke SQL*Forms 2.3 (e.g. sqlforms23).

6.      In SQL*Forms Version 2.3, it was possible, though not recommended, to
        have a column defined as a CHAR in a database table and have the
        corresponding field defined as a NUMBER or a DATE within the SQL*Forms
        applications.  In most cases, this was done to perform some type of
        formatting for the field.

        SQL*Forms Version 3.0 processes NUMBER and DATE fields as true NUMBER
        and DATE datatypes - not character strings.  A form developed on
        Version 2.3 that used this convention will not behave the same in
        SQL*Forms 3.0.  For example, leading zeroes would be truncated on a Zip
        Code field that was defined as CHAR in the database and NUMBER in the
        form.  Format masks are an easier way to enforce changes in the display
        format of a field and to ensure that valid data gets entered.

        In previous versions of SQL*Forms, RMONEY fields would round fields
        when data retrieved had more than 2 decimal places.  In SQL*Forms 3.0,
        an error message is issued that informs the user that too many decimal
        places have been entered (bug fix 31586).  If rounding is desired, a
        format mask can be used to enforce rounding.  This should be done on a
        field defined with a NUMBER datatype - not RMONEY.


General Notes/Restrictions
==========================
1.      All Oracle*Terminal key mappings are stored in ORA_ROOT:[SQLFORMS30].
        Default mappings can be found in the ORATERM.R resource file, and
        should not be deleted nor moved from the [SQLFORMS30] directory.

2.      On VMS systems, when SQL*Forms 3.0 is installed, the CONVFORM and
        CONVFORM30 symbols are created to invoke the SQL*Forms convert utility.
        Note that the SQL*Forms Designer's Reference only refers to
        CONVFORM and not CONVFORM30.

3.      On page 23-4 of some versions of the SQL*Forms 3.0 Designer's
        Reference, in the section named 'INP to INP Conversion' the text and
        the example are wrong.  The example should read:

        CONVFORM -v23 OLD OLD [username/password]

        where:

                the first 'OLD' is the name of the INP file that you want to
                convert (without the .INP suffix) - not the name of the INP
                file you want to create.

                the second 'OLD' is the name of the old form that you want
                to convert, not the name of the new form you want to create.

        These documentation bugs have been fixed in the latest reprints of the
        documentation.

4.      When using SQL*Forms on the PC, a form is limited to 744 fields per
        form.  Also on the PC, all form text, V2 trigger text, trigger
        procedures, and compiled PL/SQL code is now unlimited.

5.      The DEMOBLD.COM file has been revised.  In Version 3.0.15 and above,
        when demobld.com is executed, it will inform the user that certain
        demo tables will be dropped and then asks if the user wants to proceed
        (as opposed to not informing the user and just dropping the demo
        tables).


PL/SQL Notes/Restrictions
=========================
1.        PL/SQL CHECKS
          ~~~~~~~~~~~~
          In the course of applications development using SQL*Forms
          and PL/SQL, infrequently an error message such as:

          PL/SQL Check 12345 -- Please inform your Oracle Representative

          may present itself at trigger/procedure-compilation time. In
          most cases these "Check" errors are the result of
          inadvertently using a PL/SQL object in an unexpected or
          unsupported manner, or even more often by an error in syntax
          which confuses the PL/SQL compiler. An example might be the
          (invalid) attempt to assign a value to a user-defined
          exception, or an (incorrect) attempt to RAISE a local PL/SQL
          variable. In nearly all cases, a systematic use of comments
          /* ... */  can quickly narrow down the problem to a
          particular statement in the PL/SQL block. This simpler case
          can then be examined more closely to see which syntactic or
          semantic error is causing the "Check" error.


2.        INTERNAL SQL*FORMS CONSTANTS
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~
          The arguments to many of the SQL*Forms packaged procedures and
          packaged functions occasionally cause confusion. One may
          wonder why sometimes values are enclosed in single quotes,
          while other values are simply given without quotes. An
          example of a packaged function that illustrates this point
          is:
                BLOCK_CHARACTERISTIC( 'blockname', FIRST_FIELD )

          Or consider the packaged procedure:

                EXIT_FORM( ASK_COMMIT , NO_ROLLBACK );

          These "special words" like ASK_COMMIT, NO_ROLLBACK, and
          FIRST_FIELD do not require quotes because they are actually
          PL/SQL numeric constants which are declared automatically by
          SQL*Forms at startup. Each one of these PL/SQL constants
          corresponds to a unique integer, whose *actual* numeric value
          is of no practical use to the Forms designer. With this in mind,
          it is easy to see how a Form-Level procedure could actually
          "receive" the value ASK_COMMIT in a *NUMBER* parameter. In
          fact some of the automatically-generated Master/Detail
          procedures DO use this technique. Currently there is no
          mechanism for designers to declare their own such numeric
          constants, so the internally declared ones are the only ones
          which exist in Forms 3.0.


3.        DEFAULT PARAMETER VALUES FOR PL/SQL PROCEDURES
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          When declaring a PL/SQL procedure, it is possible to assign
          default values to the formal parameters declared. The default
          value (either a constant or an expression) must, of course,
          correspond in datatype with the type declared for the formal
          parameter with which it is associated. For example, consider
          the procedure below:

             PROCEDURE fp_raise_sal ( pp_sal       IN OUT NUMBER,
                                      pp_percent_raise IN NUMBER)
             IS
             BEGIN
                pp_sal := pp_sal * ( pp_percent_raise / 100 );
             END;

          To raise the salary of the current employee in the EMP block
          by thirty (30) percent, we would then use the command:

             fp_raise_sal( :EMP.SAL , 30 );

          However, if ten (10) percent was the default raise, we could
          build this fact into the procedure itself by giving the
          PL/SQL parameter 'pp_percent_raise' a deafult value of ten
          (10). We use the intuitive syntax:

             PROCEDURE fp_raise_sal ( pp_sal       IN OUT NUMBER,
                                      pp_percent_raise IN NUMBER := 10 )
             IS ...                                              ~~~~~
                                               +--------+          /
                                             __  Default  ________/
                                                Value
                                               +--------+

          This allows us to call the 'FP_RAISE_SAL' procedure with
          either of the following two syntaxes:

             fp_raise_sal ( :EMP.SAL );       /* Trailing parameter    */
                                              /* which has a default   */

                                              /* may be omitted.       */

             fp_raise_sal ( :EMP.SAL , 20 );  /* Providing a value for */
                                              /* the 2nd parameter     */
                                              /* overrides the default */

          This technique could also be used to enhance existing
          procedures to accept additional parameters *without* having to
          alter any of the existing invocations of that procedure --
          provided each of the new parameters has a Default Value
          associated to it.


4.        RESTRICTIONS
          ~~~~~~~~~~~~
         (+) Default values for formal parameters are allowed
              exclusively for 'IN' parameters.

              Both 'OUT' and 'IN OUT' parameters must have a place to
              copy their value on the way "out" of the procedure, and
              hence cannot be omitted from the procedure's parameter list.

          (+) Only *TRAILING* parameters having default values may be
              omitted from the procedure call.

              For example, if a procedure is declared with two formal

              parameters having default values as follows:


              PROCEDURE fp_proc ( pp_one   IN CHAR,
                                  pp_two   IN CHAR := 'Hello',
                                  pp_three IN CHAR := 'World') IS ...

              Then we have the following behaviour when omitting one
              parameter.

                     fp_proc( 'FirstVal', 'SecondVal');
                                  |           |
                                  V           V
                     fp_proc(   pp_one  ,  pp_two   ,   pp_three   );
                                  |           |            |
                                  V           V            V
                             'FirstVal'  'SecondVal'   'World'


              and definitely NEVER :
                             ~~~~~

                   fp_proc( 'FirstVal', 'SecondVal');
                                  |               \_______
                                  V                       \
                   fp_proc(  pp_one  ,  pp_two   ,   pp_three );
                                  |           |            |
                                  V           V            V
                              'FirstVal'   'Hello'      'SecondVal'

              In short, in this example, to specify a value for the
              third parameter, you *MUST* also supply a value for the
              second parameter.


5.        DECLARING AND USING PL/SQL FUNCTIONS
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          In addition to (Form-Level) procedures, SQL*Forms also
         supports the use of PL/SQL functions. Any designer who has
          used both the built-in packaged procedures and packaged
          functions will understand the simple differences between
          the two. Below we compare the two:

             Procedure                       Function
             -------------------------       --------------------------
          (+) Defined in the SQL*Forms    (+) Defined in the SQL*Forms
              'Procedure Definition'          'Procedure Definition'
              Screen                          Screen

          (+) May be referenced or        (+) May be referenced or
              copied from "library"           copied from "library"
              form                            form, as if it were a
                                              procedure

          (+) Is a Named PL/SQL Block     (+) Is a named PL/SQL Block
              which performs a task           which represents an expression
              when invoked                    of an explicit datatype
                                              when evaluated

          (+) May accept parameters       (+) May accept parameters

          (+) Has no return value, but    (+) MUST return one value, and
              May pass back results           May pass back results
              in OUT parameters               in OUT parameters

          (+) May have default values     (+) May have default values
              for formal parameters           for formal parameters

          (+) Allows trailing params      (+) Allows trailing params
              possessing deault values        possessing default values
              to be omitted when              to be omitted when
              invoking                        evaluating

          (+) For exception handling,     (+) For exception handling,
              Behaves like embedded           Behaves like embedded
              PL/SQL block when invoked       PL/SQL block when evaluated


          The syntax for declaring a PL/SQL function parallels that of
          a Procedure, with the addition of the  'RETURN datatype'
          clause which identifies the type of value which the function
          returns:
          --------------------------------------------------------------
          FUNCTION function_name ( parameter_name mode [:= value], ... )
                                                  ~~~~     ~~~~~

            RETURN datatype
                   ~~~~~~~~
           IS

         BEGIN
            :
            RETURN( expression );
            :       ~~~~~~~~~~
          EXCEPTION
            :
            RETURN( expression );
            :       ~~~~~~~~~~
          END;
          --------------------------------------------------------------

              MODE: Is one of IN, OUT, or IN OUT.
              ~~~~

             VALUE: Optional constant or expression of the same
             ~~~~~  datatype as the associated parameter to specify
                    a default value for the formal parameter. An
                    explicit value passed-in at evaluation time
                    overrides the default value.
          DATATYPE: Any of the datatypes that are supported for PL/SQL
           ~~~~~~~~  formal parameters are supported for the RETURN
                    value of a PL/SQL function. These include DATE,
                    NUMBER, CHAR, and BOOLEAN. Recall that LONG is not
                    a supported datatype of either parameters or return
                    values.

        EXPRESSION: A constant or expression of the same datatype as
        ~~~~~~~~~~  declared in the Function Specification's
                    'RETURN datatype' clause. It is an *ERROR* if a
                    PL/SQL function does *NOT* return a value on exit.

          The PL/SQL instruction 'RETURN( expr )' returns the given
          expression as the value of the function and exits with success.


          Since a function represents an expression of a given
          datatype, it may be used in precisely the same way that a
          constant or local variable of the same datatype would be
          used.

          One notable exception to this rule is the use of PL/SQL
          functions in DML statements. Only constants or local
          variables may be used in the role of 'bind variables' in DML
          statements. A function value can always be assigned to a
          local variable of appropriate datatype, and this local
          variable used in the DML statement, to accomplish the same
          result.

          An example of a function, FF_DEPT_SIZE, which returns the
          total number of employees in a given department follows:

          +--------------------------------------------------------
          | Procedure Name:  FF_DEPT_SIZE
          +--------------------------------------------------------
          |               ---- Procedure Text ----
          |
          |  /* FF_DEPT_SIZE
          |  ** ~~~~~~~~~~~~~
          |  ** Returns the number of employees in
          |  ** the department whose number is passed in as
          |  ** a parameter.
          |  */
          |  FUNCTION ff_dept_size ( pp_deptno IN NUMBER )
          |
          |    RETURN NUMBER              /* Funct. Return Type  */
          |
          |  IS
          |     lv_temp_count NUMBER;     /* Declaration Section */
          |
          |  BEGIN
          |        SELECT COUNT(*)
          |          INTO lv_temp_count
          |          FROM EMP
          |         WHERE DEPTNO = pp_deptno;
          |     RETURN ( lv_temp_count ); /* Return Function Val */
          |
          |  EXCEPTION
          |     WHEN OTHERS THEN
          |        RETURN ( -1 );         /* Return minus one    */
          |  END;                         /* if problems arise   */
          +--------------------------------------------------------


          Then, a trigger could use this function in the following way:

          +--------------------------------------------------------
          | Trigger Name:  ON-VALIDATE-FIELD
          +--------------------------------------------------------
          |  /*
          |  ** If the Total Number of Employees in
          |  ** the current department exceeds 100,
          |  ** then disallow this entry
          |  */
          |  IF ( ff_dept_size(:DEPT.DEPTNO) > 100 ) THEN
          |       ------------
          |     MESSAGE('WOW! Current Department is too big now...');
          |     RAISE FORM_TRIGGER_FAILURE;
          |  ELSE
          |     :CONTROL.TOTAL_EMPS := ff_dept_size( :DEPT.DEPTNO );
          |  END IF;
          +--------------------------------------------------------

          While the above trigger is not the most efficient way of
          accomplishing the goal -- i.e. we call the function twice
          when we could have coded it such that we only used the
          function once -- it does demonstrate that functions can be
          used in IF...THEN and assignment statements.

          NOTE: Anything that can be done with a Function, can also be
                done with a Procedure which includes an OUT parameter
                to return the desired value. Anything that can be done
                with a Procedure, can also be performed with a Function
                whose RETURN value reports the status of the  task
                performed. So, while the syntax of a Procedure and a
                Function differs slightly, a particular task can be
                done via a PL/SQL Procedure or Function based on the
                syntax which the designer deems most convenient.


6.        PLANNING AHEAD FOR BUILT-IN PROCEDURES (FORMS 4.0 AND HIGHER)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          SQL*Forms 4.0 will introduce a number of new packaged
          procedures, or "built-ins", that will enhance the current set
          of functionality available to the Forms Designer. Future versions
          of SQL*Forms (4.0 and higher) will all use these built-ins.
          When these new procedures (and functions) are introduced in
          the software, these new names will become reserved words and
          would conflict with any Form-Level procedures with the same
          names in your application. To plan ahead, we have provided a
          tentative list of "built-in" procedure names which should not
          be used for names of Form-Level Procedures and Functions of
          your own creation. Any conflicts that you identify can be
          changed now to avoid problems later. Adopting a naming
          convention for your procedures and functions in your
          applications like:

             FP_PROCNAME      for Forms Procedure
             FF_FUNCTNAME     for Forms Function
             PP_PARMNAME      for PL/SQL Parameter

          can insure that your future development will not encounter
          any naming conflicts as SQL*Forms is enhanced.

                The tentative list for 4.0 includes:
                ------------------------------------
                Add_Association_List_Pair
                Add_Group_Column
                Add_Group_Row
                Cancel_Dialog
                Change_Alert_Message
                Clear_Message_Line
                Close_Query
                Convert_Other_Value
                Create_Association_List
                Create_Group
                Create_Group_From_Query
                Create_Queried_Record
                Delete_Association_List
                Delete_Group
                Delete_Group_Row
                Delete_Group_Rows
                Delete_Timer
                Disable_Item
                Fetch_Record
                Find_Alert
                Find_BColumn
                Find_CColumn
                Find_DColumn
                Find_Editor
                Find_Group
                Find_LOV
                Find_NColumn
                Find_Window
                Get_Editor_Value
                Get_Group_Cell
                Get_Group_Row
                Get_Group_Row_Count
                Get_Group_Select_Count
                Get_Group_Selection
                Get_LOV_Selection
                Get_Menu_Item
                Get_Menu_Radio_Group
                Group_Rows_Fetched
                Hide_Window
                Image_Add
                Image_And
                Image_Or
                Image_Subtract
                Image_UnZoom
                Image_Xor
                Image_Zoom
                Insert_Record
                Logon
                Logon_Screen
                Logout
                Move_Window
                OracleGraphics_Available
                Populate_Group
                Read_Image_Database
                Read_Image_File
                Read_Sound_Database
                Read_Sound_File
                Replace_Content
                Repopulate_Group_With_Query
                Reset_Group_Selection
                Resize_Window
                Run_OracleGraphics
                Run_SQLReportWriter
                Scroll_Canvas
                Select_Records
                Set_Block
                Set_Form
                Set_Group_Cell
                Set_Group_Selection
                Set_Group_Row
                Set_Menu_Item
                Set_Timer
                Set_Record_Status
                Set_Window_Content
                Show_Alert
                Show_Dialog
                Show_Editor
                Show_LOV
                Show_Window
                SQLReportWriter_Available
                Update_Record
                Write_Image_Database
                Write_Image_File
                Write_Sound_Database
                Write_Sound_File

                Built-ins planned for 5.0:
                --------------------------
                Add_Button
                Add_Checkbox
                Add_Edit_Item
                Add_Image
                Add_Radio_Group
                Add_Radio_Item
                Add_Rectangle
                Add_Sound
                Add_Text
                Add_Text_List
                Create_Alert
                Create_Editor
                Create_LOV
                Create_Window
                Delete_Alert
                Delete_LOV_Selection
                Delete_Editor
                Delete_Window
                Pecs_Event
                Pecs_Facility
004 SYBASE V4.2 25×TD
README.TXT [展开]
                                       POWERSOFT POWERBUILDER [TM]

               (C) Copyright 1991-1993 Powersoft Corporation.  All rights reserved.
                                                            Version 3.0


                                                  (Use scroll bar to review)



  BEFORE INSTALLING POWERBUILDER

  1.  IMPORTANT:  If Microsoft Windows is installed in a write-protected network 
       directory, a person with write privileges to the Windows directory must install 
       this product.

  2.  Review the Product Release Notes, if any, for special instructions pertaining to
       the installation of this product.

  3.  Be sure that no Powersoft products or the Watcom SQL engine are running.


  TO INSTALL POWERBUILDER

  1.  Insert the diskette labeled "Disk 1 of 5" into the floppy drive of your computer.

  2.  Run the SETUP program on the diskette.  You can do this in one of three ways.
       (This example uses Drive A, however, your floppy drive may be a different letter.)

           *  From the DOS prompt, type:  WIN A:\SETUP
           *  From Windows Program Manager, choose File/Run and type:  A:\SETUP
           *  From Windows File Manager, double-click on the SETUP.EXE file on Drive A.

  3.  Below is a brief description of what is installed when you make your selections:

           *  PowerBuilder Enterprise Edition:  Includes all files necessary to run the
               Powersoft PowerBuilder development environment.  When installing this
               selection, the PowerBuilder ODBC Database driver and initialization file,
               PBODB030.DLL and PBODB030.INI, are installed in the PowerBuilder
               directory.
           *  Sample Application:  Files that provide a collection of examples which 
               demonstrate PowerBuilder features.  Although this is optional, we
               recommend that you install it.
           *  PowerBuilder Sample Database:  Installs the PowerBuilder Demo Database
               and Database Log files.  This is a prerequisite when installing the Sample
               Application.
           *  WATCOM SQL:  Installs files to run WATCOM SQL in the PowerBuilder
               environment.  This option is required when installing the Sample
               Application.
           *  Open Database Connectivity Drivers:  Based on your selections, the
               appropriate vendor ODBC drivers are installed in your Windows system
               subdirectory (for example, c:\windows\system).

  4.  The installation procedure will prompt you:

           *  When the procedure needs the next diskette or more information, or when
               it requires a decision to change or replace files.  Respond to the prompts
               and select options as appropriate.

           *  When the procedure finds existing Powersoft initialization (*.INI) files in
               the target directory or newer versions of ODBC drivers in your Windows
               system subdirectory, such as ODBC.DLL and ODBCINST.DLL.  If you are
               unsure as to how to proceed, we suggest that you consult your system
               administrator for direction.
   
           *  When the procedure is ready to update your AUTOEXEC.BAT file.  You can
               choose to let the installation procedure change the existing file, create a
               new file for you, or proceed without making any file changes.

           *  When the procedure is ready to add the PowerBuilder and WATCOM
               program items to a Program Manager group.  You can choose to let the
               installation procedure create the Program Group and add the Program
               Items.  To familiarize yourself with the Program Items, we strongly
               recommend that you allow this installation procedure to create the
               Program Group, and delete any unnecessary Program Items afterwards.

  5.  Exit to DOS and verify that the Powersoft directory(s) is included in your DOS
       PATH command.  This will happen automatically if you let the installation
       procedure update your AUTOEXEC.BAT file in the previous step.

  6.  Re-boot your PC and start Windows.


  FOR FURTHER INFORMATION

  1.  Powersoft offers an electronic Bulletin Board Service to all users of Powersoft
       Enterprise Series products. This BBS enables you to upload PowerBuilder
       libraries for review by the technical support team.  It also enables you to
       download fixes, code samples, documentation, the latest training course
       schedules, and PowerNotes (a series of technical writeups).  You can access
       the BBS 24 hours a day, 7 days a week, without a fee.

           *  Powersoft BBS phone number:  (617) 229-9735
           *  Connect information:  8 DataBits, No Parity, 1 Stop Bit, and
                                                  speeds of up to 9600 BPS are supported.

  2.  Powersoft FaxBack provides information in the form of code samples, tips,
       techniques, and other documentation sent to your fax machine.  You can use
       FaxBack 24 hours a day, 7 days a week, without a fee.

           *  Powersoft FaxBack phone number:  (617) 238-6800

  3.  If you are a CompuServe subscriber, you can use the Powersoft forum, which
       is dedicated to answering questions about products, services, and technical
       issues.  To access this forum on CompuServe, type:  GO POWERSOFT

  4.  For availability of additional ODBC drivers, check the Powersoft Bulletin Board
       Service or CompuServe.

  5.  For technical support when installing PowerBuilder, call (617) 238-1212 from
       9 a.m. to 8 p.m. Eastern time, Monday-Friday.

  6.  To receive ongoing Telephone Support, call (800) 395-3525 for information.


                                   (C) Copyright 1991-1993 Powersoft Corporation

  Powersoft Corporation ("Powersoft") claims copyright in this Program and
  documentation as an unpublished work, versions of which were first licensed on the
  date indicated in the foregoing notice.  Claim of copyright does not imply waiver of
  Powersoft's other rights.  See Notice of Proprietary Rights.


                                            NOTICE OF PROPRIETARY RIGHTS

  This program and documentation are confidential trade secrets and the property of
  Powersoft.  Use, examination, reproduction, copying, disassembly, decompilation,
  transfer and/or disclosure to others are strictly prohibited except by express
  written agreement with Powersoft.
005 Microsoft Access V1.10 7×TD
README.TXT [展开]
	  ----------------------------------------
	  Microsoft Access Version 1.1 README File
                       May 1993
	  ----------------------------------------

	  (C) Copyright Microsoft Corporation, 1993


This document provides complementary or late-breaking
information as a supplement to the standard Microsoft
Access documentation.


------------------------
How to Use This Document
------------------------

To view README on screen in Windows Notepad, maximize
the Notepad window.

To print README, open it in Windows Write, Microsoft
Word, or another word processor. Then select the entire
document and format the text in 10-point Courier before
printing.


--------
Contents
--------

Microsoft Access Q&A
Using Microsoft Access with Microsoft LAN Manager
Using Microsoft Access with Microsoft Windows for Workgroups
Additional Information on Setting Up Microsoft Access
  on a Network Server
Version 1.1 Setup and Custom Tool Bars and AccessWizards
Running Multiple Data Access Applications
Using SQL Server Data Installed on a Novell NetWare LAN
  or a Banyan Network
Using Microsoft Access to Import, Attach, or Export to 
   Microsoft FoxPro Version 2.5 Files
Setting ODBC Options in the MSACCESS.INI File
Installing the ODBC Stored Procedures (INSTCAT.SQL)
Asynchronous Query Execution and ODBC Drivers
ORACLE Server and Null Indexes
Using Microsoft Access on Novell NetWare Servers and 
   Banyan VINES Servers (Increasing the Number of 
   Record Locks)
Setting Up Microsoft Access with a Microsoft License Pak
Enhancing Performance
Installing International Versions of Cue Cards
Using Sample Applications
Analyzing Database Structure
Solving Problems Printing Forms and Reports
Updated SQL Pass Through DLL and Data Definition Language DLL
Available Disk Space
Using DECOMP.EXE to Decompress Microsoft Access Files
Outdated Version 1.0 Files
Microsoft Access Files

IMPORTANT: The errata and omissions in Microsoft Access 
documentation are contained in ERRATA.TXT in the Microsoft 
Access program directory.


--------------------
Microsoft Access Q&A
--------------------

The Microsoft Access Help file includes answers for the most 
frequently asked questions about Microsoft Access. To view 
these, click Product Support in the Microsoft Access Help 
Table of Contents, and then click Common Questions and Answers 
in the Microsoft Access Product Support topic.

-------------------------------------------------
Using Microsoft Access with Microsoft LAN Manager
-------------------------------------------------

The following problem may occur when using products based 
on Microsoft LAN Manager versions prior to 2.2 on your
MS-DOS or PC-DOS workstation.

Using Microsoft Access on an MS-DOS or PC-DOS workstation 
running a product based on versions of Microsoft LAN Manager 
prior to version 2.2 can irreparably corrupt a database file. 
Database corruption is most likely to occur when a user 
workstation operates faster than the file server storing 
the database file. (Note that the CPU speed alone does not 
determine the operation speed of the server. Heavy network 
traffic can make the server operate more slowly than a user 
workstation(s).)

Products that may be affected include:
  
  DEC Pathworks for DOS version 4.1 
  Microsoft LAN Manager prior to version 2.2
  NCR StarGroup LAN Manager version 3.6
  Olivetti Olinet LAN Manager version 2.1
  Ungermann-Bass LAN Manager version 2.1

See your network administrator to find out if the information
in this section applies to your network software.

To prevent data corruption when using the enhanced version
of Microsoft LAN Manager version 2.1 or 2.1a, your network 
administrator should install the Hotfix that is included 
on the ODBC disk.

To determine your version of Microsoft LAN Manager:

> Type net ver at the command prompt to determine which
  version of LAN Manager is installed on the user workstation.
  You will see information such as the following:

  C:\>NET VER
  Microsoft LAN Manager Version 2.1.0
  DOS Enhanced Workstation
  Created at 11-15-91 07:27am

Proceed to the procedure, "To install the Hotfix on each 
user workstation," only if the command reports you are 
using Microsoft LAN Manager version 2.1 or 2.1a.

If the command does not report which version of Microsoft
LAN Manager you are using, you are using a version earlier
than 2.1. You need to upgrade the workstation to Microsoft LAN 
Manager version 2.2 or follow the procedure, "To adapt a 
workstation using a version of Microsoft LAN Manager prior to 
2.1," at the end of this section.

IMPORTANT: If you are using network software based on Microsoft 
LAN Manager and aren't sure which version of Microsoft LAN 
Manager it corresponds to, do not install the Hotfix. Instead,
follow the procedure, "To adapt a workstation using a version 
of Microsoft LAN Manager prior to 2.1." You can install the 
Hotfix later if it's determined you need it.

To install the Hotfix on each user workstation:

1 Type ver at the command prompt to determine which
  version of MS-DOS is installed on the user workstation.

2 Insert the ODBC disk in drive A.

3 Copy the appropriate NETWKSTA file on the ODBC Setup disk 
  to the LAN Manager NETPROG directory and rename the file 
  NETWKSTA.EXE. You should use the NETWKSTA.500 file for both 
  MS-DOS version 5.0 and MS-DOS version 6.0. For example, if 
  LAN Manager is currently installed in the LANMAN.DOS 
  directory on drive C, and you are using MS-DOS version 
  5.0, type:

  copy a:netwksta.500 c:\lanman.dos\netprog\netwksta.exe

  If you are using MS-DOS version 3.3 or 4.0, you must contact
  Microsoft Product Support Services to request the appropriate
  NETWKSTA file. In the United States, call Microsoft LAN Manager
  Product Support Services at (206) 635-7020.

4 Reboot the user workstation.

To adapt a workstation using a version of Microsoft LAN Manager 
earlier than 2.1:

> To prevent database corruption when using versions of Microsoft 
  LAN Manager earlier than version 2.1, turn write-behind off by 
  adding or modifying the following line in the [workstation] 
  section of your LANMAN.INI file:

  [workstation]
    wrkheuristics=X0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

NOTE: The Xs are placeholders for values in the range of 0-2. 
In all, there should be 33 values in this entry, and the second 
value must be 0 (zero). See your Microsoft LAN Manager 
Administrator's Reference for details.

IMPORTANT: If this line already exists in your LANMAN.INI file, 
change only the second value to 0 (zero).

Note that adding this line may slightly decrease the 
performance of your system.

You can also resolve this problem by upgrading to LAN Manager
version 2.2 or later. For details, please contact your network
vendor or Microsoft Product Support at the numbers listed in your 
Microsoft Access User's Guide or in Microsoft Access Help. (From 
the Help menu, choose Contents, and then click Product Support.)


------------------------------------------------------------
Using Microsoft Access with Microsoft Windows for Workgroups
------------------------------------------------------------

IMPORTANT:  Read this topic before you use Microsoft Access 
with Microsoft Windows for Workgroups.

While running Microsoft Windows for Workgroups, if you use the 
Network button in Microsoft Access dialog boxes to connect 
to a password-protected server, you may lose data. To avoid 
damaging your database, you must install the updated Microsoft 
Windows for Workgroups driver included with Microsoft Access. 
Until you have installed this driver, do not use the Network
button in Microsoft Access dialog boxes to make network 
connections. 

NOTE: If you are considering installing Windows for Workgroups 
at a later date, install the updated driver now.

To install the updated Windows for Workgroups driver:

1 Exit Microsoft Windows or Windows For Workgroups.  

  This driver cannot be installed while you are running 
  Microsoft Windows.

2 Insert the ODBC disk in drive A.

3 Type a: and then press the Enter key to switch to drive A.

4 Type wfwdrv if Windows is installed on your PC and is in the
  PATH statement in your AUTOEXEC.BAT file. Otherwise, do one of 
  the following: 

  * If Windows is installed on your PC but is not in the
    PATH statement in AUTOEXEC.BAT, type the path where 
    Windows is installed. For example, type: 
  
      wfwdrv c:\windows.

  * If Windows is installed on the network, specify the system 
    directory where USER.EXE is found. For example, to install 
    the driver in the Q:\SYSTEM directory, type: 

      wfwdrv q:\system 

  The Windows for Workgroups driver is installed.

5 Type win to restart Windows.

If you have any questions about this driver, please contact 
Microsoft Product Support Services for Windows for Workgroups.

-----------------------------------------------------
Additional Information on Setting Up Microsoft Access
on a Network Server
-----------------------------------------------------

To set up Microsoft Access on a network server, you must run
Setup /a from floppy disks. Do not copy the files to a hard
disk and run Setup /a from there. Unless you run Setup /a
from floppy disks, Microsoft Access won't be properly
configured on the network server, and users won't be able to
set up their workstations from the server using Setup /n.

If you received Microsoft Access on a compact disc and want
to set it up on a network server, you must copy the disk
images to floppy disks and run Setup /a from the floppy disks.
If you're setting up Microsoft Access on a local machine, you 
can run Setup directly from the compact disc.


--------------------------------------------------------
Version 1.1 Setup and Custom Tool Bars and AccessWizards
--------------------------------------------------------

Microsoft Access version 1.1 includes updated UTILITY.MDA 
and WIZARD.MDA files. If you have modified either of these 
library databases -- by creating custom tool bars or adding 
custom AccessWizards, for example -- you should make backup 
copies of these files before installing Microsoft Access 
version 1.1. Then modify the version 1.1 copies of the files 
to include your changes.


-----------------------------------------
Running Multiple Data Access Applications
-----------------------------------------

Microsoft Access, Microsoft Access custom applications, 
Microsoft Visual Basic version 3.0, and Visual Basic custom 
applications all use the same database engine to perform 
their database-related operations. If one or more of these 
are running simultaneously, you must be sure that all 
sections and entries from the initialization (.INI) file 
that are used for data manipulation (the entries in the 
[Installable ISAMs], [Paradox ISAM], and [dBASE ISAM] 
sections) are included in the initialization file for each 
application. This ensures that you can use data in other 
formats or applications, such as FoxPro, dBASE, or Paradox.

If two or more applications that use the database engine 
are running simultaneously, the engine is initialized to
the .INI file settings of the application that was 
started first. 

If the entries in the three data manipulation sections are 
not included in the .INI file of the first application that 
starts the database engine, then no application that uses 
the engine will be able to use FoxPro, dBASE, or Paradox 
data while the first application is running.

For example, when you start Microsoft Access, it initializes 
the database engine according to the settings in the 
MSACCESS.INI file. If you then start Visual Basic version 3.0 
while Microsoft Access is still running, the database engine 
will use the MSACCESS.INI file settings rather than the 
settings in the Visual Basic initialization file.

The list below shows where each application looks for its 
initialization information: 

Application                     .INI file
-----------                     ---------
Microsoft Access                MSACCESS.INI
Microsoft Access application    <APPNAME>.INI
Visual Basic at design time     VB.INI
Visual Basic at run time        VB.INI
Visual Basic .EXE application   <APPNAME>.INI


-------------------------------------------------------
Using SQL Server Data Installed on a Novell NetWare LAN
  or a Banyan Network
-------------------------------------------------------

If you use Microsoft Access on a workstation running under 
Microsoft Windows for Workgroups and want to access SQL 
Server data installed on a Novell NetWare LAN or a Banyan
network, you must use the SQL Server Network Integration Kit
(NIK). For details, see your Network Integration Kit and
SQL Server documentation. If you still have questions,
contact Microsoft Product Support at one of the numbers 
listed in the Microsoft Access User's Guide or in Microsoft
Access Help. (From the Help menu, choose Contents, and then
click Product Support.)


------------------------------------------------------
Using Microsoft Access to Import, Attach, or Export to 
   Microsoft FoxPro Version 2.5 Files
------------------------------------------------------

FoxPro version 2.5 doesn't distinguish between tables 
created with the MS-DOS version and those created with the 
Microsoft Windows version. Data in tables created with FoxPro 
version 2.5 for MS-DOS is stored in OEM format. Data in tables 
created with FoxPro version 2.5 for Windows is stored in ANSI 
format. Microsoft Access converts all FoxPro version 2.5 data 
from an OEM code page to the ANSI 1252 code page when importing 
or attaching FoxPro 2.5 data, and it converts the ANSI code 
page to an OEM code page when exporting to FoxPro 2.5 tables. 
The result is that extended characters in tables created with 
FoxPro version 2.5 for Windows aren't converted properly.

If your FoxPro version 2.5 tables contain extended characters, 
you should be certain that the tables are stored in OEM format 
(that is, created by FoxPro version 2.5 for MS-DOS). FoxPro 
version 2.5a will be able to identify the code page format of 
the data, enabling Microsoft Access to correctly determine how 
to convert extended characters. For information on FoxPro version
2.5a, please contact Microsoft End-User Sales at (800) 426-9400.


---------------------------------------------
Setting ODBC Options in the MSACCESS.INI File
---------------------------------------------

The following table lists all the valid entries applying 
to ODBC that can appear in the Microsoft Access initialization 
file, MSACCESS.INI. They appear in the [Debug] and [ODBC] 
sections.

Entry               Value   Effect
-------             -----   ------
Section: [Debug]
RmtTrace             0      Use asynchronous query execution 
                            if possible; no ODBC API tracing 
                            (default).
                     8      Trace ODBC API calls in ODBCAPI.TXT 
                            in the Microsoft Access directory.
                    16      Force synchronous query execution.
                    24      Trace ODBC API calls; force 
                            asynchronous query execution.
Section: [ODBC]
TraceSQLMode         0      No tracing of SQL queries (default).
                     1      Trace SQL queries sent to ODBC in 
                            SQLOUT.TXT in the Microsoft Access 
                            directory.
QueryTimeout         S      Wait S seconds for queries sent to 
                            ODBC, and then stop trying to process 
                            the query results (for asynchronous 
                            queries only). (Default: 60 seconds).
LoginTimeout         S      Wait S seconds for ODBC login response, 
                            and then stop trying to connect to a
                            server. (Default: 20 seconds).
ConnectionTimeout    S      Wait S seconds, and then close idle 
                            ODBC connections. (Default: 600 
                            seconds).
AsyncRetryInterval   M      Retry asynchronous queries every M 
                            milliseconds. (Default: 500 
                            milliseconds).
AttachCaseSensitive  0      Attach the first table whose name 
                            matches the specified string, 
                            regardless of case.
                     1      Attach a table only if its name 
                            exactly matches the specified string.
AttachableObjects  string   A list of object types you can attach. 
                            (Default: 'TABLE','VIEW','SYSTEM TABLE',
                            'ALIAS', 'SYNONYM'.)
SnapshotOnly         0      Get index information when tables are 
                            attached so that dynasets are allowed 
                            (default).
                     1      Ignore index information when tables 
                            are attached so that only snapshots 
                            are allowed.


---------------------------------------------------
Installing the ODBC Stored Procedures (INSTCAT.SQL)
---------------------------------------------------

Microsoft Access version 1.1 contains a new version of the 
ODBC stored procedures (found in the INSTCAT.SQL file), 
which must be installed on a SQL Server before you can 
access data from that server. However, the INSTCAT.SQL file 
that comes with version 1.1 can't be used with version 1.0 of 
Microsoft Access. If you have Microsoft Access version 1.0 and 
attempt to attach a table from a database on a SQL Server where 
version 1.1 of the ODBC stored procedures have been installed, 
you will see this error message:

   "'<ownername>.<tablename>' isn't a valid name."

To fix this problem, you should update all of the computers 
on your network to version 1.1 of Microsoft Access and 
install version 1.1 of INSTCAT.SQL on your SQL Servers.

If you have Sybase SQL Server databases, you MUST upgrade 
all users to Microsoft Access 1.1 and use the version 1.1 
INSTCAT.SQL, which contains fixes that are required for 
Sybase SQL Server databases. If you have Microsoft SQL 
Server databases and have a mixture of Microsoft Access 1.0 
and 1.1 installations, you can use the version 1.0 
INSTCAT.SQL until all users are upgraded to Microsoft Access
version 1.1.

The version 1.1 INSTCAT.SQL file is also included with 
Microsoft Visual Basic version 3.0. If you are using this 
version of Visual Basic and want to access SQL Server 
databases from both Visual Basic and Microsoft Access, you 
should either update all of your users to Microsoft Access 
version 1.1 or use the version 1.0 INSTCAT.SQL instead of 
the version supplied with Visual Basic. Visual Basic version
3.0 will work correctly with the version 1.0 INSTCAT.SQL,
except that it will be unable to delete indexes from tables.


---------------------------------------------
Asynchronous Query Execution and ODBC Drivers
---------------------------------------------

When executing queries against Open Database Connectivity 
(ODBC) data sources, Microsoft Access will attempt, if 
supported by the ODBC driver, to execute the query 
asynchronously. The client-server network libraries 
supported by some ODBC drivers may experience difficulties 
while executing queries asynchronously. If you encounter 
problems with query execution, you can disable asynchronous 
execution by adding the following entry to the [Debug] 
section of your MSACCESS.INI file:
   RmtTrace=16


------------------------------
ORACLE Server and Null Indexes
------------------------------

Some databases, such as ORACLE Server databases, allow 
multiple Null primary keys in an index, although the index 
is still considered unique.  Microsoft Access can't modify 
records that have multiple occurrences of the same unique 
(Null) value, although it can modify other records in the 
table.

If you want to modify records in such a database, make sure 
that each record has a unique primary key and that no more 
than one of these is Null.


------------------------------------------------------------
Using Microsoft Access on Novell NetWare Servers and Banyan 
   VINES Servers (Increasing the Number of Record Locks)
------------------------------------------------------------

On Novell NetWare Servers:

If you are attempting to use large Microsoft Access 
databases on a Novell NetWare server, set the "maximum 
record locks per connection" to the largest allowable 
value (10,000). The execution of large bulk operations 
in Microsoft Access (such as a large update query) can 
cause the server to run out of record lock connections. 
If you don't set the number of record locks to the maximum 
value while using Microsoft Access, it could result in 
the loss of data due to a server crash.

See your Novell NetWare documentation for a description of 
how to set the number of record locks.

On Banyan VINES Servers:

If you are attempting to use large Microsoft Access 
databases on a Banyan VINES server, you may exceed the 
number of record locks allowed. (Note that the number of 
record locks is not user-definable for Banyan VINES
servers.)

Banyan VINES version 4.11 allows a maximum of 500 record 
locks. It is conceivable that a large Microsoft Access bulk 
operation would require that many record locks. Banyan VINES
version 5.00 allows only 100 record locks, which would 
severely limit Microsoft Access use. Banyan VINES version 
5.5 allows at least 10,000 record locks.


--------------------------------------------------------
Setting Up Microsoft Access with a Microsoft License Pak
--------------------------------------------------------

The first time you install Microsoft Access using the
Microsoft License Pak, Setup stores the company name but 
not the user name. Setup customizes the user name for each
installation. 

To install Microsoft Access using the Microsoft License 
Pak:

1 In the Windows Program Manager, choose Run from the File 
  menu. 
2 In the Command Line box, type <path> setup /l where 
  <path> is the directory in which the Microsoft Access 
  program files are stored. (Note that l is the letter l, 
  not the number one).
  For example, if your Microsoft Access files are on 
  drive C in a directory called ACCESS, you'd type 
  c:\access\setup /l in this box.

---------------------
Enhancing Performance
---------------------

For information on increasing the buffer space, read the 
PERFORM.TXT file in your Microsoft Access directory. This 
file also  desribes other ways of tuning Microsoft Access 
to get the best performance.


----------------------------------------------
Installing International Versions of Cue Cards
----------------------------------------------

You will not be able to use Cue Cards if you install it 
in a directory whose name contains a ligature, such as the 
characters ▀ and µ. To resolve this problem, delete all the 
Microsoft Access files and remove the directory. Then rerun 
Microsoft Access Setup.


-------------------------
Using Sample Applications
-------------------------

In addition to the Northwind Traders database (NWIND.MDB), 
which is used in examples throughout the Microsoft Access 
documentation, you can install two sample applications:
Personal Information Manager (PIM.MDB) and Order Entry 
(ORDENTRY.MDB). These are just two examples of the types 
of applications you can create with Microsoft Access. You 
can use them as a learning tool for creating your own 
applications -- and perhaps in your daily work and business
as well.

If you chose the Complete Installation option when you 
installed Microsoft Access, the Setup program installed the 
sample application files. If you made a different choice or 
if you have removed the files, you can install them by running 
Setup again, choosing Custom Installation, and selecting 
Sample files. Setup installs the files in the program 
directory.

General information and instructions on using each 
application are available online for the Personal Information 
Manager and Order Entry applications. To use this information, 
start Microsoft Access and open the database file for the 
application. Then press F1 or choose Contents from the Help 
menu.  

NOTE: The Personal Information Manager and Order Entry 
applications are designed to be run on a VGA or SVGA monitor 
only.


----------------------------
Analyzing Database Structure
----------------------------

When you develop a new database or modify an existing one, you'll 
probably want detailed information about its structure. Microsoft 
Product Support Services provides an informal diagnostic tool for 
this purpose called the Database Analyzer. Using this tool, you 
can display or print tables listing the structural features of 
many of the objects in a database. For information on installing 
and using the Database Analyzer, read the ANALYZER.TXT file found
in your Microsoft Access program directory.


-------------------------------------------
Solving Problems Printing Forms and Reports
-------------------------------------------

Microsoft Access forms or reports, because of a driver problem, 
may not print correctly on an HP LaserJet IIISi printer using 
non-TrueType fonts. For best results, use TrueType fonts with 
this printer.


------------------------------------------------
Updated SQL Pass Through DLL and Data Definition 
Language DLL
------------------------------------------------

The SQL Pass Through DLL and Data Definition Language DLL 
have been updated for Microsoft Access version 1.1. If you
are currently using version 1.0 of either of these DLLs 
(SPT.DLL or MSADDL10.DLL), you must upgrade to the version 
1.1 DLLs (MSASP110.DLL and MSADDL11.DLL). You can download 
the version 1.1 DLLs from the MSACCESS forum on CompuServe. 
Support for these DLLs is provided on CompuServe only.

--------------------
Available Disk Space
--------------------

The DBLSPACE utility supplied with MS-DOS version 6.0 
(as well as other similar disk compression utilities) 
enables you to set a compression ratio, which affects 
the amount of disk space that commands like the MS-DOS 
command DIR report as available. For example, if you 
have 5 megabytes of actual disk space, but you've set 
the compression ratio to 20:1, DIR will report that you 
have 100 MB of free space. You can use the compression 
ratio to approximate the amount of room you have for 
compressed files on your hard disk.

However, different kinds of files actually compress at 
different ratios. For example, the Microsoft Access .EXE 
file, Help files, and DLLs compress at a ratio closer to 
1.5:1. Although DIR may report that you have enough disk 
space to install Microsoft Access, there might not be 
enough room to fully install all the Microsoft Access files.

If you run out of disk space when installing Microsoft 
Access, you can free disk space by deleting unnecessary files. 
You can also use the Custom Setup option during Microsoft 
Access Setup, and select only the minimal set of files 
you need to run Microsoft Access (for example, you can 
choose not to install Cue Cards or the Help file).

You may also want to adjust your compression ratio if you 
find you are running out of disk space when DIR tells you 
that you have enough.

-----------------------------------------------------
Using DECOMP.EXE to Decompress Microsoft Access Files
-----------------------------------------------------

Microsoft Access includes a decompression utility, 
DECOMP.EXE. You can use DECOMP.EXE to decompress files 
without running Setup. This allows you to install 
individual Microsoft Access files. DECOMP.EXE uses the 
following syntax:

   DECOMP [/A /F /Q] <source> [<destination>]

The <source> argument specifies the file or files to be 
decompressed; it can be a file name or a wildcard pattern. 
The <destination> argument is the name of the decompressed 
file or directory. 

The following table summarizes the decompression utility 
command-line options.

Option    Description
------    -----------
/A        Appends the decompressed version of the source 
             file to the file specified by <destination>.
/F        Forces overwriting of the file specified by 
             <destination>.
/Q        Calculates the size of the uncompressed file 
             (no output).


--------------------------
Outdated Version 1.0 Files
--------------------------

If you are installing Microsoft Access version 1.1 in the 
same directory as an existing copy of version 1.0, the 
Microsoft Access Setup program installs the version 1.1 
files and at the same time deletes or replaces outdated 
version 1.0 files.

The following files are no longer used by Microsoft Access, 
and are deleted by Setup:

   BTRVISAM.DLL
   DBSISAM.DLL
   MSABC100.DLL
   MSAES100.DLL
   MSAIN100.DLL
   MSAJU100.DLL
   MSAJT100.DLL
   PDXISAM.DLL
   README_.TXT  (deleted only if you start Setup by typing 
                   setup /a)
  
For a complete list of the version 1.1 files, see the 
"Microsoft Access Files" section in this README file.


----------------------
Microsoft Access Files
----------------------

File name     Destination        Description
---------     -----------        -----------
1.wmf         N/A                Billboard displayed during 
                                 setup. VGA and higher 
                                 resolution.
1e.wmf        N/A                Billboard displayed during 
                                 setup. EGA resolution.
2.wmf         N/A                Billboard displayed during 
                                 setup. VGA and higher 
                                 resolution.
2e.wmf        N/A                Billboard displayed during 
                                 setup. EGA resolution.
3.wmf         N/A                Billboard displayed during 
                                 setup. VGA and higher 
                                 resolution.
3e.wmf        N/A                Billboard displayed during 
                                 setup. EGA resolution.
4.wmf         N/A                Billboard displayed during 
                                 setup. VGA and higher 
                                 resolution.
4e.wmf        N/A                Billboard displayed during 
                                 setup. EGA resolution.
5.wmf         N/A                Billboard displayed during 
                                 setup. VGA and higher 
                                 resolution.
5e.wmf        N/A                Billboard displayed during 
                                 setup. EGA resolution.
6.wmf         N/A                Billboard displayed during 
                                 setup. VGA and higher 
                                 resolution.
6e.wmf        N/A                Billboard displayed during 
                                 setup. EGA resolution.
7.wmf         N/A                Billboard displayed during 
                                 setup. VGA and higher 
                                 resolution.
7e.wmf        N/A                Billboard displayed during 
                                 setup. EGA resolution.
8.wmf         N/A                Billboard displayed during 
                                 setup. VGA and higher 
                                 resolution.
8e.wmf        N/A                Billboard displayed during 
                                 setup.EGA resolution.
analyzer.md$  <Program>          Microsoft Access Product 
                                 Support Services utility.
analyzer.tx$  <Program>          PSS Analyzer utility readme.
btrieve.tx$   <Program>          Information about configuring 
                                 Btrieve for use with Microsoft 
                                 Access.
btrv110dl$    <Windows\System>   Btrieve ISAM DLL.
cbtlib4.dl$   <Program>          Cue Cards DLL.
commdlg.dl$   <Windows\System>   Common dialog boxes. This is a 
                                 file shipped with Windows 
                                 version 3.1.
commdlg.dl_   N/A                Uncompressed version of common 
				 dialog boxes used by Setup 
                                 program.
ctl3d.dl$     <Windows>          3D-look DLL.
cuecard.ex$   <Program>          Cue Cards executable.
cuecards.dl$  <Program>          Cue Cards communication DLL.
cuecards.le$  <Program>          Cue Cards lesson file.
ddeml.dl$     <Windows\System>   DDE support DLL.
decomp.exe    N/A                Utility to individually 
                                 decompress files on the Microsoft 
                                 Access disks.
detcmd.dl_    <Program>          DLL used by Setup.
errata.tx$    <Program>          Microsoft Access documentation
				 errata file. Contains late 
                                 changes to documentation.
graph.ex$     <Windows\MSApps\   Microsoft Graph executable.
	      MSGraph>           
msabc110.dl$  <Windows\System>   Microsoft Access Basic code DLL.
msacces2.hl$  <Program>          Part 2 of the Microsoft Access 
				 Help file.
msaccess.ex$   <Program>         Microsoft Access executable.
msaccess.hl$   <Program>         Part 1 of the Microsoft Access 
				 Help file.
msaccess.in$   <Windows>         Microsoft Access initialization
				 file.
msaccess.re$   N/A               Input file for additions Setup 
				 makes to the OLE registration 
				 database.
msaes110.dl$   <Windows\System>  Microsoft Access expression 
				 service DLL.
msafin.dl$     <Program>         Additional financial functions 
				 DLL.
msain110.dl$   <Program>         International resources for 
				 Microsoft Access.
msajt110.dl$   <Windows\System>  Microsoft Access JET engine.
msaju110.dl$   <Windows\System>  Microsoft Access JET engine 
				 utilities.
msgraph.hl$    <\Windows\MSApps\ Microsoft Graph Help file.
	       MSGraph>          
newcust.db$    <Program>         Sample dBASE file used in 
				 Getting Started.
nwind.md$      <Program>         Northwind Traders sample 
				 database.
olecli.dl$     <Windows\System>  OLE Client support DLL.
olesvr.dl$     <Windows\System>  OLE Server support DLL.
ordentry.hl$   <Program>         Order Entry sample application 
				 Help file.
ordentry.md$   <Program>         Order Entry sample application 
				 database.
ordentry.tx$   <Program>         Order Entry sample application 
				 readme.
pdx110.dl$     <Windows\System>  Paradox version 3.5 ISAM DLL.
perform.tx$    <Program>         Performance tips.
pim.hl$        <Program>         Personal Information Manager 
				 Help file.
pim.md$        <Program>         Personal Information Manager 
				 database.
readme.txt     <Program>         Microsoft Access readme file 
                                 (this file.) Contains issues 
                                 you should be aware of. 
regedit.ex$    <Windows>         Windows version 3.1 registration 
                                 database editor.
setup.exe      N/A               Setup executable.
setup.ini      <Program>         Setup initialization file.
share.ex$      <Windows>         MS-DOS 5.0 file locking utility. 
				 (Not installed if already 
				 present.)
shell.dl$      <Windows\System>  Windows version 3.1 utility DLL.
smallb.fo$     <Windows\System>  Required font for Microsoft 
				 Access.
smalle.fo$     <Windows\System>  Required font for Microsoft 
				 Access.
smallf.fo$     <Windows\System>  Required font for Microsoft 
				 Access.
stfsetup.ex_   <Program>         Microsoft Access second-level 
                                 Setup executable. Also used by 
                                 Change Workgroup utility.
stfsetup.in_   N/A               Microsoft Access second-level 
                                 Setup initialization file.
utility.md$    <Program>         Microsoft Access utility database.
ver.dl$        <Windows\System>  Windows 3.1 version checking DLL.
ver.dl_        N/A               Uncompressed version of Windows 
				 3.1 version checking DLL used 
				 during setup.
wfwdrv.exe     N/A               Utility to update Windows for
                                 Workgroups driver.
wfwdrv.txt     N/A               Information about Windows for
                                 Workgroups driver.
wfwnet.dr$     <Windows\System>  Windows for Workgroups driver.
wfwnet.dr_     N/A               Windows for Workgroups driver
                                 installed by WFWDRV.EXE.
winhelp.ex$    <Windows>         Windows version 3.1 Help 
                                 executable.
winhelp.hl$    <Windows>         Windows version 3.1 Help 
                                 program Help file.
wizard.md$     <Program>         Microsoft Access AccessWizards.
workgrp.in_    <Program>         Microsoft Access workgroup 
				 initialization file used during 
				 setup. Renamed STFSETUP.INF.
xbs110.dl$     <Windows\System>  FoxPro and dBASE ISAM DLL.

NOTE: In the Destination column, the name in brackets indicates 
the most common name for this directory; however, the directory 
name on your machine may be different. For example, your Windows 
directory may be called WIN31 or just WIN. The name <Program> 
indicates the directory where your Microsoft Access program files 
are stored.
006 Microsoft Access V2.00 8×TD 250元
全WINDOWS风格,极其方便的数据存取功能;支持多媒体,内含ODBC完整的网络功能,用户级的安全性,可设置使用权限,完美的开发环境和学习环境可调WINDOWS动态连接库
README.TXT [展开]
	  ----------------------------------------
	  Microsoft Access Version 2.0 README File
                       February 1994
	  ----------------------------------------

	  (C) Copyright Microsoft Corporation, 1994


The ACREADME.HLP file supplied with Microsoft Access
version 2.0 contains complementary and late-breaking 
information about the Microsoft Access version 2.0 
product and its documentation.  To view this file,
double-click its icon in the Microsoft Access program 
group.

If you have not yet installed Microsoft Access, you can 
open ACREADME.HLP directly from Disk 1.  To start Help 
and open this file, double-click the file name in the 
Windows File Manager.
007 SQL Windows V2.0 5×HD
数据库系统,带表格制作
008 SQL Server V4.2 8×HD
README [展开]
/* Please note the following corrections and additions
to the Microsoft SQL Server Evaluation Guide:

p. 11, top:  After opening a query file that is larger
than will fit in the Query window, you can use
Ctrl-HOME to position the window at the top of the file.

p. 49, Activity 7, Step 2:  To see the reults of this activity
as described in the "Discussion" section, please run
this query (ACT07B.QRY) under the System Administration 
Facility (SAF).

p. 62, top:  The syntax for the create rule step lists the
rule name incorrectly as "pubidrule."  The correct name
is "pub_idrule."

p. 82, Activity 20, Step 1:  The c:\sql\install directory 
contains the installation script to recreate the PUBS
database.  It does not contain the isql utility.

*/
009 MS SQL SERVER FOR OS/2 6×TD
README [展开]
/* Please note the following corrections and additions
to the Microsoft SQL Server Evaluation Guide:

p. 11, top:  After opening a query file that is larger
than will fit in the Query window, you can use
Ctrl-HOME to position the window at the top of the file.

p. 49, Activity 7, Step 2:  To see the reults of this activity
as described in the "Discussion" section, please run
this query (ACT07B.QRY) under the System Administration 
Facility (SAF).

p. 62, top:  The syntax for the create rule step lists the
rule name incorrectly as "pubidrule."  The correct name
is "pub_idrule."

p. 82, Activity 20, Step 1:  The c:\sql\install directory 
contains the installation script to recreate the PUBS
database.  It does not contain the isql utility.

*/
010 MS SQL FOR WINDOWS V3.12 6×HD
011 WATCOM SQL V3.1 2×HD
012 MATNEE SCREEN SAVER 3×TD
013 Informix ISQL 2.10.06E FOR OS/II 5×HD
README.SQL [展开]


                      ======================================
                                   README NOTES
                                       FOR
                      INFORMIX ISQL 2.10.06E PRODUCT RELEASE
                                    Dec 1989
                      ======================================


I.     OVERVIEW OF README NOTES



        The DOS products have a limitation that no more than one frontend
        may be running at the same time or problems can develop.  Specifically,
        if you run one frontend and call another with your database still
        open (for example, RUN a perform screen from within a 4GL program
        or bang out of Perform and run a 4GL program), when the "inner"
        frontend terminates, the database will be closed to the "outer"
        backend.  

	Due to the 640KB memory limit on PC-DOS, it is strongly recommended
	that you not escape ("bang out") to the DOS shell while the network
	software, and the real mode ISQL and STARTSQL are loaded.  This
	could "hang" your system as there might be insufficient memory to
	load command.com or other software.



II.    CONTACTS AND SUGGESTIONS

        This Release Notes document has been provided to you in an effort
        to assist your product update efforts.  If you currently have a
        maintenance contract with Informix, please direct questions on
        this document and products contained in the '.06E' release to the
        Technical Support Department at (415) 926-6300.  

	Comments and suggestions on ways to improve this document are also 
	appreciated and should be directed to the Informix Product Planning 
	Department.
014 Informix 4GL 1.10.06E FOR OS/II 6×HD
下载
015 INFORMIX 4GL ( DOS ) 16×HD
README.RDS [展开]


                      ======================================
                                   README NOTES
                                       FOR
                      INFORMIX 4GL RDS 1.10.06E PRODUCT RELEASE
                                    Dec 1989
                      ======================================


I.     OVERVIEW OF README NOTES



        The DOS products have a limitation that no more than one frontend
        may be running at the same time or problems can develop.  Specifically,
        if you run one frontend and call another with your database still
        open (for example, RUN a perform screen from within a 4GL program
        or bang out of Perform and run a 4GL program), when the "inner"
        frontend terminates, the database will be closed to the "outer"
        backend.  



II.    CONTACTS AND SUGGESTIONS

        This Release Notes document has been provided to you in an effort
        to assist your product update efforts.  If you currently have a
        maintenance contract with Informix, please direct questions on
        this document and products contained in the '.06E' release to the
        Technical Support Department at (415) 926-6300.  

	Comments and suggestions on ways to improve this document are also 
	appreciated and should be directed to the Informix Product Planning 
	Department.
016 INFORMIX I-NET-PC ( DOS ) 1×HD
RAW 1.raw
原始 1.DDI
017 INFORMIX SQL ( DOS ) 9×HD
README.SQL [展开]


                      ======================================
                                   README NOTES
                                       FOR
                      INFORMIX ISQL 2.10.06E PRODUCT RELEASE
                                    Dec 1989
                      ======================================


I.     OVERVIEW OF README NOTES



        The DOS products have a limitation that no more than one frontend
        may be running at the same time or problems can develop.  Specifically,
        if you run one frontend and call another with your database still
        open (for example, RUN a perform screen from within a 4GL program
        or bang out of Perform and run a 4GL program), when the "inner"
        frontend terminates, the database will be closed to the "outer"
        backend.  

	Due to the 640KB memory limit on PC-DOS, it is strongly recommended
	that you not escape ("bang out") to the DOS shell while the network
	software, and the real mode ISQL and STARTSQL are loaded.  This
	could "hang" your system as there might be insufficient memory to
	load command.com or other software.



II.    CONTACTS AND SUGGESTIONS

        This Release Notes document has been provided to you in an effort
        to assist your product update efforts.  If you currently have a
        maintenance contract with Informix, please direct questions on
        this document and products contained in the '.06E' release to the
        Technical Support Department at (415) 926-6300.  

	Comments and suggestions on ways to improve this document are also 
	appreciated and should be directed to the Informix Product Planning 
	Department.
018 SSBMIS V1.1 5×HD
019 WINBASE V2.0 6×HD
README.TXT [展开]
                  欢迎使用 WinBase 2.0 
                  
1.如何安装 WinBase :
	运行A盘或B盘的SETUP,例如:
		C>A:SETUP		<==运行A盘的SETUP
		C>B:SETUP		<==运行B盘的SETUP
		或
		A>SETUP			<==在A盘运行SETUP
		B>SETUP         <==在B盘运行SETUP

2.如何运行 WinBase:
	运行 WinBase 请使用如下命令:
		WBS

3.运行或安装 WinBase 时出现死机如何处理:
	(1).检查 CONFIG.SYS 中的 FILES,以下是
	最基本要求:
		FILES=40
	(2).检查系统的可用内存是否太少,WinBase
		理想的可用内存应是大于 550K.

4.运行 WinBase 太慢如何处理:
	(1).将虚拟盘(不低于1.5M)作为临时文件存放
	处,例如:若 E 盘是虚拟盘,可如下设置:
		SET BASETEMP=E:\
	(2).使用硬盘缓存程序,例如: Smartdrv 或 
		pc-cache等.
	(3).尽可能增大系统的可用内存.
 	
5.以下是WinBase的最新改进:

    一.数据库维护函数Winbrows:
       在原Winbrows中的以下参数做了改动:
           <flag>:在"H"、"V"、"F"、"R"后可以付加两个标志:
                  R:表示只读的,例如:"HR"、"RR"等
                  D:表示字段的编辑在当前位置进行,无须弹出编辑窗口.
                  	例如:"VD"、"FD"等
           <fontdbf>:该参数已被去掉

       Winbrows中更新或增加如下操作:
       		1.在水平显示方式下F5、F6可更方便调整显示宽度
       		2.在水平显示方式下F8+F8可对字段进行求和
       		3.ALT_T 可获得当前数据库的计录总数
       		4.ALT_= 可将当前记录复制到内存
       		5.ALT_- 可将内存中的记录内容复制到当前记录
       		6.增加了尽可能丰富的索引操作,包括:
       			(1).新建索引
                (2).打开索引
                (3).增加索引
                (4).重建索引
                (5).改变索引顺序
                (6).关闭索引
           
    二.报表设计:
       (1).Design函数已被改为如下格式:
           design(<prtname>,<dbfalias>,<fomalias>,<prt__flag>),其中:
               <prtname>: 报表文件名(.PRT)
               <dbfalias>: 数据库别名
               <fonalias>: 格式文件别名
               <prt__flag>: 打印标记,同前
               
       (2).操作按键的改变:
         ALT_Z: 选择要复制的行
         ALT_X: 选择要复制的列
         ALT_<: 画或取消当前项的左竖线
         ALT_>: 画或取消当前项的横线
         ALT_/: 画或取消当前项的上竖线
         ALT_\: 画或取消当前项的下竖线
       (3).改进或新增的报表输出函数
		 sumc(<开始列>,<结束列>[,条件])		:对报表列求和
         sumr(<开始行>,<结束行>[,条件])		:对报表行求和
         sum_cond(<字段名>[,条件])			:对数据库字段求和
         sum_all(<函数>[,条件])			:针对数据库所有内容对函数返回值求和
         ave_cond(<字段名>[,条件])		:对数据库字段求平均
         ave_all(<函数>[,条件])         :针对数据库所有内容对函数返回值求平均

    三.改进或新增的函数:
       (1).windowstart(<dbfpath>,<prtpath>)
         功能:Winbase初始化
           <dbfpath>:访问数据库的路径
           <prtpath>:建立报表文件的路经
         返回:无
       (2).wbhelp(<helpfile>,<key>)
         功能:显示帮助信息,其中:
           <helpfile>:帮助文件名,由字段wb__title(3C)及wb__help(M)构成
           <key>     :要查找的内容(与wb__title匹配的)
         返回:无
       (3).isdir(<path>)
         功能:判断或创建<path>路径
         返回:成功返回.T.,否则为.F.
       (4).mappal16([flag])
         功能:设置调色板
         若flag为空,则为标准16色,否则为Windows的16色调色板
         返回:无
       (5).mousekey()
         功能:获取键盘或鼠标输入
         本函数依赖于全局变量mousekey的设置,若mousekey为空,则保持原功能,否则执
         行mousekey所指定的函数的功能;若该函数返回0,则执行原函数, 否则其返回值
         将做为本函数的返回值
         返回:按键或鼠标按钮值,参见WINBASE.CH
       (6).msgbox(<msg1>,<msg2>,<type>[,<botton1>,<botton2>,<botton3>])
         功能:弹出信息窗口,可用<botton1>,<botton2>,<botton3>替换原来的标准按钮
         返回:无
       (7).mouse(<flag>)
         功能:显示或者关闭鼠标,按<flag>的值设置鼠标器状态,
         返回:返回先前的状态(1-显示,0-关闭).
         	  <flag>=0:关闭鼠标
         	  <flag>=1:显示鼠标

	   (8).netfldput(<fldnum>,<fld_val>)
	     功能:在网络环境中给字段赋值
	          <fldnum>:字段序号
	          <fld_val>:为字段赋的值
         返回:无
	   (9).netdelete()
	     功能:在网络环境中给记录加删除标记
         返回:无
	   (10).netrecall()
	     功能:在网络环境中去掉记录删除标记
         返回:无
	   (11).filepath(<file>)
	     功能:在WINBASE设定的路径中查找文件<file>
         返回:若找到返回带路径的文件名,否则返回空.
	   (12).radomfile([<head>[,<ext>]])
	     功能:返回一随机文件名
	          <head>:文件名的头三个字符
	          <ext>:文件名的后缀
         返回:文件名
	   (13).getcond([<title>],<dbfalias>[,<init_val>[,<helpproc>[,<fomalias>[,<ret_type>]]])
	     功能:弹出组合条件、公式或表达式的对话框
	     	  <title>:对话框标题
	     	  <dbfalias>:数据库别名
	     	  <init_val>:初始值
	     	  <helpproc>:帮助函数名
	     	  <fomalias>:格式文件别名
	     	  <ret_type>:若为空,则返回值必须是逻辑类型,否则任意
         返回:字符串或为空
	     例如:
	          ret=getcond("构造计算公式","dbfalias","1+2","myhelp",,1)
	   (14).swprun(<cmd>,<mem>,<runpath>,<swppath>,<clsflag>)
	   	 功能:运行其它可执行文件或DOS命令
	   	 	  <cmd>:可执行文件或DOS命令,可带有命令行参数
	   	 	  <mem>:执行文件所需内存,若为0,则尽可能多地分配内存
	   	 	  <runpath>:运行文件的路径,可为空
	   	 	  <swppath>:存放交换文件的路径,可为空
	   	 	  <clsflag>:清屏标志,若为空则清屏
         返回:无
         例如:
         	  swprun("foxgraph",0,"","")
	   (15).isalias(<string>)
	     功能:判断指定字符串是否为别名
	     	  <string>:字符串
         返回:成功返回.T.,否则为.F.
	   (16).nop()
	     功能:空执行
	     返回:NIL
	   (17).closealias(<alias>)
	     功能:关闭指定别名的数据库
	     	  <alias>:别名
         返回:无
	   (18).wbedit(<editstr>,<row1>,<col1>,<row2>,<col2>,<title>,<fc>,<bc>,<ed_flag>)
	     功能:编辑文本字符串
	   		  <editstr>:字符串
	   		  <row1>,<col1>,<row2>,<col2>:
	   		  <title>:标题
	   		  <fc>:前景色
	   		  <bc>:背景色
	   		  <ed_flag>:修改标志
	     返回:被编辑的字符串
	   (19).delfiles(<filespec>)
	     功能:删除文件,可使用通配符*,?
	     	  <filespec>:文件名
         返回:无
	   (20).loadpcx(<x1>,<y1>,<x2>,<y2>,<filename>,<mode>)
	     功能:显示PCX图像
	     	  <x1>,<y1>,<x2>,<y2>:象素坐标
	     	  <filename>:图像文件名
	     	  <mode>:显示模式
         返回:无
	   (21).wintitle(titlename)
	     功能:替换窗口标题
			  <titlename>:标题
         返回:无

6.对手册的某些说明:
	(1). WINBASE 的详细安装已做了如上说明.
	(2). 某些汉字文件名存盘后与原名不同,这是汉字系统与DOS的
	     某些冲突造成的.例如用户手册中第三章中的"工资.DBF".
	     
                                                               93.12.1
020 WINBASE V2.5 7×HD
最新图文数据库软件,开发者曾参与Clipper的设计工作,该软件集Clipper,FoxPro,之大成,是第一个真正有实力的中国图文数据库软件
021 WINBASE V1.0 2×TD
022 Super Base V2.0 5×TD
023 Super Base V2.01 5×TD
024 SUPERBASE IV V2.0 3×HD
025 卡片通 V2.0 2×HD
图书,菜单,等各种卡片的制作管理,应用范围极其广泛
README.DOC [展开]
卡片通安装方法
    接通计算机电源, 使系统处于DOS状态下(C:>)。
    将卡片通系统盘插入A(或B)驱动器, 输入A:INSTCRD(或B:INSTCRD)
    如下:
            C:>A:INSTCRD 或
            C:>B:INSTCRD
    有如下画面显示时
            建立卡片通目录?C:\CRD
    卡片通目录被自动设置成CRD, 按Enter即可。若您要修改目录名, 
    则用BS可删除当前设置, 然后重新输入目录名, 按Enter即可。
    有如下画面显示时
            请将卡片通系统盘插入驱动器输入所用驱动器号[A]
    按Enter即可。若是B驱动器, 则按一下B, 再按Enter即可。
    卡片通程序即被装入到您所指定的目录中。

卡片通系统环境设置
    程序装入完毕后, 自动进入系统环境设置, 有如下画面显示:
		卡片通系统环境设置
			汉字系统
			显示器
			自动进入卡片通
    此时,您按照实际情况逐条回答即可。
    系统环境设置将修改硬盘中AUTOEXEC.BAT文件的内容。而将修改前的
    这个文件保存成AUTOEXEC.OLD
    当系统环境变化, 需要重新进行设置时, 您只需输入SETCRD命令。
    如下所示:
             C:>SETCRD

卡片通启动
    卡片通的启动, 依系统环境设置中"自动进入卡片通"的设置情况, 
    而有两种方法。
    自动进入卡片通
        接通计算机电源或重新热启动(按ALT+CTRL+DEL)或
        按RESET钮之后, 计算机先启动DOS, 而后自动进入卡片通, 停在卡片
        通主菜单下。
    非自动进入卡片通
        在DOS状态下, 输入CRD命令。
        如:    C:>CRD
        卡片通被启动, 停在卡片通主菜单下。
026 IT base V1.1 2×HD
图文数据库
RAW 1.raw 2.raw
原始 1.IMG 2.IMG
027 九强 MIS 系统 V4.01 6×HD
028 九强 MIS 系统 V4.01 14×TD
029 亚奇 MIS 系统 7×HD
030 超想数据库管理系统 1×TD
RAW 1.raw
原始 1.IMG
031 Clipper V2.00 1×HD
dBASE 的超集,全编译,支持网络,汉字应用软件可直接编译
RAW 1.raw
原始 1.IMG
032 Clipper V5.01 2×HD
README [展开]
========================================================================
1   Welcome to Clipper 5.01!

    Copyright (c) 1991 Nantucket Corporation.  All rights reserved.
    
    Welcome to Clipper 5.01!  This file contains the most up-to-date
    information about the product, including additional installation
    instructions and detailed distribution disk contents.
    
    During the installation procedure, two additional documentation
    files, Errata.doc and Debugger.doc, will be copied to the \CLIPPER5
    directory.  Errata.doc is a text file that contains errata for the
    printed documentation.  Debugger.doc is a print file that contains
    new documentation for The Clipper Debugger (CLD.EXE) which has been
    substantially revised.  To print either of these files, use the
    following DOS command:

    C>COPY <filename> PRN:

========================================================================
2   What's New

    In Clipper 5.01, we have made many changes and improvements which
    include, but are not limited to:
    
    1.  Fixes to known anomalies
    2.  Increased Clipper Summer '87 compatibility
    3.  Improved performance
    4.  Improved runtime error handling and facilities
    5.  New and improved debugger
    6.  New and improved installation system
    7.  Added support for color in @...SAY...GET and box drawing
        commands
    8.  Revised Get system with new and documented API
    9.  New database functions that can be used in place of database
        commands
    10. New screen functions that allow the display output system to
        buffer display updates
    11. New memo functions to determine position based on formatting
    12. Append mode for SET ALTERNATE and SET PRINTER files
    13. Revised on-line documentation including:
        
        Release Notes documentation database
        Change Summaries for Clipper 5.0 and Clipper 5.01
        Errata for printed documentation

    For a complete list of new features, consult the Release Notes
    documentation database.

========================================================================
3   On-line Documentation

    There have been several changes made to Clipper 5.01 since the
    documentation was printed.  The new information is covered either in
    the files mentioned above or in the on-line documentation.  In the
    on-line documentation, new items that do not appear anywhere in the
    printed documentation are indicated with the Greek character Omega. 
    Items that have been revised significantly since the documentation
    was printed are indicated with the Sigma character.
    
    The on-line documentation system consists of the Norton Instant
    Access Engine (NG.EXE) and several documentation databases that are
    listed below:
    
    C5G01A.NG  The Guide To Clipper 
               (Clipper language and reference tables)
    
    C5G02A.NG  Error Messages       
               (Compiler, linker, runtime, RMAKE error messages)
    
    C5G03A.NG  Extend System        
               (Extend function reference documentation)
    
    C5G04A.NG  Utilities               
               (Utilities reference documentation)
    
    C5G05A.NG  Release Notes
               (Change summaries and topical information)
    
    C5G06A.NG  Sample Reference
               (Reference for sample programs)
    
    All of the documentation databases and the Instant Access Engine are
    installed in the default configuration into \NG which exists at the
    same level as the \CLIPPER5 directory.
    
    Within the Instant Access Engine's Options:Database pick list, the
    names of the Clipper 5.01 documentation databases are formatted as
    follows:
    
    Clipper 5.01a >> The Guide To Clipper
      ^       ^   ^    ^
      |       |   |    |_____ documentation database name 
      |       |   |__________ database revision number
      |       |______________ product version number
      |______________________ product name

========================================================================
4   Installation Problems

    This section provides information on the installation procedure for
    Clipper 5.01.  If you have problems installing the software, consult
    the following list of problems and solutions.  If you experience an
    installation problem not listed here, please contact Nantucket
    Support at the Nantucket office serving your country.  Telephone
    numbers appear in the Contacting Nantucket section of the Product
    and Services Guide.
    
    When contacting Nantucket Support, have ready information about your
    environment such as: machine make and model, DOS version, memory
    available during installation, and any memory-resident software you
    are using.


4.1  Command-line Arguments

     The following table shows the command-line arguments for
     INSTALL.EXE.
     
     Table: INSTALL.EXE Command-line Arguments
     -------------------------------------------------------------------
     Argument       Description
     -------------------------------------------------------------------
     /NOSWAP        Do not swap to EMS or disk
     /BW            Monochrome for color display (for Laptops)
     /MONO          Force monochrome display
     -------------------------------------------------------------------


4.2  Problems and Solutions

     Some common problems that may occur during installation are listed
     below:
     
     1. Problem:  Missing files due to insufficient disk space on the
        target drive.
     
        Solution:  Make more space available on the target drive and
        then run the install program again.
     
     2. Problem:  Insufficient memory to build utilities ("memory
        overbooked" messages).
     
        Solution:  To build the utilities, INSTALL requires
        approximately 400KB of free memory when INSTALL.EXE is invoked. 
        Make additional memory available by rebooting your computer
        without memory resident utilities or network software, then run
        INSTALL again.  Alternatively, you can build the utility
        programs manually (see Building Utilities Manually below).
     
     3. Problem:  System hangs while building utilities.
     
        Solution:  The install script file includes a SET PATH command
        to add some necessary directories to the PATH environment
        variable.  Under some versions of DOS, attempting to increase
        the length of the PATH environment variable beyond 128 bytes
        causes COMMAND.COM to hang.  Remove unnecessary entries from
        PATH and run INSTALL again.  Alternatively, you can build the
        utility programs manually (see Building Utilities
        Manually below).


4.3  Modifying Your Environment Variables

     Certain environment (SET command) variables should be set for
     Clipper 5.01.  If you elected to modify the AUTOEXEC.BAT file
     during the installation process, your file should be up-to-date. 
     Otherwise, the appropriate settings should be in a file called
     AUTOEXEC.CHG located in the \CLIPPER5 directory.  In either case,
     it is important that you modify your AUTOEXEC.BAT file to
     incorporate these additional settings so that Clipper 5.01 will
     know where to find files.  The required settings are as follows:
     
     1. The PATH variable should include the directory where Clipper
        5.01 executable files reside (example: C:\CLIPPER5\BIN).
     
     2. The LIB variable should include the directory where Clipper 5.01
        library files reside (example: C:\CLIPPER5\LIB).
     
     3. The INCLUDE variable should include the directory where Clipper
        5.01 include files reside (example: C:\CLIPPER5\INCLUDE).
     
     3. The PLL variable should include the directory where Clipper 5.01
        pre-linked library files reside (example: C:\CLIPPER5\PLL).
           
     For example:
     
     SET PATH=C:\CLIPPER5\BIN;%PATH% 
     SET LIB=C:\CLIPPER5\LIB 
     SET INCLUDE=C:\CLIPPER5\INCLUDE
     SET PLL=C:\CLIPPER5\INCLUDE
     
     You may also wish to set other environment variables.  For more
     information, refer to the Getting Started Guide and Programming and
     Utilities Guide.  For general information about the DOS environment
     and setting environment variables, refer to your DOS manual.


4.4  Building Utilities Manually

     Certain Clipper 5.01 utility programs (DBU, PE, RL) are supplied in
     source code form.  These utilities must be compiled and linked
     before they can be used.   INSTALL will optionally install and
     build these utilities automatically.  If you elected not to install
     or build the utilities or if INSTALL failed to build them
     successfully, they may be built manually.
     
     Before the utilities can be successfully built, the following
     requirements must be met:
     
     1. The Clipper 5.01 executables, libraries, and include files (the
        files in C:\CLIPPER5\BIN, C:\CLIPPER5\LIB, and
        C:\CLIPPER5\INCLUDE, respectively) must be properly installed.
     
     2. Your environment variables must be set correctly (see above).
     
     3. The source files for the desired utility must be available.  If
        the source files have not been transferred from the distribution
        disks, you can retrieve them using the INSTALL program.
     
     Each utility includes a make file (a .RMK file used by RMAKE) that
     will compile and link the utility.  To make a utility, simply go to
     the appropriate directory and execute RMAKE on the script (.RMK)
     file.  For example, to make the Database Utility, enter the
     following commands:
     
     C:
     CD \CLIPPER5\SOURCE\DBU
     RMAKE DBU
     COPY DBU.EXE \CLIPPER5\BIN
     COPY DBU.HLP \CLIPPER5\BIN
     
     Note that the make files for building the Clipper 5.01 utilities
     create the .EXE file in the current directory.  If you copy the
     executable file into the \CLIPPER5\BIN directory, it will be
     accessible via SET PATH.


4.5  Building BASE50.PLL Manually

     Pre-linked libraries (.PLL files) allow faster linking and code
     sharing among different applications.  The distribution disks
     contain a linker script file (BASE50.LNK) which will create a
     general purpose .PLL called BASE50.PLL (for information on building
     and using .PLL files, refer to the Programming and Utilities
     Guide).
     
     BASE50.PLL is optionally created during installation.  If you
     elected not to create BASE50.PLL or if the install program did not
     create it successfully, you can create it manually.  Before
     BASE50.PLL can be successfully created, the following requirements
     must be met:
     
     1. The Clipper 5.01 executables, libraries, and include files (the
        files in C:\CLIPPER5\BIN, C:\CLIPPER5\LIB, and
        C:\CLIPPER5\INCLUDE, respectively) must be properly installed.
     
     2. Your environment variables must be set correctly (see above).
     
     3. The PLL directory (\CLIPPER5\PLL) must be created and the
        BASE50.LNK file must reside in it.  If this file has not been
        transferred from the distribution disks, you can retrieve it
        using the INSTALL program.
        
     To build the BASE50.PLL, enter the following commands:
     
     C:
     CD \CLIPPER5\PLL
     RTLINK @BASE50

========================================================================
5   Distribution Disk Contents

    This section provides information regarding the contents of the
    Clipper 5.01 distribution disks.  The files are described in general
    terms of their contents followed by several tables showing the
    various disk configurations.


5.1  Documentation Files

     The README file that you are viewing now is located on Disk 1.


5.2  Disk Identifier Files

     Each disk in the Clipper 5.01 package contains a file named DISK.ID
     that is used by the install program to verify version and disk
     number.


5.3  Install Files

     The install program (INSTALL.EXE) and the installation script
     (INSTALL.DAT) are located on Disk 1.  Together, these two files
     allow you to install Clipper 5.01 onto your hard disk.


5.4  Archive Files

     The Clipper 5.01 distribution files are supplied in the form of
     archive files.  Most of the archive files have a .LIF extension,
     but the file containing the main documentation database is split up
     into two files with .001 and .002 extensions.  Each of the archive
     files is listed in the table below, followed by several tables
     showing the contents of each archive file.
     
     
     Table: Archive File Descriptions
     -------------------------------------------------------------------
     Archive        Contents
     -------------------------------------------------------------------
     BIN1.LIF       Linker and debugger files and other executables
     CLIPPER.LIF    Compiler executable file
     DBU.LIF        Database Utility source files
     DOC.LIF        Additional documentation files
     INCLUDE.LIF    Header files
     LIB1.LIF       Support libraries
     LIB2.LIF       Support libraries
     NG1.001        On-line documentation databases
     NG1.002        On-line documentation databases
     NG2.LIF        Norton Instant Access Engine
     PE.LIF         Program Editor source files
     PLL.LIF        Linker script for base 5.01 pre-linked library
     RL.LIF         Report and Label Utility source files
     SAMPLE.LIF     Sample program source files
     SYS.LIF        System component source files
     -------------------------------------------------------------------
     
     
     Table: BIN1.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     CL.BAT         Compile and Link batch file
     CLD.EXE        Clipper Debugger
     DBT50.EXE      DBT update utility
     RTLINK.EXE     .RTLink linker
     RTLINK.DAT     .RTLink data file
     RTLINK.HLP     .RTLink data file
     RTLINKST.COM   .RTLink data file
     RMAKE.EXE      RMAKE make utility
     RO.COM         Read-only file status utility
     -------------------------------------------------------------------
     
     
     Table: CLIPPER.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     CLIPPER.EXE    Clipper 5.01 compiler
     -------------------------------------------------------------------
     
     
     Table: DBU.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     DBU.LNK        .RTLink script for DBU
     DBU.RMK        RMAKE script for DBU
     DBU.HLP        DBU help file
     DBU.PRG        DBU source
     DBUCOPY.PRG    DBU source
     DBUEDIT.PRG    DBU source
     DBUHELP.PRG    DBU source
     DBUINDX.PRG    DBU source
     DBUSTRU.PRG    DBU source
     DBUUTIL.PRG    DBU source
     DBUVIEW.PRG    DBU source
     -------------------------------------------------------------------
     
     
     Table: DOC.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     ERRATA.DOC     Clipper 5.01 Errata Documentation
     DEBUGGER.DOC   Revised Clipper Debugger Documentation
     -------------------------------------------------------------------
     
     
     Table: INCLUDE.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     ACHOICE.CH     Header file for ACHOICE() function
     BOX.CH         Header file for box string definitions
     DBEDIT.CH      Header file for DBEDIT() function
     DBSTRUCT.CH    Header file for DBSTRUCT() function
     DIRECTRY.CH    Header file for DIRECTORY() function
     ERROR.CH       Header file for runtime error system
     FILEIO.CH      Header file for binary file I/O functions
     GETEXIT.CH     Header file for Get system
     INKEY.CH       Header file for keyboard functions
     MEMOEDIT.CH    Header file for MEMOEDIT() function
     RESERVED.CH    Header file for reserved words
     SET.CH         Header file for SET() function
     SETCURS.CH     Header file for SETCURS() function
     SIMPLEIO.CH    Header file for standard I/O functions
     STD.CH         Header file containing standard command set
     EXTEND.H       Header file for C Extend functions
     EXTASM.INC     Header file for Assembler Extend functions (5.01)
     EXTENDA.INC    Header file for Assembler Extend functions (S87)
     EXTENDA.MAC    Header file for Assembler Extend functions (A86)
     -------------------------------------------------------------------
     
     
     Table: LIB1.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     CLIPPER.LIB    Clipper 5.01 support library
     -------------------------------------------------------------------
     
     
     Table: LIB2.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     CLD.LIB        Clipper Debugger library
     DBFNTX.LIB     Database driver
     EXTEND.LIB     Clipper 5.01 support library
     RTLUTILS.LIB   .RTLink static overlay support library
     TERMINAL.LIB   Terminal I/O drivers
     -------------------------------------------------------------------
     
     
     Table: NG1.001 Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     C5G01A.NG      Clipper 5.01 documentation database (partial)
     -------------------------------------------------------------------
     
     
     Table: NG1.002 Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     C5G01A.NG      Clipper 5.01 documentation database (continued)
     -------------------------------------------------------------------
     
     
     Table: NG2.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     NG.EXE         Norton Instant Access Engine
     C5G02A.NG      Clipper 5.01 documentation database
     C5G03A.NG      Clipper 5.01 documentation database
     C5G04A.NG      Clipper 5.01 documentation database
     C5G05A.NG      Clipper 5.01 documentation database
     C5G06A.NG      Clipper 5.01 documentation database
     -------------------------------------------------------------------
     
     
     Table: PE.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     PE.PRG         PE source
     PE.RMK         RMAKE script for PE
     -------------------------------------------------------------------
     
     
     Table: PLL.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     BASE50.LNK     .RTLink script for base 5.01 pre-linked library
     -------------------------------------------------------------------
     
     
     Table: RL.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     RL.RMK         RMAKE script file for RL
     RLBACK.PRG     RL source
     RLDIALG.PRG    RL source
     RLFRONT.PRG    RL source
     -------------------------------------------------------------------
     
     
     Table: SAMPLE.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     ARRAY.CH       Header file for array manipulation examples
     ARRAY.PRG      Array manipulation examples
     ASRTDEMO.PRG   Error checking assertions example
     ASSERT.CH      Header file for error checking assertions
     BOX.PRG        Simple box menus
     BROWSE.PRG     Database browser
     DATE.PRG       Date manipulation functions
     DICT.CH        Header file for keyed dictionary utility
     DICT.PRG       Keyed dictionary utility
     DOT.PRG        Dot prompt emulator
     ENVIRON.PRG    File look up and state control functions
     EXAMPLEP.PRG   Miscellaneous examples
     FILEIO.PRG     Binary file manipulation
     FILEDEMO.PRG   Demonstration of file manager function
     FILEDEMO.RMK   RMAKE script for file manager function
     FILEMAN.CH     Header file for file manager function
     FILEMAN.PRG    File manager function
     GAUGDEMO.PRG   Demonstration program for GAUGE.PRG
     GAUGE.PRG      Status gauge functions
     ITERATOR.PRG   Array iterator functions
     KEYBOARD.PRG   Keyboard functions
     LOCKS.PRG      Database file locking functions
     LOCKS87.CH     Header file for S87 locking functions compatibility
     NUM.PRG        Numeric functions
     ODEMO1.PRG     Demonstration of menu functions
     ODEMO1.RMK     RMAKE script for ODEMO1.PRG
     ODEMO2.PRG     Demonstration of menu functions
     ODEMO2.RMK     RMAKE script for ODEMO2.PRG
     OMENU.CH       Header file for menu functions
     OMENU.DOC      Documentation for menu functions
     OMENU.PRG      Menu functions
     OMENU.RMK      RMAKE script for menu functions
     PRINT.PRG      Printer control function
     SCROLBAR.PRG   Scroll bar functions
     STACK.PRG      Functions to implement a stack data structure
     STATUS.PRG     Status indicator function
     STRING.PRG     String manipulation functions
     TBDEMO.PRG     Example of using TBrowse objects
     TIME.PRG       Time manipulation functions
     TIME87.CH      Header file for S87 time functions compatibility
     VALEDIT.PRG    Example of using Get objects
     EXAMPLEC.C     Clipper/C interface examples
     EXAMPLEA.ASM   Clipper/Assembler interface examples 
     TEMPLATE.ASM   Assembler source code example
     -------------------------------------------------------------------
     
     
     Table: SYS.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     ERRORSYS.PRG   Source file for default runtime error handler
     FRMDEF.CH      Header file for REPORT runtime system
     FRMBACK.PRG    Source file for REPORT runtime system
     FRMRUN.PRG     Source file for REPORT runtime system
     GETSYS.PRG     Source file for default Get system
     LBLDEF.CH      Header file for LABEL runtime system
     LBLBACK.PRG    Source file for LABEL runtime system
     LBLRUN.PRG     Source file for LABEL runtime system
     -------------------------------------------------------------------


5.5  Distribution Disk Contents

     Table: 360KB Disk Format
     -------------------------------------------------------------------
     Disk           Contents
     -------------------------------------------------------------------
     Disk 1         DISK.ID, README, INSTALL.EXE, INSTALL.DAT,
                    CLIPPER.LIF
     Disk 2         DISK.ID, BIN1.LIF
     Disk 3         DISK.ID, LIB1.LIF
     Disk 4         DISK.ID, INCLUDE.LIF, LIB2.LIF, PLL.LIF, SYS.LIF
     Disk 5         DISK.ID, DBU.LIF, PE.LIF, RL.LIF, SAMPLE.LIF
     Disk 6         DISK.ID, NG1.001
     Disk 7         DISK.ID, NG1.002, NG2.LIF
     -------------------------------------------------------------------
     
     
     Table: 720KB Disk Format
     -------------------------------------------------------------------
     Disk           Contents
     -------------------------------------------------------------------
     Disk 1         DISK.ID, README, INSTALL.EXE, INSTALL.DAT, BIN1.LIF,
                    CLIPPER.LIF, INCLUDE.LIF
     Disk 2         DISK.ID, LIB1.LIF, LIB2.LIF, NG2.LIF, PLL.LIF,
                    SYS.LIF
     Disk 3         DISK.ID, NG1.001, NG1.002, DBU.LIF, PE.LIF, RL.LIF,
                    SAMPLE.LIF
     -------------------------------------------------------------------

========================================================================
6   Copyrights

    The installation program used to install Clipper 5.01, INSTALL, is
    based on licensed software provided by Knowledge Dynamics Corp,
    Highway Contract 4 Box 185-H, Canyon Lake, Texas 78133-3508 (USA),
    1-512-964-3994.  INSTALL is Copyright (c) 1987-1991 by Knowledge
    Dynamics Corp which reserves all copyright protection worldwide. 
    INSTALL is provided to you for the exclusive purpose use of
    installing Clipper 5.01.  Nantucket has made modifications to the
    software as provided by Knowledge Dynamics Corp, and thus the
    performance and behavior of the INSTALL program shipped with Clipper
    5.01 may not represent the performance and behavior of INSTALL as
    shipped by Knowledge Dynamics Corp.  Nantucket is exclusively
    responsible for the support of Clipper 5.01, including support
    during the installation phase.  In no event will Knowledge Dynamics
    Corp be able to provide any technical support for Clipper 5.01.
    
    
    
    
                              *     *     *
RAW 1.raw 2.raw
原始 1.IMG 2.IMG
033 汉化 Clipper V5.01 3×HD
高密盘版本,含汉字环境盘一张,教学盘一张
README [展开]
========================================================================
1   Welcome to Clipper 5.01!

    Copyright (c) 1991 Nantucket Corporation.  All rights reserved.
    
    Welcome to Clipper 5.01!  This file contains the most up-to-date
    information about the product, including additional installation
    instructions and detailed distribution disk contents.
    
    During the installation procedure, two additional documentation
    files, Errata.doc and Debugger.doc, will be copied to the \CLIPPER5
    directory.  Errata.doc is a text file that contains errata for the
    printed documentation.  Debugger.doc is a print file that contains
    new documentation for The Clipper Debugger (CLD.EXE) which has been
    substantially revised.  To print either of these files, use the
    following DOS command:

    C>COPY <filename> PRN:

========================================================================
2   What's New

    In Clipper 5.01, we have made many changes and improvements which
    include, but are not limited to:
    
    1.  Fixes to known anomalies
    2.  Increased Clipper Summer '87 compatibility
    3.  Improved performance
    4.  Improved runtime error handling and facilities
    5.  New and improved debugger
    6.  New and improved installation system
    7.  Added support for color in @...SAY...GET and box drawing
        commands
    8.  Revised Get system with new and documented API
    9.  New database functions that can be used in place of database
        commands
    10. New screen functions that allow the display output system to
        buffer display updates
    11. New memo functions to determine position based on formatting
    12. Append mode for SET ALTERNATE and SET PRINTER files
    13. Revised on-line documentation including:
        
        Release Notes documentation database
        Change Summaries for Clipper 5.0 and Clipper 5.01
        Errata for printed documentation

    For a complete list of new features, consult the Release Notes
    documentation database.

========================================================================
3   On-line Documentation

    There have been several changes made to Clipper 5.01 since the
    documentation was printed.  The new information is covered either in
    the files mentioned above or in the on-line documentation.  In the
    on-line documentation, new items that do not appear anywhere in the
    printed documentation are indicated with the Greek character Omega. 
    Items that have been revised significantly since the documentation
    was printed are indicated with the Sigma character.
    
    The on-line documentation system consists of the Norton Instant
    Access Engine (NG.EXE) and several documentation databases that are
    listed below:
    
    C5G01A.NG  The Guide To Clipper 
               (Clipper language and reference tables)
    
    C5G02A.NG  Error Messages       
               (Compiler, linker, runtime, RMAKE error messages)
    
    C5G03A.NG  Extend System        
               (Extend function reference documentation)
    
    C5G04A.NG  Utilities               
               (Utilities reference documentation)
    
    C5G05A.NG  Release Notes
               (Change summaries and topical information)
    
    C5G06A.NG  Sample Reference
               (Reference for sample programs)
    
    All of the documentation databases and the Instant Access Engine are
    installed in the default configuration into \NG which exists at the
    same level as the \CLIPPER5 directory.
    
    Within the Instant Access Engine's Options:Database pick list, the
    names of the Clipper 5.01 documentation databases are formatted as
    follows:
    
    Clipper 5.01a >> The Guide To Clipper
      ^       ^   ^    ^
      |       |   |    |_____ documentation database name 
      |       |   |__________ database revision number
      |       |______________ product version number
      |______________________ product name

========================================================================
4   Installation Problems

    This section provides information on the installation procedure for
    Clipper 5.01.  If you have problems installing the software, consult
    the following list of problems and solutions.  If you experience an
    installation problem not listed here, please contact Nantucket
    Support at the Nantucket office serving your country.  Telephone
    numbers appear in the Contacting Nantucket section of the Product
    and Services Guide.
    
    When contacting Nantucket Support, have ready information about your
    environment such as: machine make and model, DOS version, memory
    available during installation, and any memory-resident software you
    are using.


4.1  Command-line Arguments

     The following table shows the command-line arguments for
     INSTALL.EXE.
     
     Table: INSTALL.EXE Command-line Arguments
     -------------------------------------------------------------------
     Argument       Description
     -------------------------------------------------------------------
     /NOSWAP        Do not swap to EMS or disk
     /BW            Monochrome for color display (for Laptops)
     /MONO          Force monochrome display
     -------------------------------------------------------------------


4.2  Problems and Solutions

     Some common problems that may occur during installation are listed
     below:
     
     1. Problem:  Missing files due to insufficient disk space on the
        target drive.
     
        Solution:  Make more space available on the target drive and
        then run the install program again.
     
     2. Problem:  Insufficient memory to build utilities ("memory
        overbooked" messages).
     
        Solution:  To build the utilities, INSTALL requires
        approximately 400KB of free memory when INSTALL.EXE is invoked. 
        Make additional memory available by rebooting your computer
        without memory resident utilities or network software, then run
        INSTALL again.  Alternatively, you can build the utility
        programs manually (see Building Utilities Manually below).
     
     3. Problem:  System hangs while building utilities.
     
        Solution:  The install script file includes a SET PATH command
        to add some necessary directories to the PATH environment
        variable.  Under some versions of DOS, attempting to increase
        the length of the PATH environment variable beyond 128 bytes
        causes COMMAND.COM to hang.  Remove unnecessary entries from
        PATH and run INSTALL again.  Alternatively, you can build the
        utility programs manually (see Building Utilities
        Manually below).


4.3  Modifying Your Environment Variables

     Certain environment (SET command) variables should be set for
     Clipper 5.01.  If you elected to modify the AUTOEXEC.BAT file
     during the installation process, your file should be up-to-date. 
     Otherwise, the appropriate settings should be in a file called
     AUTOEXEC.CHG located in the \CLIPPER5 directory.  In either case,
     it is important that you modify your AUTOEXEC.BAT file to
     incorporate these additional settings so that Clipper 5.01 will
     know where to find files.  The required settings are as follows:
     
     1. The PATH variable should include the directory where Clipper
        5.01 executable files reside (example: C:\CLIPPER5\BIN).
     
     2. The LIB variable should include the directory where Clipper 5.01
        library files reside (example: C:\CLIPPER5\LIB).
     
     3. The INCLUDE variable should include the directory where Clipper
        5.01 include files reside (example: C:\CLIPPER5\INCLUDE).
     
     3. The PLL variable should include the directory where Clipper 5.01
        pre-linked library files reside (example: C:\CLIPPER5\PLL).
           
     For example:
     
     SET PATH=C:\CLIPPER5\BIN;%PATH% 
     SET LIB=C:\CLIPPER5\LIB 
     SET INCLUDE=C:\CLIPPER5\INCLUDE
     SET PLL=C:\CLIPPER5\INCLUDE
     
     You may also wish to set other environment variables.  For more
     information, refer to the Getting Started Guide and Programming and
     Utilities Guide.  For general information about the DOS environment
     and setting environment variables, refer to your DOS manual.


4.4  Building Utilities Manually

     Certain Clipper 5.01 utility programs (DBU, PE, RL) are supplied in
     source code form.  These utilities must be compiled and linked
     before they can be used.   INSTALL will optionally install and
     build these utilities automatically.  If you elected not to install
     or build the utilities or if INSTALL failed to build them
     successfully, they may be built manually.
     
     Before the utilities can be successfully built, the following
     requirements must be met:
     
     1. The Clipper 5.01 executables, libraries, and include files (the
        files in C:\CLIPPER5\BIN, C:\CLIPPER5\LIB, and
        C:\CLIPPER5\INCLUDE, respectively) must be properly installed.
     
     2. Your environment variables must be set correctly (see above).
     
     3. The source files for the desired utility must be available.  If
        the source files have not been transferred from the distribution
        disks, you can retrieve them using the INSTALL program.
     
     Each utility includes a make file (a .RMK file used by RMAKE) that
     will compile and link the utility.  To make a utility, simply go to
     the appropriate directory and execute RMAKE on the script (.RMK)
     file.  For example, to make the Database Utility, enter the
     following commands:
     
     C:
     CD \CLIPPER5\SOURCE\DBU
     RMAKE DBU
     COPY DBU.EXE \CLIPPER5\BIN
     COPY DBU.HLP \CLIPPER5\BIN
     
     Note that the make files for building the Clipper 5.01 utilities
     create the .EXE file in the current directory.  If you copy the
     executable file into the \CLIPPER5\BIN directory, it will be
     accessible via SET PATH.


4.5  Building BASE50.PLL Manually

     Pre-linked libraries (.PLL files) allow faster linking and code
     sharing among different applications.  The distribution disks
     contain a linker script file (BASE50.LNK) which will create a
     general purpose .PLL called BASE50.PLL (for information on building
     and using .PLL files, refer to the Programming and Utilities
     Guide).
     
     BASE50.PLL is optionally created during installation.  If you
     elected not to create BASE50.PLL or if the install program did not
     create it successfully, you can create it manually.  Before
     BASE50.PLL can be successfully created, the following requirements
     must be met:
     
     1. The Clipper 5.01 executables, libraries, and include files (the
        files in C:\CLIPPER5\BIN, C:\CLIPPER5\LIB, and
        C:\CLIPPER5\INCLUDE, respectively) must be properly installed.
     
     2. Your environment variables must be set correctly (see above).
     
     3. The PLL directory (\CLIPPER5\PLL) must be created and the
        BASE50.LNK file must reside in it.  If this file has not been
        transferred from the distribution disks, you can retrieve it
        using the INSTALL program.
        
     To build the BASE50.PLL, enter the following commands:
     
     C:
     CD \CLIPPER5\PLL
     RTLINK @BASE50

========================================================================
5   Distribution Disk Contents

    This section provides information regarding the contents of the
    Clipper 5.01 distribution disks.  The files are described in general
    terms of their contents followed by several tables showing the
    various disk configurations.


5.1  Documentation Files

     The README file that you are viewing now is located on Disk 1.


5.2  Disk Identifier Files

     Each disk in the Clipper 5.01 package contains a file named DISK.ID
     that is used by the install program to verify version and disk
     number.


5.3  Install Files

     The install program (INSTALL.EXE) and the installation script
     (INSTALL.DAT) are located on Disk 1.  Together, these two files
     allow you to install Clipper 5.01 onto your hard disk.


5.4  Archive Files

     The Clipper 5.01 distribution files are supplied in the form of
     archive files.  Most of the archive files have a .LIF extension,
     but the file containing the main documentation database is split up
     into two files with .001 and .002 extensions.  Each of the archive
     files is listed in the table below, followed by several tables
     showing the contents of each archive file.
     
     
     Table: Archive File Descriptions
     -------------------------------------------------------------------
     Archive        Contents
     -------------------------------------------------------------------
     BIN1.LIF       Linker and debugger files and other executables
     CLIPPER.LIF    Compiler executable file
     DBU.LIF        Database Utility source files
     DOC.LIF        Additional documentation files
     INCLUDE.LIF    Header files
     LIB1.LIF       Support libraries
     LIB2.LIF       Support libraries
     NG1.001        On-line documentation databases
     NG1.002        On-line documentation databases
     NG2.LIF        Norton Instant Access Engine
     PE.LIF         Program Editor source files
     PLL.LIF        Linker script for base 5.01 pre-linked library
     RL.LIF         Report and Label Utility source files
     SAMPLE.LIF     Sample program source files
     SYS.LIF        System component source files
     -------------------------------------------------------------------
     
     
     Table: BIN1.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     CL.BAT         Compile and Link batch file
     CLD.EXE        Clipper Debugger
     DBT50.EXE      DBT update utility
     RTLINK.EXE     .RTLink linker
     RTLINK.DAT     .RTLink data file
     RTLINK.HLP     .RTLink data file
     RTLINKST.COM   .RTLink data file
     RMAKE.EXE      RMAKE make utility
     RO.COM         Read-only file status utility
     -------------------------------------------------------------------
     
     
     Table: CLIPPER.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     CLIPPER.EXE    Clipper 5.01 compiler
     -------------------------------------------------------------------
     
     
     Table: DBU.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     DBU.LNK        .RTLink script for DBU
     DBU.RMK        RMAKE script for DBU
     DBU.HLP        DBU help file
     DBU.PRG        DBU source
     DBUCOPY.PRG    DBU source
     DBUEDIT.PRG    DBU source
     DBUHELP.PRG    DBU source
     DBUINDX.PRG    DBU source
     DBUSTRU.PRG    DBU source
     DBUUTIL.PRG    DBU source
     DBUVIEW.PRG    DBU source
     -------------------------------------------------------------------
     
     
     Table: DOC.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     ERRATA.DOC     Clipper 5.01 Errata Documentation
     DEBUGGER.DOC   Revised Clipper Debugger Documentation
     -------------------------------------------------------------------
     
     
     Table: INCLUDE.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     ACHOICE.CH     Header file for ACHOICE() function
     BOX.CH         Header file for box string definitions
     DBEDIT.CH      Header file for DBEDIT() function
     DBSTRUCT.CH    Header file for DBSTRUCT() function
     DIRECTRY.CH    Header file for DIRECTORY() function
     ERROR.CH       Header file for runtime error system
     FILEIO.CH      Header file for binary file I/O functions
     GETEXIT.CH     Header file for Get system
     INKEY.CH       Header file for keyboard functions
     MEMOEDIT.CH    Header file for MEMOEDIT() function
     RESERVED.CH    Header file for reserved words
     SET.CH         Header file for SET() function
     SETCURS.CH     Header file for SETCURS() function
     SIMPLEIO.CH    Header file for standard I/O functions
     STD.CH         Header file containing standard command set
     EXTEND.H       Header file for C Extend functions
     EXTASM.INC     Header file for Assembler Extend functions (5.01)
     EXTENDA.INC    Header file for Assembler Extend functions (S87)
     EXTENDA.MAC    Header file for Assembler Extend functions (A86)
     -------------------------------------------------------------------
     
     
     Table: LIB1.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     CLIPPER.LIB    Clipper 5.01 support library
     -------------------------------------------------------------------
     
     
     Table: LIB2.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     CLD.LIB        Clipper Debugger library
     DBFNTX.LIB     Database driver
     EXTEND.LIB     Clipper 5.01 support library
     RTLUTILS.LIB   .RTLink static overlay support library
     TERMINAL.LIB   Terminal I/O drivers
     -------------------------------------------------------------------
     
     
     Table: NG1.001 Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     C5G01A.NG      Clipper 5.01 documentation database (partial)
     -------------------------------------------------------------------
     
     
     Table: NG1.002 Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     C5G01A.NG      Clipper 5.01 documentation database (continued)
     -------------------------------------------------------------------
     
     
     Table: NG2.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     NG.EXE         Norton Instant Access Engine
     C5G02A.NG      Clipper 5.01 documentation database
     C5G03A.NG      Clipper 5.01 documentation database
     C5G04A.NG      Clipper 5.01 documentation database
     C5G05A.NG      Clipper 5.01 documentation database
     C5G06A.NG      Clipper 5.01 documentation database
     -------------------------------------------------------------------
     
     
     Table: PE.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     PE.PRG         PE source
     PE.RMK         RMAKE script for PE
     -------------------------------------------------------------------
     
     
     Table: PLL.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     BASE50.LNK     .RTLink script for base 5.01 pre-linked library
     -------------------------------------------------------------------
     
     
     Table: RL.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     RL.RMK         RMAKE script file for RL
     RLBACK.PRG     RL source
     RLDIALG.PRG    RL source
     RLFRONT.PRG    RL source
     -------------------------------------------------------------------
     
     
     Table: SAMPLE.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     ARRAY.CH       Header file for array manipulation examples
     ARRAY.PRG      Array manipulation examples
     ASRTDEMO.PRG   Error checking assertions example
     ASSERT.CH      Header file for error checking assertions
     BOX.PRG        Simple box menus
     BROWSE.PRG     Database browser
     DATE.PRG       Date manipulation functions
     DICT.CH        Header file for keyed dictionary utility
     DICT.PRG       Keyed dictionary utility
     DOT.PRG        Dot prompt emulator
     ENVIRON.PRG    File look up and state control functions
     EXAMPLEP.PRG   Miscellaneous examples
     FILEIO.PRG     Binary file manipulation
     FILEDEMO.PRG   Demonstration of file manager function
     FILEDEMO.RMK   RMAKE script for file manager function
     FILEMAN.CH     Header file for file manager function
     FILEMAN.PRG    File manager function
     GAUGDEMO.PRG   Demonstration program for GAUGE.PRG
     GAUGE.PRG      Status gauge functions
     ITERATOR.PRG   Array iterator functions
     KEYBOARD.PRG   Keyboard functions
     LOCKS.PRG      Database file locking functions
     LOCKS87.CH     Header file for S87 locking functions compatibility
     NUM.PRG        Numeric functions
     ODEMO1.PRG     Demonstration of menu functions
     ODEMO1.RMK     RMAKE script for ODEMO1.PRG
     ODEMO2.PRG     Demonstration of menu functions
     ODEMO2.RMK     RMAKE script for ODEMO2.PRG
     OMENU.CH       Header file for menu functions
     OMENU.DOC      Documentation for menu functions
     OMENU.PRG      Menu functions
     OMENU.RMK      RMAKE script for menu functions
     PRINT.PRG      Printer control function
     SCROLBAR.PRG   Scroll bar functions
     STACK.PRG      Functions to implement a stack data structure
     STATUS.PRG     Status indicator function
     STRING.PRG     String manipulation functions
     TBDEMO.PRG     Example of using TBrowse objects
     TIME.PRG       Time manipulation functions
     TIME87.CH      Header file for S87 time functions compatibility
     VALEDIT.PRG    Example of using Get objects
     EXAMPLEC.C     Clipper/C interface examples
     EXAMPLEA.ASM   Clipper/Assembler interface examples 
     TEMPLATE.ASM   Assembler source code example
     -------------------------------------------------------------------
     
     
     Table: SYS.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     ERRORSYS.PRG   Source file for default runtime error handler
     FRMDEF.CH      Header file for REPORT runtime system
     FRMBACK.PRG    Source file for REPORT runtime system
     FRMRUN.PRG     Source file for REPORT runtime system
     GETSYS.PRG     Source file for default Get system
     LBLDEF.CH      Header file for LABEL runtime system
     LBLBACK.PRG    Source file for LABEL runtime system
     LBLRUN.PRG     Source file for LABEL runtime system
     -------------------------------------------------------------------


5.5  Distribution Disk Contents

     Table: 360KB Disk Format
     -------------------------------------------------------------------
     Disk           Contents
     -------------------------------------------------------------------
     Disk 1         DISK.ID, README, INSTALL.EXE, INSTALL.DAT,
                    CLIPPER.LIF
     Disk 2         DISK.ID, BIN1.LIF
     Disk 3         DISK.ID, LIB1.LIF
     Disk 4         DISK.ID, INCLUDE.LIF, LIB2.LIF, PLL.LIF, SYS.LIF
     Disk 5         DISK.ID, DBU.LIF, PE.LIF, RL.LIF, SAMPLE.LIF
     Disk 6         DISK.ID, NG1.001
     Disk 7         DISK.ID, NG1.002, NG2.LIF
     -------------------------------------------------------------------
     
     
     Table: 720KB Disk Format
     -------------------------------------------------------------------
     Disk           Contents
     -------------------------------------------------------------------
     Disk 1         DISK.ID, README, INSTALL.EXE, INSTALL.DAT, BIN1.LIF,
                    CLIPPER.LIF, INCLUDE.LIF
     Disk 2         DISK.ID, LIB1.LIF, LIB2.LIF, NG2.LIF, PLL.LIF,
                    SYS.LIF
     Disk 3         DISK.ID, NG1.001, NG1.002, DBU.LIF, PE.LIF, RL.LIF,
                    SAMPLE.LIF
     -------------------------------------------------------------------

========================================================================
6   Copyrights

    The installation program used to install Clipper 5.01, INSTALL, is
    based on licensed software provided by Knowledge Dynamics Corp,
    Highway Contract 4 Box 185-H, Canyon Lake, Texas 78133-3508 (USA),
    1-512-964-3994.  INSTALL is Copyright (c) 1987-1991 by Knowledge
    Dynamics Corp which reserves all copyright protection worldwide. 
    INSTALL is provided to you for the exclusive purpose use of
    installing Clipper 5.01.  Nantucket has made modifications to the
    software as provided by Knowledge Dynamics Corp, and thus the
    performance and behavior of the INSTALL program shipped with Clipper
    5.01 may not represent the performance and behavior of INSTALL as
    shipped by Knowledge Dynamics Corp.  Nantucket is exclusively
    responsible for the support of Clipper 5.01, including support
    during the installation phase.  In no event will Knowledge Dynamics
    Corp be able to provide any technical support for Clipper 5.01.
    
    
    
    
                              *     *     *
034 Clipper V5.20 2×TD
README [展开]
========================================================================
   Welcome to CA-Clipper Version 5.2!
   
   Copyright (c) 1993, Computer Associates International, Inc.
   All rights reserved.
   
   This file, README, contains information on issues that did not
   make the printed or online documentation.  It also contains some
   corrections to errors in the printed documentation.
   
========================================================================
1. Contents
   
   The following topics are covered in this documentation file:
   
    1.  Contents
    2.  Installation
    3.  Online Documentation
    4.  Drivers
    5.  Error Handling
    6.  New Error Messages
    7.  Utilities
    8.  Sample Programs
    9.  Memory
   10.  Compatibility Issues
   11.  Errata
   12.  Technical Reference
   13.  Copyright

========================================================================
2. Installation
   
   The interactive installation program, INSTALL.EXE, copies the
   CA-Clipper 5.2 files to the appropriate directories and
   subdirectories of your hard disk.  The installation procedure is
   documented in Chapter 2 of the Getting Started Guide, but this
   section contains additional information that you may need to
   successfully install CA-Clipper 5.2.
   
   Important:  The CA-Clipper 5.2 installation program default
   installation directory is \CLIPPER5.  If you have a previous
   version of CA-Clipper installed into a directory with this name,
   you will need to modify the install program default directory
   (when prompted), otherwise your previous version of CA-Clipper
   will be overwritten.
   
   ---------------------------------------------------------------------
   2.1  Command Line Arguments
   
   The following table shows the command line arguments for
   INSTALL.EXE.
   
   INSTALL.EXE Command Line Arguments
   -----------------------------------------------------------
   
   Argument       Description
   -----------------------------------------------------------
   
   /NOSWAP        Do not swap to EMS or disk
   /BW            Monochrome for color display (for Laptops)
   /MONO          Force monochrome display
   -----------------------------------------------------------
   
   ---------------------------------------------------------------------
   2.2  Default Directory Structure
   
   The CA-Clipper 5.2 directory structure created by the installation
   procedure is as follows:
   
   \CLIPPER5        Master CA-Clipper 5.2 directory
      \BIN             Executable (.EXE and .COM), batch (.BAT), and
                       help (.hlp) files
      \INCLUDE         Header (.CH and .H) files
      \LIB             Library (.LIB) files
      \PLL             Prelinked library (.PLL, .PLT, and .LNK) files
      \OBJ             Object (.OBJ) files
      \SOURCE          Master directory for source (.prg) files
         \DBU             Database Utility source files
         \PE              Program editor source files
         \RL              Report and Label Utility source files
         \SYS             Source files for runtime systems
                          (Get system, Error system, runtime portions
                          of the Report and Label system, and
                          Rddsys.prg)
         \SAMPLE          Sample program source files
   \NG              The Guide to CA-Clipper files
   
   ---------------------------------------------------------------------
   2.3  Modifying Your Environment Variables
   
   Certain environment variables (e.g., PATH, LIB, INCLUDE) should be
   set for CA-Clipper 5.2.  If you elected to modify the AUTOEXEC.BAT
   file during the installation process, your file should be up-to-
   date.  Otherwise, the appropriate settings are written to a file
   called AUTOEXEC.NEW located in the root directory of the boot
   drive.  In either case, it is important that your AUTOEXEC.BAT
   file contain these additional settings so that CA-Clipper 5.2 will
   find your files.  The required settings are as follows:
   
   1. The PATH variable should include the directory where CA-Clipper
      5.2 executable files reside (example: C:\CLIPPER5\BIN).
      
   2. The LIB variable should include the directory where CA-Clipper
      5.2 library files reside (example: C:\CLIPPER5\LIB).
      
   3. The INCLUDE variable should include the directory where
      CA-Clipper 5.2 include files reside (example:
      C:\CLIPPER5\INCLUDE).
      
   4. The PLL variable should include the directory where CA-Clipper
      5.2 prelinked library files reside (example: C:\CLIPPER5\PLL).
      
   For example:
   
   SET PATH=C:\CLIPPER5\BIN;%PATH%
   SET LIB=C:\CLIPPER5\LIB
   SET INCLUDE=C:\CLIPPER5\INCLUDE
   SET PLL=C:\CLIPPER5\PLL
   
   You may also wish to set other environment variables.  For a
   summary of environment variables used and supported by CA-Clipper
   5.2, refer to Chapter 10 of the Quick Reference Guide.  For more
   information on setting up and using the CA-Clipper development
   environment, refer to the Programming and Utilities Guide.  For
   general information about the DOS environment and setting
   environment variables, refer to your DOS manual.
   
   The installation program modifies CONFIG.SYS to:
   
   FILES=25
   BUFFERS=15
   
   If you choose to retain your current CONFIG.SYS the installation
   program creates a file named CONFIG.NEW and places it in the root
   directory of your boot drive.
   
========================================================================
3. Online Documentation
   
   The online documentation consists of the Norton Instant Access
   Engine (NG.EXE) and the following documentation databases:
   
   C52G01B.NG   The Guide To CA-Clipper
               (CA-Clipper Language Reference and Tables)
   C52G02B.NG   Error Messages
               (Compiler, Linker, RMAKE, Runtime, and DOS errors)
   C52G03B.NG   Technical Reference (not included)
               (Available through the Computer Associates
                Supplemental Offer.  To order, refer to the enclosed
                slip card)
   C52G04B.NG   Utilities and Environment Variables
               (Reference documentation for Utilities (Compiler,
                Linker, RMAKE, PE, DBU, RL, and CLD) and DOS (SET)
                Environment Variables)
   C52G05B.NG   Release Notes
               (Version Specific Information (i.e., Change Summaries)
   C52G06B.NG   Sample Programs
               (Sample Program Reference)
   C52G07B.NG   CA-Clipper Drivers Documentation
               (Complete Drivers Guide online)
   
   All of the documentation databases and the Instant Access Engine
   are installed in the \NG directory, which exists at the same level
   as the \CLIPPER5 directory.
   
========================================================================
4. Drivers
   
   CA-Clipper 5.2 includes new replaceable database drivers (RDDs) as
   well as enhanced functionality in the default DBFNTX and the
   DBFNDX drivers.  The included database drivers are DBFNTX
   (CA-Clipper indexes), DBFNDX (dBASE III compatible indexes),
   DBFMDX (dBASE IV compatible multiple indexes), DBFCDX (FoxPro
   compatible indexes) and DBPX (Paradox compatible tables).
   
   CA-Clipper 5.2 documentation includes a Drivers Guide that
   describes the RDDs, their new and enhanced command set, and the
   alternate Terminal drivers.
   
   Please note:  The online version of the DBFNTX Driver
   documentation contains "new" information about DBFNTX's optional
   new locking scheme.  Please be sure to refer to this section if
   using the DBFNTX driver.
   
   ---------------------------------------------------------------------
   4.1  Alternate Terminal Drivers Instructions
   
   The GT.OBJ supplied in the \CLIPPER5\OBJ directory must be used
   with the Alternate Terminal Drivers PCBIOS and ANSITERM.  This
   object replaces the default GT.OBJ that is contained in
   CLIPPER.LIB.  Failing to link in this replacement GT.OBJ will
   result in improper screen displays and possibly cause the computer
   to hang when using the alternate drivers.
   
   Note:  GT.OBJ does not support the horizontal argument in the
   SCROLL() function nor does it support _gtDispBegin(),
   _gtDispEnd(), or _gtDispCount().
   
   ---------------------------------------------------------------------
   4.2     Nantucket Tools II Instructions

   The CT2PATCH.OBJ supplied in the \CLIPPER5\OBJ directory adds 
   TOOLS II compatibility to CA-Clipper 5.2.  You should always use 
   it with CA-Clipper 5.2 applications that utilize TOOLS II.  This 
   is not necessary for users that do not have TOOLS II.  The 
   CTUS.OBJ supplied in the \CLIPPER5\OBJ directory replaces the 
   NT2US50.OBJ object initially shipped with TOOLS II.  Use CTUS.OBJ
   with CA-Clipper 5.2 applications that utilize TOOLS II and 
   NT2US50.OBJ.  This is not necessary for users that do not have 
   TOOLS II.

   ---------------------------------------------------------------------
   4.3  Database Driver Interoperability
   
   When using the APPEND FROM and COPY TO commands with either
   DELIMITED or SDF data, the allowable data types are limited to
   valid CA-Clipper data types.  Drivers that support "extended" data
   types will only be able to copy to and from DELIMITED or SDF data
   using databases that contain only valid CA-Clipper data types.
   
   ---------------------------------------------------------------------
   4.4  Addendum: to Drivers Reference Chapter
   
   Commands and functions that open indexes behave differently than
   documented when using (.mdx) and (.cdx) indexes.  On these "multi-
   tag" indexes, the index order is not automatically set to the
   first tag in the index.  Instead, the order is set to 0 (natural
   order).  Therefore, you must set the index order to the desired
   tag before performing any action that requires an index (e.g.,
   SEEK).  This affects the following commands and functions: SET
   INDEX, DBSETINDEX(), and ORDLISTADD().
   
   ---------------------------------------------------------------------
   4.5  DBFCDX Driver note
   
   EVAL and EVERY clauses of the INDEX ON command
   
   The EVAL clause functions differently in the DBFCDX driver than it
   does in other RDDs.  The EVAL block is evaluated at the beginning
   and at the end of each indexing process as well as at each record
   as in other RDDs.  At the beginning of the index process both
   BOF() and EOF() are true (.T.).  At the end of the indexing
   process only EOF() is true (.T.).
   
   ---------------------------------------------------------------------
   4.6.1  DBPX Driver Notes
   
   Creating Secondary Indexes
   
   The DBPX Driver automatically creates two index files of the same
   name as the table whenever indexes are created.  These files have
   the extensions (.x??) and (.y??) where "??" represents the ordinal
   position of the key field.
   
   Example:
   
      USE Customer               // Contains fields Lastname
                                 // and Phone
      
      INDEX ON Lastname TO Temp1 // Creates CUSTOMER.X01 and
                                 // CUSTOMER.Y01.
                                 // The name "Temp1" is ignored
      
      INDEX ON Phone TO Temp2    // Creates CUSTOMER.X02 and
                                 // CUSTOMER.Y02.
                                 // The name "Temp2" is ignored.
      
   ---------------------------------------------------------------------
   4.6.2  Opening Secondary Indexes
   
   Since all secondary indexes take the name of the table, you open
   and access them by the name of their key field.
   
   Example:
   
      // Continuing the example in 4.6.1:
      
      SET INDEX TO Lastname          // Open the index using the
      
                                     // name of the key field,
                                     // not "Temp1"
      
      SET INDEX TO Lastname, Phone   // Open the indexes using the
                                     // names of the key fields.
      
      ORDSETFOCUS("Phone")           // Set "Phone" as the
                                     // controlling index
      
========================================================================
5. Error Handling
   
   ---------------------------------------------------------------------
   5.1  (b) LOCKERRHAN
   
   During abnormal program terminations or when the program is
   canceled by Alt-C, CA-Clipper 5.2 produces a trace back of all the
   functions active at the time of termination.  Users who are used
   to this information will find a new item in the trace back that
   looks like (b) LOCKERRHAN.  This is a special error handler that
   is automatically installed as an INIT procedure.  This is normal.
   Other error handlers installed by INIT procedures, created by
   third-party vendors or applications developers will show up in
   this manner as well.
   
========================================================================
6. New Error Messages
   
   ---------------------------------------------------------------------
   6.1  DBFCDX/1050  Create error
   
   Explanation:  The maximum number of Orders per Order Bag was
   exceeded.  The allowable number of Orders that an Order Bag can
   contain varies by database driver.  See the Drivers guide.
   
   Action:  Create a new Order Bag (index file).
   
   ---------------------------------------------------------------------
   6.2  DBFMDX/1028  Create error
   
   Explanation:  The maximum number of Orders per Order Bag was
   exceeded.  The allowable number of Orders that an Order Bag can
   contain varies by database driver.  See the Drivers guide.
   
   Action:  Create a new Order Bag (index file).
   
   ---------------------------------------------------------------------
   6.3  DBPX/306  Create error
   
   Explanation:  Insufficient memory for an operation like SORT.  It
   is unlikely that this error will occur in the current version.
   
   Action:  Allocate more conventional memory.  Do this by removing
   TSRs, using a 386 memory manager, etc.  Ensure that any C or
   assembly language code in use is using the virtual memory system
   if it is performing dynamic memory allocation.  Any memory
   allocated using the Fixed Memory Allocator function (_xalloc() and
   _xgrab()) reduces the amount of conventional memory available.
   Free this memory as soon as possible after use.
   
   ---------------------------------------------------------------------
   6.4  DBPX/503  Create error
   
   Explanation:  An error was encountered creating, reading or
   writing a table, a lock file, or a temporary file.
   
   Action:  Make sure that sufficient disk space and directory
   entries are available.  If the file exists, make sure it is not
   marked read-only.  In a network environment, make sure the
   application has the necessary rights to create the file.
   
   See Also:  INDEX command, Network Programming chapter in the
   Programming and Utilities guide
   
========================================================================
7. Utilities
   
   ---------------------------------------------------------------------
   7.1  DBU Network Capable Features
   
   The DBU sample program has been updated to allow shared use of
   databases.  By default, DBU now opens all databases in shared mode
   and automatically performs the necessary record locks when writing
   data.
   
   Additionally, anytime a database must be opened exclusively (e.g.,
   CREATE INDEX, MODIFY STRUCTURE, ZAP) DBU automatically reopens the
   file in exclusive mode.  Should opening the file in exclusive mode
   fail, DBU attempts to reopen it in shared mode so that you can
   continue.
   
   All operations are done transparently.  If an error occurs, the
   user is notified and recovery is automatic.  In Browse mode,
   changes made by another user are automatically reflected in your
   Browse screen.
   
========================================================================
8. Sample Programs
   
   ---------------------------------------------------------------------
   8.1  SAMPLES.LIB
   
   Included in the \CLIPPER5\LIB directory is a new library called
   SAMPLES.LIB.  It contains most of the samples in compiled, ready
   to use form.  To use any of the sample functions you can include
   SAMPLES.LIB in your link line as follows:
   
     RTLINK FI <appObjectList> LIB SAMPLES
   
========================================================================
9. Memory
   
   9.1  Free Memory and Load size
   
   Free Memory is the amount of memory available to run applications.
   You can find this value by using the MEM command in DOS version
   5.0, or CHKDSK in earlier versions of DOS.
   
   Load Size is the amount of memory used by the application as it is
   loaded into memory by DOS.  .RTLink reports this value (in
   Kilobytes) at the end of a successful link.
   
   Applications require an amount of memory beyond Load Size, for
   data storage.  The approximate total memory to run an application
   is :
   
                                 minimum:    120K over load size
          desirable for best performance:   +160K over load size
   
   ---------------------------------------------------------------------
   9.2  Fixed Memory (FM) Usage
   
   To reduce the memory requirement of your application, you should
   convert your C and ASM modules to use Virtual Memory instead of
   Fixed Memory.  The VM.API headers accompany these files, but the
   documentation will be available later (be sure to mail the
   included card).
   
   ---------------------------------------------------------------------
   9.3  CA-Clipper File Services
   
   You may reduce the load size of a CA-Clipper application by using
   the built-in CA-Clipper file I/O services instead of the Microsoft
   runtime services.  The FILESYS.API headers accompany these files,
   but the documentation will be available later (be sure to mail the
   included card).
   
========================================================================
10.Compatibility Issues
   
   ---------------------------------------------------------------------
   Compiler Kit for dBASE IV
   
   The dBASE IV Kit, version 1.10 is not compatible with CA-Clipper
   5.2.  You can only use version 1.5 of the dBASE IV Kit with
   CA-Clipper 5.2.
   
========================================================================
11.Errata
   
   11.1  Reference Guide
   
   ---------------------------------------------------------------------
   11.1.1  Page 2-62, (Compound Assign) operator
   
   The documentation states that the correct operator for doing
   compound exponentiation/assignment is **=.  This is not correct.
   The correct operator is ^=.  Thus, the syntax and all references
   to **= must be changed to ^=.  There is also a note in this
   entry that states:
   
   Note:  The exponentiation operator (^) does not have a
   corresponding compound assignment operator.  The exponentiation
   compound assignment operator is **=.
   
   Replace this paragraph with:
   
   Note:  The exponentiation operator (**) does not have a
   corresponding compound assignment operator.  The exponentiation
   compound assignment operator is ^=.
   
   ---------------------------------------------------------------------
   11.1.2  Page 2-244, DBSETFILTER() function
   
   The description of the <cCondition> parameter should read:
   
   <cCondition> stores the filter condition as a character string
   for later retrieval by the DBFILTER() function.  If you omit
   this optional parameter, the DBFILTER() function will return an
   empty string for the work area.
   
   ---------------------------------------------------------------------
   11.1.3  Page 2-373, Get class
   
   Under the Examples heading, the last line of code:
   
      objGet:postBlock := { |cValue| !EMPTY(cValue) }
      
   should read:
   
      objGet:postBlock := { |oGet| !EMPTY(oGet:varGet()) }
      
   ---------------------------------------------------------------------
   11.1.4  Page 2-479, OUTSTD() function
   
   The reference to SIMPLIO.CH in both the Description and Files
   section of the OUTSTD() function entry should be SIMPLIO.CH.
   
   ---------------------------------------------------------------------
   11.1.5  Page 2-525, REINDEX command
   
   The command syntax has too many square brackets at the end.  The
   syntax should read:
   
      REINDEX [EVAL <lCondition>]
         [EVERY <nRecords>]
      
   ---------------------------------------------------------------------
   11.1.6  Page 2-416, LASTREC() function
   
   Because of the expanded functionality of RECNO() to encompass the
   concept of "identity", we wish to state here that the LASTREC()
   function continues to return only record numbers - not identities.
   LASTREC() has no expanded functionality so it is not "identity
   aware"
   
   ---------------------------------------------------------------------
   11.2  Programming and Utilities Guide
   
   ---------------------------------------------------------------------
   11.2.1.  Page 11-3,  RMAKE [/S] switch
   
   The RMAKE /S switch is no longer supported.
   
   ---------------------------------------------------------------------
   11.3.  Quick Reference Guide
   
   ---------------------------------------------------------------------
   11.3.1.  Page 7-7,  RMAKE [/S] switch
   
   The RMAKE /S switch is no longer supported.
   
   ---------------------------------------------------------------------
   11.3.2.  Page 8-1,  PE [/E] switch
   
   PE has no switches.  It accepts only the filename as a
   parameter.
   
   ---------------------------------------------------------------------
   11.3.3.  Page 8-1,  DBU /e switch
   
   This switch is optional and not case-sensitive.
   
   ---------------------------------------------------------------------
   11.4.  CA-Clipper Drivers Guide
   
   ---------------------------------------------------------------------
   11.4.1.  Page 2-3,  RDDSYS.PRG
   
   The first line of code in RDDSYS.PRG (#include "rddsys.ch") should
   be omitted.
   
   ---------------------------------------------------------------------
   11.4.2.  Page 3-27,  ORDCREATE()
   
   In the ORDCREATE() syntax, the code block is not optional.  The
   syntax should be:
   
      ORDCREATE( <cOrderBagName>,[<cOrderName>],
         <cExpKey>, <bExpKey>, [<lUnique>]) --> NIL
      
   ---------------------------------------------------------------------
   11.4.3  Page 8-6,  Primary Indexes
   
   To clarify the documentation on the creation of key violation
   tables: a key violation table (KEYVIOL.DB) is created only on the
   APPEND FROM command, when the source is a (.db) file and the
   destination is a keyed (.db) file.
   
   ---------------------------------------------------------------------
   11.4.4  Page 8-7,  Temporary Indexes
   
   This version of DBPX does NOT support Temporary (partial) indexes
   
   ---------------------------------------------------------------------
   11.4.5  Page 8-7,  Secondary Indexes
   
   Secondary Indexes, contrary to the documentation, ARE maintained
   the same way normal DBFNTX indexes are maintained.
   
   ---------------------------------------------------------------------
   11.4.6  Page 8-8,  Passwords and Security
   
   The current Paradox driver, contrary to the documentation, does
   NOT support Passwords and Security.
   
   Contrary to the documentation, you may have more than twenty-four
   Paradox tables open at one time.  The number of files is
   determined by the available memory.  You may have up to fifteen
   secondary indexes open in any work area.
   
========================================================================
12.Technical Reference
   
   The Technical Reference Guide which includes API (Advanced
   Programming Interface) documentation on the Extend, Fixed Memory,
   Virtual Memory, Terminal, Replaceable Database Driver, and several
   additional APIs is available through the Computer Associates
   Supplemental Offer.  To order, refer to the enclosed slip card.
   
========================================================================
13.Copyright
   
   The installation program used to install CA-Clipper 5.2, INSTALL,
   is based on licensed software provided by Knowledge Dynamics Corp,
   P. O. Box 1558, Canyon Lake, Texas 78130-1558 (USA).  INSTALL is
   Copyrighted (c) 1987-1991 by Knowledge  Dynamics Corp which
   reserves all copyright protection worldwide.  INSTALL is provided
   to you for the exclusive purpose of installing CA-Clipper 5.2.
   Computer Associates has made modifications to the software as
   provided by Knowledge Dynamics Corp, and thus the performance and
   behavior of the INSTALL program shipped with CA-Clipper 5.2 may
   not represent the performance and behavior of INSTALL as shipped
   by Knowledge Dynamics Corp.  Computer Associates is exclusively
   responsible for the support of CA-Clipper 5.2, including support
   during the installation phase.  In no event will Knowledge
   Dynamics Corp be able to provide any technical support for
   CA-Clipper 5.2.
   
   All trade names referenced herein are either trademarks or
   registered trademarks of their respective companies.
   

                              *  *  *

035 Clipper V5.20A 3×TD
README [展开]
========================================================================
   Welcome to CA-Clipper Version 5.2!
   
   Copyright (c) 1993, Computer Associates International, Inc.
   All rights reserved.
   
   This file, README, contains information on issues that did not
   make the printed or online documentation.  It also contains some
   corrections to errors in the printed documentation.
   
========================================================================
1. Contents
   
   The following topics are covered in this documentation file:
   
    1.  Contents
    2.  Installation
    3.  Online Documentation
    4.  Drivers
    5.  Error Handling
    6.  New Error Messages
    7.  Utilities
    8.  Sample Programs
    9.  Memory
   10.  Compatibility Issues
   11.  Errata
   12.  Technical Reference
   13.  Copyright

========================================================================
2. Installation
   
   The interactive installation program, INSTALL.EXE, copies the
   CA-Clipper 5.2 files to the appropriate directories and
   subdirectories of your hard disk.  The installation procedure is
   documented in Chapter 2 of the Getting Started Guide, but this
   section contains additional information that you may need to
   successfully install CA-Clipper 5.2.
   
   Important:  The CA-Clipper 5.2 installation program default
   installation directory is \CLIPPER5.  If you have a previous
   version of CA-Clipper installed into a directory with this name,
   you will need to modify the install program default directory
   (when prompted), otherwise your previous version of CA-Clipper
   will be overwritten.
   
   ---------------------------------------------------------------------
   2.1  Command Line Arguments
   
   The following table shows the command line arguments for
   INSTALL.EXE.
   
   INSTALL.EXE Command Line Arguments
   -----------------------------------------------------------
   
   Argument       Description
   -----------------------------------------------------------
   
   /NOSWAP        Do not swap to EMS or disk
   /BW            Monochrome for color display (for Laptops)
   /MONO          Force monochrome display
   -----------------------------------------------------------
   
   ---------------------------------------------------------------------
   2.2  Default Directory Structure
   
   The CA-Clipper 5.2 directory structure created by the installation
   procedure is as follows:
   
   \CLIPPER5        Master CA-Clipper 5.2 directory
      \BIN             Executable (.EXE and .COM), batch (.BAT), and
                       help (.hlp) files
      \INCLUDE         Header (.CH and .H) files
      \LIB             Library (.LIB) files
      \PLL             Prelinked library (.PLL, .PLT, and .LNK) files
      \OBJ             Object (.OBJ) files
      \SOURCE          Master directory for source (.prg) files
         \DBU             Database Utility source files
         \PE              Program editor source files
         \RL              Report and Label Utility source files
         \SYS             Source files for runtime systems
                          (Get system, Error system, runtime portions
                          of the Report and Label system, and
                          Rddsys.prg)
         \SAMPLE          Sample program source files
   \NG              The Guide to CA-Clipper files
   
   ---------------------------------------------------------------------
   2.3  Modifying Your Environment Variables
   
   Certain environment variables (e.g., PATH, LIB, INCLUDE) should be
   set for CA-Clipper 5.2.  If you elected to modify the AUTOEXEC.BAT
   file during the installation process, your file should be up-to-
   date.  Otherwise, the appropriate settings are written to a file
   called AUTOEXEC.NEW located in the root directory of the boot
   drive.  In either case, it is important that your AUTOEXEC.BAT
   file contain these additional settings so that CA-Clipper 5.2 will
   find your files.  The required settings are as follows:
   
   1. The PATH variable should include the directory where CA-Clipper
      5.2 executable files reside (example: C:\CLIPPER5\BIN).
      
   2. The LIB variable should include the directory where CA-Clipper
      5.2 library files reside (example: C:\CLIPPER5\LIB).
      
   3. The INCLUDE variable should include the directory where
      CA-Clipper 5.2 include files reside (example:
      C:\CLIPPER5\INCLUDE).
      
   4. The PLL variable should include the directory where CA-Clipper
      5.2 prelinked library files reside (example: C:\CLIPPER5\PLL).
      
   For example:
   
   SET PATH=C:\CLIPPER5\BIN;%PATH%
   SET LIB=C:\CLIPPER5\LIB
   SET INCLUDE=C:\CLIPPER5\INCLUDE
   SET PLL=C:\CLIPPER5\PLL
   
   You may also wish to set other environment variables.  For a
   summary of environment variables used and supported by CA-Clipper
   5.2, refer to Chapter 10 of the Quick Reference Guide.  For more
   information on setting up and using the CA-Clipper development
   environment, refer to the Programming and Utilities Guide.  For
   general information about the DOS environment and setting
   environment variables, refer to your DOS manual.
   
   The installation program modifies CONFIG.SYS to:
   
   FILES=25
   BUFFERS=15
   
   If you choose to retain your current CONFIG.SYS the installation
   program creates a file named CONFIG.NEW and places it in the root
   directory of your boot drive.
   
========================================================================
3. Online Documentation
   
   The online documentation consists of the Norton Instant Access
   Engine (NG.EXE) and the following documentation databases:
   
   C52G01B.NG   The Guide To CA-Clipper
               (CA-Clipper Language Reference and Tables)
   C52G02B.NG   Error Messages
               (Compiler, Linker, RMAKE, Runtime, and DOS errors)
   C52G03B.NG   Technical Reference (not included)
               (Available through the Computer Associates
                Supplemental Offer.  To order, refer to the enclosed
                slip card)
   C52G04B.NG   Utilities and Environment Variables
               (Reference documentation for Utilities (Compiler,
                Linker, RMAKE, PE, DBU, RL, and CLD) and DOS (SET)
                Environment Variables)
   C52G05B.NG   Release Notes
               (Version Specific Information (i.e., Change Summaries)
   C52G06B.NG   Sample Programs
               (Sample Program Reference)
   C52G07B.NG   CA-Clipper Drivers Documentation
               (Complete Drivers Guide online)
   
   All of the documentation databases and the Instant Access Engine
   are installed in the \NG directory, which exists at the same level
   as the \CLIPPER5 directory.
   
========================================================================
4. Drivers
   
   CA-Clipper 5.2 includes new replaceable database drivers (RDDs) as
   well as enhanced functionality in the default DBFNTX and the
   DBFNDX drivers.  The included database drivers are DBFNTX
   (CA-Clipper indexes), DBFNDX (dBASE III compatible indexes),
   DBFMDX (dBASE IV compatible multiple indexes), DBFCDX (FoxPro
   compatible indexes) and DBPX (Paradox compatible tables).
   
   CA-Clipper 5.2 documentation includes a Drivers Guide that
   describes the RDDs, their new and enhanced command set, and the
   alternate Terminal drivers.
   
   Please note:  The online version of the DBFNTX Driver
   documentation contains "new" information about DBFNTX's optional
   new locking scheme.  Please be sure to refer to this section if
   using the DBFNTX driver.
   
   ---------------------------------------------------------------------
   4.1  Alternate Terminal Drivers Instructions
   
   The GT.OBJ supplied in the \CLIPPER5\OBJ directory must be used
   with the Alternate Terminal Drivers PCBIOS and ANSITERM.  This
   object replaces the default GT.OBJ that is contained in
   CLIPPER.LIB.  Failing to link in this replacement GT.OBJ will
   result in improper screen displays and possibly cause the computer
   to hang when using the alternate drivers.
   
   Note:  GT.OBJ does not support the horizontal argument in the
   SCROLL() function nor does it support _gtDispBegin(),
   _gtDispEnd(), or _gtDispCount().
   
   ---------------------------------------------------------------------
   4.2     Nantucket Tools II Instructions

   The CT2PATCH.OBJ supplied in the \CLIPPER5\OBJ directory adds 
   TOOLS II compatibility to CA-Clipper 5.2.  You should always use 
   it with CA-Clipper 5.2 applications that utilize TOOLS II.  This 
   is not necessary for users that do not have TOOLS II.  The 
   CTUS.OBJ supplied in the \CLIPPER5\OBJ directory replaces the 
   NT2US50.OBJ object initially shipped with TOOLS II.  Use CTUS.OBJ
   with CA-Clipper 5.2 applications that utilize TOOLS II and 
   NT2US50.OBJ.  This is not necessary for users that do not have 
   TOOLS II.

   ---------------------------------------------------------------------
   4.3  Database Driver Interoperability
   
   When using the APPEND FROM and COPY TO commands with either
   DELIMITED or SDF data, the allowable data types are limited to
   valid CA-Clipper data types.  Drivers that support "extended" data
   types will only be able to copy to and from DELIMITED or SDF data
   using databases that contain only valid CA-Clipper data types.
   
   ---------------------------------------------------------------------
   4.4  Addendum: to Drivers Reference Chapter
   
   Commands and functions that open indexes behave differently than
   documented when using (.mdx) and (.cdx) indexes.  On these "multi-
   tag" indexes, the index order is not automatically set to the
   first tag in the index.  Instead, the order is set to 0 (natural
   order).  Therefore, you must set the index order to the desired
   tag before performing any action that requires an index (e.g.,
   SEEK).  This affects the following commands and functions: SET
   INDEX, DBSETINDEX(), and ORDLISTADD().
   
   ---------------------------------------------------------------------
   4.5  DBFCDX Driver note
   
   EVAL and EVERY clauses of the INDEX ON command
   
   The EVAL clause functions differently in the DBFCDX driver than it
   does in other RDDs.  The EVAL block is evaluated at the beginning
   and at the end of each indexing process as well as at each record
   as in other RDDs.  At the beginning of the index process both
   BOF() and EOF() are true (.T.).  At the end of the indexing
   process only EOF() is true (.T.).
   
   ---------------------------------------------------------------------
   4.6.1  DBPX Driver Notes
   
   Creating Secondary Indexes
   
   The DBPX Driver automatically creates two index files of the same
   name as the table whenever indexes are created.  These files have
   the extensions (.x??) and (.y??) where "??" represents the ordinal
   position of the key field.
   
   Example:
   
      USE Customer               // Contains fields Lastname
                                 // and Phone
      
      INDEX ON Lastname TO Temp1 // Creates CUSTOMER.X01 and
                                 // CUSTOMER.Y01.
                                 // The name "Temp1" is ignored
      
      INDEX ON Phone TO Temp2    // Creates CUSTOMER.X02 and
                                 // CUSTOMER.Y02.
                                 // The name "Temp2" is ignored.
      
   ---------------------------------------------------------------------
   4.6.2  Opening Secondary Indexes
   
   Since all secondary indexes take the name of the table, you open
   and access them by the name of their key field.
   
   Example:
   
      // Continuing the example in 4.6.1:
      
      SET INDEX TO Lastname          // Open the index using the
      
                                     // name of the key field,
                                     // not "Temp1"
      
      SET INDEX TO Lastname, Phone   // Open the indexes using the
                                     // names of the key fields.
      
      ORDSETFOCUS("Phone")           // Set "Phone" as the
                                     // controlling index
      
========================================================================
5. Error Handling
   
   ---------------------------------------------------------------------
   5.1  (b) LOCKERRHAN
   
   During abnormal program terminations or when the program is
   canceled by Alt-C, CA-Clipper 5.2 produces a trace back of all the
   functions active at the time of termination.  Users who are used
   to this information will find a new item in the trace back that
   looks like (b) LOCKERRHAN.  This is a special error handler that
   is automatically installed as an INIT procedure.  This is normal.
   Other error handlers installed by INIT procedures, created by
   third-party vendors or applications developers will show up in
   this manner as well.
   
========================================================================
6. New Error Messages
   
   ---------------------------------------------------------------------
   6.1  DBFCDX/1050  Create error
   
   Explanation:  The maximum number of Orders per Order Bag was
   exceeded.  The allowable number of Orders that an Order Bag can
   contain varies by database driver.  See the Drivers guide.
   
   Action:  Create a new Order Bag (index file).
   
   ---------------------------------------------------------------------
   6.2  DBFMDX/1028  Create error
   
   Explanation:  The maximum number of Orders per Order Bag was
   exceeded.  The allowable number of Orders that an Order Bag can
   contain varies by database driver.  See the Drivers guide.
   
   Action:  Create a new Order Bag (index file).
   
   ---------------------------------------------------------------------
   6.3  DBPX/306  Create error
   
   Explanation:  Insufficient memory for an operation like SORT.  It
   is unlikely that this error will occur in the current version.
   
   Action:  Allocate more conventional memory.  Do this by removing
   TSRs, using a 386 memory manager, etc.  Ensure that any C or
   assembly language code in use is using the virtual memory system
   if it is performing dynamic memory allocation.  Any memory
   allocated using the Fixed Memory Allocator function (_xalloc() and
   _xgrab()) reduces the amount of conventional memory available.
   Free this memory as soon as possible after use.
   
   ---------------------------------------------------------------------
   6.4  DBPX/503  Create error
   
   Explanation:  An error was encountered creating, reading or
   writing a table, a lock file, or a temporary file.
   
   Action:  Make sure that sufficient disk space and directory
   entries are available.  If the file exists, make sure it is not
   marked read-only.  In a network environment, make sure the
   application has the necessary rights to create the file.
   
   See Also:  INDEX command, Network Programming chapter in the
   Programming and Utilities guide
   
========================================================================
7. Utilities
   
   ---------------------------------------------------------------------
   7.1  DBU Network Capable Features
   
   The DBU sample program has been updated to allow shared use of
   databases.  By default, DBU now opens all databases in shared mode
   and automatically performs the necessary record locks when writing
   data.
   
   Additionally, anytime a database must be opened exclusively (e.g.,
   CREATE INDEX, MODIFY STRUCTURE, ZAP) DBU automatically reopens the
   file in exclusive mode.  Should opening the file in exclusive mode
   fail, DBU attempts to reopen it in shared mode so that you can
   continue.
   
   All operations are done transparently.  If an error occurs, the
   user is notified and recovery is automatic.  In Browse mode,
   changes made by another user are automatically reflected in your
   Browse screen.
   
========================================================================
8. Sample Programs
   
   ---------------------------------------------------------------------
   8.1  SAMPLES.LIB
   
   Included in the \CLIPPER5\LIB directory is a new library called
   SAMPLES.LIB.  It contains most of the samples in compiled, ready
   to use form.  To use any of the sample functions you can include
   SAMPLES.LIB in your link line as follows:
   
     RTLINK FI <appObjectList> LIB SAMPLES
   
========================================================================
9. Memory
   
   9.1  Free Memory and Load size
   
   Free Memory is the amount of memory available to run applications.
   You can find this value by using the MEM command in DOS version
   5.0, or CHKDSK in earlier versions of DOS.
   
   Load Size is the amount of memory used by the application as it is
   loaded into memory by DOS.  .RTLink reports this value (in
   Kilobytes) at the end of a successful link.
   
   Applications require an amount of memory beyond Load Size, for
   data storage.  The approximate total memory to run an application
   is :
   
                                 minimum:    120K over load size
          desirable for best performance:   +160K over load size
   
   ---------------------------------------------------------------------
   9.2  Fixed Memory (FM) Usage
   
   To reduce the memory requirement of your application, you should
   convert your C and ASM modules to use Virtual Memory instead of
   Fixed Memory.  The VM.API headers accompany these files, but the
   documentation will be available later (be sure to mail the
   included card).
   
   ---------------------------------------------------------------------
   9.3  CA-Clipper File Services
   
   You may reduce the load size of a CA-Clipper application by using
   the built-in CA-Clipper file I/O services instead of the Microsoft
   runtime services.  The FILESYS.API headers accompany these files,
   but the documentation will be available later (be sure to mail the
   included card).
   
========================================================================
10.Compatibility Issues
   
   ---------------------------------------------------------------------
   Compiler Kit for dBASE IV
   
   The dBASE IV Kit, version 1.10 is not compatible with CA-Clipper
   5.2.  You can only use version 1.5 of the dBASE IV Kit with
   CA-Clipper 5.2.
   
========================================================================
11.Errata
   
   11.1  Reference Guide
   
   ---------------------------------------------------------------------
   11.1.1  Page 2-62, (Compound Assign) operator
   
   The documentation states that the correct operator for doing
   compound exponentiation/assignment is **=.  This is not correct.
   The correct operator is ^=.  Thus, the syntax and all references
   to **= must be changed to ^=.  There is also a note in this
   entry that states:
   
   Note:  The exponentiation operator (^) does not have a
   corresponding compound assignment operator.  The exponentiation
   compound assignment operator is **=.
   
   Replace this paragraph with:
   
   Note:  The exponentiation operator (**) does not have a
   corresponding compound assignment operator.  The exponentiation
   compound assignment operator is ^=.
   
   ---------------------------------------------------------------------
   11.1.2  Page 2-244, DBSETFILTER() function
   
   The description of the <cCondition> parameter should read:
   
   <cCondition> stores the filter condition as a character string
   for later retrieval by the DBFILTER() function.  If you omit
   this optional parameter, the DBFILTER() function will return an
   empty string for the work area.
   
   ---------------------------------------------------------------------
   11.1.3  Page 2-373, Get class
   
   Under the Examples heading, the last line of code:
   
      objGet:postBlock := { |cValue| !EMPTY(cValue) }
      
   should read:
   
      objGet:postBlock := { |oGet| !EMPTY(oGet:varGet()) }
      
   ---------------------------------------------------------------------
   11.1.4  Page 2-479, OUTSTD() function
   
   The reference to SIMPLIO.CH in both the Description and Files
   section of the OUTSTD() function entry should be SIMPLIO.CH.
   
   ---------------------------------------------------------------------
   11.1.5  Page 2-525, REINDEX command
   
   The command syntax has too many square brackets at the end.  The
   syntax should read:
   
      REINDEX [EVAL <lCondition>]
         [EVERY <nRecords>]
      
   ---------------------------------------------------------------------
   11.1.6  Page 2-416, LASTREC() function
   
   Because of the expanded functionality of RECNO() to encompass the
   concept of "identity", we wish to state here that the LASTREC()
   function continues to return only record numbers - not identities.
   LASTREC() has no expanded functionality so it is not "identity
   aware"
   
   ---------------------------------------------------------------------
   11.2  Programming and Utilities Guide
   
   ---------------------------------------------------------------------
   11.2.1.  Page 11-3,  RMAKE [/S] switch
   
   The RMAKE /S switch is no longer supported.
   
   ---------------------------------------------------------------------
   11.3.  Quick Reference Guide
   
   ---------------------------------------------------------------------
   11.3.1.  Page 7-7,  RMAKE [/S] switch
   
   The RMAKE /S switch is no longer supported.
   
   ---------------------------------------------------------------------
   11.3.2.  Page 8-1,  PE [/E] switch
   
   PE has no switches.  It accepts only the filename as a
   parameter.
   
   ---------------------------------------------------------------------
   11.3.3.  Page 8-1,  DBU /e switch
   
   This switch is optional and not case-sensitive.
   
   ---------------------------------------------------------------------
   11.4.  CA-Clipper Drivers Guide
   
   ---------------------------------------------------------------------
   11.4.1.  Page 2-3,  RDDSYS.PRG
   
   The first line of code in RDDSYS.PRG (#include "rddsys.ch") should
   be omitted.
   
   ---------------------------------------------------------------------
   11.4.2.  Page 3-27,  ORDCREATE()
   
   In the ORDCREATE() syntax, the code block is not optional.  The
   syntax should be:
   
      ORDCREATE( <cOrderBagName>,[<cOrderName>],
         <cExpKey>, <bExpKey>, [<lUnique>]) --> NIL
      
   ---------------------------------------------------------------------
   11.4.3  Page 8-6,  Primary Indexes
   
   To clarify the documentation on the creation of key violation
   tables: a key violation table (KEYVIOL.DB) is created only on the
   APPEND FROM command, when the source is a (.db) file and the
   destination is a keyed (.db) file.
   
   ---------------------------------------------------------------------
   11.4.4  Page 8-7,  Temporary Indexes
   
   This version of DBPX does NOT support Temporary (partial) indexes
   
   ---------------------------------------------------------------------
   11.4.5  Page 8-7,  Secondary Indexes
   
   Secondary Indexes, contrary to the documentation, ARE maintained
   the same way normal DBFNTX indexes are maintained.
   
   ---------------------------------------------------------------------
   11.4.6  Page 8-8,  Passwords and Security
   
   The current Paradox driver, contrary to the documentation, does
   NOT support Passwords and Security.
   
   Contrary to the documentation, you may have more than twenty-four
   Paradox tables open at one time.  The number of files is
   determined by the available memory.  You may have up to fifteen
   secondary indexes open in any work area.
   
========================================================================
12.Technical Reference
   
   The Technical Reference Guide which includes API (Advanced
   Programming Interface) documentation on the Extend, Fixed Memory,
   Virtual Memory, Terminal, Replaceable Database Driver, and several
   additional APIs is available through the Computer Associates
   Supplemental Offer.  To order, refer to the enclosed slip card.
   
========================================================================
13.Copyright
   
   The installation program used to install CA-Clipper 5.2, INSTALL,
   is based on licensed software provided by Knowledge Dynamics Corp,
   P. O. Box 1558, Canyon Lake, Texas 78130-1558 (USA).  INSTALL is
   Copyrighted (c) 1987-1991 by Knowledge  Dynamics Corp which
   reserves all copyright protection worldwide.  INSTALL is provided
   to you for the exclusive purpose of installing CA-Clipper 5.2.
   Computer Associates has made modifications to the software as
   provided by Knowledge Dynamics Corp, and thus the performance and
   behavior of the INSTALL program shipped with CA-Clipper 5.2 may
   not represent the performance and behavior of INSTALL as shipped
   by Knowledge Dynamics Corp.  Computer Associates is exclusively
   responsible for the support of CA-Clipper 5.2, including support
   during the installation phase.  In no event will Knowledge
   Dynamics Corp be able to provide any technical support for
   CA-Clipper 5.2.
   
   All trade names referenced herein are either trademarks or
   registered trademarks of their respective companies.
   

                              *  *  *

036 Clipper V5.20C 3×TD 80元
README [展开]
========================================================================
   Welcome to CA-Clipper Version 5.2!
   
   Copyright (c) 1993, Computer Associates International, Inc.
   All rights reserved.
   
   This file, README, contains information on issues that did not
   make the printed or online documentation.  It also contains some
   corrections to errors in the printed documentation.
   
========================================================================
1. Contents
   
   The following topics are covered in this documentation file:
   
    1.  Contents
    2.  Installation
    3.  Online Documentation
    4.  Drivers
    5.  Error Handling
    6.  New Error Messages
    7.  Utilities
    8.  Sample Programs
    9.  Memory
   10.  Compatibility Issues
   11.  Errata
   12.  Technical Reference
   13.  Copyright

========================================================================
2. Installation
   
   The interactive installation program, INSTALL.EXE, copies the
   CA-Clipper 5.2 files to the appropriate directories and
   subdirectories of your hard disk.  The installation procedure is
   documented in Chapter 2 of the Getting Started Guide, but this
   section contains additional information that you may need to
   successfully install CA-Clipper 5.2.
   
   Important:  The CA-Clipper 5.2 installation program default
   installation directory is \CLIPPER5.  If you have a previous
   version of CA-Clipper installed into a directory with this name,
   you will need to modify the install program default directory
   (when prompted), otherwise your previous version of CA-Clipper
   will be overwritten.
   
   ---------------------------------------------------------------------
   2.1  Command Line Arguments
   
   The following table shows the command line arguments for
   INSTALL.EXE.
   
   INSTALL.EXE Command Line Arguments
   -----------------------------------------------------------
   
   Argument       Description
   -----------------------------------------------------------
   
   /NOSWAP        Do not swap to EMS or disk
   /BW            Monochrome for color display (for Laptops)
   /MONO          Force monochrome display
   -----------------------------------------------------------
   
   ---------------------------------------------------------------------
   2.2  Default Directory Structure
   
   The CA-Clipper 5.2 directory structure created by the installation
   procedure is as follows:
   
   \CLIPPER5        Master CA-Clipper 5.2 directory
      \BIN             Executable (.EXE and .COM), batch (.BAT), and
                       help (.hlp) files
      \INCLUDE         Header (.CH and .H) files
      \LIB             Library (.LIB) files
      \PLL             Prelinked library (.PLL, .PLT, and .LNK) files
      \OBJ             Object (.OBJ) files
      \SOURCE          Master directory for source (.prg) files
         \DBU             Database Utility source files
         \PE              Program editor source files
         \RL              Report and Label Utility source files
         \SYS             Source files for runtime systems
                          (Get system, Error system, runtime portions
                          of the Report and Label system, and
                          Rddsys.prg)
         \SAMPLE          Sample program source files
   \NG              The Guide to CA-Clipper files
   
   ---------------------------------------------------------------------
   2.3  Modifying Your Environment Variables
   
   Certain environment variables (e.g., PATH, LIB, INCLUDE) should be
   set for CA-Clipper 5.2.  If you elected to modify the AUTOEXEC.BAT
   file during the installation process, your file should be up-to-
   date.  Otherwise, the appropriate settings are written to a file
   called AUTOEXEC.NEW located in the root directory of the boot
   drive.  In either case, it is important that your AUTOEXEC.BAT
   file contain these additional settings so that CA-Clipper 5.2 will
   find your files.  The required settings are as follows:
   
   1. The PATH variable should include the directory where CA-Clipper
      5.2 executable files reside (example: C:\CLIPPER5\BIN).
      
   2. The LIB variable should include the directory where CA-Clipper
      5.2 library files reside (example: C:\CLIPPER5\LIB).
      
   3. The INCLUDE variable should include the directory where
      CA-Clipper 5.2 include files reside (example:
      C:\CLIPPER5\INCLUDE).
      
   4. The PLL variable should include the directory where CA-Clipper
      5.2 prelinked library files reside (example: C:\CLIPPER5\PLL).
      
   For example:
   
   SET PATH=C:\CLIPPER5\BIN;%PATH%
   SET LIB=C:\CLIPPER5\LIB
   SET INCLUDE=C:\CLIPPER5\INCLUDE
   SET PLL=C:\CLIPPER5\PLL
   
   You may also wish to set other environment variables.  For a
   summary of environment variables used and supported by CA-Clipper
   5.2, refer to Chapter 10 of the Quick Reference Guide.  For more
   information on setting up and using the CA-Clipper development
   environment, refer to the Programming and Utilities Guide.  For
   general information about the DOS environment and setting
   environment variables, refer to your DOS manual.
   
   The installation program modifies CONFIG.SYS to:
   
   FILES=25
   BUFFERS=15
   
   If you choose to retain your current CONFIG.SYS the installation
   program creates a file named CONFIG.NEW and places it in the root
   directory of your boot drive.
   
========================================================================
3. Online Documentation
   
   The online documentation consists of the Norton Instant Access
   Engine (NG.EXE) and the following documentation databases:
   
   C52G01B.NG   The Guide To CA-Clipper
               (CA-Clipper Language Reference and Tables)
   C52G02B.NG   Error Messages
               (Compiler, Linker, RMAKE, Runtime, and DOS errors)
   C52G03B.NG   Technical Reference (not included)
               (Available through the Computer Associates
                Supplemental Offer.  To order, refer to the enclosed
                slip card)
   C52G04B.NG   Utilities and Environment Variables
               (Reference documentation for Utilities (Compiler,
                Linker, RMAKE, PE, DBU, RL, and CLD) and DOS (SET)
                Environment Variables)
   C52G05B.NG   Release Notes
               (Version Specific Information (i.e., Change Summaries)
   C52G06B.NG   Sample Programs
               (Sample Program Reference)
   C52G07B.NG   CA-Clipper Drivers Documentation
               (Complete Drivers Guide online)
   
   All of the documentation databases and the Instant Access Engine
   are installed in the \NG directory, which exists at the same level
   as the \CLIPPER5 directory.
   
========================================================================
4. Drivers
   
   CA-Clipper 5.2 includes new replaceable database drivers (RDDs) as
   well as enhanced functionality in the default DBFNTX and the
   DBFNDX drivers.  The included database drivers are DBFNTX
   (CA-Clipper indexes), DBFNDX (dBASE III compatible indexes),
   DBFMDX (dBASE IV compatible multiple indexes), DBFCDX (FoxPro
   compatible indexes) and DBPX (Paradox compatible tables).
   
   CA-Clipper 5.2 documentation includes a Drivers Guide that
   describes the RDDs, their new and enhanced command set, and the
   alternate Terminal drivers.
   
   Please note:  The online version of the DBFNTX Driver
   documentation contains "new" information about DBFNTX's optional
   new locking scheme.  Please be sure to refer to this section if
   using the DBFNTX driver.
   
   ---------------------------------------------------------------------
   4.1  Alternate Terminal Drivers Instructions
   
   The GT.OBJ supplied in the \CLIPPER5\OBJ directory must be used
   with the Alternate Terminal Drivers PCBIOS and ANSITERM.  This
   object replaces the default GT.OBJ that is contained in
   CLIPPER.LIB.  Failing to link in this replacement GT.OBJ will
   result in improper screen displays and possibly cause the computer
   to hang when using the alternate drivers.
   
   Note:  GT.OBJ does not support the horizontal argument in the
   SCROLL() function nor does it support _gtDispBegin(),
   _gtDispEnd(), or _gtDispCount().
   
   ---------------------------------------------------------------------
   4.2     Nantucket Tools II Instructions

   The CT2PATCH.OBJ supplied in the \CLIPPER5\OBJ directory adds 
   TOOLS II compatibility to CA-Clipper 5.2.  You should always use 
   it with CA-Clipper 5.2 applications that utilize TOOLS II.  This 
   is not necessary for users that do not have TOOLS II.  The 
   CTUS.OBJ supplied in the \CLIPPER5\OBJ directory replaces the 
   NT2US50.OBJ object initially shipped with TOOLS II.  Use CTUS.OBJ
   with CA-Clipper 5.2 applications that utilize TOOLS II and 
   NT2US50.OBJ.  This is not necessary for users that do not have 
   TOOLS II.

   ---------------------------------------------------------------------
   4.3  Database Driver Interoperability
   
   When using the APPEND FROM and COPY TO commands with either
   DELIMITED or SDF data, the allowable data types are limited to
   valid CA-Clipper data types.  Drivers that support "extended" data
   types will only be able to copy to and from DELIMITED or SDF data
   using databases that contain only valid CA-Clipper data types.
   
   ---------------------------------------------------------------------
   4.4  Addendum: to Drivers Reference Chapter
   
   Commands and functions that open indexes behave differently than
   documented when using (.mdx) and (.cdx) indexes.  On these "multi-
   tag" indexes, the index order is not automatically set to the
   first tag in the index.  Instead, the order is set to 0 (natural
   order).  Therefore, you must set the index order to the desired
   tag before performing any action that requires an index (e.g.,
   SEEK).  This affects the following commands and functions: SET
   INDEX, DBSETINDEX(), and ORDLISTADD().
   
   ---------------------------------------------------------------------
   4.5  DBFCDX Driver note
   
   EVAL and EVERY clauses of the INDEX ON command
   
   The EVAL clause functions differently in the DBFCDX driver than it
   does in other RDDs.  The EVAL block is evaluated at the beginning
   and at the end of each indexing process as well as at each record
   as in other RDDs.  At the beginning of the index process both
   BOF() and EOF() are true (.T.).  At the end of the indexing
   process only EOF() is true (.T.).
   
   ---------------------------------------------------------------------
   4.6.1  DBPX Driver Notes
   
   Creating Secondary Indexes
   
   The DBPX Driver automatically creates two index files of the same
   name as the table whenever indexes are created.  These files have
   the extensions (.x??) and (.y??) where "??" represents the ordinal
   position of the key field.
   
   Example:
   
      USE Customer               // Contains fields Lastname
                                 // and Phone
      
      INDEX ON Lastname TO Temp1 // Creates CUSTOMER.X01 and
                                 // CUSTOMER.Y01.
                                 // The name "Temp1" is ignored
      
      INDEX ON Phone TO Temp2    // Creates CUSTOMER.X02 and
                                 // CUSTOMER.Y02.
                                 // The name "Temp2" is ignored.
      
   ---------------------------------------------------------------------
   4.6.2  Opening Secondary Indexes
   
   Since all secondary indexes take the name of the table, you open
   and access them by the name of their key field.
   
   Example:
   
      // Continuing the example in 4.6.1:
      
      SET INDEX TO Lastname          // Open the index using the
      
                                     // name of the key field,
                                     // not "Temp1"
      
      SET INDEX TO Lastname, Phone   // Open the indexes using the
                                     // names of the key fields.
      
      ORDSETFOCUS("Phone")           // Set "Phone" as the
                                     // controlling index
      
========================================================================
5. Error Handling
   
   ---------------------------------------------------------------------
   5.1  (b) LOCKERRHAN
   
   During abnormal program terminations or when the program is
   canceled by Alt-C, CA-Clipper 5.2 produces a trace back of all the
   functions active at the time of termination.  Users who are used
   to this information will find a new item in the trace back that
   looks like (b) LOCKERRHAN.  This is a special error handler that
   is automatically installed as an INIT procedure.  This is normal.
   Other error handlers installed by INIT procedures, created by
   third-party vendors or applications developers will show up in
   this manner as well.
   
========================================================================
6. New Error Messages
   
   ---------------------------------------------------------------------
   6.1  DBFCDX/1050  Create error
   
   Explanation:  The maximum number of Orders per Order Bag was
   exceeded.  The allowable number of Orders that an Order Bag can
   contain varies by database driver.  See the Drivers guide.
   
   Action:  Create a new Order Bag (index file).
   
   ---------------------------------------------------------------------
   6.2  DBFMDX/1028  Create error
   
   Explanation:  The maximum number of Orders per Order Bag was
   exceeded.  The allowable number of Orders that an Order Bag can
   contain varies by database driver.  See the Drivers guide.
   
   Action:  Create a new Order Bag (index file).
   
   ---------------------------------------------------------------------
   6.3  DBPX/306  Create error
   
   Explanation:  Insufficient memory for an operation like SORT.  It
   is unlikely that this error will occur in the current version.
   
   Action:  Allocate more conventional memory.  Do this by removing
   TSRs, using a 386 memory manager, etc.  Ensure that any C or
   assembly language code in use is using the virtual memory system
   if it is performing dynamic memory allocation.  Any memory
   allocated using the Fixed Memory Allocator function (_xalloc() and
   _xgrab()) reduces the amount of conventional memory available.
   Free this memory as soon as possible after use.
   
   ---------------------------------------------------------------------
   6.4  DBPX/503  Create error
   
   Explanation:  An error was encountered creating, reading or
   writing a table, a lock file, or a temporary file.
   
   Action:  Make sure that sufficient disk space and directory
   entries are available.  If the file exists, make sure it is not
   marked read-only.  In a network environment, make sure the
   application has the necessary rights to create the file.
   
   See Also:  INDEX command, Network Programming chapter in the
   Programming and Utilities guide
   
========================================================================
7. Utilities
   
   ---------------------------------------------------------------------
   7.1  DBU Network Capable Features
   
   The DBU sample program has been updated to allow shared use of
   databases.  By default, DBU now opens all databases in shared mode
   and automatically performs the necessary record locks when writing
   data.
   
   Additionally, anytime a database must be opened exclusively (e.g.,
   CREATE INDEX, MODIFY STRUCTURE, ZAP) DBU automatically reopens the
   file in exclusive mode.  Should opening the file in exclusive mode
   fail, DBU attempts to reopen it in shared mode so that you can
   continue.
   
   All operations are done transparently.  If an error occurs, the
   user is notified and recovery is automatic.  In Browse mode,
   changes made by another user are automatically reflected in your
   Browse screen.
   
========================================================================
8. Sample Programs
   
   ---------------------------------------------------------------------
   8.1  SAMPLES.LIB
   
   Included in the \CLIPPER5\LIB directory is a new library called
   SAMPLES.LIB.  It contains most of the samples in compiled, ready
   to use form.  To use any of the sample functions you can include
   SAMPLES.LIB in your link line as follows:
   
     RTLINK FI <appObjectList> LIB SAMPLES
   
========================================================================
9. Memory
   
   9.1  Free Memory and Load size
   
   Free Memory is the amount of memory available to run applications.
   You can find this value by using the MEM command in DOS version
   5.0, or CHKDSK in earlier versions of DOS.
   
   Load Size is the amount of memory used by the application as it is
   loaded into memory by DOS.  .RTLink reports this value (in
   Kilobytes) at the end of a successful link.
   
   Applications require an amount of memory beyond Load Size, for
   data storage.  The approximate total memory to run an application
   is :
   
                                 minimum:    120K over load size
          desirable for best performance:   +160K over load size
   
   ---------------------------------------------------------------------
   9.2  Fixed Memory (FM) Usage
   
   To reduce the memory requirement of your application, you should
   convert your C and ASM modules to use Virtual Memory instead of
   Fixed Memory.  The VM.API headers accompany these files, but the
   documentation will be available later (be sure to mail the
   included card).
   
   ---------------------------------------------------------------------
   9.3  CA-Clipper File Services
   
   You may reduce the load size of a CA-Clipper application by using
   the built-in CA-Clipper file I/O services instead of the Microsoft
   runtime services.  The FILESYS.API headers accompany these files,
   but the documentation will be available later (be sure to mail the
   included card).
   
========================================================================
10.Compatibility Issues
   
   ---------------------------------------------------------------------
   Compiler Kit for dBASE IV
   
   The dBASE IV Kit, version 1.10 is not compatible with CA-Clipper
   5.2.  You can only use version 1.5 of the dBASE IV Kit with
   CA-Clipper 5.2.
   
========================================================================
11.Errata
   
   11.1  Reference Guide
   
   ---------------------------------------------------------------------
   11.1.1  Page 2-62, (Compound Assign) operator
   
   The documentation states that the correct operator for doing
   compound exponentiation/assignment is **=.  This is not correct.
   The correct operator is ^=.  Thus, the syntax and all references
   to **= must be changed to ^=.  There is also a note in this
   entry that states:
   
   Note:  The exponentiation operator (^) does not have a
   corresponding compound assignment operator.  The exponentiation
   compound assignment operator is **=.
   
   Replace this paragraph with:
   
   Note:  The exponentiation operator (**) does not have a
   corresponding compound assignment operator.  The exponentiation
   compound assignment operator is ^=.
   
   ---------------------------------------------------------------------
   11.1.2  Page 2-244, DBSETFILTER() function
   
   The description of the <cCondition> parameter should read:
   
   <cCondition> stores the filter condition as a character string
   for later retrieval by the DBFILTER() function.  If you omit
   this optional parameter, the DBFILTER() function will return an
   empty string for the work area.
   
   ---------------------------------------------------------------------
   11.1.3  Page 2-373, Get class
   
   Under the Examples heading, the last line of code:
   
      objGet:postBlock := { |cValue| !EMPTY(cValue) }
      
   should read:
   
      objGet:postBlock := { |oGet| !EMPTY(oGet:varGet()) }
      
   ---------------------------------------------------------------------
   11.1.4  Page 2-479, OUTSTD() function
   
   The reference to SIMPLIO.CH in both the Description and Files
   section of the OUTSTD() function entry should be SIMPLIO.CH.
   
   ---------------------------------------------------------------------
   11.1.5  Page 2-525, REINDEX command
   
   The command syntax has too many square brackets at the end.  The
   syntax should read:
   
      REINDEX [EVAL <lCondition>]
         [EVERY <nRecords>]
      
   ---------------------------------------------------------------------
   11.1.6  Page 2-416, LASTREC() function
   
   Because of the expanded functionality of RECNO() to encompass the
   concept of "identity", we wish to state here that the LASTREC()
   function continues to return only record numbers - not identities.
   LASTREC() has no expanded functionality so it is not "identity
   aware"
   
   ---------------------------------------------------------------------
   11.2  Programming and Utilities Guide
   
   ---------------------------------------------------------------------
   11.2.1.  Page 11-3,  RMAKE [/S] switch
   
   The RMAKE /S switch is no longer supported.
   
   ---------------------------------------------------------------------
   11.3.  Quick Reference Guide
   
   ---------------------------------------------------------------------
   11.3.1.  Page 7-7,  RMAKE [/S] switch
   
   The RMAKE /S switch is no longer supported.
   
   ---------------------------------------------------------------------
   11.3.2.  Page 8-1,  PE [/E] switch
   
   PE has no switches.  It accepts only the filename as a
   parameter.
   
   ---------------------------------------------------------------------
   11.3.3.  Page 8-1,  DBU /e switch
   
   This switch is optional and not case-sensitive.
   
   ---------------------------------------------------------------------
   11.4.  CA-Clipper Drivers Guide
   
   ---------------------------------------------------------------------
   11.4.1.  Page 2-3,  RDDSYS.PRG
   
   The first line of code in RDDSYS.PRG (#include "rddsys.ch") should
   be omitted.
   
   ---------------------------------------------------------------------
   11.4.2.  Page 3-27,  ORDCREATE()
   
   In the ORDCREATE() syntax, the code block is not optional.  The
   syntax should be:
   
      ORDCREATE( <cOrderBagName>,[<cOrderName>],
         <cExpKey>, <bExpKey>, [<lUnique>]) --> NIL
      
   ---------------------------------------------------------------------
   11.4.3  Page 8-6,  Primary Indexes
   
   To clarify the documentation on the creation of key violation
   tables: a key violation table (KEYVIOL.DB) is created only on the
   APPEND FROM command, when the source is a (.db) file and the
   destination is a keyed (.db) file.
   
   ---------------------------------------------------------------------
   11.4.4  Page 8-7,  Temporary Indexes
   
   This version of DBPX does NOT support Temporary (partial) indexes
   
   ---------------------------------------------------------------------
   11.4.5  Page 8-7,  Secondary Indexes
   
   Secondary Indexes, contrary to the documentation, ARE maintained
   the same way normal DBFNTX indexes are maintained.
   
   ---------------------------------------------------------------------
   11.4.6  Page 8-8,  Passwords and Security
   
   The current Paradox driver, contrary to the documentation, does
   NOT support Passwords and Security.
   
   Contrary to the documentation, you may have more than twenty-four
   Paradox tables open at one time.  The number of files is
   determined by the available memory.  You may have up to fifteen
   secondary indexes open in any work area.
   
========================================================================
12.Technical Reference
   
   The Technical Reference Guide which includes API (Advanced
   Programming Interface) documentation on the Extend, Fixed Memory,
   Virtual Memory, Terminal, Replaceable Database Driver, and several
   additional APIs is available through the Computer Associates
   Supplemental Offer.  To order, refer to the enclosed slip card.
   
========================================================================
13.Copyright
   
   The installation program used to install CA-Clipper 5.2, INSTALL,
   is based on licensed software provided by Knowledge Dynamics Corp,
   P. O. Box 1558, Canyon Lake, Texas 78130-1558 (USA).  INSTALL is
   Copyrighted (c) 1987-1991 by Knowledge  Dynamics Corp which
   reserves all copyright protection worldwide.  INSTALL is provided
   to you for the exclusive purpose of installing CA-Clipper 5.2.
   Computer Associates has made modifications to the software as
   provided by Knowledge Dynamics Corp, and thus the performance and
   behavior of the INSTALL program shipped with CA-Clipper 5.2 may
   not represent the performance and behavior of INSTALL as shipped
   by Knowledge Dynamics Corp.  Computer Associates is exclusively
   responsible for the support of CA-Clipper 5.2, including support
   during the installation phase.  In no event will Knowledge
   Dynamics Corp be able to provide any technical support for
   CA-Clipper 5.2.
   
   All trade names referenced herein are either trademarks or
   registered trademarks of their respective companies.
   

                              *  *  *

037 VISUAL INTERFORCE 1.1 FOR CLIPPER 1×HD
原始 1.DDI VI11_1
038 Clipper EXPAND LIB 1×HD
RAW 1.raw
原始 1.IMG
039 Clipper LIB GET OBJECT CLASS 1×HD
RAW 1.raw
原始 1.IMG
040 Clipper LIB TBROESE OBJECT CLASS 1×HD
RAW 1.raw
原始 1.IMG
041 Clipper LIBRARY - CLASS V1.07 1×HD
042 Clipper LIBRARY - GRUMP FISH 1×HD
RAW 1.raw
原始 1.IMG
043 Clipper LIBRARY - OVERLAY V3.5 1×HD
README [展开]
                               OverLay() 3.5


          This README file contains additions and bug fix information
          for OverLay() version 3.5.  Listed below is each major
          version release (including 3.5) and it's improvements over
          the previous major release.

          This file contains printer page feeds to start a new page
          at each major section.

          If you are using Blinker, WarpLink, or RTLink, please note
          that you MUST link RESIDENT.OBJ into the root.  Also, if
          you are using RTLink/Plus and want to use virtual memory
          overlays, you must use the auto-response file OVERCLVM.LNK
          which uses a special version of the OverLay() library file
          called OVERCLRT.LIB.

          -----------------------------------------------------------


          Corrections to the manual:


          On page 89 in the listing of OverLay() error codes, error 9
          should be entitled, "Error writing/reading from HIMEM
          memory" instead of "Error locking HIMEM for
          writing/reading"

          -----------------------------------------------------------


          Version 3.5 bug fixes and enhancements to version 3.4:


          OverLay() now works with HIMEM.SYS memory under Windows
          3.0's 386 enhanced mode.  OverLay() now uses an alternative
          method of writing to HIMEM.SYS memory that is compatible
          with Windows 3.0's 386 enhanced mode.

          OverLay() now saves the entire interrupt table, not just
          the first 63 interrupts.  This eliminates the need for the
          Advanced Functions O_SaveInts() and O_LoadInts() which
          were needed with a few software packages that changed
          interrupts above the first 63.

          When expanded handle tables are in use, it is best to make
          sure that 15 or fewer files are open when the OverLay()
          function is called.  OverLay() uses an alternative method
          of moving expanded handle tables under DOS 3.3 or above if
          15 or fewer files are open.  This will assure that your
          program will work under OS/2's DOS compatibility box.  This
          enhancement of the OverLay() function has removed the need
          for the O_SetFiles() function.

          The .OBJ files containing OverLay()'s library of functions
          were renamed to match the name of the function they
          contain.

          Many of the "default setting" functions were modified to
          return the current value when no parameter is passed to
          them.  These modified functions include: O_EnvSize(),
          O_ExtInUse(), O_ExtraEnv(), O_NewEnv(), O_RestDir(),
          O_Stuff0(), O_TempExt(), O_TempName(), O_UseDOS2(),
          O_UseExp(), O_UseExt(), O_UseHIMEM(), O_Relocate(),
          O_RestInts().

          The O_CD() function would return true if you specified the
          root directory of a non-existent drive.  This has been
          fixed.

          The O_ErrWait() function was added to modify OverLay()'s
          behavior when a critical error occurs.

          The O_ExtINKEY() and O_INKEY() functions were modified to
          return the "enhanced" keycode of the extra keys on an
          "enhanced keyboard".

          The O_GetTemp() function was modified to return the fully
          qualified path of the temporary file.  O_GetTemp()'s file
          numbering logic was also modified to allow a user to create
          large numbers of temporary files in the same directory
          faster.

          The O_Keyboard() function has been greatly enhanced.  You
          can now specify non-alphanumeric keys within curly
          brackets.  You no longer have to specify the keycodes for
          these keys.  This totally eliminates the need for the
          O_INKEY() and O_ExtINKEY() functions.

          The O_Keyboard() function was also enhanced to eliminate
          the need to use the O_Stuff0(.f.) function with some
          programs such as WordPerfect when an enhanced keyboard is
          being used.

          The O_NewEnv() function has been modifed to copy enviroment
          strings passed to it into static "locked" memory.  This
          function can now be used with Clipper 5.0.

          The O_SetFiles() function is no longer needed and has been
          removed from the library.

          The O_SkipInts() function has been added as an Advanced
          Function to make it easier to keep interrupt routines
          active while shelled out with OverLay().  The function
          eliminates the need for the Advanced Functions O_ResetInt()
          and O_RestInts().

          The O_TempName() function can now accept a name of less
          than four characters.

          The O_Version() function has been standardized so that the
          first three characters will always represent the version
          number in use.

          The TSR utility TSRINT.COM was enhanced to mark changed
          interrupts with an "*".

          -----------------------------------------------------------


          Version 3.4 bug fixes and enhancements to version 3.3:


          OverLay() can now be used with RTLink/Plus!  The entire
          library can even be virtualized!  You must link in
          OVERCLRT.LIB and you must use the supplied OVERCLVM.LNK
          auto response file.

          When using the O_GetID() function under DR-DOS, the
          function would return the current directory instead of an
          empty string to indicate there was no previous OverLay()
          shell at the specified level.  This was due to an anomoly
          in DR-DOS.  OverLay()'s O_GetID() function has been
          enhanced to overcome this problem.  It is important to note
          that the change to O_GetID() requires you to re-link all of
          your applications that use the O_GetID() function.

          -----------------------------------------------------------


          Version 3.3 bug fixes and enhancements to version 3.2:


          Quite incredibly, a rather unsightly bug was discovered
          during routine testing.  It appears that this bug existed
          in the last several revisions of OverLay().

          When OverLay() is called it checks to see how much memory
          is already free and only frees up what it has to free up.
          If no memory needs to be freed up to meet the requested
          amount of free memory, then OverLay() does not free any up.
          The bug occurred under those circumstances.  If the amount
          of already free memory exceeded the request for free memory
          and expanded memory was turned on, OverLay() would try to
          allocate 0K of expanded memory and would be unsuccessful.
          O_ErrMajor() would then return an error code of 8.

          Since most program using OverLay() are huge and they use
          OverLay() to run other huge programs, not many would have
          encountered this problem.


          -----------------------------------------------------------


          Version 3.2 bug fixes and enhancements to version 3.1:


          The O_Keyboard() command has been enhanced.  You may now
          use the number 1 by itself as a special character.  This
          tells O_Keyboard() to wait for the user to hit a key before
          continuing.  This has limited uses, but is useful when the
          user must make a choice or enter a code.

          The O_Keyboard() command did fool some programs that allow
          the use of "enhanced keyboards".  These programs would
          think a "standard keyboard" was installed instead.  This
          caused the F11 and F12 keys to appear to be disabled.
          OverLay() has now been enhanced to support the "enhanced
          keyboard" BIOS calls.

          Some TSRs (particularly some mainframe communications TSRs)
          do not expect other programs to use expanded memory or if
          other programs use expanded memory, the TSRs expect the
          other programs to restore the expanded memory "mapping".
          OverLay() has been enhanced to accomodate those TSRs.

          The demo version of OverLay() contained a line of code that
          caused problems with Blinker if the OVERCL.LIB file was
          dynamically overlaid.  In particular, Blinker would cause
          OverLay() to overwrite a random byte in memory.  This line
          of code has now been modified to overcome this limitation
          of Blinker.  The problem only occured with the demo version
          of OverLay() and only with Blinker.


          -----------------------------------------------------------


          Version 3.1 bug fixes and enhancements to version 3.0:


          Two new functions were added.  O_DOSVer() returns the DOS
          version number.  O_SetFiles() expands/contracts the DOS
          file handle table and is used especially with OS/2's DOS
          compatibility box.

          If OverLay() encountered an error allocating expanded
          memory or HIMEM.SYS memory, it would continue saving to
          disk.  Yet, upon return it would report an error allocating
          expanded or HIMEM.SYS memory.  This has been changed.  Now,
          if an allocation error occurs, OverLay() returns
          immediately and reports the error.

          The .OBJ file's "MODULE" names were changed to match the
          name of the function contained in the .OBJ.  This is useful
          in connection with PLINK86 and RTLINK's SECTION MODULE
          command.  Please see Appendix G and H below for more
          information.

          When linking with PLINK86, PLINK86 would sometimes report a
          Warning 10 when OVERLAY.OBJ was put into a PLINK86 overlay.
          This would happen when other functions from The OverLay()
          Library were also used and their .OBJ files were not
          individually linked in, but, rather, OVERCL.LIB was linked
          in so that PLINK86 could find the functions.  This has now
          been corrected.


          -----------------------------------------------------------


          Version 3.0 bug fixes and enhancements to version 2.09:


          When a critical error occurs, OverLay() now displays a
          message on the screen describing the error number before
          aborting to DOS.

          The O_Keyboard() function has been expanded to allow you to
          "stuff" up to 250 characters.

          OverLay() has been improved to allow better use within a
          overlay.  If you place the OVERLAY.OBJ file in an overlay,
          you no longer have to set OverLay()'s user definable
          options every time you call OverLay().

          OverLay() can now be used with "dynamic" overlay managers
          such as Blinker and WarpLink.  These "dynamic" linkers are
          similiar to RTLink (that will be included in Clipper 5.0),
          but they also allow the "dynamic" overlaying of C and
          Assembler code, as well as Clipper code.  When used with
          either product, OverLay() increases the .EXE size by less
          than 1K!

          OverLay() is now compatible with PC-MOS/386.

          OverLay() now saves the first 63 interrupts instead of just
          the first 40.  This makes it more compatible with other 3rd
          party products such as Clipper Tools One.  With Clipper
          Tools One you no longer need to use the DSETWINDOW()
          function before calling OverLay().

          OverLay() is now compatible with DOS version 2.0 and 2.10.
          Because of a bug in DOS versions prior to 2.11, OverLay()
          was only compatible with DOS version 2.11 and higher.  We
          have now found a way around the DOS bug.

          The O_DirExist() function was finally (truly) fixed to
          detect the existence of drives only.  Thus, you can see if
          drive E: exists by calling the function O_DirExist("E:").

          The expanded memory support has been enhanced.  Some
          expanded memory managers were operating in an "unexpected"
          way from the standpoint of OverLay() causing one of several
          problems.  OverLay() now allows for this "unexpected"
          behavior.

          Support for expanded handle tables with DOS versions 3.3
          and above was modified.  This corrects a problem with
          certain versions of DOS 3.3 that caused an extra 64K to be
          unavailable.

          OverLay() was interfering with at least one program's
          ability to return the current directory.  Extra safeguards
          have been added to prevent this from happening again.


          -----------------------------------------------------------


          Version 2.09 bug fixes and enhancements to version 2.05:


          The OverLay() function had faulty logic when restoring the
          interrupts after returning from the called program.  This
          could cause the computer to "hang" if the calling program
          changed any interrupts before calling OverLay().  This has
          been corrected.

          The O_RestAll() function has been removed from the library.
          OverLay() now restores all of the first 40 interrupts (now
          the first 63 interrupts with version 3.0) that have been
          changed.

          The O_RestInts(.F.) function now prevents OverLay() from
          restoring changed interrupts when OverLay() returns from
          the called program, as well as, preventing OverLay() from
          restoring changed interrupts when OverLay() is called.
          Interrupts 0, 15, 16, 21, 23, 24 are special cases.  They
          are almost always restored when OverLay() returns from the
          called program.

          The O_DirExist() function sometimes would give errorneous
          results when checking for a drive letter only, i.e. the
          call O_DirExist("F:") could return .T. even if it did not
          exist.

          The OverLay() function was always restoring the cursor if
          it was turned off.  This has been removed.

          The O_GetTemp() function had a serious logic error that
          caused a random location in memory to be overwritten.  This
          could, of course, cause serious problems.

          HIMEM.SYS driver use has now been turned OFF by default.
          You must call the function O_UseHIMEM(.T.) to turn on
          HIMEM.SYS usage.  Extended memory usage is still turned OFF
          by default.  Expanded memory usage is still turned ON by
          default.

          OverLay() can now be placed within a PLINK86-type overlay.


          -----------------------------------------------------------
RAW 1.raw
原始 1.IMG
044 Clipper LIBRARY - TOM RETTING'S 1×HD
RAW 1.raw
原始 1.IMG
045 Clipper LIBRARY - SUPER LIBRARY V1.51 2×HD
README.DOC [展开]
        This is the shareware version of the Super.Lib Library for
        Clipper. It is fully functional. See documentation for registration,
        which entitles you to FULL SOURCE CODE  latest version
        and 24 hour BBS support.

     ** Fri  04-06-1990  ADDED SUPPORT FOR BLINKER LINKER
     ** Fri  06-29-1990  Added Clipper 5.0 support

        Files on this disk

            README.DOC             This file

            SF.PRG                 Super.Lib demo program source
            SUPER.LIB              Super.Lib library
            SUPER.DOC              General Documentation
            SUPER.FUN              Full Clipper function description
            SUPER_C.FUN            Full C/ASM function description
            ALPHA.FUN              Alphabetical function list
            SUPPORT.DOC            Support information
            TODATE.DOC             Changes log (chronological)
            ORDER.DOC              Order form

            BLCOMP.BAT             Sample batch for BLINKER compile
            PLCOMP.BAT             Sample batch for PLINK compile
            TLCOMP.BAT             Sample batch for TLINK compile
            MSCOMP.BAT             Sample batch for LINK compile

            SUPER.NG               Norton Guide Datafile for SUPER.LIB


     Demonstration:
     ------------------------------------------------------------------------
     The file SF.PRG is provided as a useable demo of the library functions.
     SF.PRG is an all-purpose generic data handler.

     Compile SF.PRG   (Clipper SF )

     To link SF.OBJ


           Turbo Link (Tlink) :
           TLINK SF,,,clipper + extend +  super


           Microsoft Link    :
           LINK SF,,,clipper,extend,super /SE:512 /NOE


           Plink86           :
           PLINK86 fi SF lib clipper,super,extend

           BLINKER           :
           BLINKER fi SF lib super,clipper,extend

        ---------------------------------------------------------

        Try the library for as long as you like. If you decide to
        incorporate it into your apps, or would like the source
        code and additional support, send in the registration or
        call.

        If you use the library, please register it. This is what I
        do for a living, and your support is appreciated.


        Garry Prefontaine
        Functional Software
RAW 1.raw 2.raw
原始 1.IMG 2.IMG
046 Clipper LIBRARY - FLEX FILE V1.07 1×HD
README.TXT [展开]
                              FlexFile
                            Version 1.07
                        Ganahl Software, Inc.
                         Copyright (c) 1991


    Please read the contents of this file.  It represents changes to
    the documentation which occurred after printing and in some cases
    represents information critical to the use of FlexFile.

    In all cases, the Norton Guides database (FlexFile.ng) and the
    (FlexFile.doc) supercede the printed manual. In addition, all
    elements discussed in this readme file are incorporated into the
    Guides and FlexFile.doc.

    Note: FlexFile is a commercial product.  Do not make any copies
    except for archival purposes.


Ganahl Software, Inc.
P.O. Box 4275
Deerfield Beach
Tel: (305) 566-1796
FAX: (305) 566-3517

*************************************************************************
General Notes (Ver 1.07)

This readme file is updated in reverse chronological order.  Therefore,
if you already own FlexFile and receive this as an update, you will only
have to read down to your previous version.

The only change in Ver 1.07 is the addition of the encryption and
decryption functions V_ENCRYPT(), V_DECRYPT() and V_SETKEY().  See the
Norton Guides Database (included in self extracting arcive FlexFile.exe).

*************************************************************************
General Notes  (Ver 1.06)

Version 1.06 is a minor upgrade addressing a few minor bugs and adding a
couple of new functions.

The main feature, however, is internal error checking for programmer
errors.  There were several instances in previous versions where, if the
program went awry, the DBV file would get corrupted.  Error checking has
been introduced to thwart corruption (even by code that behaves poorly).

*************************************************************************
General Notes  (Ver 1.03, 1.04, 1.05)

Minor bug fixes.

*************************************************************************
General Notes  (Ver 1.02)

Version 1.02 of FlexFile is primarily a maintenance release.  However, the
system which saves and restores Clipper arrays has been completely
rewritten.  This should only affect you if ALL of the following three
conditions apply to you.

   1. You have an application written in Clipper 5.0x that is sharing a
   FlexFile DBV file with an application written in S87.

   2. You had saved a Clipper S87 array to this FlexFile DBV using the
   FLEX_87.LIB version 1.01 or less (version 1.01 was dated 2/18/91).

   3. You want to retrieve that array with a program linked with
   FLEXFILE.LIB version 1.02 or greater (version 1.02 is dated 7/27/91).

The only change you must make is to use V_FILLEN() in place of V_LEN() when
DECLAREing the array.  To get a full description of this process, read the
documentation on V_FILLEN() and V_FILLARR() in the Norton Guides data base
or the FlexFile.doc documentation.

The good news is that any array saved with this *new* FLEX_87.LIB (version
1.02) are totally compatible with single dimentional arrays saved or
restored with the *new* FLEXFILE.LIB (version 1.02).  That means that you
do not have to use the V_FILLARR() functions in your 5.0 code to read
arrays that are created with S87 code version 1.02.  Read the documentation
on V_ARETRIEVE() and V_FILLARR() to understand how to implement these
functions for Clipper 5.0x code and for Summer 87 code, respectively.

The reason for all these array changes is a vast improvement in speed and a
substantial reduction in size of the *new* stored arrays.

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

The following functions were omitted from the manual because they are new
since the time of printing. They are fully documented in the Guides and the
text documentation "FlexFile.doc".

V_ARETRIEVE() - Retrieve an array from a field (Clipper 5.0 only)
V_AREPLACE()  - Replace old data with an array (Clipper 5.0 only)
V_COMMIT()    - Commit DOS buffers to disk. (DOS 3.3 or greater)
V_DECRYPT()   - Decrypt a variable previously encrypted with V_ENCRYPT().
V_ENCRYPT()   - Encrypt a Clipper string to an unreadable form.
V_FILLEN()    - Get length of array saved by FLEX_87.lib (ver 1.01 or less).
V_HANDLE()    - Return the DOS file handle for a DBV file.
V_ISOPEN()    - Determine if a file is open in a DBV work area.
V_RANDOM()    - Return or seed a psuedo random number.
V_SET_COMMIT()- Set DBV/DOS buffer flushing automatically on/off.
V_SETKEY()    - Set a password key to be used with V_ENCRYPT() and V_DECRYPT()
V_TOPPTR()    - Read/Replace FlexFile data without a DBF file (advanced).
V_WALK_DBV()  - Step from field to field in a DBV file without a DBF.
V_WNDCREATE() - Create a Proclip window from one previously V_REPLACE()d

******************************************************************************
Disaster Recovery

Read the documentation on Disaster Recovery in the Norton Guides data base
or the FlexFile.doc file.  This outlines probable causes of corrupted DBV
files, methods for recovery of corrupted DBV files, and how to manage a DBV
file when its related DBF file is lost or dammaged.  Read the documentation
on V_WALK_DBV() if you have lost the controlling DBF for a DBV.

******************************************************************************
FlexFile Strongly Typed Arrays

FlexFile's Strongly Typed Arrays were designed primarily to allow
multi-dimensional arrays in far less memory.  However, because of the new
VMM system in Clipper, flexfile's "S"tring type arrays SHOULD NOT BE USED
with Clipper 5.0x.  They will actually use more conventional memory than
their Clipper counterparts.  However, all other types of FlexFile arrays
are handled properly by the VMM system and will be smaller and more
efficient than their Clipper counterparts.

The Clipper 5.0 A_ADD() and A_SIZE() had some problems in the version 1.01
and version 1.00.  These functions have been fixed in version 1.02.

******************************************************************************
Version 1.01
*************************************************************************

The manual (pg. 10) states that V_USE will fail (returning -1) if
you are V_USE()ing a file in shared mode and are working on a
local drive that does not have SHARE.EXE loaded.  This was
changed in order to be compatable with Clipper's USE and locking
functions.

The new implementation allows a file to be opened in shared mode
on a local drive (even if SHARE.EXE is not loaded).  No actual
locking is provided, of course, until SHARE.EXE is loaded or
until a network shell such as NET4 is introduced into the
environment.

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

A_DECLARE() has a main syntax and an optional syntax.  The
printed documentation has a misprint in the optional sytax for
the function (bottom of page 77).

The printed documentation reads (incorrectly):

    aLargeArr = A_DECLARE(@<aLargeArr>,
                           <cType>,
                           <nElement>,
                           [<nElements>...] )

The following syntax is what was intended:

    // Do not use the return value from A_DECLARE when passing
    // the array by reference.  Also, note the order of parameters
    // one and two.
     A_DECLARE( <cType>,
               @<aLargeArr>,
                <nElement>,
                [<nElements>...] )

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

Binary (logical) arrays are not supported by many of the FlexFile
array functions.  For example, you cannot A_SORT() a binary array. The
FlexFile array functions which operate on binary arrays are:

             A_STORE()
             A_SCAN()
             A_RETRIEVE()
             A_LEN()
             A_TYPE()

The printed manual failed to recognize this fact in several of the
array functions.

Note also, that the previous "Readme.txt" file specifically stated that
A_SCAN() did not support binary arrays.  A_SCAN() does support binary
arrays; the readme file was in error.


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

Many of the array functions are described in the manual as having a
default scope of "to the end of the row in the current dimension".
This was changed in every case to be "to the end of the array".

So, for example, if you are copying one array into another and do not
pass a parameter indicating how many elements to copy, FlexFile will
copy all elements to the end of the array.  This is true for multi-
dimensional arrays as well. See the section on ARRAYS in the manual
to understand the "wrapping" behavior of functions like these that span
several dimensions.

*************************************************************************
The following functions have had minor changes in the written
documentation.  The Norton Guides and the "FlexFile.doc" file have
the most up to date documentation on these functions.

   A_AVERAGE()
      if nCount is not specified, the average will continue until
      the end of the array, not the end of the current row.
   A_ADD()
      <aTarget> _must_ be passed by reference.
      return is .t. or .f. not value.
      value is no longer a parameter.
   A_SIZE()
      <aTarget> _must_ be passed by reference.
   V_REPLACE()
      returns a (.F.) on error
   A_RETRIEVE()
      returns a '' on error
   V_POKE()
      optional parameter  #3 was not originally optional
**************************************************************************

   The error codes in Appendix B have be defined explicitly in
   the Guides and in FlexFile.doc

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

   The manual states that a V_REPLACE( "", old_fld ) is not the same
   as a V_DELETE().  This has been changed so that the two have the
   same affect.  The above stated V_REPLACE will return six spaces
   which is a "null pointer" to FlexFile. All space that was associated
   with old_fld will become available for use by other data.

**************************************************************************
RAW 1.raw
原始 1.IMG
047 Clipper LIBRARY - SUPER LIBRARY PROFESSIONAL V2.5 3×HD
原始 1.IMG 2.IMG 3.IMG
048 Clipper LIBRARY - CALC (DB) 1.0 FOR SPREAD SHEET 1×HD
RAW 1.raw
原始 1.IMG
049 Clipper LIBRARY - TOOL KIT V2.01 1×HD
RAW 1.raw
原始 1.IMG
050 Clipper LIBRARY - ZIPPER V2.01 3×HD
原始 1.IMG 2.IMG 3.IMG
051 CLIPPER DEVELOPER KIT 3×HD
README.KIT [展开]
========================================================================
1   Welcome to Matt Whelan Compiler Kit - dBASE IV Edition

    Copyright (c) 1992 Nantucket Corporation.  All rights reserved.

    This file contains the most up-to-date information about the
    product, including additional installation instructions and
    detailed distribution disk contents.




========================================================================
2   On-line Documentation

    The on-line documentation system consists of the Norton Instant
    Access Engine (NG.EXE) and several documentation databases that are
    listed below:

    IVKIT.NG   The Guide to IV Kit
               (Compiler Kit reference)

    C5G01A.NG  The Guide To Clipper
               (Clipper language and reference tables)

    C5G02A.NG  Error Messages
               (Compiler, linker, runtime, RMAKE error messages)

    C5G03A.NG  Extend System
               (Extend function reference documentation)

    C5G04A.NG  Utilities
               (Utilities reference documentation)

    C5G05A.NG  Release Notes
               (Change summaries and topical information)

    C5G06A.NG  Sample Reference
               (Reference for sample programs)

    All of the documentation databases and the Instant Access Engine are
    installed in the default configuration into \NG.


========================================================================
2   Performance Tips

    Due to the overhead required to handle dBASE IV extensions,
    performance for screens containing a large number of GETS may become
    slower than expected.  Note that it is the GET creation, not the
    display which causes the reduction in performance, therefore
    anything you can do to avoid repetitive re-drawing will show a big
    improvement.

    1. Use FORMAT files.  With FMT files, GETs are only created the
       first time, and are kept for re-use on subsequent screens.

    2. Save and re-use your GETs. We have added the following commands:

       SAVE GETS    [ AS   <name> ]
       RESTORE GETS [ FROM <name> ]
       RELEASE GETS [ FROM <name> ] SHOW GETS

       Using these, a quick edit of your program should give instant
       benefits. Separate the screen-draw and GET code and only
       execute the GET code once, saving the GETs for re-use. Example:

       DO SETUP          && first time

       DO WHILE dataentry

          RESTORE GETS FROM fred
          SHOW GETS
          READ
          ... etc
       ENDDO

       PROCEDURE SETUP

          DO SCRNDRAW       && the ..SAY parts (should only need this once!)
          DO MYGETS         && the ..GET parts
          SAVE GETS AS fred

       RETURN


    Popups

      One of the limitations of dBASE FIELD popups is they cannot
      accept an expression, and then load the whole database into memory.

      The IVKit popups do not need to load the entire database, can use
      expressions, and will make use of an index for key searching when
      it is available. You can obtain significant speed improvements by
      making sure there is a usable index active when invoking the Popup.
      To use expressions the syntax is virtually identical to other
      popups:

      DEFINE POPUP <name> <options> PROMPT EXPRESSION <expression> <opts>


========================================================================
3   Compatibility

    We have gone to extreme lengths to make the Compiler Kit compatible
    and easy to use. Most of our large test applications compile on
    'auto-pilot', and we expect yours to as well.

    If this is not the case please let us know, and we'll do our best to
    fix it as quickly as possible. One of the benefits of the dBase
    language is its flexibility, but that can also be a problem for
    people like us. There are so many ways of using each command, and
    combinations of commands, that even the developers of dBase have
    probably never fully understood all of the variations.

    As well as offering you an early update to the 1.5 version of the
    kit, we will be providing regular updates through on-line services
    such as CompuServe. There is already a message section and library
    devoted to the Kit on the Nantucket Forum (GO NANFORUM).


    dBase IV Version 1.5
    --------------------

    The 1.1 version of the Compiler Kit was developed to be compatible
    with dBase IV Version 1.1. The recent release of Version 1.5
    introduced a range of new features which will be fully supported in
    your Kit update in the near future.

    However, we have already implemented almost all of the programming-
    related features of 1.5, including more than 25 new commands and
    functions. The only exceptions we've noticed in testing are mouse
    support, SET KEY index 'filters', the REINDEX option of verbs like
    APPEND, disk swapping for the RUN() function, and the LEFT/RIGHT
    components of the @...SCROLL command.

    Transaction Processing
    ----------------------

    Another feature we've left incomplete pending the update is
    Transaction Processing. As you'll see if you look closely at our
    translation files, we have embedded Transaction support in the
    system. However, a last-minute change in the Transaction Log
    format in dBase itself meant we felt safer holding this component
    for the update.

    We only discovered the change in dBase version 1.5 a few weeks
    before shipping the Compiler Kit and did not want to introduce
    potentially costly bugs in such an important component by making
    last-minute changes.


========================================================================
4   Using the Compiler Kit within Windows 3.x:

    To use the Compiler Kit under Windows 3.x, first add the file
    COMPILEW.BAT as a new Program Item.  An icon for the Compiler Kit
    is provided in the file KIT.ICO.

    When invoking COMPILEW.BAT from within Windows, you are given the
    option to specify parameters.  Specify the path to the files, the
    file(s) you want to compile, and any command line options.

      NOTE:  The COMPILEW.BAT file expects the first parameter to be
      the path to the file(s); this path MUST include a trailing
      backslash!. It will pass this to dPrep using the /I<input path>
      switch so dPrep can find the files to compile, and will also use
      the supplied path to tell the Compiler utilities where to start
      work.

    You may also want to modify the COMPILEW.BAT file to automatically
    run the resulting EXE after compilation.  The batch file parameter
    %2 will contain the name of the main program, thus the
    modification to COMPILEW.BAT would be as follows:

        ...
        if errorlevel 1 goto errmake
        %2
        goto end
        ...


   If you always compile programs in the same directory, there is an
   alternative to using COMPILEW.BAT. You can add the COMPILE.BAT file
   as a new Program item, and modify the COMPILE.PIF file so that the
   start-up directory points to the appropriate directory.  In this
   case you would not specify the path when invoking COMPILE.BAT, just
   the file(s) you wish to compile and any command line options.

   To modify COMPILE.BAT to automatically execute the resulting EXE,
   you would use the %1 parameter as follows:

        ...
        if errorlevel 1 goto errmake
        %1
        goto end
        ...

========================================================================
5   Installation Problems

    This section provides information on the installation procedure for
    the Compiler Kit.  If you have problems installing the software,
    consult the following list of problems and solutions.  If you
    experience an installation problem not listed here, please contact
    Nantucket Support at the Nantucket office serving your country.
    Telephone numbers appear in the Contacting Nantucket section of the
    Product and Services Guide.

    When contacting Nantucket Support, have ready information about your
    environment such as: machine make and model, DOS version, memory
    available during installation, and any memory-resident software you
    are using.


5.1  Command-line Arguments

     The following table shows the command-line arguments for
     INSTALL.EXE.

     Table: INSTALL.EXE Command-line Arguments
     -------------------------------------------------------------------
     Argument       Description
     -------------------------------------------------------------------
     /NOSWAP        Do not swap to EMS or disk
     /BW            Monochrome for color display (for Laptops)
     /MONO          Force monochrome display
     -------------------------------------------------------------------


5.2  Modifying Your Environment Variables

     Certain environment (SET command) variables should be set for the
     Compiler Kit.  If you elected to modify the AUTOEXEC.BAT file
     during the installation process, your file should be up-to-date.
     Otherwise, the appropriate settings should be in a file called
     AUTOEXEC.CHG located in the \CLIPPER5 directory.  In either case,
     it is important that you modify your AUTOEXEC.BAT file to
     incorporate these additional settings so that the Compiler Kit
     will know where to find files.  The required settings are as
     follows:

     1. The PATH variable should include the directory where
        executable files reside (example: C:\CLIPPER5\BIN).

     2. The LIB variable should include the directory where library
        files reside (example: C:\CLIPPER5\LIB).

     3. The INCLUDE variable should include the directory where
        include files reside (example: C:\CLIPPER5\INCLUDE).

     4. The PLL variable should include the directory where pre-linked
        library files reside (example: C:\CLIPPER5\PLL).

     For example:

     SET PATH=C:\CLIPPER5\BIN;%PATH%
     SET LIB=C:\CLIPPER5\LIB
     SET INCLUDE=C:\CLIPPER5\INCLUDE
     SET PLL=C:\CLIPPER5\INCLUDE

     You may also wish to set other environment variables.  For more
     information, refer to the Getting Started Guide and Programming and
     Utilities Guide.  For general information about the DOS environment
     and setting environment variables, refer to your DOS manual.



========================================================================
6   Distribution Disk Contents

    This section provides information regarding the contents of the
    Compiler Kit distribution disks.  The files are described in general
    terms of their contents followed by several tables showing the
    various disk configurations.


6.1  Disk Identifier Files

     Each disk in the Compiler Kit package contains a file named DISK.ID
     that is used by the install program to verify version and disk
     number.


6.2  Install Files

     The install program (INSTALL.EXE) and the installation script
     (INSTALL.DAT) are located on Disk 1.  Together, these two files
     allow you to install the Compiler Kit onto your hard disk.


6.3  Archive Files

     The Compiler Kit distribution files are supplied in the form of
     archive files.  Most of the archive files have a .LIF extension,
     but the file containing the main documentation database is split up
     into two files with .001 and .002 extensions.  Each of the archive
     files is listed in the table below, followed by several tables
     showing the contents of each archive file.

     Table: Archive File Descriptions
     -------------------------------------------------------------------
     Archive        Contents
     -------------------------------------------------------------------
     4BIN.LIF       DPREP program
     4OBJ.LIF       Compiler Kit object files and database driver
     4LIB1.LIF      Compiler Kit support libraries
     4LIB2.LIF      Compiler Kit support libraries
     4INCL.LIF      Compiler Kit header files
     4NATION.LIF    Nations Language support
     4SAMPLE.LIF    Compiler Kit sample application
     4NG.LIF        On-line documentation database
     -------------------------------------------------------------------


     Table: 4BIN.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     DPREP.EXE      dBASE IV .prg pre-processor program
     DPREP.CFG      Configuration file for DPREP.EXE
     DPREP.RSV      Reserved word list
     COMPILE.BAT    Compilation batch file
     COMPILE.PIF    Program information file for COMPILE.BAT
     COMPILEW.BAT   Compilation batch file for use with Windows 3.x
     COMPILEW.PIF   Program information file for COMPILEW.BAT
     KIT.ICO        Windows icon for Compiler Kit


     Table: 4LIB1.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     IVKIT.LIB      Compiler Kit library
     IVTOOLS.LIB    Compiler Kit library


     Table: 4LIB2.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     DB4DBF.LIB     dBASE IV DBF driver
     DBFNTXN.LIB    Special NTX driver for Compiler Kit
     DBASEIV.LNK    .RTlink script for building pre-linked library


     Table: 4OBJ.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     DBFMDX.LIB     dBASE IV MDX driver
     IVTOOLS.OBJ    Compiler Kit support routines


     Table: 4INCL.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     D4STD.CH       Header file for standard command set
     DPSTD.CH       Translations for dBASE IV commands
     DPDEFS.CH      Preprocessor directives


     -------------------------------------------------------------------
     Table: 4NATION.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     NATION.BAT     Batch program to change selected language default
     CHOOSE.COM     Batch utility
     NAT_USA.LIB    US English Nations Library (US Collation sequences)
     NAT_UK.LIB     UK English Nations Library (UK Collation sequences)
     NAT_FREN.LIB   French Nations Library (French Collation sequences)
     NAT_DUTC.LIB   Dutch Nations Library (Dutch Collation sequences)
     NAT_SPAN.LIB   Spanish Nations Library (Spanish Collation sequences)


     Table: 4SAMPLE.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     DEMO.PRG       Sample application - main program
     DEMOBAR.PRG    Sample application - support file
     DEMOMDX.PRG    Sample application - support file
     DEMOQRYP.PRG   Sample application - support file
     DEMOSCR.PRG    Sample application - support file
     DEMO.DBF       Sample database
     DEMO.MDX       Multiple index file
     DEMO.FMT       Format file
     DEMOQBE.QBE    Sample QBE file
     DEMORPT1.FRG   Generated report
     DEMORPT2.FRG   Generated report
     DEMOLBL1.LBG   Generated label
     DEMOLBL2.LBG   Generated label
     DEMO.APP       Application definition file
     DEMOBAR.BAR    Menu definition file
     DEMOEXIT.POP   Menu definition file
     DEMOMNTN.POP   Menu definition file
     DEMOQRYM.POP   Menu definition file
     DEMOREC.POP    Menu definition file
     DEMOFILE.FIL   File list definition
     DEMORPT1.FRM   Report definition file
     DEMORPT2.FRM   Report definition file
     DEMOLBL1.LBL   Label definition file
     DEMOLBL2.LBL   Label definition file
     DEMO.SCR       Screen definition file


     Table: 4NG.LIF Archive File Contents
     -------------------------------------------------------------------
     File           Contents
     -------------------------------------------------------------------
     IVKIT.NG       Compiler Kit on-line documentation database
     NG.INI         Setup file for Norton Instant Access Engine



========================================================================
7   Copyrights

    The installation program used to install the Compiler Kit,
    INSTALL, is based on licensed software provided by Knowledge
    Dynamics Corp, Highway Contract 4 Box 185-H, Canyon Lake, Texas
    78133-3508 (USA), 1-512-964-3994.  INSTALL is Copyright (c) 1987-
    1991 by Knowledge Dynamics Corp which reserves all copyright
    protection worldwide.  INSTALL is provided to you for the
    exclusive purpose use of installing the Compiler Kit.  Nantucket
    has made modifications to the software as provided by Knowledge
    Dynamics Corp, and thus the performance and behavior of the
    INSTALL program shipped with the Compiler Kit may not represent
    the performance and behavior of INSTALL as shipped by Knowledge
    Dynamics Corp.  Nantucket is exclusively responsible for the
    support of the Compiler Kit, including support during the
    installation phase.  In no event will Knowledge Dynamics Corp be
    able to provide any technical support for the Compiler Kit.




                              *     *     *



052 MOVING TO CLIPPER 1×HD
RAW 1.raw
原始 1.DDI
053 UNClipper V1.18 1×HD
054 FoxPro LAN V2.00 8×HD
可生成菜单,打印报表,含SQL,Project,Sebug等开发工具和开发环境,可编译成保护模式EXE文件.支持网络
055 汉化FoxPro V2.00 4×HD
自带汉字系统,不能生成EXE文件
README [展开]
`@L      神采网络中文系统运行环境@A`

`@j硬件配置@A`
  IBM PC系列机及兼容机;至少一个软盘驱动器,或具有一个硬盘;单色显示器,
  或VGA、EGA 显示器;640K以上内存;神采软件锁。


`@j软件环境@A`
   单用户:3.0 以上DOS版本。
   网络:  3.1 以上DOS版本,3+,3+OPEN,NOVELL网等。
   最新支持 DOS 5.0 的 HIMEN.SYS 驱动 增大主存空间。



`@L      神采网络中文系统及其配套产品@A`

   神采网络中文操作系统。
   神采编辑器。
   神采造字系统。
   神采转换器(使西文 FOXPRO/LAN 2.0 具有彻底的中文处理能力,是一个强大
   的中文数据库)。




`@L   神采网络中文操作系统简介:@A`

`@j   1。  出色的网络功能:@A`
           专门为网络而设计的中文操作系统。只需把系统安装在网络服务器中,
      自动识别各工作站和终端的显示器类型,共享使用系统各种功能,共享
      使用打印字库,节约大量硬件资源。本系统也可单机使用。
`@j  2。  西文软件不需要汉化可在神采系统下运行:@A`
      神采中文系统采用全新的方法,使西文软件都能在中文状态下运行,
      并使得汉化工作只须修改显示信息即可,而不需要修改软件程序。
`@j    3。  占用内存最少: @A`
            神采中文系统全部占用38 ̄72K内存,小于目前流行的同类中文系
          统.自动识别内存设置,字库依次放在(EMS,扩充内存,内存),也
          可以放在虚拟盘、硬盘,留给用户使用的内存在530K以上,使用户可
            以运行大型软件。
`@j  4。 最丰富的色采:@A`
      提供优良的显示界面,  EGA、VGA支持前景、后景各16种颜色,
      多于其他中文系统。其色采鲜艳夺目,媲美西文软件。
`@j  5。 汉字整字处理:@A`
      所有汉字以整字进行输入和删除,消除了半个汉字。
`@j   6。 简繁体字显示和打印: @A`
          提供40多种简体和繁体字型显示和打印,屏幕硬拷贝(1-4倍),
`@j    7。  最快的显示速度:@A`
            本系统采用直接写屏幕缓从区的方式显示信息,不同于其他中文系统使用
            BIOS显示中断服务的方式,因此具有很快的显示刷新速度。
`@j  8。 高度兼容各类最新软件:@A`
          支持MSDOS5.0、DRDOS6.0
          无论VGA、EGA或单色显示器均提供所有25行显示给用户使用;同
      时不占用功能键;可直接运行大部分图行软件;并高度兼容其它汉字系统
      下的汉化软件;支持鼠标。
`@j   9。 多种中文输入方式:@A`
       内置五笔字型、全拼、双拼、首尾、区位(双拼双音)等。码表采用内存
            覆盖方式,不占用内存。可修改所有码表,也可建新码表。
         支持多种24针和9针打印机。
`@j  10。 提供多种实用程序:@A`
            其编辑器、安装程序、设置程序、造字程序等均采用菜单提示,方便实用
            功能齐全。
`@j二.安装、启动与退出:@A`
  神采网络中文系统包括以下文件:
     1. INSTALL.BAT     神采中文系统安装批文件。
        SC_INS.EXE      神采中文系统安装程序。
     2. SC.BAT          神采中文系统启动批文件。
        SC-H.COM        神采中文系统主程序(单色版)。
        SC-E.COM        神采中文系统主程序(EGA版---256K VRAM)。
        SC-V.COM        神采中文系统主程序(VGA版---256K VRAM)。
        SC-V512.COM     神采中文系统主程序(VGA版---512K VRAM)。
     3. CH.16           8X16西文字符点阵字库。
     4. HZ.16           16X16简体宋体中文点阵字库。
     5. FHZ.16          16X16繁体宋体中文点阵字库。
     6. HZ.24S          24X24简体宋体中文点阵字库。
     7. HZ.24F          24X24简体仿宋体中文点阵字库。
     8. HZ.24K          24X24简体楷体中文点阵字库。
     9. HZ.24H          24X24简体黑体中文点阵字库。
    10. FHZ.24S         24X24繁体宋体中文点阵字库。
    11. HZ.24T          24X24简体图型字库。
    12. PY.TBL          双拼方案输入码表。
    13. SW.TBL          首尾方案输入码表。
    14. WB.TBL          五笔字型方案输入码表。
    15. QPIN.TBL        全拼方案输入码表。
    16. SPSY.TBL        双拚双音方案输入码表(可选)。
    17. SCSET.EXE       神采中文系统配置程序。
    18. SCUTL.EXE       神采中文系统服务程序(造字、码表)。
    19. README          帮助说明文件(本文)。
        20.  SE              编辑器。
    21. LX       联想安装程序。
  神采中文系统适用于IBM PC/XT、AT、386及兼容机,DOS版本从3.1到5.0。可以安装
在任何磁盘的任何目录下,只要求上述文件都在同一个目录。
例如: 

  安装在硬盘C盘上:
  退出所有的中文系统,回到西文DOS下。

            A:                        插入神采中文系统盘1号,转到A:驱动器
            INSTALL             运行INSTALL程序,根据提示完成安装。

    安装完成后在硬盘C:盘根目录下生成SC.BAT批文件。


  启动神采中文系统时,用户可以在任何目录下键入。
       C:\SC 
  
  如需要退出神采中文系统,运行SCQUIT.EXE

`@j三.功能键及使用方法:@A`
  神采中文系统自定义了一组功能键,按键为<SHIFT><CTRL>+键,即
先按下<SHIFT>和<CTRL>键,然后按下其它键,即可选择相应的功能。现已
定义的功能及按键有:

  1. <SHIFT><CTRL>+F1    选择<区位>输入方法
       汉字码是以区、位方式排列,每区94个汉字或符号。基本汉字库共有
       94个区(区号为01--94),常用其中的87个区,包括15个
       区的符号和外文字母(英、日、希腊、俄等),72个区汉字(基本汉
       字一集、二集)。<区位>输入方法即是以区位号为编码输入汉字。
       神采中文系统的<区位>输入方法除了与其它CCDOS兼容外,还
       有输入提示,并可以用"<"、">"键向前、后快速查找所需的汉字
       或符号,而不需要记住区位码。

  2. <SHIFT><CTRL>+F2    选择<首尾>输入方法
       <首尾>码以汉字的首、尾笔画字型作为汉字编码。

  3. <SHIFT><CTRL>+F3    选择<双拼>输入方法
       <双拼>码以汉语拼音为基础,并简化汉语拼音的声母、韵母作为汉字
       编码。

       在选择任何一种汉字输入方法输入汉字时,都可以使用"?"字符作为
       通配符,来代替任何输入字符,这样可以当不知道某一位输入编码时也
       可以继续输入,而不需要查看太多的无关编码。

  4. <SHIFT><CTRL>+F4    选择<全拼>输入方法

  5. <SHIFT><CTRL>+F5    选择<五笔字型>输入方法

  6. <SHIFT><CTRL>+F7    转换中文/西文显示
       按下本键可以在中文与西文文本显示方式之间转换。

  7. <SHIFT><CTRL>+F8    联想方式(设置/取消)
       首先运行 LX.COM 联想安装程序。按下本键进入联想方式。
       再次按下本键取消联想方式。

  8. <SHIFT><CTRL>+F9    转换纯中文输入方式
       按下本键进入纯中文输入方式,这时输入任何非编码键都转换成汉字编
       码的字母和符号。再次按下本键退出纯中文方式,输入的任何非编码键
       都保持不变,即按西文方式输入。

  9. <SHIFT><CTRL>+F10    键盘提示

 10. <SHIFT><CTRL>+<+>   加快刷新速度

 11. <SHIFT><CTRL>+<->      减少刷新速度

 12. <SHIFT><CTRL>+<空格键> 转换中文/ASCII输入方式
       如果已经选择了一种汉字编码输入方式,按下本键转换到ASCII输
       入方式。这时输入任何字符都按ASCII方式处理,但纯中文输入状
       态仍然有效。再次按下本键恢复中文输入状态,可以接着退出中文输入
       前的状态继续输入。

 13. <SHIFT><CTRL>+数字(0-9) 选择输入汉字
       如果已经选择了一种汉字编码输入方式并且输入提示区有汉字或字符,
       可以用<SHIFT><CTRL>+数字(0-9)选择输入提示区的
       汉字,这里0-9对应提示区的0-9。

 14. 快速制表键:

     <SHIFT><CTRL>+小键盘:7    制表符   '┏'
     <SHIFT><CTRL>+小键盘:8    制表符   '┳'
     <SHIFT><CTRL>+小键盘:9    制表符   '┓'
     <SHIFT><CTRL>+小键盘:4    制表符   '┣'
     <SHIFT><CTRL>+小键盘:5    制表符   '╋'
     <SHIFT><CTRL>+小键盘:6    制表符   '┫'
     <SHIFT><CTRL>+小键盘:1    制表符   '┗'
     <SHIFT><CTRL>+小键盘:2    制表符   '┻'
     <SHIFT><CTRL>+小键盘:3    制表符   '┛'
     <SHIFT><CTRL>+小键盘:0    制表符   '━'
     <SHIFT><CTRL>+小键盘:+    制表符   '┃'

`@j四.打印系统@A`

    1、可任意改变打印行距、字符间距、字型、页长、页间空行、左边空、行宽、单双
向打印、轻打、打印背景(七种)、反白、上下划线、左右旋转、上下角标、全中文、暂停
(改变字符间距时9区的造表符横线及背景仍可相连,以上改变用可显示特殊字符`);
    `@I字体@A`:本系统使用4种汉字字体:`@A宋体、@E仿宋体、@I黑体、@M楷体`。
    `@I字形@A`:16×16点阵:`@Q神采汉字0123@R神采汉字0123@S神采汉字0123@T神采汉字0123@A`
                     `@q神采汉字0123@r神采汉字0123@s神采汉字0123@t神采汉字0123@A`
          24×24点阵:`@A`神采汉字0123`@B`神采汉字0123`@C`神采汉字0123`@D`神采汉字0123
                     `@a神采汉字0123@b神采汉字0123@c神采汉字0123@d神采汉字0123@A`
    `@I背景@A`:任何汉字字符打印均可选择以下背景:
              `%11、网  点%0`         `%66、右斜线%0`
              `%22、网  格%0`         `%77、交叉线%0`
              `%33、横  线%0`         `\8、反  白=`  
              `%44、竖  线%0`         `/9、上划线=`  
              `%55、左斜线%0`       `_10、下划线=`  
    `@I旋转@A`:任何汉字均可向左或向右旋转90度打印(其中九区制表符不旋转):
              `(向左旋转      )向右旋转?`
    `@I上下标@A`:任何字符均可用上标或下标方式打印:
          `aX+`2n+1`!`+bX`+`2n-1`!`=0    aX`-1!`+bY`-1!`=cZ`-`m-n`!`    H`-2!`O   Ba`+`2+`!`+SO`-4+`2-`!`→BaSO`-4!`↓
    2.支持多种9针和24针打印机。

    3.16、24和48点阵点阵打印有常用字库功能:打印汉字时系统先到内存中的常用字库区
找字,找到就直接送打印机,找不到再读硬盘,并将读出点阵写入内存常用字库区,内存
常用字库区最大分别可达64K。

  4.可加深颜色重复打印(次数1-255)。

  5.屏幕硬拷贝(倍数1-4)。


`@d             打   印   字   型   表@I`

字型 点阵            `@j字         样@A`
─────────────────────────────────────
 A  24*24  `@A神采汉字系统ABC012345@A`
 B  24*48  `@B神采汉字系统ABC012345@A`
 C  48*24  `@C神采汉字系统ABC012345@A`
 D  48*48  `@D神采汉字系统ABC012345@A`
 E  24*24  `@E神采汉字系统ABC012345@A`
 F  24*48  `@F神采汉字系统ABC012345@A`
 G  48*24  `@G神采汉字系统ABC012345@A`
 H  48*48  `@H神采汉字系统ABC012345@A`
 I  24*24  `@I神采汉字系统ABC012345@A`
 J  24*48  `@J神采汉字系统ABC012345@A`
 K  48*24  `@K神采汉字系统ABC012345@A`
 L  48*48  `@L神采汉字系统ABC012345@A`
 M  24*24  `@M神采汉字系统ABC012345@A`
 N  24*48  `@N神采汉字系统ABC012345@A`
 O  48*24  `@O神采汉字系统ABC012345@A`
 P  48*48  `@P神采汉字系统ABC012345@A`
 Q  16*16  `@Q神采汉字系统ABC012345@A`
 R  16*32  `@R神采汉字系统ABC012345@A`
 S  32*16  `@S神采汉字系统ABC012345@A`
 T  32*32  `@T神采汉字系统ABC012345@A`
 a  24*16  `@a神采汉字系统ABC012345@A`
 b  24*36  `@b神采汉字系统ABC012345@A`
 c  36*24  `@c神采汉字系统ABC012345@A`
 d  36*36  `@d神采汉字系统ABC012345@A`
 e  24*16  `@e神采汉字系统ABC012345@A`
 f  24*36  `@f神采汉字系统ABC012345@A`
 g  36*24  `@g神采汉字系统ABC012345@A`
 h  36*36  `@h神采汉字系统ABC012345@A`
 i  24*16  `@i神采汉字系统ABC012345@A`
 j  24*36  `@j神采汉字系统ABC012345@A`
 k  36*24  `@k神采汉字系统ABC012345@A`
 l  36*36  `@l神采汉字系统ABC012345@A`
 m  24*16  `@m神采汉字系统ABC012345@A`
 n  24*36  `@n神采汉字系统ABC012345@A`
 o  36*24  `@o神采汉字系统ABC012345@A`
 p  36*36  `@p神采汉字系统ABC012345@A`
 q  24*16  `@q神采汉字系统ABC012345@A`
 r  24*32  `@r神采汉字系统ABC012345@A`
 s  48*16  `@s神采汉字系统ABC012345@A`
 t  48*32  `@t神采汉字系统ABC012345@A`

`@j五、特殊打印功能@A`
    标识符:   `  (ASCII码为60H,与 ̄共用一键)
    格  式:   `@字型`      功  能:   `@M置字型@A`(A~x,默认A)
              `@色号`                `@M置颜色@A`(LQ2500、M1570用,一行一色)
                               其中:色号=0黑,1红,2蓝,3紫,4黄,5橙,6绿
              `@<或>`              `@M置纵扩字双向或单向打印@A`(默认单向)
              `&行距`                `@M置行距@A`(1~255)
              `^列数`                `@M置字符间距@A`(0~255,汉字间距加倍)
              `#行数`                `@M置页长@A`(0~255,默认0)
              `*行数`                `@M置页间空行@A`(0~255,默认0)
              `[字符数`              `@M置左边空@A`(0~255,默认0)
              `]字符数`              `@M置行宽@A`(0~255,默认最宽)
              ` ̄列数`                `@M输出空列@A`(0~2447)
              `|列数`                `@M水平定位@A`(0~2447)
              `{`                    `@M横向放大@A`(行首执行,TH3070用)
              `}`                    `@M结束放大@A`(行尾执行)
              `%0~7`                 `@M置打印背景@A`
                  其中:0无背景,1网点,2网格,3横线,4竖线,5右斜线,6左斜线,7交叉线
             `@j` 8置表格向下连接,`@A`9取消表格向下连接
              `¥...¥`            `@M将二¥间字符直送打印机@A`
              `>`或ESC+I+>           `@M置单向打印@A`
              `<`或ESC+I+<           `@M置双向打印@A`
              `;`                    `@M置抽点打印@A`(轻打)
              `\`                    `@M置\反白=打印@A`
              `/`                    `@M置/上划线=打印@A`
              `_`                    `@M置_下划线=打印@A`
              `=`                    `@M置正常打印@A`(开机状态,清以上四项)
              `(`                    `@M置(左旋?90度打印@A`
              `)`                    `@M置)右旋?90度打印@A`
              `?`                    `@M置结束旋转@A`(开机状态,清以上二项)
              `+`                    `@M置上标字符+ABC0123!@A`
              `-`                    `@M置下标字符-ABC0123!@A`
              `!`                    `@M置正常字符ABC0123@A`(开机状态,清以上三项)
              `.`                    `@M暂停打印@A`(按任一键继续)
  注:一打印行(以回车或换行结尾)字符数不得超过320,二标识符间可有汉字或其他
  字符(回车可代替一个标识符)。左旋与右旋互锁,上下标和全角字符功能互锁(即设
  置一种另外的就自动取消)。九区图形符号不旋转,当有字间距时横线仍可相连。
      置左边空和行宽,单位字符,以12列为一字符单位。

  输出表格向下连接:
`@B&24%8`
       ┏━━━━━━━━━━━━━━━━┓
       ┃     神采中文系统产品介绍       ┃
       ┣━━━━━┯━━━━━┯━━━━┫
       ┃          │ 彩色版   │ 单色版 ┃
       ┠─────┼─────┼────┨
       ┃ 解析度   │ 640*480  │ 640*400┃
       ┠─────┼─────┼────┨
       ┃ 输入法   │  5  种   │  5  种 ┃
       ┠─────┼─────┼────┨
       ┃ 打印字型 │ 40  种   │ 40  种 ┃
       ┗━━━━━┷━━━━━┷━━━━┛
`@A%9`



`@j附录:@A`

    `@j`打印机代码:`@A`

        0  =  九针打印机
        2  =  M2024 (1724)    24针打印机
        4  =  AR3240(CR3240)  24针打印机
        5  =  EPSON LQ系列    24针打印机
        6  =  OKI8320(5320)   24针打印机

    `@j` 神采中文系统主程序命令行参数设置:`@A`

        p:(打印机代码)
        l:d                 显示字库驻留磁盘。
        v:#                 显示字库使用虚拟盘。 # = 盘号。运行前需将字库(HZ.16)
                            拷贝至虚拟盘根目录下。
                             ( 例如 C:>sc v=e   显示字库在虚拟盘E)
        t:f                 显示字库为繁体点阵字库。

        h:n                 取消键盘提示。
    
    /?                提示帮助
                                         

注意:
    本程序全部是用汇编语言开发,加密是在源程序中实现的,它用多要素方式加密。
程序一旦发现多个要素中部分被解,程序照样能运行一段较长时间,之后程序将不能
运行,并将产生不可预知的后果。对此本公司将不负任何责任。本软件已进行版权登记,
对解密者及仿冒者,本公司将追究法律责任。
    敬请用户使用原版软件, 由此用户将会获得最好的技术支持, 及最好的咨询服务。



                       本部热诚为社会各界提供咨询及服务
                       联系人   : 神采中文系统电脑部   陈小姐
                       联系电话 : (广州) 6688126-214   BB机:  Call 717747
056 汉化FoxPro V2.00 6×HD
CCDOS 2.13 或 UCDOS 下运行可生成EXE文件
057 FoxPro V2.5 7×HD
README.TXT [展开]
------------------------------------------------------------------------
ADDITIONAL INFORMATION ABOUT FOXPRO FOR WINDOWS
------------------------------------------------------------------------

Remember that information in online help is the most current information
available.

------------------------------------------------------------------------
Sample Files
------------------------------------------------------------------------

Sample files are included with FoxPro for Windows.  These files are in
the \GOODIES directory and are installed in a compressed form to save 
you hard disk space.  To unpack these files, open the File Manager and
double-click on ALLUNPAK.BAT in the FOXPROW\GOODIES directory.

Note:  You may use the bitmaps in GOODIES\BITMAPS or modified versions
of them in your applications.  However, you are not allowed to make
and sell copies of the bitmaps in GOODIES\BITMAPS or any portion of
them.

------------------------------------------------------------------------
DDEExecute( ) Correction 
------------------------------------------------------------------------

The syntax for DDEExecute( ) is incorrect on page L3-363 of the Language
Reference manual and in the help file.  The correct syntax is:

	DDEExecute(<expN>, <expC1>[, <expC2>])

where <expC2> is the name of a user-defined function (UDF).  There is
no format parameter in this command.

------------------------------------------------------------------------
Installation Questions and Answers
------------------------------------------------------------------------

Overview of Questions

1   What is the easiest way to install FoxPro on a network?
2   What kind of "rights" do I need to install FoxPro on the network?
3   Why are workstation users on our network unable to use the graphing
    and spelling-checker features in FoxPro?
4   During installation I was asked to select either DOS-style
    keystrokes or Windows-style keystrokes.  Which should I choose?
5   What is the minimum files setting for FoxPro for Windows?
6   Does FoxPro for Windows update any Dynamic Link Libraries (DLLs) in
    the Windows subdirectory where system files are kept?
7   I accidentally deleted some of the FoxPro sample files.  Can I
    reinstall these files without reinstalling FoxPro?
8   I am having difficulty reading the FoxPro disks because of an
    alignment problem with my floppy drives.  Is there another option
    for installation?
9   I'm trying to install FoxPro for Windows under Windows 3.0 and
    I'm getting the message "cannot write VER.DLL".  Any suggestions?
10  I'm having difficulty installing FoxPro.  I've tried streamlining both
    my CONFIG.SYS and AUTOEXEC.BAT and I still can't install
    FoxPro for Windows.
11  Can I put a common WIN.INI file up on the server?
12  What is the best way to edit the WIN.INI file?
13  If I modify my WIN.INI file, is it advisable to restart Windows?
14  Can I delete the directory named ~msstfqf.t?
15  I get the error message "Insufficient Memory" when trying to load
    FoxPro for Windows.  What setting needs to be modified?
16  I am running with 4 MB of RAM.  How large a swap file do
    I need?
17  If I am running with 5 MB or more of RAM, how large a swap file
    do I need?
18  When using my Lantastic network card, why do I always get a memory
    conflict when loading FoxPro for Windows?
19  When using a Paradise driver, why do I get a memory conflict when
	trying to load FoxPro for Windows?
20  When I use QEMM386 memory manager with FoxPro for Windows, why do
	I get a memory conflict?
21  When I use the Mach32 video card with my Gateway 2000, why do I get a
    General Protection Fault in module MACH32.DRV at 0003:0E22?
22  I understand that a number of video drivers do not work properly
    with FoxPro for Windows.  Why is this and what steps should I
    take to resolve the situation?
23  I occasionally experience problems when trying to open more than
    15 tables at one time.  What could be wrong?
24  I'm running Windows for Workgroups.  Do I need to load SHARE?
25  Where does FoxPro create its temporary files?
26  I frequently use the RUN command to change drives and
    directories within an application.  Why isn't this working in FoxPro
    for Windows?
27  Why isn't FoxPro registered in REG.DAT within Windows?
28  Why doesn't the value returned by SYS(2010) match the number of
    FILES specified in the CONFIG.SYS file?
29  What memory allocation options are available with the PIF
    settings?

------------------------------------------------------------------------
Question 1

What is the easiest way to install FoxPro on a network?

Answer 1

In a network environment you must first install FoxPro on the server and
then set up each workstation.  Installation on the server is called an
Administrative Setup (/A).  This option decompresses all FoxPro for
Windows files and Setup files.  FoxPro for Windows files will be read-
only on the network drive.

To perform an Administrative Setup, Choose Run... from the Windows
Program Manager File menu.  When the Run dialog appears, type
a:\SETUP /A or b:\SETUP /A (depending on the floppy drive you are using)
in the Command Line box.  Press Enter and proceed with the installation.
You will be prompted for your user information and an installation
directory, default drive, path name, etc.  For more detailed information
refer to the Instructions for Administrative Setup in the Installation
and Configuration guide for FoxPro for Windows.

Installation on individual workstations is called Workstation Setup (/N)
and requires a previous Administrative Setup.  The Workstation Setup
copies FoxPro initialization files, updates some common .DLL files, and
creates a Program Manager group and an icon on each workstation to run a
shared network version of FoxPro for Windows.

The workstation setup may be performed in two ways: from the network or
from disk.  To install from a network drive, open the Windows File
Manager and then open a window with the correct network path for FoxPro
for Windows and double-click on SETUP.EXE.  Choose the Workstation
Installation button in the Installation Type dialog.  To install from
disk, type a:\SETUP /N or b:\SETUP /N in the Run dialog Command Line
box, then press Enter.  For more detailed information refer to the
Instructions for Workstation Setup in the Installation and Configuration
guide for FoxPro for Windows.
------------------------------------------------------------------------
Question 2

What kind of "rights" do I need to install FoxPro on the network?

Answer 2

You will need full system rights to install on the network.  Contact
your system administrator for further information about your specific
installation.
------------------------------------------------------------------------
Question 3

Why are workstation users on our network unable to use the graphing and
spelling-checker features in FoxPro?

Answer 3

Workstation users need access to the MSGRAPH and PROOF subdirectories in
order to use these features.  Contact your system administrator
regarding user access to these subdirectories.
------------------------------------------------------------------------
Question 4

During installation I was asked to select either DOS-style keystrokes or
Windows-style keystrokes.  Which should I choose?

Answer 4

If you are not sure which style to use, select Windows-style keystrokes.
Windows-style keystrokes correspond to standard Windows keystrokes. 
DOS-style keystrokes let FoxPro for Windows behave like FoxPro for
MS-DOS.  Later, if you want to use DOS-style keystrokes, add the line
KEYCOMP=DOS to your CONFIG.FPW files.  For more information about the
styles of keystrokes, see the SET KEYCOMP TO command in the FoxPro
Language Reference manual or online help.
------------------------------------------------------------------------
Question 5

What is the minimum files setting for FoxPro for Windows?

Answer 5

The minimum FILES setting is 40.  During installation, Setup checks your
CONFIG.SYS file.  If your FILES setting is less than 40, a dialog gives
you three choices: have Setup make the modifications for you, have Setup
make the modifications after you have reviewed and edited the changes,
or allow you to make the modifications later.  If you allow Setup to
modify your CONFIG.SYS, your old file is saved as CONFIG.OLD or CONFIG.001
if CONFIG.OLD already exists.  For more information, see the chapter on
Customizing FoxPro in the Installation and Configuration guide.
------------------------------------------------------------------------
Question 6

Does FoxPro for Windows update any Dynamic Link Libraries (DLLs) in the
Windows subdirectory where system files are kept?

Answer 6

Yes.  The following DLLs are updated:  COMMDLG.DLL, DDEML.DLL, OLECLI.
DLL, OLESVR.DLL, SHELL.DLL, TOOLHELP.DLL and VER.DLL.

The FoxPro graphing capabilities require that these two files be stored
in the Windows subdirectory \MSAPPS\MSGRAPH: GRAPH.EXE and GRAPH.HLP

FoxPro spelling-checking capabilities require that these three files be
stored in the Windows subdirectory \MSAPPS\PROOF: MSSPELL.DLL,
MSSP_AM.LEX, and MSSP_BR.LEX
------------------------------------------------------------------------
Question 7

I accidentally deleted some of the FoxPro sample files.  Can I reinstall
these files without reinstalling FoxPro?

Answer 7

Yes.  Run Setup again and select the Custom Installation option from the
Installation Type dialog.  This option lets you choose which components
to install.
------------------------------------------------------------------------
Question 8

I am having difficulty reading the FoxPro disks because of an alignment
problem with my floppy drives.  Is there another option for installation?

Answer 8

Try copying all the files to a directory on your hard disk and then
install from the hard drive.
------------------------------------------------------------------------
Question 9

I'm trying to install FoxPro for Windows under Windows 3.0 and I'm
getting the message "Cannot write VER.DLL."  Any suggestions?

Answer 9

Rename the VER.DLL file in the Windows System subdirectory.
------------------------------------------------------------------------
Question 10

I'm having difficulty installing FoxPro.  I've tried streamlining both
my CONFIG.SYS and AUTOEXEC.BAT and I still can't install
FoxPro for Windows.

Answer 10

First of all, don't try to install from within a replacement shell
(Norton, etc.).  Second, make certain you have disabled all TSRs,
including anti-virus software.  Check the WIN.INI file for the LOAD= and
RUN= lines.  Comment these lines out using a semicolon (;).
------------------------------------------------------------------------
Question 11

Can I put a common WIN.INI file up on the server?

Answer 11

No.  Each workstation has its own WIN.INI file.
------------------------------------------------------------------------
Question 12

What is the best way to edit the WIN.INI file?

Answer 12

The WIN.INI file may be edited with Notepad or EDIT.EXE in MS-DOS 5.0.
------------------------------------------------------------------------
Question 13
If I modify my WIN.INI file, is it advisable to restart Windows?

Answer 13

Yes. As a general rule, always restart Windows when you have modified
the WIN.INI file.  There are some exceptions, but if you are trouble-
shooting you want to be certain that all changes are reflected in the
current environment.
------------------------------------------------------------------------
Question 14

Can I delete the directory named ~msstfqf.t?

Answer 14

Yes.  The directory named ~msstfqf.t is created during setup.  Ordinarily
this directory is deleted at the end of the installation process.  This
directory may be deleted.
------------------------------------------------------------------------
Question 15

I get the error message "Insufficient Memory" when trying to load FoxPro
for Windows.  What setting needs to be modified?

Answer 15

Add a MEMLIMIT statement to your CONFIG.FPW file.  The syntax for this
statement is MEMLIMIT=%,min,max where % is a calculated amount based on
available memory and min and max represent actual minimum and maximum
allocations.

For example, specifying MEMLIMIT=80,1024,4096 allocates 80 percent of
your system's available memory to FoxPro with a minimum allocation of
1024K and a maximum of 4096K.
------------------------------------------------------------------------
Question 16

I am running with 4 MB of RAM.  How large a swap file do I need?

Answer 16

Use a 2 MB permanent swap file for virtual memory and do not include a
MEMLIMIT setting in the CONFIG.FPW file.  Let FoxPro run with the
default setting.  In addition, do not use a RAM drive or an expanded
memory manager.  Expanded memory is not used by FoxPro for Windows. A
disk cache should be no larger than 256K.
------------------------------------------------------------------------
Question 17

If I am running with 5 MB or more of RAM, how large a swap file do I
need?

Answer 17

If you have 5 MB or more of RAM, do not use a swap file for virtual
memory.  Set your virtual memory to None and set MEMLIMIT to 90 in the
CONFIG.FPW file. Remember that devoting more memory to FoxPro means that
less memory is available for Windows and other applications that are
running.  FoxPro takes advantage of all the memory allocated for it.
Therefore, you must maintain the balance of memory allocated to FoxPro,
Windows and other applications that you intend to run. For more
information refer to the chapter on Optimizing your System in the
Installation and Configuration guide.
------------------------------------------------------------------------
Question 18

When using my Lantastic network card, why do I always get a memory
conflict when loading FoxPro for Windows?

Answer 18

Try putting EMMExclude=D800-DFFF in the SYSTEM.INI file in the Windows
directory.
------------------------------------------------------------------------
Question 19

When using a Paradise driver, why do I get a memory conflict when trying
to load FoxPro for Windows?

Answer 19

Try putting EMMExclude=C600-C800 in the SYSTEM.INI file in the Windows
directory.
------------------------------------------------------------------------
Question 20

When I use QEMM386 memory manager with FoxPro for Windows, why do I get
a memory conflict.

Answer 20

Try putting EMMExclude=C0FF-C7FF in the SYSTEM.INI file in the Windows
directory.
------------------------------------------------------------------------
Question 21

When I use the Mach32 video card with my Gateway 2000, why do I get a
General Protection Fault in module MACH32.DRV at 0003:0E22.

Answer 21

You are experiencing a problem with your video driver.  Contact your
video card vendor for the most recent version of the driver.  In the
meantime, you can use the VGA.DRV or the SUPERVGA.DRV drivers that come 
with Windows.
------------------------------------------------------------------------
Question 22

I understand that a number of video drivers do not work properly with
FoxPro for Windows.  Why is this and what steps should I take to resolve
the situation?

Answer 22

FoxPro for Windows makes intensive use of screen I/O.  If you
are experiencing GPFs (General Protection Faults) or display problems
(borders, status bar, fonts, unusual alignment when previewing reports)
you may be experiencing a problem with your video driver. To test this
situation, load one of the standard Windows drivers and go through the
steps to reproduce the earlier problem.  If the problem no longer exists
when you are using a standard Windows driver, it is very likely that the
old driver was the cause of the problem.  Contact the vendor for an
updated version of the driver or download the Windows Driver Library
(WDL) on the Microsoft Download Service (MSDL). Complete instructions
for obtaining the Windows Driver Library is contained in the Product
Support section of this file.

We have identified problems with the following video cards:

   ATI Ultra Graphics Pro (local bus) -- caused GPF, fixed with update
   AST Power Premium 486 w/VGA on Motherboard -- fixed with update
   Genoa 7900 MM card
   Dell 486/20 with VGA on Motherboard
   Compaq QVision
   Speed Star 24x
   Trident 8900C
   TIGA 1024 x 768 x 256 small fonts
   NEC 2A
   MACH32

Contact your video card vendor for the most recent version of the driver
for your card.  In the meantime, you can use the VGA.DRV or the 
SUPERVGA.DRV drivers that come with Windows.
------------------------------------------------------------------------
Question 23

I occasionally experience problems when trying to open more than 15
tables at one time.  What could be wrong?

Answer 23

Make certain you have the correct SHARE statement in your AUTOEXEC.BAT
file:

   SHARE /F:4096  /L:500
------------------------------------------------------------------------
Question 24

I'm running Windows for Workgroups.  Do I need to load SHARE?

Answer 24

No. Windows for Workgroups automatically loads VSHARE, which takes the
place of SHARE.
------------------------------------------------------------------------
Question 25

Where does FoxPro create its temporary files?

Answer 25

FoxPro creates its temporary files in the same directory where Windows
stores its temporary files, unless you specifically designate an
alternate location by including one or more of the EDITWORK, SORTWORK,
PROGWORK and/or TMPFILES statements in the CONFIG.FPW file.  The
location of Windows .TMP files is specified with the MS-DOS set variable
TEMP.  In most cases, you should let FoxPro write .TMP files to the same
location.  However, if this location is a RAM drive, make sure that
enough space is available for both FoxPro and Windows .TMP files.
------------------------------------------------------------------------
Question 26

I frequently use the RUN command to change drives and directories within
an application.  Why isn't this working in FoxPro for Windows?

Answer 26

Each time you issue the RUN command to change drives and directories,
Windows opens a new "session" of MS-DOS, otherwise known as a "virtual
machine", and executes the command within the newly created "session."
When you exit from this session or "shut down" the virtual machine,
you are right back where you started without having changed drives.
Consequently, you will want to take advantage of some of FoxPro's own
drive and directory commands instead of using the RUN command.  For
example, using SET DEFAULT TO c:\newdir will actually issue the MS-DOS
command CHDIR.
------------------------------------------------------------------------
Question 27

Why isn't FoxPro registered in REG.DAT within Windows?

Answer 27

Only OLE servers are registered in REG.DAT.  FoxPro is not an OLE server.
------------------------------------------------------------------------
Question 28

Why doesn't the value returned by SYS(2010) match the number of FILES
specified in the CONFIG.SYS file?

Answer 28

Windows interacts with the MS-DOS open file tables in such a way that
the value reported in the MS-DOS box and in Windows may be different.
------------------------------------------------------------------------
Question 29

What memory allocation options are available with the PIF settings?

Answer 29

In the PIF Editor "memory requirements" section the "KB Required" and
"KB Desired" may both be set to "-1".  This will tell Windows to give
all the available memory it can to a MS-DOS application.  This does not
mean that the MS-DOS application will have more than 600K, but it will get
about as much conventional memory as you had available before starting
Windows (minus some conventional memory that Windows itself occupies).

Changing the "EMS Memory" and "XMS Memory" sections will tell Windows to
provide or not provide the MS-DOS application and EMS (Expanded Memory
Services) or XMS (Extended Memory Services).  This will not, however,
allow an application that does not support accessing EMS or XMS to do
so. Only applications that have the capability will be able to access
the additional memory provided.  It is important to note that once you
tell Windows to create EMS or XMS for an application, it does so
whether the application can use it or not.

In the "Execution" section, if Exclusive is selected, no other
application, be it Windows or MS-DOS, will run while the application with
Exclusive is the current application.

In the "Advanced Options" there is a "Multitasking Options" section.
This section is very important when you are trying to get a MS-DOS
application to run in the background.  If the MS-DOS application is very
I/O intensive (reads and writes to disk, asynchronous communication,
etc.) it will be necessary to increase the "Background Priority".
Unfortunately there is no "rule of thumb" when it comes to the exact
number that should be used.  It is important to note that the larger the
number for "Background Priority" the slower other applications will run
while the MS-DOS application with the high priority is running in the
background.
058 FoxPro V2.6 7×TD
最快的数据库系统,速度比FOX PRO 2.0 快3倍,多平台兼容,向前向后兼容,含多种高效工具,和完整的网络功能,中文WINDOWS下可直接使用汉字,极好的集成开发环境和学习环境
059 FoxPro 2.5 Disribution Kit/Win 4×HD
用于创建和扩散由FOXPRO 2.5开发的程序,将其编译成可执行文件使用户可脱离FOXPRO独立地执行应用程序
060 FoxPro V2.5 1×HD
原始 1.IMG DISK1
061 FoxPro Developer V2.5 1×HD
README.TXT [展开]
FoxPro for Windows Developers Guide
(copyright 1993, Sams Publishing)
____________________________________________________

		FoxMasters magazine special edition
		Vol2 Num 0
		(copyright 1992, Tetra Press)


This disk contains the sample programs from Jeb 
Long's FoxPro for Windows Developers Guide.  It is 
contained  within a sample issue of FoxMasters 
Magazine.  FoxMasters runs within the FoxPro for 
Windows environment.  

This file will cover these topics:
     * Installing the disk
     * Using FoxMasters
     * Experimenting with the author's programs
     * The LZSS compression Library

INSTALLING THE DISK
-------------------

If you haven't installed this disk yet, put the disk
in your floppy drive and follow these instructions:

     1. From Program Manager or File Manager, choose
        File | Run from the menu.

     2. Type  B:\INSTALL  and press Enter. If the floppy
        disk is in your A: drive, type A:INSTALL. 

Follow the instructions on your screen - the program 
will guide you through the installation process.

You will need at least 5M of free space on your hard drive
to install the files.


USING FOXMASTERS
(by Bruce Braunstein, Editor of FoxMasters magazine)
----------------

To run FoxMasters, you must be running FoxPro for Windows. 

1. Select Program | Do from the menu (or type DO ? in the 
   command dialog box, and press Enter). 

2. Select the directory that you chose to install the files 
   in (the default is \FOXPRODG).

3. Select the file FMW.APP and press Enter or click DO.

The FoxMasters prompt will appear on the main system menu bar.
It will let you select the articles that you wish to read from 
the 'Table of Contents.' In this option you can read an 
article, run the code, print it out, or simply exit.  

	Each time you finish any action on an article, you'll
	need to reselect the table of contents.

The next option is the 'Editorial.' Here you can read my 
opinions.

This is followed by the 'Entertainment' section that gives you
a game of  POPTRIS written in FoxPro by Gerald Garcia.  This 
shows what can be done with FoxPro for Windows.  (Also included 
on the disk is a FoxPro version of the Game of Life written by 
Tom Rombouts - you'll find this in the main Table of Contents).

The 'About FoxMasters' section  provides information covering 
what FoxMasters is, how to write for it and how you can 
subscribe.

'FM_Setup' lets you choose which issue you want to read by issue 
number (if this is the only issue of FoxMasters you have, this
issue is already chosen by default). It also lets you choose if 
you want the FoxMasters popup to open when you activate FPW.APP.

Finally the 'Unload' options lets you remove FoxMasters from 
memory and from your hard disk.

If you have any questions, or suggestions don't hesitate to get 
in touch with me.



EXPERIMENTING WITH THE AUTHOR'S PROGRAMS
----------------------------------------

If you're not running FoxMasters magazine, you can still access
Jeb Long's programs and his program code. You can directly run 
and examine these program within FoxPro for Windows.

Look in the directory where you chose to install the book's 
software (the default is \FOXPRODG). You'll find a directory
named VOL2NUM0. Under this directory, you'll find a number of
subdirectories, which contain the various programs and examples
from the book. 


THE LZSS COMPRESSION LIBRARY
----------------------------

The LZSS Compresion library is a shareware product from Eschalon
Development. It consists of a DLL which can be called from within
Windows programs, including FoxPro for Windows programs.

The author has written an example program which shows how to do
this - it is located in the VOL2NUM0\DOCUMENT directory, and 
is named DOCUMENT.PRG.

You'll find the complete files for this product in the LZSSLIB
directory.


*** end ***
062 FoxPro V2.5 1×HD
为FoxPro提供C语言及汇编语言的外部编程接口
README.TXT [展开]
                       README.TXT
**********************************************************
          Microsoft(R) FoxPro(R) Version 2.5
  Library Construction Kit for Windows(TM)and MS-DOS(R)

    (C)1993 Microsoft Corporation. All Rights Reserved.

  This file contains additions and corrections to the
  FoxPro Library Construction Kit Developer's Guide.

**********************************************************
========
CONTENTS
========

Part   Description
----   -----------

1      Additions to Documentation Since Printing
2      Corrections to Documentation Since Printing

----------------------------------------------------------
=================================================
Part 1: Additions to Documentation Since Printing
=================================================

The EXAMPLES directory contains a FoxPro database with all
the example code that is used in the manual.  Simply
search for the function with example code you wish to
copy and then extract the code from the memo field. You
are free to use this code in your own applications.

-----------------------------------------------------------

The following function has been added:

WHANDLE _WMainWindow( )

Description:
_WMainWindow( ) returns the WHANDLE of the main FoxPro
window in FoxPro for Windows or of the FoxPro desktop
in FoxPro for MS-DOS.

Example:
The following example writes a message to the main FoxPro
window in FoxPro for Windows or to the FoxPro desktop in
FoxPro for MS-DOS.

FoxPro Code:

   SET LIBRARY TO WMAIN
   = EXWMAIN()

C Code:

   #include <pro_ext.h>

   void FAR example(ParamBlk FAR *parm)
   {
        WHANDLE wh = _WMainWindow();
        _WPutStr(wh, "\nThis is the main FoxPro window or desktop.");
   }

   FoxInfo myFoxInfo[] = {
        {"EXWMAIN", example, 0, ""},
   };

   FoxTable _FoxTable = {
        (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
   };

----------------------------------------------------------
===================================================
Part 2: Corrections to Documentation Since Printing
===================================================

Page 2: In the Reverse.C example:

The comment "/* Check to see if we can allocate the memory
needed. */" is missing the end comment marker */.

The three-line comment "Since this routine doesn't call
any functions that cause memory reorganization . . . 
prior to de-referencing them (_HandToPtr)" is missing the
single line comment marker // in the second and third
lines.

This statement:

   for (i = 0; i << parm->p[0].val.ev_length; i++)
            *(out_string--) = *(in_string++);

should be:

   for (i = 0; i < parm->p[0].val.ev_length; i++)
            *(out_string--) = *(in_string++);

Change the "<<" in the original example to "<".

----------------------------------------------------------
Page 5: The Value Structure Fields table should include
the General FoxPro data type.  The applicable fields and
their values are listed below:

val.ev_type = 'G'
val.ev_width = FCHAN
val.ev_long = length of general field
val.ev_real = offset of general field

----------------------------------------------------------
Page 6: The data type FPFI, a FAR pointer to a function
returning Int, is mistakenly listed as "FPDI".

----------------------------------------------------------

Page 7: In addition to the Point, Rect and EventRec data
structures, PointP and RectP should be included. PointP
and RectP are identical to Point and Rect except that
Point and Rect coordinates are in rows and columns while
PointP and RectP coordinates are in pixels.

----------------------------------------------------------
Page 12: The example

    if (parm->p[0].val.ev_type='C'
                x=parm->p[0].val.ev_length

should be:

   if (parm->p[0].val.ev_type=='C')
                x=parm->p[0].val.ev_length;

Use an expression ==, a closed parenthesis at the end of
the first line, and a semicolon at the end of the second
line.

----------------------------------------------------------

Page 22: When compiling a .PLB library in Microsoft C7 or
Visual C/C++, you need to use the following command line:

CL /O /ALw /Zp /GW

When linking a .PLB library in Microsoft C7 or C8, you 
need to use the /NOE and /NONULLS switches.

Leaving out /NOE can cause redefinition errors. Leaving
out /NONULLS will cause FoxPro not to recognize the .PLB
as a valid library.

----------------------------------------------------------

Page 25: The section heading for the makefile on this page
is incorrect. It should say "Microsoft C/C++ Makefile for
MS-DOS" instead of "WATCOM C Makefile for MS-DOS." 

----------------------------------------------------------

Page 26: The  makefile on this page should have the
following section heading: "WATCOM C Makefile for MS-DOS."

----------------------------------------------------------

Page 39: The example doesn't work as intended in all
cases. To have it work, you need to change the following
line:

   (( char FAR *) _HandToPtr(p1.ev_handle))[p1.ev_length] = '\0';

to:

   (( char FAR *) _HandToPtr(p0.ev_handle))[p0.ev_length - 1] = '\0';
   (( char FAR *) _HandToPtr(p1.ev_handle))[p1.ev_length - 1] = '\0';
                                                                                                                       
----------------------------------------------------------

Page 85: The following information applies to the 
_DBSeek( ) function: The struct Value passed to _DBSeek( )
(via a pointer) must be of ev_type == 'N' when seeking a
numeric field even if that field has 0 decimal digits.
If the struct Value has an ev_type of 'I', _DBSeek( )will
return the internal error number -302, "Data type
mismatch."

----------------------------------------------------------

Page 109: The struct EDENV documented with _EdGetEnv( ) isn't
correct. The actual structure from PRO_EXT.H appears
as follows:

NOTE:  (R) indicates that this member is read-only and
       can't be set using _EdSetEnv( ).

       (B) indicates that these members takes on one of
       two Boolean values: 1 = true or 0 = false.


typedef struct
{
   char            filename[MAXFILENAME]; // (R)
   EDPOS           length;       // # of bytes in text. (R)
   unsigned short  lenLimit;     // Max allowable length. 0 = infinite.

   unsigned short  dirty,        // Has the file been changed? (R, B)
                   autoIndent,   // Auto indent? (B)
                   backup,       // Make backup files? (B)
                   addLineFeeds, // Add line feeds when saving? (B)
                   autoCompile,  // Shall we auto compile this thing? (B)
                   addCtrlZ,     // Add end of file ctrl-z? (B)
                   savePrefs,    // Save edit preferences? (B)
                   dragAndDrop,  // Allow drag-and-drop. (B)
                   readOnly,     // 0 = not r/o, 1 = file is r/o,
                                 // 2 = file is r/w, opened r/o,
                                 // 3 = file is r/o, opened r/o. (R)
                   status,       // Display status bar? (B)
                   lockPrefs,    // Can update the preferences ? (B)
                   insertMode;   // (B)

   short   wrap;       // If < 0, new line at Return only.
   EDPOS   selStart;   // Selection start. (R)
   EDPOS   selEnd;     // Selection end. (R)
   EDPOS   selAnchor;  // Selection anchor point. (R)
   short   justMode;   // Justification (0 = left, 1 = right, 2 = center).
   short   tabWidth;   // TAB size in spaces.

   char    fontName[MAXFONTNAME];
   short   fontSize;
   short   fontStyle;  // 0 = plain, 1 = bold, 2 = italic, 3 = bold italic.
   short   kind;       // Kind of editor session; EDCOMMAND, EDPROGRAM, etc.
                       // defined in pro_ext.h. (R)
} EDENV;

	
----------------------------------------------------------

Page 122: The syntax for _EdOpenFile() is missing the
"mode" argument.  It should read:

   _EdOpenFile(TEXT *filename, int mode)

   TEXT *filename;      /* File to open. */
   int mode;            /* Mode option. */
	
The following Mode options are available:
FO_READONLY, FO_WRITEONLY, FO_READWRITE.

----------------------------------------------------------

Page 315: zoomEvent is a FoxPro for MS-DOS event.  You
can't trap for this event in FoxPro for Windows.

----------------------------------------------------------

In an EventHandler in the FoxPro for Windows Library
Construction Kit, if you make a call to FoxPro which
generates another event, the original event record may be
changed.  This won't happen in the FoxPro for MS-DOS
Library Construction Kit. The following example
illustrates this:

#include <pro_ext.h>

int         g_eventid = 0;         // Our event handler.

FAR EventHandler(WHandle theWindow, EventRec FAR *ev)
{
        Point     pt;
    switch (ev->what)              // Determine the event type.
    {
        case keyDownEvent:
                        if (theWindow == _WMainWindow())
                                return NO;
                        else
                        {
                                pt.h = 35;
                                pt.v = 10;

                        // This causes the event handler to be re-entered.
                                _WSize(theWindow, pt);	
                        }
                        _PutStr("\nDone with the keyDownEvent");
                        break;

                case sizeEvent:
                        _PutStr("\nSize Event received.");
                        break;

                        default:
                        return NO;
        }
        return NO;
}

FAR EventExit()
{
    _DeActivateHandler(g_eventid);     // Get rid of our event handler.
}


FAR Quotes(ParamBlk FAR *parm)
{
    //  Set up our event handler.
    g_eventid = _ActivateHandler(EventHandler);
}


FoxInfo myFoxInfo[] = {
    {"QUOTES", Quotes, 0, ""},
    {"EVENTEXIT", EventExit, CALLONUNLOAD, ""}
};

FoxTable _FoxTable = {
    (FoxTable FAR *)0, sizeof(myFoxInfo) / sizeof(FoxInfo), myFoxInfo
};

----------------------------------------------------------

                      =================
                      End of README.TXT
                      =================
063 FoxPro V2.5 8×HD
README.TXT [展开]
Additional Information about FoxPro for MS-DOS

Remember that information in online help is the most current
information available.

There are three types of installation for FoxPro for MS-DOS:
Normal Installation, Administrative Installation and Workstation
Installation.  Instructions for Normal Installation are in the
FoxPro Installation and Configuration manual.  For information
about Administrative and Workstation Installation, see
INSTALL.TXT on FoxPro for MS-DOS Disk 1.

The directory FOXPRO25\GOODIES\LCKUPDAT contains files that allow 
you to update PLBs built using the FoxPro 2.0 Library Construction 
Kit for use with FoxPro 2.5 for MS-DOS.  If you obtained your PLBs 
from another source, such as a software supplier or online 
service, contact that source for updated libraries that work with 
FoxPro 2.5.  To use these files, follow the directions in the 
LCKUPDAT.TXT file located in the FOXPRO25\GOODIES\LCKUPDAT 
directory.
064 FoxPro V2.6 5×TD
README.TXT [展开]
                       README.TXT
**********************************************************
                   Release Notes for
 
    Microsoft(R) FoxPro(R) for MS-DOS (R) Version 2.5b

    (C)1993 Microsoft Corporation. All Rights Reserved.

Information in the FoxPro online Help is more current than
information in the printed documentation. This README
provides information not contained in the FoxPro online
help or documentation, and provides corrections to both.
**********************************************************
========
CONTENTS
========

Part   Description
----   -----------
1      Installation
2      WAIT...WINDOW Enhancements
3      New Commands and Functions
4      New Transporter and Screen Directives
5      International and Cross-Platform Recommendations

----------------------------------------------------------
====================
Part 1: Installation 
====================

There are three types of installation for FoxPro for
MS-DOS: Normal Installation, Administrative Installation
and Workstation Installation. Instructions for Normal
Installation are in the FoxPro Installation and
Configuration manual. For information about Administrative
and Workstation Installation, see INSTALL.TXT on FoxPro 
for MS-DOS Disk 1.
----------------------------------------------------------
================================
Part 2: WAIT WINDOW Enhancements 
================================

WAIT WINDOW now supports multiple line messages. Use a
carriage return (CHR(13)) to move portions of your message
to additional lines. The message window is automatically
expanded to accommodate additional lines. For example, this
command creates a message window that contains two lines:

WAIT WINDOW "This is the 1st line" + CHR(13) + ;
    "This is the 2nd line"

The width of the message window is adjusted to fit the
longest line in the message. All lines in the message are
left justified in the message window. Line feeds (CHR(10))
following CHR(13) are ignored.
----------------------------------------------------------
==================================
Part 3: New Commands and Functions 
==================================

Several new commands and functions are added to
FoxPro 2.5b. For additional information about these
commands and functions, see the "International and Cross
Platform Recommendations" section below and the
corresponding topics in Help.

New Commands
------------

SET NOCPTRANS
SET COLLATE

New Functions
-------------

CPCURRENT( )
CPDBF( )
CPCONVERT( )
IDXCOLLATE( )
----------------------------------------------------------
=============================================
Part 4: New Transporter and Screen Directives 
=============================================

Several new Transporter and screen directives have been
added.

The #DOSOBJ, #MACOBJ, #UNIXOBJ and #WINOBJ  
Transporter directives allow you to transport objects
created in the Screen Builder and Report Writer to 
specific FoxPro platforms. For additional information 
about these Transporter directives, see the Transporting 
Files topic in Help.

#TRAN SNIPPET ONLY, a new screen directive, is available
in FoxPro 2.5b. This screen directive affects how screen
objects are transported, and is not discussed in Help.
#TRAN SNIPPET ONLY is designed to limit the Transporter's
changes to just screen snippets, and is placed in
a screen's Setup snippet.

When screen objects are transported to a different FoxPro
platform, only the screen snippets for updated screen
objects are transported if #TRAN SNIPPET ONLY is included.
All other screen object attributes are not transported to
the different platform. 

Note that #TRAN SNIPPET ONLY only affects updated screen
objects; it does not affect new or unchanged screen
objects or screen objects being transported for the first
time.
----------------------------------------------------------
=========================================================
Part 5: International and Cross Platform Recommendations 
========================================================= 

                   *** IMPORTANT ***

*******************************************************
*  Be sure to read this section completely before you *
*  change code pages or collation sequences!          *
*******************************************************

Overview of topics

1   FoxPro Collation Sequences
2   Case-Insensitive Collation Sequences
3   Case-Sensitive Collation Sequences
4   How do the SEEK and SKIP commands work?
5   Alternatives to SEEK and SKIP
6   Additional Recommendations
7   New Code Pages
8   CPZERO Program
9   Corrections to the Help File

FoxPro 2.5b gives international developers and users
powerful new features for handling accented characters
across different FoxPro platforms, and provides 
accurate sorting in many languages.

For international FoxPro users, this section describes
how code pages and collation sequences affect sorting,
seeking and comparisons using the SORT and SEEK commands,
and also provides recommendations for taking advantage
of these features.

U.S. FoxPro users whose applications don't contain
accented characters may not need any of the new
international 2.5b features. In this case, you can
disregard this section of the README and the
International/X-Platform topic in Help. FoxPro 2.5b is
100% percent compatible with FoxPro 2.5.  

1 FoxPro Collation Sequences
----------------------------

With a MACHINE collation sequence, which earlier FoxPro
versions use (and to which FoxPro 2.5b still defaults),
each character in the code page, whether it's a Roman
character, an accented character, or a line-drawing
character, has a unique "sort weight" determined by its
position in the code page. In a majority of code
pages, all accented characters appear after the unaccented
characters. In this situation an ä sorts after z, which
isn't correct in most languages (although it is true in
Swedish, for instance).

Furthermore, in most languages accented characters sort
after their unaccented counterparts, but only if the
unaccented versions of all characters being compared are
the same. For example, in German, ä sorts after the
unaccented a, but the string äa sorts before the string ab
because the second character a is less than the second
character b. In this way, characters are interleaved in
many cultures.

FoxPro 2.5b supports a number of new collation sequences
to correctly sort in many languages. These sequences take
into account all the complex rules of the language
(including two-to-one, three-to-one and one-to-two
mappings). The following collation sequences were
available when this README was created. The code pages
for which these collation sequences are defined are also
included.

Collation Sequence   Friendly Name    Code Pages
------------------   -------------    ----------
CZECH                Czech            852, 895, 1250			
DUTCH                Dutch            437, 850, 1252
GREEK                Greek            737, 1253			
GENERAL              General          437, 620, 850,
                                      852, 861, 865,
                                      895, 1250, 1252,
                                      10000			
HUNGARY              Hungarian        852, 1250			
ICELAND              Icelandic        437, 850, 861,
                                      1252
MACHINE              Machine          All			
NORDAN               Norwegian/Danish 437, 850, 865,
                                      1252	
POLISH               Polish           620, 852, 1250			
RUSSIAN              Russian          866, 1251			
SLOVAK               Slovak           852, 895, 1250			
SPANISH              Spanish          437, 850, 1252
SWEFIN               Swedish/Finnish  437, 850, 1252
UNIQWT               Unique Weight    437, 850, 1252,
                                      10000	

If you specify a collation sequence in the SET COLLATE
command as a string literal, enclose the collation
sequence in quotation marks. Don't enclose the collation
sequence in quotation marks if you specify a collation
sequence in your FoxPro configuration file (CONFIG.FP or
CONFIG.FPW).

If you use the SET COLLATE command to specify a collation 
sequence that isn't supported by the current code page, 
FoxPro generates an error. If you specify a collation 
sequence in your FoxPro configuration file that isn't 
supported by the current code page, the collation sequence 
defaults to MACHINE.

If you specify a collation sequence in the International
panel in the View window, the collation sequence names 
appear in longer forms. For example, the NORDAN option 
appears as Norwegian & Danish, and the SWEFIN option 
appears as Swedish & Finnish.

For additional information about collation sequences, see
SET COLLATE in Help.

3 Case-Sensitive Collation Sequences
------------------------------------

Two case-sensitive collation sequences are available in
FoxPro: the familiar MACHINE sequence, the default
sequence in earlier FoxPro versions, and the sequence
named UNIQWT. UNIQWT is a "unique weight" sort in which 
each accented character sorts strictly after its 
unaccented counterpart (unlike the interleaving of 
accented characters described earlier).

While the collation sequence with UNIQWT isn't strictly
culturally correct as with GENERAL, it may aid developers
in migrating their applications from earlier FoxPro
versions. One reason is that upper- and lower-case letter
are treated distinctly as they were in earlier FoxPro
versions. Another reason is described in the section
titled "How do the SEEK and SKIP commands work?"

4 How do the SEEK and SKIP commands work?
-----------------------------------------

The SEEK command accepts an expression. FoxPro transforms
that expression into a sort key which it compares to
keys in the master index or tag. SEEK then positions the 
record pointer at the first index entry that's greater 
than or equal to ( >= ) the supplied key.

With a machine sort, SEEK finds a match if there is one.
The UNIQWT sort has the same property. But when FoxPro
uses the new language-specific collation sequences to
create indexes, only the alphabetic part of the key is
considered and any diacritical marks are ignored. In other
words, even if you SEEK "äbc" you may find "abc". Note
that partial searches (where you search for part of the
field) using SEEK may not return the results you expect
when the current collation sequence is not MACHINE or
UNIQWT.

FoxPro behaves this way for the following three reasons:

1) Performance.

2) Consistency with the SKIP command.

3) Consistency with the SET NEAR command.

To have SEEK and SKIP find only those records that exactly
match accented characters, you must either SET EXACT ON or
use an index tag created with the MACHINE or UNIQWT
collation sequences. 

Note that SEEK and SKIP use the collation sequence of the
master index or tag, and ignore the current collation
sequence. SEEK can't be used unless there is an index is
active.  

5 Alternatives to SEEK and SKIP
-------------------------------

If you use accented characters, use one of the following
methods to search a table:

1) Construct a loop with SCAN FOR ... ENDSCAN.

2) Use LOCATE FOR ... CONTINUE. 

LOCATE and SCAN use an index if one is active, and
they have two very significant advantages over SEEK when
data contains accented characters.

First, both LOCATE and SCAN remember the condition with
which they were invoked, so they can be used for looping
on a condition. SEEK, on the other hand, simply positions
you somewhere in the index, and SKIP continues down the
index from that point. With international data, this may
not give you the results you want.

Second, LOCATE and SCAN are diacritically-sensitive,
whereas SEEK isn't. In addition, both LOCATE and SCAN can
be fully optimized by Rushmore if the current collation
sequence is MACHINE or UNIQWT; otherwise partial
optimization will occur.

The ORDER BY clause of the SQL SELECT command uses the
current collating sequence, which is returned by
SET("COLLATE")).

6 Additional Recommendations
----------------------------

1) If you aren't concerned with indexing accented
characters in a language-specific way, feel free to
continue to use machine indexes. For many U.S. users,
this is appropriate.

2) For the best performance when using a collation
sequence other than MACHINE or UNIQWT, be sure that the
current collation sequence is the same as the collation
sequence of any indexes you are using.

3) Most international users will want accented characters
in all fields to be translated automatically by FoxPro
when running cross-platform applications. However, if you
have a table with a character field that's actually 
storing binary information (data), the SET NOCPTRANS 
command allows you to inform FoxPro that characters
in such a field should not be translated. 

Binary data might otherwise be changed, because of
FoxPro's "nearest" character mapping.  For characters such
as the MS-DOS line-drawing characters, FoxPro maps to the
"nearest" character in the destination code page.

If you choose to use SET NOCPTRANS, you must do so
immediately after issuing the USE command. From that
point on, FoxPro's automatic character translation is
not in effect for any fields you designate. In particular, 
you must issue the SET NOCPTRANS command before issuing 
a SQL SELECT command -- you cannot let SQL SELECT open
tables for you if the tables contain fields which should
not be translated.

Note that SET NOCPTRANS only operates on fields for the
table open in the currently selected work area.  If you
close a table and then open the table again, you must
reissue SET NOCPTRANS and designate the fields which
should not be translated.

4) If you create cross platform applications, you should
avoid using FoxFont. FoxFont is an OEM MS-DOS font that
you may find useful in some situations. But if you use
FoxFont in an application you create in FoxPro for
Windows, some of the characters in the application may
not transport correctly to other FoxPro platforms.

Furthermore, FoxFont won't correctly display characters
typed on international Windows keyboards. If you have
automatic code page translation enabled, FoxPro will
display accented characters correctly.

FoxFont is the installed default font for the FoxPro
desktop. FoxFont is the default font for user-defined
windows created with DEFINE WINDOW when the FONT clause
is omitted. Be sure to include the FONT clause when
creating user-defined windows in FoxPro for Windows.

FixedSys is the default font for the Command, Trace and
Debug windows if you're using Windows 3.1. Text editor
windows default to the current Command window font. 

5) FoxPro 2.5b can automatically translate accented
characters in most files types such as .DBF, .SCX, and
.FXP files. However, program (.PRG) and text (.TXT)
files don't have a header and can't be marked with a code
page. Therefore, FoxPro must assume that a program or text
file was designed for use on the platform on which it is
opened.

It's important that you compile each program on the 
platform on which it was written. Since compiled programs 
(.FXP files) have a header, once you compile a program, it 
can be run on any FoxPro platform and accented characters 
in the original source program are automatically 
translated when automatic code page translation is in 
effect.

6) Do not mix programs created on different FoxPro
platforms in a project. The Project Manager assumes that
all programs in a project are native to the current FoxPro
platform. If you create an application or an executable
from a project that contains programs created on different
FoxPro platforms, translation of accented characters in
the programs might not be translated properly.

Also, within the Project Manager you can't specify the
platform on which a program or text file was created.
Therefore, in the Project Manager don't edit programs or
tables created on a FoxPro platform other than the current 
platform.  This means that you shouldn't double-click on a
file to open it in the Project Manager if you've enabled
automatic translation by including CODEPAGE = AUTO in 
your FoxPro configuration file.

If you create an application that contains files created
on different FoxPro platforms, do not open the files for
editing from within the Project Manager.

However, once you build an application (.APP file), it
will run on any FoxPro platform and FoxPro can
automatically translate accented characters.

7) If you have a project created in FoxPro for MS-DOS
version 2.0 and the files within the project contain 
accented characters, you can share the project and 
its files across different FoxPro platforms by performing
the  following steps to convert the project and its files.
This conversion is required just once, and enables cross 
platform sharing of all the elements of the project.

a) Open the project in FoxPro for MS-DOS 2.5b or FoxPro
   for Windows 2.5b. A dialog appears, asking if you would 
   like to convert the project to a 2.5 format. Choose 
   Yes, then close the project.
  
b) Open every screen, report, label, menu and table
   contained in the project with the USE command. You are 
   prompted for the code page (437, 850 and so on) on 
   which each was created. Specify the MS-DOS code page 
   on which each was built and then choose Yes.

c) Use MODIFY COMMAND or MODIFY FILE and include the
   AS clause to open EVERY program, query, format file
   or text file contained in the project. In the AS
   clause, specify the code page (437, 850 and so on)
   of the FoxPro platform on which each was created.
   Choose the Save As option from the File menu and choose
   the Change Code Page check box.  In the dialog that
   appears after you choose Save, specify the code page
   for the FoxPro platform on which the file will be used.

8) If you're developing a cross-platform application,
avoid using characters that appear in one code page and
not another. For example, the MS-DOS line drawing
characters aren't supported under Windows, so avoid using
them in screens you plan to transport between FoxPro for
MS-DOS and FoxPro for Windows.

You can use CHR() if your application absolutely requires
line drawing and accented characters. Output from CHR()
isn't translated when the function is executed, allowing
you to output any character.

9) The MS-DOS file system is case-insensitive and requires
uppercase file names. If your applications run on FoxPro
for MS-DOS, be sure to restrict file names to those
characters that have uppercase equivalents in your MS-DOS
code page.

For example, code page 437 doesn't contain uppercase
versions of several accented vowels. These characters
can't be safely used in a FoxPro file name. It's best
to avoid accented characters in file names.

7 New Code Pages
----------------

The following code pages are now supported:

Code Page       Platform
---------       --------
437             U.S. MS-DOS
737             Greek MS-DOS (437G)
620             Mazovia (Polish) MS-DOS
850             International MS-DOS
852             EE MS-DOS (Latin II)
861             Icelandic MS-DOS
865             Nordic MS-DOS
866             Russian MS-DOS
895             Kamenicky (Czech) MS-DOS
1250            Windows EE
1251            Russian Windows
1252            Windows ANSI
1253            Greek Windows
10000           Standard Macintosh

Byte 29 in table headers contains the code page identifier.
The following table lists the code page and the
corresponding code page identifier in hex.

Code Page       Code Page Identifier
---------       --------------------
437             x01
737             x6A
620             x69
850             x02
852             x64
861             x67
865             x66
866             x65
895             x68
1250            xC8
1251            xC9
1252            x03
1253            xCA
10000           x04

8 CPZERO Program
----------------

If you accidentally specify the wrong code page when
you open a table that isn't marked with a code page, run
CPZERO.PRG to reset the table's code page to zero. CPZERO
is a FoxPro program that is automatically installed in
your FoxPro directory. Before you run CPZERO, make sure
that the table whose code page you'll reset isn't open.
When you run CPZERO, you are prompted for the name of the 
table to modify.  

9 Corrections to the Help File
------------------------------

Configuring FoxPro and International/X-Platform Topics
------------------------------------------------------

These FoxPro 2.5b help file topics contain the following
line:

"Note that MODIFY STRUCTURE also marks a table with the
current code page."  

This line is incorrect and should read:

"Note that MODIFY STRUCTURE doesn't mark a table with the
current code page. Rather, it preserves the table's 
existing code page mark." 

International/X-Platform Topic
------------------------------

This help file topic contains the following line:

For example, if the current collation sequence is GENERAL,
both of these return true (.T.):

	"Straße" = "Strasse"

	and

	"Straße" == "Strasse"

"Straße" == "Strasse" will always return .F., not .T. as
it states in this topic. A strict machine comparison is
performed by ==. All characters in each string are
compared, including trailing blanks. For more information
about comparisons using = and ==, see SET EXACT in the
Language Reference or the FoxPro help facility.
----------------------------------------------------------
                   =================
                   End of README.TXT
                   =================
065 FoxPro 2.6 Disribution Kit/DOS 4×TD
066 FoxPro 2.5 Disribution Kit/DOS 4×HD
067 FoxPro Library Consturcton Kit/DOS 1×HD
README.TXT [展开]
                       README.TXT
**********************************************************
          Microsoft(R) FoxPro(R) Version 2.5
  Library Construction Kit for Windows(TM)and MS-DOS(R)

    (C)1993 Microsoft Corporation. All Rights Reserved.

  This file contains additions and corrections to the
  FoxPro Library Construction Kit Developer's Guide.

**********************************************************
========
CONTENTS
========

Part   Description
----   -----------

1      Additions to Documentation Since Printing
2      Corrections to Documentation Since Printing

----------------------------------------------------------
=================================================
Part 1: Additions to Documentation Since Printing
=================================================

The EXAMPLES directory contains a FoxPro database with all
the example code that is used in the manual.  Simply
search for the function with example code you wish to
copy and then extract the code from the memo field. You
are free to use this code in your own applications.

-----------------------------------------------------------

The following function has been added:

WHANDLE _WMainWindow( )

Description:
_WMainWindow( ) returns the WHANDLE of the main FoxPro
window in FoxPro for Windows or of the FoxPro desktop
in FoxPro for MS-DOS.

Example:
The following example writes a message to the main FoxPro
window in FoxPro for Windows or to the FoxPro desktop in
FoxPro for MS-DOS.

FoxPro Code:

   SET LIBRARY TO WMAIN
   = EXWMAIN()

C Code:

   #include <pro_ext.h>

   void FAR example(ParamBlk FAR *parm)
   {
        WHANDLE wh = _WMainWindow();
        _WPutStr(wh, "\nThis is the main FoxPro window or desktop.");
   }

   FoxInfo myFoxInfo[] = {
        {"EXWMAIN", example, 0, ""},
   };

   FoxTable _FoxTable = {
        (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
   };

----------------------------------------------------------
===================================================
Part 2: Corrections to Documentation Since Printing
===================================================

Page 2: In the Reverse.C example:

The comment "/* Check to see if we can allocate the memory
needed. */" is missing the end comment marker */.

The three-line comment "Since this routine doesn't call
any functions that cause memory reorganization . . . 
prior to de-referencing them (_HandToPtr)" is missing the
single line comment marker // in the second and third
lines.

This statement:

   for (i = 0; i << parm->p[0].val.ev_length; i++)
            *(out_string--) = *(in_string++);

should be:

   for (i = 0; i < parm->p[0].val.ev_length; i++)
            *(out_string--) = *(in_string++);

Change the "<<" in the original example to "<".

----------------------------------------------------------
Page 5: The Value Structure Fields table should include
the General FoxPro data type.  The applicable fields and
their values are listed below:

val.ev_type = 'G'
val.ev_width = FCHAN
val.ev_long = length of general field
val.ev_real = offset of general field

----------------------------------------------------------
Page 6: The data type FPFI, a FAR pointer to a function
returning Int, is mistakenly listed as "FPDI".

----------------------------------------------------------

Page 7: In addition to the Point, Rect and EventRec data
structures, PointP and RectP should be included. PointP
and RectP are identical to Point and Rect except that
Point and Rect coordinates are in rows and columns while
PointP and RectP coordinates are in pixels.

----------------------------------------------------------
Page 12: The example

    if (parm->p[0].val.ev_type='C'
                x=parm->p[0].val.ev_length

should be:

   if (parm->p[0].val.ev_type=='C')
                x=parm->p[0].val.ev_length;

Use an expression ==, a closed parenthesis at the end of
the first line, and a semicolon at the end of the second
line.

----------------------------------------------------------

Page 22: When compiling a .PLB library in Microsoft C7 or
Visual C/C++, you need to use the following command line:

CL /O /ALw /Zp /GW

When linking a .PLB library in Microsoft C7 or C8, you 
need to use the /NOE and /NONULLS switches.

Leaving out /NOE can cause redefinition errors. Leaving
out /NONULLS will cause FoxPro not to recognize the .PLB
as a valid library.

----------------------------------------------------------

Page 25: The section heading for the makefile on this page
is incorrect. It should say "Microsoft C/C++ Makefile for
MS-DOS" instead of "WATCOM C Makefile for MS-DOS." 

----------------------------------------------------------

Page 26: The  makefile on this page should have the
following section heading: "WATCOM C Makefile for MS-DOS."

----------------------------------------------------------

Page 39: The example doesn't work as intended in all
cases. To have it work, you need to change the following
line:

   (( char FAR *) _HandToPtr(p1.ev_handle))[p1.ev_length] = '\0';

to:

   (( char FAR *) _HandToPtr(p0.ev_handle))[p0.ev_length - 1] = '\0';
   (( char FAR *) _HandToPtr(p1.ev_handle))[p1.ev_length - 1] = '\0';
                                                                                                                       
----------------------------------------------------------

Page 85: The following information applies to the 
_DBSeek( ) function: The struct Value passed to _DBSeek( )
(via a pointer) must be of ev_type == 'N' when seeking a
numeric field even if that field has 0 decimal digits.
If the struct Value has an ev_type of 'I', _DBSeek( )will
return the internal error number -302, "Data type
mismatch."

----------------------------------------------------------

Page 109: The struct EDENV documented with _EdGetEnv( ) isn't
correct. The actual structure from PRO_EXT.H appears
as follows:

NOTE:  (R) indicates that this member is read-only and
       can't be set using _EdSetEnv( ).

       (B) indicates that these members takes on one of
       two Boolean values: 1 = true or 0 = false.


typedef struct
{
   char            filename[MAXFILENAME]; // (R)
   EDPOS           length;       // # of bytes in text. (R)
   unsigned short  lenLimit;     // Max allowable length. 0 = infinite.

   unsigned short  dirty,        // Has the file been changed? (R, B)
                   autoIndent,   // Auto indent? (B)
                   backup,       // Make backup files? (B)
                   addLineFeeds, // Add line feeds when saving? (B)
                   autoCompile,  // Shall we auto compile this thing? (B)
                   addCtrlZ,     // Add end of file ctrl-z? (B)
                   savePrefs,    // Save edit preferences? (B)
                   dragAndDrop,  // Allow drag-and-drop. (B)
                   readOnly,     // 0 = not r/o, 1 = file is r/o,
                                 // 2 = file is r/w, opened r/o,
                                 // 3 = file is r/o, opened r/o. (R)
                   status,       // Display status bar? (B)
                   lockPrefs,    // Can update the preferences ? (B)
                   insertMode;   // (B)

   short   wrap;       // If < 0, new line at Return only.
   EDPOS   selStart;   // Selection start. (R)
   EDPOS   selEnd;     // Selection end. (R)
   EDPOS   selAnchor;  // Selection anchor point. (R)
   short   justMode;   // Justification (0 = left, 1 = right, 2 = center).
   short   tabWidth;   // TAB size in spaces.

   char    fontName[MAXFONTNAME];
   short   fontSize;
   short   fontStyle;  // 0 = plain, 1 = bold, 2 = italic, 3 = bold italic.
   short   kind;       // Kind of editor session; EDCOMMAND, EDPROGRAM, etc.
                       // defined in pro_ext.h. (R)
} EDENV;

	
----------------------------------------------------------

Page 122: The syntax for _EdOpenFile() is missing the
"mode" argument.  It should read:

   _EdOpenFile(TEXT *filename, int mode)

   TEXT *filename;      /* File to open. */
   int mode;            /* Mode option. */
	
The following Mode options are available:
FO_READONLY, FO_WRITEONLY, FO_READWRITE.

----------------------------------------------------------

Page 315: zoomEvent is a FoxPro for MS-DOS event.  You
can't trap for this event in FoxPro for Windows.

----------------------------------------------------------

In an EventHandler in the FoxPro for Windows Library
Construction Kit, if you make a call to FoxPro which
generates another event, the original event record may be
changed.  This won't happen in the FoxPro for MS-DOS
Library Construction Kit. The following example
illustrates this:

#include <pro_ext.h>

int         g_eventid = 0;         // Our event handler.

FAR EventHandler(WHandle theWindow, EventRec FAR *ev)
{
        Point     pt;
    switch (ev->what)              // Determine the event type.
    {
        case keyDownEvent:
                        if (theWindow == _WMainWindow())
                                return NO;
                        else
                        {
                                pt.h = 35;
                                pt.v = 10;

                        // This causes the event handler to be re-entered.
                                _WSize(theWindow, pt);	
                        }
                        _PutStr("\nDone with the keyDownEvent");
                        break;

                case sizeEvent:
                        _PutStr("\nSize Event received.");
                        break;

                        default:
                        return NO;
        }
        return NO;
}

FAR EventExit()
{
    _DeActivateHandler(g_eventid);     // Get rid of our event handler.
}


FAR Quotes(ParamBlk FAR *parm)
{
    //  Set up our event handler.
    g_eventid = _ActivateHandler(EventHandler);
}


FoxInfo myFoxInfo[] = {
    {"QUOTES", Quotes, 0, ""},
    {"EVENTEXIT", EventExit, CALLONUNLOAD, ""}
};

FoxTable _FoxTable = {
    (FoxTable FAR *)0, sizeof(myFoxInfo) / sizeof(FoxInfo), myFoxInfo
};

----------------------------------------------------------

                      =================
                      End of README.TXT
                      =================
068 FoxPro Library Consturcton Kit/DOS/WIN 1×TD
为FoxPro提供C语言及汇编语言的外部编程接口
README.TXT [展开]
                       README.TXT
**********************************************************
  Microsoft(R) FoxPro(R) Version 2.6 Professional Edition
  Library Construction Kit for Windows(TM) and MS-DOS(R)

    (C)1994 Microsoft Corporation. All Rights Reserved.

  This file contains additions and corrections to the
  FoxPro Library Construction Kit Developer's Guide.
**********************************************************

=========
CONTENTS
=========

Part   Description
----   -----------
 1     Installation
 2     Additions to LCK Developer's Guide Since Printing
 3     Corrections to LCK Developer's Guide Since Printing
----------------------------------------------------------


=====================
Part 1: Installation
=====================

Installing the Professional Edition of FoxPro 2.6
-------------------------------------------------
The Professional Edition of FoxPro 2.6 includes the
following kits:

Distribution Kit
Connectivity Kit
Library Construction Kit
WorkGroup Extensions (FoxPro for Windows only) 

To install the Professional Edition of FoxPro, first install
the main FoxPro product, then follow the installation 
instructions included with each individual kit.  The order 
in which the kits are installed does not matter.
----------------------------------------------------------


==========================================================
Part 2: Additions to LCK Developer's Guide Since Printing
==========================================================
In the LCK Developer's Guide, references to FoxPro 2.5 
should be read as references to FoxPro 2.6.
----------------------------------------------------------

The EXAMPLES directory contains a FoxPro database with all
the example code that is used in the manual.  Simply
search for the function with example code you wish to
copy and then extract the code from the memo field. You
are free to use this code in your own applications.
-----------------------------------------------------------

The following function has been added:

WHANDLE _WMainWindow( )

Description:
_WMainWindow( ) returns the WHANDLE of the main FoxPro
window in FoxPro for Windows or of the FoxPro desktop
in FoxPro for MS-DOS.

Example:
The following example writes a message to the main FoxPro
window in FoxPro for Windows or to the FoxPro desktop in
FoxPro for MS-DOS.

FoxPro Code:

   SET LIBRARY TO WMAIN
   = EXWMAIN()

C Code:

   #include <pro_ext.h>

   void FAR example(ParamBlk FAR *parm)
   {
        WHANDLE wh = _WMainWindow();
        _WPutStr(wh, "\nThis is the main FoxPro window or desktop.");
   }

   FoxInfo myFoxInfo[] = {
        {"EXWMAIN", example, 0, ""},
   };

   FoxTable _FoxTable = {
        (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
   };
----------------------------------------------------------


===================================================
Part 3: Corrections to LCK Developer's Guide Since 
        Printing
===================================================

Page 2: In the Reverse.C example:

The comment "/* Check to see if we can allocate the memory
needed. */" is missing the end comment marker */.

The three-line comment "Since this routine doesn't call
any functions that cause memory reorganization . . . 
prior to de-referencing them (_HandToPtr)" is missing the
single line comment marker // in the second and third
lines.

This statement:

   for (i = 0; i << parm->p[0].val.ev_length; i++)
            *(out_string--) = *(in_string++);

should be:

   for (i = 0; i < parm->p[0].val.ev_length; i++)
            *(out_string--) = *(in_string++);

Change the "<<" in the original example to "<".
----------------------------------------------------------

Page 5: The Value Structure Fields table should include
the General FoxPro data type.  The applicable fields and
their values are listed below:

val.ev_type = 'G'
val.ev_width = FCHAN
val.ev_long = length of general field
val.ev_real = offset of general field
----------------------------------------------------------

Page 6: The data type FPFI, a FAR pointer to a function
returning Int, is mistakenly listed as "FPDI".
----------------------------------------------------------

Page 7: In addition to the Point, Rect and EventRec data
structures, PointP and RectP should be included. PointP
and RectP are identical to Point and Rect except that
Point and Rect coordinates are in rows and columns while
PointP and RectP coordinates are in pixels.
----------------------------------------------------------

Page 12: The example

    if (parm->p[0].val.ev_type='C'
                x=parm->p[0].val.ev_length

should be:

   if (parm->p[0].val.ev_type=='C')
                x=parm->p[0].val.ev_length;

Use an expression ==, a closed parenthesis at the end of
the first line, and a semicolon at the end of the second
line.
----------------------------------------------------------

Page 22: When compiling a .PLB library in Microsoft C7 or
Visual C/C++, you need to use the following command line:

CL /O /ALw /Zp /GW

When linking a .PLB library in Microsoft C7 or C8, you 
need to use the /NOE and /NONULLS switches.

Leaving out /NOE can cause redefinition errors. Leaving
out /NONULLS will cause FoxPro not to recognize the .PLB
as a valid library.
----------------------------------------------------------

Page 25: The section heading for the makefile on this page
is incorrect. It should say "Microsoft C/C++ Makefile for
MS-DOS" instead of "WATCOM C Makefile for MS-DOS." 
----------------------------------------------------------

Page 26: The  makefile on this page should have the
following section heading: "WATCOM C Makefile for MS-DOS."
----------------------------------------------------------

Page 39: The example doesn't work as intended in all
cases. To have it work, you need to change the following
line:

   (( char FAR *) _HandToPtr(p1.ev_handle))[p1.ev_length] = '\0';

to:

   (( char FAR *) _HandToPtr(p0.ev_handle))[p0.ev_length - 1] = '\0';
   (( char FAR *) _HandToPtr(p1.ev_handle))[p1.ev_length - 1] = '\0';
----------------------------------------------------------

Page 85: The following information applies to the 
_DBSeek( ) function: The struct Value passed to _DBSeek( )
(via a pointer) must be of ev_type == 'N' when seeking a
numeric field even if that field has 0 decimal digits.
If the struct Value has an ev_type of 'I', _DBSeek( )will
return the internal error number -302, "Data type
mismatch."
----------------------------------------------------------

Page 109: The struct EDENV documented with _EdGetEnv( ) isn't
correct. The actual structure from PRO_EXT.H appears
as follows:

NOTE:  (R) indicates that this member is read-only and
       can't be set using _EdSetEnv( ).

       (B) indicates that these members takes on one of
       two Boolean values: 1 = true or 0 = false.


typedef struct
{
   char            filename[MAXFILENAME]; // (R)
   EDPOS           length;       // # of bytes in text. (R)
   unsigned short  lenLimit;     // Max allowable length. 0 = infinite.

   unsigned short  dirty,        // Has the file been changed? (R, B)
                   autoIndent,   // Auto indent? (B)
                   backup,       // Make backup files? (B)
                   addLineFeeds, // Add line feeds when saving? (B)
                   autoCompile,  // Shall we auto compile this thing? (B)
                   addCtrlZ,     // Add end of file ctrl-z? (B)
                   savePrefs,    // Save edit preferences? (B)
                   dragAndDrop,  // Allow drag-and-drop. (B)
                   readOnly,     // 0 = not r/o, 1 = file is r/o,
                                 // 2 = file is r/w, opened r/o,
                                 // 3 = file is r/o, opened r/o. (R)
                   status,       // Display status bar? (B)
                   lockPrefs,    // Can update the preferences ? (B)
                   insertMode;   // (B)

   short   wrap;       // If < 0, new line at Return only.
   EDPOS   selStart;   // Selection start. (R)
   EDPOS   selEnd;     // Selection end. (R)
   EDPOS   selAnchor;  // Selection anchor point. (R)
   short   justMode;   // Justification (0 = left, 1 = right, 2 = center).
   short   tabWidth;   // TAB size in spaces.

   char    fontName[MAXFONTNAME];
   short   fontSize;
   short   fontStyle;  // 0 = plain, 1 = bold, 2 = italic, 3 = bold italic.
   short   kind;       // Kind of editor session; EDCOMMAND, EDPROGRAM, etc.
                       // defined in pro_ext.h. (R)
} EDENV;
----------------------------------------------------------

Page 122: The syntax for _EdOpenFile() is missing the
"mode" argument.  It should read:

   _EdOpenFile(TEXT *filename, int mode)

   TEXT *filename;      /* File to open. */
   int mode;            /* Mode option. */
	
The following Mode options are available:
FO_READONLY, FO_WRITEONLY, FO_READWRITE.
----------------------------------------------------------

Page 315: zoomEvent is a FoxPro for MS-DOS event.  You
can't trap for this event in FoxPro for Windows.
----------------------------------------------------------

In an EventHandler in the FoxPro for Windows Library
Construction Kit, if you make a call to FoxPro which
generates another event, the original event record may be
changed.  This won't happen in the FoxPro for MS-DOS
Library Construction Kit. The following example
illustrates this:

#include <pro_ext.h>

int         g_eventid = 0;         // Our event handler.

FAR EventHandler(WHandle theWindow, EventRec FAR *ev)
{
        Point     pt;
    switch (ev->what)              // Determine the event type.
    {
        case keyDownEvent:
                        if (theWindow == _WMainWindow())
                                return NO;
                        else
                        {
                                pt.h = 35;
                                pt.v = 10;

                        // This causes the event handler to be re-entered.
                                _WSize(theWindow, pt);	
                        }
                        _PutStr("\nDone with the keyDownEvent");
                        break;

                case sizeEvent:
                        _PutStr("\nSize Event received.");
                        break;

                        default:
                        return NO;
        }
        return NO;
}

FAR EventExit()
{
    _DeActivateHandler(g_eventid);     // Get rid of our event handler.
}


FAR Quotes(ParamBlk FAR *parm)
{
    //  Set up our event handler.
    g_eventid = _ActivateHandler(EventHandler);
}


FoxInfo myFoxInfo[] = {
    {"QUOTES", Quotes, 0, ""},
    {"EVENTEXIT", EventExit, CALLONUNLOAD, ""}
};

FoxTable _FoxTable = {
    (FoxTable FAR *)0, sizeof(myFoxInfo) / sizeof(FoxInfo), myFoxInfo
};
----------------------------------------------------------

                      =================
                      End of README.TXT
                      =================
原始 1.IMG DISK 1
069 USING FOX PRO. 2.5 APPLICATION LIBRARY F/W 1×HD
原始 1.DDI FP25W_1
070 COMMTOOLS FOR FOXPRO 1×HD
RAW 1.raw
原始 1.DDI
071 BIG-5 SLOVE FOR FOXPRO 2×HD
README.SOL [展开]
              [ BIG-5 SOLUTION ] 說明
────────────────────────────

※前言:
      中文BIG-5 內碼系統與英文軟體一直存在著邊框字元衝碼
  的問題。而在 FOXPRO 中這個問題也同樣存在,雖然在設計程
  式時可使用一些自定函數來畫框;但是 FOXPRO 內部許多命令
  、函數中便內含著畫框字元,為了避開這個衝碼問題,也同時
  放棄了許多好用又有效率的工具,使得 FOXPRO 這套資料庫的
  工具遜色不少。

      雖然有人使用倚天碼來解決此項問題,但是倚天碼雖然不
  會有邊框的困擾,但是卻在 ASCII(141) 這個碼上出現問題,
  主要原因是在於該碼是 FOXPRO 的控制碼,在輸入中文字時會
  被系統吃掉這個字元,如此反而又造成更大的麻煩出來。

      本套軟體雖然稱之為 BIG-5 SOLUTION 但是並不僅限制在
  BIG-5 內碼的範圍之內,如果使用其它的內碼系統(如:倚天
  碼、公會碼....等)幾乎也不會有衝碼的現象。所以使用者可
  以安心的使用它來開發軟體。


※適用範圍:
  (1) Fox Holding 出版的 FOXPRO 2.0( 單機版 )。
  (2) Fox Holding 出版的 FOXPRO 2.0( 網路版 )。
  (3) MicroSoft   出版的 FOXPRO 2.0( 單機版 )。
  (4) MicroSoft   出版的 FOXPRO 2.0( 網路版 )。
  (5) MicroSoft   出版的 FOXPRO 2.5( DOS 版 )。
  以上均包含 Distrbution Kit 與 FOXHELP 說明的衝碼。


※適用中文系統:
  (1) 倚天中文系統。
  (2) 震漢中文系統。
  (3) 國喬中文系統(需載入 ETMODE.COM)。


※軟體內容:
  A.原始磁片內容
   **** 第一片 ****
   (1)INSTALL.COM       安裝程式
   (2)SOLBIG5.LSC       本軟體封裝檔
   **** 第二片 ****
   (3)DEMO20.APP        範例程式 FOR V2.0
          20.APP
   (4)DEMO25.APP        範例程式 FOR V2.5
          25.APP

  B.安裝後內容
   (1)TRAN   .EXE       轉碼作業主程式
   (2)FONTASC.COM       轉換中文系統英文字形 (DOS)
   (3)TFONT20.PLB       轉換中文系統英文字形
                        ( FOXPRO V2.0 程式撰寫用 )
   (4)TFONT25.PLB       轉換中文系統英文字形
                        ( FOXPRO V2.5 程式撰寫用 )
   (5)README .SOL       本軟體說明
   (6)DEMO20.APP ─┬─ 範例程式 FOXPRO V20(於第二片,請自行 COPY)
          20.APP ─┘
      DEMO25.APP ─┬─ 範例程式 FOXPRO V25
          25.APP ─┘

※本軟體所轉換的檔案:

        FOXPRO           FOXPRO           FOXPRO
         V2.0             V2.0             V2.5
        單機版           網路版           DOS 版
    ┌──┴──┐   ┌──┴──┐   ┌──┴──┐
      FOXPRO.EXE       FOXPROL.EXE      FOXPRO.EXE
      FOXPRO.OVL       FOXPROL.OVL      FOXPRO.OVL
      FOXPROX.EXE      FOXPROLX.EXE     FOXPROX.EXE
      FOXPRO.ESL       FOXPRO.ESL       FOXPRO.ESL
      FOXPRO.ESO       FOXPRO.ESO       FOXPRO.ESO
      FOXPROX.ESL      FOXPROX.ESL      FOXPROX.ESL
      FOXPRO.LIB       FOXPRO.LIB       FOXPRO.LIB
      FOXPROX.LIB      FOXPROX.LIB      FOXPROX.LIB
      FOXHELP.DBF      FOXHELP.DBF      FOXHELP.DBF
      FOXHELP.FPT      FOXHELP.FPT      FOXHELP.FPT
      FOXHELP.FPT      FOXHELP.FPT      FOXHELP.FPT
      FOXHELP.FPT      FOXHELP.FPT      FOXHELP.FPT
      GENMENU.PRG      GENMENU.PRG      GENMENU.PRG
      GENSCRN.PRG      GENSCRN.PRG      GENSCRN.PRG
      GENXTAB.PRG      GENXTAB.PRG      GENXTAB.PRG
                                        TRANSPRT.PRG

※注意事項:
  (1) 使用本轉碼軟體之前必需將 FOXPRO 安裝完畢,如想一併
      轉換 Distrbution Kit,也要在事先將其安裝好。

  (2) 使用本產品轉換後的 FOXPRO 系統,在進入中文之後,請
      先執行 FONTASC.COM來轉換中文系統的字形之後,再執行
      FOXPRO,如此便不會再有中文衝碼的問題,如果您想要在
      程式內直接轉換中文系統的字形,請使用 TFONT20.PLB或
      TFONT25.PLB。

  (3) 本轉碼程式為防轉換時期的安全性(如轉換中途斷電),
      所以不會覆蓋原安裝好的 FOXPRO 系統,僅會在轉換的同
      時再行複製一份,所以在使用時必需要有相當的硬碟空間
      (若完全轉換則約需12M的儲存空間)。

  (4) FOXPRO各檔案於轉換完成後,必須拷貝至原來 FOXPRO 的
      目錄之下,或者是將 FOXPRO 其它檔案拷貝至轉換過的檔
      案所在目錄之下,不論你選擇何種方式,請一定要保持原
      FOXPRO系統的完整架構。

  (5) 在印表時若要使用改碼之後的框線,請先設定 ETCTL/P:C
      (假設是倚天中系統),即指定列印ASC II字形時,使用
      中文系統所提供的字形。但因中文系統限制了印表框線連
      接的碼別,故仍無法列印出連接的框線。在此仍建議您在
      列印時,請儘量使用中文所提供的特殊字元邊框。

  (6) 換碼程式執行時最少需要 425 K的主記憶體,而且在開機
      組態檔 CONFIG.SYS 中,FILES = 40以上,BUFFERS = 30
      以上,否則程式將難以執行。

  (7) 轉碼程式在轉換時無需進入中文系統,執行時請放掉中文
      系統,留出較大的記憶體以供程式使用,如此可以加快一
      些轉換的速度。


※安裝 BIG5 SOLUTION 的步驟:
  (1) 先以 DOS 開機。

  (2) 將原始磁片置入軟碟中(A碟或B碟均可)。

  (3) 在DOS 系統提示號下鍵入以下指令:
     ┌────────────────────────┐
     │C:\>A:INSTALL A:\ C:\BIG5.SOL\                  │
     │    └─┬──┘       │                       │
     │        ↓             ↓                       │
     │  原始磁片所在位置   所欲安裝的磁碟機名及目錄   │
     └────────────────────────┘

  (4) 安裝程式開始執行時,首先會顯示本軟體標示畫面,在按
      下任意鍵之後,便正式開始安裝。

  (5) 系統安裝時,會出現下列畫面:

            [ INSTALL BIG5 SOLUTION ]
      =====================================
      Uncompress => C:\BIG5.SOL\TRAN.EXE
      Uncompress => C:\BIG5.SOL\TFONT20.PLB
      Uncompress => C:\BIG5.SOL\TFONT25.PLB
      Uncompress => C:\BIG5.SOL\FONTASC.COM
      Uncompress => C:\BIG5.SOL\README.SOL
      =====================================
           [ SOLBIG5 INSTALL O.K. ! ]

  (6) 等到DOS 系統提示號重新出現時,即完成安裝動作。


※使用說明:
  A.TRAN.EXE(轉碼作業主程式)
    ☉功能介紹:針對 FOXPRO 系統作轉換處理。
    ☉使用方式:
     (1)在系統提示號下鍵入 TRAN 即進入本程式。
     (2)接著輸入 SOURCE PATH 及 TARGET PATH 的路徑資料。
      ※SOURCE PATH :存放 FOXPRO 原始系統的路徑。
      ※TARGET PATH :轉換後所產生的 FOXPRO 系統檔案存放
             路徑。本目錄必需存在(即本程式不予許輸入一
          個不存在的路徑,必要時請在執行前自行建立)。
      ※SOURTH PATH ≠ TARGET PATH,兩者路徑不可相同。
     (3)視閣下所擁有的 FOXPRO 版本為何,利用←→鍵移動反
        白游標至該版本位置,按下 [Enter]鍵確定。而後再以
        ↑↓鍵選擇所需轉換的檔案。
      ※[X] 或 ()表示已選定該個項目,若要取消該項目,則再
        按一次 [Enter]鍵即可,顯示 [ ] 或 ( ) 即表未選擇。
     (4)待完全選擇確定之後,移動游標到 < Ok > 處,接著再按
        下 [Enter]鍵便開始執行轉換。如果要離開,則移動游標
        至< Cancel >處,按下 [Enter]鍵,即離開本程式。
     (5)程式進行轉換時,在螢幕右下方會顯示正在處理中的檔案
        名稱及大小。
      ※FILE:尚有多少的檔案需要處理。
      ※[ filename ]:正在進行中的檔案名稱。
      ※COUNT:進行中的檔案尚有多少 Byte要處理。
     (6)程式在所有選擇的檔案轉換完畢時,會在螢幕中央顯示一個
        視窗提醒。
     (7)轉換好的的 FOXPRO 系統之檔案均存在 TARGET PATH所指定
        的目錄內,如果有必要時,可自行將本目錄下的檔案 COPY
        到 SOURCE PATH指定的目錄下,覆蓋掉原始的 FOXPRO 系統
        檔案。
    ☉備    註:
          本程式僅需要執行一次,所轉換的 FOXPRO 系統便可
      享有不會在中文下衝碼的快感。

  B.FONTASC.COM(轉換中文系統英文字形)
    ☉功能介紹:在DOS系統下針對中文系統的英文字形作轉
                換處理。
    ☉使用方式:
     (1)FONTASC
            直接在DOS 系統提示號或批次檔(Batch File)內,
        輸入 FONTASC,程式便會直接對記憶體中的英文字形作
        更動(自行檢查12 * 24 及 8 * 15 字形)。
     (2)FONTASC /C
            使用以 FONT.15 ( 8 * 15 )及FONT.24 (12 * 24)
        為檔名的英文字形檔資料,更換系統中的英文字形。
     (3)FONTASC /C [F15] [F24]
            載入所指定名稱的字形檔來轉換。
        EX. FONTASC /C ASCFONT.15 ASCFONT.24
                          ↑         ↑
                       8*15 字形  12*24 字形
     (4)FONTASC /B
            將原中文系統存在記憶體中的英文字形備份至檔名
        為 FONT.15 ( 8 * 15 ) 及 FONT.24 (12 * 24)兩個檔
        案中。若系統中無 8 * 15 字形則不會產生 FONT.15,
        同理無12 * 24 字形則不會產生 FONT.24。若磁碟現行
        目錄下已有與此兩者相同檔名的檔案,則會被覆蓋掉。
     (5)FONTASC /2
            僅更改系統中12 * 24 的字形部份(針對24*24 中
        文系統使用)。
     (6)FONTASC /2 [F24]
            僅載入指定的12 * 24 字形檔。
        EX. FONTASC /2 ASCFONT.24
     (7)FONTASC /?
            顯示簡單的使用說明文件。

  C.TFONT20.PLB & TFONT25.PLB(轉換中文系統英文字形)
    ☉功能介紹:在FOXPRO下設計程式時,針對中文系統
                的英文字形作轉換處理。
    ☉區分說明:
     (1)TFONT20.PLB :使用在 FOXPRO V2.0 系統。
     (2)TFONT25.PLB :使用在 FOXPRO V2.5 系統。
    ☉使用方式:
     (1)在所設計的程式前面鍵入下列指令:
        SET LIBRARY TO TFONT25  ← 載入 TFONT25.PLB
        *** 若是 FOXPRO V2.0 版,則請用 TFONT20 ***
        =FONTASC()              ← 更改系統英文字形
        SET LIBRARY TO          ← 載入 TFONT20.PLB
     (2)如果傳回值是字串 "1" 則表示更換成功,"0" 則失敗。
        (PS:TFONT20.PLB 會傳回值,TFONT25.PLB 不傳值)

  D.DEMO.APP(範例程式)
    ☉功能介紹:顯示 BIG5 SOLUTION 更改後的效果,及本公司
                其它API 產品的效果。
    ☉使用方式:
     (1)請進入中文系統後,再以轉換後的 FOXPRO 系統執行。
        EX. FOXPROX DEMO -T
     (2)程式會自動進行,請依指示動作。


※本軟體使用邊框字元對照表:
    01h(  1):�:DAh(218)  02h(  2):�:BFh(191)
    03h(  3):�:C0h(192)  05h(  5):�:D9h(217)
    06h(  6):�:B3h(179)  08h(  8):�:C4h(196)
    09h(  9):�:C5h(197)  0Ah( 10):�:C3h(195)
    0Bh( 11):�:B4h(180)  0Dh( 13):�:D8h(216)
    0Eh( 14):�:C9h(201)  0Fh( 15):�:BBh(187)
    13h( 19):�:C8h(200)  14h( 20):�:BCh(188)
    15h( 21):�:BAh(186)  16h( 22):�:CDh(205)
    17h( 23):�:CEh(206)  1Ch( 28):�:CCh(204)
    7Fh(127):�:B9h(185)  80h(128):�:FEh(254)
    81h(129):�:B0h(176)  82h(130):�:B1h(177)
    83h(131):�:B2h(178)  84h(132):�:DBh(219)
    85h(133):�:DCh(220)  86h(134):�:DDh(221)
    87h(135):�:DEh(222)  88h(136):�:DFh(223)
    89h(137):�:CFh(207)
────────────────────────────
 設 計 者: 磐天科技有限公司   1993.04.01

 ☉本文所提各註冊商標均隸屬各該公司所有。
RAW 1.raw 2.raw
原始 1.DDI 2.DDI
072 FOXPRO V2.5 1×HD
RAW 1.raw
原始 1.IMG
073 FOX PRO. 2.5 LIBRARY CONSTRUCTION KIT F/W 1×HD
README.TXT [展开]
                       README.TXT
**********************************************************
          Microsoft(R) FoxPro(R) Version 2.5
  Library Construction Kit for Windows(TM)and MS-DOS(R)

    (C)1993 Microsoft Corporation. All Rights Reserved.

  This file contains additions and corrections to the
  FoxPro Library Construction Kit Developer's Guide.

**********************************************************
========
CONTENTS
========

Part   Description
----   -----------

1      Additions to Documentation Since Printing
2      Corrections to Documentation Since Printing

----------------------------------------------------------
=================================================
Part 1: Additions to Documentation Since Printing
=================================================

The EXAMPLES directory contains a FoxPro database with all
the example code that is used in the manual.  Simply
search for the function with example code you wish to
copy and then extract the code from the memo field. You
are free to use this code in your own applications.

-----------------------------------------------------------

The following function has been added:

WHANDLE _WMainWindow( )

Description:
_WMainWindow( ) returns the WHANDLE of the main FoxPro
window in FoxPro for Windows or of the FoxPro desktop
in FoxPro for MS-DOS.

Example:
The following example writes a message to the main FoxPro
window in FoxPro for Windows or to the FoxPro desktop in
FoxPro for MS-DOS.

FoxPro Code:

   SET LIBRARY TO WMAIN
   = EXWMAIN()

C Code:

   #include <pro_ext.h>

   void FAR example(ParamBlk FAR *parm)
   {
        WHANDLE wh = _WMainWindow();
        _WPutStr(wh, "\nThis is the main FoxPro window or desktop.");
   }

   FoxInfo myFoxInfo[] = {
        {"EXWMAIN", example, 0, ""},
   };

   FoxTable _FoxTable = {
        (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
   };

----------------------------------------------------------
===================================================
Part 2: Corrections to Documentation Since Printing
===================================================

Page 2: In the Reverse.C example:

The comment "/* Check to see if we can allocate the memory
needed. */" is missing the end comment marker */.

The three-line comment "Since this routine doesn't call
any functions that cause memory reorganization . . . 
prior to de-referencing them (_HandToPtr)" is missing the
single line comment marker // in the second and third
lines.

This statement:

   for (i = 0; i << parm->p[0].val.ev_length; i++)
            *(out_string--) = *(in_string++);

should be:

   for (i = 0; i < parm->p[0].val.ev_length; i++)
            *(out_string--) = *(in_string++);

Change the "<<" in the original example to "<".

----------------------------------------------------------
Page 5: The Value Structure Fields table should include
the General FoxPro data type.  The applicable fields and
their values are listed below:

val.ev_type = 'G'
val.ev_width = FCHAN
val.ev_long = length of general field
val.ev_real = offset of general field

----------------------------------------------------------
Page 6: The data type FPFI, a FAR pointer to a function
returning Int, is mistakenly listed as "FPDI".

----------------------------------------------------------

Page 7: In addition to the Point, Rect and EventRec data
structures, PointP and RectP should be included. PointP
and RectP are identical to Point and Rect except that
Point and Rect coordinates are in rows and columns while
PointP and RectP coordinates are in pixels.

----------------------------------------------------------
Page 12: The example

    if (parm->p[0].val.ev_type='C'
                x=parm->p[0].val.ev_length

should be:

   if (parm->p[0].val.ev_type=='C')
                x=parm->p[0].val.ev_length;

Use an expression ==, a closed parenthesis at the end of
the first line, and a semicolon at the end of the second
line.

----------------------------------------------------------

Page 22: When compiling a .PLB library in Microsoft C7 or
Visual C/C++, you need to use the following command line:

CL /O /ALw /Zp /GW

When linking a .PLB library in Microsoft C7 or C8, you 
need to use the /NOE and /NONULLS switches.

Leaving out /NOE can cause redefinition errors. Leaving
out /NONULLS will cause FoxPro not to recognize the .PLB
as a valid library.

----------------------------------------------------------

Page 25: The section heading for the makefile on this page
is incorrect. It should say "Microsoft C/C++ Makefile for
MS-DOS" instead of "WATCOM C Makefile for MS-DOS." 

----------------------------------------------------------

Page 26: The  makefile on this page should have the
following section heading: "WATCOM C Makefile for MS-DOS."

----------------------------------------------------------

Page 39: The example doesn't work as intended in all
cases. To have it work, you need to change the following
line:

   (( char FAR *) _HandToPtr(p1.ev_handle))[p1.ev_length] = '\0';

to:

   (( char FAR *) _HandToPtr(p0.ev_handle))[p0.ev_length - 1] = '\0';
   (( char FAR *) _HandToPtr(p1.ev_handle))[p1.ev_length - 1] = '\0';
                                                                                                                       
----------------------------------------------------------

Page 85: The following information applies to the 
_DBSeek( ) function: The struct Value passed to _DBSeek( )
(via a pointer) must be of ev_type == 'N' when seeking a
numeric field even if that field has 0 decimal digits.
If the struct Value has an ev_type of 'I', _DBSeek( )will
return the internal error number -302, "Data type
mismatch."

----------------------------------------------------------

Page 109: The struct EDENV documented with _EdGetEnv( ) isn't
correct. The actual structure from PRO_EXT.H appears
as follows:

NOTE:  (R) indicates that this member is read-only and
       can't be set using _EdSetEnv( ).

       (B) indicates that these members takes on one of
       two Boolean values: 1 = true or 0 = false.


typedef struct
{
   char            filename[MAXFILENAME]; // (R)
   EDPOS           length;       // # of bytes in text. (R)
   unsigned short  lenLimit;     // Max allowable length. 0 = infinite.

   unsigned short  dirty,        // Has the file been changed? (R, B)
                   autoIndent,   // Auto indent? (B)
                   backup,       // Make backup files? (B)
                   addLineFeeds, // Add line feeds when saving? (B)
                   autoCompile,  // Shall we auto compile this thing? (B)
                   addCtrlZ,     // Add end of file ctrl-z? (B)
                   savePrefs,    // Save edit preferences? (B)
                   dragAndDrop,  // Allow drag-and-drop. (B)
                   readOnly,     // 0 = not r/o, 1 = file is r/o,
                                 // 2 = file is r/w, opened r/o,
                                 // 3 = file is r/o, opened r/o. (R)
                   status,       // Display status bar? (B)
                   lockPrefs,    // Can update the preferences ? (B)
                   insertMode;   // (B)

   short   wrap;       // If < 0, new line at Return only.
   EDPOS   selStart;   // Selection start. (R)
   EDPOS   selEnd;     // Selection end. (R)
   EDPOS   selAnchor;  // Selection anchor point. (R)
   short   justMode;   // Justification (0 = left, 1 = right, 2 = center).
   short   tabWidth;   // TAB size in spaces.

   char    fontName[MAXFONTNAME];
   short   fontSize;
   short   fontStyle;  // 0 = plain, 1 = bold, 2 = italic, 3 = bold italic.
   short   kind;       // Kind of editor session; EDCOMMAND, EDPROGRAM, etc.
                       // defined in pro_ext.h. (R)
} EDENV;

	
----------------------------------------------------------

Page 122: The syntax for _EdOpenFile() is missing the
"mode" argument.  It should read:

   _EdOpenFile(TEXT *filename, int mode)

   TEXT *filename;      /* File to open. */
   int mode;            /* Mode option. */
	
The following Mode options are available:
FO_READONLY, FO_WRITEONLY, FO_READWRITE.

----------------------------------------------------------

Page 315: zoomEvent is a FoxPro for MS-DOS event.  You
can't trap for this event in FoxPro for Windows.

----------------------------------------------------------

In an EventHandler in the FoxPro for Windows Library
Construction Kit, if you make a call to FoxPro which
generates another event, the original event record may be
changed.  This won't happen in the FoxPro for MS-DOS
Library Construction Kit. The following example
illustrates this:

#include <pro_ext.h>

int         g_eventid = 0;         // Our event handler.

FAR EventHandler(WHandle theWindow, EventRec FAR *ev)
{
        Point     pt;
    switch (ev->what)              // Determine the event type.
    {
        case keyDownEvent:
                        if (theWindow == _WMainWindow())
                                return NO;
                        else
                        {
                                pt.h = 35;
                                pt.v = 10;

                        // This causes the event handler to be re-entered.
                                _WSize(theWindow, pt);	
                        }
                        _PutStr("\nDone with the keyDownEvent");
                        break;

                case sizeEvent:
                        _PutStr("\nSize Event received.");
                        break;

                        default:
                        return NO;
        }
        return NO;
}

FAR EventExit()
{
    _DeActivateHandler(g_eventid);     // Get rid of our event handler.
}


FAR Quotes(ParamBlk FAR *parm)
{
    //  Set up our event handler.
    g_eventid = _ActivateHandler(EventHandler);
}


FoxInfo myFoxInfo[] = {
    {"QUOTES", Quotes, 0, ""},
    {"EVENTEXIT", EventExit, CALLONUNLOAD, ""}
};

FoxTable _FoxTable = {
    (FoxTable FAR *)0, sizeof(myFoxInfo) / sizeof(FoxInfo), myFoxInfo
};

----------------------------------------------------------

                      =================
                      End of README.TXT
                      =================
074 FOX PRO. 2.5a DISTRIBUTION KIT F/W 3×TD
README.TXT [展开]
                              Icon Make-It                                                                	                               Icon Hear-It
                               Version 1.0
                            December 2, 1992

Welcome to version 1.0 of Icon Make-It.

Please read through this README.TXT file.  It contains important information
not available when the manual was printed.


Icon Hear-It Lite:

This version of Icon Make-It contains a "Lite" version of our commercial
product Icon Hear-It.  Hear-It Lite, contains some but not all of the
functionality of the full version.  If you would like more information
on Icon Hear-It, please call Moon Valley Software at 602-375-9502.

Sound in Icon Hear-It Lite

If you do not hear any sound please try assigning the sound again.  
If that doesn't work, check and make sure the HEARITFX 
directory exists beneath Windows.

You can erase all or some of the files in HEARITFX without damaging
Icon Hear-It Lite.  But, you will lose any of the preattached sounds whose
file you have deleted or moved.  However, after relocating this directory 
you can reattach these sounds.

Icon Hear-It Lite supports all .wav files.  You can use your own sounds 
with Icon Hear-It by clicking through the directory list boxes to the 
directory that contains your .wav files and following the instructions
outlined in the User's Guide for attaching sounds.

Speaker Driver Setup

The Speaker Driver Setup push button in the Options Window works ONLY with 
the speaker driver installed with Icon Hear-It.  When loading, if
Icon Hear-It detects a sound board or speaker driver already on your
system, it will not allow you to use it Speaker Setup.

If you do not have a sound board or other speaker driver installed 
and you still can't access the Speaker Driver Setup, you need to edit your
system.ini file and remove the line :

   Wave= speakerdrivername

from underneath the [Drivers] section.  The next time Icon Hear-It loads,
it will write a new "Wave = " with its own speaker driver.
075 FOXPRO FOR WINDOWS CONNECTIVITY KIT 2×HD
RAW 1.raw 2.raw
原始 1.DDI 2.DDI
076 FOXPRO FOR WINDOWS DISTRIBUTION KIT 3×HD
原始 1.DDI 2.DDI 3.DDI
077 M.S. FOX PRO. 2.5a UPGRADE DISTRIBUTION 1×DD
078 DBASE FOR EVERY BUSINESS 1×DD
RAW 1.raw
原始 1.DDI
079 DBASE IV 2.0 8×DD
README [展开]
                    Welcome to dBASE IV version 2.0 
                    -------------------------------

This file contains important, late-breaking information about dBASE IV,
including revisions to the documentation.  Information in this file 
supersedes information in the dBASE IV documentation.

TABLE OF CONTENTS
-----------------
1.  How to Contact Borland
2.  Answers to Common Configuration Questions
3.  Notes on dBASE's New High Performance Filter Optimization
4.  Notes on Language Drivers
5.  File-sharing in a Multi-tasking Environment
6.  Running dBASE in Multiple Sessions
7.  Creating User-defined Help
8.  Creating Pop-ups for Data Validation
9.  Improvements in International String Comparisons
10. Documentation Additions and Corrections
11. Compatibility Issues


1. HOW TO CONTACT BORLAND
-------------------------
If you have any problems with the product, please read this file and 
the dBASE IV manuals first.  If you still need assistance, you can get 
help from the following sources:

  1. CompuServe bulletin board: GO BORLAND
     - Provides access to the Borland forums where you can ask technical
       questions, and get the latest technical information, sample 
       files, utilities, and ideas.

  2. File Download BBS: 1-408-439-9096 (8, N, 1)
     - Contains sample files, applications, and technical information
       that you can download.

  3. Automated Support: 
       800 Automated Support (phone): 1-800-524-8420
       Online Automated Support (via modem): 1-408-431-5250 (8, N, 1) 
       - Provides up-to-date technical information 24 hours a day, seven
         days a week.  Also provides product information, usage tips,
         troubleshooting information, and answers to commonly-asked
         questions.

  4. TECHFAX service: 1-800-822-4269 
     - A 24-hours a day service that provides technical information
       on all Borland products and delivers it to your fax machine.

  5. dBASE Advisor Line: 1-900-555-1003.
     - A faster, more comprehensive level of technical support.  Each
       call is $2.00 per minute (the first minute is free).

  6. Borland Express Support Line: 1-800-524-8420
     - Provides recorded answers to common questions. 

  7. dBASE Technical Support: 1-408-431-9060

For more information about all of the Borland Technical Support programs, 
read the brochure, "Borland introduces a New Class of Technical Support," 
included with this product.

Information You Need When You Call Technical Support
----------------------------------------------------
When you call Technical Support, please have the following information 
ready:

  a. Product name and serial number on your original distribution disk.  
     Please have your serial number ready or we will be unable to process 
     your call.

  b. Product version number. 

  c. Computer brand, model, and the brands and model numbers of any 
     additional hardware.

  d. Operating system and version number. (The version number can be 
     determined by typing VER at the DOS prompt.)

  e. Contents of your AUTOEXEC.BAT file.

  f. Contents of your CONFIG.SYS file.

  NOTE:  You can obtain the requested information by typing the
         following at the DOS prompt:  DBINFO -x -o.  This command 
         creates a file, DBINFO.TXT, which includes information on 
         your hardware configuration, operating system, CONFIG.SYS 
         and AUTOEXEC.BAT.


2. ANSWERS TO COMMON CONFIGURATION QUESTIONS
--------------------------------------------
Q1:  I'm unable to start dBASE IV 2.0 under Windows 3.1.  Each time I
     try, I get an "Insufficient Memory" message.

A1:  dBASE IV 2.0 requires approximately 4MB of virtual memory to 
     run.  Use the following procedure to obtain information about  
     your system's memory and adjust memory allocation:  
     
     1)  In Window's Program Manager, select About Program Manager...
         from the Help menu and check the amount of free memory.

         a) If you have LESS than 4MB of free memory, read step 2.

         b) If you have MORE than 4MB of free memory, check the available
            contiguous XMS memory by selecting the DOS prompt icon, and
            typing PMINFO at the DOS prompt.  This utility tells you how
            much memory is available for DOS-16M programs.  If it indicates 
            less than 3MB available memory, read step 2.

     2)  Increase the swap file size.  To do so, 
         a) Choose Window's Control Panel.
         b) Choose 386 Enhanced.
         c) Click the Virtual Memory push button.
         d) Click the Change push button.
         e) Increase the value of the New Size option.

         Increasing the swap file size should increase the amount of
         available virtual memory.    

     3)  If you have problems starting dBASE in multiple sessions,
         close all your dBASE sessions, and type SET DOS16M=:4M at
         the DOS prompt.  This allocates a maximum of 4MB to each
         session of dBASE.


Q2:  I use Windows for Workgroups.  How do I configure dBASE IV 2.0 so
     that it runs optimally in this environment?

A2:  Use the same memory configuration as described for Windows 3.1 in
     the previous question.


Q3:  Why isn't there an option to install cache during installation?

A3:  dBASE IV 2.0 uses all available extended memory and no longer requires
     a separate disk cache.


Q4:  When I start dBASE under Windows 3.1, I get a "LOCALSHARE is currently
     ON so you cannot run dBASE IV..." message followed by "Initialization
     Error."  What do I do?

A4:  LOCALSHARE is a new Config.db setting which enables file-sharing
     in a multi-tasking environment such as Windows 3.1.  It is ON by
     default.  When you start dBASE under Windows 3.1, dBASE checks if 
     you have loaded SHARE.EXE, the DOS program that provides file-sharing 
     and locking capabilities.  If SHARE.EXE is not loaded, you get the 
     "LOCALSHARE is currently ON so you cannot run dBASE IV..." message.  

     Depending on your work environment, use one of the following
     procedures:

     1)  If you don't intend to share dBASE files in multiple dBASE
         sessions or with other applications (such as Quattro), use
         DBSETUP or edit the CONFIG.DB file to set LOCALSHARE=OFF.

     2)  If you want to share dBASE files in multiple dBASE sessions
         or with other applications, install SHARE.EXE.  Read your 
         DOS manual for instructions on how to do so.


Q5:  When I start dBASE, I get a "System is not configured for the
     current code page..." message.  What should I do?

A5:  You get this message if the code page you selected during installation
     of dBASE IV 2.0 is different from your system's code page.  Use the
     following procedure to correct the problem:

     1)  At the DOS prompt, type CHCP to find out your system's code page.
     2)  Reinstall dBASE IV 2.0.
     3)  In the Code Page Value option, choose the value that matches
         your system's code page.  (By default, dBASE IV's installation
         utility displays your system's code page value.)


Q6:  I have a previous version of dBASE installed on my computer.  I
     want dBASE IV 2.0's installation utility to automatically overwrite
     the existing files.  What should I do?

A6:  dBASE IV 2.0's installation utility gives you the option of 
     "protecting" old dBASE IV and SQL system files, or overwriting them.
     Use the following procedure to overwrite the old system files:

     1)  During installation, select "Install Options... [KEEPDB4 SHIELDSQL]"
         The installation utility displays the following options:

         Protect Old dBASE IV System Files: [Yes]
         Shield Existing SQL System Files:  [Yes]

     2)  Change both options to "No" by pressing Enter when the option 
         is highlighted.  Pressing Enter toggles the selection.

     3)  Press Esc to return to the previous menu.


Q7:  When I try to start dBASE, I get a "Bad command or file name"
     message.  How do I correct this problem?

A7:  dBASE may not be in your current path.  Either set dBASE in the
     DOS path in your AUTOEXEC.BAT file, or type the full path at the 
     DOS prompt.

     The dBASE IV system files may be missing.  Check that DBASE.EXE
     exists in your dBASE home directory.  If it doesn't, reinstall
     dBASE IV.  In the "Configuration... [dBASE SAMPLES TUTORIAL DTL
     UTILS]" option, make sure that "dBASE IV System" is set to "Yes."


Q8:  When I start dBASE IV, it appears in black and white.  What happened 
     to the default colors?

A8:  dBASE IV 2.0 loads in black and white in the following situations:  
     - You performed a network installation
     - You have an existing CONFIG.DB in the dBASE home directory 
       (The installation utility does not overwrite or modify an
       existing CONFIG.DB during installation)
     - You are using a CGA monitor

     To set the default screen colors, follow the instructions in the
     "Setting Colors and Line Modes" section in Chapter 2 of the
     "Getting Started" manual.


Q9:  I'm running dBASE IV and I get a VM error 5312 or 5313.  What
     does this mean and what should I do?

A9:  You were trying to execute an operation in low DOS memory, which
     was fragmented.  To correct this problem, you should reduce the 
     amount of low DOS memory that dBASE uses.  To do so, use the 
     following procedure:

     1.  At dBASE's dot prompt, type ? MEMORY(5).  This returns the 
         amount of memory that VMM is managing.
     2.  Subtract 222 from the value returned by MEMORY(5).
     3.  Use the resulting value as the MAXMEM value in the DBASE.VMC file.
     4.  If the resulting value is LESS than 1024, set MINMEM in the
         DBASE.VMC file to this value also.

     For example: 
     
     If ? MEMORY(5) returns 1200, set MAXMEM and MINMEM to 978 (1200 - 222).
     If ? MEMORY(5) returns 1600, set MAXMEM to 1378 (1600 - 222).


3. NOTES ON dBASE'S NEW HIGH PERFORMANCE FILTER OPTIMIZATION
------------------------------------------------------------
The information in this section supplements the discussion of filter
optimization in Chapter 34 of "Programming in dBASE IV."

The following are some conditions where full optimization occurs:
- The database is in natural order and the filter condition corresponds
  to an open index or order
- The database is indexed and the filter condition corresponds to the
  master index
- The database is indexed on a complex character expression (for example, 
  firstname+lastname+address) and the filter condition corresponds to  
  a subset of the expression (for example, firstname or firstname+lastname)

The following table shows examples of expressions that are fully or
partially optimized:

Expressions                                             Optimization
--------------------------------------------------------------------
INDEX ON State TAG State
SET FILTER TO State="CA" .OR. State="TN"                Full

INDEX ON State+Zip TAG Statezip
SET FILTER TO State+Zip="CA95050"                       Full
SET FILTER TO State="WA"                                Full

INDEX ON State TAG State
SET FILTER TO .NOT. State="NY"                          Full

INDEX ON Lastname TAG Lastname
INDEX ON Year(Date_hired) TAG Year_hired
LIST FOR Year(Date_hired)=1993 .AND. Lastname="Smith"   Full

INDEX ON STR(OrderNo,6)+STR(StockNo,6) TAG LineKey
LIST FOR STR(OrderNo,6)="100001"                        Full

SET FILTER TO State="CA" .OR. State="TN"  && no index   Partial 

SET FILTER TO State+Zip="CA95050"  && no index          Partial

INDEX ON Lastname TAG Lastname
SET ORDER TO Firstname
SET FILTER TO Lastname="Smith"                          Partial

SET FILTER TO "Fred" $ Lastname                         
COUNT                                                   No
SUM                                                     Full; dBASE retains       
                                                        the search results 
                                                        of the previous 
                                                        operation 
                                                      
SET FILTER TO FOUND(2)                                  No    
                                                          


4. NOTES ON LANGUAGE DRIVERS                               
----------------------------
The information in this section supplements the discussion of language
drivers on pages 344 and 345 of the Language Reference.

dBASE IV version 2.0 supports DOS code pages (character sets) 437 and 850.  
Previous versions supported only code page 437.  If you decide to change to 
code page 850 (the code page available, either as the default or as an 
alternate, with all systems running DOS 5.0 or higher), please note the 
following:  dBASE files created on systems running code page 850 may appear 
differently and generate unexpected results when used on a system running 
code page 437, and vice versa.  

This is because many of the extended ASCII (>127) characters differ between 
the two code pages, and if you use these characters in your files, you will 
get different results when viewing and sorting data. 

To ensure data integrity, dBASE IV version 2.0 now marks each data file  
(.dbf) and index file (.ndx or .mdx) with a Language Driver ID.  This ID
identifies the code page and language table which the file was created with.
When you open a file, dBASE compares the language driver assigned to the 
file with the system's current language driver.  If the two are different, 
dBASE displays a warning and gives you the option of continuing the 
operation or cancelling it.

If, for example, you are currently using code page 850 and you open a 
dBASE IV 2.0 data file that was created with code page 437, dBASE warns 
you of mismatched language drivers.  You can choose to cancel the operation 
or use the file.  If you use the file and it has an associated index file, 
dBASE displays the warning again and prompts you to cancel the operation 
or reindex the file with the current language driver.  If you choose to 
reindex the file, dBASE marks the index file with the new language driver ID.  
It does not, however, mark the data file with the new language driver ID. 

Data and index files created in previous versions of dBASE IV do not have 
language driver IDs; if you open these files in dBASE IV 2.0 under code
page 437, dBASE automatically assigns the current language driver ID.  
If you open these files in dBASE IV 2.0 under code page 850, dBASE prompts 
you to assign, or reindex with, the current language driver ID.

The language driver ID assigned to an index file is changed each time you 
reindex the file under a different language driver.  The language driver ID 
assigned to a data file, however, is permanent.  

To "reassign" a language driver ID of a data file, use the COPY STRUCTURE 
and APPEND FROM commands to create a new data file and transfer the data 
under the current language driver.

NOTE:  Marking a file with the new language driver ID does NOT convert 
       extended characters that differ between the two code pages.  If
       your file contains characters that differ, you should change them
       to ensure data integrity.


5. FILE-SHARING IN A MULTI-TASKING ENVIRONMENT
-----------------------------------------------
Many operating systems and programs, such as OS/2, Windows, DOSSHELL, 
and DESQVIEW, provide users with the capability to run dBASE in multiple 
sessions and to share local files.  You can now load dBASE IV in nine 
different sessions (the maximum allowed), and use the same files in more 
than one session.  You can also share dBASE files with other applications 
such as Quattro.

To support file-sharing on a local system, dBASE provides you with the
option of protecting your dBASE files from multi-tasking collisions 
with a new Config.db setting, LOCALSHARE. 

If you intend to use dBASE files in more than one session or application, 
use LOCALSHARE=ON (the default setting) to enable file-sharing protection,
and remove EXCLUSIVE=ON or set EXCLUSIVE=OFF in your CONFIG.DB file.  

When LOCALSHARE is ON, dBASE checks and ensures that your system is running 
SHARE.EXE, a DOS program that provides file-sharing and locking capabilities 
on your hard disk.  If it detects SHARE, dBASE protects your dBASE file in 
the same way it protects files in a multi-user (network) environment.  
For example, dBASE will write the updates to the hard disk each time a 
record is modified or created.

NOTE:  SHARE limits the number of files that can be opened and the
       number of locks available to your system.  You can increase these
       limits by using the /f and /l switches with the SHARE command.
       Refer to your DOS manual for more information.

Unlike running dBASE IV in a multi-user environment, each multi-tasking 
session of dBASE IV uses the same file name (TRANSLOG.LOG) for transaction 
processing.

If LOCALSHARE is ON and you run dBASE under Windows without SHARE.EXE, 
dBASE displays a message telling you to load SHARE.EXE.  You can disable 
file-sharing protection by specifying LOCALSHARE=OFF in your CONFIG.DB 
file.   


6. RUNNING dBASE IN MULTIPLE SESSIONS
-------------------------------------
If you load dBASE in multiple sessions, dBASE assigns a unique identifier 
to each session.  The identifier is a number from 1 to 9 and is added to the 
user ID in a network environment.  For example, in a network environment,
if a user name is "JSMITH", the first session ID is "JSMITH1".  In a 
single-user environment where user IDs are not used, the first session 
is identified as "SESSION1".

The following commands and functions return session IDs:
  ID()
  USER()
  LKSYS(2)
  LKSYS(5)
  LIST USERS
  DISPLAY USERS

Session numbers are assigned and recycled, starting with the lowest 
available number.  Therefore, session numbers will not be in chronological 
order if any sessions are closed before all nine are used.  For example, 
if you open five sessions, then close session 2, the next session you open 
is assigned the number 2, not 6.


7. CREATING USER-DEFINED HELP
-----------------------------
The Form.gen template file lets you create user-defined Help frames.

The F1 Help key can now provide user-defined help information
for individual fields on the Edit screen. When you press F1 Help,
the information in the memo fields of a special database file
will display in a pop-up Help window. If you want to create your own
Help file, create the special database file described below.

The name of the database file must begin with the first six
characters of the name of the format file, followed by "_h.dbf".
For example, if the format file is called Entry.fmt, then the
Help file must be called Entry_h.dbf. The database file must
be created with the following structure, before you compile the
form:

        Field  Field Name  Type       Width  Dec  Tag
        -----  ----------  ---------  -----  ---- ---
            1  FLD_NAME    Character    10         Y
            2  FLD_HEADNG  Character    25         N
            3  FLD_HELP    Memo         10         N
       ----------------------------------------------

Enter the names of the fields for which you want help in the Fld_name
field. You need to create an index tag named Fld_name, as follows:

  INDEX ON UPPER( Fld_Name ) TAG Fld_Name

You do not need to include all the fields from the database in
the Help file, only the ones for which you want Help windows.

Enter the character string for the top frame of the Help window in the
Fld_headng field.

Enter the Help text you want displayed for each field in the Fld_help
memo field. If there is more text than will fit inside the help window,
navigation instructions are displayed inside the Help window.


8. CREATING POP-UPS FOR DATA VALIDATION
---------------------------------------
Using CREATE/MODIFY SCREEN, you can create a data validation
routine that presents a pop-up displaying the valid choices from
a lookup database file when a user enters a value that does
not match the lookup file.

To create a pop-up for data validation, start from the "Accept value when"
portion of a field's Edit Options table on the forms design screen. You
must enter the following syntax (including quotes):

  "POPUP"="<database>-><fieldname> ORDER <fieldname> [REQ] [SHADOW]"

For example, to validate the Vendor_id field in Goods.dbf against the
Vendor_id field in Vendors.dbf, insert the following pop-up string in
the "Accept value when" fill-in when highlighting the Vendor_id field
in a form that uses Goods.dbf.

  "POPUP" = "Vendors->Vendor_id ORDER Vendor_id REQ SHADOW"

If you want to attach an additional .AND. condition to the pop-up
validation, include the condition after the "POPUP"="..." expression.
The condition should not be delimited with quotes.

The components of this pop-up string are:

POPUP               Initiates pop-up processing for this
                    field during EDIT.

Vendors->Vendor_id  Indicates the database file to open and
                    the field in that database file to use
                    for data validation. You must have an index
                    tag on this field.

ORDER Vendor_id     Specifies the index tag that orders this field.

REQ                 Shows that the user must enter something
                    into the field before moving on. This is
                    optional. If REQ is omitted, the user can
                    escape the pop-up and leave the field blank.

SHADOW              Provides a shadowing effect underneath the
                    pop-ups. SHADOW is optional.

You can use a field from the .DBF file you are currently working
with or a .DBF from another work area. However, the validated file
and the lookup must be different files. Pop-ups are usually displayed
below the currently-highlighted field, unless the current field is
low on the form.

Limitations of Pop-up Validation:

- This feature is designed for EDIT and might not display as smoothly
  in BROWSE. If you have a pop-up on your EDIT, the F2 toggle from EDIT
  to BROWSE is disabled.

- Pop-up validation cannot be used on a multiple choice field.

- Pop-up validation cannot be used on a form created by using a view that
  contains more than one file.

- In order to protect a procedure file you currently have in use, EDIT
  will close it on entry and reopen it on exit. If this presents a
  problem with forms that use procedures, see SET LIBRARY in the Language
  Reference manual, and Sysproc and SET LIBRARY in the Programming in
  dBASE IV manual.

- The first six characters of the form name and the first eight characters
  of the field names with these pop-ups must be unique.


9. IMPROVEMENTS IN INTERNATIONAL STRING COMPARISONS
---------------------------------------------------
In dBASE IV 2.0, comparisons between strings with extended characters
have been improved.  If you use LANGTABLES=ON and SET EXACT OFF, secondary 
differences between characters are ignored.  For example,

      SET EXACT OFF
      ? "âbc" = "abc"
      .T.

In previous versions of dBASE IV, ? "âbc" = "abc" would have returned .F.

We recommend that you REINDEX old files.  This is important if you work
with LANGTABLES=ON, SET EXACT OFF, and INDEX ON with a FOR condition.


10. DOCUMENTATION ADDITIONS AND CORRECTIONS
------------------------------------------
This section of the README file contains new information and revisions
to the dBASE IV manuals.

"Getting Started"
-----------------
- p. 10:  When you run dBASE IV under Windows 3.1 enhanced mode, use 
  the DOS environment variable SET DOS16M to set the maximum memory
  to 4MB or higher.  

- p. 11:  When you run dBASE IV under OS/2, set DPMI_MEMORY_LIMIT to 4
  or higher.

- p. 68:  To increase or decrease user counts on a multi-user dBASE IV 
  system, you type ADDUSER4 at the DOS prompt, select the option you want, 
  and type in the requested LAN Access number.  dBASE LAN Access Pack 
  version 2.0 no longer prompts you to insert a disk.

"Programming in dBASE IV"
-------------------------
- p. 498:  VMM runs automatically when you start dBASE IV if your 
  system has less than 4.5MB of extended memory or if you change 
  VMM's default settings through the DBASE.VMC configuration file.

- p. 499:  NOSWAPFILE is not a valid DBASE.VMC parameter. 

- p. 501:  The following are valid values for the BUFFSIZE parameter
  in DBASEIV_BUFF:  1, 2, 4, 7, 8 (default), 9, 15, 20, 21, 30, 31, and 32.
  The buffers are dynamically sub-allocated from 64K segments.  Each 
  buffer allocated includes control header information.  Consequently, 
  large buffer sizes (such as 16 and 32) which are exact divisors of 
  64 waste substantial amounts of memory (almost one full buffer)
  because the last buffer (plus its header) doesn't fit into the
  64K segment.

  You can achieve optimum memory utilization by using buffer sizes 
  which are close to an even divisor of 63, for example, 7, 9, 15, or 21.  
  With these buffer sizes, extended memory is used more efficiently 
  since more buffers fit into the same physical space, thereby enlarging 
  the effective size of the buffer.  This, in turn, improves overall dBASE 
  I/O performance.

  Generally, larger buffers (such as 21) provide good performance with
  sequential processing, such as scanning a database file without an
  active index or copying a subset of one file to another.  Smaller buffer
  sizes are recommended for random file accesses.

  Values 1 and 32 are seldom good settings.  Values between 7 and 21 
  provide good overall performance.  On networks, smaller values, such as
  2 or 4, may improve performance.

- p. 508:  The following commands should be added to the list of
  commands that are optimized when the FOR clause is used: BLANK, DISPLAY, 
  and INDEX.  SCAN is optimized only when preceded by SET FILTER TO.

"Language Reference"
--------------------
- p. 58:  If you are appending from an SDF (System Data Format) file, 
  you can now speed up APPEND processing by using the optional NOVERIFY 
  argument to turn off error-checking and data validation during the APPEND.  
  If you use NOVERIFY, the source data is copied as-is into the target 
  fields.  The following is an example of the APPEND FROM command with 
  the NOVERIFY option:

        APPEND FROM Myfile TYPE SDF NOVERIFY

  You should use this option only if your data is in the correct format. 
  Without data validation, dBASE doesn't check or convert your source data 
  to fit the data type of the target fields.  For example, when you use
  NOVERIFY, dBASE doesn't check the setting of POINT and accepts only a 
  period as a valid decimal point character.  Therefore, if you want to
  use the NOVERIFY option and get reliable results, use a period as the
  decimal point in float and numeric data types in your source data.

- In previous versions of dBASE, when you used the SDF or DELIMITED clause
  with the APPEND FROM command, the formfeed character was appended to the
  database.  Now, the formfeed is not appended to the database if it is
  preceded by a carriage return.
  
- p. 239:  If you are running dBASE in a multi-user or multi-tasking 
  environment, and you use REPLACE with a scope clause to replace an 
  indexed field, you are now required to have exclusive use of the database.  
  This ensures that all records are replaced properly.

- p. 275:  This version of dBASE improves the internal processing of the 
  USE AGAIN command.  If you use a database in more than one work area, 
  any changes made to the file in one work area are reflected in all other 
  work areas.  Previously, if you used the same database in more than one 
  work area, updates to the database in one work area were not reflected 
  in the others.  
  
  NOTE:  If you're working in a multi-tasking (LOCALSHARE=ON) 
  or multi-user environment, SET EXCLUSIVE must be OFF to use the USE AGAIN 
  command.  If SET EXCLUSIVE is ON, dBASE displays a "File already open" 
  message.

- p. 214:  If you omit <command> when you use ON SELECTION BAR, the
  command previously assigned to the specified menu bar is disabled, and 
  a command specified with ON SELECTION POPUP is associated with the menu
  bar.

- p. 216:  If you omit <command> when you use ON SELECTION PAD, the
  command previously assigned to the specified pad is disabled, and a
  command specified with ON SELECTION MENU is associated with the pad.

- p. 287, 337, 351:  The SET BLOCKSIZE command allocates the same block 
  size for both memo field data (.dbt files) and index data (.mdx files).  
  In this version of dBASE, you can specify different block sizes for memo 
  field blocks and index blocks by using SET MBLOCK and SET IBLOCK, 
  respectively.  The following describes how the SET BLOCKSIZE setting  
  affects SET IBLOCK and SET MBLOCK, and vice versa:

  - If you change the value of BLOCKSIZE through DBSETUP, dBASE IV changes
    the IBLOCK and MBLOCK values to equivalent block sizes.  For example,
    setting BLOCKSIZE to 2 changes IBLOCK to 2 and MBLOCK to 16.  Each sets 
    the block size to 1024 bytes.

  - Through DBSETUP, you can change the IBLOCK and MBLOCK values 
    individually.  These values do not change the BLOCKSIZE value.  
    For example, if you leave the BLOCKSIZE value at its default of 
    1 and set IBLOCK to 2 and MBLOCK to 4, dBASE creates 1024-byte 
    memo field blocks and 256-byte index blocks.  In this case, the 
    IBLOCK and MBLOCK values override the BLOCKSIZE value.

  - In a CONFIG.DB file, the command that appears further down the file
    overrides one that appears earlier.  For example, if "IBLOCK= " appears 
    after "BLOCKSIZE= " (and it does when DBSETUP writes to CONFIG.DB),
    the IBLOCK value overrides the BLOCKSIZE value.

  - Using the SET BLOCKSIZE command at the dBASE dot prompt changes IBLOCK
    and MBLOCK values to equivalent block sizes.

- p. 489:  MEMORY(7) returns the size, in kilobytes, of the swap file that 
  VMM creates.  VMM always creates a swap file to improve overall 
  performance.  

- p. 521:  Setting the second option, <expL2>, of the RUN() function to    
  .T. tells dBASE to release all available extended memory prior to running
  the specified command or program.  To find out how much extended memory
  is currently available to execute a command or program with RUN(), use 
  MEMORY(0).  To determine how much extended memory dBASE will release when 
  you execute RUN(<expC>,.T.), use MEMORY(3).

- p. 696:  Byte 29 in the database file header contains the language 
  driver ID.


11.  COMPATIBILITY ISSUES
-------------------------

Using dBASE with DOS 5.0 DOSSHELL
---------------------------------
If you run dBASE IV under a task switcher, such as DOS 5.0 DOSSHELL, you 
should install MULTI16M.EXE.  This TSR is provided with dBASE IV.  For
more information about this program, read MULTI16M.DOC.  This file is
in your dBASE home directory.

Using dBASE with Stacker
------------------------
If you are using Stacker or another disk compression software,
the amount of disk space indicated by DIR or other commands may 
be more than is actually available.  This may cause you to run 
out of disk space when installing dBASE.  Stacker users who have 
less than 10MB of disk space should run SCHECK to see how much 
disk space is actually available.  This information can be found 
under "Bytes Free" in the STACVOL file.

Using dBASE under OS/2
----------------------
dBASE will fail to load under OS/2 unless you increase its
DPMI_MEMORY_LIMIT setting to 4 or higher.

If you run dBASE under OS/2 2.0 with the Service Pack installed, using
SET MOUSE ON and moving the mouse pointer causes dBASE IV to crash.
This is a problem with the OS/2 2.0 Virtual DOS mouse driver, which can
be resolved in one of the following ways:

1)  Use the VMOUSE.SYS driver included with your original OS/2 2.0 disks.
2)  Use MOUSE=OFF in your CONFIG.DB file.
3)  Contact IBM OS/2 Support at 1-800-237-5511, and refer to problem
    number PJ06533 to obtain the patch that corrects this problem.

Mouse drivers for Windows 3.1
-----------------------------
If you run dBASE IV 2.0 in a window session, you must use MOUSE.COM
or MOUSE.SYS version 8.20 or higher in order for the mouse to work.
You can use an older version of MOUSE.COM or MOUSE.SYS if you run dBASE
in full screen mode.

Running Multi-user dBASE IV with IBM LAN Server or Microsoft LAN Manager
------------------------------------------------------------------------
PC client workstations running multi-user dBASE IV with IBM LAN Server
or Microsoft LAN Manager may lose network connections and get the messages 
"File not found," "Network busy," or "Device no longer exists" when 
network traffic is heavy.  This is a network problem and if it occurs, 
contact IBM Technical Support or Microsoft Technical Support.
080 DBASE IV APPLICATION LIBRARY 1×DD
RAW 1.raw
原始 1.DDI
081 DBASE IV DEVELOPMENT 1.1 14×DD
README.DOC [展开]
                                                                1



                   CONTENTS OF README.DOC FILE       17 July 1990
                   ---------------------------

   This file contains important additions to the following
   dBASE IV manuals:

       MANUAL                                            PAGE

   1.  Getting Started With dBASE IV                        2

   2.  Network Installation                                 8

   3.  Language Reference                                   9

   4.  Using the Menu System                               11

   5.  Programming With dBASE IV                           13







                   TechNotes 1.1 Release Edition

   With the release of dBASE IV version 1.1, Ashton-Tate is
   offering a new approach to providing its customers with even
   more timely information about its products. During the final
   stages of the software development process, the product docu-
   mentation goes to print but we continue to get feedback from
   our Beta sites and learn more about supporting the product.

   We've combined a collection of this valuable Beta site
   feedback together with our experience in providing timely
   technical information through our TechNotes newsletters. The
   TechNotes/dBASE IV version 1.1 Release Edition (enclosed with
   your copy of dBASE IV version 1.1) is composed of three types
   of information: feature articles, questions and answers, and
   technical tips. Scan the table of contents for topics that
   may fit your needs.



                                                                   2
   
                   GETTING STARTED WITH dBASE IV
                   -----------------------------
   
   Ashton-Tate continually improves dBASE IV in response to our
   customers' comments. The following improvements and additions
   were included in the product too late to be documented in the
   manuals. Please update your Getting Started With dBASE IV
   manual with the following information:

   ---------------------------

   Chapter 1, "Installation," p. 1-2, Types of Installation:
   The minimum disk space required for a dBASE IV installation
   is currently 4.0M. A complete installation requires 5.4M for
   dBASE IV, 8.2M for dBASE IV Developer's Edition.
   ---------------------------

   Chapter 1, "Installation," p. 1-3, Installing Disk Caching: If
   you have dBASE IV Developer's Edition, you can also install
   caching for RunTime by using CACHERT.BAT. 

   If you later choose to use the "Copy RunTime" option of BUILD,
   first use CACHERT to turn off caching on your local version of
   RunTime before using BUILD. You can then use CACHERT to turn
   caching back on after using BUILD. If you are using RunTime on
   a network, see page 6 of this document for instructions on how
   to turn caching on and off.

   ---------------------------

   Chapter 1, "Installation," p. 1-3, Caching dBASE IV With Other
   TSRs: If you use DBCINIT in either Autoexec.bat or Config.sys,
   you should precede it by its full path name: C:\DBASE\DBCINIT in
   Autoexec.bat, DEVICE=C:\DBASE\DBCINIT.EXE in Config.sys (use the
   correct drive:\directory if different from C:\DBASE).

   ---------------------------

   Chapter 1, "Installation," p. 1-4: If you encounter dif-
   ficulties while installing dBASE IV, you may wish to remove
   any memory-resident programs before retrying installation.

   ---------------------------

   Chapter 1, "Installation," p. 1-4: If you manually delete the
   contents of any of the dBASE IV subdirectories (such as
   SQLHOME or DBNETCTL.300), you should also remove the directory
   itself prior to reinstalling dBASE IV.



                                                                   3

   ---------------------------

   Chapter 1, "Installation," p. 1-5, Prompts During the Instal-
   lation, bullet 3: You should not try to install dBASE IV to
   the root directory (DOS only allows a certain number of files
   in \). Install to a subdirectory, for example, \DBASE.

   ---------------------------

   Chapter 2, "Configuration," p. 2-1, Installing Printer Drivers:
   Users of the Hewlett-Packard LaserJet III should use the Laser-
   Jet II printer driver.

   ---------------------------

   Chapter 2, "Configuration," p. 2-8, Temporary File Directory
   (DBTMP and TMP): dBASE IV must be able to open a 300K
   temporary file on disk when it starts up. You can use the TMP
   or DBTMP environment variables to control the location of the
   temporary file, to assure that it is written in a readable and
   writable drive and directory with sufficient space. If dBASE IV
   cannot open this file successfully, you will receive the message
   "Unable to write on temp file <drive:directory:tempfile>."

   ---------------------------

   Chapter 3, "What's New," p. 3-3, dBASE Language Enhancements:
   The following enhancements have been made to the language: 
   
   DEFINE PAD

   In version 1.0, DEFINE PAD automatically added a blank space on
   either side of the PROMPT message. This no longer happens in
   dBASE IV version 1.1, thus allowing more direct user control of
   menu PROMPTs and allowing more PROMPTs on horizontal menu bars.
   
   This means that applications created under version 1.0 should
   be regenerated through the Applications Generator; otherwise
   you may see the first character of each PROMPT doubled. Spaces
   can be added around the PROMPTs (inside the highlighted pad)
   prior to regeneration, if desired.   

   ---------------------------

   Two new features have been added to Form.gen allowing the user
   to define Help and to create pop-up validation of data.
   
   User-Defined Help

   The F1 Help key can now provide user-defined help information
   for individual fields on the Edit screen.  When you press F1 Help,
   the information in the memo fields of a special database file
   will display in a popup Help window. To take advantage of this
   feature, you must create a special database file described below.



                                                                   4

   The name of the database file must begin with the first six
   characters of the name of the format file, followed by "_H.DBF".
   For example, if the format file is called ENTRY.FMT, then the
   Help file must be called ENTRY_H.DBF.

   The database file must have the following structure:

          Field  Field Name  Type       Width  Dec  Tag
          -----  ----------  ---------  -----  ---- ---
              1  FLD_NAME    Character    10         Y
              2  FLD_HEADNG  Character    25         N
              3  FLD_HELP    Memo         10         N
         ----------------------------------------------
 
   FLD_NAME is used to contain the names of the fields for which you
   want help windows.  These field names MUST be entered in uppercase
   characters in this field.  An index tag is required for FLD_NAME.

   You do not need to include all the fields from the database in
   the Help file, only the ones for which you want Help windows.

   FLD_HEADNG is used to contain the character string you would like
   to see at the top frame of the Help window.

   FLD_HELP is a memo field that contains the Help text you want
   displayed for each field.  If there is more text than will fit
   inside the help window, navigation instructions are displayed
   inside the Help window.

   ---------------------------
   
   Creating Pop-up Validation of Data (using CREATE/MODIFY SCREEN)

   You can now use the screen designer to automatically create
   a data validation routine that presents a popup of valid choices
   if an invalid choice is entered. If a catalog is open, you can
   have popups for only eight fields.

   To take advantage of this feature, use the "Accept value when"
   portion of a field's Edit Options table on the forms design
   screen.  You must enter the following syntax (including quotes):

   "POPUP"="<database>-><fieldname> ORDER <fieldname> [REQ] [SHADOW]"

   For example, to activate a required, shadowed popup for the
   Vendor_id field in the Vendor file, insert the following popup
   string in the "Accept value when" fill-in when highlighting
   the field to be validated.

   "POPUP" = "Vendor->Vendor_id ORDER Vendor_id REQ SHADOW"

   The quotation marks must be included as shown.


                                                                   5

   The components of this popup string are:

   POPUP               Initiates popup processing for this
                       field during EDIT

   Vendor->Vendor_id   Shows which database field contains the
                       valid data entries

   Vendor_id           Specifies index tag that orders this field         
                                                                          
   REQ                 Shows that the user must enter something
                       into the field before moving on. If REQ
                       is left out, user can escape the popup and
                       leave the field BLANK or 0.

   SHADOW              Calls for shadowing effect on popups

   A tag must have been created for the file referenced as the alias
   name of the field in the popup string. REQ and SHADOW are optional.

   You can use a field from the .dbf file you are currently working
   with or a .dbf from another work area. Popups are usually displayed
   below the currently highlighted field, unless the current field is
   low on the form.

   This feature is designed for EDIT and may not display as smoothly
   in BROWSE. You cannot use this feature on a multiple choice field. 
   
   Any open procedure files will be closed by the EDIT and must be  
   reopened as needed. The first six characters of the names of the
   fields with these popups must be unique.

   ---------------------------
   
   ON SELECTION POPUP

   A new optional keyword, BLANK, has been added. The new syntax
   is as follows. Location of BLANK (if used) must be as shown:
   
   . ON SELECTION POPUP <popup name>/ALL [BLANK] [<command>]
   
   The BLANK keyword causes the popup to disappear after a sel-
   ection is made, thus making for a cleaner-running application.
   If a <command> is specified, the popup will redisplay after
   the command or procedure terminates; if no <command> is 
   specified, the popup will remain on the screen.

   ---------------------------
   
   Label Generator: a new DOS environment variable can be set
   to allow you more control over top and bottom margins, how the
   label page advances, and whether widow checking occurs. This is
   useful for LaserJet, cut-sheet, or non-continuous form printers.

   See the enclosed TechNotes 1.1 Release Edition for details.


                                                                   6

   ---------------------------

   BROWSE, EDIT, SET STATUS, SET SCOREBOARD, SET CLOCK, and
   SET MESSAGE.         

   In dBASE IV version 1.1, the setting of STATUS is respected
   in more places than it was in dBASE IV version 1.0, giving
   you more control of your screen. The following section presents
   an overview of how BROWSE, EDIT, and the word wrap editor work
   with environment settings such as CLOCK, STATUS, and MESSAGE.

   The menu bars for BROWSE, EDIT, and the word wrap editor are
   hidden when STATUS is OFF.  They can be displayed by pressing
   F10 Menu or using Alt plus the first letter of the menu name.

   If the scoreboard is displayed on the screen, the menu bar
   is hidden.  When the menu bar is activated, the score-
   board is temporarily removed from the screen.  This be-
   havior lets these two elements of dBASE IV share line 0.

   BROWSE, EDIT, and the word wrap editor respect the status of
   CLOCK.  If CLOCK is OFF, it will not be displayed.  If 
   SET CLOCK TO has placed the clock somewhere other than the
   upper-right corner, the clock will still appear in the upper
   -right corner during BROWSE, EDIT, and in the word wrap editor.
   It will be restored to its user-specified position after
   completing the operation.

   SET MESSAGE determines the contents of the message line dis-
   played at the bottom of the screen regardless of its setting
   to other coordinates. While the menu bar is active, menu messages
   overwrite the message line (line 23), which is restored to the
   SET MESSAGE string location when the menu operations terminate.

   ---------------------------

   Chapter 3, p. 3-1, Performance Tuning Ability: The BAK environment
   variable is no longer necessary. dBASE IV now assigns unique
   extensions to each type of file backup. See Language Reference,
   Chapter 2, p. 2-188, Modify Command/File.

   ---------------------------

   Chapter 4, "Changes to Version 1.0 Documentation," p. 4-19
   (p. 4-5 in Getting Started With dBASE IV Developer's Edition),
   Using Disk Caching on a Network: In order to use the new DBCACHE
   program in multi-user (network) operations, the following commands
   must be performed:


                                                                   7

   1. ON THE SERVER:

   ATTRIB -R DBASE*.*
   DEL DBASE.EXE      (If it exists)
   REN DBASE.COM DBASE1.EXE

   Now make DBASE*.* read-only and shareable as appropriate for
   the particular network and do one of the following for each
   local workstation:

   2a. ON A LOCAL HARD DRIVE THAT HAS EXTENDED OR EXPANDED MEMORY:

   Create a directory on the hard disk of each local workstation
   (can be the same directory as in bullet 1, if you choose to
   copy the files listed in bullet 2). Copy the three files
   DBASE.CAC, EXT.OVL, and EXP.OVL to this directory on each local
   hard drive. Type the following commands from the local directory:

   REN DBASE.CAC DBASE.EXE
   COPY EXT.OVL (or EXP.OVL, depending on memory type) DBCACHE.OVL

   Add the path specification as discussed in Getting Started,
   bullet 3. It's crucial that the local directory precede server!
   To start dBASE IV: Type DBASE from the DOS prompt.

   NOTE: Change the filenames back to their original names before
   running ADDUSER4 to add or subtract users, then repeat the
   above process when finished.

   2b. ON A LOCAL HARD DRIVE THAT HAS NO EXTRA MEMORY:

   No need to create a directory or copy any files from the server.
   To start dBASE IV:  Type DBASE1 from the DOS prompt.

   * FOR RUNTIME USERS *

   To use DBCACHE across a network using RunTime, first install
   the RunTime files on the server. DO NOT DELETE RUNTIME.EXE!
   
   REN RUNTIME.EXE RUNTIME1.EXE
   
   Copy RUNTIME.CAC, EXT.OVL, and EXP.OVL to the local drives,
   change path as above.  At local drives with extra memory, type:

   REN RUNTIME.CAC RUNTIME.EXE
   COPY EXT.OVL (or EXP.OVL) RTCACHE.OVL

   ---------------------------

                                                                   8

   To estimate bytes of RAM accessible at the dot prompt (in
   kilobytes), subtract 357K from the TOTAL AVAILABLE KILOBYTES,
   multiply by the DBHEAP percentage, and add 38K. Total available
   kilobytes is the number labeled "bytes free" when you run the DOS
   CHKDSK command (before running dBASE IV), divided by 1,024:
   
    dot prompt RAM = 
        [(total available kilobytes - 357) * DBHEAP/100] + 38  

   Less RAM may be available if the integrated dBASE IV cache
   is turned on. The amount of RAM used by the cache depends on
   the specific memory configuration of your computer.    
  

                   NETWORK INSTALLATION
                   --------------------

   dBASE IV version 1.1 supports specific versions of the following
   local area networks:

      * IBM PC LAN (including Token Ring)

      * Novell NetWare 286 and 386

      * 3 Com 3+

      * Ungermann-Bass Net/One

   We continually add new devices and networks to our supported
   hardware list. Contact your authorized Ashton-Tate dealer for
   the latest information. Or, in the United States, call the
   Ashton-Tate Technical Information Line at (800) 545-9700.
   Outside the United States, contact the nearest Ashton-Tate
   office or refer to the International Support Guide.   
   
   NOTE: When dBASE IV is installed on Ungermann-Bass, Novell 386,
   or PC LAN with Token Ring, you must install from a drive
   designated A: or B: only.

   ---------------------------

   If a user on Novell has a SHELL.CFG search level of 5 and is
   mapped to another volume containing dBASE IV version 1.0, he
   will be unable to install version 1.1, receiving the message
   "File write error". If not MAPped to version 1.0, or search
   level is 1 (the default), no error occurs.

   ---------------------------

   If you use dBASE IV on a network with DOS 4.01, and want to
   run BUILD, first install dBASE IV single-user on a local
   directory. Then run BUILD from that directory.


                                                                   9


                   LANGUAGE REFERENCE
                   ------------------

   The following changes should be made to your dBASE IV
   version 1.1 Language Reference:
   
   @ command: On page 2-14, note that the keyword REQUIRED must
   immediately follow either RANGE or VALID, and only refers to
   that keyword. To make REQUIRED refer to both RANGE and VALID,
   use the keyword after RANGE and again after VALID.
   Also on page 2-14, the second paragraph ends "...the check only
   occurs when you change the record." This should read, "...the
   check occurs only when you change the field; changing other
   fields in the record will not cause the VALID clause and RANGE
   parameters to be checked."

   ---------------------------

   ACTIVATE SCREEN command, p. 2-27: Add the following note to
   the end of the Usage section:

   NOTE: If you are in a window and issue ACTIVATE SCREEN, any
   text written to the screen will disappear when the window is
   eventually deactivated.

   To save full-screen text, DEACTIVATE all your windows before
   writing text to the screen.

   ---------------------------

   BEGIN/END TRANSACTION command, p. 2-41, Usage: For best results
   when performing multi-user update operations in dBASE IV SQL,
   we recommend you SET REPROCESS TO a value greater than 20 and
   include the update operations within a TRANSACTION.

   ---------------------------

   CONVERT command, p. 2-63: Once CONVERT has been used on a data-
   base file, the _DBASELOCK field should be the last field in
   the database structure, as shown on the MODIFY STRUCTURE screen.
   Do not add fields below the _DBASELOCK field. If you need to
   insert a field, move up one or more fields and press Ctrl-N.

   ---------------------------

   COPY command, p. 2-65: Add the following note to the Usage
   section relating to the WITH PRODUCTION keywords:

   NOTE: When you use the COPY...WITH PRODUCTION command, be sure
   to put the database in its Natural order by SET ORDER TO.

                                                                   10

   If you want the records in the new file to be copied in the
   indexed order of the source file, you can use COPY...WITH
   PRODUCTION, but be sure to REINDEX the new file before activating
   an index tag for the file.
   
   Reindexing is automatically performed if the new file is a
   subset of the original (contains fewer fields or records).

   ---------------------------
   
   CREATE/MODIFY STRUCTURE command, page 2-94, Tip section: The
   extension of a backup file made from a .dbf database file has
   been changed to .dbk. Other backup file extensions have also
   been changed. See Language Reference, p. 2-188.

   ---------------------------
   
   DEBUG command, page 2-102: The command option to temporarily
   exit the debugger to the dot prompt is now U for sUspend (it
   was X in version 1.0). To resume debugger operations, type
   RESUME from the dot prompt; to cancel the debug session and
   remain in the dot prompt, type CANCEL.
   
   ---------------------------
   
   DEFINE POPUP command, p. 2-115: add the following note:

   NOTE: When you use DEFINE POPUP with the PROMPT FILES or
   PROMPT FIELDS options, dBASE IV reads the entire list of sub-
   directories, files, or fields into memory and sorts them before
   displaying the popup on the screen.

   You may not be able to ACTIVATE the popup if there is inadequate
   memory available to carry out the operation.
   
   ---------------------------
   
   SET PRINTER command, p. 3-87: To clarify the discussion in
   the manual, you cannot set the printer to "PRN", only to one
   of the DOS devices listed: LPTn, COMn, or NUL, or to a file by
   using the keyword FILE. PRN is normally equivalent to LPT1:.

   Note that you CAN set the printer to FILE PRN; see comments
   regarding Using the Menu System, Chapter 13, "Printing," later
   in this file.
   
   ---------------------------

                                                                   11

   Error messages, Appendix A, p. A-7, "Database not indexed" error:
   A better explanation of this message follows:

   Before using this command, you must order the records with
   an index. If no index exists, you need to create one.
   

                   USING THE MENU SYSTEM
                   ---------------------

   The following changes should be made to your dBASE IV
   version 1.1 Using the Menu System manual:

   Several of the sample files shown in the Control Center are      
   represented by design files only.  You can create the gener-
   ated code files by loading these files onto their design screens
   and pressing Ctrl-End.                                               
                                                                          
   The files you may want to do this with are the reports ALLNAMES, 
   CARDREC, INVENTRY, and REGIONAL, as well as the labels INVITES
   and NAMETAGS.

   After generating the code files, you will notice improved perform-
   ance each time you run these files.
   
   ---------------------------
   
   Chapter 4, "Displaying, Adding, and Modifying Data," p. 4-8,
   Automatic Record Locking on a Network: Delete the fourth
   paragraph under step 2. BROWSE and EDIT behave exactly the
   same with regard to locking.
   
   ---------------------------
   
   Design surfaces, Chapters 9, 10, and 12: The double quote
   (") may now be used on all design surfaces.
   
   ---------------------------

   Chapter 10, "Creating Reports," p. 10-6, Designing the Custom
   Report: If you embed page break characters within your text,
   they will interact with the page settings in the Report Designer.
   Best results are achieved by avoiding page breaks in your data,
   instead using the Print menu settings.
   
   ---------------------------

                                                                   12

   Chapter 10, "Creating Reports," p. 10-8, Reports Design Screen:
   To the end of this section, add the following note:
   NOTE: When a band contains text or field templates, a blank
   line at the bottom of the band cannot be deleted. To eliminate
   this blank line, select the entire line above it using F6 Select
   and F7 Move it down until it covers the last blank line.
   
   ---------------------------

   Using Calculated Field Types, page 10-20:  The order of
   precedence of calculation of various fields shown on this
   page is correct. Additional information is that if you find
   that a calculated field is producing incorrect results,
   try moving it, naming it if it is unnamed, or removing its
   name if no other field depends upon it.

   Summary fields are not always calculated with the lowest
   level of precedence. The value produced by a dependent
   calculated field or summary field changes according to its
   relative position within the band. Fields are calculated
   left to right, top to bottom.

   For example, suppose a named calculated field multiplies a
   summary field by a fixed amount (figuring tax on a line-item
   total). If the calculated field is to the left or above the
   summary field within the group summary band, it will give an
   incorrect result since it multiplies the old summary field
   value before the new value has been determined. Either move
   the named calculated field to the right of or below the sum-
   mary field, or remove the calculated field's name (unnamed
   calculated fields are always calculated after all other fields).
   
   ---------------------------
   
   Chapter 11, "Using Mailmerge," p. 11-4 Entering Text and Fields:
   Append the following note after the third paragraph:

   NOTE: A text file you read into the detail band cannot exceed
   30K. Limit the text file size, and verify that the .frg file
   has been created before attempting to run the report.
   
   ---------------------------

   Chapter 13, "Printing":  If a printer switch box or other
   device intervenes between dBASE IV and the printer, under some
   conditions dBASE IV may return the message "Printer not ready."
   If this causes a problem, a good way to bypass it is to issue
   the following SET command:
   
   . SET PRINTER TO FILE PRN


                                                                   13

   This "tricks" DOS by sending the print output to a file which
   happens to have the same name as the DOS device PRN. When
   data is sent to the "file" PRN, DOS redirects it to the
   printer attached to LPT1:. You can also set the dBASE IV
   printer to the "files" LPTn:, COMn:, or CON (for CONsole, the
   monitor). These are actually DOS devices, and will not produce
   real files.

   On some hardware configurations, after typing the above
   command, you may receive the error message "File already
   exists."  If you do, first type SET SAFETY OFF, then
   type the above command, and then type SET SAFETY ON.


                   PROGRAMMING WITH dBASE IV
                   -------------------------

   The following changes should be made to your version 1.1
   Programming With dBASE IV manual:
   
   Specifying the Output Device, page 12-3, last paragraph: The
   correct command to define an ASCII text file memory variable is
   as follows:  _pdriver = "ASCII.pr2" (note the quotation marks).

   ---------------------------

   Debugger Commands, pages 15-4, 15-6, 15-7: The command to temp-
   orarily quit from the debugger to the dot prompt is now U for
   sUspend. Change all instances of command X to U. See earlier in
   this Readme.doc file under "Language Reference" for more details.
   
   ---------------------------
   
   Using DBLINK, page 16-5: The maximum number of procedures per
   .dbo file is 963, not 953, as stated in the documentation.
   
   ---------------------------
   
   Using BUILD, page 16-6: The last bulleted item on the page
   says that you can have up to 32 active .dbo files. Add the
   following statement: "A file is active if you can return to it
   using the RETURN command."

   Also note that all programs assembled using BUILD must have
   the same extension, either .prg or .prs. You cannot mix them.

                   README.DOC FILE
                   ---------------
   
   To print a hard copy of this file, type the following at the
   DOS prompt (assuming printer is attached to parallel port 1,
   LPT1:).
   
   C> COPY README.DOC LPT1:
   
   If your printer is attached to a different port (LPT2:,
   COM1:, and so forth), substitute that port for LPT1: above.
082 DBASE PROGRAMMER UTILITY 1×DD
README [展开]
IMPORTANT INFORMATION ABOUT THE dBASE PROGRAMMER'S UTILITIES




CP, LS, RM, and SEARCH are very powerful and complex commands. 
You may have to experiment to find out the correct way to supply 
options, if you are using more than one option. 


               ************ WARNING *************

Before you attempt to use RM (which can erase your entire disk), 
try the syntax with LS first. The listing produced on the screen 
with LS will show you which files and directories would be 
removed with RM. 

Always use the /query option with RM. This practice will allow 
you to verify whether or not to remove the file or directory.

Pay particular attention to the /descend and /name options. Note 
the following example:


  WRONG:   C> rm /descend *.* a:\


  CORRECT: C> rm /query /descend /name *.* a:\


If you give file specifications (with ? and *) but omit the /name 
option, RM will instead operate on the current drive and remove all 
files from the current drive---not the specified target. In the
above example, the wrong syntax would have erased your entire C 
drive.

You can protect yourself by always using the /query option and 
calling RM from the drive from which you intend to remove files. 
For example,

           A> c:rm /query /descend /name *.* a:\

Remember, practice first with LS to become familiar with correct 
syntax.

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

The file called DO_NOT.USE on your distribution disk is the RM 
utility. If you wish to use this utility, rename it RM.EXE.
RAW 1.raw
原始 1.DDI
083 汉化dBASE III 1×HD
README [展开]
IMPORTANT INFORMATION ABOUT THE dBASE PROGRAMMER'S UTILITIES




CP, LS, RM, and SEARCH are very powerful and complex commands. 
You may have to experiment to find out the correct way to supply 
options, if you are using more than one option. 


               ************ WARNING *************

Before you attempt to use RM (which can erase your entire disk), 
try the syntax with LS first. The listing produced on the screen 
with LS will show you which files and directories would be 
removed with RM. 

Always use the /query option with RM. This practice will allow 
you to verify whether or not to remove the file or directory.

Pay particular attention to the /descend and /name options. Note 
the following example:


  WRONG:   C> rm /descend *.* a:\


  CORRECT: C> rm /query /descend /name *.* a:\


If you give file specifications (with ? and *) but omit the /name 
option, RM will instead operate on the current drive and remove all 
files from the current drive---not the specified target. In the
above example, the wrong syntax would have erased your entire C 
drive.

You can protect yourself by always using the /query option and 
calling RM from the drive from which you intend to remove files. 
For example,

           A> c:rm /query /descend /name *.* a:\

Remember, practice first with LS to become familiar with correct 
syntax.

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

The file called DO_NOT.USE on your distribution disk is the RM 
utility. If you wish to use this utility, rename it RM.EXE.
RAW 1.raw
原始 1.IMG
084 汉化dBASE III PLUS 1×HD
README.TXT [展开]

                  IMPORTANT INFORMATION

Before using your dBASE III PLUS Disks, please note the 
following information before installing dBASE III PLUS:

For 256K dBASE III PLUS Operation:

dBASE III PLUS runs with DOS version 2.xx if you have 256K
installed memory in your computer.  If you have a mimimum 
of 384K of installed memory, dBASE III PLUS runs with DOS version
3.xx as well as version 2.xx. 

For 256K operation, we provide two files, CONFI256.SYS and
CONFI256.DB, on System Disk #1.  These two files set system
parameters for maximum overall performance of dBASE III PLUS in a
256K environment.  Save the original CONFIG.SYS and CONFIG.DB
files (also on System Disk #1) to another disk, and then use the
DOS COPY command to copy CONFI256.SYS and CONFI256.DB to
CONFIG.SYS and CONFIG.DB respectively.
085 编译dBASE III 1×HD
RAW 1.raw
原始 1.IMG
086 dBASE IV 7×HD
087 汉化dBASE IV (长城版) 8×DD
README.DOC [展开]

                                                                         1
         
                           README.DOC 文件目录
                         =======================                 1991.1.14

    Ashton-Tate 推出 dBASE IV 1.1 版同时提供给顾客有关最新的技术信息。由于软
    件开发的最后阶段, 产品的手册资料开始付印; 但我们仍不断地从我们的 Beta 测
    试地点取得有关产品的反馈信息。该文件就是对未能在资料中印刷的一个修改说明。
    下面是要作修改的手册:

          手册名                                

          1. 《开启 dBASE IV》
          2. 《语言参考手册》
          3. 《dBASE IV 菜单系统》


                         《开启 dBASE IV》
                        ___________________

    Ashton-Tate 根据用户的反应不断地改进 dBASE IV。下面一些就是在手册中未能
    印出的产品中的改进和增加的内容。对《开启 dBASE IV》应作如下改动:

    _______________________________________________________________________

    第 1 章, "安装", "安装类型"一节:  安装 dBASE IV 的最小磁盘空间为 4.0 M.
    全部安装则需要 5.4 M。

    _______________________________________________________________________    

    第 1 章, "安装", "如何与其它内存常驻程序并存":     如在 Autoexec.bat 或
    Config.sys 中使用 DBCINIT, 那么应该给出它的目录全称: 在 Autoexec.bat 中
    用 C:\DBASE\DBCINIT, 在 Config.sys 中用 DEVICE=C:\DBASE\DBCINIT.EXE.(如
    它不在 C:\DBASE 下则作相应改动。)

    _______________________________________________________________________

    第 1 章, "安装": 如在安装 dBASE IV 时遇到问题, 可以在重新安装之前清除内
    存常驻程序。

    _______________________________________________________________________

    第 1 章, "安装": 如手动删除 dBASE IV 子目录下的文件, 在重新安装前也应删
    除目录名。

    _______________________________________________________________________

    第 1 章, "安装", "安装提示"第三项: 不应把根目录指为安装 dBASE IV 的目录
    (DOS 允许在根目录下存放有限个数的文件)。请安装在子目录下, 例如: \DBASE.
    

                                                                          2

    _______________________________________________________________________

    第 2 章, "定制", "临时文件目录 (DBTMP 和 TMP)": dBASE IV 在启动时应能打
    开一个 300 K 的临时文件, 可用 TMP 或 DBTMP 指定临时文件的存放地点, 并保
    证所选的驱动器是可读写的并有足够的空间。如 dBASE IV 不能打开这个文件,则
    将显示信息 "不能写数据到临时文件<驱动器:目录:临时文件>"。

    _______________________________________________________________________

    点提示符下估算可存取内存空间(RAM)的字节数(K)的方法为:  可用内存总数减去
    357, 然后乘以 DBHEAP 的百分数, 再加上 38。可用内存总数为在进入 dBASE IV 
    前用 DOS 的 CHKDSK 命令看到的"bytes free"前面的数除以 1024。算式如下(单
    位: 千字节):

        . RAM = [(可用内存总数-357)*DBHEAP/100]+38

    如安装了高速存储装置, 则可存取内存数变小。被高速存储装置占用的内存数取决
    于内存的具体配置情况。


                         《语言参考手册》
                        __________________

    @ 命令:  REQUIRED 保留字必须跟在 RANGE 或者 VALID 之后, 且只对所跟的那个
    有效。如要对 RANGE 和 VALID 均有效, 则应分别在 RANGE 和 VALID 后加该保留
    字。
    在第二段结尾处: "...只在修改记录时检查。" 改为 "只检查被修改的字段, 对记
    录中的其它字段并不检查 VALID 子句和 RANGE 参数。"

    _______________________________________________________________________

    ACTIVATE SCREEN 命令: 将下列 "注" 加在 "用法" 一节最后:

    注: 如在窗口中执行 ACTIVATE SCREEN 命令, 写进屏幕中的任何文本将随窗口的
    关闭而消失。

    为了保存全屏幕文本, 应在写文本到屏幕前关闭(DEACTIVATE)所有窗口。

    _______________________________________________________________________
 
    CONVERT 命令:   当对一数据库文件使用 CONVERT 命令后, _DBASELOCK 字段成为
    该数据库的末字段, 这可通过 MODIFY STRUCTURE 看到。如要增加字段, 应该插入
    (在字段间按 Ctrl-N), 而不该将其加在_DBASELOCK 字段之后。

    _______________________________________________________________________

    COPY 命令: "用途"一节有关 WITH PRODUCTION 保留字后加入:

    注: 当使用 COPY...WITH PRODUCTION 命令时, 应将数据库用 SET ORDER TO 命令
    置为自然顺序。如拷贝的文件仍需要沿用源文件的索引顺序, 则就在激活索引标识
    之前对新文件重新索引 (REINDEX)。如新文件是源文件的一个子集时 (包含源文件
    的一部分字段或记录), 则对新文件的重新索引自动实现。

                                                                          3

    _______________________________________________________________________    

    CREATE/MODIFY STRUCTURE 命令中 "提示" 一节: .dbf 文件的备份文件的扩展名
    改为.dbk。其它备份文件的扩展名也有改动, 请查阅《语言参考手册》. 

    _______________________________________________________________________

    DEFINE POPUP 命令, 在"用途"一节最后加入:

    注: 当使用了 PROMPT FILES 或 PROMPT FIELD 选项后, dBASE IV 将一些子目录、
    文件或字段读入内存, 并在显示外弹式菜单之前对它们排序。如果没有足够的内存,
    就不能激活 (ACTIVATE) 外弹式菜单。
 
    _______________________________________________________________________

    ON SELECTION POPUP 命令: 加入可选保留字 BLANK, 该命令的语法为:

        ON SELECTION POPUP <外弹式菜单名>/ALL [BLANK][<命令>]

    BLANK 使得当某个选项被选择后本外弹式菜单从屏幕上消失, 以便留下一个相对清
    晰的屏面运行命令或程序。如指定了<命令>, 该命令或过程结束后本菜单重新显示; 
    不然, 本菜单不消失。

    _______________________________________________________________________

    SET PRINTER 命令:  不能把打印机置为"PRN", 可用的 DOS 设备为 LPTn、COMn、
    NUL 或一个文件 (使用保留字 FILE)。PRN 其实等同于 LPT1:。不过你可以把打印
    机设为 FILE PRN。



                            《dBASE IV 菜单系统》
                          ________________________

    控制中心显示的样本文件只是设计文件而已, 要生成它们的代码文件就应把它们装
    入设计屏然后按 Ctrl-End。

    可能用到的样本文件有: ALLNAMES、CARDREC、INVENTRY 和 REGIONAL 等报表文件,
    以及 INVITES、NAMETAGS 标签文件。

    当生成了代码文件后, 你将发现这些文件性能上的改进。

    _______________________________________________________________________

    第 9、10、12 章的设计屏中可以使用双引号(")。

    _______________________________________________________________________

    第 9 章, "表格设计": 表格设计中增加了二个新的功能, 即定义帮助、建立数据
    校验。

    . 定义帮助

                                                                          4


    在编辑屏的数据库字段上按 F1 键可以显示帮助信息。按 F1 键后, 将在一个帮助
    窗口中显示某特定数据库文件的备注字段内容, 该特定数据库必须按下面的格式建
    立: 数据库文件名必须以表格文件名的前六个字符打头, 后跟"_H.DBF"。例如, 表
    格文件名为 ENTRY.FMT, 那么帮助文件的名应为 ENTRY_H.DBF。该数据库文件的结
    构如下:
                字段号    字段名      类型     宽度    Dec    索引
                ______    ______      ____     ____    ___    ____
                     1    FLD_NAME    字符型     10            Y
                     2    FLD_HEADNG  字符型     25            N
                     3    FLD_HELP    备注型     10            N

                __________________________________________________

    FLD_NAME 字段用于存放帮助字段的名字。帮助字段的名字必须以大写字母输入。
    FLD_NAME 是索引字段。

    并不是数据库文件的所有字段都应放入帮助文件中, 只要放入需要帮助的那些字段
    就行。

    FLD_HEADNG 字段用于存放帮助窗口的顶行标题。

    FLD_HELP 是备注字段, 用于存放帮助文本。如定义的帮助文本不能在帮助窗口中显
    示完, 则将显示引导信息。

    . 建立数据校验 (用 CREATE/MODIFY SCREEN)

    现在可以用表格编写器自动建立数据校验列程, 以在输入非法的选择时出现一个含
    合法选择的外弹式列表。在有数据目录打开情况下, 仅可对八个字段建立这样的外
    弹式列表。

    为了实现这一功能, 应在"E.编辑选项"的 "A.输入条件"中输入 (不要忘记双引号):

    "POPUP" = "<数据库>-><字段名> ORDER <字段名>[REQ][SHADOW]"

    例如, 要对 Vendor 数据库的 Vendor_id 字段设置一个外弹式列表, 就输入:

    "POPUP" = "Vendor->Vendor_id ORDER Vendor_id REQ SHADOW"

    该串的组成如下:

    POPUP                 对指定字段开始处理
    Vendor->Vendor_id     指定含有合法数据的数据库字段
    Vendor_id             指定对字段排序的索引标识
    REQ                   指明用户把光标移出本字段前必须输入某些内容。如没有
                          REQ, 用户可以跳过校正处理, 让字段值为空或 0。
    SHADOW                实现阴影效果

    其中, 索引标识是必需的, 必须预先建立好。REQ 和 SHADOW 是任选的。

    所用的数据库字段可以是当前工作区中的, 也可以是另外工作区中的。外弹式列表
    通常显示于所选字段的下方, 字段位置太低时例外。

    本功能为 EDIT 命令而设计, 不针对 BROWSE 命令。同时也不能用于含多项选择的
    字段。


                                                                           5


    任何打开着的过程文件将被 EDIT 关闭, 需要时重新打开。字段名的前六个字符必
    须是唯一的。

    _______________________________________________________________________

    第 10 章, "报表设计", "设计用户报表": 如果在文本中加入换页符, 它们将与报
    表编写器的页设置混淆。最好的方法是不在文本中自己加进换页符, 而通过"打印"
    菜单中的选项实现。

    _______________________________________________________________________

    第 10 章, "报表设计", "报表设计屏幕": 这一节最后加入:

    注: 当报表区中包含文本或字段样型后, 该区底部的空行不能删除。为了删除这一
    空行, 可用 F6 键选择它上面的那一行, 用 F7 键下移到空行所在位置。

    _______________________________________________________________________ 

    "使用计算字段": 不同字段在计算中的优先顺序不变。要增加的说明是:

    如计算字段的结果不正确, 则应该移动它的位置、对它取名 (如还没有名字) 或删
    除它的名字 (如没有其它字段依赖于它)。

    合计字段的优先级最低, 不常被计算。依赖字段或合计字段的值取决于它们在报表
    区中的位置。各字段按从左到右、从上到下的顺序计算。

    例如, 假定一有名字的计算字段由一合计字段和一固定数相乘所得。如该计算字段
    在分组合计区内位于合计字段的左上方, 那么该计算字段将得到一个不正确的结果,
    因为合计字段的值还没有确定。所以要么将该计算字段移到合计字段的右下方, 要
    么去掉该计算字段的名字 (没有名字的计算字段在所有其它字段之后被计算)。

    _______________________________________________________________________

    第 11 章, "信函合并", "输入文字和字段", 第三段后加入:

    注: 读入细目区的文本文件大小不得超过 30 K。应限制文本文件的大小; 运行报表
    前应确认.frg 文件已生成。

    _______________________________________________________________________

    第 12 章, "标签设计": 增加了一个 DOS 变量, 以便于设置上边界、下边界、走
    纸方式、截断检查等, 这对于用激光打印机或不连续的打印纸打印标签时比较有用。
    可在 Autoexec.bat 文件或其它批处理文件中加入:

        SET DTL_LBLOPT=ON


                                                                         6


    这样设置之后, 保存一个标签时将出现一个菜单:

              ┏━━━━━━━━━━━━━━━┓
              ┃                              ┃
              ┃     上边界          {}       ┃
              ┃     下边界          {}       ┃
              ┃     走纸方式        默认值   ┃
              ┃     截断检查        是       ┃
              ┃                              ┃
              ┃            <同意>            ┃
              ┗━━━━━━━━━━━━━━━┛

    上边界           确定页头的空行数, 空行下面开始打印标签

    下边界           确定页尾的空行数, 即页内最后一个标签距页底行数

    走纸方式         有三个选择: 默认值、格式走纸和行走纸。此选项的值覆盖
                     "打印" 菜单的"打印机控制"中的相应设置和系统内存变量
                     _padvance 的值。

    截断检查         该选项设置后决定上下边界间打印标签的个数, 使该选项起作用
                     的前提是"上边界"、"下边界"已经设置。

                     如一页可以打印 60 行, 上、下边界均设为 3, 那么可打印行数
                     为 54, 如一个标签为 5 行, 标签之间间隔 1 行,  那么正好可
                     打印九个标签 (54/6=9)。这种情况下不需设置"截断检查"选项。
                     如果一个标签为 6 行,  标签之间间隔 1 行,  那么就应该设置
                     "截断检查"选项, 不然最后一个标签不能全部打下, 将被截断打
                     印。

    _______________________________________________________________________

    第 13 章, "打印": 如在 dBASE IV 和打印机之间增加了打印机设置, 有时 dBASE
    IV 会返回信息 "打印机未准备好"。如不能打印, 可用下面的 SET 命令解决:

      . SET PRINTER TO FILE PRN

    这样就 "诱使" DOS 将打印输出到文件, 其实就是 DOS 设备 PRN。当数据被送入
    "文件" PRN 时, 就是送到打印机 LPT1:。同理, 可以把 dBASE IV 的打印机设为
    "文件" LPTn:、COMn: 和 CON (即监视器)。这些是真实的 DOS 设备, 所以不会打
    印出实际的文件。
    
    在某些硬件设置情况下, 输入上面的 SET 命令后可能会得到 "文件已存在" 的错
    误信息。如这样, 可以输入 SET SAFETY OFF, 再输入上面这个命令, 然后再输入
    SET SAFETY ON。


                              样本程序
                            ____________
    
    要运行样本程序可以在 dBASE 点符下输入  DO BUSINESS 或在 dbsample.bat 文
    件中的 dbase 语句后加上 business, 然后在 DOS 提示符下运行该文件即可.  

                           README.DOC 文件
                         ___________________

    为了得到本文件的一个硬拷贝, 可以在 DOS 提示符下输入: (假定打印机联在计算
    机的并行 1 号口上。)

    C> COPY README.DOC LPT1:

    如打印机联在其它端口上 (如 LPT2:, COM1: 等等), 则用相应的端口名称替换 
    LPT1: 即可。
088 CHINESE DBASE IV 4×TD
089 DBASE FOR WINDOWS 6×HD
README.TXT [展开]
                   Welcome to Cayenne
                   ------------------

This README file contains installation instructions, who to contact at
Borland, and important, last-minute information about Cayenne.

This is alpha software.  You have been selected as a test site because
YOUR INPUT IS IMPORTANT!  Your opinions regarding features and
implementation will help us make dBASE the best Windows database
development system.  Let us know what you think.

With this release we are particularly interested in your feedback on
syntax and the object oriented extensions outlined in  "Introduction to
dBASE for Windows Objects".  This feedback will be used for a final
syntax review prior to beta.  The CompuServe forum has proven to be a
valuable place to communicate with us and discuss Cayenne with other
testers.


     ****************************************************************
     Please remember that this material is provided in STRICT
     CONFIDENCE.  Fundamental to your confidential relationship with
     Borland is your duty not to disclose any information about this
     product, including any description of its features or
     functionality or the results of your findings to anyone other than
     Borland employees.  Your conscientious cooperation in this regard
     is vital to our business.

     During the first alpha cycle, there were several articles in the
     trade press about Cayenne that quoted test sites.  Please consider
     your status as a test site confidential information and respect
     our trust in you by responding to inquiries regarding product
     status and functionality with a simple statement that it would be
     a violation of your non-disclosure agreement.
     ****************************************************************


CONTENTS
--------
I.    Overview
II.   Installation
III.  New In This Release and Important Notes
IV.   Known Problems and Incomplete Areas
V.    Using Cayenne
VI.   Using Online help
VII.  How to Get Help
VIII. Reporting Bugs and giving us your feedback


I.    Overview
--------------

CAYENNE contains the following software components:

    DBW - The dBASE command line interface where you may run
    programs, test algorithms, and interactively work with tables.

    IDE - The Integrated Development Environment which includes
    the multi-file editor, compiler, and make and link utilities.

    DBWDEBUG - The debugger has separate windows for dynamically
    watching expressions, tracing code execution, examining the
    program stack, and setting break points.  It also provides
    inspectors for data and memory variables.

    WORKSHOP - Resource Workshop gives you the ability to create
    dialogs, icons, system menus, and manipulate Windows resources
    for use in your applications.

Source Code for the IDE is in the \DBW\EXAMPLES\IDE directory.
Object examples are in the \DBW\EXAMPLES\OOP directory.

A complete list of all files is provided in the FILELIST.DOC file in
the \DBW\DOC directory.

Cayenne is intended to run on 386 class machines or higher and requires
Windows 3.1.

The documentation provided includes:

      - This README.TXT file
      - SYNTAX.TXT in the \DBW\DOC directory (current language syntax)
      - Printed Language Reference
      - Online Help
      - Introduction to dBASE for Windows Objects

When you have a question about syntax, refer to the documentation in
the following order:

      - SYNTAX.TXT
      - Online Help
      - Language Reference

SYNTAX.TXT contains the current syntax, and the Language Reference
describes Cayenne by area of functionality.  The Language Reference and
Help System contain valuable information.  Your feedback on
documentation and Help is as valuable as your feedback on the software.
(Help is more complete for the Language Reference.)


II.   Installation
------------------

*** IMPORTANT ***

DO NOT USE THIS PRODUCT ON A NETWORK DRIVE!!!! ( Unless you have
specifically installed Windows for network operation )

If you are using Quattro Pro for Windows or Paradox for Windows,
Cayenne's installation no longer puts the ODAPI DLLs (Borland Interbase
Engine) in your \WINDOWS\SYSTEM directory.  If you are not using these
products you can delete the previous files ODAPI*.*, LD.DLL,
W3DBLIB.DLL, CONF.DLL, and *.LD from your \WINDOWS\SYSTEM directory.

To install Cayenne:
1.  Backup your hard drive.  We recommend this step before installing
    any pre-release software that is being tested.

2.  Cayenne requires about 20 megabytes of disk space during
    install.  Please note that if you do not have a permanent swap file
    for Windows, you may have to free up more space.

3.  Insert the installation disk (disk #1) into a floppy drive.  (The
    rest of these instructions assume you are using drive A.
    Substitute the appropriate drive letter for your system).

4.  Install Cayenne with the Windows executable Install.exe.

    If you are installing Cayenne from DOS, make sure Windows is on
    your DOS path and run Install with the following command:

    C:\> a:\install

    If you are installing Cayenne from Windows, choose File|Run in
    the Windows Program Manager.  Type A:\INSTALL, and choose OK.

5.  Follow the install instructions and set options in the dialog
    boxes as they appear.  You will be asked to accept the default
    directory structure based on C:\DBW.

    Installation will proceed; insert floppy disks as prompted.

6.  If you changed the default directory for ODAPI files during
    install, configure the ODAPI system as follows:

    A.  Run the 'Configuration Utility' from the 'dBASE for
        Windows' program group.

    B.  Push the "Advanced" button
    C.  Select Category "SYSTEM"
    D.  Select Group "INIT"
    E.  Select Item "LANGDRVDIR"
    F.  Enter the installation path for ODAPI in the Value edit
        box
    G.  Select OK to exit the Advanced dialog box
    H.  Select OK to save changes

7.  IMPORTANT: When the installation/configuration is complete, set the
    DB and PATH environment variables.  Add the following two lines to
    your AUTOEXEC.BAT (change the C:\DBW directory if named differently
    while installing):

    SET DB=C:\DBW
    PATH=C:\DBW\BIN;%PATH%

    Load SHARE if you intend to share files between ODAPI and non-ODAPI
    clients (like dBASE IV) at the same time.

8.  Exit Windows and reboot your computer for the AUTOEXEC.BAT changes
    to take effect.


III.  New In This Release and Important Notes
---------------------------------------------

*** ScratchPad(tm) window ***

The command window has been replaced with the ScratchPad interactive
command window.  Enter a command and press return or push the
lightning SpeedBar button to execute the current line.  You can also
select multiple lines with the mouse and execute them as a block by
pressing return or pushing the lightning button.

In the future, you will be able to press Shift+Enter to move to the next
line without executing the current line.  This will allow you to type
multiple lines and execute them as a selected block.

*** Form Tool ***

The current implementation of the form tool has been included to get
your feedback on usability and the user interface.  Start the form tool
from the IDE tools menu or by entering "DO runform" in the scratch pad
window.  Select objects to place on your form from the Object menu or
the SpeedBar.  Right-click on an object to change its properties.  Push
the ligtening SpeedBar button to test the form.

Sluggish performance of the form tool is known.  However, your feedback
at this stage of development is very important.

*** Sample Programs ***

We are providing two sample programs.  They are OO_PAINT.PRG and
SHOWOBJ.PRG.  OO_PAINT is a simple paint program that demonstrates
mouse events as well as creating your own window class.
SHOWOBJ creates a DBF of some basic object properties for all
defined objects (OBJTEMP.DBF) and BROWSEs the DBF.  You can easily
expand the structure of the browse table to display whatever
properties you wish.  Both programs show good examples of how to
use the new OO syntax.


*** Syntax Changes ***

1.  All @...GET <memvar> <object> commands have been changed to
   @...<object> <memvar>.  For example:

      @ <row>,<col> GET <memvar> LISTBOX ...

   is now

      @ <row>,<col> LISTBOX <memvar> ...

   Although both forms are currently allowed, this will not be true in
   the final release.


2.  In the future the @...TEXT commmand will be implemented as a multi-
line edit object and will be replaced by added functionality for
@...SAY.

The following dBASE IV commands are not supported.

   RECOGNIZED BUT NOT SUPPORTED          RECOGNIZED & IGNORED (NO-OPS)
   (generate a syntax error)             (compile without error)
   ----------------------------          -----------------------------

   ASSIST                                ???
   CALL                                  RELEASE MODULE
   CALL()                                SET CATALOG
   LOAD                                  SET CATALOG TO
   COMPLETED()                           SET CLOCK
   CREATE/MODIFY APPLICATION             SET CLOCK TO
   CREATE/MODIFY LABEL                   SET DBTRAP
   CREATE/MODIFY QUERY                   SET DESIGN
   CREATE/MODIFY REPORT                  SET DISPLAY TO
   CREATE/MODIFY SCREEN                  SET DOHISTORY
   CREATE/MODIFY VIEW                    SET ENCRYPTION
   DGEN()                                SET INSTRUCTION
   DEXPORT                               SET MENU
   ISMARKED()                            SET PAUSE
   LOGOUT                                SET PRECISION TO
   PLAY MACRO                            SET SCOREBOARD
   RESET                                 SET SQL
   RESTORE MACROS FROM                   SET TITLE
   RESTORE WINDOWS
   ROLLBACK()
   SAVE MACROS
   SAVE WINDOWS
   SET
   SET BLINK
   SET COLOR

   The dBASE IV syntax for SET KEY TO is not yet supported (Cayenne
   currently supports an extended syntax)


IV.   Known Problems and Incomplete Areas
-----------------------------------------

Table support:
    - Accessing SQL tables
    - IMPORT/EXPORT is currently limited to SDF ( fixed length field
      text files ) and DELIMITED text files
    - Modification of Paradox extended structures is not yet implemented
    - CREATE/MODIFY STRUCTURE
      does not check for duplicate fieldnames
      3+/4 option not available
      *** DO NOT MODIFY TABLES THAT HAVE NOT BEEN BACKED UP ***
    - JOIN command
    - BROWSE "search" menus
    - BROWSE with an .NDX open
    - Fullscreen INSERT
    - Some QBE scripts may have problems
    - Indexing on a UDF does not work without SET PROCEDURE TO the file
      containing the UDF, even if it is in the same file
    - Index operations involving RECNO() or DELETED()

International collation and language drivers:
    - Only the US language driver is supported (codepage 437)

Debugger
    - Inspector window support for objects and locals/statics

Windows enabling
    - DDE server class not completed
    - HSCROLL/VSCROLL options for commands that create graphic objects.
    - Non-MDI windows without a READ object cannot have focus set to
      them.

Memory Variables:
    - PRIVATE for system memvars is not yet supported
    - Locals/statics cannot be created at the dot prompt

Printing:
    - dBASE DOS printer drivers cannot be used under Windows
    - You must use the CLOSE PRINTER command to end your print job and
      cause it to be spooled by Windows

IDE:
    - Keyword Lookup when editing code in the Text Editor window is
      not yet complete

Other areas not well tested include:
    - OLE
    - DDE client class (Not implemented)


V.    Using Cayenne
-------------------

Program files (.PRG) are automatically compiled into object files
(.DBL) and you can run them from the Dot Prompt or compile them as
stand-alone Windows .EXE files.  There are three ways to compile a
program:

   1.  COMPILE <filename>   && from dot prompt
   2.  IDE Compile Menu
   3.  DBCW.BAT from DOS

You can then run the .EXE from Windows by adding it to the Program
Manager and clicking its icon or selecting File|Run.

The syntax for DBCW.BAT is:

     DBCW [options] .prg_file [.res_file]
     Options:
         -c              compatibility toggle
         -m              full macro support
         -s              make small .exe (that calls DBW00.DLL)
         -d              make DLL
         -p              use expanded memory (EMS) during link.
                         (uses extended by default)
         -l path         specify library search path for tlink.
         -h, -?, ?       this help screen
         prg_file        main prg file name
         res_file        resource to bind to executable

Note: If you use DBCW.BAT, the process creates DOS environment
variables.  You may have to increase your DOS environment space.  An
error is displayed and the compile stops if this is necessary.  The
following example will increase the environment to 1024 bytes when
placed in your CONFIG.SYS file:

   shell=c:\command.com c:\ /p /e:1024

The Integrated Development Environment (IDE) is designed to efficiently
help you edit and build Cayenne programs with its multi-file text
editor, integrated compiler/linker, and Help system.  It is completely
written in dBASE.  The source code is provided in the
\DBW\EXAMPLES\IDE directory.

Cayenne fully supports macro expansion.  You can use full or partial
macro support.  Full macros support all macro expansion but processing
is slower than partial (the default).  At the Dot Prompt, -m toggles
full macros.  You may also place the -m option on the
Preferences/Command line from the Program Manager.

Compatibility mode determines when you can use long variable names
(up to 30 characters) or short variable names (up to 10 characters).
When compatibility is ON, only the first 10 characters of names are
recognized.  Issue a -c at the command line to toggle compatibility
mode.  The default is OFF.

By default, the main window in Cayenne uses the default Windows
character set (ANSI) for output directed to the character plane.  This
character set will NOT output the IBM extended ASCII (OEM) characters.
To use the OEM character set, use the -wo option on the command line
(File|Properties in the program manager.)

The complete set of switches that may be placed on the DBW.EXE
command line (File|Properties in the program manager) include:

    /c                    compile to .lib
    /p                    compile to .dbl
    -d<token> [=value]    define symbol
    -i<pathlist>          include file path list
    -l<name>              identify the language driver
    -p<pathlist>          include source .prg path list
    -s<name>              set name of startup file
    -wa<number>           set max # of work areas needed for dot or .exe
    -wc<number>           set # of columns in main window
    -wm                   run windows maximized
    -wo                   set screen font to windows oem font
    -wr<number>           set # of rows in main window
    -ws                   put command prompt in the screen window
    -t                    skip the splash screen

Switches that may be placed on the DBW.EXE command line (File|Properties
in the program manager) OR the Dot Prompt are:

    -c                    toggle compatibility on/off
    -f                    force compile even if not needed
    -em<number>           set maximum number of errors for compile
    -m                    toggle macros to full
    -v                    verbose mode

For example, to enable full macro expansion and skip the splash screen,
place the following command line in the File|Properties dialog for the
Dot Prompt.

   \DBW\BIN\DBW.EXE -m -t

Switches that can be in a program are:

    #option optimize +/-
    #option workareas <constant>
    #option compatible +/-
    #option fullmacros +/-
    #option maximize +/-


VI.   Using Online help
-----------------------

Cayenne uses the Windows online help system.  Press F1 for context
sensitive help, use the Help Menu from the system menu bar, select a
Help button in dialog boxes, or issue a HELP command from the
ScratchPad.  For example, you can enter HELP BROWSE.

You can also choose the ? SpeedBar button for online Help.

If help does not find some topics, use the syntax:

   HELP TOPIC <keyword expC>.

For example:

   HELP TOPIC "USE"

You can also find any language help topic by opening the Help window
then using the Search button or navigating through the Language
section.


VII. How to Get Help
--------------------

If you have any problems with Cayenne, please review this file and the
cover letter.  If you still have problems, you may contact us via
telephone, CompuServe, phone, fax, MCI, or regular mail.

Telephone Support:

    Inside CA       1-800-231-2167
    Outside CA      1-800-742-4045

    Support engineers will be available from 1pm to 5pm, Monday
    through Friday, Pacific Standard Time.

    You may leave a message requesting assistance from 7am to 1pm
    or 5pm to 6pm, Monday through Friday, Pacific Standard Time.

CompuServe:

    We have a private forum for Cayenne test sites on CompuServe.
    PLEASE DO NOT DISCUSS CAYENNE ON ANY OTHER ONLINE FORUM OR SERVICE.
    Online support will be available in the PCS-24 forum, section 7.
    To access the forum from any CIS prompt, type GO PCS-24.  If you
    do not have access to this forum, contact Dita Parrish using a
    Borland toll-free number.  You will not be billed for time spent in
    this forum.

    Besides the Sysops in this forum, you may send E-mail directly
    to:

    Art Stalk      76376,3275     Quality Assurance Manager
    Ray Love       74666,565      Product Manager


MCI:

    Art Stalk /Borland
    Ray Love /Borland
    Roger Bowman/Borland

Fax:

    (408) 439-8028
    Attention: Art Stalk, Cayenne QA

Mail:

    Borland International, Inc.
    dBASE Quality Assurance Department
    P.O. Box 660001
    1800 Green Hills Road
    Scotts Valley, CA 95067
    Attention: Art Stalk


VIII. Reporting Bugs and giving us your feedback
------------------------------------------------

You may report bugs by contacting a support engineer or posting a
message in the support forum on CompuServe.  Bugs reported by facsimile
should be sent directly to the Quality Assurance department.  The
Quality Assurance Fax number is (408) 439-8028.

PLEASE follow these steps when reporting a bug:

1.  Narrow the bug down to the smallest section of code possible and
make note of the steps to reproduce the problem on the bug report forms
provided with your package.

2.  When reporting bugs electronically, please follow the guidelines in
the Borland Beta Test Guide that accompanied the cover letter for this
product.

3.  You may send us the bug information and any source code on disk(s);
please do not send us printouts of source code.  Indicate whether you'd
like your disk returned.

4.  If the bug is easily described over the phone, you may call to
report the bug.  However, we may also ask you to send a written copy of
the bug report.

Thanks you for your participation,

- The Cayenne team

---------------------- EOF README.TXT ----------------------------
090 DATAEASE F/W 4×TD
091 DBFAST 1.7C F/W 2×TD
092 INSTANT DATABASE 2.0 F/W 3×TD
原始 1.DDI 2.DDI 3.DDI
093 Q+E DATABASE/VB FOR WINDOWS 1×HD
RAW 1.raw
原始 1.DDI
094 Q & A 4.0 (DATABASE) 4×HD
095 FOXBASE PLUS 2.1 7×DD
096 FOXBASE PLUS 2.1 ( LAN ) 7×DD
097 汉化FoxBase V2.10 4×HD
098 UNFOX V2.1 1×HD
README [展开]

              UNFOX  (V2.00)

                    简    介
    UNFOX是FOXBASE+(V2.10及
以下版本)应用程序的反编译软件,它可以直接从
 .FOX, .FMX(包括加密的)文件生成扩展名
为 .PRG, .FMT的源程序。可用于: 重新生成
丢失的源代码; 维护无源代码程序; 从最终运行程序
生成统一格式的源代码, 利于存档。
    UNFOX是FOXBASE+用户的必备工具。

                    使用方法
    UNFOX  文件名 .FOX(或 .FMX) ...
    说明: 1.  必须给出扩展名 .FOX或 .FMX。
          2.  输出为同名文件, 扩展名为 .PRG
              或 .FMT。
          3.  支持通配符*,?。
希鼗� .FMX。
          2.  输出为同名文件, 扩展名为 .PRG
              或 .FMT。
          3.  支持通配符*,?。
099 UNFOX V2.5 1×TD 50元
最新FOXBAS 反编译工具
README [展开]

              UNFOX  (V2.5 0)

                    简    介
    UNFOX是FOXBASE+(V2.5 0及
以下版本)应用程序的反编译软件,它可以直接从
 .FOX, .FMX(包括加密的)文件生成扩展名
为 .PRG, .FMT的源程序。可用于: 重新生成
丢失的源代码; 维护无源代码程序; 从最终运行程序
生成统一格式的源代码, 利于存档。
    UNFOX是FOXBASE+用户的必备工具。

                    使用方法

     UNFOX   文件名.FOX (或.FMX) ...

    说明: 1.  必须给出扩展名 .FOX或 .FMX。
          2.  输出为同名文件, 扩展名为 .PRG
              或 .FMT。
          3.  支持通配符*,?。
100 FoxGraph V1.1 1×HD
README.DOC [展开]
******************************************************************************
********************************  FoxGraph ***********************************
******************************************************************************

   Before you begin, here are a few things worth knowing about the FoxGraph 
 3D Graphics program (more detailed explanations are available in the manual):

   NOTE:
   If you are  running on a COMPAQ portable with a plasma panel
 screen, you must first place the machine in color graphics mode
 before using FoxGraph.  To do this, type at the DOS prompt, 
 MODE SELECT CGA.



1)  There are a number of sample graphs included with the program. They
   can be loaded from the LOAD GRAPH section of the program. They are useful
   as examples for novice users and as templates for future work.  (In 
   addition, the interface programs use these sample graphs as templates for
   graph style which can be specified during graph Setup.)

 2)  If at any time you need help while running the program, pressing '?' will
   call up a general help screen. You may also use F8 (Vertical Function Keys) 
   or F9 (Horizontal Function Keys) to provide context sensitive help from 
   anywhere in the program.

 3)  While running the program, you may change the entire color scheme of any
   graph type by simply pressing the right or left arrow keys. You can also
   change a smaller subset of the graph colors by pressing the up and down
   arrow keys.

 4)  To move the Function Key icon around the screen, use the corner keys of
   the cursor pad. To remove the Function Key icon altogether, use the space
   bar.

 5)  To force the program to redraw any or all parts of a graph use the 
   following funcion keys:

       F6(Horizontal),F2(Vertical)  - Redraw the entire graph
       F7(Horizontal),F4(Vertical)  - Redraw just the cube and risers
       F8(Horizontal),F6(Vertical)  - Redraw just the text

 6)  For an example of the uses of the key-macro function, and for a 
   general overview of the program, type DEMO3D.

 7)  If you wish to graph data from your .dbf databases, see chapter 4 of
   your manual on the FoxGraph Interface.  Also, please note the following:

	Make sure you have modified your PATH appropriately if you have not
		installed FoxGraph in the same directory as your database
		system.

	An ASCII file is created from your data by the interface program based
		on the graph definition you create during Setup. This ASCII 
		file is then read by FoxGraph; however, FoxGraph cannot read 
		an ASCII file with more than 256 lines of information.  If 
		this condition occurs, you may choose to abort the Draw 
		procedure or continue creating a graph from a subset of your 
		data.

	When saving graph definitions that you create with the interface, the 
		current macro recording mode is also saved.

 8)  Additional hints on recording macros:

	Use Control-D to insert a half-second delay in the macro.  You can put
		as many Control-D's in a row as you need to produce the effect
		you want to achieve.

	Use Control-Q to stop writing to the macro file during a recording 
		session.  This enables you to create a macro that does a
		number of things automatically and then returns control to 
		the user.
RAW 1.raw
原始 1.IMG
101 FOX GRAPH 5×DD
README.DOC [展开]
******************************************************************************
********************************  FoxGraph ***********************************
******************************************************************************

   Before you begin, here are a few things worth knowing about the FoxGraph 
 3D Graphics program (more detailed explanations are available in the manual):

   NOTE:
   If you are  running on a COMPAQ portable with a plasma panel
 screen, you must first place the machine in color graphics mode
 before using FoxGraph.  To do this, type at the DOS prompt, 
 MODE SELECT CGA.



1)  There are a number of sample graphs included with the program. They
   can be loaded from the LOAD GRAPH section of the program. They are useful
   as examples for novice users and as templates for future work.  (In 
   addition, the interface programs use these sample graphs as templates for
   graph style which can be specified during graph Setup.)

 2)  If at any time you need help while running the program, pressing '?' will
   call up a general help screen. You may also use F8 (Vertical Function Keys) 
   or F9 (Horizontal Function Keys) to provide context sensitive help from 
   anywhere in the program.

 3)  While running the program, you may change the entire color scheme of any
   graph type by simply pressing the right or left arrow keys. You can also
   change a smaller subset of the graph colors by pressing the up and down
   arrow keys.

 4)  To move the Function Key icon around the screen, use the corner keys of
   the cursor pad. To remove the Function Key icon altogether, use the space
   bar.

 5)  To force the program to redraw any or all parts of a graph use the 
   following funcion keys:

       F6(Horizontal),F2(Vertical)  - Redraw the entire graph
       F7(Horizontal),F4(Vertical)  - Redraw just the cube and risers
       F8(Horizontal),F6(Vertical)  - Redraw just the text

 6)  For an example of the uses of the key-macro function, and for a 
   general overview of the program, type DEMO3D.

 7)  If you wish to graph data from your .dbf databases, see chapter 4 of
   your manual on the FoxGraph Interface.  Also, please note the following:

	Make sure you have modified your PATH appropriately if you have not
		installed FoxGraph in the same directory as your database
		system.

	An ASCII file is created from your data by the interface program based
		on the graph definition you create during Setup. This ASCII 
		file is then read by FoxGraph; however, FoxGraph cannot read 
		an ASCII file with more than 256 lines of information.  If 
		this condition occurs, you may choose to abort the Draw 
		procedure or continue creating a graph from a subset of your 
		data.

	When saving graph definitions that you create with the interface, the 
		current macro recording mode is also saved.

 8)  Additional hints on recording macros:

	Use Control-D to insert a half-second delay in the macro.  You can put
		as many Control-D's in a row as you need to produce the effect
		you want to achieve.

	Use Control-Q to stop writing to the macro file during a recording 
		session.  This enables you to create a macro that does a
		number of things automatically and then returns control to 
		the user.
102 汉化FoxGraph V1.0 2×HD
103 CodeBase V4.5 2×HD
RAW 1.raw 2.raw
原始 1.IMG 2.IMG
104 CodeBase V5.0 2×HD
RAW 1.raw 2.raw
原始 1.IMG 2.IMG
105 CodeBase Plus V5.1 3×TD 100元
用于数据库的C语言函数库,实现dBASEIII 的全部功能,支持MS-C,Turbo-C,Quick-C,Windows,及UNIX/XENIX多用户环境,采用B+树索引,具有窗口,菜单等函数,含全套原程序)
原始 1.IMG 2.IMG 3.IMG
ESC返回光盘列表 106 个软件 · CD 8