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
|
|
|
Listing 2
|
|
|
Listing 3
|
|
|
top