                               Guide to BroPLUS
                               ----------------

What is BroPLUS:

        BroPLUS is a Database Browse Utility exploiting the advanced Features
        of Clipper 5.0's TBrowse Object to easily set up Views into Clipper
        and DBase Databases. A total DBU Replacement, it allows for Multiple
        Select Areas and is Network ready. It's many Options can be explored
        from Pulldown Menus. Hot Keys are available for quick Access to most
        Options. Built-in FlexFile Data Access is provided.

Possible Uses for BroPLUS:

        - Developers, Consultants:

          Quick Access to Databases during Application Development and
          Testing. Verify/Modify/Print Content and Structure of
          Database/Index Files on the fly.

          Use as an analytical Tool while getting familiar with an already
          implemented Database Application System.

          Housekeeping Tasks not provided in a Custom Database Application,
          like Recreation of Index Files, verifying Database Content after
          a System Crash, verifying Index File Integrity, ad hoc Creation
          of Database Listings, etc.

          Setting up of highly customized Views into a Clients Databases
          in Minutes, without programming. Those Views can easily be made
          available to the End User from an Application Program's Menu.

          The Runtime Library included with BroPLUS allows for Creation of
          royalty free Runtime versions of BroPLUS to be installed at
          Client's sites. A Runtime version can be a Standalone program
          or can be linked into another Clipper application. View files
          created by the developer can be restored by a Runtime module
          and made available to the end user.

        - End Users:

          Because of it's Menu Driven Interface, BroPLUS is easily accessible
          to End Users. Adequate Protection is provided to guarantee
          Database System Integrity and prevent End Users from modifying
          Data without Authorization.
          A basic Knowledge of DBase is required to fully exploit the more
          advanced Options of BroPLUS, like Ability to specify valid
          Expression Syntax.


Environment:

        BroPLUS is simply an executable file, BRO.EXE. Load it onto your
        HardDisk, and put the directory where it is located in the PATH
        statement of your AUTOEXEC.BAT.

        BroPLUS checks for the presence of an Environment Variable "BRO"
        If you add the statement SET BRO=<path name> to your AUTOEXEC,
        BroPLUS will look for a Global Settings file "BRO.INI" in the
        directory specified by <path name>, and reinstate these Global
        Settings at Startup. To save your Global Settings to the file,
        press F6 from any Browse Screen and select "Save Global Settings".

        The Environment Variable can also contain a Key Word which, when
        present, will allow the User to have "Modify" enabled. If the Key
        Word is NOT present in the Env. Var., the Program will always start
        with "Modify disabled", and the Key Word must be entered from the
        Global Settings Menu Option "Modify enabled/disabled" each time the
        Program is run if "Modify" is to be enabled.
                This is a protective Measure to prevent unauthorized Access
        to the Data Modification Options of BroPLUS.

        The complete Environment Variable:

                SET BRO=<path name> /<keyword>

        <keyword> is confidential and will be given out to qualified users
        only.

Command Line:

        Running BRO without Command Line Parameters will get you right into
        the Database Selection Screen of Databases in the current Directory.

        BRO <database name> [ <indexfile name> ] puts you right into Browse
        Mode for the specified Database [with the specified Index File open].
        Both <database name> and <indexfile name> can include a Path.

        BRO /v   will provide you with a Picklist of previously saved
        View Files in the Default View Directory.

        BRO /v <viewfile name>  will restore the under <viewfile name> saved
        Browse Screen(s) and put you right into Browse Mode.

        BRO [ options ] /DBFNTX     will overwrite the in the Global
        Settings file specified Database Driver and force usage of the
        DBFNTX Database Driver.

        BRO [ options ] /DBFNDX     will overwrite the in the Global
        Settings file specified Database Driver and force usage of the
        DBFNDX Database Driver.

        BRO [ options ] /DBFSIX     will overwrite the in the Global
        Settings file specified Database Driver and force usage of the
        DBFSIX Database Driver.

        BRO [ options ] /m    will set up BroPLUS for monochrome monitors.

