home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / biz / bbaseiii-2.1.lha / bBaseIII-2.1 / bBase.doc < prev    next >
Text File  |  1994-05-02  |  71KB  |  1,598 lines

  1. DOCUMENT   bBaseIII V2.1 © 1993, 1994 by Robert Bromley
  2.  
  3.  
  4.  
  5.  
  6.                                  bBaseIII
  7.  
  8.                                 Version 2.1
  9.  
  10.                                     by
  11.  
  12.                               Robert  Bromley
  13.  
  14.  
  15.  
  16.                                 May 1, 1994
  17.  
  18.  
  19.  
  20.  
  21.  
  22. 0.0.                         TABLE OF CONTENTS
  23.  
  24.  
  25.                     1  INTRODUCTION
  26.                        1.1   What is bBaseIII?
  27.                        1.2   Feature Summary
  28.                        1.3   Hardware Requirements
  29.                        1.4   Software Requirements
  30.                        1.5   Restrictions
  31.                        1.6   To Order the Registered Version
  32.                        1.7   Starting bBaseIII
  33.                        1.8   The bBaseIII Screen
  34.                        1.9   Copyrights
  35.  
  36.                     2  THE REQUESTERS
  37.                        2.1   The ARP File Requester
  38.                        2.2   The Input Requester
  39.                        2.3   The Choice Requester
  40.   
  41.                     3  THE CURSOR KEYS
  42.                        3.1   If the Input Requester is NOT Open
  43.                        3.2   If the Input Requester IS Open
  44.  
  45.                     4  THE SCREEN GADGETS
  46.  
  47.                     5  THE PROGRESS BAR
  48.  
  49.                     6  THE NOTES OPTION
  50.  
  51.                     7  DESCRIPTION OF MENU ITEMS
  52.                        7.1   Project Menu
  53.                           7.1.1   Create a New Database  <F1>
  54.                           7.1.2   Open an Existing Database  <F2>
  55.                           7.1.3   Show All Records  <A>
  56.                           7.1.4   Show Tagged Records
  57.                           7.1.5   Save Database  <F3>
  58.                           7.1.6   Save As
  59.                           7.1.7   Save Tagged Records
  60.                           7.1.8   Merge a Database
  61.                           7.1.9   Show Available Memory
  62.                           7.1.10  Encrypt/Decrypt a File
  63.                           7.1.11  Help  <Help>
  64.                           7.1.12  About
  65.                           7.1.13  Quit  <Esc>
  66.                        7.2   Sort Menu
  67.                           7.2.1   Incremental Sort  <F4>
  68.                           7.2.2   Decremental Sort  <F5>
  69.                        7.3   Search Menu
  70.                           7.3.1   Search Fields  <F6>
  71.                           7.3.2   Search Notes
  72.                           7.3.3   Tag All
  73.                           7.3.4   UnTag All  <U>
  74.                           7.3.5   Tag Invert
  75.                           7.3.6   Next Tagged Record  <X>
  76.                           7.3.7   Goto a Record  <G>
  77.                        7.4   Change Menu
  78.                           7.4.1   Field Titles
  79.                           7.4.2   Swap Position of 2 Fields
  80.                           7.4.3   No. of Lines in Notes Area
  81.                           7.4.4   Fast Forward/Reverse
  82.                           7.4.5   Screen Colors
  83.                        7.5   Print Menu
  84.                           7.5.1   Displayed Record (to Printer)  <F8>
  85.                           7.5.2   Displayed Record (to a File)
  86.                           7.5.3   Select Print Options  <F9>
  87.                           7.5.4   Form-feeds
  88.                           7.5.5   Create WordPerfect Mail-Merge Data File
  89.                           7.5.6   Create Final Copy Mail-Merge Data File
  90.                           7.5.7   Create Final Writer Mail-Merge Data File
  91.                           7.5.8   Create ProWrite Mail-Merge Data File
  92.                        7.6   Add Menu
  93.                           7.6.1   A Field
  94.                           7.6.2   A Record  <F10>
  95.                           7.6.3   Add Record At
  96.                           7.6.4   Displayed Record  <C>
  97.                           7.6.5   RAM:bBase_clip
  98.                        7.7   Delete Menu
  99.                           7.7.1   A Field
  100.                           7.7.2   Displayed Record  <Del>
  101.                           7.7.3   All Tagged Records  <D>
  102.                           7.7.4   UNdelete a Record
  103.                        7.8   Notes Menu
  104.                           7.8.1   Enable
  105.                           7.8.2   Disable
  106.                           7.8.3   View/Edit  <N>
  107.  
  108.                     8  OTHER FEATURES
  109.                        8.1   The "Disable Save" Option
  110.                        8.2   The Low Memory Warning
  111.                        8.3   The Print Options Window
  112.                           8.3.1   Hardcopy Reports
  113.                           8.3.2   Mailing Labels
  114.  
  115.                     9  SUMMARY OF KEYBOARD COMMANDS
  116.                        9.1   With the Main Window Open
  117.                        9.2   With the Input Requester Open
  118.                        9.3   With the Notes Window Open
  119.                        9.4   With the Print Options Window Open
  120.  
  121.                    10  EXAMPLE DATABASES
  122.  
  123.                    11  MAKING AUTO-LOADING ICONS
  124.  
  125.                    12  THE COMPETITION
  126.  
  127.                    13  A NOTE ON ERROR MESSAGES
  128.  
  129.                    14  IF YOU HAVE A PROBLEM!
  130.  
  131.  
  132.  
  133. 1.  INTRODUCTION
  134.  
  135. 1.1. What is bBaseIII?
  136.  
  137.   bBaseIII is a full-featured, graphically interfaced, reasonably fast
  138.   and, I think you will agree, quite an easy-to-use database program.
  139.   Basically, it will sort, search for, display and print out stored
  140.   information, but wait, there's more!
  141.   Refer to Section 1.2 - `Feature Summary'.
  142.  
  143.   Once a database has been loaded from disk, all modifications are done in
  144.   computer memory, and will NOT be permanently saved until the database is
  145.   saved to disk.  This can be done using the menus, the function keys,
  146.   or upon quiting.
  147.  
  148.   Almost all functions of bBase may be accessed from the menus, and most
  149.   also have keyboard equivalents.  These are all described in Section 9 -
  150.   ` SUMMARY OF KEYBOARD COMMANDS'.
  151.  
  152.   It multi-tasks extremely well, as it does not burn up CPU time while not
  153.   actually performing operations.
  154.  
  155.   bBaseIII was written in HiSoft BASIC Version 1.05, and compiled using
  156.   the HiSoft BASIC Professional © compiler.
  157.  
  158.  
  159. 1.2. Feature Summary
  160.  
  161.   Some of the features of bBaseIII are:
  162.  
  163.   *  Very straightforward and EASY to use.
  164.   *  Complete Graphical User Interface.
  165.   *  Incremental or decremental sort, on any field.
  166.   *  Uses a fast shell-sort algorithm.
  167.   *  Comes with it's own color palette requester.
  168.   *  Add or delete a field at any time.
  169.   *  Restore deleted records.
  170.   *  Copy a record to a "clip", ie. an ASCII text file, that may be
  171.      imported into another program.
  172.   *  Save records in a format which can be (mail) merged into form
  173.      letters created by popular word processors.
  174.   *  Merge bBaseIII databases.
  175.   *  Optionally display entire database, or a filtered list, a screenful
  176.      at a time.
  177.   *  Print out a record, a filtered list, or the whole database,
  178.      in many different formats.
  179.   *  Print mailing labels.
  180.   *  Reference to the documentation can be made from within the program,
  181.      in AmigaGuide hypertext mode if you use AmigaGuide, or in ASCII style
  182.      if you do not use AmigaGuide.  The appropriate file will be loaded
  183.      automatically.
  184.   *  Databases may be scrambled for security, and then restored.
  185.   *  A "Note" may be optionally attached to each record, independent
  186.      of the sorting fields, which will store over 1K of data.
  187.   *  Search in any/all field(s), or the "Notes" Area (if active).
  188.   *  Range Search, (less than or greater than) in any (or all) field(s).
  189.   *  Any record may be quickly accessed with just a few mouse-clicks.
  190.   *  Optionally disable the "Save to Disk" option to prevent accidental
  191.      alteration of the database.
  192.   *  Well behaved in a multi-tasking environment.
  193.   *  See the Revision History file for a more complete list.
  194.  
  195.  
  196. 1.3. Hardware Requirements
  197.  
  198.   Database programs can tend to gobble up large amounts of memory.
  199.   bBaseIII is no exception.  Since bBaseIII opens on it's own screen,
  200.   and reserves memory to hold the entire database, it requires about
  201.   850K of available memory to run.  bBaseIII_600 and the Demo version
  202.   require about 550K.
  203.  
  204.   Therefore, bBaseIII will not run on a basic 512 Kb machine.
  205.  
  206.   I have personally tested bBase on unaccelerated A500 and A2000
  207.   computers using WB1.2, WB1.3 and WB2.04, and an '030 A3000 running
  208.   WB2.05 (does it ever fly on that machine!).  Other users have told me
  209.   that it also works "great" with a 40 mhz 68030 processor, some 32-bit
  210.   SRAM, and an A4000 with WB3.0, so I think it will work on any Amiga.
  211.  
  212.  
  213. 1.4. Software Requirements
  214.  
  215.   The arp.library MUST be present in your LIBS: directory for bBaseIII
  216.   to run.
  217.  
  218.   Those users who want to change the screen colors from the default
  219.   settings will also need to have the color.library in LIBS:.
  220.  
  221.   These libraries are included with this package.  Clicking on the
  222.   Install_Lib icon will execute a script that will check which versions of
  223.   these libraries you already have, if any, and ask if you want the
  224.   included ones installed.
  225.  
  226.   Some other standard AmigaDOS libraries are also utilized.
  227.  
  228. 1.5. Restrictions
  229.  
  230.   bBaseIII:  A database of approximately 500K without Notes option,
  231.   (270K with Notes), or 1250 records, whichever comes first.
  232.  
  233.   bBaseIII_600:  A database of approximately 250K without Notes option,
  234.   (140K with Notes), or 600 records, whichever comes first.
  235.  
  236.   Both:
  237.   Maximum Number of Fields:  9 (plus the Notes area)
  238.   Maximum Number of Lines in the Notes area:  16
  239.   Maximum Length of Field Titles:  19 characters
  240.   Maximum Length of Database Name:  20 characters
  241.   Maximum Field Length:  46 characters (72 characters in the Notes area)
  242.   Maximum Record Size:  414 characters (1566 characters with Notes enabled)
  243.  
  244. 1.6. To Order the Registered Version
  245.  
  246.   bBaseIII is a shareware program.  Having tried the Demo version, if you
  247.   would like to obtain a copy of the Registered version, with the full
  248.   1250 record capability, just send your shareware registration fee to the
  249.   address shown in Section 14 - ` IF YOU HAVE A PROBLEM!'.
  250.  
  251.   The requested registration fee is a minimum of $15 U.S.,
  252.   or the equivalent in your currency, except:
  253.  
  254.     1.  Previously registered users of bBaseIII can obtain this upgraded
  255.         version for $7 U.S.
  256.  
  257.     2.  For shipment to addresses in Canada, Can. dollars  will suffice.
  258.  
  259.  
  260. 1.7. Starting bBaseIII
  261.  
  262.   From the CLI; usage is:     Run bBaseIII [-i -s -fFilename] 
  263.  
  264.   Including the -i switch will put bBase on an interlaced screen, but it
  265.   will be stuck up in the top half of the screen.  Strictly for diehard
  266.   interlacers - I don't expect it will be used much!
  267.  
  268.   Including the -s switch will start bBase with Saves disabled.
  269.  
  270.   Including the -f switch will automatically load the requested database
  271.   file.  If using this switch, it must be the last switch on the command
  272.   line.  Do not leave a space between "-f" and the filename, and do not
  273.   include the ".bbase" extension.       EG.:
  274.  
  275.                   Run bBaseIII -s -fDF0:Files/Recipes
  276.  
  277.   will automatically load the file "DF0:Files/Recipes", and the Save
  278.   function will be disabled.
  279.  
  280.   From the Workbench; just click on the bBaseIII icon.
  281.  
  282.   If you click on one of the example "Recipes" or "Addresses" icons, bBase
  283.   will run, and then automatically load the appropriate database.  There
  284.   was some work required to make this happen, however.  Refer to Section 11
  285.   - ` MAKING AUTO-LOADING ICONS', for instructions on how to create icons
  286.   which will auto-load a database, and enable the three switches described
  287.   above to be used from the Workbench.
  288.  
  289.   When bBase is initially run, all of the menu items, except five items
  290.   in the Project menu, will be ghosted until a database file is loaded.
  291.   The exception, of course, is if the "-f" switch is used, in which case
  292.   a file will already be loaded.
  293.  
  294.  
  295. 1.8. The bBaseIII Screen
  296.  
  297.   The bBaseIII screen is a full (NTSC) size, high resolution, borderless,
  298.   non-interlaced (by default) screen using 8 colors.  It will autoload
  299.   the Topaz 8 font if it is not already being used, to prevent data from
  300.   over-writing the screen borders.
  301.  
  302.   If you don't like the default screen colors, they can be changed using
  303.   the palette requester.  (Refer to Section 7.4.5 - `Screen Colors').
  304.  
  305.   To date, my compiler does not allow gadgets to be put on the screen
  306.   itself, so bBase does not have a back or front gadget.  This means that
  307.   some WB1.x users may be unable to access any other screens, with the
  308.   exception of using <Left Amiga - N> to return to the Workbench screen.
  309.  
  310.   A "screen shuffler" program, of course, will solve this problem.
  311.   To anyone who still does not have one of these programs, I highly
  312.   recommend that you get one - they generally make life easier. There are
  313.   a variety of shufflers available in Fred Fish's collection:  AutoCLI,
  314.   Mach (II, III, IV) and MouseAide to name just three, or if space is at a
  315.   premium, try QMouse.  There are two flavors of QMouse, one for WB1 and
  316.   another for WB2.  Both of these tiny little wonders do a lot in under 4K.
  317.   As an aid to those who may have this problem, QMice will be included on
  318.   the Registered disk.  QMouse V1.6 is a shareware program by Lyman Epp.
  319.   QMouse V2.02, by Dan Babcock, is PD.
  320.  
  321.   On computers running AmigaDos Release 2, the default <Left Amiga - M>
  322.   combination of the IControl commodity seems to do the job well.
  323.  
  324.  
  325. 1.9. Copyrights
  326.  
  327.   bBaseIII is © 1993, 1994 by Robert Bromley. All rights reserved.
  328.  
  329.   This program, and its documentation, is provided "as is", without
  330.   warranty of any kind, expressed or implied, including, but not limited
  331.   to the implied warranties of merchantability and fitness for a particular
  332.   purpose.  Use this program at your own risk and discretion.
  333.  
  334.   bBaseIII is shareware, and not Public Domain.  The Demo version ONLY
  335.   may be distributed, providing:
  336.   1.  This file is included, unaltered, with ALL distribution copies.
  337.   2.  If bBaseIII is included with other programs in a compilation disk or
  338.       set of disks, then one copy of each of these disk(s) is sent to me at
  339.       the address shown in the shareware message which appears immediately
  340.       after the program starts.  This message identifies the version as
  341.       being a Demo version.
  342.  
  343.   The Demo version is identical to the Registered version in all respects,
  344.   except that it will not load databases of larger than about 125K, or
  345.   save databases of larger than 30 records.  This is enough to give you the
  346.   "flavor" of the program.
  347.  
  348.   ARP is © 1987, 88, 89 by ARP Authors.
  349.  
  350.   HiSoft BASIC Professional is © 1988 by HiSoft and MichTron, Inc.
  351.  
  352.   ColorTool library is © 1989 by dissidents software.
  353.  
  354.   MuchMore is © 1991 by Fridtjof Seibert.
  355.  
  356.   AmigaGuide is © 1991-3 by Commodore-Amiga, Inc.
  357.  
  358.   All trademarks are the property of their respective holders.
  359.  
  360.  
  361.  
  362. 2.  THE REQUESTERS
  363.  
  364. 2.1. The ARP File Requester
  365.  
  366.   The requester used when asking for a file to load or save is the
  367.   standard ARP file requester.
  368.  
  369.  
  370. 2.2. The Input Requester
  371.  
  372.   This requester is used for general data input.  It has full editing
  373.   capabilities.  Pressing <Ctrl - Q> will move the cursor to the Start of
  374.   the text, <Ctrl - W> will jump the cursor to the beginning of the next
  375.   Word, and <Ctrl - E> will move the cursor to the End of the text.
  376.   It may be blanked at any time by pressing <Ctrl - X>.
  377.  
  378.   Any time this requester is open, pressing <Esc> will close it.  In this
  379.   case, the data line will revert to what it was before the requester was
  380.   opened, ie. the changes will be lost.  To accept the changes, use either
  381.   <F10>, or the <Return> key.
  382.  
  383.  
  384. 2.3. The Choice Requester
  385.  
  386.   This is the "Are you sure?" type requester.  It appears at the upper-left
  387.   corner to provide information, or advise you of some impending action.
  388.   Typically, it will give you the option to Proceed, or Cancel that action.
  389.  
  390.  
  391. 2.4. The Pop-Up Requester
  392.  
  393.   If bBase requires information from the user that cannot be answered by
  394.   just a Yes or No, this requester will appear, sometimes in the
  395.   Information Box, and sometimes at mid-screen.  This is the same as the
  396.   Input Requester, except that the allowable input is sometimes restricted.
  397.   EG, if you want to delete a field, you will be asked which one.  If the
  398.   database only has 7 fields, an answer of 8 will not be accepted.
  399.  
  400.  
  401.  
  402. 3.  THE CURSOR KEYS
  403.  
  404. 3.1. If Input Requester is NOT Open
  405.  
  406.   Pressing the Cursor Up key will take you directly to the First Record.
  407.   The Cursor Down key displays the Last Record.
  408.   The Cursor Left key shows the Previous numerical Record, and
  409.   the Cursor Right key will show the Next numerical Record.  
  410.  
  411.   You can also move through the records using the mouse.
  412.   (Refer to Section 4 - ` THE SCREEN GADGETS').
  413.  
  414.   Please note that for "browsing" through the database, the Left/Right
  415.   cursor keys are the slowest way to do it.  If you are looking for a
  416.   particular record, I would encourage users to either search for it,
  417.   or use the Alphabetic Jump Bar.  This will be much faster.
  418.   (Refer to Section 4 - ` THE SCREEN GADGETS', SubSection 3).
  419.  
  420.  
  421. 3.2. If the Input Requester IS Open
  422.  
  423.   Whenever you are in Edit Mode (when the input requester is open, so that
  424.   you may enter or change data), Cursor Left/Right moves the cursor
  425.   within the gadget, while Cursor Up/Down moves through the fields.
  426.   You may also position the cursor by clicking in the requester, or by
  427.   using the Ctrl keys.  (Refer to Section 2.2 - `The Input Requester').
  428.  
  429.  
  430.  
  431. 4.  THE SCREEN GADGETS
  432.  
  433.   At the top left corner of the screen, there is a gadget labeled "Esc".
  434.   Clicking on this gadget is the same as pressing the <Esc> key.  The
  435.   action performed when this gadget is clicked depends on your present
  436.   situation, and is explained in the relevant sections, but generally
  437.   it will cancel an action, or close a window.  If no extra windows are
  438.   open, it will initiate the Quit sequence.
  439.  
  440.   Just above the upper-right corner of the Data area is the Tag Box.
  441.   Any records which are currently on the Tag List will be identified by a
  442.   check-mark in this box.  Clicking in this gadget will act as a toggle.
  443.   If the currently displayed record is not on the Tag List, ie. not
  444.   "tagged", then clicking here will add it to the list.  If the displayed
  445.   record is tagged, then clicking here will remove it from the list.
  446.   Pressing <T> is the keyboard equivalent of this feature.  (Refer to
  447.   Section 7.3.3 - `Tag All'), and Section 7.3.4 - `UnTag All  <U>').
  448.  
  449.   The number of records currently on the Tag List, if any, will be
  450.   displayed just to the left of the Tag Box.
  451.  
  452.   The Information Box at the bottom of the screen contains        / \
  453.   a gadget that looks something like that shown at the            | |
  454.   right.  This gadget represents the cursor keys, and       << <== G ==> >>
  455.   you can move about the database using these gadgets and         | |
  456.   the mouse instead of the cursor keys, if you so desire.         \ / 
  457.  
  458.   Clicking on the Up Arrow will take you directly to the First Record.
  459.   Clicking on the Down Arrow will take you to the Last Record.
  460.   The inner Left Arrow will show the Previous numerical Record, and the
  461.   inner Right Arrow will show the Next numerical Record.
  462.  
  463.   There are several other gadgets which will be helpful to those who
  464.   have large databases.  They will help you to position yourself in the
  465.   database more easily.  These are:
  466.  
  467.   1.  The outer horizontal arrow gadgets are Fast Forward (or Reverse)
  468.   gadgets.  Clicking on either of these will send you forward (or backward)
  469.   through the database 10 records at a time.  This number is user
  470.   configurable.  (Refer to Section 7.4.4 - `Fast Forward|Reverse').  The
  471.   keyboard equivalents of these "fast" gadgets are the "<" and ">" keys.
  472.  
  473.   2.  Clicking on the "G" in the center of the arrows (or pressing <G> on
  474.   the keyboard) will bring up the pop-up requester, asking for the number
  475.   of a record to "Go to".  After entering a legal number, the requested
  476.   record will be displayed.  Press <Esc> to cancel.
  477.  
  478.   3.  There is an "Alphabetic Jump Bar" located just below the Record
  479.   Number, consisting of the letters a to z.  Clicking on one of these
  480.   letters will open a window showing all of the records that begin with
  481.   the selected letter, in the field that the database is sorted on.
  482.   EG, if your first two fields are First Name and Last Name, and the
  483.   database is sorted on the second field, then clicking on "h" will show
  484.   all records of persons whose LAST name begins with "H".  If no last name
  485.   begins with "H", you will be informed.  The keyboard equivalents to
  486.   clicking on these letters are the <Shift - Letter> keys - eg,
  487.   <Shift - H> would do the same as described above.
  488.  
  489.   I have reluctantly extended this feature to include the fields which are
  490.   sorted numerically.  Pressing one of the UNshifted number keys, from 1
  491.   to 0, will show you all records begining with that number, IF the
  492.   database was sorted on a field containing numbers.  Otherwise, you will
  493.   be informed that there are no records begining with the selected number
  494.   in the sort field.  The problem with this is that if you are aligning
  495.   your numeric entries, (Refer Section 7.3.1 - `Search Fields  <F6>', for
  496.   a discussion on aligning numeric entries), you will not be able to use
  497.   this feature to go to these records.  At any rate, this restriction only
  498.   applies to databases which are sorted on fields with numeric data that
  499.   must be aligned for sorting or searching purposes, which I suspect will
  500.   not be too many.
  501.     
  502.   To help you remember which field the database is sorted on, after a sort
  503.   has been done, an "s" will be displayed between the Title and Data
  504.   areas next to the sorted field.
  505.  
  506.   If the word "Note" appears on the screen, just below the Data area, it is
  507.   also a gadget.  Clicking on this word (or pressing <N> on the keyboard),
  508.   will display the Notes area for that record.
  509.  
  510.  
  511.  
  512. 5.  The PROGRESS BAR
  513.  
  514.   When time consuming actions are being performed, eg. loading, searching,
  515.   saving, sorting, etc., a Progress Bar will appear, in place of the
  516.   Jump Bar, to assure you that "something is happening", and visually
  517.   display to you just how the job is progressing.  The length of the bar
  518.   represents the number of records involved in whatever operation you are
  519.   performing.
  520.  
  521.  
  522.  
  523. 6.  THE NOTES OPTION
  524.  
  525.   bBase may be run with, or without the Notes option active.  When a
  526.   database is first created, you will be asked if you want to activate
  527.   this option.  When a database is loaded, bBase will determine if this
  528.   option should be activated, and react accordingly.
  529.  
  530.   Without the Notes option, the record storage is limited to 9 fields,
  531.   for a total capacity of 414 characters.  This will result in faster
  532.   searches, sorts, saves, etc., as there is less information to process.
  533.  
  534.   With the Notes option, each record has available an additional Notes area
  535.   of up to 1152 characters, which can be searched, but not sorted.
  536.   This increases each record's capacity by up to 378%, but slows down
  537.   program processing somewhat.  Also, the database will not be able to hold
  538.   as much data, as some of the alloted memory is reserved for a full Notes
  539.   area, whether it is used or not. (Refer to Section 1.5 - `Restrictions').
  540.   The choice is yours.
  541.  
  542.   The Notes option may be activated or de-activated, and the number of
  543.   Note lines set, at any time from within the program.
  544.   (Refer to Section 7.4.3 - `No. of Lines in Notes Area', Section 7.8.1 -
  545.   `Enable', and Section 7.8.2 - `Disable').
  546.  
  547.  
  548.  
  549. 7.  DESCRIPTION OF MENU ITEMS
  550.  
  551.   The most logical way to describe the operation of bBaseIII is probably
  552.   by describing the menu operations.  The keyboard equivalents, where
  553.   applicable, are shown along with the menu titles.
  554.  
  555.  
  556. 7.1. Project Menu
  557.  
  558. 7.1.1. Create a New Database  <F1>
  559.  
  560.   (If you are working on an existing database, and it has been altered,
  561.   you will be asked if you want to save it before creating a new one).
  562.  
  563.   This will bring up the ARP file requester, asking for a name for your
  564.   new database.  Any filename of 20 characters or less will do.
  565.  
  566.   The pop-up requester will then ask if you want to activate the Notes
  567.   option.  If you respond <Y>es, you will be asked how many lines the Notes
  568.   area will have.  The maximum is 16 lines of 72 characters each, for a
  569.   total capacity of 1152 bytes.  The number of Notes area lines may be
  570.   altered anytime. (Refer to Section 7.4.3 - `No. of Lines in Notes Area').
  571.  
  572.   Next you are asked how many fields the new database will require.
  573.   There may be up to 9 fields in each database.  Fields may be added or
  574.   deleted at any time.
  575.  
  576.   You are then asked for the TITLES of each field of the database.
  577.   Each field title may be a maximum of 19 characters long, and may be
  578.   changed at will.  (Refer to Section 7.4.1 - `Field Titles').
  579.  
  580.   A "(1)" will appear, along with the input requester.  Enter the title of
  581.   your first field, eg. Last Name, First Name, Company, Address, or
  582.   anything else.  When it is correct, hit <Return>, and a "(2)" will appear
  583.   on the next line with the requester.  Enter the title of the second, and
  584.   all other fields, in this manner.
  585.  
  586.   The screen will now show all the field titles, an Information Box, the
  587.   filename as first entered, a blank Data area, and the record number,
  588.   which at this point will be "1".  The total number of records is
  589.   continuously displayed beside the record number.  It will now also
  590.   show "of 1".
  591.  
  592.   The input requester will now appear in the first field of the first
  593.   record, ready for you to enter data.  Enter the data.
  594.  
  595.      NOTE:
  596.      Double quotes are not accepted in any data field, as that would mess
  597.      up the alignment of all the following fields. Single quotes are OK.
  598.  
  599.   A data entry may be a maximum of 46 characters long.  When it is correct,
  600.   hit <Return>, and the requester will move to the second field.  When all
  601.   fields are complete, (or you press <F10>), the requester will close.
  602.   To add more records, select "Add - A Record" from the Menu, or press
  603.   <F10> again.  Complete all records in this manner.  In this version,
  604.   there is a limitation of 1250 records.
  605.  
  606. 7.1.2. Open an Existing Database  <F2>
  607.  
  608.   If you have previously created a database, and the ".bbase" file for that
  609.   database is stored on a disk, then use this item to access it. If you are
  610.   working on an existing database, and it has been altered, you will be
  611.   asked if you want to save it before loading another.
  612.  
  613.   Select the database file in the requester, and that database will be
  614.   retrieved and shown on screen.  At this time, the available memory
  615.   and the relative database size will be briefly displayed.
  616.   Refer to Section 3 - ` THE CURSOR KEYS', and Section 4 -
  617.   ` THE SCREEN GADGETS', for instructions on moving about the database.
  618.  
  619.   While a record is displayed, the Information Box will instruct you to
  620.   press "<Return> to Change Data".  Do so, and the requester will appear
  621.   in the first field, with that field's data.  <Return> or <Cursor Up/
  622.   Cursor Down> to the field you want to change, and make the changes.
  623.   At this point, you may either <Return> through all fields, or press <F10>
  624.   to exit Edit Mode.  The altered record is now displayed.
  625.  
  626.      NOTE:
  627.      ANY time you are in Edit Mode, whether entering, changing or
  628.      searching for data, pressing <F10> will exit Edit Mode, and use
  629.      the data shown when you exited.  Pressing <Esc> will also exit Edit
  630.      Mode, but any changes made to the line will be lost.
  631.  
  632. 7.1.3. Show All Records  <A>
  633.  
  634.   If you want to quickly glance at more than one record at a time, this
  635.   will open a full-sized window, and display the first 70 or so characters
  636.   of ALL records, one record to a line.  Click on "Cancel" to leave this
  637.   function.  If you see a record you want to examine in detail, just click
  638.   on it.  You will then exit the Display window, and return to the Main
  639.   Screen, with the requested record displayed.
  640.  
  641. 7.1.4. Show Tagged Records
  642.  
  643.   This works the same as `Show All Records  <A>', except that ONLY the
  644.   tagged (Refer to Section 7.3.1 - `Search Fields  <F6>') records are
  645.   displayed.
  646.  
  647. 7.1.5. Save Database  <F3>
  648.  
  649.   If the database has been altered since last saved, it will be saved to
  650.   disk under the current filename, after confirmation.  The file will have
  651.   the extension ".bbase" automatically appended.
  652.  
  653.   If it has NOT been altered, you will be so informed, and given the
  654.   oportunity to abort the save.
  655.  
  656.      NOTE:
  657.      Saving a large database may be a slow process on an unaccelerated
  658.      computer.  If you find that this is the case, I suggest you save it to
  659.      RAM: first, then use the AmigaDOS or Workbench "Copy" function to copy
  660.      it to disk.
  661.  
  662. 7.1.6. Save As
  663.  
  664.   You will be prompted for a name to save the database.  It is not
  665.   necessary include the ".bbase" extension at this time - it will be
  666.   appended automatically.
  667.  
  668. 7.1.7. Save Tagged Records
  669.  
  670.   The tagged records may be saved as a separate .bbase file.  It may be
  671.   useful to use just some records as the seed of a new database.
  672.  
  673. 7.1.8. Merge a Database
  674.  
  675.   Two similar databases can be merged together.  In order for this to work,
  676.   both databases must have the same number of fields in both the Data and
  677.   Notes areas.  If the field titles are different, you will be informed,
  678.   however the merge may continue.
  679.  
  680. 7.1.9. Show Available Memory  <M>
  681.  
  682.   This repeats the action which is performed after any database is loaded.
  683.   The remaining memory available to bBaseIII is checked.  If it is low,
  684.   (Refer to Section 8.2 - `The Low Memory Warning'), you will be advised.
  685.   The number of available bytes remaining are then shown, along with the
  686.   approximate relative size of your database.  This is shown as a
  687.   percentage of the maximum size, taking into account both the number of
  688.   available records remaining, and the number of available bytes remaining.
  689.  
  690. 7.1.10. Encrypt|Decrypt a File
  691.  
  692.   For people who have databases with "sensitive" data, (or for people who
  693.   are just plain secretive), bBase offers the capability of "scrambling"
  694.   a database - or any other file, for that matter.
  695.  
  696.   The file requester will appear.  Select the file to be scrambled.
  697.   You are then asked for a password.  After confirmation, the file will
  698.   then be read in, scrambled, and written back to disk under the same name.
  699.   Examination of the file will now show that the file characters have all
  700.   been changed, many of them are now gibberish.
  701.  
  702.   To restore the file, you need only select this menu item again.
  703.   Select the same file, and enter the same password.  The file will then be
  704.   read in, and written back to disk in its original form.  For what it is
  705.   worth, executable programs, as well as data files, may be scrambled and
  706.   restored - try it with a copy of bBase!
  707.  
  708.   It should go without saying that it is essential that the same password
  709.   be entered to unscramble the file as was used to scramble it.  If the
  710.   wrong password is entered, the scrambled file will be re-scrambled.
  711.   The only way to get it back now is to select this item again, and enter
  712.   the last password.  This will restore the file to the first scrambled
  713.   state.  Now, if you can still remember the first password, run this file
  714.   through once more using it to restore the file to its original state.
  715.  
  716.   Please note that this is a time-consuming operation on large files,
  717.   and it does not utilize the Progress Bar.
  718.  
  719. 7.1.11. Help  <Help>
  720.  
  721.   This is used for reference to the documentation from within the program.
  722.  
  723.   If the location of your prefered text reader has not been saved with the
  724.   database, you will be prompted for it's location.  Then, if the
  725.   documentation file is in the current directory, the text reader will be
  726.   run with the file loaded for viewing.  If either the text reader or the
  727.   documentation are not where they should be, you will be informed.
  728.  
  729.   When the database is saved, the location of the text reader will be saved
  730.   with it, and will thereafter be loaded automatically.
  731.  
  732.   The default text reader is AmigaGuide ®, Commodore's freely distributable
  733.   (with restrictions) hypertext file reader.  If you select AmigaGuide as
  734.   your text reader, the file "bBase.guide" will automatically be loaded.
  735.   If you select another text reader, the ASCII file "bBase.doc" will be
  736.   loaded.  Both of these files are included.  The appropriate file must be
  737.   in the current directory to be loaded.  The "bBase.doc" file is not as
  738.   "pretty" as in previous versions, due to the formating requirements of
  739.   hypertext documents.
  740.  
  741.      NOTE:
  742.      When MuchMore runs, it opens on top of the bBaseIII screen, as you
  743.      would expect.  However, when AmigaGuide runs, it opens on the
  744.      Workbench screen, behind the bBaseIII screen.  Therefore, although it
  745.      may appear as though nothing has happened when this is selected, if
  746.      push the bBaseIII screen to the back (default <Left Amiga - M>), you
  747.      should see the bBase.guide help screen.  Refer to Section 1.8 -
  748.      `The bBaseIII Screen', for information on screen shufflers.  I hope
  749.      that by the next release, I will know enough about public screens to
  750.      be able to avoid this situation.
  751.  
  752.   For AmigaGuide users, there is also an index file provided.  If used,
  753.   bBase.index should also be in the current directory, along with
  754.   bBase.guide.  Clicking on the AmigaGuide "Index" gadget will take you to
  755.   the bBase index, which is an alphabetical list of relevent keywords.
  756.   Clicking on one of those keywords will bring up the appropriate section
  757.   of the bBase.guide document.
  758.  
  759.   I you do not use AmigaGuide, I highly recommend MuchMore © as the text
  760.   reader of choice.  MuchMore should also be included with this package.
  761.  
  762.   The entire AmigaGuide package must be distributed intact, and is too
  763.   large to fit on a disk with the bBaseIII package.  It is therefore not
  764.   included, but can be obtained on Fred Fish Disk 920, and other places.
  765.  
  766. 7.1.12. About
  767.  
  768.   The usual stuff, including the version number.
  769.  
  770. 7.1.13. Quit  <Esc>
  771.  
  772.   If the database has been altered, you will be asked if you want to save
  773.   before quiting.  The <Q> key can also be used for this function.
  774.  
  775.  
  776. 7.2. Sort Menu
  777.  
  778.   You may sort the records in the database based on the data in any field.
  779.   The sort algorithm is designed to be most efficient when sorting a
  780.   database which is already mostly sorted, as will be the case with
  781.   databases over 90% of the time.  Initial sorts will take a little bit
  782.   longer.  Naturally, the larger the database, the longer it takes.
  783.  
  784.   After the database has been sorted, an "s" will be displayed between the
  785.   Title and Data areas, so that you will always know at a glance which
  786.   field the database has been sorted on.
  787.  
  788.      NOTE:
  789.      Any time that the database is sorted, the Tag List will be lost,
  790.      (ie. all records become "UnTagged"), since sorting the database
  791.      scrambles the list, and renders it meaningless.
  792.  
  793. 7.2.1. Incremental Sort  <F4>
  794.  
  795.   The requester will ask which field you want to sort on.  The records will
  796.   be incrementally sorted on that field, and record number 1 of the new
  797.   list will be shown.
  798.  
  799. 7.2.2. Decremental Sort  <F5>
  800.  
  801.   Same as `Incremental Sort  <F4>', except records are sorted and displayed
  802.   from Z-A, or 9-0.
  803.  
  804.  
  805. 7.3. Search Menu
  806.  
  807. 7.3.1. Search Fields  <F6>
  808.  
  809.   The input requester will appear in the first field of a blank record.
  810.   <Return> or <Cursor Up/Down> to the field that contains the data you
  811.   want to search for, and enter it.  A search string may be entered in more
  812.   than one field.  When all the criteria has been entered, <Return> through
  813.   all the fields, or press <F10>.  All records that match ALL the search
  814.   criteria become the Tag List, and the first match is displayed.  When a
  815.   match is found, you may Print it, Cancel the search, Display the "Notes"
  816.   for that record, UnTag (or ReTag) the record, Delete the record, or
  817.   Review all the records on the Tag List.  (Refer to Section 7.1.4 -
  818.   `Show Tagged Records').  Pressing <Any Other Key> will display the next
  819.   matching record in the list.  Searches are NOT case dependent.
  820.  
  821.   If a match cannot be found, you will be advised "No Matching Records".
  822.  
  823.   Range Search is also available.  EG., if you want to search an address
  824.   database for all names before Jones, or after Smith, simply add a "<"
  825.   or a ">" immediately before the name, with no intervening space.
  826.   Or, if you had a field containing birth years, you could find all those
  827.   born before (or after), for example, 1965, by entering "<1965".
  828.   You could also combine the two, and find all those entries before
  829.   (alphabetically) "Jones", and who were born after 1965.
  830.  
  831.   Equal-or-less-than and equal-or-greater-than may also be used by
  832.   preceeding the search string with "=<" or "=>" respectively.
  833.  
  834.   Note that the equals sign must come first;  "<=" will not work.
  835.  
  836.   Bear in mind that in a search for entries "<p", (which will be treated as
  837.   "<P", because search is case independent), bBase will find all entries up
  838.   to and including all of the "O" entries, as you would expect.  But, if
  839.   you search for ">p", the found entries will not start with the Qs, as you
  840.   might expect, but will show the Ps as well.  This is because, to a
  841.   computer, "pa", or "pill", or "pasquale" are all greater than just "p".
  842.   So, if you want to search for Qs and above, you should enter ">pzz", or
  843.   better still, ">q".
  844.  
  845.   Note also that bBase does not employ the concept of field TYPES, ie,
  846.   there are no numeric fields - all fields are of the string type.
  847.   Therefore, if you are storing numbers in a field, (eg. 9, 60, & 500),
  848.   and you search for all records "<500", bBase will report "No Matching
  849.   Records".  This is because all strings are compared on a character-by-
  850.   character basis.  So, when the first character is examined, all other
  851.   first characters are compared to "5".  All we find is a "9" and a "6",
  852.   so bBase deduces that there are no records less than 500.
  853.  
  854.   When entering numeric data that you may wish to search or sort,
  855.   therefore, you must ensure that the data is properly aligned.  If you
  856.   will be entering numeric data with three digits, they must all be
  857.   entered with three digits.  So, when entering "9", it must be entered as
  858.   "009" or "  9", and the "60" entered as "060" or " 60".  You will then
  859.   find that searches and sorts operate as expected.  Searching for entries
  860.   of "<70" must now, of course, be entered as "< 70" or "<070".
  861.  
  862. 7.3.2. Search Notes
  863.  
  864.   The requester will appear in the first field of a blank record.  Enter
  865.   the string you want to search the Notes area for.  Once the string has
  866.   been entered, the search will begin, and the first record which contains
  867.   the entered string in the Notes area will be displayed.  You now have the
  868.   same options as described above - Print the Record, (the Notes may be
  869.   optionally included, if all fields of the record are to be printed),
  870.   Cancel, Delete, Display the Notes, Review the tagged records, or Display
  871.   the Next tagged record.
  872.  
  873.      NOTE:
  874.      Although the string is entered in a field, the fields have nothing
  875.      to do with this search.  It is just a handy place to enter it.
  876.  
  877. 7.3.3. Tag All
  878.  
  879.   All of the records in the database are "Tagged", ie. added to the Tag
  880.   List.  (Refer to Section 4 - ` THE SCREEN GADGETS').
  881.  
  882. 7.3.4. UnTag All  <U>
  883.  
  884.   All records are "UnTagged".  The Tag List is discarded, and all
  885.   references to tagged records in the menus are ghosted.  This may be handy
  886.   if you want to create a new Tag List by clicking in the Tag Box of some
  887.   individual records.  Otherwise, the tagged records would be added to the
  888.   current Tag List.
  889.  
  890. 7.3.5. Tag Invert
  891.  
  892.   Inverts the Tag List.  All Tagged records become UnTagged, and all
  893.   records that were UnTagged become Tagged.
  894.  
  895. 7.3.6. Next Tagged Record  <X>
  896.  
  897.   If you interrupt your "Display the Next Tagged Record" sequence, bBase
  898.   will remember where you were in the sequence.  Selecting this item will
  899.   immediately display the next tagged record after the last one you have
  900.   already looked at.  As mentioned above, if you should sort the database,
  901.   this item will become inoperable.
  902.  
  903.   When the last record on the List has been displayed, you will be advised,
  904.   "End of Tag List".  Selecting this item now, will skip through the tagged
  905.   records again, starting at the top of the List.
  906.  
  907. 7.3.7. Goto a Record  <G>
  908.  
  909.   Activates the Goto a Record requester - the same as pressing <G>.
  910.   (Refer to Section 4 - ` THE SCREEN GADGETS').
  911.  
  912.  
  913. 7.4. Change Menu
  914.  
  915. 7.4.1. Field Titles
  916.  
  917.   Use this item to change the titles of your fields.  The data itself
  918.   is unaffected by this procedure.
  919.  
  920. 7.4.2. Swap Position of 2 Fields
  921.  
  922.   Exchanges the position of two fields and their titles in the database.
  923.   EG, move field 3 to where field 7 was, and visa versa.
  924.  
  925. 7.4.3. No. of Lines in Notes Area
  926.  
  927.   The number of lines in the Notes area may be changed at any time.
  928.   No loss of data will occur except if the number of lines is reduced.
  929.   Then, naturally, data contained in lines greater than the new number of
  930.   lines will be lost.  In this instance, you will be notified that data
  931.   will be lost if you proceed, and how many records will be affected.
  932.   You then have the option to Abort, Proceed, or View a list of the
  933.   affected records, (which will also abort the procedure).
  934.  
  935.      NOTE:
  936.      If the number of lines is reduced, and later increased before
  937.      leaving the database, the lost data will be recovered.
  938.  
  939.   Fewer lines result in slightly faster searches, sorts, etc.
  940.  
  941. 7.4.4. Fast Forward|Reverse
  942.  
  943.   The "Fast Forward" arrow gadgets will skip through the database a default
  944.   10 records per click, but this is user-configurable.  Use this item to
  945.   set your own number (maximum 999).
  946.  
  947. 7.4.5. Screen Colors
  948.  
  949.   The default screen colors may be changed at any time using the ColorTool
  950.   and the color.library.  If you decide to attempt this, however, you may
  951.   find it a meaner job than you bargained for.  As you change one color to
  952.   contrast with another, you will find that the same color will also change
  953.   in places you never even thought of, making the color there almost
  954.   unreadable.
  955.  
  956.   Right off, I would like to thank dissidents software for making their
  957.   ColorTool available, especially for use in a BASIC program, which is
  958.   often ignored by Assembly and C programmers.
  959.  
  960.      NOTE:
  961.      This Menu item will always be ghosted if the file "color.library"
  962.      is not present in the LIBS: directory.
  963.  
  964.   Although the use of ColorTool is quite intuitive, it came with complete
  965.   documentation of its own.  Rather than duplicate that here, the essential
  966.   parts are reproduced in the file "ColorTool.doc", which should be part
  967.   of this package.  Read it for further information.
  968.  
  969.   Briefly, when the ColorTool appears, you may change the colors, and the
  970.   changes take place immediately.  If you like them, click on Save, and you
  971.   will exit the ColorTool, using the new colors.  This gadget might better
  972.   have been labeled "Use", as the new colors are not actually saved
  973.   anywhere.
  974.  
  975.   If you click on Cancel, you will exit the ColorTool using the original
  976.   colors.  If you click on Default, nothing will happen, except...
  977.  
  978.   If you have a file named "bBase.colors" in your S: directory, clicking on
  979.   Default will cause the colors to immediately change to the colors defined
  980.   in that file.  In other words, you can store your preferred color palette
  981.   in this file, and invoke them with just a few mouse-clicks.  Refer to
  982.   ColorTool.doc for instructions on how to create this file.  As an
  983.   example, there is a "bBase.colors" file included with this package
  984.   (no icon).  If you want to test this feature, copy the "color.library" to
  985.   LIBS:, and "bBase.colors" to S: before running bBaseIII.  Then bring up
  986.   the ColorTool, and click on Default.  I should mention that I personally
  987.   do not like these new colors - they are presented only as an example.
  988.  
  989.  
  990. 7.5. Print Menu
  991.  
  992.   With the Print Menu, you can:
  993.      - Copy a record either to the printer, or to an AmigaDOS file.
  994.      - Print the entire database, to the printer or a file.
  995.      - Create a data file to Mail-Merge with a word processor.
  996.  
  997. 7.5.1. Displayed Record (Printer)  <F8>
  998.  
  999.   This item will first ask how many fields are to be printed, and then in
  1000.   which column position, from 1 to 80, to start printing (in case you want
  1001.   to print onto a mailing label, or directly onto an envelope).
  1002.  
  1003.   If you elect to print all of the fields, you will then be asked if you
  1004.   want the Notes printed as well (if this option is active).  If you elect
  1005.   to have the Notes printed, you will then be asked if you also want the
  1006.   blank lines printed.  Some people may want this to make a more
  1007.   symmetrical report.  Otherwise, only those lines containing data will be
  1008.   printed.  (If you want the odd blank line to be included as a "spacer",
  1009.   then just put 1 blank space on that line, and the space will be printed).
  1010.  
  1011.   It will then send all characters of the requested number of fields
  1012.   (and Notes) of the currently displayed record to the PRT: device.
  1013.  
  1014.      NOTE:
  1015.      If the alignment of the report is not correct, switch the printer Off,
  1016.      then back On, just prior to using this item.
  1017.  
  1018. 7.5.2. Displayed Record (to a File)
  1019.  
  1020.   The File Requester will appear, asking for the name of the file you want
  1021.   to create, holding all of the data in this record, (including the Notes).
  1022.   The default is "RAM:bBase_clip".  Once the data, eg. an address, has been
  1023.   copied to this "clip", it may then be imported into another database
  1024.   (Refer to Section 7.6.5 - `RAM bBase_clip'), or another program, such as
  1025.   a word processor, if desired.
  1026.  
  1027. 7.5.3. Select Print Options  <F9>
  1028.  
  1029.   Opens the Print Options Window from which various formats of hardcopy
  1030.   reports and mailing labels may be chosen.
  1031.   (Refer to Section 8.3 - `The Print Options Window').
  1032.  
  1033. 7.5.4. Form-feeds
  1034.  
  1035.   Form-feeds may be generated at any position, or suppressed entirely.
  1036.  
  1037.   You will be told the current setting (Default, Suppressed, or the setting
  1038.   you have selected), and be prompted for a new setting.
  1039.  
  1040.   The Default is to generate a form-feed after 62 lines of an Adjacent or
  1041.   Aligned report (there will also be the Title line on the first page), or
  1042.   approximately the same for a Block report.  bBase will attempt to keep
  1043.   the entire block on the same page, so this will vary somewhat.
  1044.  
  1045.   Suppressed means that NO form-feeds are generated by bBase.  There have
  1046.   been cases of other programs form-feeding along with bBase, resulting in
  1047.   a lot of waste paper.  Use this if you want another program to do the
  1048.   form-feeding.
  1049.  
  1050.   At the prompt, enter "0" to get the Default, "-1" to suppress form-feeds,
  1051.   or any other number to customize your form-feed setting.
  1052.  
  1053. 7.5.5. Create Word Processor Data File
  1054.  
  1055.   This will save all of the tagged records in a format that will be
  1056.   accepted by the selected word processor as a secondary, or data file in
  1057.   a Mail Merge operation.  So far, WordPerfect, Final Copy, Final Writer
  1058.   and ProWrite word processors are supported.  You will be asked how many
  1059.   fields of the records to use, and then the file requester will ask for a
  1060.   filename to save the data file.  The default is "RAM:bBase_merge".
  1061.  
  1062.   I hope to eventually make this feature compatible with other word
  1063.   processors, but so far I do not have the information on the format
  1064.   required by others.  If your word processor is not listed, try one
  1065.   that is - the format just might be the same.
  1066.  
  1067.  
  1068. 7.6. Add Menu
  1069.  
  1070. 7.6.1. Add a Field
  1071.  
  1072.   If you do not already have the full complement of 9 fields, this item
  1073.   will add a blank field, in a designated location, with a title
  1074.   consisting of 20 dots.  The title may be modified at any time.
  1075.   (Refer to Section 7.4.1 - `Field Titles').
  1076.  
  1077. 7.6.2. Add a Record  <F10>
  1078.  
  1079.   Positions you at an empty record, with the input requester open,
  1080.   ready for you to enter data into the first field of the new record.
  1081.   Use the <Esc> key to abort if you arrived here by mistake.
  1082.   The new record will be at the end of the database.
  1083.  
  1084. 7.6.3. Add Record At
  1085.  
  1086.   Same as `Add a Record  <F10>', except that you will be prompted for a
  1087.   record number.  When completed, the new record will be inserted into
  1088.   the desired spot in the database.
  1089.  
  1090. 7.6.4. Displayed Record  <C>
  1091.  
  1092.   This item will copy the record which is presently being displayed, and
  1093.   add it as the last record.  bBase will then move to this new, last
  1094.   record, display it, and open the input requester.  It assumes that you
  1095.   will not want two identical records, and will be wanting to make some
  1096.   changes to it.  If this is not the case, just hit <Esc>.  This will be
  1097.   very handy if you are entering similar records - it will be easier to
  1098.   make some corrections to an existing record, than enter the whole new
  1099.   record in from scratch.
  1100.  
  1101. 7.6.5. RAM bBase_clip
  1102.  
  1103.   If you have previously copied a record to RAM:bBase_clip, (Refer to
  1104.   Section 7.5.2 - `Displayed Record (to a file)'), then that record may be
  1105.   added to the current database using this item, IF the clipped record has
  1106.   the same number of fields as the current database.
  1107.  
  1108.  
  1109. 7.7. Delete Menu
  1110.  
  1111. 7.7.1. Delete a Field
  1112.  
  1113.   You will be asked which field you want to delete.  As usual, press <Esc>
  1114.   to abort.  The requested field, and all information contained in that
  1115.   field in all records will be deleted.
  1116.  
  1117. 7.7.2. Displayed Record  <Del>
  1118.  
  1119.   After confirmation, the record currently displayed is deleted.
  1120.  
  1121. 7.7.3. All Tagged Records  <D>
  1122.  
  1123.   After confirmation, all of the tagged records are deleted.
  1124.   To preview exactly which records will be deleted, refer to
  1125.   Section 7.1.4 - `Show Tagged Records'.
  1126.  
  1127. 7.7.4. UNdelete a Record
  1128.  
  1129.   This item is active when a record is UnDeletable.  When a record is
  1130.   deleted, it is first copied to the file "RAM:bBase_deleted".  If UNdelete
  1131.   is selected, a full-size window will open, showing the first 23 records
  1132.   that were deleted.  Simply click on the record you want to restore, and
  1133.   it will be added as the last record in the database.
  1134.  
  1135.   If the database structure is altered after a record has been deleted,
  1136.   by adding or deleting fields or note lines, or swapping fields, this
  1137.   item will be unavailable, as the recovered data would be meaningless.
  1138.   The file "RAM:bBase_deleted" is itself deleted when a new database is
  1139.   loaded, or when bBaseIII is quit.
  1140.  
  1141.  
  1142. 7.8. Notes Menu
  1143.  
  1144. 7.8.1. Enable
  1145.  
  1146.   If the Notes option is currently disabled, this will enable notes.
  1147.   The database structure will be re-writen to allow a default number of
  1148.   four note lines per record.  This number can be changed anytime.
  1149.   (Refer to Section 7.4.3 - `No. of Lines in Notes Area').  If this feature
  1150.   is used, the database must be saved, and then re-opened before being
  1151.   used further, or it will become corrupted.  You will be reminded of this
  1152.   fact.
  1153.  
  1154. 7.8.2. Disable
  1155.  
  1156.   If the Notes option is currently enabled, this will disable notes.
  1157.   All data in the Notes area will be lost, if the action is not aborted at
  1158.   the next requester.  The database must now be saved, and then re-opened
  1159.   prior to further use.
  1160.  
  1161. 7.8.3. View|Edit  <N>
  1162.  
  1163.   If there is a Note attached to a record, even as much as one blank space,
  1164.   the word "Note" (how original) will appear on the Main Screen, at the
  1165.   bottom-right corner of the Data area.  If there is no Note, the word will
  1166.   not appear.
  1167.  
  1168.   To view the Notes area, just select this menu item, press the <N> key,
  1169.   or click on the word "Note".  The Notes area consists of up to 16 lines
  1170.   of data, each of which may hold a maximum of 72 characters, for a total
  1171.   possible storage of 1152 bytes of data per record.
  1172.  
  1173.   To edit the data in the Notes area, just press <Return> while the Notes
  1174.   Window is open.  From there, it works identically to the Data area of
  1175.   the Main Screen, except that the keyboard combinations of <Ctrl - I>,
  1176.   <Ctrl - D> and <Ctrl - U> are used to Insert, Delete or UNdelete a line.
  1177.   <Ctrl - I> will Insert a blank line at the active line, and all following
  1178.   lines move down 1 position.  <Ctrl - D> will Delete the active line, and
  1179.   all following lines move up 1 position.  <Ctrl - U> will UNdelete, or
  1180.   restore the previously deleted line to the active line, and all following
  1181.   lines move down 1 position.  In the Insert and UNdelete cases, if there
  1182.   is data in the last line, you will be advised that it will be lost, and
  1183.   given the chance to abort.  As in the Main Data Screen, <Ctrl - X> will
  1184.   blank the line, and no other lines will move.
  1185.  
  1186.   Pressing <Esc> will exit Edit Mode, and any changes made to the active
  1187.   line since it became active, will be ignored.  Pressing <F10> will exit
  1188.   Edit Mode with all changes intact.
  1189.  
  1190.   While not in Edit Mode, press <Del> to delete the entire Note attached
  1191.   to that record.  To return to the Main Screen, press  <Esc>, <F10>, or
  1192.   the <Space Bar>.
  1193.  
  1194.  
  1195.  
  1196. 8.  OTHER FEATURES
  1197.  
  1198. 8.1. The 'Disable Save' Option
  1199.  
  1200.   As a simple security device, mainly as a guard against someone
  1201.   accidentally altering or erasing data, I have added an option which will
  1202.   disable the ability to save database changes to disk.  
  1203.  
  1204.   To disable saves, simply press <Ctrl - S> simultaneously.  The titlebar
  1205.   will briefly inform you that saves are disabled, and now any attempt to
  1206.   save the database to disk will be circumvented.  In this case, upon
  1207.   quiting, a requester will ask if you want to save the database (as
  1208.   usual).  If you select "Save", a second requester will inform you that
  1209.   the Save option has been disabled.  To save the database, at the next
  1210.   requester, "Do you Really want to Quit?", select "Cancel", re-enable
  1211.   saves, and quit again.
  1212.  
  1213.   If you are running bBase from the CLI, using the "-s" switch on the
  1214.   command line will start bBase with the saves already disabled.
  1215.  
  1216.   The <Ctrl - S> combination will toggle between Save Enabled and Save
  1217.   Disabled.  A message will appear briefly in the titlebar to keep you
  1218.   informed of the current status as it changes.
  1219.  
  1220.  
  1221. 8.2. The Low Memory Warning
  1222.  
  1223.   When bBaseIII is run, it reserves about 600K of memory to use for
  1224.   database storage in RAM, arrays, etc.  No matter how much RAM your
  1225.   computer has, this is all that is available to bBase!
  1226.  
  1227.   When a database is first loaded, bBase will check the available memory
  1228.   left in the program pool.  If the memory available to bBase is less than
  1229.   5K, this means that very few more records may be added before the program
  1230.   will generate an error message.
  1231.  
  1232.   You will be advised if this low memory situation exists.  Press any key
  1233.   to cancel the warning.  The recommended action is: 
  1234.  
  1235.      1.  If you are using bBaseIII_600, start using bBaseIII.
  1236.      2.  Trim down the size of your database by deleting some old
  1237.          records, or some of the record notes.
  1238.      3.  If you cannot get all of your information into one database,
  1239.          some users have split the information over two databases. The
  1240.          split can be, eg, alphabetical (Names A-M, and Names N-Z),
  1241.          chronological (Invoices up to 1992, Invoices after 1992), or
  1242.          catagorical (Classical Tapes, Pop Tapes).
  1243.      4.  Drop me a line.  It's possible that a custom version of bBase
  1244.          that will set aside more memory (if you have it), will solve
  1245.          the problem.  For a $7 fee, I will attempt to create a
  1246.          "customized" version.  Tell me what you need.
  1247.      5.  If these are not feasable, you may have to consider a different
  1248.          database program.
  1249.  
  1250.   The available memory can be checked any time by using the "Show Available
  1251.   Memory" item in the Project menu.
  1252.  
  1253.  
  1254. 8.3. The Print Options Window
  1255.  
  1256.   Choosing "Select Print Options" (from either the Print menu, or by
  1257.   pressing <F9>) opens the Print Options Window.  Select from this window
  1258.   using the mouse, keyboard, or the Up/Down cursor keys.  The keyboard
  1259.   equivalents are the underlined letters of each label.
  1260.  
  1261.   At the top, there are toggle gadgets to select "Print All Records" or
  1262.   "Print Tagged Records"; "Bold On" or "Bold Off"; and "Print to PRT:"
  1263.   or "Print to File".
  1264.  
  1265.   Print All Records will do just that.  Print Tagged Records will print
  1266.   all currently tagged records.  Note that this toggle is inoperative if
  1267.   there are no tagged records.
  1268.  
  1269.   Bold allows you to select either Bold or Normal print styles.  Although
  1270.   you may select Bold On at any time, it is only effective, on my printer
  1271.   at least, if the Pitch is set to Pica (80 characters per line).  Other
  1272.   printers may not have this restriction.
  1273.  
  1274.   PRT: or File determines whether the requested records will be printed,
  1275.   or copied to a File.  In the latter case, the file requester will appear,
  1276.   and you may specify the filename to copy the records to.  The default is
  1277.   "RAM:bBase_report".
  1278.  
  1279.   At the bottom are gadgets labeled "Print!", "Help" and "Cancel".
  1280.   "Cancel" is self-explanatory.  "Help" opens a Help Window which explains
  1281.   the terms used in the Print Options Window, so this information is not
  1282.   included here.  "Print!" will print (or copy) the selected records using
  1283.   the selected format.  The <Return> key is another keyboard equivalent
  1284.   for "Print!".
  1285.  
  1286. 8.3.1. Hardcopy Reports
  1287.      
  1288.   Database reports can be obtained in these formats:
  1289.  
  1290.   Adjacent Single Line  (Pica, Elite or Condensed).
  1291.        The "Notes" attached to your records may optionally be also
  1292.        printed out using this format.  Follow the prompts.
  1293.   Aligned  Single Line  (Pica, Elite or Condensed).
  1294.   Block,  2 across
  1295.   Block,  3 across
  1296.   Super Space Saver (Block, 5 across)
  1297.  
  1298.   These are explained in the Help Window, but try them all, and see which
  1299.   one (or more) best suits your needs.
  1300.  
  1301.   With each report there will be a title line, containing the name of the
  1302.   database, and, if your system is showing a current date, the date of the
  1303.   printing.  You will also be given the oportunity of inserting a (maximum)
  1304.   26 character comment on the title line, between the title and the date.
  1305.   Just type it in when prompted.
  1306.  
  1307.   Along the top of the Data area are 4 white pixels.  These pixels will
  1308.   align with the data entry cursor at the 24, 25, 38 and 43 character
  1309.   positions.  As some of the above reports are truncated to these number of
  1310.   characters (Refer to the Help Window), they are a guide to indicate that
  1311.   the data beyond will not be printed when some print options are selected.
  1312.  
  1313. 8.3.2. Mailing Labels
  1314.  
  1315.   Mailing labels of 15/16 inch, and 1 7/16 inch, in 1-across roll type,
  1316.   and 2 or 3-across sheet type are all supported.
  1317.  
  1318.   If you have selected a mailing label option in the Print Options Window,
  1319.   when you click on "Print!" you will be asked whether your labels are 1,
  1320.   2 or 3-across, how many fields of your database you want printed on the
  1321.   label, and in which column you want the printing to start.  The column
  1322.   defaults work for me, but your paper may be aligned a bit differently.
  1323.   Once this information is received, the printing (or copying) operation
  1324.   will start.
  1325.  
  1326.   If you tell bBase you want, for example, 4 fields printed, then the first
  1327.   4 fields will be printed, in numerical order.  Make sure that these are
  1328.   the ones you want printed.  You can temporarily move the fields around,
  1329.   if desired, to get the alignment you want.
  1330.   (Refer to Section 7.4.2 - `Swap Position of 2 Fields').
  1331.  
  1332.   Due to the size constraints of the labels, there are limits on the number
  1333.   of characters of each field, and the number of fields, that this function
  1334.   will print.  This information is in the Help Window.
  1335.  
  1336.   There is a problem in this area that I have been unable to solve.
  1337.   If you are printing mailing labels, and you have selected "Bold On",
  1338.   the printer will generate one carriage return before the printing starts.
  1339.   This will disrupt your label vertical alignment by one line.
  1340.  
  1341.   As a kludge, I have inserted a five second pause here, before the
  1342.   printing will start.  This will give you time to re-align the labels.
  1343.   Another answer, of course, is to not use bold with the mailing label
  1344.   option.  Sorry, all - I'm still working on it.
  1345.  
  1346.  
  1347.  
  1348. 9.  SUMMARY OF KEYBOARD COMMANDS
  1349.  
  1350.   Generally, pressing the <Esc> key will close a window or requester, if
  1351.   one is open, abandoning the last change; pressing <F10> will close the
  1352.   window or requester leaving all changes intact.
  1353.  
  1354.  
  1355. 9.1. With the Main Window Open
  1356.  
  1357.   Create a New Database                       <F1>
  1358.   Open an Existing Database                   <F2>
  1359.   Save the Database                           <F3>
  1360.   Incremental Sort                            <F4>
  1361.   Decremental Sort                            <F5>
  1362.   Search the Fields                           <F6>
  1363.   Print the Displayed Record to the Printer   <F8>
  1364.   Open the Print Options Window               <F9>
  1365.   Add a Record                                <F10>
  1366.   Show All Records                            <A>
  1367.   Copy the Displayed Record                   <C>
  1368.   Delete All Tagged Records                   <D>
  1369.   Goto a Record                               <G>
  1370.   Show Available Memory                       <M>
  1371.   View or Edit the Notes                      <N>
  1372.   Tag or Untag the Displayed Record           <T>
  1373.   UnTag All Records                           <U>
  1374.   Display the Next Tagged Record              <X>
  1375.   Saves Enable/Disable (toggle)               <Ctrl - S>
  1376.   Fast Forward/Reverse through the Records    < or >  (actually , or .)
  1377.   View All Records Beginning with a Letter    <Shift - Letter>
  1378.   View All Records Beginning with a Number    <Number>
  1379.   Delete the Displayed Record                 <Del>
  1380.   Quit                                        <Esc> or <Q>
  1381.  
  1382.  
  1383. 9.2. With the Input Requester Open
  1384.  
  1385.   Clear the Requester                <Ctrl - X>
  1386.   Place Cursor at Start of Text      <Ctrl - Q>
  1387.   Jump Cursor to Start of Next Word  <Ctrl - W>
  1388.   Place Cursor at End of Text        <Ctrl - E>
  1389.  
  1390.  
  1391. 9.3. With the Notes Window Open
  1392.  
  1393.   Insert a Line    <Ctrl - I>
  1394.   Delete a Line    <Ctrl - D>
  1395.   UnDelete a Line  <Ctrl - U>
  1396.   Blank a Line     <Ctrl - X)
  1397.  
  1398.  
  1399. 9.4. With Print Options Window Open
  1400.  
  1401.   Print All Records/Tagged Records (toggle)   <A>
  1402.   Select Bold print On/Off         (toggle)   <B>
  1403.   Select Print to Printer/File     (toggle)   <T>
  1404.   Cancel Print and Close Window               <C> or <Esc>
  1405.   Open the Print Options Help Window          <H> or <Help>
  1406.   Start Printing                              <P> or <Return>
  1407.  
  1408.  
  1409.  
  1410. 10.  EXAMPLE DATABASES
  1411.  
  1412.   There are two example databases included in this package.  The file
  1413.   "Recipes.bbase" is a sample database showing one way of keeping track of
  1414.   recipes, without having to re-type them all.  It merely shows where they
  1415.   can be found when needed.  With this database you can sort the recipes by
  1416.   Name, Catagory, or anything else.  You can search for all recipes
  1417.   containing a listed ingredient, recipes you have already served to given
  1418.   people, or just the location of the recipe if you have forgotten which of
  1419.   your 647 recipe books it is in.  I have found this to be very useful.
  1420.  
  1421.   Address databases have their own unique problem.  Most people prefer to
  1422.   sort this database on the Last Name of the person on record.  This
  1423.   necessitates having separate fields for the Last Name and the First
  1424.   Names, or using one field with an entries such as "Smith, John", and
  1425.   "Smith, Mary".  Unfortunately, when you want to print this record to a
  1426.   mailing label or envelope, it does not look too good.
  1427.  
  1428.   My prefered method of getting around this is shown in the database
  1429.   "Addresses.bbase".  The first field is the sorting field, in the format
  1430.   of "Smith, John".  The sixth field holds the Mailing Name, which can
  1431.   include a formal salutation, eg. Mr., Doctor, Captain, etc.
  1432.  
  1433.   Now, when you want to print this record, just exchange the positions
  1434.   (Refer to Section 7.4.2 - `Swap Position of 2 Fields') of fields 1 and 6,
  1435.   and it will print the way you want it.  After printing, you can just swap
  1436.   them back, or quit bBase without saving the change.
  1437.  
  1438.   This example database also shows another useful method of tagging some
  1439.   records for a particular purpose.  I use a database similar to this
  1440.   example to store the addresses of friends, family, neighbours and
  1441.   acquaintances.  I was going to open a separate database for my Christmas
  1442.   card list, but then thought it would be more efficient to use the same
  1443.   one, since all of the recipients were in that database.
  1444.  
  1445.   So, somewhere in the record of the Christmas card recipients, I added a
  1446.   distinctive word - in this case "xmas".  Now, come December, I open this
  1447.   database, search for "xmas", and all of these records become tagged.
  1448.   I then go to the Print Options Window, select "Print Tagged Records" and
  1449.   "Mailing Label", then click on "Print", and my card list is printed on
  1450.   labels.  The labels then serve as my hard-copy card list, and as I write
  1451.   the cards, I stick the label on the envelope rather than having to
  1452.   address the envelopes by hand.
  1453.  
  1454.   The example shows the word "xmas" in the first field, but if the Notes
  1455.   option is being used, it would probably be neater to stick the word
  1456.   somewhere in the Notes, and use the "Search Notes" menu item to tag the
  1457.   desired records.
  1458.  
  1459.  
  1460.  
  1461. 11.  MAKING AUTO-LOADING ICONS
  1462.  
  1463.   If you examine the included icon "Recipes.info" you will see that it is
  1464.   an ordinary Project icon, whose default tool is "C:IconX".  As you may
  1465.   know, when this icon is double-clicked, IconX will open a window, and
  1466.   look in the Current Directory for an ASCII file called "Recipes", and
  1467.   Execute it.  In this case, the file "Recipes" contains the following
  1468.   single line:
  1469.  
  1470.                        Run bBaseIII_600 -fRecipes
  1471.  
  1472.   Refering to Section 1.7, `Starting bBaseIII', you will see that we are
  1473.   simply using the CLI terminology to run bBaseIII, and therefore any or
  1474.   all of the three startup switches (-i, -s or -f) can be used with an
  1475.   icon.
  1476.  
  1477.   The easiest way to load a database is still to simply click on the
  1478.   bBaseIII icon, then select "Open an Existing Database" from the Project
  1479.   Menu.  If you want to make auto-loading icons for your databases, though,
  1480.   just do the following:
  1481.  
  1482.   Assuming that your database is called "Videos" :
  1483.      1.  Make a copy of the file "Recipes", and Rename it "Videos".
  1484.      2.  With a text editor, change the file "Videos" from
  1485.          "Run bBaseIII -fRecipes" to "Run bBaseIII -fVideos".
  1486.          You can add the -i and/or -s switches if you like.
  1487.      3.  Copy "Recipes.info", and Rename it "Videos.info".
  1488.      4.  Double-click on the "Videos" icon, and, if "IconX" and "Execute"
  1489.          are in your C: directory, where they should be, that's it.
  1490.  
  1491.           NOTE:
  1492.           If you double-click on one of these icons while bBase is already
  1493.           running, it will attempt to load bBase again, and you may get an
  1494.           "Out of Memory" error.
  1495.  
  1496.  
  1497.  
  1498. 12.  THE COMPETITION
  1499.  
  1500.   I have put literally thousands of hours of work into bBase, and I am
  1501.   quite proud of the result.  For various reasons, though, there are
  1502.   limitations in the program, (primarily the number of fields and the
  1503.   number of records), which may make it unsuitable for some purposes.
  1504.  
  1505.   There are other fine non-comercial database programs available, and I
  1506.   would encourage you to try them and compare.  I have looked at most of
  1507.   them, and frankly, I prefer bBase, (could I possibly be biased?).
  1508.   But, some may have features that bBase does not have, which could make
  1509.   them more suitable for you.
  1510.  
  1511.   Following is a list of the programs I have noticed.  Most of them are
  1512.   in the Fred Fish collection, and so are readily available.
  1513.  
  1514.   DataEasy  - Fred Fish 526       WBase    - Fred Fish 653
  1515.   DataFiler - Fred Fish 721       VCRFiler - Fred Fish 721
  1516.   AmigaBase - Fred Fish 792       ProData  - Amiga Format Coverdisk Feb 93
  1517.   Addresser - Fred Fish 767       AMaster  - Fred Fish 827
  1518.   Quickfile - Fred Fish 919
  1519.  
  1520.  
  1521.  
  1522. 13.  A NOTE ON ERROR MESSAGES
  1523.  
  1524.   Listed below are a some of the error messages that could be
  1525.   encountered while using bBase, and a possible solution.
  1526.  
  1527.   *  "Insufficient memory".  This is pretty self-explanitory - bBase is
  1528.      requesting more memory than is available.  Free memory can be
  1529.      increased by deleting items from the T: directory, or quitting
  1530.      other background programs (perhaps a memory cache program?).
  1531.  
  1532.   *  "DEVICE UNAVAILABLE!"  Every time I have received this message, it was
  1533.      due to trying to open a window (Show All Records, Show Tagged Records,
  1534.      View Notes, or even About), when the system had insufficient Chip RAM
  1535.      to do so.  Closing the windows of other runing programs might help.
  1536.  
  1537.   *  "CAN'T FIND PRINTER DRIVER!".  There were five reported cases of this
  1538.      error occurring in bBaseII.  All were from England, and all occcurred
  1539.      when trying to print a database.  The error was caused by independent
  1540.      companies putting bBase on a self-booting disk that contained a
  1541.      Release 1.x "devs/system-configuration" file which assumed a printer
  1542.      driver that was not available.
  1543.  
  1544.      To prevent the error:
  1545.      a)  Copy the "system-configuration" file from your normal boot disk
  1546.          to the bBaseIII self-booting disk, or,
  1547.      b)  Examine the "system-configuration" file on the bBaseIII disk to
  1548.          determine what driver it is looking for, and ensure that driver
  1549.          is located in your "devs/printers" directory.
  1550.  
  1551.  
  1552.  
  1553. 14.  IF YOU HAVE A PROBLEM!
  1554.  
  1555.   If you find that either the Demo or Registered versions of bBase do not
  1556.   perform according to the information found in this documentation, please
  1557.   let me know.  This is your program - you paid for it, and it should work
  1558.   for you.
  1559.  
  1560.   Descriptions of problems are difficult, at best.  To assure a
  1561.   satisfactory solution to your problem, please do the following:
  1562.  
  1563.   1.  Re-read this documentation.  The answer could be right here.
  1564.       If not ...
  1565.  
  1566.   2.  Copy your version of bBase onto a disk, along with a copy of one of
  1567.       the databases that you are having trouble with, and mail it to me,
  1568.       along with a detailed description of the problem, and the steps you
  1569.       must take to make the problem recur.  This will accomplish two
  1570.       things.  First, it will confirm that this is your legitimate,
  1571.       unaltered copy, (refering, of course, to Registered versions), and
  1572.       second, with the problem right in front of me, I will almost
  1573.       certainly be able to ascertain, and perhaps correct, the problem.
  1574.       In any case, I will naturally return your disk, hopefully with the
  1575.       problem corrected.
  1576.  
  1577.   3.  Include in your letter a brief description of your computer system,
  1578.       ie. Amiga model, Workbench version, amount of memory (Chip and Fast),
  1579.       accelerators (if any), etc.  This information will be very useful in
  1580.       trouble-shooting.
  1581.  
  1582.  
  1583.   Thank you for your interest in bBaseIII.  If you have any comments or
  1584.   suggestions regarding this program, I would be pleased to hear from you.
  1585.   All correspondance will be answered.
  1586.  
  1587.      
  1588.  
  1589.           __                        Email to:   (not guaranteed)
  1590.          /_/  __   /_
  1591.      _  /_/  /_/  /_/  _         Bob_Bromley@amusers.victoria.bc.ca
  1592.  
  1593.  
  1594.        Robert Bromley
  1595.        1168 Timber Lane
  1596.        Victoria,   B.C.
  1597.        CANADA   V8Y 1E4
  1598.