home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 637b.lha / bBaseII_v5.32 / bBase_printme.doc next >
Text File  |  1992-05-14  |  32KB  |  857 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                               bBaseII 
  26.  
  27.                          Version 5.32 
  28.  
  29.  
  30.                                      by 
  31.  
  32.  
  33.                         Robert Bromley 
  34.  
  35.  
  36.  
  37.  
  38.  
  39.                                  May 3, 1992
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                                TABLE OF CONTENTS
  69.  
  70.  
  71.       1   INTRODUCTION     ............................................   1
  72.           1.1   What is bBaseII?     ..................................   1
  73.           1.2   Feature Summary      ..................................   1
  74.           1.3   Hardware Requirements     .............................   1
  75.           1.4   Software Requirements     .............................   1
  76.           1.5   Restrictions     ......................................   2
  77.           1.6   Copyright     .........................................   2
  78.           1.7   Starting bBaseII     ..................................   2
  79.  
  80.       2   THE REQUESTERS     ..........................................   2
  81.           2.1   The ARP File Requester     ............................   2
  82.           2.2   The String Requester     ..............................   2
  83.   
  84.       3   THE CURSOR KEYS     .........................................   3
  85.           3.1   If the String Requester is NOT Open     ...............   3
  86.           3.2   If the String Requester IS Open     ...................   3
  87.  
  88.       4   THE SCREEN GADGETS     ......................................   3
  89.  
  90.       5   THE PROGRESS BAR     ........................................   3
  91.  
  92.       6   THE MENUS     ...............................................   4
  93.           6.1   Project Menu     ......................................   4
  94.              6.1.1   Create a New Database      (F1)     ..............   4
  95.              6.1.2   Open an Existing Database  (F2)     ..............   4
  96.              6.1.3   Display Entire Database     ......................   5
  97.              6.1.4   Display Matching Records    ......................   5
  98.              6.1.5   Save the Current Database  (F3)     ..............   5
  99.              6.1.6   Save As     ......................................   5
  100.              6.1.7   About     ........................................   5
  101.              6.1.8   Quit  <Esc>     ..................................   5
  102.           6.2   Sort Menu     .........................................   6
  103.              6.2.1   Incremental Sort  (F4)     .......................   6
  104.              6.2.2   Decremental Sort  (F5)     .......................   6
  105.           6.3   Search Menu     .......................................   6
  106.              6.3.1   Select Search Criteria  (F6)     .................   6
  107.           6.4   Change Menu     .......................................   6
  108.              6.4.1   Field Titles     .................................   6
  109.           6.5   Print Menu     ........................................   6
  110.              6.5.1   Displayed Record  (F8)     .......................   6
  111.              6.5.2   Select Print Options  (F9)     ...................   6
  112.           6.6   Add Menu      .........................................   7
  113.              6.6.1   A Record  (F10)     ..............................   7
  114.           6.7   Delete Menu     .......................................   7
  115.              6.7.1   Displayed Record  <Del>     ......................   7
  116.  
  117.       7   OTHER FEATURES     ..........................................   7
  118.           7.1   The "Disable Save" Option     .........................   7
  119.           7.2   The Companion Program - bBaseII50K     ................   7
  120.           7.3   The Low Memory Warning     ............................   7
  121.           7.4   The Print Options Window     ..........................   8
  122.              7.4.1   Hardcopy Print-outs     ..........................   8
  123.              7.4.2   Mailing Labels     ...............................   9
  124.  
  125.       8   EXAMPLE DATABASE     ........................................   9
  126.  
  127.       9   CREDITS     .................................................   9
  128.  
  129.      10   REVISION HISTORY     ........................................  10
  130.  
  131.  
  132.  
  133.  
  134.      1   INTRODUCTION 
  135.      
  136.      1.1   What is bBaseII?
  137.  
  138.      bBaseII is a full-featured, intuitionized, reasonably fast and, I
  139.      think you will agree, quite an easy-to-use database program.  What it
  140.      does is store, sort, sift, and search for information, (but it won't
  141.      dial your telephone).
  142.  
  143.      Once a database has been loaded from disk, all modifications are done
  144.      in RAM:, and will NOT be permanently saved until the database is Saved
  145.      to disk.  This can be done using the Menu, the Function Keys,
  146.      or upon Quiting.
  147.  
  148.      All functions of bBase may be accessed from Menus.  Most also have
  149.      keyboard equivalents for the hard-core CLIers. It multi-tasks
  150.      extremely well, as it does not burn up CPU time while not actually
  151.      performing operations.
  152.  
  153.      bBaseII was written in HiSoft BASIC Version 1.05, and compiled using
  154.      the HiSoft BASIC Professional compiler.
  155.  
  156.      
  157.      1.2   Feature Summary
  158.  
  159.      Some of the features of bBaseII are:
  160.  
  161.      - Fully intuitionized.
  162.      - Very straightforward and easy to use.
  163.      - Uses a fast (for a BASIC program) shell-sort algorithm.
  164.      - Incremental or decremental sort, on any field.
  165.      - Search in any (or all) field(s).
  166.      - Optionally display entire database, or a filtered list, a screenful
  167.        at a time.
  168.      - Print out a record, a filtered list, or the whole database,
  169.        in many different formats.
  170.      - Prints mailing labels.
  171.      - Optionally disable the "Save to Disk" option to prevent accidental
  172.        alteration of the database.
  173.      - Well-behaved in a multi-tasking environment.
  174.  
  175.      
  176.      1.3   Hardware Requirements
  177.  
  178.      Database programs tend to gobble up large amounts of memory.  bBaseII
  179.      is no exception.  Since bBaseII opens on it's own screen, and reserves
  180.      memory to hold a database in RAM:, it requires about 375K of memory to
  181.      run properly with a FULL 600 record database.  This could be reduced
  182.      if the maximum number of records was reduced, but it was necessary to
  183.      hard-code in something, so that's what I picked.
  184.  
  185.      I would not recommend running bBase on a basic 512 Kb machine.
  186.  
  187.      
  188.      1.4   Software Requirements
  189.  
  190.      The "arp.library" will have to be in your libs: directory, because
  191.      bBase uses the ARP file requester - but everyone should have that
  192.      there by now, right?
  193.  
  194.  
  195.  
  196.                                                                           1 
  197.  
  198.  
  199.      
  200.      1.5   Restrictions
  201.  
  202.      - 9 fields per record.
  203.      - bBaseII: 600 records, or a database of approximately 100K,
  204.        whichever comes first.
  205.      - bBaseII50K: (Refer to Section 7.2 - "The Companion Program"): 600
  206.        records, or a database of approximately 50K, whichever comes first.
  207.           
  208.           NOTE 
  209.           Be careful when the database size exceeds 100K (or 50K for
  210.           bBaseII50K) - it will exit ungraciously if it runs out of memory.
  211.           This is the main reason I limited the maximum number of records.
  212.           Refer to Section 7.3 - "The Low Memory Warning".
  213.  
  214.      
  215.      1.6   Copyright
  216.  
  217.      bBaseII is Copyright (1991) by Robert Bromley.
  218.      All rights are retained by the author.
  219.  
  220.      Use of this program is at your own risk and discretion.
  221.  
  222.      This program is freeware, and may be distributed free of charge.
  223.      Nominal charges for copy media only, are permitted.
  224.  
  225.      
  226.      1.7   Starting bBaseII
  227.  
  228.      From the Workbench; just click on the icon.
  229.  
  230.      From the CLI; usage is:      Run bBaseII [-s] [-fFilename!] 
  231.  
  232.      Including the -s switch will start bBase with Saves Disabled.
  233.  
  234.      Including the -f switch will automatically load the requested database
  235.      file.  If using this switch, do not leave a space between "-f" and the
  236.      filename, and be sure to add an exclamation point (!) immediately after
  237.      the filename.  Also, do not include the ".bbase" extension.   IE. :
  238.  
  239.                       Run bBaseII -s -fDF0:Files/Recipes! 
  240.  
  241.           
  242.           NOTE 
  243.           Naturally, when using the -f switch, no exclamation points
  244.           are allowed in the filename path.
  245.  
  246.  
  247.  
  248.      2   THE REQUESTERS 
  249.      
  250.      2.1   The ARP File Requester
  251.  
  252.      The requester used when asking for a file to Load or Save is the
  253.      standard ARP file requester.
  254.  
  255.      
  256.      2.2   The String Requester
  257.  
  258.      This requester is used for general input.  It has full editing
  259.      capabilities.  It may be blanked at any time by pressing <Alt-X>.
  260.      Any time this requester is open, pressing <Esc> will close it.
  261.  
  262.                                                                           2 
  263.  
  264.  
  265.  
  266.      3   THE CURSOR KEYS 
  267.      
  268.      3.1   If the String Requester is NOT Open:
  269.  
  270.      Pressing the Cursor Up key will take you directly to the First Record.
  271.      The Cursor Down key displays the Last filled Record.
  272.      The Cursor Left key shows the Previous numerical Record, and
  273.      the Cursor Right key will show the Next numerical Record.  
  274.  
  275.      You can also move through the records using the mouse (Refer to
  276.      Section 4 - "THE SCREEN GADGETS").  The VERY last record is always
  277.      blank, which is where additional records may be entered.  This blank
  278.      record is accessed through the "Add" Menu item, or by pressing F10.
  279.  
  280.      
  281.      3.2   If the String Requester IS Open:
  282.  
  283.      Whenever you are in Edit Mode (ie. the string requester is open, so
  284.      that you may Enter or Change data), Cursor Left/Right moves the cursor
  285.      within the gadget, while Cursor Up/Down moves through the fields.
  286.  
  287.  
  288.  
  289.      4   THE SCREEN GADGETS 
  290.  
  291.      The Information Box at the bottom of the screen contains a      / \
  292.      gadget that looks something like that shown at the right.       | |
  293.      This gadget represents the Cursor Keys, and you can move     <== G ==>
  294.      about the database using these gadgets and the mouse            | |
  295.      instead of the Cursor Keys, if you so desire.                   \ / 
  296.  
  297.      Clicking on the Up Arrow will take you directly to the First Record.
  298.      Clicking on the Down Arrow will take you to the Last filled Record.
  299.      The Left Arrow will show the Previous numerical Record to the one
  300.      currently displayed, and the Right Arrow will show the Next Record.
  301.      If the Last Record is currently displayed, this will take you to the
  302.      blank record, where a new record may be entered, although this is more
  303.      easily accomplished by using the "Add" Menu item, or by pressing F10.
  304.  
  305.      Clicking on the "G" in the center of the arrows will bring up the
  306.      string requester, asking for the number of a record to "Goto".
  307.      After entering a legal number, the requested record will be displayed.
  308.  
  309.  
  310.  
  311.      5   The PROGRESS BAR 
  312.  
  313.      When time consuming actions are being performed, ie. Loading,
  314.      Searching, Saving, Sorting, etc., a "progress" bar will appear to
  315.      assure you that "something is happening", and visually display
  316.      to you just how the job is progressing.
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.                                                                           3 
  329.  
  330.  
  331.  
  332.      6   THE MENUS 
  333.  
  334.      bBase operation is best described by the operation of the Menus.
  335.      The keyboard equivalents, where applicable, are shown along with the
  336.      Menu Titles.
  337.  
  338.      
  339.      6.1   Project Menu
  340.      
  341.      6.1.1   Create a New Database  (F1) 
  342.  
  343.      This will bring up the ARP file requester, asking for a name for your
  344.      new database.  Any filename of 20 characters or less will do.
  345.      The requester will then ask how many fields the new database will
  346.      require.  There may be up to 9 fields in each database.  I would
  347.      recommend that you always ask for the whole 9 fields, even if you
  348.      don't expect to use them all.  The extra memory is negligable, but the
  349.      flexability is enormous - and you cannot ask for more later.
  350.  
  351.      You are then asked for the TITLES of each field of the database.
  352.      Each field title may be a maximum of 19 characters long.  A "(1)" will
  353.      appear, along with the string requester.  Enter the title of your
  354.      first field, ie. Last Name, First Name, Company, Address, or anything
  355.      else.  When it is correct, hit <Return>, and a "(2)" will appear on
  356.      the next line with the requester.  Enter the title of the second
  357.      field.  Enter all the field titles in this manner.
  358.  
  359.      The screen will now show all the field titles, an Instruction Box, the
  360.      File Name as first entered, a blank data area, and the Record Number,
  361.      which at this point will be "1".
  362.  
  363.      The data requester will now appear in the first field of the first
  364.      record, ready for you to enter data.  Enter the data.
  365.           
  366.           NOTE 
  367.           Double quotes are not accepted in any data field, as that would
  368.           mess up the alignment of all the following fields.
  369.           Single quotes are OK.
  370.  
  371.      A data entry may be a maximum of 46 characters long.  When it is
  372.      correct, hit <Return> again, and the requester will move to the second
  373.      field.  When all fields are complete, the Record Number will indicate
  374.      "2", and the data area will go blank, (because there is not yet a
  375.      Record Number 2).  Hitting <Return> again will start the process of
  376.      entering data into the second record.  Complete all records in this
  377.      manner.  In this version there is a limitation of 600 records.
  378.  
  379.      If you had been working on an existing database, and it had been
  380.      altered, you would have been asked if you wanted to Save it before
  381.      creating a new one.
  382.      
  383.      6.1.2   Open an Existing Database  (F2) 
  384.  
  385.      If you have previously created a database, and the
  386.      "Database_name.bbase" file is stored on a disk, then use this item to
  387.      access that database.  If you are working on an existing database, and
  388.      it has been altered, you will be asked if you want to Save it before
  389.      loading another.  Enter the path to the database file in the requester,
  390.      and that database will be retrieved and shown on screen.  Only files
  391.      having the extension ".bbase" will be initially displayed.  Use the 
  392.      Cursor keys or mouse to move about the database.  Refer to Section 3 -
  393.      "THE CURSOR KEYS", and Section 4 - "THE SCREEN GADGETS".
  394.                                                                           4 
  395.  
  396.  
  397.  
  398.      While a record is displayed, the Information Box will instruct you to
  399.      press "<Return> to Change Data".  Do so, and the requester will appear
  400.      in the first field, with that field's data. <Return> or Cursor Up/Down
  401.      to the field you want to change, and make the changes.  At this point,
  402.      you may either <Return> through all fields, or press F10 to exit the
  403.      Editing Mode.  The altered record will be displayed.
  404.           
  405.           NOTE 
  406.           ANY time you are in Edit Mode, whether Entering, Changing or
  407.           Searching for data, pressing F10 will exit the Edit Mode, and use
  408.           the data shown when you exited.
  409.      
  410.      6.1.3   Display Entire Database 
  411.  
  412.      If you want to quickly glance at more than one record at a time,
  413.      this will open a full-sized screen, and display the first 70 or so
  414.      characters of ALL records, one record to a line.
  415.  
  416.      The display will pause after each 23 records - click on "Next Page" or
  417.      press any key to see the next screenful, or click on "Prev Page" to
  418.      see the preceding page.  Click on "Cancel", or Press <Esc> to leave
  419.      this function.  If you see a record you want to examine in detail,
  420.      just click on it.  You will then exit the Display window, and return
  421.      to the Main Screen, with the requested record displayed.
  422.      
  423.      6.1.4   Display Matching Records 
  424.  
  425.      This works the same as the previous item, except that ONLY those
  426.      records that matched the most recent Search pattern, at the time
  427.      the search was made, are displayed.  
  428.      (Refer to Section 6.3 - "Search Menu").
  429.      
  430.      6.1.5   Save the Current Database  (F3) 
  431.  
  432.      If the database has been altered since last saved, it will be Saved
  433.      to disk under the current filename, after confirmation.  The file
  434.      will have the extension ".bbase" automatically appended.
  435.  
  436.      If it has NOT been altered, you will be so informed, and given
  437.      the oportunity to abort the Save.
  438.      
  439.      6.1.6   Save As 
  440.  
  441.      You will be prompted for a name to Save the database.
  442.           
  443.           NOTE 
  444.           Do NOT include the ".bbase" extension at this time.
  445.           It will be appended automatically.
  446.      
  447.      6.1.7   About 
  448.  
  449.      The usual stuff.
  450.      
  451.      6.1.8   Quit  <Esc> 
  452.  
  453.      If the database has been altered, you will be asked if you want to
  454.      Save it before Quiting.
  455.  
  456.  
  457.  
  458.  
  459.  
  460.                                                                           5 
  461.  
  462.  
  463.      
  464.      6.2   Sort Menu
  465.  
  466.      You may sort the records in the database based on the data in any
  467.      field.  The Sort routine is very efficient for a BASIC program.
  468.      
  469.      It will sort 200 records in less than 10 seconds on a standard A2000.
  470.      As the database size increases, naturally it tends to slow down.
  471.      
  472.      6.2.1   Incremental Sort  (F4) 
  473.  
  474.      The requester will ask which field you want to sort on.  The records
  475.      will be incrementally sorted on that field, and Record Number 1 of
  476.      the new list will be shown.
  477.      
  478.      6.2.2   Decremental Sort  (F5) 
  479.  
  480.      Same as above, but records are sorted and displayed from Z-A, or 9-0.
  481.  
  482.      
  483.      6.3   Search Menu
  484.      
  485.      6.3.1   Select Search Criteria  (F6) 
  486.  
  487.      The requester will appear in the first field of a blank record.  
  488.      <Return> or Cursor Up/Down down to the field that contains the data
  489.      you want to search for.  Enter the search string in that field.
  490.      A search string may be entered in more than one field.  When all the
  491.      criteria has been entered, <Return> through all the fields, or press
  492.      F10.  All records that match ALL the search criteria will be
  493.      displayed, one by one.  When a record is found, you may Print it, 
  494.      Cancel the search, Continue searching, or Review all the records that
  495.      match that Search pattern.  (Refer to Section 6.1.4 - "Display 
  496.      Matching Records").  Search is NOT case dependent.
  497.  
  498.      
  499.      6.4   Change Menu
  500.      
  501.      6.4.1   Field Titles 
  502.  
  503.      Use this item to change the Template, ie. the Titles of your fields.
  504.      The NUMBER of fields may not be changed.  The data itself is
  505.      unaffected by this procedure.
  506.  
  507.      
  508.      6.5   Print Menu
  509.      
  510.      6.5.1   Displayed Record  (F8) 
  511.  
  512.      This item will first ask how many fields are to be printed, and then
  513.      in which column position, from 1 to 80, to start printing (in case you
  514.      want to print a mailing label, or directly onto an envelope).  It will
  515.      then send all characters of the requested number of fields of the
  516.      currently displayed record to the PRT: device.
  517.      
  518.      6.5.2   Select Print Options  (F9) 
  519.  
  520.      Opens the Print Options Window from which various formats of hardcopy
  521.      print-outs and mailing labels may be chosen.
  522.      Refer to Section 7.4 - "The Print Options Window".
  523.  
  524.  
  525.  
  526.                                                                           6 
  527.  
  528.  
  529.      
  530.      6.6   Add Menu
  531.      
  532.      6.6.1   A Record  (F10) 
  533.  
  534.      Positions you at the last (empty) record, with the input requester
  535.      open, ready for you to enter data into the first field.  Use the
  536.      <Esc> key to back out if you arrived here by mistake.
  537.  
  538.      
  539.      6.7   Delete Menu
  540.      
  541.      6.7.1   Displayed Record  <Del> 
  542.  
  543.      After confirmation, the record currently displayed is Deleted.
  544.  
  545.  
  546.  
  547.      7   OTHER FEATURES 
  548.      
  549.      7.1   The "Disable Save" Option
  550.  
  551.      As a simple security device, mainly as a guard against someone
  552.      accidentally altering or erasing data, I have added an option which
  553.      will disable the ability to save database changes to disk.  
  554.  
  555.      To disable Saves, simply press "Alt - S" simultaneously.  The titlebar
  556.      will briefly inform you that Saves are disabled, and now any attempt
  557.      to Save the database to disk will be circumvented.  In this case, upon
  558.      Quiting, a requester will ask if you want to Save the database
  559.      (as usual).  If you select "Save", a second requester will inform you
  560.      that the Save option has been disabled.  To Save the database, at the
  561.      next requester, "Do you Really want to Quit?", select "Cancel",
  562.      re-enable Saves, and Quit again.
  563.  
  564.      If you are running bBase from the CLI, using the "-s" flag on the
  565.      command line will start bBase with the Saves already disabled.
  566.  
  567.      The "Alt - S" combination will toggle between Save Enabled and Save
  568.      Disabled.  The titlebar message will keep you informed of the current
  569.      status as it changes.
  570.  
  571.      
  572.      7.2   The Companion Program - bBaseII50K
  573.  
  574.      I am including in this package a companion program (bBaseII50K) for
  575.      those users who are having memory problems while running bBaseII.
  576.      bBaseII50K is identical to bBaseII except that it reserves about 100K
  577.      less memory for operation, and has a database limit of about 50K.
  578.  
  579.      If anyone should need a database of more than 600 records, and have
  580.      the memory to support it, no problem - just let me know!
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.                                                                           7 
  593.  
  594.  
  595.      
  596.      7.3   The Low Memory Warning
  597.  
  598.      When bBaseII is run, it reserves about 200K of memory, (bBaseII50K is
  599.      less) to use for database storage in RAM, arrays, etc.  No matter how
  600.      much RAM your computer has, this is all that is available to bBase!
  601.      When a database is first loaded (and only then), bBase will check
  602.      the available memory left in the program pool.  If the memory
  603.      available to bBase is less than 2K, this means that you have a
  604.      humungous database of over 100K, and only another 5-10 records may be
  605.      added before the program will crash.  In this case, you will be
  606.      advised of the situation.  Press any key to cancel the warning.
  607.      The recommended action is: 
  608.  
  609.         1.  If you are using bBaseII50K, start using bBaseII.
  610.         2.  If you are using bBaseII, delete some old records.
  611.         3.  Give me a call.  We can get you a larger version.
  612.         4.  Upgrade from bBase to dBase.
  613.           
  614.           NOTE 
  615.           If you are loading a new database after having just finished
  616.           work on another, it is possible get get a false warning here.
  617.           If you know your database size is within limits, I think
  618.           you can safely disregard the warning in this circumstance. 
  619.  
  620.      
  621.      7.4   The Print Options Window
  622.  
  623.      Choosing "Select Print Options" (from either the Print Menu, or by
  624.      pressing F9) opens the Print Options Window.  All selections in this
  625.      window are made using the mouse.  At the top, there are gadgets to
  626.      select either "Print All Records" or "Print Matching Records".
  627.      Print All Records will do just that.  Print Matching Records will
  628.      print all records which matched the most recent Search pattern, at the
  629.      time the Search was made.  Another gadget, "Bold", allows you to
  630.      select either Bold or Normal print styles.  This gadget is a toggle.
  631.      At the bottom are gadgets labeled "Cancel", "Help" and "Print!".
  632.      "Cancel" is self-explanitory.
  633.      "Help" opens a Help Window which explains the terms used in the
  634.      Print Options Window, so this information is not included here.
  635.      "Print!" will print the selected records using the selected format,
  636.      (assuming your printer is turned on).
  637.      
  638.      7.4.1   Hardcopy Print-outs 
  639.  
  640.      Database print-outs can be obtained in these formats:
  641.  
  642.      Adjacent Single Line - Pica           Aligned Single Line - Pica
  643.      Adjacent Single Line - Elite          Aligned Single Line - Elite
  644.      Adjacent Single Line - Condensed      Aligned Single Line - Condensed
  645.      Block,  2 across          Block,  3 across          Super Space Saver
  646.  
  647.      These are explained in the Help Window, but try them all, and see
  648.      which one (or more) best suits your needs.
  649.  
  650.      Along the top of the Data Area are 4 white pixels.  These pixels will
  651.      align with the data entry cursor at the 24, 25, 38 and 43 character
  652.      positions.  As some of the above print-outs are truncated to these
  653.      number of characters (Refer to the Help Window), they are a guide to
  654.      indicate that the data beyond will not be printed when some print
  655.      options are selected.
  656.  
  657.  
  658.                                                                           8 
  659.  
  660.  
  661.      
  662.      7.4.2   Mailing Labels 
  663.  
  664.      Mailing labels of 15/16 inch, and 1 7/16 inch, in 1-across roll type,
  665.      and 2 or 3-across sheet type are all supported.
  666.  
  667.      If you have selected a mailing label option in the Print Options
  668.      Window, when you click on "Print!" another window will open, asking
  669.      whether your labels are 1, 2 or 3-across, and how many fields of your
  670.      database you want printed on the label.  Once this information is
  671.      received, the printing operation will start.
  672.  
  673.      If you tell bBase you want, for example, 4 fields printed, then the
  674.      first 4 fields will be printed, in numerical order.  It is the users
  675.      responsibility, if this function is used, to organize the database in
  676.      such a manner that the proper information is printed.
  677.  
  678.      Due to the size constraints of the labels, there are limits on the
  679.      number of characters of each field, and the number of fields, that
  680.      this function will print.  This information is in the Help Window.
  681.  
  682.      I confess that this is my first attempt at this sort of thing.
  683.      To date, I have never used a mailing label in any program.  It was,
  684.      however, requested by several individuals, and I have done my best to
  685.      implement it, although doing so has increased the size of bBase
  686.      considerably.  As always, I am open to any and all suggestions.
  687.  
  688.  
  689.  
  690.      8   EXAMPLE DATABASE 
  691.  
  692.      There is an example database included in this package.  Everyone uses
  693.      the Name and Address example, so I opted for something different.
  694.      The file "Recipes.bbase" is a sample database showing one way of
  695.      keeping track of recipes, without having to re-type them all.
  696.      It merely shows where they can be found when needed.  With this
  697.      database you can Sort the recipes by Name, Catagory, or anything else.
  698.      You can Search for all recipes containing a listed ingredient, recipes
  699.      you have already served to given people, or just the location of the
  700.      recipe if you have forgotten which of your 647 recipe books it is in.
  701.      I have found this to be very useful.
  702.  
  703.  
  704.  
  705.      9   CREDITS 
  706.  
  707.      My thanks to Peter Keegan, of Harvard, MA; Bobby Foreman, of West
  708.      Sacramento, CA; James Withgott of Orland Park, IL, David Prothero, of
  709.      Centralia, WA; Reinhard Pfluger, of Mannheim, Germany; and Brad Kane,
  710.      of Palmdale, CA, for taking the time to write in and suggest some of
  711.      the improvements to bBase, and to Edward Shaw, of Lexington, KY,
  712.      for his support of bBaseII.
  713.  
  714.  
  715.      I know the program still far from perfect.  If anyone else out there
  716.      is actually using this thing, I would appreciate some constructive
  717.      criticism.  If writing, be sure to mention which version of bBase
  718.      you are using.  Name and address in "About".
  719.  
  720.      Hope someone finds this useful.
  721.  
  722.      Bob
  723.  
  724.                                                                           9 
  725.  
  726.  
  727.  
  728.      10   REVISION HISTORY 
  729.  
  730.      Version 1:     First release - May 1991
  731.  
  732.      Version 2:     Internal
  733.  
  734.           - Added F10 shortcut to quit editing.
  735.           - Added <Esc> to return directly to program.
  736.           - May now cursor up/down through fields while editing.
  737.           - Added the ability to specify a database on the command line.
  738.           - Added <Esc> to Quit via keyboard.
  739.           - Added the "Add a Record" menu item.
  740.           - Bug fixes.
  741.  
  742.      Version 3:     Internal,  September 1991
  743.  
  744.           - Added the "Display Entire Database" and "Display Matching
  745.             Records" menu items.
  746.           - Add "Print Matching Records" menu item.
  747.           - Changing the maximum number of records was causing crashes.
  748.             Hard-coded maximum at 600 records, and alloted memory
  749.             accordingly.
  750.           - Added the -s and -f command line options.
  751.           - Changed colors to make the screen more readable.
  752.           - Added the Progress Bar.
  753.           - Changed the sort algorithm from Bubble to Shell.  Much faster.
  754.           - More bug fixes.
  755.  
  756.      Version 4:     Internal,  October 1991
  757.  
  758.           - Can now go directly to a record from the "Display Entire
  759.             Database" and "Display Matching Records" windows, by clicking
  760.             on it.
  761.           - Field Titles now stay neater after being changed.
  762.  
  763.      Version 5.0:     77172 bytes.     Released November 1991
  764.  
  765.           - The Sort algorithm is now case independent.
  766.           - Added the Low Memory Warning.
  767.           - Bad bug: If the database was sorted decrementally, on a field
  768.             which was blank in some records, and a record was deleted,
  769.             one record's data would become corrupted.  Now fixed.
  770.           - When Displaying Entire Database, or Matching Records, you can
  771.             now back up, and display the Previous Page.
  772.           - Still more bug fixes.
  773.  
  774.      Version 5.3:     98544 bytes.     Released January 1992
  775.  
  776.           - Added hardcopy print-out options.
  777.           - Added support for mailing labels.
  778.  
  779.      Version 5.31:     99448 bytes.     Limited Release, April 1992
  780.  
  781.           - A 1000 record version of 5.3, with some bugs fixed.
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.                                                                          10 
  791.  
  792.  
  793.  
  794.      Version 5.32:     98764 bytes.     Released May 1992
  795.  
  796.           - A bug in V5.3 would crash the program if the default of 9
  797.             fields was accepted, while Creating a New Database.  Corrected.
  798.           - Using the "-f" switch would sometimes cause an "Illegal
  799.             Function Error".  Corrected by requiring an "!" to be placed
  800.             at the end of the filename.
  801.           - In an attempt to eliminate extraneous characters, the Input
  802.             Requester would not allow input of characters > Ascii 126.
  803.             Without thinking, I was hampering European users.
  804.             Ascii values of 140-255 are now also accepted.
  805.           - When using the Print Displayed Record (F8) option, the first
  806.             line of the database was sometimes being printed 4-6 characters
  807.             to the left of the requested column.  At other times, a blank
  808.             line was inserted first, before printing the remainder
  809.             correctly.  These problems have been corrected.
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.                                                                          11 
  857.