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= to your AUTOEXEC, BroPlus will look for a Global Settings file "BRO.INI" in the directory specified by , 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= / 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 [ ] puts you right into Browse mode for the specified database [with the specified index file open]. Both and can include a path. BRO /v will provide you with a picklist of previously saved view files in the Default View Directory. BRO /v will restore the under saved Browse screen(s) and put you right into Browse mode. BRO [ options ] / will overwrite the in the Global Settings file specified database driver and force usage of the specified 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 . 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 from the Main Menu options brings you back to Browse mode. Main Menu options: Help Options Database Options Index Options Fields Options AreaSet: Options to allow Customization of View GlobalSet: Options to configure BroPlus Record: Options pertaining to Database Records Command: Clipper/dBase Commands operating on Databases Exit Help Options: - Browse Window Help - Help on Help - Help Index: Picklist of Help topics - Command Line Parameters - Expression Evaluator, Hot-key: - Calculator, Hot-key: - Copyright 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 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 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 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: 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: 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: 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 Key for "Decremental" Seek, to clear the Incremental Seek String. Hot Key: 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, , "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: Previous Select Area: Rotate to the Browse Screen for the "Previous" Select Area. Hot Key: Note: While in Browse Mode, the Hot Keys to are also available to directly access the Database Browses for Areas 1 through 7, without having to skip (with ) 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: 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 or 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: Restore View: Restore a View from a previously saved View File Hot Key: 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. 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 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 Key for Editing, or type immediately into Database Fields Cell/Row/Column Edit: After Saving Edited Field Data with : 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: Softseek On/Off: Toggle Softseek Hot Key: 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: 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: Split Screen / Zoom: Toggle between Split screen and Full screen Browse windows. Hot Key: Move Screen Border: If Split screen is selected, move the border between Top- and Bottom window up or down. Hot Key: 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. 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: Goto: Go to a specified Record Number Hot Key: Locate: Locate a Record meeting a specified Condition Hot Key: Skip: Skip a specified Number of Records (forward or backward) Hot Key: Top of Window: Move the Browse Highlight Bar to the first Row of the Browse Window Hot Key: Bottom of Window: Move the Browse Highlight Bar to the last Row of the Browse Window Hot Key: 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: Note: Field Edit is also available by pressing 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: Note: Appending of Records is also available by going to the Bottom of the Browse (), pressing the Down Arrow Key, and Editing the current Field Delete/Recall Record: Mark / UnMark the currently highlighted Browse Record for Deletion Hot Key: Erase Memo: Erase Memo, or Flexfile data the Flexfile pointer field under the current Browse cursor is pointing to. Hot Key: Copy Field: Copy current Field or Expression under the Browse cursor to the Clipboard Hot Key: Paste Field: Paste last copied item from the Clipboard into the current Field under the Browse cursor Hot Key: Copy Record: Copy current Browse row in the Browse window to the Clipboard (stored as an array) Hot Key: Paste Record: Paste last copied item from the Clipboard into the current data row under the Browse cursor Hot Key: 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: 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: 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 ( , ..., , 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 . A Database Structure Browse screen appears. Modify the Structure as you wish, then Write out this Structure as a new Empty Structure to a Database with a Name of your choosing 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. Prints current Database Structure to the Printer or to a Text File Toggle Exclusive / Shared Mode Toggle between 25 Lines / 43 Lines / 50 Lines Screen Mode (same as in Standard Browse Mode) Set Relation: move the lightbar to the Parent, Child, or Expression Column 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 while in Edit Mode for a Picklist of Fields from the Parent Database Scope in Child Browse Window: Toggle On/Off Remove currently highlighted Relation Add another Relation Return to Menu / Browse Screen Key for Field Selection: On all Entry Fields requiring Entry of an Expression based on Fields from the currently selected Database, the Key pops up a Picklist of Field Names to build the Expression. ( Index Key Expression, Relational Expression, etc. ) Key for Directory Selection: On all Entry Fields requiring Entry of a Directory or Path, the 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: 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( ) where 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 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