Auto Check 4.0

by Peter Franey

 

Issue 24

Nov/Dec 86

Next Article >>

<< Prev Article

 

 

A CHEQUE BOOK UTILITY PROGRAM

Requirements 48k Disk

Not another cheque book utility! Well bear with me and I hope you will find this one worthwhile. The program started two years ago as an after thought but evolved into quite a comprehensive program. The typing will be hard and the start up procedure will need care; but I assure you, it will be worth it. The main program display alone took many hours of frustration, to get right. If I have wetted your appetite then read on. If you are a cassette user then I apologise, possibly with a program for the future?

PROGRAM OVERVIEW

If you don't want to pay out in excess of thirty pounds for a commercial financial program to handle your cheque book(s) or are tired of six programs and multiple disk swaps then Autocheck 4.0 will come to your rescue. The program started because I bought a copy of the Home Accountant and found that it never displayed my current balance. It was fine keeping records of up to five cheque books and credit cards but the printed reports were average. I cannot imagine why they think the average person needs a net worth statement, after all we are not all jet setters are we?

Autocheck is a stand alone program which handles up to five cheque books, offers sixteen user defined categories for expense and eight for income and provides printer support. Each cheque book may use a different set of categories. All the categories are displayed on the main screen, and the current balance is displayed at all times. Complex multiple file handling allows the program to change from one cheque book to another. The name and number of the current cheque book are displayed on the main screen. Each cheque book file may be used for a different person, but can also be used for different years on one account. It's up to you how you name them.

As Autocheck is a stand alone program it uses a considerable amount of memory and, fully dimensioned, leaves just 350 bytes free on a 48K machine. When using this program ensure that you do not boot the 850 interface module, if you have one, or there will not be enough memory. If you have a single drive system, configure DOS properly for one drive. From basic Type POKE 1802,1 and press return. Then return to DOS and format a disk and dump the DOS files to it. When you boot this disk your system will be configured for one drive, which will give 32402 free with DOS 2.0 and slightly more using DOS 2.5. This will ensure that the program will run. I have used Autocheck using the default value at location 1802 but I recommend the precaution anyway.

A new disk will be required as Autocheck will take up 173 sectors, and the following for each cheque book - Cheque book name data 1 sector, cheque book categories 2 sectors, and the main data file 77 sectors. A single disk will hold the program and all the data files for the five cheque books. All together 573 sectors will be used.

GETTING STARTED

Type in Autocheck, but when using TYPO 3 set the left margin to zero. (POKE 82,0-RETURN). Unfortunately due to memory constraints some of the lines in the program will seem rather large. I have been through the listing and reduced those that I could in size. There were some that I could not reduce. This mainly concerns lines 7900 and 7907. These must be typed in using abbreviations and leaving no spaces within statements, don't worry, BASIC will insert the spaces itself. For example a POKE statement can be entered (POKEQ286,Q64) or GOTO and GOSUB ...(GOSUB7905:GOTO7930). Please bear in mind that the TYPO 3 code will not match if an abbreviation is used or spaces missed out, but this is only for one or two lines. Anyone not using an Epson compatible dot matrix printer will not have to worry about line 7900 as an alternative is offered in listing 3.

If you have an Epson compatible dot matrix printer such as FX80 or RX80 then type in the main program as it is. If you have a non-Epson 80-column printer type in listing 3 in place of the lines in listing 1. If you have only a 40-column printer, type in listing 2, substituting the lines for those in listing 1. Do not enter the REM lines and leave out the lines indicated by the REM lines.

When the typing is finished save Autocheck to the disk as D:CHECK. Then save a backup copy on another disk.

CREATING DATA FILES

We now have to create all the data files before we can use the program. When this is completed Autocheck will automatically load all the data for the last cheque book used, each time it is run.

Step 1 - type 'RUN' and press return. Error 170 will appear.
Step 2 - type 'CLOSE #2' and press return.
Step 3 - type 'BK=1' and press RETURN.
Step 4 - type 'GOSUB 11010:GOSUB 9900:GOSUB 580' and press RETURN again.

Eventually 'SAVING DATA' will appear. When the operation is completed the screen will revert to normal and you can then RUN the program again. This time 'LOADING DATA' will appear. This will now happen every time the program is run. The main screen of Autocheck will now appear.

MAIN SCREEN DISPLAY

