
*******************************
*                             *
*       Text aus der Serie    *
*    (c) GERMAN  (Copyright)  *
*        RHEIN-MAIN-SOFT      *
*          Oberursel          *
*                             *
*******************************


                               bBase II
                               ========

Why bBase II?  Just my initials.  No delusions of grandeur in my family.

bBase is a full-featured, intuitionized, fast and, I think you will agree,
a quite easy to use database program.  What it does is store, sort, sift,
and search for information, (but it won't dial your telephone).

Once a database has been loaded from disk, all modifications are done in 
RAM:, and will NOT be permanently saved until the database is Saved to disk.
This can be done using the Menu, the Function Keys, or upon Quiting.

All functions of bBase may be accessed from either Function Keys or Menus.
It multi-tasks extremely well, as it does not burn up CPU time while not 
performing operations.

Care should be taken not to access Menu items while the requester is open,
as inappropriate items may not always be ghosted.  This program is written
in BASIC, compiled with the HiSoft BASIC Professional compiler - 
an excellent compiler with some limitations.
The MENU OFF statement is one of those limitations.

bBase uses two requesters, the ARP requester for filenames, and my
own for general input.  This requester has full editing capabilities.
It may be blanked at any time by pressing <Alt-X>.  Also, any time the
requester is open, pressing <Escape> will close it.


                                MENUS
                                -----

bBase is best described by the operation of the Menus.


Project Menu
------------

Create a New Database  (F1)

  This will bring up the ARP file requester, asking for a name for your new
  database.  Any legal path name of 20 characters or less will do.
  The requester will then ask how many fields the new database will require.
  bBase will accept up to 9 fields, each field Title being a maximum of 
  19 characters long.  If an existing database has been altered, you will 
  be asked if you want to Save it before creating a new one.
  bBase will then build the Template (or list of titles) for the database.
  A "(1)" will appear, along with the requester.  Enter the title of your
  first field, ie. Last Name, First Name, Company, Address, or anything else.
  When it is correct, hit <Return>, and a "(2)" will appear with the 
  requester.  Enter the title of the second field.  Enter all field titles.
  The screen will now show all field titles, an Instruction Box, the 
  File Name as first entered, a blank data area, and the Record Number.  
  At this time, the Record Number will be "1".

  The Instruction Box will instruct you to press "<Return> to Enter Data".
  Do so, and the requester will appear in the first field.  Enter the data. 
  A data entry may be a maximum of 46 characters long.  When it is correct, 
  hit <Return> again, and the requester will move to the second field.  
  When all fields are complete, the Record Number will indicate "2", and the
  data field will blank, in prepatation for the entry of the second record.
  Hitting <Return> again will start the process of entering data into the 
  second record.  Complete all records in this manner.  
  There is no limit to the number of records.  (See the 'Change' Menu).


                                  -2-

  At any time (unless a requester is open), pressing the Cursor Up key will 
  take you directly to the First Record.  The Cursor Down key will display 
  the Last Record (with any information in it), the Cursor Left key the 
  Previous numerical Record, and Cursor Right will show the Next Record.  
  You can also move through the records using the mouse (See Screen Gadgets).

  The VERY last record is always blank, which is where additional records 
  may be entered.  This blank record is accessed by pressing Cursor Right
  while the Last Record is displayed.


Open an Existing Database  (F2)

  If you have previously created a database, and the "Database_name.bbase" 
  file is stored on a disk, then use this item to access that database.  
  If an existing database has been altered, you will be asked if you want to 
  Save it before loading another.  Enter the path to the database file
  in the requester, and that database will be retrieved and shown on screen.
  Only files having the extension ".bbase" will be accepted.
  Use the Cursor keys or mouse to move about the database.

  While a record is displayed, the Information Box will instruct you to
  press "<Return> to Change Data".  Do so, and the requester will appear 
  in the first field, with that field's data.  <Return> down to the field 
  you want to change, make the changes, and <Return> through all fields.
  The altered record will be displayed.


Save the Current Database  (F3)

  Saves the database to disk under the name shown, without confirmation. 
  The bBase file will have the extension ".bbase" automatically appended.


Save As

  You will be prompted for a name to Save the database.
  The ".bbase" extension will be automatically appended.


About

  The usual stuff.


Quit  (Escape)

  If the database has been altered, you will be asked if you want to Save it
  before Quiting.

  













                                  -3-

Sort Menu
---------

  You may sort the records in the database based on the data in any field.
  The Sort routine seems to be fairly efficient for a BASIC program.
  It will sort 100 records in less than 15 seconds on a standard A2000.


Incremental Sort  (F4)

  The requester will ask which field you want to sort on.  The records will
  be incrementally sorted on that field, and Record Number 1 of the new list
  will be shown.


Decremental Sort  (F5)

  Same as above, but records are sorted and displayed from Z-A, or 9-0.



Search Menu
-----------

Select Search Criteria  (F6)

  The requester will appear in the first field of a blank record.  
  <Return> down to the field that contains the data you want to search for.  
  Enter the search string in that field.  A search string may be entered in
  more than one field.  <Return> through all the fields.  All records that
  match ALL the search criteria will be displayed, one by one. When a record
  is found, you may Print it, cancel the Search, or continue searching.



Change Menu
-----------

Template Titles

  Use this item to change the Template, ie. the Titles of your fields.
  The NUMBER of fields may not be changed.  The data itself is unaffected
  by this procedure.


Maximum No. of Records

  If your database becomes full, you will either have to Delete some records,
  or increase the maximum number of records the database will hold.
  The maximum number is 99 records, until you change it.
  Just select this item, and follow the prompts.

  Note: IF you are making the database SMALLER, you WILL LOSE the data 
        stored in those records with a number higher than your new database
        size (naturally).  The other records will be preserved.

  Note: The database size may be changed only ONCE per invokation of bBase.
        Attempting another resize crashes the program.  For this reason, the
        Change "Maximum No. of Records" feature is disabled after the 
        database size has been changed.  To change the size again, simply
        Quit the program, and re-load it.  I don't think this will be a 
        problem, as most people will probably never have occasion to change
        it even once.

                                  -4-

Print Menu
----------

Displayed Record  (F8)

  This item will send the displayed record to the PRT: device.


The Whole Database  (F9)

  This item will send the entire database to the PRT: device.



Delete Menu
-----------

Displayed Record  (F10)

  After confirmation, the record currently displayed is Deleted.



                            SCREEN GADGETS
                            --------------

The Information Box at the bottom of the screen contains a           / \
gadget that looks something like that shown a the right.             | |
This gadget represents the Cursor Keys, and you can move          <== G ==> 
about the database using these gadgets and the mouse                 | |
instead of the Cursor Keys if you so desire.  Clicking on            \ /
the Up Arrow will take you directly to the First Record.
Clicking on the Down Arrow will take you to the Last Record, (except for the
blank one used to enter a new record).  The Left Arrow will show the Previous
numerical Record to the one currently displayed, and the Right Arrow
will show the Next Record.  If the Last Record is currently displayed, this
will take you to the blank record, where a new record may be entered.
Clicking on the "G" in the center of the arrows will bring up the requester,
asking for the number of a record to "Goto".  After entering a legal number,
the requested record will be displayed.



                            EXAMPLE DATABASE
                            ----------------

There is an example database included in this package.  Everyone uses the
Name and Address example, so I opted for something different.  The file
"Recipes.bbase" is a sample database showing one way of keeping track of 
recipes, without having to re-type them all.  It merely shows where they can
be found when needed.  With this database you can Sort the recipes by Name,
Catagory, or anything else.  You can Search for all recipes containing a 
listed ingredient, recipes you have already served to given people, or just 
the name of the recipe if you have forgotten which of your 647 recipe books 
it is in.  I have found this to be very useful.









                                  -5-

                             REQUIREMENTS
                             ------------

The "arp.library" will have to be in your libs: directory, because of the
ARP file requester - but everyone should have that there by now, right?


Comments and bug reports are welcome.
Name and address in "About".

Hope someone finds this useful.

Bob