Online Help:

        BroPLUS provides Context Sensitive Help from everywhere by simply
        pressing <F1>. Help is also available by picking a topic from an
        index of Help topics.
        Load the files BROPLUS1.HLP and BROPLUS2.HLP into the directory
        specified by the BRO Environment Variable to access the Help
        information.
          
Display Mode:

        BroPLUS's standard Display Mode is Browse Mode. All Main Menu Options
        are accessible from Browse Mode through Function Keys F1 - F9.
        While on the Main Menu Bar, using the right/left Arrow Keys lets you
        move through all Main Menu Options. Pressing <Esc> from the Main Menu
        Options brings you back to Browse Mode.
        
Main Menu Options:

        <F1> Help Options

        <F2> Database Options

        <F3> Index Options

        <F4> Fields Options

        <F5> Area Settings: Options to allow Customization of View

        <F6> Global Settings: Options to configure BroPLUS

        <F7> Record: Options pertaining to Database Records

        <F8> Command: Clipper/DBase Commands operating on Databases

        <F9> Exit


<F1> Help Options:

        - Browse Window Help
        - Help on Help
        - Help Index: Picklist of Help topics
        - Command Line Parameters
        - Copyright


<F2> Database Options:

        - Database Selection Screen
        - Advance to Next / Previous Database
        - Close Database
        - Toggle Open Mode: Exclusive or shared
        - Alias Name
        - Create/Modify Structure
        - Database FileSpec for Selection Screen
        - Change Directory
        - Shell to DOS


<F3> Index Options:

        - Index File Selection Screen
        - Advance to Next / Previous Index
        - Tag Selection/Information
        - Index ScopeTop/Bottom
        - Toggle Open Mode: Exclusive or shared
        - Create Index File
        - Verify Index File Integrity
        - Toggle Index PreSelection
        - Index FileSpec for Selection Screen
        - Change Directory
        - Shell to DOS


<F4> Fields Options:

        - Field/Expression Selection Screen
        - Lock # of Fields (Freeze)
        - Column Options...
        - Create/Modify Structure
        - Toggle FlexFile Pointer Field


<F5> Area Settings Options:

        Filter/Range:  Enter a Conditional Expression
                       and/or a Low Range / High Range Pair of Values
                       to limit your Browse Screen to a Subset of Data.
                       Hot Key: <Alt-F>
                Note:  An Index must be in Control to allow Entry of a Range.
                       Condition and Range are regarded as ONE Setting.
                       Changing the Index Order will remove BOTH Condition
                       AND Range

        Relation:      Specify Relations between currently open Databases.
                       At least two Databases must be open to allow
                       Setting of a Relation
                       Hot Key: <Alt-R>

        Color Condition: Specify a Condition based on the Value of a Database
                       Field. All Browse Rows containing Values meeting the
                       Condition will be displayed in a different Color than
                       the Standard Browse Color.
                       Hot Key: <Alt-C>

        Incremental Seek: Toggle the ability to AutoSeek ( Seek while you
                       type ) while in Browse Mode with a Character Key
                       Index File open.
                       While in Incremental Seek Mode, Use the <BackSpace>
                       Key for "Decremental" Seek, <Ctrl-BackSpace> to
                       clear the Incremental Seek String.
                       Hot Key: <Alt-I>

        Memo Width:    For each Select Area, the Memo Display Width can be
                       specified, to be able to adjust the View to a preset
                       Memo Width, and to allow proper Printing of
                       Memo Fields and Flexfile Memos.
                       (see Commands, <F8>, "List to Print").

        FPT Memo Pack: If the DBFSIX driver is linked, this option allows
                       packing of the FPT file with a customizable Memo
                       Block size. 

        FlexFile Link: Specify the name of a FlexFile to Link the current
                       database to.

        RYO Index Link: Specify "Roll Your Own" Index to be used for Adding/
                       Dropping of individual Keys (DBFSIX driver only).

        Next Select Area: Rotate to the Browse Screen for the "Next" Select
                       Area.
                       Hot Key: <Alt-N>

        Previous Select Area: Rotate to the Browse Screen for the "Previous"
                       Select Area.
                       Hot Key: <Alt-Minus>

                       Note: While in Browse Mode, the Hot Keys <Alt-1> to
                       <Alt-7> are also available to directly access the
                       Database Browses for Selected Areas 1 through 7,
                       without having to skip (with <Alt-N>) through each
                       Browse "between" the current Browse Screen and the
                       Target Browse Screen.

        Next Index Order: Remain in the current Browse Screen, but make the
                       "Next" Index in the List of Selected Index Files
                       the Controlling Index.
                       The current Record will remain highlighted, but
                       the Browse Screen will refresh above and below the
                       Highlight, reflecting the new Index Order.
                       This allows also to set the Order to 0
                       (record number order) while keeping all Index Files
                       open.
                       Hot Key: <Alt-O>

                Note:  Any Filter/Range Settings will be removed when
                       switching the Controlling Index.

        Next / Previous Window: If the Split screen option is selected,
                       move between windows using the <Tab> or <Shift-Tab>
                       keys.

        Save Current View:         Save all currently defined Browse Screens
                                   including Filter/Range, Relations, Color
                                   Condition, Lock, Column Options, Memo
                                   Width, Flexfile Link, Index Order,
                                   Selected Database, to a View File named
                                   by you.
                                   Hot Key: <Alt-W>

        Restore View:              Restore a View from a previously saved
                                   View File
                                   Hot Key: <Alt-V>