The upper part of the screen shows the categories. There are two rows of expense categories on the left and one row of income on the right. The categories are marked with letters of the alphabet and the spaces by them are blank, because we have not defined any categories yet. The middle section shows the cheque entry display, this will also be used for editing cheques. The current balance is shown on the bottom right of the screen. At present it will show '0.00'. The very bottom of the screen is the command area.

DEFINING THE CATEGORIES

The first task for setting up is to enter the expense and income categories, A to P and Q to X respectively. Although all of the categories may be changed at any time, it is not a good idea to change a name after you have made entries in a particular category. Give the category names careful thought before any cheque details are entered. Press 'R' from the main screen to select categories. The prompt at the bottom now gives the choice of edit or display by category. Select the edit option. An inverse video bar in the command area now asks for the category letter. The options also exist here to press 'Y' erase or 'Z' exit. Examine the screen and press the one of your choice. If you press a category letter a horizontal bar now appears to the right of the letter chosen, to show the field length, which is ten characters. The cursor is on the left of the field. Make the entry required. To leave a category blank, press RETURN only. If you make a mistake press the back space key and your entry will be erased. You may also choose the erase option to erase any single category or to erase them all. When entering categories remember 'A' to 'P' are expense and 'Q' to 'X' are income.

Make sure that you do not enter two categories with -exactly the same name even if one is income and the other expenditure otherwise, when using the search routines the program will retrieve both. After the entry is completed another category may be entered. Type 'Z' to exit.

You will now be asked if you wish to permanently save the categories. Type 'Y' to save them to disk. If you are starting a new cheque book you do not need to save these categories now, as they will be saved automatically by another part of the program after entering details for the new cheque book. The display mode for categories will be covered after cheque entry, as obviously there is nothing to display until entries are made. If you chose 'Y' or 'N' to saving the categories, the main prompt will re-appear in the command area of the screen.

STARTING A NEW CHEQUE BOOK

Once the categories have been entered item 'Z' can now be chosen from the main prompt. The display now gives the titles and numbers of all five cheque books. At present they will all be blank, as will the current cheque book. Select item number 6 - Start New Cheque Book. The first screen gives the opportunity to return to the main screen without any further action, this is because if you have just finished working on this file it will be erased when a new one is created. If you have worked on a file, save it to disk before starting a new one. Refer to the cheque entry mode for saving data files. Press 'C' to continue. The cheque book number must now be entered. If you are just starting up here you must press '1' although any number will be accepted at this stage. Next enter the cheque book title with up to fifteen characters and press RETURN. The program next asks for starting balance. Enter any figure positive or negative between -99999.99 and 999999.99. If the figure is positive never enter a plus sign either here or anywhere else in the program. Press RETURN after your entry. All the data for this cheque book will now be saved to disk. If you have made a mistake with your entries here you will have to select re-start current cheque book. Please also bear in mind that you will not be able to select a cheque book number which is already in use. You must change to the cheque book so that it is the 'current cheque book' and must then select the restart option - see the 'Re-start cheque book' description for more details.

Once you have defined your first cheque book and the data has been saved to disk the program will return to the main screen and the main prompt. Your current balance is displayed and you are ready to start entering cheques.

ENTERING CHEQUES

