THE GROCERY LISTER Version 3.0 by Randy Hoekstra March 1993 Copyright 1992, 1993 Randy Hoekstra All Rights Reserved This version is SHAREWARE, but may distributed in it's unaltered form with this document included. Special Thanks to: -------------------- Beta Testers - Sam & LuAnn Graf Scott Eakins Phillip Zampino David Mackenzie And all the GEnie users who provided the great feedback and suggestions for enhancements. Page i * Changes for version 3.0 (04/93): - This version is SHAREWARE. See below to find out how to register and get your copy fully functional. - Once again a major change has been made in the format of data saved to disk due to enhancements noted below. This resulted in the need for a program to convert grocery files from version 2.x format to 3.0 format. The program is GDTCONV3.PRG. Version 2.x saved grocery lists can not be converted to version 3.0 format. - The grocery list is now independent of the grocery file. You can now have multiple grocery lists from a given grocery file or a given grocery list can be made up of items from different grocery files. The grocery lists can be saved or loaded at will and filenames are determined by the user. (Sorry, still only one grocery list in memory at a time) - Three new fields added to the grocery item; aisle number, coupon, and taxable status. Aisle numbers can be 0-99 and a name can be defined for the aisle number for use in printouts. The coupon field is used to indicate if you have a coupon for the given item. The taxable status is is used to indicate items that are taxable and for those items a tax rate defined in the OPTIONS dialog will be used to calculate sales tax. - Auto loading of both grocery file and grocery list when the program is first launched. - Fully editable grocery items. - Choose between printing to disk or printer. - An OPTIONS dialog allowing for user controlled settings of default filenames, sort by item or aisle, auto sorting of the grocery list, aisle names, printer control codes, form feed, two column printing, and aisle name printing. These settings can be saved to disk and some are also saved with the grocery file and grocery list, allowing for different files to have different configurations. (Options are only available to registered users) - ASCII file viewing via a third window at the bottom of the screen (open only when viewing a file). - Import of new grocery items from ASCII files. (Import is only available to registered users) - A single hot key for editing highlighted items (Help key) - The grocery list window can be moved around on the screen. The grocery file and ascii window will be repositioned relative to the new position of the list window. - A hot key to toggle a coupon reminder field for the selected item (TAB key). - Hot keys to toggle the sort by aisle/item option for the grocery list and grocery file (^I and ^N respectively). - Increased the quantity limit to 99 items. - Page up/down with shift+up/down arrow in all windows. - GL can now be installed as an application to run when either grocery list or grocery files are double clicked. * See bottom of file for complete revision history. Page ii About the Author: ----------------- Believe it or not, The Grocery Lister has been around since the early 1980s. It started out on an Atari 400 (with 48K memory upgrade!) while I was struggling to complete college on my wife's humble salary as a secretary (as she struggled to put up with her job until she could work her way into the computer department and put her CS degree to use). Money was scarce back then and we had to squeeze all we could out of our grocery dollar. So I decided to write this program to help budget our grocery bills. It was used frequently back then, and later when I upgraded to an ST (having graduated and both of us working), it seemed only logical to port it over. It wasn't used nearly as often on the ST (grocery money was no problem on two incomes), but it was used by other family members and a few people on the local bulletin boards and I continued to enhance it now and again when I had the chance. Over the years we have had two kids, given up one income, acquired two cars, a mortgage and all the related bills, and The Grocery Lister seems to be getting much more useful again. In the Fall of 1992 I signed up with GEnie on-line service and decided to upload the program there. I have since seen the program appear on various public domain disks and have received some good feedback from users on GEnie. Since it appears to be of some use to others, I have decided to get serious and make it as 'clean' as possible. Version 2.0 was the beginning of what I hope to be a number of worthwhile updates. I have already received numerous suggestions, many of which have now been implemented in version 3.0. I have spent many long hours at the keyboard trying get 3.0 done as soon as possible. To justify this expense I have decided to make version 3.0 SHAREWARE. I do hope to continue getting feedback and suggestions from users, but I do ask for a small fee to make my continued efforts worthwhile. SHAREWARE: ---------- The Grocery Lister 3.0 is SHAREWARE and the OPTIONS & IMPORT dialogs will only be available to registered users. I have spent a lot of time developing this program and I feel that while it is at least of commercial quality, I can offer the user a better deal through SHAREWARE. The SHAREWARE fee is $15.00 and though I do not expect to make a lot of money off this, I do hope to be able to justify my efforts and be encouraged to continue on with this and other projects. In return, you will receive a fully functional program at a very reasonable price, free updates and technical support, and the comfort of knowing you did the right thing. Besides, The Grocery Lister will save you more than enough on grocery bills to cover the cost of the SHAREWARE fee. To Register: ------------ Send your name, address, system configuration, and $15.00 to: Randy Hoekstra or Contact me on GEnie at 3414 Norwood Circle GEmail address R.HOEKSTRA1. Richardson, Texas 75082 SHAREWARE fee can be paid with GEnie gift of time. Page iii Table of Contents ----------------- About the program..................................... 1 The Grocery Lister Features........................... 1 Getting Started....................................... 2 Registering The Grocery Lister........................ 2 The Main Screen....................................... 3 The DESK Menu......................................... 5 The FILE Menu......................................... 5 The EDIT Menu......................................... 8 The PRINT Menu........................................ 11 Limitations........................................... 11 Revision History...................................... 12 Page 1 About the program: ------------------ The Grocery Lister is a household utility program that allows you to compile a list of grocery items complete with current price and total estimated cost. The Grocery Lister can be used to determine approximately how much you will spend at the store if you know the items that you need. It can also be used as a budget tool to allow you to select the items you most need or want if you only have a fixed amount to spend. With a small amount of database maintenance work each time you buy groceries you will be able to maintain a fairly accurate file of the items which you regularly purchase. This file can be very useful to remind you of items which you may need as you compile your grocery list. Finally, for those who have 'errand boys' do the shopping, The Grocery Lister will generate a very neat and easy to read printout of the current grocery list. The Grocery Lister Features: ---------------------------- In addition to the basic grocery list function described above, The Grocery Lister has the following advanced features: - User assignable default file names for automatic loading of the grocery file and grocery list when the program is run. - Keyboard equivalents for nearly all commands, including special 'hot' keys for quickly changing some option settings. - Aisle number indicator from 0 to 99 for each grocery item. Aisle names can be assigned to each number for use in printouts. - Taxable status for each item to indicate if sales tax should be added to the total when the item is added to the grocery list. - A coupon reminder field for each item to indicate when you have a coupon for that item. - Independently sorted grocery list and grocery file by either item name or aisle number. - Flexible printer options allowing for printing aisle names, two column printing, print to disk, and user defined printer codes. - ASCII file viewing for looking at notes, recipes, etc. while compiling your grocery list. - Flexible ASCII import feature to allow importing grocery items from other databases or grocery store files. Page 2 Getting Started: ---------------- You've heard it a million times, but it really is a good idea to back up your disk or archive file before you do anything else. The Grocery Lister package contains the following files: GROCERY.PRG - The program itself GROCERY.RSC - The resource file GROCERY.TXT - This document DEFAULT.GDT - Sample grocery database file DEFAULT.GLD - Sample grocery list file GDTCONV3.PRG - Program for converting old grocery files Copy these files to a working disk or hard drive partition, in a folder or directory of your choice. The program and resource files must remain in the same folder or directory, but the other files may be located as desired. Simply double click the program file icon or name to begin putting The Grocery Lister to work for you. Registering The Grocery Lister: ------------------------------- A fully functional program is only available to registered users. If you obtained this demo mode program from a public domain source, you will need to send your registration information to the author along with $15.00 in order to receive a serial number and validation code. Send your name, address, system configuration, and $15.00 to: Randy Hoekstra or Contact me on GEnie at 3414 Norwood Circle GEmail address R.HOEKSTRA1. Richardson, Texas 75082 When you first run the program in demo mode, an 'About...' dialog will be displayed and wait for you to either click 'MORE!' or 'OKAY'. If you select 'OKAY', the program will continue to execute in demo mode. If you select 'MORE!' you will be able to enter your name, serial number, and validation code provided by the author when you registered. Once this information has been entered, it will be saved in the GROCERY.OPT file and the program will automatically enter registered mode whenever it is run. If you should ever lose the GROCERY.OPT file, you will need to enter the registration info again. The registration dialog can also be reached from inside the program by selecting the 'About Grocery...' command from under the Desk menu. If you obtained this program directly from the author, your registration info will already be entered in the GROCERY.OPT file, but you may need to re-input it if that file is lost. Page 3 The Main Screen: ---------------- The main screen of The Grocery Lister provides a simple GEM interface with a menu bar and two GEM windows. The window on the left is the grocery list window and displays grocery items once they have been added to the list. The window on the right is the grocery file window and displays the grocery database for selecting items to add to the grocery list. The Grocery File Window (right side of screen): In the grocery file window, items are displayed as follows: Milk (one gallon) 10 C + 2.99 ------------------- -- - - ----- \ \ \ \ \ \ \ \ \ Item Price (5 chrs) \ \ \ \ \ \ \ Taxable Status (1 chr) \ \ \ \ \ Coupon Reminder (1 chr) \ \ \ Aisle Number (2 chrs) Item Name (20 chrs) A selected item is displayed on top of a black highlight bar. Items are automatically selected under the mouse arrow, or if the mouse arrow is outside of the grocery file window, the highlight bar can be moved up or down by pressing the up arrow key or down arrow key respectively. A selected item can be added to the grocery list by clicking the left mouse button while the grocery file window is active and the desired item is highlighted. Once an item is added to the grocery list, it's quantity can be increased by clicking again with the left mouse button. The quantity can be decreased by clicking with the right mouse button and by clicking the right mouse button for an item with a quantity of 1, the item will be removed from the grocery list. Item quantity can also be increased or decreased by pressing the left or right arrow keys respectively. The Grocery List Window (left side of screen): In the grocery list window, items are displayed as above with the addition of a 2 character Item to the left of the item Name. When the grocery list window is active, item quantity can be increased or decreased by clicking with the left or right mouse button while the mouse arrow is pointing at the desired item in the grocery list. Also while the grocery list window is active, the arrow keys can be used to scroll the grocery list (UP/DOWN arrow keys) or page forward or page backward (RIGHT/LEFT arrow keys). At the top of the grocery list window is an information line which contains the number of items in the list and the total estimated cost. This total includes tax on taxable items. Page 4 The grocery list window can be made active by pressing the INSERT key and the grocery file window can be made active by pressing the CLR/HOME key. Keyboard Commands: Most menu commands can be activated from the main screen by using an equivalent control-key combination (see menu commands below). Additional key commands available from the main screen are as follows: ( ^key is used to indicate CONTROL+key) [TAB] - With the grocery file window active, the TAB key will toggle the coupon reminder field of the selected item. [HELP] - With the grocery file window active, the HELP key will bring the EDIT dialog the same as selecting the EDIT ITEM command in the EDIT menu or pressing ^E. ^I - This will toggle the grocery list between sorting by item name and aisle number. ^N - This will toggle the grocery file between sorting by item name and aisle number. A to Z - With the grocery file active any key A to Z can be pressed to cause items beginning with the selected letter to be displayed. Arrow keys can be used for scrolling in any window as noted above. In the ASCII file window, the UP/DOWN arrow keys scroll one line at a time and the LEFT/RIGHT arrow keys scroll one page at a time. All windows can be paged up or paged down by pressing SHIFT plus UP arrow or SHIFT plus DOWN arrow keys respectively. When the grocery file window is active, you can also scroll the items displayed by moving the mouse arrow just above or just below the display area of the window. There is a small region just above and just below this display area that will cause scrolling whenever the mouse enters one of these areas. When the grocery list window is active, it's title bar can be selected (by pressing and holding the left mouse button) and the window can be moved anywhere on the screen. Once the window is moved and the mouse button is released, the grocery file window (and ASCII window if it is open) will be repositioned relative to the new location of the grocery list window. This is only useful for users with large screen monitors or multi- tasking systems with multiple windows on a small screen. Page 5 THE GROCERY LISTER MENU COMMANDS ================================ The DESK menu: -------------- About Grocery... - This command displays the version, copyright ---------------- and registration status for the program. To exit the dialog, simply select 'OKAY'. If the program is not registered, you can select 'MORE!' to display the registration dialog and enter your registration information. If the program is registered, 'MORE!' will display some additional information about the program and how to contact the author. Additional accesories are may be available under the DESK menu, depending on your system configuration. Most ACCs work correctly with The Grocery Lister, but some that do not use a GEM window may have display problems with the highlight bar in the grocery file window. To avoid this problem, make sure the grocery file window is NOT active before selecting an ACC from the DESK menu. The FILE menu: -------------- Open Grocery File ^O - Use this command to load a grocery file -------------------- database file into memory. Once loaded the file may be used to select items for a current grocery list or it may be edited as desired (see the EDIT menu). When the grocery file is loaded, the following options will also be loaded and will overwrite their current settings in the OPTIONS dialog: sort by item or aisle, tax rate, and aisle names. Note: If a default filename is set in the OPTIONS dialog, that file will automatically be loaded into memory when the program is first run. Save Grocery File ^S - Once changes have been made to a grocery -------------------- file in memory, use this command to save a copy of the updated grocery file on disk. The following OPTION settings will also be saved with the grocery file: sort by item or aisle, tax rate, and aisle names. These options will also be loaded when a new grocery file is loaded into memory. The grocery list is now independent of the grocery file and it will not be automatically saved when you save the grocery file. Open Grocery List ^O - Use this command to load a grocery list -------------------- file into memory. Once loaded, the list may be added to or deleted from using the methods described described under 'The Main Screen'. Page 6 When the grocery list is loaded, the following options will also be loaded and will overwrite their current settings in the OPTIONS dialog: sort list by item or aisle and auto sort. Note: If a default filename is set in the OPTIONS dialog, that file will automatically be loaded into memory when the program is first run. Save Grocery List ^L - This command will save the current grocery -------------------- list to a disk file. The following OPTION settings will also be saved with the grocery list: sort list by item or aisle and auto sort. These options will also be loaded when a new grocery list is loaded into memory. The grocery list is now independent of the grocery file and it will not be automatically saved when you save the grocery file. HINT: You can save commonly purchased items in a file to be used as a base list later on (ie staples containing Milk, Bread, etc). This way you can have various types of lists ready to load and add items to or print out for the trip to the grocery store. Merge Grocery List ^M - Use this command to combine the items in --------------------- a saved grocery list with the items currently in memory. The grocery list subtotal and total will be recalculated with the merged lists prices and the current tax rate. Sort Grocery List ^R - After items have been added to the grocery -------------------- list, the list can be sorted in ascending alphabetical order or sorted by aisle numbers, depending on the SORT BY setting in the OPTIONS dialog. An option can also be set to automatically sort the grocery list each time a new item is added. Open ASCII File ^X - This command will bring up a file select ------------------ dialog and allow you to choose a file to view. After the file is selected, a six line window will open at the bottom of the screen and the grocery list and grocery file windows will be reduced accordingly. This window can be scrolled through using the standard window scroll/slider bar or using the keyboard arrow keys. Once the ASCII window has been opened, the command will change to 'Close ASCII File' and selecting it will close the ASCII window and restore the grocery list and grocery file windows to normal. NOTE: NO checking is done on the file to ensure it contains all ascii characters. Opening non-ascii files may have unpredictable and very undesirable affects. Options... ^Z - This command will bring up a dialog of user -------------- controlled options. The options are divided up into three sections: grocery list options, grocery file options, and printer options. Page 7 Grocery List Options: Default Filename - Enter an 8 character filename of a grocery list to be loaded when the program is first run. Or click on this field to bring up the standard file selector. The complete pathname will be used, but only the 8 character filename will be displayed (with the required extension of .GLD). This filename will be saved in the GROCERY.OPT file when the 'SAVE' button is selected. Sort By - Select either the 'ITEM' or 'AISLE' button to set the method for sorting the grocery list. The list will be sorted when exiting the options dialog by selecting 'OKAY'. Auto Sort - Select either the 'ON' or 'OFF' button to set the auto sort mode. When auto sorting is on, the grocery list will be sorted each time an item is added to the list. Grocery File Options: Default Filename - Enter an 8 character filename of a grocery file to be loaded when the program is first run. Or click on this field to bring up the standard file selector. The complete pathname will be used, but only the 8 character filename will be displayed (with the required extension of .GDT). This filename will be saved in the GROCERY.OPT file when the 'SAVE' button is selected. Sort By - Select either the 'ITEM' or 'AISLE' button to set the method for sorting the grocery file. The file will be sorted when exiting the options dialog by selecting 'OKAY'. Tax Rate - Enter the tax rate to be used for items that are marked as taxable. This tax rate will be used to calculate the total displayed in the grocery list window and for a sub-total, total, and tax amount on printed grocery list. Aisle Names - Select this button to bring up the aisle names dialog. The aisle names dialog allows you to enter names corresponding to aisle numbers 0 thru 99. Aisle names are displayed on 4 pages of 25 names each. Select 'NEXT' or 'PREV' to move through the pages. Select 'OKAY' to exit the aisle names dialog. Aisle names will be saved in the GROCERY.OPT file when the 'SAVE' button is selected. Aisle names are also saved with the grocery file, so it is possible to have unique aisle names with each grocery file. NOTE: The aisle names dialog can be called up from the GEM menu and while adding or editing items. Any changes made to aisle names when the dialog is accessed by any of these methods will be saved in memory, but will only be saved to the GROCERY.OPT file when 'SAVE' is selected from the OPTIONS dialog. The aisle names will also be saved with the grocery file if the grocery file is saved to disk. HINT: Once you have entered your aisle names as desired, you can print out a reminder sheet by pressing the ALTERNATE and HELP keys at the same time while the aisle name dialog is displayed (see your Atari user manual for more info on screen printing). This may be more convenient than calling up the aisle names dialog every time you need to remember the names. Page 8 Printer Options: Leading Codes - Enter up to 10 decimal printer codes to be sent to the printer before the grocery list or grocery file is printed. Trailing Codes - Enter up to 10 decimal printer codes to be sent to the printer after the grocery list or grocery file is printed. Form Feed - Select this button to have a form feed sent to the printer after the grocery list or grocery file is printed. This form feed is the standard epson control character decimal 12. The form feed is sent after the trailing codes. Two Column - Select this button to allow a two column printout of the grocery list or grocery file. Items will be printed in sort order in column one first and then in column two. Print Aisle Name - Select this button to have aisle names printed instead of aisle numbers. This only affects the printing of the grocery list or grocery file to printer or disk. Only aisle numbers will be displayed in the grocery list and grocery file windows. NOTE: With 'Two Column' and 'Print Aisle Name' selected, a given line of printout will be greater than 80 columns and may not fit on a standard 8 1/2 by 11 inch page in pica or elite font. If this form of printout is required, use leading codes to set the printer to condensed print mode. (For epson type printers use decimal 15 or 27,15 to turn on condensed print and decimal 18 to turn off condensed print) Quit ^Q - Exit the program. A warning will be posted if any ------- changes have been made to the grocery file or list allowing you to quit anyway or cancel the command. The EDIT menu: -------------- Add Grocery Item ^A - This command will bring up a small edit ------------------- dialog that will allow you to type in a new grocery item, its aisle number, coupon reminder, taxable status, and its price. The item is put into the grocery file either in alphabetical order or by aisle number, depending on the 'Sort By' option setting in the grocery file options. The item is not checked to see if it is already in the file so it is possible to have duplicate items. The item name can be up to 20 characters in length. The aisle number can be 0 through 99. Any character can be entered in the coupon field and it will be changed into a 'C' in the grocery file display. Any character can be entered in the taxable field and it will be changed to a '+' in the grocery file display. Entering a character in this field will indicate the item is taxable and leaving it blank will indicate the item is not taxable. The item will be entered into the file and the input line will be cleared so that another entry can be made. When finished entering new items, select 'CANCEL' to quit out of the edit dialog. Page 9 Edit Grocery Item ^E - This command is used to alter an existing -------------------- grocery item. Any part of the grocery item may be changed. To edit an item, move the mouse arrow over the desired item so that it is highlighted and then select the 'Edit Grocery Item' command. Be sure that the desired item remains highlighted when the command is selected. The item will be placed in the edit dialog with the cursor positioned at the amount input field. Alter the item as desired and select 'OKAY' or press return. The edit dialog will be closed and the altered item will be updated in the grocery file and in the current grocery list if it is already there. Select 'CANCEL' to abort the edit. NOTE: When adding or editing items, a button is availabe to view aisles. When viewing aisles from the edit dialog, you can click on the item of choice and the aisle number will be inserted into the aisle number field in the edit dialog. Delete Item ^D - Use this command to remove unwanted items from -------------- the grocery file. Position the mouse arrow over the item to be deleted and then select this command from the menu line. Be sure that the desired item remains highlighted when the command is selected. The item will be placed in the edit dialog and you will be asked to verify the delete operation. Select 'OKAY' or press return to confirm the delete or select 'CANCEL' to abort the command. Note: If the item is in the current grocery list, the item will still be deleted from the grocery file, but it will not be deleted from the current list. Import Items - This command will bring up a dialog that provides ------------ for a very powerful and flexible way to add new grocery items to your grocery file. Some grocery stores may have ascii files of their inventory available to shoppers. You may also find it more convenient to maintain your database of grocery items with a conventional database program. In either case, if a list of grocery items is available in an ascii file, you can import those items into The Grocery Lister with the Import dialog. Ascii files must be one of two possible formats to be imported into The Grocery Lister. The first format is where each item is contained on one line of 70 characters or less (a line ending with CR+LF). Within this line, the item name, aisle number, coupon reminder, taxable status, and price can be located at any position, and may even overlap each other. The second format is where each field of the grocery item (name, aisle, etc) is on a different line in the ascii file. Again, the fields may be located at any position in the line. When this menu command is first selected, a file selector will be presented allowing you to choose the file to import items from. The file name will be displayed at the top center of the dialog and the first line will be read from the file and displayed at the center of the dialog. At this point you have a large number of options to help you customize the way items will be imported. Page 10 One Item Per Line: This will result in all fields of the grocery item being taken from a single line of input from the ascii file. One Field Per Line: This will result in each field of the grocery item being taken from a different line of input from the ascii file. Include: This line has a button for each field of the grocery item, allowing you to select which fields are read from the ascii input line and which are filled in with defaults (described below). Each field that is selected will be read from the input line(s) according to the position of the field slider (described below). When 'One Field Per Line' is selected, one line will be read from the ascii file for each field selected and that field will be filled in from that line according to the position of the field slider. Field Sliders: There two slider bars above and below the input display line. The sliders are white with text indicating the field they represent (Item Name, Ai - Aisle number, C - Coupon, T - Taxable Status, Price). The width of the sliders is set to the number of characters in each field. Using the mouse, the sliders can be positioned anywhere in the 70 column input line to indicate where the data for that field is located. If that field is selected in the 'Include' line, then the data will be read from the input line according to the position of field sliders. When 'One Field Per Line' is selected, the field that is currently being displayed in the input line will be in normal font, and all other fields will be in light font (greyed out). Defaults: When a field is not selected in the 'Include' line, then the data for that field will be obtained from the 'Defaults' line instead of from the input line. If the field in the 'Defaults' line is left blank, then that field in the grocery item will be blank. The default fields can be changed with each line that is read in from the ascii file. Accept-Read Next: When the 'Include' fields, field sliders, and 'Default' line are set as desired, select this button to fill in the grocery item fields and add it to the current grocery file. The next line will be read from the ascii file, displayed at the center of the dialog, and the options can then be adjusted for this input line. Using this button it is possible to verify and/or edit each item imported from the ascii file (although this may take awhile for large files). Skip-Read Next: This button will discard the currently displayed input line and read the next line from the ascii file. All option settings will be left as they are. Read To EOF: This button will continually read input lines from the ascii file and obtain the data for the grocery item fields according to the options as set just before the button is selected. When the end of file is reached, an alert will be display indicating EOF reached. Select 'OKAY' to close the Import dialog and return to the normal grocery list and grocery file windows. Page 11 Cancel: This will abort the Import dialog and return to the normal grocery list and grocery file display. Any items that were accepted will now be in the grocery file. View Aisles ^V - Use this command to bring up the aisle name -------------- dialog. Aisle names can be viewed or edited When 'OKAY' is selected, any edited names will remain in memory and will be saved with the grocery file if the grocery file is saved, but they will not be saved in the default configuration unless you go to the OPTIONS dialog and select 'SAVE'. Update List Items - This command will search through the grocery ----------------- list items and update the coupon, taxable, and amount fields of any items found in the grocery file. Since the grocery list and grocery file are independant, it is possible to have a saved list on disk with different item data from the grocery file used to create that list. This command will ensure that any changes made to the grocery file (other than item names) are correctly reflected in the current grocery list. Clear Cur. List ^G - This command will only clear the current ------------------ grocery list, leaving the grocery file grocery file in memory, ready for a new list to be started. An ALERT will confirm the command before it is performed. Clear All ^C - This command can be used to clear both the grocery ------------ file and grocery list out of current memory. If changes have been made to the grocery file or grocery list they will be lost. This command does not effect files saved on disk. An ALERT will confirm the command before it is performed. The PRINT menu: --------------- Grocery File - Use this command to print out the current grocery ------------ file in memory. An alert will appear allowing you to choose printing to a disk file or to the printer. The printer options set in the OPTIONS dialog will be used when printing to a printer. Grocery List - Use this command to print out the current grocery ------------ list in memory. An alert will appear allowing appear allowing you to choose printing to a disk file or to the printer. The printer options set in the OPTIONS dialog will be used when printing to a printer. The printout from this command can be used as a shopping list and to mark changes in prices while buying groceries. * LIMITATIONS * - Current file size limitations are: 1000 grocery items in the grocery file and 120 items in the grocery list. Ascii files displayed in the ascii window will be limited to 240 lines. Page 12 - As noted under The Desk Menu section, there may be some incompatibilites (with respect to display behaviour) with accesories that do not use a GEM window. - Although it is possible to keep the grocery file very accurate with a lot of database maintenance, The Grocery Lister is really designed to give you a rough estimate of your grocery bill and only needs to be maintained with a few minutes of editing after returning with your grocery store receipt. - The Grocery Lister has been tested on a variety of Atari ST and TT machines and various TOS releases. Although there are no apparent incompatibilites with any TOS version, the author makes no guarantees as to compatibility with any present or future Atari computers. This demo mode version of The Grocery Lister may be freely distributed provided no changes are made to the program or the documentation and a registered GROCERY.OPT file is not included. This user manual must be included with the program if it is to be placed in any public access medium. Please send bug reports and/or comments to: Randy Hoekstra 3414 Norwood Circle Richardson, Texas 75082 E-mail on GEnie: R.Hoekstra1 Revision History: * Changes for version 2.1 (02/93): - Fixed phantom double click in scroll bar bug. - More compatible with TTs - Improved mouse click response when add/sub items. - Added key commands for scrolling & add/sub as follows: With Grocery File window active- .up arrow scrolls select bar up; if bar is at top of window then grocery file is scrolled down one item .down arrow scrolls select bar down; if bar is at bottom of window then grocery file is scrolled up one item .right arrow adds currently selected item to list .left arrow subtracts currently select item from list * Changes for version 2.0 (12/92): - This version has seen a major overhaul in the user interface with the upgrade to GFA Basic 3.5e. It is now entirely GEM based with proper window handling and dialog boxes (including correct window redraws with ACCs). It hopefully will run correctly on all the ST based machines (in ST modes of course) and should even work on big screen monitors. Page 13 Other new features include: - Clear current list command to clear the list without clearing the grocery file. - The grocery file can be scrolled up or down by moving the mouse just above or just below the text area of the grocery file window. No clicking is required. - The number of grocery list items and total cost have been moved to the info line at the top of the Current Grocery List window. - You can now click on items in the Current Grocery List window to increase or decrease the quantity (left button to increase & right button to decrease as in the file window). - A number of invisible improvements in the code thanks to the additional commands of GFA 3.5e. * Changes for version 1.8 (10/91): - This version primarily fixes a bug which would not allow the total cost of the grocery list to exceed $99.99. A few other almost unnoticeable cosmetic changes were also made. * Changes for version 1.7: - The Current Grocery List window has been changed so that the grocery list is now displayed in a single column with the entire grocery item visable. It is also possible to select this window and scroll through the grocery list using the window scroll arrows and slider bar. * Changes for version 1.6: - The Add, Edit, and Delete Grocery Item dialogs have been changed to conform more to the GEM standard. Now when entering a new item, use tab or return to move from the text field to the price field. - The Open and Save Grocery File functions have been rewritten and greatly sped up. As a result of this change, the disk file format of the grocery file has changed. Included in the archive is a conversion program (GLD_CONV) to convert your existing grocery file to the new format. * Changes for version 1.5: The primary features added with version 1.5 are command key equivalents, a sort grocery list command, and a 'jump to letter' in the grocery file function. Command key equivalents are shown in the menu to the right of the corresponding command. The sort grocery list command appears under the file menu and is described below. The 'jump to letter' feature allows you to press a key A through Z and jump to the position in the grocery file where grocery items beginning with that letter start.