
                               Guide to BroPlus
                               ----------------
What is BroPlus:

        BroPlus is a database browse utility exploiting the advanced features
        of Clipper 5'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. Its many options can be explored
        from Pulldown menus. Hot-keys are available for quick access to most
        options. Built-in support for CA-Clipper 5.2 RDDs and 3rd-party RDDs
        including 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 module 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 stand-alone 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 its 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 ] /<rddname>  will overwrite the in the Global
        Settings file specified database driver and force usage of the
        specified <rddname> as 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, BROPLUS2.HLP & BROPLUS3.HLP into the
        same directory as the executable file BRO.EXE to access the Help
        information from any other directory.

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> AreaSet: Options to allow Customization of View

        <F6> GlobalSet: 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
        - Expression Evaluator, Hot-key: <Alt-F1>
        - Calculator,           Hot-key: <Ctrl-F1>
        - 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
        - Dynamic Index Options: Toggle Asc/Desc, Unique/Non-Unique, Custom
        - 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
        - Cut/Delete Column
        - Paste Column
        - Insert Column
        - Lock # of Fields (Freeze)
        - Column Options: Heading, Width, Picture, GET WHEN, GET VALID
        - Create/Modify Structure
        - Toggle FlexFile Pointer Field


<F5> AreaSet 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").

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

        FlexFile Link: Specify the name of a FlexFile to be linked to the
                       current database (FlexFile API interface).

        RYO Index Link: Specify "Roll Your Own" Index to be used for Adding/
                       Dropping of individual Keys (SIx & Comix 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 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,
                       RYO Index 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>

        Current View Info: Document your data environment with a single
                       keystroke! Output, to printer or to file, all table,
                       index, range, filter, scope, relation information,
                       for all work areas.


<F6> GlobalSet Options:

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

                                   BroPlus for Clipper 5.01a: Available RDDs
                                   are: DBFNTX, DBFNDX, SIXCDX.

                                   BroPlus for Clipper 5.2: Available RDDs
                                   are: DBFNTX, DBFNDX, DBFMDX, DBFCDX,
                                   COMIX 1 & 3, DBFNSX (HiPerSIx), SIx Driver
                                   (SIXCDX, SIXNSX, SIXNTX flavors).

        Default Extension:         Specify the Default Extensions to be used
                                   for Database & Index file names. In Data-
                                   base & Index Picklists and Dbf / Index
                                   Name entry fields, these extensions are
                                   assumed if no extension is explicitely
                                   specified.
                                   For SIx Driver and FlexFile memo files,
                                   extensions other than the default FPT, SMT
                                   and DBV extensions can also be 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

        Show/Hide Deleted Records: Toggle SET DELETED On/Off
                                   Hot Key: <Alt-D>

        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>

        Sound On/Off:              Turn sound signaling on or off.

        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. )

        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>

        Browse Column Buffer Size: Set the number of columns to be used for
                                   TBrowse objects. Default size is 12.
                                   For faster vertical browsing, enter a
                                   smaller number.

        Default Memo Width:        Initial Memo Width to be used when opening
                                   a database.

        Auto-Alias On/Off:         Specify whether to open a dbf using the
                                   default alias name, or to enter a custom
                                   alias before USEing the dbf.

        Epoch:                     Specify the base year of a 100-year period
                                   in which all dates containing only two
                                   year digits are assumed to fall.

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

        Printer Control Codes:     Enter Starting and Ending Printer Control
                                   Codes to be used for printing of database
                                   content and structures.
                                   Use dBase syntax, e.g.:  chr(27)+"(s16H"

        Dirty-Read On/Off:         This toggle allows speeding up processing
                                   of shared files on a network if the SIx
                                   driver is in control.

        Default Memo Block Size:   Memo Block size to be used when creating
                                   a new table under SIx Driver or Comix 3.

        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

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

        Copy Stru Exte         Create an Extended Structure database of the
                               currently selected database.

        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 its 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/Average            Calculate the Sum and Average 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:      Select "Create/Modify Structure" from the
                               Database or Fields pull-down menus to display
                               the Structure window, or access it from the
                               Database Selection Screen or Field Selection
                               Screen by pressing <Alt-M>. A Database
                               Structure Browse screen appears. Modify the
                               Structure as you wish, then

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

                <Alt-M>        Write 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

                               Scope in Child Browse Window: Toggle On/Off

                <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 the FlexFile library,
                 and supporting OBJ files included with BroPlus.

                 FlexFile API interface: The view can be customized to
                 specify a non-default Flexfile name to be linked to a
                 database (F5), and an entire Browse Column may be marked
                 as Flexfile pointer field. (see: <F4> Fields, FlexFile
                 Pointer Field).

                 FlexFile RDD interface: If this option is selected during
                 linking, BroPlus "senses" automatically if a database
                 contains FlexFile data stored in standard Memo fields,
                 and no further customization for access is needed.

                 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 Clipper 5's debugger, with the added option of
                 interactively expanding / shrinking an array.

Customization:

          Three different methods are provided to allow the User to build
          Expressions based on her/his own User Defined Functions:

          1) Object Modules containing the Code for those Functions can be
             linked into BroPlus.

          2) Additional libraries can be linked into BroPlus, and EXTERNAL
             references to functions from those libraries can be embedded
             into BroPlus.

          3) Functions can be added in source code form to a special PRG
             called STARTUP.PRG.

Runtime Module:

          By replacing the main module BRO.OBJ with BRORUN.OBJ 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 provide us
            with, the better we can understand what your needs are.

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 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
            Comix is a trademark of Loadstone, Inc.


For further Information contact:

            USA

            Smart Code Programming
            22323-6 Sherman Way, Suite 185
            West Hills, CA 91303
            Phone:    818-710-9323
            Fax:      818-710-9391
            BBS:      818-986-5781
            CompuServe: 73760,1102

            Europe

           Ŀ
            Adress:                    Tel.:+49-40-7661290 
            SOFTSOL GmbH               Fax :+49-40-7665664 
            Neue Str.35a               BBS :+49-40-7665527 
            21073 Hamburg              CIS : 100112,3401   
            Germany                    Fido: 2:240/5300    
           