I have included cheque entry next as logically it will be what the first time user wants to do next. Firstly I must point out that you are restricted to 200 entries per cheque book, and the program does not check for a full file, so take care! The print routines can give an idea of the number of entries, but that is covered later. From the main screen and prompt press 'C' for cheques but first a word of warning. Although I have spent many hours debugging the program and trapping errors, I advise that a certain amount of care is used on this part of the program. I have not, for example, disabled the break key. (If you do accidentally break the program, clear the screen, type GOTO 100, and press RETURN. This should help to recover the situation.) The next prompt shows that the 'mode' is cheques. This kind of information will always help as to where exactly you are in the program. The prompt shows that the next choice is between Entry and Search/Edit. Study this display for a few seconds as the Search/Edit choice gives a new range of options. We will come back to Search/Edit later, but for now press 'A' for the 'add cheques' mode. The mode will now have changed to 'add cheques'. Again study this prompt, it is the one that Autocheck will always come back to after entering a cheque. It also gives the option to save the data file to disk. Use this option when you have finished adding cheques to your file. This save routine also saves your current balance, so don't forget to use it. Press 'A' to add a cheque. The command area of the screen will now clear and 'PAYEE' will appear. Press any letter or number key to start making your entry. Enter up to fifteen characters. If you make a mistake press the back space key and your entry will be erased, giving the chance to re-enter. Please note the arrow keys will not work. If the entry is less than the full field then press RETURN. If you type the last character in the field Autocheck will assume that you have entered it correctly and move to the next field. The command area will now display 'DATE (MMDDYY)' indicating that six digits must be entered. For example the 25th January 1985 would be entered '012585'. If you try to enter a letter here or enter less than six characters Autocheck will beep and refuse the entry, otherwise the entry format is the same. Autocheck will also check for valid month and day entries. All the fields will assume correct entry if the last character in the field is typed, so long as it and the characters before it are allowed. The cheque entry routine also automatically sorts the entries into date order. This means that if there is cheque from the past which you have forgotten to enter, you can still enter it as the program will automatically put it in the right place. Bear in mind though that if you already have several months of data in the file, that Autocheck will take a few seconds to find the right place for an old entry, especially if it is in the first month of your records. A word of caution here though, and that is that the program is only designed for sorting or searching entries from the same year. You may not overlap from one year to the next. In this case you must restart the cheque book for the new year, or start a new one if you want a separate record for each year.

Enter the category by pressing the appropriate letter key. The cheque number should be entered next. The last cheque number will be displayed. Press RETURN for the last number+ 1 to be entered by the program, or enter the number manually. You may enter from one to six digits. Only numbers will be accepted. Enter the amount from 0 to 999999.99. There is no need to enter the decimal point where there are no pence as the entry is formatted to two decimal places. Ensure that you do not enter the decimal point twice or more than two decimal places for the pence, or the program will crash. Autocheck will next ask if the entries are correct. If you press 'Y' the current balance will be adjusted and the program will return to the cheque entry mode. If you press 'N' the screen will go blank and the program will return to main screen and prompt after one or two seconds. If you answered 'Y' to enter a cheque then you may repeat the process by pressing 'A' again or save the file by pressing 'S'. If you answered 'N' you will have to access the cheque entry mode again.

RE-STARTING A CHEQUE BOOK

Press 'Z' from the main prompt. The screen shown now is again the list of cheque books. Ensure that the display shows that the current cheque book is the one that you wish to re-start. If it is not then you will have to use the change check books option. Once satisfied press '7'. You will now have to re-enter the cheque book name and your new starting balance. The current data file will be erased and a blank one saved to disk. when the operation is completed Autocheck will return to the main screen.

CHANGING CHEQUE BOOKS

This option is again accessed by first pressing 'Z' from the main prompt. The cheque book list is now displayed. Select the cheque book to change to by simply pressing its number. If the cheque book number chosen has not been used, or in other words if it does not yet have a title, then Autocheck will ignore your selection. If your choice is accepted then you will be given the option of saving the current file first, as it will be lost when the new one is loaded in. When the operation is completed the program will return to the main screen.

DISPLAYING CHEQUES BY CATEGORY

Press 'R' for categories from the main prompt. The command area now shows the mode as categories. The choice is given to 'E'-Edit or 'D'-Display. Press 'D' and an inverse video bar will now be displayed. Autocheck now expects a category letter to be pressed or 'Y' for all. Here an expense or income category may be selected. The display will now clear and show the category selected at the top of the screen. The items found will be displayed in the middle area of the display. The current balance is shown at the bottom of the screen. If the end of the search is reached or the screen is filled, the running totals for expense and income items found will also be displayed. If you choose all categories then both figures will show something. If you choose a single category then, depending on whether it was for expense or income, the one figure will be the total for that category and the other will show zero. If the display is filled then press the option key to continue. The totals will be updated for each screen.

Press the start key to return to the main screen and prompt.

DISPLAY CHEQUES BY PAYEE OR DATE

This part of the program is accessed by selecting cheques mode from the main prompt. Press 'C' from this prompt and then select 'S' for search/Edit options. The mode now shows 'Search Edit'. Remember I said that keeping an eye on the mode will give you a good idea as to where you are in the program. I think that you will begin to see why now. I should also point out that I deliberately did not place the category search routines here, because I felt that it would be simpler if all the category functions were together. After selecting 'S' the choice is now Edit/Delete for which 'E' should be pressed or Search 'S'. For the moment press 'S', we will come back to Edit delete in the next in a while. Another choice offers 'P'-Payee or 'D'-Date. Notice that the mode has now changed to 'Cheque search'.