<F6> Global Settings Options:

        Database Driver:           Select from among DBFNTX, DBFNDX, and
                                   DBFSIX Database Drivers. Any Database
                                   opened after the selection will be using
                                   the New Database Driver (and maintain it
                                   until closed).

        Default Database Extension: Specify the Default Extension to be used
                                   for Database File Names. In Database Pick-
                                   lists and Database Name Entry Fields,
                                   this Extension is assumed if no Extension
                                   is explicitely specified.

        Default Index Extension:   Specify the Default Extension to be used
                                   for Index File Names. In Index Picklists
                                   and Index Name Entry Fields, this
                                   Extension is assumed if no Extension is
                                   explicitely specified.

        Default Open Mode:         Toggle whether Databases should initially
                                   be opened in SHARED or EXCLUSIVE Mode.
                             Note: EXCLUSIVE Mode should ONLY be selected on
                                   Standalone Computers, NEVER on Network
                                   Workstations. To toggle to EXCLUSIVE Mode
                                   "Modify" must be enabled (see below).

        Enable/Disable Modify:     Toggle Ability to Modify Data.
                                   If Disabled: Only Browsing/Viewing of Data
                                   is accessible.
                                   If Enabled: All of BroPLUS's Features are
                                   accessible.
                                   If the <keyword> is NOT present in the
                                   Environment Variable BRO, it must be
                                   entered as Password if you try to toggle
                                   "enable" on. (Except for DEMO version)

        Protected/Immediate Edit:  Request <Enter> Key for Editing, or type
                                   immediately into Database Fields

        Cell/Row/Column Edit:      After Saving Edited Field Data with
                                   <Enter>: Stay on current Cell, proceed
                                   to next Field/same Record, or proceed
                                   to same Field/next Record

        Softseek On/Off:           Toggle Softseek
                                   Hot Key: <Alt-Q>

        Preselect Indexes:         ON:  Only Index Files with matching
                                        Index Key Expressions are presented
                                        for Selection
                                   OFF: All Index Files in the current
                                        Directory are presented for Selection
                                   Hot Key: <Alt-P>

        Dirty-Read On/Off:         This toggle allows speeding up processing
                                   when the SIx driver is in control.

        Default Memo Block Size:   Block size to be used when creating a new
                                   database under DBFSIX with .FPT Memos.

        Date Format:               Select your country-specific Date Format
                                   from among 14 choices (both with and w/o
                                   the century digits.

        Default View Directory:    Specify a Default Directory where all View
                                   Files will be saved to / restored from
                                   ( Allows for a "Personal" View File
                                     Directory on the local Hard Drive,
                                     an "official" View File Directory on the
                                     Network Drive etc. )

        Printer Control Codes:     Enter Starting and Ending Printer Control
                                   Codes to be used for Printing of Browse
                                   Screens and Database Structures.
                                   Use DBase syntax, e.g.:  chr(27)+"(s16H"

        Screen Mode:               Toggle between 25 Line / 43 Line / 50 Line
                                   Screen Mode.
                                   Hot Key: <F10>

        Split Screen / Zoom:       Toggle between Split screen and Full
                                   screen Browse windows.
                                   Hot Key: <Shift-F10>

        Move Screen Border:        If Split screen is selected, move the
                                   border between Top- and Bottom window
                                   up or down.
                                   Hot Key: <Ctrl-F10>

        Save Global Settings:      Save current Global Settings to a File
                                   "BRO.INI" in the Directory specified with
                                   the Environment Variable "BRO". At Startup
                                   all saved Global Settings are then
                                   automatically restored.


<F7> Record:

        Note: When a Range and/or Condition is specified, then SEEK, GOTO,
              LOCATE, and SKIP will operate only within the specified Range,
              and display a Message if the Target Record is not within the
              Range / does not meet the Condition.

        Seek:                   Seek a Value in an Indexed Database.
                                Only selectable when an Index is in Control
                                Hot Key: <Alt-S>

        Goto:                   Go to a specified Record Number
                                Hot Key: <Alt-G>

        Locate:                 Locate a Record meeting a specified Condition
                                Hot Key: <Alt-U>

        Skip:                   Skip a specified Number of Records
                                (forward or backward)
                                Hot Key: <Alt-J>

        Top of Window:          Move the Browse Highlight Bar to the first
                                Row of the Browse Window
                                Hot Key: <Alt-T>

        Bottom of Window:       Move the Browse Highlight Bar to the last
                                Row of the Browse Window
                                Hot Key: <Alt-B>

        Record View/Edit:       Provides Full Screen View, ONE record at a
                                time, of the Fields in the current database.
                                Options for All and for Selected Fields.
                                A Bottombar Menu offers options to Edit,
                                Delete/Recall the record, Append a record,
                                and move the record pointer from inside this
                                window.
                                Hot Key: <Alt-E>
                        Note:   Field Edit is also available by pressing
                                <Enter> on the current Browse Field,
                                or (if "Immediate Edit" is ON) by simply
                                typing into the Field

        Append Record:          Provides Full Screen Data Entry to Add a
                                New Record to the Database
                                Hot Key: <Ins>
                        Note:   Appending of Records is also available
                                by going to the Bottom of the Browse
                                (<Ctrl-PgDn>), pressing the Down Arrow Key,
                                and Editing the current Field

        Delete/Recall Record:   Mark / UnMark the currently highlighted
                                Browse Record for Deletion
                                Hot Key: <Del>

        Erase Memo:             Erase Memo, or Flexfile data the Flexfile
                                pointer field under the current Browse cursor
                                is pointing to.
                                Hot Key: <Alt-BackSpace>

        Copy Field:             Copy current Field or Expression under the
                                Browse cursor to the Clipboard
                                Hot Key: <Shift-F4>
                                

        Paste Field:            Paste last copied item from the Clipboard
                                into the current Field under the Browse
                                cursor
                                Hot Key: <Ctrl-F4>

        Copy Record:            Copy current Browse row in the Browse window
                                to the Clipboard (stored as an array)
                                Hot Key: <Shift-F7>

        Paste Record:           Paste last copied item from the Clipboard
                                into the current data row under the Browse
                                cursor
                                Hot Key: <Ctrl-F7>

        View Clipboard:         Display the Clipboard items, to view, edit,
                                add, delete items, or paste selected items
                                into the current Field or Data row under the
                                Browse window cursor.
                                Hot Key: <Alt-F7>


<F8> Command:

        These Options are mainly Database Commands that do Global Processing
        on the currently selected Database.

        Append From:           Append Data from another DBF/Text File to
                               the currently selected Database, for/while
                               a Condition/Range.
                               Testing is provided to ensure that the
                               Source File is NOT in Use

        Average                Calculate the Average for a specified numeric
                               Database Field / Expression, for/while a
                               Condition/Range

        Copy Structure         Copy the Structure of the currently selected
                               Database to another File

        Copy to                Copy Data from the currently selected
                               Database to another DBF/Text File,
                               for/while a Condition/Range.
                               Testing is provided to verify if a
                               Target File of the specified Name already
                               exists, and that it is NOT in Use.

        Count                  Count the Number of Records for/while
                               a Condition/Range

        Delete                 Delete all Records for/while a Condition/Range

        Label Form             Execute the Label Form Command, specify any
                               optional Clauses

        List to Print          List the currently selected Field Selection
                               or the Content of a specified Memo Field or
                               Flex Memo to the Printer or to a Text File,
                               for/while a Condition/Range.

        Pack                   Pack the currently selected Database,
                               recreate all it's currently open Index Files

        Recall                 Recall all Records for/while a Condition/Range

        Reindex                Recreate all currently open Index Files of
                               the currently selected Database

        Replace                Replace any Field of the currently selected
                               Database with an expression for/while a
                               Condition/Range

        Report Form            Execute the Report Form Command, specify any
                               optional Clauses

        Run                    Shell out to DOS
                               Hot Key: <Alt-Z>

        Sum                    Calculate the Sum for a specified numeric
                               Database Field / Expression, for/while a
                               Condition/Range

        Zap                    Zap the currently selected Database File,
                               Including all its currently open Index Files

        Swap to DOS            Execute DOS Programs with almost the same
                               Amount of Memory available as for BroPLUS
                               itself

HotKeys:

        Next to the Menu Options on the Pulldown Menus, Hot Keys are
        displayed ( <Alt-A>, ..., <Alt-Z>, and others ).
        These Hot Keys can be used to instantly access the Options from
        the Browse Screen without going through the Pulldown Menu System.

        Some of the Menu Options are specified solely to educate the User
        towards using the corresponding Hot Keys.


Special Screens:

        Modify Structure:      From the Database Selection Screen or
                               Field Selection Screen on a selected
                               Database, press <Alt-M>.
                               A Database Structure Browse Screen appears.
                               Modify the Structure as you wish, then

                <Alt-E>        Writes out this Structure as a new
                               Empty Structure to a Database with a Name
                               of your choosing

                <Alt-M>        Writes the Database Content to the modified
                               Structure Database (original File or New File)
                               BroPLUS detects if only Field Names were
                               changed, and allows you to change only the
                               Names while preserving all your Data.

                <Alt-P>        Prints current Database Structure to the
                               Printer or to a Text File

                <Alt-X>        Toggle Exclusive / Shared Mode

                <F10>          Toggle between 25 Lines / 43 Lines / 50 Lines
                               Screen Mode (same as in Standard Browse Mode)


        Set Relation:

                <left,right>   move the lightbar to the Parent, Child, or
                               Expression Column

                <Enter>        Parent Column: Display a Picklist of Databases
                               to select the Parent Database from

                               Child Column: Display a Picklist of Databases
                               to select the Child Database from

                               Expression Column: Go into Edit Mode to enter
                               the relational expression. Press <F4> while
                               in Edit Mode for a Picklist of Fields from
                               the Parent Database

                <Del>          Remove currently highlighted Relation

                <Down>         Add another Relation

                <Esc>          Return to Menu / Browse Screen


<F4> Key for Field Selection:  On all Entry Fields requiring Entry of
                               an Expression based on Fields from the
                               currently selected Database, the <F4> Key
                               pops up a Picklist of Field Names to build
                               the Expression. ( Index Key Expression,
                               Relational Expression, etc. )

<Alt-Y> Key for Directory Selection: On all Entry Fields requiring Entry of
                               a Directory or Path, the <Alt-Y> Key allows
                               to pop up a Picklist of all Directories for
                               a specified Drive.

FlexFile Access:    FlexFile Data Access is fully integrated into BroPLUS as
                    long as the .EXE file is linked with FLEXFILE.LIB and
                    BROFLEX.OBJ. The view can be customized to specify a
                    non-default Flexfile name to be linked to a database,
                    and an entire Browse Column may be marked as Flexfile
                    pointer field. (see: <F4> Fields, FlexFile Pointer Field)
                    FlexFile data can be created, retrieved, viewed, edited,
                    saved, and erased while in the BroPLUS interface. Support
                    is provided for data types Character, Clipper muldim
                    arrays, Date, Logical and Numeric. The interface for
                    viewing/editing of Clipper arrays was closely modeled
                    after the Clipper 5.01 debugger, with the added option of
                    interactively expanding / shrinking an array.

Customization:

          To allow the User to build Expressions based on her/his own
          User Defined Functions, Object Modules containing the Code for
          those Functions can be linked into BroPLUS.

          STARTUP.OBJ: This .OBJ contains a dummy function "StartUp()"
          which is called at the startup of BroPLUS and just contains
          "return NIL". You may replace it with your own function of the
          same name, containing for example EXTERNAL declarations (to pull
          in functions from your own Libraries).

Runtime Module:

          By replacing the BROPLUS.LIB library with BRORUNTM.LIB in the
          Link scripts provided with this package, a Runtime version of
          BroPLUS can be generated. 
          The Runtime version of BroPLUS differs from the full version of
          BroPLUS. With Runtime, the following features are not accessible:

            - Database Selection Screen
            - Index Selection Screen
            - Fields Selection Screen
            - Relations Window
            - Save Current View

          To access a Browse Screen with Runtime, BroPLUS must be passed
          either a database name (with optional index name) or a view
          file name (preceded by "/V") as parameter.

             Runtime versions of BroPLUS can be distributed royalty free.
          A Runtime version can be a Standalone program or can be linked
          into another Clipper application.

          If BroPLUS is invoked as a module from within another program,
          the syntax is:
                        BRO( <options> )
          where <options> are the same options as specified for Command
          Line Parameters.
          

License Agreement,
Money Back Guarantee,
Warrantee:                      Read the file "License.txt"


Final Note: Suggestions regarding Enhancements, Modifications, and
            Performance are encouraged! BroPLUS is designed as a tool to
            help you in your daily work. The more feedback you give, the
            better we can understand what your needs are, so we can try to
            accommodate your wishes.


Credits:    Thanks go to:
            Terry McConnell for his routines to Save/Restore Ragged Arrays
            to/from Disk.
            John Opincar for his routines to verify if a given Index File
            is up to date.
            Rick Spence for many valuable ideas from his "Clipper Program-
            ming Guide", especially his C-function to Change Field Names
            of a Database Structure by simply updating the Database Header.
            Pedro Polakoff III for converting Spence's function to require
            Clipper libraries only.
            Ted Means for his assembly functions to change the drive and
            directory.
            Brent Farmer for his assembly functions to retrieve an array
            of directories from a specified drive.
            Ira Emus for covering me on the WarpLink front.
            Brad Cleaver for many valuable ideas and suggestions.
            And everybody else from whom I grasped ideas while lurking on
            Nanforum.

Trademarks: Clipper is a trademark of Computer Associates, International
            FlexFile is a trademark of Ganahl Software
            Overlay() is a trademark of SDI
            SIx driver is a trademark of Successware 90


For further Information contact:

            Peter Volz
            Smart Code Programming
            22323-6 Sherman Way, Suite 185
            West Hills, CA 91303
            Phone: (818) 710-9323
            BBS:   (818) 986-5781
            CompuServe ID: 73760,1102
