home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / zip / other / grocry30.lzh / GROCRY30 / GROCERY.TXT < prev    next >
Text File  |  1993-04-24  |  48KB  |  1,000 lines

  1.      
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                              THE GROCERY LISTER
  18.       
  19.                                 Version 3.0 
  20.  
  21.                              by  Randy Hoekstra
  22.  
  23.                                  March 1993
  24.  
  25.  
  26.                     Copyright 1992, 1993 Randy Hoekstra
  27.                             All Rights Reserved
  28.  
  29.                This version is SHAREWARE, but may distributed 
  30.             in it's unaltered form with this document included. 
  31.  
  32.  
  33.  
  34.                              Special Thanks to:
  35.                             --------------------
  36.                                Beta Testers -
  37.                                 Sam & LuAnn Graf
  38.                                 Scott Eakins
  39.                                 Phillip Zampino
  40.                                 David Mackenzie
  41.  
  42.                     And all the GEnie users who provided
  43.                      the great feedback and suggestions
  44.                              for enhancements.
  45.  
  46.  
  47.                                                             Page i
  48.      
  49.      
  50.      
  51.      * Changes for version 3.0 (04/93):
  52.  
  53.        - This version is SHAREWARE.  See below to find out how
  54.          to register and get your copy fully functional.
  55.        - Once again a major change has been made in the format of  
  56.          data saved to disk due to enhancements noted below. This  
  57.          resulted in the need for a program to convert grocery  
  58.          files from version 2.x format to 3.0 format. The program  
  59.          is GDTCONV3.PRG.  Version 2.x saved grocery lists can not  
  60.          be converted to version 3.0 format. 
  61.        - The grocery list is now independent of the grocery file. 
  62.          You can now have multiple grocery lists from a given  
  63.          grocery file or a given grocery list can be made up of  
  64.          items from different grocery files.  The grocery lists  
  65.          can be saved or loaded at will and filenames are  
  66.          determined by the user. (Sorry, still only one grocery  
  67.          list in memory at a time) 
  68.        - Three new fields added to the grocery item; aisle number,  
  69.          coupon, and taxable status.  Aisle numbers can be 0-99 and
  70.          a name can be defined for the aisle number for use in
  71.          printouts.  The coupon field is used to indicate if you
  72.          have a coupon for the given item.  The taxable status is 
  73.          is used to indicate items that are taxable and for those  
  74.          items a tax rate defined in the OPTIONS dialog will be
  75.          used to calculate sales tax. 
  76.        - Auto loading of both grocery file and grocery list when  
  77.          the program is first launched. 
  78.        - Fully editable grocery items. 
  79.        - Choose between printing to disk or printer. 
  80.        - An OPTIONS dialog allowing for user controlled settings  
  81.          of default filenames, sort by item or aisle, auto sorting  
  82.          of the grocery list, aisle names, printer control codes,  
  83.          form feed, two column printing, and aisle name printing.  
  84.          These settings can be saved to disk and some are also  
  85.          saved with the grocery file and grocery list, allowing  
  86.          for different files to have different configurations.
  87.          (Options are only available to registered users)
  88.        - ASCII file viewing via a third window at the bottom 
  89.          of the screen (open only when viewing a file).
  90.        - Import of new grocery items from ASCII files.
  91.          (Import is only available to registered users)
  92.        - A single hot key for editing highlighted items (Help key)
  93.        - The grocery list window can be moved around on the screen.
  94.          The grocery file and ascii window will be repositioned
  95.          relative to the new position of the list window.
  96.        - A hot key to toggle a coupon reminder field for the selected
  97.          item (TAB key).
  98.        - Hot keys to toggle the sort by aisle/item option for the
  99.          grocery list and grocery file (^I and ^N respectively).
  100.        - Increased the quantity limit to 99 items.
  101.        - Page up/down with shift+up/down arrow in all windows.
  102.        - GL can now be installed as an application to run when either
  103.          grocery list or grocery files are double clicked.
  104.                
  105.          * See bottom of file for complete revision history.
  106.  
  107.  
  108.  
  109.                                                             Page ii
  110.  
  111.      
  112.      
  113.      About the Author: 
  114.      -----------------  
  115.        Believe it or not, The Grocery Lister has been around  since the 
  116.      early 1980s.  It started out on an Atari 400 (with  48K memory 
  117.      upgrade!) while I was struggling to complete college on my wife's 
  118.      humble salary as a secretary (as she struggled to put up with her 
  119.      job until she could work her way into the computer department and 
  120.      put her CS degree to use). Money was scarce back then and we had 
  121.      to squeeze all we could out of our grocery dollar.  So I decided 
  122.      to write this program to help budget our grocery bills.  It was 
  123.      used frequently back then, and later when I upgraded to an ST 
  124.      (having graduated and both of us working), it seemed only logical 
  125.      to port it over.  It wasn't used nearly as often on the ST 
  126.      (grocery money was no problem on two incomes), but it was used by 
  127.      other family members and a few people on the local bulletin boards 
  128.      and I continued to enhance it now and again when I had the chance.  
  129.      Over the years we have had two kids, given up one income, acquired 
  130.      two cars, a mortgage and all the related bills, and The Grocery 
  131.      Lister seems to be getting much more useful again.
  132.      
  133.        In the Fall of 1992 I signed up with GEnie on-line service 
  134.      and decided to upload the program there.  I have since seen the 
  135.      program appear on various public domain disks and have received 
  136.      some good feedback from users on GEnie.  Since it appears to be of 
  137.      some use to others, I have decided to get serious and make it as 
  138.      'clean' as possible.  Version 2.0 was the beginning of what I hope 
  139.      to be a number of worthwhile updates.  I have already received 
  140.      numerous suggestions, many of which have now been implemented in 
  141.      version 3.0.  I have   spent many long hours at the keyboard 
  142.      trying get 3.0 done as soon as possible.  To justify this expense 
  143.      I have decided to make version 3.0 SHAREWARE.  I do hope to 
  144.      continue getting feedback and suggestions from users, but I do ask 
  145.      for a small fee to make my continued efforts worthwhile.
  146.  
  147.      SHAREWARE:
  148.      ----------
  149.        The Grocery Lister 3.0 is SHAREWARE and the OPTIONS & IMPORT 
  150.      dialogs will only be available to registered users.  I have spent 
  151.      a lot of time developing this program and I feel that while it is 
  152.      at least of commercial quality, I can offer the user a better deal 
  153.      through SHAREWARE.  The SHAREWARE fee is $15.00 and though I do 
  154.      not expect to make a lot of money off this, I do hope to be able 
  155.      to justify my efforts and be encouraged to continue on with this 
  156.      and other projects.  In return, you will receive a fully 
  157.      functional program at a very reasonable price, free updates and 
  158.      technical support, and the comfort of knowing you did the right 
  159.      thing.  Besides, The Grocery Lister will save you more than enough
  160.      on grocery bills to cover the cost of the SHAREWARE fee.
  161.  
  162.      To Register:
  163.      ------------
  164.      Send your name, address, system configuration, and $15.00 to:
  165.      
  166.        Randy Hoekstra             or    Contact me on GEnie at  
  167.        3414 Norwood Circle              GEmail address R.HOEKSTRA1.
  168.        Richardson, Texas  75082         SHAREWARE fee can be paid
  169.                                         with GEnie gift of time.
  170.      
  171.      
  172.  
  173.                                                             Page iii     
  174.      
  175.      
  176.      
  177.      Table of Contents
  178.      -----------------
  179.      
  180.      About the program.....................................   1
  181.      
  182.      The Grocery Lister Features...........................   1
  183.      
  184.      Getting Started.......................................   2
  185.      
  186.      Registering The Grocery Lister........................   2
  187.      
  188.      The Main Screen.......................................   3
  189.      
  190.      The DESK Menu.........................................   5
  191.      
  192.      The FILE Menu.........................................   5
  193.      
  194.      The EDIT Menu.........................................   8
  195.      
  196.      The PRINT Menu........................................  11
  197.      
  198.      Limitations...........................................  11
  199.      
  200.      Revision History......................................  12
  201.      
  202.      
  203.      
  204.                                                             Page 1
  205.      
  206.      
  207.      
  208.      About the program:
  209.      ------------------
  210.      
  211.        The Grocery Lister is a household utility program that allows 
  212.      you to compile a list of grocery items complete with current price 
  213.      and total estimated cost.  The Grocery Lister can be used to 
  214.      determine approximately how much you will spend at the store if 
  215.      you know the items that you need.  It can also be used as a budget 
  216.      tool to allow you to select the items you most need or want if you 
  217.      only have a fixed amount to spend.  With a small amount of 
  218.      database maintenance work each time you buy groceries you will be 
  219.      able to maintain a fairly accurate file of the items which you 
  220.      regularly purchase.  This file can be very useful to remind you of 
  221.      items which you may need as you compile your grocery list. 
  222.      Finally, for those who have 'errand boys' do the shopping, The 
  223.      Grocery Lister will generate a very neat and easy to read printout
  224.      of the current grocery list.
  225.      
  226.      
  227.      The Grocery Lister Features:
  228.      ----------------------------
  229.      
  230.      In addition to the basic grocery list function described above, 
  231.      The Grocery Lister has the following advanced features:
  232.      
  233.      - User assignable default file names for automatic loading of the
  234.        grocery file and grocery list when the program is run.
  235.      
  236.      - Keyboard equivalents for nearly all commands, including special
  237.        'hot' keys for quickly changing some option settings.
  238.      
  239.      - Aisle number indicator from 0 to 99 for each grocery item.
  240.        Aisle names can be assigned to each number for use in printouts.
  241.        
  242.      - Taxable status for each item to indicate if sales tax should
  243.        be added to the total when the item is added to the grocery 
  244.        list. 
  245.      
  246.      - A coupon reminder field for each item to indicate when you have
  247.        a coupon for that item.
  248.      
  249.      - Independently sorted grocery list and grocery file by either
  250.        item name or aisle number.
  251.      
  252.      - Flexible printer options allowing for printing aisle names,
  253.        two column printing, print to disk, and user defined printer
  254.        codes.
  255.      
  256.      - ASCII file viewing for looking at notes, recipes, etc. while
  257.        compiling your grocery list.
  258.      
  259.      - Flexible ASCII import feature to allow importing grocery items
  260.        from other databases or grocery store files.
  261.      
  262.      
  263.      
  264.                                                             Page 2
  265.      
  266.      
  267.      
  268.      Getting Started:
  269.      ----------------
  270.      
  271.      You've heard it a million times, but it really is a good idea to
  272.      back up your disk or archive file before you do anything else.
  273.      
  274.      The Grocery Lister package contains the following files:
  275.      
  276.       GROCERY.PRG  - The program itself
  277.       GROCERY.RSC  - The resource file
  278.       GROCERY.TXT  - This document
  279.       DEFAULT.GDT  - Sample grocery database file
  280.       DEFAULT.GLD  - Sample grocery list file
  281.       GDTCONV3.PRG - Program for converting old grocery files
  282.      
  283.      Copy these files to a working disk or hard drive partition, in
  284.      a folder or directory of your choice.  The program and resource
  285.      files must remain in the same folder or directory, but the other
  286.      files may be located as desired.
  287.      
  288.      Simply double click the program file icon or name to begin
  289.      putting The Grocery Lister to work for you.
  290.      
  291.      
  292.      Registering The Grocery Lister:
  293.      -------------------------------
  294.      
  295.      A fully functional program is only available to registered users.
  296.      If you obtained this demo mode program from a public domain
  297.      source, you will need to send your registration information to
  298.      the author along with $15.00 in order to receive a serial number
  299.      and validation code.
  300.      
  301.      Send your name, address, system configuration, and $15.00 to:
  302.      
  303.        Randy Hoekstra             or    Contact me on GEnie at  
  304.        3414 Norwood Circle              GEmail address R.HOEKSTRA1.
  305.        Richardson, Texas  75082
  306.      
  307.      When you first run the program in demo mode, an 'About...'
  308.      dialog will be displayed and wait for you to either click
  309.      'MORE!' or 'OKAY'.  If you select 'OKAY', the program will
  310.      continue to execute in demo mode.  If you select 'MORE!' you
  311.      will be able to enter your name, serial number, and validation
  312.      code provided by the author when you registered.  Once this
  313.      information has been entered, it will be saved in the
  314.      GROCERY.OPT file and the program will automatically enter
  315.      registered mode whenever it is run.  If you should ever lose
  316.      the GROCERY.OPT file, you will need to enter the registration
  317.      info again.
  318.      
  319.      The registration dialog can also be reached from inside the
  320.      program by selecting the 'About Grocery...' command from under
  321.      the Desk menu.
  322.      
  323.      If you obtained this program directly from the author, your
  324.      registration info will already be entered in the GROCERY.OPT
  325.      file, but you may need to re-input it if that file is lost.
  326.      
  327.      
  328.                                                             Page 3
  329.      
  330.      
  331.      
  332.      The Main Screen:
  333.      ----------------
  334.      
  335.      The main screen of The Grocery Lister provides a simple GEM 
  336.      interface with a menu bar and two GEM windows.  The window on the 
  337.      left is the grocery list window and displays grocery items once 
  338.      they have been added to the list.  The window on the right is the 
  339.      grocery file window and displays the grocery database for 
  340.      selecting items to add to the grocery list.
  341.      
  342.      The Grocery File Window (right side of screen):
  343.      
  344.      In the grocery file window, items are displayed as follows:
  345.      
  346.        Milk (one gallon)     10 C +  2.99
  347.        -------------------   -- - - -----
  348.        \                     \  \ \   \
  349.         \                     \  \ \   Item Price (5 chrs)
  350.          \                     \  \ \
  351.           \                     \  \ Taxable Status (1 chr)
  352.            \                     \  \
  353.             \                     \  Coupon Reminder (1 chr)
  354.              \                     \
  355.               \                     Aisle Number (2 chrs)
  356.                Item Name (20 chrs)
  357.      
  358.      A selected item is displayed on top of a black highlight bar. 
  359.      Items are automatically selected under the mouse arrow, or if the 
  360.      mouse arrow is outside of the grocery file window, the highlight 
  361.      bar can be moved up or down by pressing the up arrow key or down 
  362.      arrow key respectively.
  363.      
  364.      A selected item can be added to the grocery list by clicking the 
  365.      left mouse button while the grocery file window is active and the 
  366.      desired item is highlighted.  Once an item is added to the grocery 
  367.      list, it's quantity can be increased by clicking again with the 
  368.      left mouse button.  The quantity can be decreased by clicking with 
  369.      the right mouse button and by clicking the right mouse button for 
  370.      an item with a quantity of 1, the item will be removed from the 
  371.      grocery list.  Item quantity can also be increased or decreased by 
  372.      pressing the left or right arrow keys respectively.
  373.      
  374.      The Grocery List Window (left side of screen):
  375.      
  376.      In the grocery list window, items are displayed as above with the 
  377.      addition of a 2 character Item  to the left of the item 
  378.      Name.  When the grocery list window is active, item quantity can 
  379.      be increased or decreased by clicking with the left or right mouse 
  380.      button while the mouse arrow is pointing at the desired item in 
  381.      the grocery list.  Also while the grocery list window is active, 
  382.      the arrow keys can be used to scroll the grocery list (UP/DOWN 
  383.      arrow keys) or page forward or page backward (RIGHT/LEFT arrow 
  384.      keys).
  385.      
  386.      At the top of the grocery list window is an information line which 
  387.      contains the number of items in the list and the total estimated 
  388.      cost.  This total includes tax on taxable items.
  389.      
  390.      
  391.                                                             Page 4
  392.      
  393.      
  394.      
  395.      The grocery list window can be made active by pressing the INSERT 
  396.      key and the grocery file window can be made active by pressing the 
  397.      CLR/HOME key.
  398.      
  399.      Keyboard Commands:
  400.      
  401.      Most menu commands can be activated from the main screen by using 
  402.      an equivalent control-key combination (see menu commands below).
  403.      
  404.      Additional key commands available from the main screen are 
  405.      as follows:  ( ^key is used to indicate CONTROL+key)
  406.      
  407.      [TAB]  - With the grocery file window active, the TAB key will
  408.               toggle the coupon reminder field of the selected item.
  409.      [HELP] - With the grocery file window active, the HELP key will
  410.               bring the EDIT dialog the same as selecting the EDIT
  411.               ITEM command in the EDIT menu or pressing ^E.
  412.      ^I     - This will toggle the grocery list between sorting by
  413.               item name and aisle number.
  414.      ^N     - This will toggle the grocery file between sorting by
  415.               item name and aisle number.
  416.      A to Z - With the grocery file active any key A to Z can be
  417.               pressed to cause items beginning with the selected
  418.               letter to be displayed.
  419.           
  420.      Arrow keys can be used for scrolling in any window as noted
  421.      above.  In the ASCII file window, the UP/DOWN arrow keys scroll
  422.      one line at a time and the LEFT/RIGHT arrow keys scroll one
  423.      page at a time.
  424.  
  425.      All windows can be paged up or paged down by pressing SHIFT plus 
  426.      UP arrow or SHIFT plus DOWN arrow keys respectively.
  427.      
  428.      When the grocery file window is active, you can also scroll the
  429.      items displayed by moving the mouse arrow just above or just
  430.      below the display area of the window.  There is a small region
  431.      just above and just below this display area that will cause
  432.      scrolling whenever the mouse enters one of these areas.
  433.  
  434.      When the grocery list window is active, it's title bar can be
  435.      selected (by pressing and holding the left mouse button) and
  436.      the window can be moved anywhere on the screen.  Once the window
  437.      is moved and the mouse button is released, the grocery file
  438.      window (and ASCII window if it is open) will be repositioned
  439.      relative to the new location of the grocery list window.  This
  440.      is only useful for users with large screen monitors or multi-
  441.      tasking systems with multiple windows on a small screen.
  442.      
  443.      
  444.      
  445.                                                             Page 5
  446.      
  447.      
  448.      
  449.      THE GROCERY LISTER MENU COMMANDS 
  450.      ================================
  451.      
  452.      The DESK menu:
  453.      --------------
  454.      
  455.      About Grocery... - This command displays the version, copyright
  456.      ----------------   and registration status for the program. To
  457.      exit the dialog, simply select 'OKAY'.  If the program is not
  458.      registered, you can select 'MORE!' to display the registration
  459.      dialog and enter your registration information.  If the program
  460.      is registered, 'MORE!' will display some additional information
  461.      about the program and how to contact the author.
  462.      
  463.      Additional accesories are may be available under the DESK menu,
  464.      depending on your system configuration.  Most ACCs work correctly
  465.      with The Grocery Lister, but some that do not use a GEM window
  466.      may have display problems with the highlight bar in the grocery
  467.      file window.  To avoid this problem, make sure the grocery file
  468.      window is NOT active before selecting an ACC from the DESK menu.
  469.      
  470.  
  471.      The FILE menu: 
  472.      --------------
  473.      
  474.      Open Grocery File ^O - Use this command to load a grocery file
  475.      --------------------   database file into memory.  Once loaded  
  476.      the file may be used to select items for a  current grocery
  477.      list or it may be edited as desired (see the EDIT menu).   
  478.  
  479.      When the grocery file is loaded, the following options
  480.      will also be loaded and will overwrite their current
  481.      settings in the OPTIONS dialog: sort by item or aisle,
  482.      tax rate, and aisle names.
  483.  
  484.      Note:  If a default filename is set in the OPTIONS dialog,
  485.             that file will automatically be loaded into
  486.             memory when the program is first run.
  487.      
  488.      Save Grocery File ^S - Once changes have been made to a grocery 
  489.      --------------------   file in memory, use this command to save
  490.      a copy of the updated grocery file on disk.
  491.        
  492.      The following OPTION settings will also be saved with the grocery 
  493.      file: sort by item or aisle, tax rate, and aisle names.  These 
  494.      options will also be loaded when a new grocery file is loaded into 
  495.      memory. The grocery list is now independent of the grocery file 
  496.      and it will not be automatically saved when you save the grocery 
  497.      file.
  498.  
  499.      Open Grocery List ^O - Use this command to load a grocery list
  500.      --------------------   file into memory.  Once loaded, the list
  501.      may be added to or deleted from using the methods described
  502.      described under 'The Main Screen'.     
  503.      
  504.      
  505.                                                             Page 6
  506.      
  507.      
  508.      
  509.      When the grocery list is loaded, the following options will also 
  510.      be loaded and will overwrite their current settings in the OPTIONS 
  511.      dialog: sort list by item or aisle and auto sort.
  512.      
  513.      Note:  If a default filename is set in the OPTIONS dialog, that
  514.             file will automatically be loaded into memory when the
  515.             program is first run.
  516.                     
  517.      Save Grocery List ^L - This command will save the current grocery
  518.      --------------------   list to a disk file.    
  519.  
  520.      The following OPTION settings will also be saved with the grocery 
  521.      list: sort list by item or aisle and auto sort.  These options 
  522.      will also be loaded when a new grocery list is loaded into memory. 
  523.      The grocery list is now independent of the grocery file and it 
  524.      will not be automatically saved when you save the grocery file.
  525.      
  526.      HINT:  You can save commonly purchased items in a file to be used 
  527.      as a base list later on (ie staples containing Milk, Bread, etc).  
  528.      This way you can have various types of lists ready to load and add 
  529.      items to or print out for the trip to the grocery store.
  530.  
  531.      Merge Grocery List ^M - Use this command to combine the items in      
  532.      ---------------------   a saved grocery list with the items 
  533.      currently in memory.  The grocery list subtotal and total will be 
  534.      recalculated with the merged lists prices and the current tax 
  535.      rate.
  536.      
  537.      Sort Grocery List ^R - After items have been added to the grocery
  538.      --------------------   list, the list can be sorted in ascending
  539.      alphabetical order or sorted by aisle numbers, depending on the
  540.      SORT BY setting in the OPTIONS dialog.
  541.      
  542.      An option can also be set to automatically sort the grocery
  543.      list each time a new item is added.
  544.      
  545.      Open ASCII File ^X - This command will bring up a file select
  546.      ------------------   dialog and allow you to choose a file to
  547.      view.  After the file is selected, a six line window will open
  548.      at the bottom of the screen and the grocery list and grocery file 
  549.      windows will be reduced accordingly.  This window can be scrolled 
  550.      through using the standard window scroll/slider bar or using the 
  551.      keyboard arrow keys.
  552.      
  553.      Once the ASCII window has been opened, the command will change to 
  554.      'Close ASCII File' and selecting it will close the ASCII window 
  555.      and restore the grocery list and grocery file windows to normal.
  556.  
  557.      NOTE: NO checking is done on the file to ensure it contains all 
  558.      ascii characters.  Opening non-ascii files may have unpredictable 
  559.      and very undesirable affects.
  560.      
  561.      Options...  ^Z - This command will bring up a dialog of user
  562.      --------------   controlled options.  The options are divided
  563.      up into three sections: grocery list options, grocery file
  564.      options, and printer options.
  565.      
  566.      
  567.                                                             Page 7
  568.      
  569.      
  570.      
  571.      Grocery List Options: 
  572.  
  573.      Default Filename - Enter an 8 character filename of a grocery list 
  574.      to be loaded when the program is first run. Or click on this field 
  575.      to bring up the standard file selector.  The complete pathname 
  576.      will be used, but only the 8 character filename will be displayed 
  577.      (with the required extension of .GLD).  This filename will be 
  578.      saved in the GROCERY.OPT file when the 'SAVE' button is selected.
  579.      
  580.      Sort By - Select either the 'ITEM' or 'AISLE' button to set the 
  581.      method for sorting the grocery list.  The list will be sorted when 
  582.      exiting the options dialog by selecting 'OKAY'.
  583.      
  584.      Auto Sort - Select either the 'ON' or 'OFF' button to set the auto 
  585.      sort mode.  When auto sorting is on, the grocery list will be 
  586.      sorted each time an item is added to the list. 
  587.      
  588.      Grocery File Options:
  589.      
  590.      Default Filename - Enter an 8 character filename of a grocery file 
  591.      to be loaded when the program is first run. Or click on this field 
  592.      to bring up the standard file selector.  The complete pathname 
  593.      will be used, but only the 8 character filename will be displayed 
  594.      (with the required extension of .GDT).  This filename will be 
  595.      saved in the GROCERY.OPT file when the 'SAVE' button is selected.
  596.      
  597.      Sort By - Select either the 'ITEM' or 'AISLE' button to set the 
  598.      method for sorting the grocery file.  The file will be sorted when 
  599.      exiting the options dialog by selecting 'OKAY'.
  600.      
  601.      Tax Rate - Enter the tax rate to be used for items that are marked 
  602.      as taxable.  This tax rate will be used to calculate the total 
  603.      displayed in the grocery list window and for a sub-total, total, 
  604.      and tax amount on printed grocery list.
  605.      
  606.      Aisle Names - Select this button to bring up the aisle names 
  607.      dialog.  The aisle names dialog allows you to enter names 
  608.      corresponding to aisle numbers 0 thru 99.  Aisle names are 
  609.      displayed on 4 pages of 25 names each.  Select 'NEXT' or 'PREV' to 
  610.      move through the pages.  Select 'OKAY' to exit the aisle names 
  611.      dialog.  Aisle names will be saved in the GROCERY.OPT file when 
  612.      the 'SAVE' button is selected. Aisle names are also saved with the 
  613.      grocery file, so it is possible to have unique aisle names with 
  614.      each grocery file.  
  615.      
  616.      NOTE: The aisle names dialog can be called up from the GEM menu 
  617.      and while adding or editing items.  Any changes made to aisle 
  618.      names when the dialog is accessed by any of these methods will be 
  619.      saved in memory, but will only be saved to the GROCERY.OPT file 
  620.      when 'SAVE' is selected from the OPTIONS dialog.  The aisle names 
  621.      will also be saved with the grocery file if the grocery file is 
  622.      saved to disk.
  623.      
  624.      HINT: Once you have entered your aisle names as desired, you can 
  625.      print out a reminder sheet by pressing the ALTERNATE and HELP 
  626.      keys at the same time while the aisle name dialog is displayed 
  627.      (see your Atari user manual for more info on screen printing).  
  628.      This may be more convenient than calling up the aisle names 
  629.      dialog every time you need to remember the names.
  630.      
  631.      
  632.                                                             Page 8
  633.      
  634.      
  635.      
  636.      Printer Options:
  637.      
  638.      Leading Codes - Enter up to 10 decimal printer codes to be sent to 
  639.      the printer before the grocery list or grocery file is printed.
  640.      
  641.      Trailing Codes - Enter up to 10 decimal printer codes to be sent 
  642.      to the printer after the grocery list or grocery file is printed.
  643.      
  644.      Form Feed - Select this button to have a form feed sent to the 
  645.      printer after the grocery list or grocery file is printed.  This 
  646.      form feed is the standard epson control character decimal 12.  The 
  647.      form feed is sent after the trailing codes.
  648.      
  649.      Two Column - Select this button to allow a two column printout of 
  650.      the grocery list or grocery file.  Items will be printed in sort 
  651.      order in column one first and then in column two.
  652.      
  653.      Print Aisle Name - Select this button to have aisle names printed 
  654.      instead of aisle numbers.  This only affects the printing of the 
  655.      grocery list or grocery file to printer or disk.  Only aisle 
  656.      numbers will be displayed in the grocery list and grocery file 
  657.      windows.
  658.  
  659.      NOTE: With 'Two Column' and 'Print Aisle Name' selected, a given 
  660.      line of printout will be greater than 80 columns and may not fit 
  661.      on a standard 8 1/2 by 11 inch page in pica or elite font.  If 
  662.      this form of printout is required, use leading codes to set the 
  663.      printer to condensed print mode. (For epson type printers use 
  664.      decimal 15 or 27,15 to turn on condensed print and decimal 18 to 
  665.      turn off condensed print)
  666.      
  667.      Quit ^Q - Exit the program.  A warning will be posted if any
  668.      -------   changes have been made to the grocery file or list 
  669.      allowing you to quit anyway or cancel the command.
  670.  
  671.  
  672.      The EDIT menu:
  673.      --------------
  674.      
  675.      Add Grocery Item ^A - This command will bring up a small edit 
  676.      -------------------   dialog that will allow you to type in
  677.      a new grocery item, its aisle number, coupon reminder, taxable 
  678.      status, and its price.  The item is put into the grocery file 
  679.      either in alphabetical order or by aisle number, depending on the 
  680.      'Sort By' option setting in the grocery file options.  The item is 
  681.      not checked to see if it is already in the file so it is possible 
  682.      to have duplicate items.
  683.      
  684.      The item name can be up to 20 characters in length. The aisle 
  685.      number can be 0 through 99.  Any character can be entered in the 
  686.      coupon field and it will be changed into a 'C' in the grocery file 
  687.      display.  Any character can be entered in the taxable field and it 
  688.      will be changed to a '+' in the grocery file display.  Entering a 
  689.      character in this field will indicate the item is taxable and 
  690.      leaving it blank will indicate the item is not taxable.
  691.      
  692.      The item will be entered into the file and the input line will be 
  693.      cleared so that another entry can be made.  When finished entering 
  694.      new items, select 'CANCEL' to quit out of the edit dialog.
  695.      
  696.      
  697.                                                             Page 9
  698.      
  699.      
  700.      
  701.      Edit Grocery Item ^E -  This command is used to alter an existing
  702.      --------------------    grocery item.  Any part of the grocery
  703.      item may be changed.  To edit an item, move the mouse arrow over 
  704.      the desired item so that it is highlighted and then select the 
  705.      'Edit Grocery Item' command. Be sure that the desired item remains 
  706.      highlighted when the command is selected.  The item will be placed 
  707.      in the edit dialog with the cursor positioned at the amount input 
  708.      field.
  709.         
  710.      Alter the item as desired and select 'OKAY' or press return.  The 
  711.      edit dialog will be closed and the altered item will be updated in 
  712.      the grocery file and in the current grocery list if it is already 
  713.      there.  Select 'CANCEL' to abort the edit.
  714.  
  715.      NOTE:  When adding or editing items, a button is availabe to view 
  716.      aisles.  When viewing aisles from the edit dialog, you can click 
  717.      on the item of choice and the aisle number will be inserted into 
  718.      the aisle number field in the edit dialog.
  719.      
  720.      Delete Item ^D -  Use this command to remove unwanted items from
  721.      --------------    the grocery file.  Position the mouse arrow
  722.      over the item to be deleted and then select this command from the 
  723.      menu line.  Be sure that the desired item remains highlighted when 
  724.      the command is selected.  The item will be placed in the edit 
  725.      dialog and you will be asked to verify the delete operation. 
  726.      Select 'OKAY' or press return to confirm the delete or select 
  727.      'CANCEL' to abort the command.
  728.      
  729.      Note:  If the item is in the current grocery list, the
  730.             item will still be deleted from the grocery file,
  731.             but it will not be deleted from the current list.
  732.                  
  733.      Import Items - This command will bring up a dialog that provides
  734.      ------------   for a very powerful and flexible way to add new
  735.      grocery items to your grocery file.  Some grocery stores may have 
  736.      ascii files of their inventory available to shoppers.  You may 
  737.      also find it more convenient to maintain your database of grocery 
  738.      items with a conventional database program.  In either case, if a 
  739.      list of grocery items is available in an ascii file, you can 
  740.      import those items into The Grocery Lister with the Import dialog.
  741.      
  742.      Ascii files must be one of two possible formats to be imported 
  743.      into The Grocery Lister.  The first format is where each item is 
  744.      contained on one line of 70 characters or less (a line ending with 
  745.      CR+LF).  Within this line, the item name, aisle number, coupon 
  746.      reminder, taxable status, and price can be located at any 
  747.      position, and may even overlap each other.
  748.      
  749.      The second format is where each field of the grocery item (name, 
  750.      aisle, etc) is on a different line in the ascii file. Again, the 
  751.      fields may be located at any position in the line.
  752.      
  753.      When this menu command is first selected, a file selector will be 
  754.      presented allowing you to choose the file to import items from.  
  755.      The file name will be displayed at the top center of the dialog 
  756.      and the first line will be read from the file and displayed at the 
  757.      center of the dialog. At this point you have a large number of 
  758.      options to help you customize the way items will be imported.
  759.      
  760.      
  761.                                                             Page 10
  762.      
  763.      
  764.      
  765.      One Item Per Line:  This will result in all fields of the grocery 
  766.      item being taken from a single line of input from the ascii file.
  767.      
  768.      One Field Per Line:  This will result in each field of the grocery 
  769.      item being taken from a different line of input from the ascii 
  770.      file.
  771.      
  772.      Include:  This line has a button for each field of the      
  773.      grocery item, allowing you to select which fields are read from 
  774.      the ascii input line and which are filled in with defaults 
  775.      (described below).  Each field that is selected will be read from 
  776.      the input line(s) according to the position of the field slider 
  777.      (described below). When 'One Field Per Line' is selected, one line 
  778.      will be read from the ascii file for each field selected and that 
  779.      field will be filled in from that line according to the position 
  780.      of the field slider.
  781.      
  782.      Field Sliders:  There two slider bars above and below the input 
  783.      display line.  The sliders are white with text indicating the 
  784.      field they represent (Item Name, Ai - Aisle number, C - Coupon, 
  785.      T - Taxable Status, Price).  The width of the sliders is set to 
  786.      the number of characters in each field. Using the mouse, the 
  787.      sliders can be positioned anywhere in the 70 column input line to 
  788.      indicate where the data for that field is located.  If that field 
  789.      is selected in the 'Include' line, then the data will be read from 
  790.      the input line according to the position of field sliders. When 
  791.      'One Field Per Line' is selected, the field that is currently 
  792.      being displayed in the input line will be in normal font, and all 
  793.      other fields will be in light font (greyed out).
  794.      
  795.      Defaults:  When a field is not selected in the 'Include' line, 
  796.      then the data for that field will be obtained from the 'Defaults' 
  797.      line instead of from the input line.  If the field in the 
  798.      'Defaults' line is left blank, then that field in the grocery item 
  799.      will be blank.  The default fields can be changed with each line 
  800.      that is read in from the ascii file.
  801.      
  802.      Accept-Read Next:  When the 'Include' fields, field sliders, and 
  803.      'Default' line are set as desired, select this button to fill in 
  804.      the grocery item fields and add it to the current grocery file.  
  805.      The next line will be read from the ascii file, displayed at the 
  806.      center of the dialog, and the options can then be adjusted for 
  807.      this input line.  Using this button it is possible to verify 
  808.      and/or edit each item imported from the ascii file (although this 
  809.      may take awhile for large files).
  810.      
  811.      Skip-Read Next:  This button will discard the currently displayed 
  812.      input line and read the next line from the ascii file.  All option 
  813.      settings will be left as they are.
  814.      
  815.      Read To EOF:  This button will continually read input lines from 
  816.      the ascii file and obtain the data for the grocery item fields 
  817.      according to the options as set just before the button is 
  818.      selected.  When the end of file is reached, an alert will be 
  819.      display indicating EOF reached.  Select 'OKAY' to close the Import 
  820.      dialog and return to the normal grocery list and grocery file 
  821.      windows.
  822.      
  823.      
  824.                                                             Page 11
  825.      
  826.      
  827.      
  828.      Cancel:  This will abort the Import dialog and return to the 
  829.      normal grocery list and grocery file display.  Any items that were 
  830.      accepted will now be in the grocery file.
  831.      
  832.      View Aisles ^V - Use this command to bring up the aisle name
  833.      --------------   dialog.  Aisle names can be viewed or edited
  834.      When 'OKAY' is selected, any edited names will remain in memory 
  835.      and will be saved with the grocery file if the grocery file is 
  836.      saved, but they will not be saved in the default configuration 
  837.      unless you go to the OPTIONS dialog and select 'SAVE'.
  838.      
  839.      Update List Items -  This command will search through the grocery 
  840.      -----------------    list items and update the coupon, taxable, 
  841.      and amount fields of any items found in the grocery file.  Since 
  842.      the grocery list and grocery file are independant, it is possible 
  843.      to have a saved list on disk with different item data from the 
  844.      grocery file used to create that list.  This command will ensure 
  845.      that any changes made to the grocery file (other than item names) 
  846.      are correctly reflected in the current grocery list.
  847.      
  848.      Clear Cur. List ^G - This command will only clear the current
  849.      ------------------   grocery list, leaving the grocery file
  850.      grocery file in memory, ready for a new list to be started.           
  851.      An ALERT will confirm the command before it is performed.
  852.      
  853.      Clear All ^C - This command can be used to clear both the grocery
  854.      ------------   file and grocery list out of current memory.
  855.      If changes have been made to the grocery file or grocery list they 
  856.      will be lost.  This command does not effect files saved on disk. 
  857.      An ALERT will confirm the command before it is performed.
  858.      
  859.      
  860.      The PRINT menu:
  861.      ---------------
  862.      
  863.      Grocery File - Use this command to print out the current grocery
  864.      ------------   file in memory.  An alert will appear allowing you
  865.      to choose printing to a disk file or to the printer.  The printer 
  866.      options set in the OPTIONS dialog will be used when printing to a 
  867.      printer.
  868.       
  869.      Grocery List - Use this command to print out the current grocery
  870.      ------------   list in memory.  An alert will appear allowing
  871.      appear allowing you to choose printing to a disk file or to the 
  872.      printer.  The printer options set in the OPTIONS dialog will be 
  873.      used when printing to a printer.
  874.      
  875.      The printout from this command can be used as a shopping list and 
  876.      to mark changes in prices while buying groceries. 
  877.  
  878.  
  879.      * LIMITATIONS *
  880.      
  881.          - Current file size limitations are: 1000 grocery items
  882.            in the grocery file and 120 items in the grocery list.
  883.            Ascii files displayed in the ascii window will be 
  884.            limited to 240 lines. 
  885.      
  886.      
  887.                                                             Page 12
  888.      
  889.      
  890.      
  891.          - As noted under The Desk Menu section, there may be some
  892.            incompatibilites (with respect to display behaviour) with
  893.            accesories that do not use a GEM window.
  894.          - Although it is possible to keep the grocery file very
  895.            accurate with a lot of database maintenance, The Grocery
  896.            Lister is really designed to give you a rough estimate
  897.            of your grocery bill and only needs to be maintained with
  898.            a few minutes of editing after returning with your
  899.            grocery store receipt.
  900.          - The Grocery Lister has been tested on a variety of Atari ST
  901.            and TT machines and various TOS releases.  Although there
  902.            are no apparent incompatibilites with any TOS version, the
  903.            author makes no guarantees as to compatibility with any
  904.            present or future Atari computers.
  905.            
  906.      
  907.      
  908.      This demo mode version of The Grocery Lister may be freely 
  909.      distributed provided no changes are made to the program or the 
  910.      documentation and a registered GROCERY.OPT file is not included.  
  911.      This user manual must be included with the program if it is to be 
  912.      placed in any public access medium.
  913.      
  914.  
  915.      Please send bug reports and/or comments to:
  916.  
  917.      Randy Hoekstra 
  918.      3414 Norwood Circle 
  919.      Richardson, Texas  75082
  920.  
  921.      E-mail on GEnie: R.Hoekstra1
  922.  
  923.  
  924.  
  925.      Revision History:
  926.  
  927.      * Changes for version 2.1 (02/93): 
  928.        - Fixed phantom double click in scroll bar bug. 
  929.        - More compatible with TTs 
  930.        - Improved mouse click response when add/sub items. 
  931.        - Added key commands for scrolling & add/sub as follows: 
  932.           With Grocery File window active- 
  933.           .up arrow scrolls select bar up; if bar is at top of 
  934.            window then grocery file is scrolled down one item 
  935.           .down arrow scrolls select bar down; if bar is at bottom 
  936.            of window then grocery file is scrolled up one item 
  937.           .right arrow adds currently selected item to list 
  938.           .left arrow subtracts currently select item from list 
  939.      * Changes for version 2.0 (12/92): 
  940.        - This version has seen a major overhaul in the user  
  941.          interface with the upgrade to GFA Basic 3.5e.  It is  
  942.          now entirely GEM based with proper window handling and  
  943.          dialog boxes (including correct window redraws with ACCs). 
  944.          It hopefully will run correctly on all the ST based  
  945.          machines (in ST modes of course) and should even work on  
  946.          big screen monitors. 
  947.      
  948.      
  949.                                                             Page 13
  950.      
  951.      
  952.      
  953.          Other new features include: 
  954.            - Clear current list command to clear the list without  
  955.              clearing the grocery file. 
  956.            - The grocery file can be scrolled up or down by moving  
  957.              the mouse just above or just below the text area of  
  958.              the grocery file window.  No clicking is required. 
  959.            - The number of grocery list items and total cost have  
  960.              been moved to the info line at the top of the Current  
  961.              Grocery List window. 
  962.            - You can now click on items in the Current Grocery List  
  963.              window to increase or decrease the quantity (left  
  964.              button to increase & right button to decrease as in  
  965.              the file window). 
  966.            - A number of invisible improvements in the code thanks  
  967.              to the additional commands of GFA 3.5e. 
  968.      * Changes for version 1.8 (10/91): 
  969.        - This version primarily fixes a bug which would not allow 
  970.        the total cost of the grocery list to exceed $99.99.  A few 
  971.        other almost unnoticeable cosmetic changes were also made. 
  972.      * Changes for version 1.7: 
  973.        - The Current Grocery List window has been changed so that  
  974.        the grocery list is now displayed in a single column with the  
  975.        entire grocery item visable.  It is also possible to select  
  976.        this window and scroll through the grocery list using the  
  977.        window scroll arrows and slider bar. 
  978.      * Changes for version 1.6: 
  979.        - The Add, Edit, and Delete Grocery Item dialogs have been  
  980.        changed to conform more to the GEM standard.  Now when  
  981.        entering a new item, use tab or return to move from the  
  982.        text field to the price field. 
  983.        - The Open and Save Grocery File functions have been  
  984.        rewritten and greatly sped up.  As a result of this change,  
  985.        the disk file format of the grocery file has changed.   
  986.        Included in the archive is a conversion program (GLD_CONV)  
  987.        to convert your existing grocery file to the new format. 
  988.      * Changes for version 1.5: 
  989.          The primary features added with version 1.5 are command key  
  990.        equivalents, a sort grocery list command, and a 'jump to  
  991.        letter' in the grocery file function.  Command key equivalents  
  992.        are shown in the menu to the right of the corresponding  
  993.        command.  The sort grocery list command appears under the file  
  994.        menu and is described below.  The 'jump to letter' feature  
  995.        allows you to press a key A through Z and jump to the position  
  996.        in the grocery file where grocery items beginning with that  
  997.        letter start.
  998.  
  999.  
  1000.