For 'payee' enter any number of characters up to fifteen. All the information corresponding to your entry will be displayed. The greater the number of characters entered the more specific will be the search. Here a running total will also be shown, but this will be for expense only.

For searching by date, enter a six digit number, as described earlier. Pressing RETURN only for the first date will default to the first date in the file. RETURN only for the second date will default to the last date in the file. All entries on or between the two dates will be displayed together with a running total for expense only.

EDITING OR DELETING CHEQUES

This option is chosen from the Search/Edit cheques mode by pressing 'E'. The mode will change to Edit cheques. Autocheck next expects a category letter selection in order to start a search. Press the letter of your choice. When an entry is found all the details will be displayed in the correct boxes of the main screen. Press START to delete the entry, OPTION to continue the search or SELECT to edit the entry.

If you choose to delete the entry Autocheck will carry out your wishes and adjust your current balance. Autocheck will also close the gap in the file and after several seconds resume the search.
If you chose to continue, the next entry found will be displayed, giving the same options again. If no more entries are found then end of file will be displayed, in which case you must press START to return to the cheque edit mode.

The editing option allows all the entries to be entered again. You may not press RETURN to keep a field, but must type over it even if it is the same. Unfortunately memory considerations do not allow full editing features. If you are entering something different in a field then you may end it with a RETURN, and Autocheck will ignore anything left in the box from the old entry. The current balance will be adjusted by considering both the old and new entries and the program will return to the main screen.

PRINTER SUPPORT

To display the printer option menu press 'P' from the main screen and prompt. The display will change to a different design and colour. At the top the printer type is shown together with the starting balance, while at the bottom the current balance and the last total found are displayed. The middle of the screen shows the options. Press 'E' to return to the main screen.

The category search option, accessed by pressing 'A' from the printer menu, will require a single letter key press. All the entries found will printed and a total given for expense and income. The page length is set at 60. If this is reached then sub-totals will be printed and Autocheck will pause giving the opportunity to position the paper for the next page, and continue printing or exit. You may alter the page length by altering the value of PL in line number 10. The program must then be re-saved to disk to make this change permanent. The page length value is used in all of the print routines in Autocheck.

Press 'B' for the search routines. The next choice given is between 'Payee' and 'Date'. These searches are along similar lines to those in the cheque mode of the program. For payee any number of characters up to fifteen may be entered. Pressing return only for DATE 1 and DATE2 gives the default values of the first entry and the last entry in the file. Six digits must be entered for the date. During printing page length will be followed and totals given for income and expenditure.

Pressing 'C' will print your own personal statement for the current cheque book. Near the top of the screen the program will ask if you wish to enter a new starting balance before printing. This offers the option of seeing how a different starting balance would affect your current balance. This entry only affects this particular print out and your starting balance will not be altered permanently. Before printing commences, Autocheck will examine the file to give the number of pages based on the current page length. When this is completed the current page length will be displayed. Autocheck will also display the number of pages of entries found in the records. The last page will be only partially filled. Enter the page number required and press RETURN, or press RETURN only for the whole file. The page option is given because if you have several pages, you may only require the most recent one printed, especially if you already have a print out of the whole file. For example, if Autocheck shows two pages the most recent entries will be on page two. If you now select page two for printing Autocheck will scan the file updating your current balance. Only when the page you have selected is reached, will printing start. This means that the current balance shown at the base of the most recent page will be up to date. The printed copy itself takes the form of a statement with the amount of the cheque printed with other details. Your current balance less the cheque amount is printed in the far right column, next to the amount. Any income will be added to your balance. The forty column print out only includes the month and date, not the year. Only the first 13 characters for the Payee are printed. These changes and those in the other printer routines are to allow for fewer columns. The eighty column format is as described. Epson printers will print in condensed/enlarged print.

ACKNOWLEDGEMENTS

All the coloured screens were designed using 'Multicolour screen generator' by Richard J. Kalagher, first published in ANALOG magazine issue number twelve. My only comment is a big thank you to Richard, it is a very useful utility.

Listing 1

AtariLister - requires Java

Listing 2
AtariLister - requires Java

Listing 3
AtariLister - requires Java

top