home *** CD-ROM | disk | FTP | other *** search
Text File | 1979-12-31 | 89.5 KB | 1,818 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CHECK REGISTER PROGRAM
-
- CP/M-80 Version 1.0
-
- June 1986
-
-
-
-
-
- Copyright (c) 1986 by WoolleyWare
- All Rights Reserved
-
- v.1.0, Page i
-
-
-
- USER-SUPPORTED SOFTWARE
-
- This program is distributed as User-Supported Software. You are
- encouraged to copy and share this program and related files with the
- following conditions:
-
- 1. Except for a nominal handling fee (perhaps $5 or $10), no financial
- or other consideration may be charged for distribution.
-
- 2. All original files must be distributed together in unmodified form.
- If appropriate, you may include additional files, so long as they
- are identified separately from the originals.
-
- 3. The copyright notice must not be altered, bypassed, or removed from
- the original files. As described in this document, you may delete
- the copyright notice from your private version of the program.
-
- If you find this program useful, your contribution in proportion to its
- value (perhaps $25) will be appreciated. Note that whatever amount you
- send may be tax deductible as an expense toward improved management of
- your financial records. When you correspond, please identify which
- operating system (CP/M-80) and version of the Check Register Program you
- are using. The version number is indicated in the default title line at
- the top of the screen before your personalized title has been read from
- the INF file; your copy may be more recent than the version available
- when this document was prepared (1.0). If you expect a response,
- include a self-addressed stamped envelope. Absolutely no phone calls,
- please.
-
- Jim Woolley
- WoolleyWare
- 5825 Pilar Court
- San Jose, CA 95120
-
-
-
- DISCLAIMER
-
- WoolleyWare makes no representations or warranties with respect to the
- contents hereof and specifically disclaims any implied warranties of
- merchantability or fitness for any particular purpose. WoolleyWare
- reserves the right to revise this publication and to make changes from
- time to time in the content hereof without obligation to notify any
- person or organization of such revisions or changes.
-
-
-
- TRADEMARKS
-
- WordStar is a trademark of MicroPro International Corp. SuperCalc is a
- trademark of Sorcim Corp. dBASE II is a trademark of Ashton-Tate.
- MBASIC is a trademark of Microsoft. CBASIC is a trademark of Compiler
- Systems, Inc. CP/M is a trademark of Digital Research Inc.
-
- v.1.0, Page ii
-
-
-
- ABSTRACT
-
- The Check Register Program simplifies the task of maintaining one or
- more checking accounts. Three separate programs are included:
-
- CHECKS The primary application, manages the current check
- register, including reconciliation of transactions which
- have cleared the bank.
-
- CLEARS Maintains and summarizes transactions after they have
- cleared the bank, for historical review.
-
- CHECKSIN Installs the CHECKS.SCR file, adapting CHECKS and CLEARS
- to your particular video display terminal or computer
- console.
-
- Sample data files are included for tutorial and demonstration purposes.
- Commented C language source files are provided in lieu of further
- support.
-
- v.1.0, Page iii
-
-
-
- TABLE of CONTENTS
-
- Page
-
- TITLE PAGE
- USER-SUPPORTED SOFTWARE i
- DISCLAIMER i
- TRADEMARKS i
- ABSTRACT ii
- TABLE of CONTENTS iii
- FEATURES 1
- REQUIREMENTS 2
- GENESIS and BIOGRAPHY 2
- INSTALLATION 5
- LBR Distribution Library 5
- CHECKS.SCR File and CHECKSIN Program 5
- DEMONSTRATION and TUTORIAL 9
- CHECKS Program 9
- Current Date and Yes/No Queries 9
- Cursor Movement 10
- Save, Quit, and Done Commands 11
- New Entry and Date Field 11
- Payee Field and Abreviations 12
- Category Field 13
- Amount Field and Calculator 13
- Deposit Field 15
- Clear Field 15
- Balance Field 16
- Insert/Delete Entry and Undo Commands 16
- Ordering Entries 16
- Check Number 17
- Print Command 17
- Reconciliation 18
- Done Command 18
- Balance Brought Forward 19
- CLEARS Program 19
- EXECUTING the PROGRAM 20
- INFORMATION FILE 22
- GETTING STARTED 24
- Beginning a New Register 24
- Insufficient Disk Space 25
- COMMANDS 25
- Cursor Movement Commands 25
- Editing Commands 26
- Calculator Commands 27
- Save, Quit, and Done Commands 27
- Miscellaneous Commands 28
- FUTURE PLANS 28
-
- v.1.0, Page 1
-
-
-
- FEATURES
-
- As you will surely admit, managing a checkbook by hand is fairly simple;
- therefore, one of the primary design goals for this program was to make
- using it at least as easy as the manual method. This has been
- accomplished by implementing the following features:
-
- o The user interface is modeled after WordStar. If you use WordStar,
- you already know how to move the cursor, scroll pages, and edit
- text. If you are not familiar with WordStar, a convenient "help"
- screen is readily available.
-
- o Transaction date (month, day, and year) will default to that of the
- previous entry. Only changes need to be typed. If you are
- entering several transactions for the same month and year, only the
- day might require revision.
-
- o You may define abreviations for accounts that are paid repeatedly,
- such as gas, electric, water, and telephone utilities, revolving
- charge accounts, and supermarkets. When an abreviation is entered,
- the payee description will automatically expand to the full name
- you have linked to the abreviation.
-
- o Each entry may be assigned a category. You may define your own
- categories by use of a single character. For example, you may use
- H for household transactions and T for tax deductible entries.
- Also, categories may be conveniently utilized to manage two or more
- checkbooks within one account.
-
- o Extended integer arithmetic is used to keep track of amounts
- ranging from -3,276,899.99 thru +3,276,799.99 without losing any
- pennies.
-
- o A simple calculator may be used to add to or subtract from the
- amount field of each entry. A memory register is included, which
- is retained each time the program is executed.
-
- o Automatic transactions may be defined. Examples include a monthly
- loan payment which is automatically withdrawn from your account on
- a certain day, or your salary which is automatically transferred
- from your employer's bank to your account.
-
- o Entries may be conveniently sorted to primary and secondary levels,
- including date and payee, payee and date, category and date, or
- amount and date.
-
- o A reconciliation report itemizes checks, deposits, and current
- balance for entries which have cleared the bank and for all entries
- by category, including a total over all categories.
-
- o Cleared entries are removed to a separate file, retaining only
- active transactions in the check register. An independent program
- is provided to manage cleared entries.
-
- Features v.1.0, Page 2
-
-
-
- o The current check register, the reconciliation report, and an audit
- trail of cleared entries may be printed for filing and backup.
-
- o An installation program will quickly adapt the program to work with
- your video display terminal or computer console.
-
- Commented C language source files are included. If you require
- additional features, feel free to add them.
-
-
-
- REQUIREMENTS
-
- The Check Register Program requires an 80 column x 24 row video display
- with addressable cursor. Various terminals and computer consoles are
- supported. The CP/M-80 operating system and one disk drive are
- necessary. An 80 column printer with FORM FEED control is desirable.
-
- For a single check register, the database of transactions is maintained
- in two separate files, one for those which have not cleared the bank and
- another for those which have. The maximum number of active (uncleared)
- entries is 128, which is generally sufficient for a very large family or
- a very small business, assuming bank statements are received monthly.
- Up to 384 cleared entries are kept in the database; for an average
- family, this should be sufficient for about six months. When the 384
- limit is approached, older records may be marked for summary and
- removal; each summary is retained in the database. The program may be
- used to manage more than one check register by defining separate sets of
- database files.
-
- It is assumed that the CP/M Basic Input/Output System (BIOS) console
- display function treats BACKSPACE as non-destructive; that is, the
- cursor is moved to the previous character position on the same line
- without changing the character. Similarly, it is assumed that a LF
- (line feed) character sent to the console from any location above the
- 24th line will move the cursor down one line without altering the
- display. Finally, it is assumed that a CR (carriage return) character
- sent to the screen from any location will move the cursor to the
- beginning of the same line (without line feed). These assumptions are
- not expected to be restricting.
-
- The Check Register Program was developed using WordStar, BDS C, and an
- Osborne 1 59K CP/M 2.2 system with 52.5K transient program area (TPA).
-
-
-
- GENESIS and BIOGRAPHY
-
- You might wish to skip this section until you have had a chance to see a
- demonstration of the Check Register Program. To do that, follow
- instructions given in the Installation and the Demonstration and
- Tutorial section. You can return to this section after determining that
- the Check Register Program is worth further consideration. On the other
- hand, you may already be convinced; in that case, the following
- background information should be useful.
-
- Genesis and Biography v.1.0, Page 3
-
-
-
-
- When I bought my Osborne 1 computer in the Fall of '81, I had no
- specific plans for its use. I had been a nuclear engineer with General
- Electric Company for 16 years; much of that time was spent developing
- engineering computer programs for nuclear power reactors. I had
- experience with BASIC, FORTRAN, and assembly language. My wife was
- running a small business teaching microwave cooking. My sons were
- teenagers. I thought the computer would help organize my wife's books
- and the kids might learn something about technology. The kids thought
- they could play games with it. I was especially interested in using the
- computer to simplify managing our family checkbook.
-
- The Osborne 1 came bundled with CP/M, WordStar, SuperCalc, MBASIC, and
- CBASIC. I thought WordStar would get little use. SuperCalc looked
- handy for financial analysis. But I knew I could write my own BASIC
- programs whenever necessary.
-
- As it turned out, WordStar proved to be the most useful application by
- far; I used it for correspondence, the kids used it for school, and my
- wife used it to print recipes and shopping lists. I set up SuperCalc
- spreadsheets to keep track of utility bills and to help reconcile my
- checkbook at the end of the month, but found it a little cumbersome. I
- discovered a public domain general ledger program to help with my wife's
- business. It was written in CBASIC, and I was able to adapt it to the
- Osborne 1.
-
- But the thought of committing our check register to a BASIC program was
- not appealing. Maintaining the register by hand is fairly easy;
- whatever is done by computer should be at least as simple, or it would
- not be worth booting the disk. I felt the performance of BASIC in terms
- of memory capacity and speed would be insufficient to justify the effort
- of struggling with BASIC's syntax and development environment.
-
- In the meantime, I decided to redirect my career from nuclear
- engineering into computer engineering. I joined a consulting firm and
- began to develop small computer systems and software. Currently I am
- specializing in refrigeration control systems for huge cold storage
- facilities servicing the food processing industry.
-
- Experience with the public domain (PD) general ledger program led to my
- heavy involvement with the First Osborne Group (FOG). For two years, I
- served as Disk Librarian for FOG's rapidly growing collection of PD
- programs. It was very educational, leading to my interest in the C
- programming language, but most of my spare time was consumed by
- responsibilities to FOG.
-
- I was still interested in a program to aid with check register
- management. I found some PD SuperCalc templates, but they suffered from
- SuperCalc's shortcomings. Another PD dBASE II application looked
- interesting, but I did not own a copy of dBASE. I thought about
- purchasing a commercial program, but they usually offered more features
- than I required, such as budgeting or tax preparation. I was concerned
- that after buying a package, I would find that keeping the checkbook
- manually remained simpler than using the computer.
-
- Genesis and Biography v.1.0, Page 4
-
-
-
- When I found myself with some spare time during the Christmas season of
- 1985, I finally decided to write a program in C to address the
- requirements I had in mind when I bought the computer four years
- earlier. Since my wife and I keep separate checkbooks with only one
- joint account, I wanted to categorize transactions, so that our separate
- balances could be easily maintained. Since I am not a good typist, I
- wanted to abreviate those accounts that were paid repeatedly, such as
- telephone, water, and credit cards. I wanted reasonable default dates,
- eliminating the need to reenter the same values for each check or
- deposit. Since I sometimes forgot to record automatic transactions,
- like a monthly loan payment to the bank, I wanted a feature that would
- remember such things. I decided to make the user interface similar to
- WordStar, avoiding the need to learn another. I thought it would be
- useful to incorporate a simple calculator for the amount portion of each
- entry. I wanted to be able to sort entries in a variety of ways. Above
- all, I wanted to reduce the effort of reconciling the checkbook against
- the monthly statement.
-
- As development progressed and I could see how useful the program was to
- me, I began to think that others might be interested, too. Since my
- oldest son had just started college, the thought of another source of
- income was attractive. I decided to try the concept of User-Supported
- Software distribution. This seems to be a winner for both the user and
- the developer. Anyone can try the program without making a commitment.
- If the program proves useful, they may contribute toward its development
- in proportion to its worth. The developer avoids the expense of
- packaging and advertising, yet receives a just reward if the program has
- any real value to others.
-
- I decided to go one step farther. Many User-Supported Software programs
- are distributed without the source files; that is, only executable
- files and a document file are usually provided. As a user of such
- programs, I've always wanted to have the source files, so that I could
- better understand how the program worked. That way, I knew that I could
- add features, write separate interface programs, or correct any latent
- bugs myself. Also, I believe that the developer should be proud to
- display his work.
-
- I decided to include the commented C language files in lieu of further
- support. After using the Check Register Program myself for several
- months, I believe that it functions correctly. If there are detailed
- questions about how the program works, you or a friend familiar with C
- are invited to investigate the source files. If you require additional
- features, feel free to add them.
-
- I will be interested in your written questions or comments, but do not
- expect a response unless you include a self-addressed, stamped envelope.
- Naturally, I cannot help you diagnose problems in your own modified
- version of the program. On the other hand, if you discover a genuine
- bug in the original version, I will be indebted to you for identifying
- it to me. But absolutely no phone calls, please.
-
- One final request. Feel free to distribute the Check Register Program
- to your friends, but be sure to include all of the original files
-
- Genesis and Biography v.1.0, Page 5
-
-
-
- unmodified. You may add your revisions, so long as they are identified
- separately from the originals.
-
-
-
- INSTALLATION
-
- LBR Distribution Library
-
- The Check Register Program is normally distributed as an LBR library
- file containing several executable COM files, a squeezed (reduced in
- size) document DQC file, several squeezed C language CQ and HQ files,
- and other files which may or may not be squeezed.
-
- Because of size limitations, the DQC file may be supplied separate from
- the LBR file which contains executable programs. For the same reason,
- the CQ and HQ files may be concatenated and provided as a single CQ file
- separate from the program LBR file. Alternatively, the DQC, CQ, and HQ
- files may be distributed together, but in a separate documentation LBR
- file.
-
- An appropriate public domain (PD) program such as LU, NULU, or LSWEEP
- may be used to extract files from the LBR distribution library. If your
- disk will hold approximately 180 KB, you may wish to extract all except
- the CQ, HQ, and DQC files onto one disk. After extracting such files,
- any which are squeezed (have a Q as the second letter of the file type,
- as in FILENAME.TQP) should be unsqueezed using a PD program like USQ or
- NSWEEP.
-
- C language source files of type CQ or HQ may be left within the original
- LBR distribution library until needed. The CHECKS.DQC file should be
- extracted, unsqueezed to make CHECKS.DOC, and printed for your use. To
- print the file, do not use a formatting print routine such as WordStar's
- Print function. CHECKS.DOC has already been formatted, so that page
- numbers will be consistent with the Table of Contents. It may be
- conveniently printed using the CP/M PIP utility. Place PIP.COM and
- CHECKS.DOC in drive A. At the A> prompt, type
-
- PIP LST:=CHECKS.DOC
-
- after first making sure that your printer is set for 66 lines per page
- (11 inch page at 6 lines per inch) and 80 columns per line, loaded with
- continuous fan-fold paper, and positioned with the print-head at top-of-
- page.
-
- Once all necessary files have been extracted and unsqueezed, store the
- original LBR distribution disk in a safe place as a backup. That disk
- should be used if you wish to make a copy for a friend.
-
- CHECKS.SCR File and CHECKSIN Program
-
- The Check Register Program utilizes the screen parameter file CHECKS.SCR
- to identify cursor controls which are compatible with your video display
- terminal or computer console. CHECKS.SCR also contains a "help" display
- as well as the initial copyright message.
-
- Installation v.1.0, Page 6
-
-
-
-
- An uninstalled copy of CHECKS.SCR is included in the distribution
- package. That file may be modified to add the necessary screen controls
- by one of three methods:
-
- 1. Extract the screen controls from a copy of the WordStar file
- WS.COM, which has already been installed for your computer console.
-
- 2. Select your terminal or one similar to yours from among the limited
- number available within the CHECKSIN.DAT file.
-
- 3. Directly edit the CHECKS.SCR file using a text editor such as
- WordStar or ED to describe your terminal's screen controls.
-
- The CHECKSIN program will automatically adapt the uninstalled CHECKS.SCR
- file to work properly with your equipment by using either method 1 or
- method 2. If you have a copy of WS.COM which works with your computer
- screen, method 1 is perhaps the easiest. If you choose method 2, the
- CHECKSIN program will display the list of terminals found in
- CHECKSIN.DAT; since CHECKSIN.DAT is a standard ASCII file, it may be
- reviewed using the CP/M TYPE command, also. Instructions for performing
- each of the three installation methods are provided in this section.
-
- To execute the CHECKSIN installation program, place CHECKSIN.COM,
- CHECKSIN.DAT, and CHECKS.SCR on a single disk in drive A. (If you plan
- to use installation method 1 and have only one disk drive, it will also
- be necessary to put a copy of WS.COM on the same disk.) You should
- leave about 2 KB free space on the disk. Do not remove this disk until
- the installation process is complete. At the A> prompt, type
-
- CHECKSIN
-
- You will be asked to select one of the three installation methods.
-
- If you choose method 1, you will be prompted to insert an installed copy
- of the WordStar file WS.COM into one of your disk drives; you should not
- remove it until the CHECKSIN process is complete. Although the WS.COM
- file will only be read from and will not be altered in any way, it is
- always best to have a backup copy available. You will be asked to
- identify which drive contains WS.COM; type the drive letter (A or B or
- whatever), then press RETURN.
-
- If you select method 2, you must indicate which drive includes a copy of
- the CHECKSIN.DAT file. Assuming you have followed these directions, you
- may respond by typing A, followed by RETURN. As with WS.COM above,
- CHECKSIN.DAT will not be altered, but it is best to use a backup copy.
-
- When requested to identify which drive contains an uninstalled copy of
- the screen parameter file CHECKS.SCR, you may type A and RETURN, as
- indicated above. This file will be modified, but a backup of the
- original will be created on the same disk and named CHECKS.BAK. Your
- disk must have enough free space to store this backup file (about 2 KB).
-
- Whether or not CHECKSIN is used to adapt CHECKS.SCR to your console
- screen, you may wish to customize the installation by directly editing
-
- Installation v.1.0, Page 7
-
-
-
- this standard ASCII file using ED, WordStar, or some other text editor.
- When using WordStar, it is MANDATORY to edit CHECKS.SCR as a Non-
- document mode file (select N from the main menu).
-
- The CHECKS.SCR file consists of three sections:
-
- 1. The first six lines contain a "help" screen, which is shown
- whenever the ^J command (CONTROL and J simultaneously) is given
- within the Check Register Program. This section should not be
- edited.
-
- 2. The next eleven lines identify screen controls, which are detailed
- below. This section may be customized using your text editor.
-
- 3. The last section contains a coded copyright message, which is
- displayed whenever the Check Register Program is started. The
- coded message is preceded by a single blank line. After seeing the
- copyright message a number of times, you may wish to eliminate it,
- thus speeding the startup process. This is possible by deleting
- the blank line and everything following it. If using WordStar,
- position the cursor on the blank line preceding the coded message
- and press ^Y (CONTROL and Y simultaneously) until all following
- text is deleted.
-
- The second section contains eleven lines identifying screen controls
- required by the Check Register Program. An example is given in Figure
- 1 below.
-
- 2 27 61 Clead1 ESC =
- 0 Clead2 Not Applicable
- 0 Ctrail Not Applicable
- 0 32 32 0 Cb4flg Linoff Coloff Ascur
- 2 27 84 Eraeol ESC T
- 2 27 82 Lindel ESC R
- 2 27 69 Linins ESC E
- 2 27 41 Ivon ESC )
- 2 27 40 Ivoff ESC (
- 1 26 Trmini CTRL-Z
- 100 1 Dloop Inserton
-
- Figure 1: Example of Section 2 of CHECKS.SCR
-
- Each line consists of decimal integers separated by one or more space or
- tab character (called white space). There may be white space before the
- first integer on a line; anything may follow white space after the last
- integer on a line. Except for the fourth and eleventh lines, the format
- of each line consists of a count of the number of values contained in
- the screen control string, then the decimal equivalents of the string of
- ASCII characters which define each screen control; a count of zero
- indicates that the string is not applicable. Screen controls identified
- on each of the eleven lines are defined by line number below.
-
- The first four lines describe how to position the cursor at a specific
- (row,column) coordinate on the screen, where (0,0) represents the upper-
-
- Installation v.1.0, Page 8
-
-
-
- left corner. The cursor positioning control sequence must obey the
- following model (spaces are for presentation only):
-
- Clead1 P1 Clead2 P2 Ctrail
-
- When Cb4flg is zero, P1 = row + Linoff and P2 = column + Coloff. When
- Cb4flg is non-zero, P1 and P2 are reversed. All parameters are detailed
- below.
-
- 1. Count From 1 thru 8, or 0 if not applicable
- Clead1 Cursor positioning string preceding row and column
-
- 2. Count From 1 thru 4, or 0 if not applicable
- Clead2 Cursor positioning string between row and column
-
- 3. Count From 1 thru 4, or 0 if not applicable
- Ctrail Cursor positioning string following row and column
-
- 4. Cb4flg Zero if row precedes column in cursor positioning
- sequence; else, non-zero
- Linoff Cursor positioning value recognized as top row
- Coloff Cursor positioning value recognized as left column
- Ascur Zero if cursor positioning P1 and P2 are to be expressed
- as binary values, 2 if expressed as two ASCII digits, or
- 3 if expressed as three ASCII digits
-
- 5. Count From 1 thru 6, or 0 if not applicable
- Eraeol Control string to erase from cursor to end of line
-
- 6. Count From 1 thru 6, or 0 if not applicable, or -1 to indicate
- VT100 compatible horizontal scroll region specified by
- ESC [ Pt r
- Lindel Control string to delete line containing cursor and move
- all lower lines up one line each, making last line blank;
- not used if Count = -1
-
- 7. Count From 1 thru 8, or 0 if not applicable, or -1 to indicate
- VT100 compatible horizontal scroll region specified by
- ESC [ Pt r
- Linins Control string to insert a blank line and move line
- containing cursor and all lower lines down one line each,
- pushing last line off screen; not used if Count = -1
-
- 8. Count From 1 thru 6, or 0 if not applicable
- Ivon Control string to activate highlighting (dim prefered;
- else, inverse, underline, or other)
-
- 9. Count From 1 thru 6, or 0 if not applicable
- Ivoff Control string to deactivate highlighting (return to
- normal)
-
- 10. Count From 1 thru 8, or 0 if not applicable
- Trmini Control string to clear the screen; it may be necessary
- to include the home cursor control string first
-
- Installation v.1.0, Page 9
-
-
-
- 11. Dloop Approximate speed of your CPU relative to 4 MHz Z80,
- expressed as percent; 200 indicates your CPU is twice as
- fast; reducing Dloop reduces the number of loops required
- for a given delay time, indicating that your CPU is
- slower or that you wish shorter delay
- Inserton Zero to startup in overtype (replace) mode when editing
- Payee field; non-zero to startup in insert mode
-
- By carefully following instructions described in this section, you
- should be able to properly initialize CHECKS.SCR to describe screen
- controls compatible with your computer console.
-
-
-
- DEMONSTRATION and TUTORIAL
-
- The distribution library contains data files which may be used with the
- Check Register Program for demonstration and tutorial purposes. After
- CHECKS.SCR has been properly initialized, place that file along with
- CHECKS.COM, CLEARS.COM (optional), DEMO.DAT, and DEMO.INF on a disk in
- drive A. Be sure to retain a copy of DEMO.DAT, since that file will be
- modified during the following exercises.
-
- CHECKS Program
-
- The CHECKS program may be used to manage the check register database.
- To start it, type
-
- CHECKS DEMO
-
- at the A> prompt. Once the program reads cursor controls from the
- CHECKS.SCR file and clears the screen, a copyright notice should appear.
- Press any key except ^C (CONTROL and C simultaneously, which causes the
- program to stop).
-
- Check register entries will be read from the DEMO.DAT database and
- displayed on your console screen. The default title line, which
- identifies the CHECKS version number, will appear centered at the top.
- To the right of that will be the current filename, including disk drive.
- If your console supports it, the top line should appear highlighted (dim
- or inverse). After one blank line, a prompt line will be seen; all
- program prompts will appear on that line. After another blank line, a
- header (highlighted) displays field names applicable to all records
- (entries); these are Date (with subfields month, date, and year
- displayed as MM/DD/YY), Payee, Category, Amount, Deposit, Clear, and
- Balance (a calculated field). If anything looks wrong, verify that your
- CHECKS.SCR file was properly initialized as described in the
- Installation section.
-
- Current Date and Yes/No Queries
-
- You will be prompted to enter the current date. This is requested
- because the DEMO.INF file contains information defining automatic
- transactions. In order to determine if an automatic entry should be
- generated, it is necessary to compare the current date against the most
-
- Demonstration and Tutorial v.1.0, Page 10
-
-
-
- recent date found in the database. For demonstration purposes, make the
- current month one greater than the most recent month, which is the
- default (e.g., if the default month is 6, simply press 7 and RETURN to
- change it). Then press RETURN twice to skip past date and year
- subfields. You will be asked if you wish to change the current date and
- prompted for a Y/N (Yes/No) response.
-
- Queries which may be answered Yes or No normally show a default
- response. If you simply press RETURN (or any other control command),
- the default response will be assumed. Pressing ESCAPE will toggle the
- default reponse, but you will still have to press RETURN if you wish to
- accept the new default. Press Y or N (without RETURN) to respond Yes or
- No regardless of the indicated default.
-
- There is a shortcut way to specify the current date. After making the
- minimum number of changes to convert the default date into the current
- date (e.g., after changing the month), simply press ESCAPE. This will
- cause the new date to be accepted immediately. Notice that no changes
- will be necessary if the default date is satisfactory; ESCAPE will be
- sufficient.
-
- Assuming you have made the current month one greater than the most
- recent previous month, tell the program that you do not wish to change
- it. You should then see several automatic transactions entered near the
- bottom of the screen. You will be asked if you wish to accept each.
-
- After appropriate automatic transactions have been completed,
- abreviation information will be read from DEMO.INF and installed into
- memory. Finally, the personalized title line found in DEMO.INF will be
- read and displayed on the top line. At this point, you will be prompted
- to either start a new entry or press ^J for help. Take a look at the
- "help" screen by pressing ^J (CONTROL and J simultaneously).
-
- Throughout the balance of this document, a carat symbol (^) indicates
- use of the CONTROL key in conjunction with another key, which is similar
- to the use of SHIFT to type an upper case letter.
-
- Cursor Movement
-
- Now roam around the check register. Move the cursor using ^D, ^S, ^E,
- and ^X, which form a diamond pattern on the keyboard. Notice that the
- cursor jumps left and right by field except within the Payee field,
- where it moves one character at a time. Try ^F and ^A, which jump from
- word to word within the Payee field but work like ^D and ^S outside of
- Payee. Within Payee, ^F and ^A always stop at the first non-space
- character following one or more spaces, or at the start or end of text,
- without regard to punctuation. Notice that TAB and ^I do the same thing
- as ^F; also, BACKSPACE and ^H work like ^S. Scroll up and down one
- "page" at a time with ^R and ^C, or one line at a time with ^W and ^Z.
- Use ^QW and ^QZ for continuous scrolling, or ^QR and ^QC for a quick
- jump to the extremities. Find screen edges with ^QD, ^QS, ^QE, and ^QX.
-
- Notice that ^Q appears at the top left whenever you have entered only
- the first half of a quick cursor movement command; this command display
- changes to show the cursor line number after completing the command.
-
- Demonstration and Tutorial v.1.0, Page 11
-
-
-
- Also notice that the second half of a two key command may be entered by
- pressing either the lower case, upper case, or CONTROLed form; for
- example, ^Qc, ^QC, and ^Q^C all move to the bottom of the check
- register.
-
- Save, Quit, and Done Commands
-
- You may wish to interrupt the demonstration and return to it at a later
- time. To record all changes made to the check register without quitting
- the program, use the ^KS command. This will save a complete copy of the
- current register after first making a backup copy of the original
- register. The filename specified on the command line when the program
- was initiated, which also appears at the right edge of the top display
- line, will be used for each file. For the demonstration, the filename
- is DEMO. Therefore, the original database file DEMO.DAT will be renamed
- DEMO.BAK, and the current check register will be saved as DEMO.DAT. All
- entries including any cleared entries (see Clear Field later in this
- section) will be saved.
-
- There are two ways to stop the program. ^KQ will quit without saving
- any revisions you may have made to the check register. If there have
- not been any changes since you first started the program or since the
- last time you saved the register using ^KS, then the program will quit
- immediately. If the register was modified, you will be queried to
- verify that you wish to abandon the current register without first
- saving it. You may respond Yes or No (see Yes/No Queries earlier in
- this section). If the response is Yes, then the program will quit; if
- No, it will resume.
-
- The other way to exit the program is by use of the Done command ^KD (or
- ^KX, which is a synonym for ^KD). In this case, any cleared entries
- (marked CLR in the Clear field) will first be appended to the CLR file
- (DEMO.CLR for the demonstration), the DAT file will be renamed BAK
- (DEMO.BAK), and all active entries (those which have not cleared the
- bank) will be saved in a new DAT file (DEMO.DAT). Notice that if there
- are any cleared entries, ^KD is not the same as ^KS followed by ^KQ,
- since ^KS saves all entries, both cleared and active. The Done command
- is described in more detail later in this section.
-
- New Entry and Date Field
-
- When at the end of the check register, you may start a new entry by
- pressing RETURN. The first time a new entry is initiated, the Date
- field will default to whatever you entered for current date during
- program startup. After that, the preceding entry's date will be used as
- the default. You may change the date by entering a new value when the
- cursor is in an appropriate subfield; only two digits are permitted.
- RETURN or any other control command (except ^G, DEL, or ^U, which are
- discussed below) will cause whatever appears on the display to be
- accepted as the value for the subfield. For the Date field only, the
- slash character (/) will produce the same result as RETURN, and the
- cursor will advance. The value is not checked to be sure that a valid
- date has been entered, allowing flexibility in your definition of dates;
- however, the automatic transaction processor and the sorting routine
-
- Demonstration and Tutorial v.1.0, Page 12
-
-
-
- assume that dates are calendar values displayed as MM/DD/YY
- (month/day/year).
-
- Notice that the prompt line changes each time the cursor enters a new
- field or subfield. Also, pressing RETURN always causes the cursor to
- advance to the next field or subfield. Date subfields may be edited by
- pressing ^G or DEL; further information on editing numeric values is
- postponed until description of the Amount field. When you are satisfied
- with the date for your new entry, move to the Payee field.
-
- Payee Field and Abreviations
-
- Before entering text into the Payee field, check which abreviations are
- available by using the ^KA command. Abreviations defined in DEMO.INF
- and installed during startup will be shown in alphabetical order. If
- there are too many to display on one screen, scroll up or down with ^W
- or ^Z. Press ESCAPE to restore the check register display.
-
- Pick one of the abreviations to define the payee for your new entry.
- Type the three character abreviation using either upper or lower case
- (or both), then pause briefly. The abreviation will be automatically
- expanded, leaving the cursor at the end where additional text may be
- inserted.
-
- The program checks for an abreviation whenever only three characters
- have been entered for the payee, regardless of case, but only if there
- has been a brief delay after the third character was typed. Therefore,
- the same three characters may be used to enter a complete payee
- description without abreviation expansion, if typed continuously at
- normal speed. The necessary delay will be shorter (longer) if the value
- of Dloop found in CHECKS.SCR is reduced (increased) as described in the
- Installation section. The normal delay is one-half second.
-
- Characters may be inserted into the middle of a payee description by
- moving the cursor to the appropriate position, then typing additional
- text. If INSERT mode is ON, then previous text will be pushed to the
- right to make room for the new characters; if INSERT mode is OFF, new
- characters will overtype (replace) previous ones. Whenever the cursor
- is within the Payee field, the current mode will be displayed on the
- prompt line. Pressing ^V will toggle between INSERT ON and INSERT OFF.
- As described in the Installation section, the value of Inserton in
- CHECKS.SCR defines the initial mode.
-
- The Payee field may be edited using ^G (delete cursor character), DEL
- (delete previous character), ^T (delete balance of word), ^QY (delete
- from cursor to end of field), and ^QDEL (delete to beginning of field
- except cursor). Each deletion may be restored (undeleted) by pressing
- ^U before additional editing (insert or delete) has been performed.
- Notice that after the cursor has been moved out of the Payee field, ^U
- will still be effective once the cursor is returned anywhere within the
- Payee field; the entire contents of Payee are restored whenever ^U is
- used. The editing commands ^T, ^QY, and ^QDEL are meaningful only
- within the Payee field and have no effect outside of that field.
-
- Demonstration and Tutorial v.1.0, Page 13
-
-
-
- DEL has been used in the previous paragraph to signify the DELETE key.
- The combination represented by ^_ (CONTROL and UNDERLINE simultaneously)
- is always a synonym for DEL, so ^Q^_ will function the same as ^QDEL.
- When reading this document, DEL should be understood to indicate either
- the DELETE key or the ^_ combination.
-
- Notice that a check for abreviation expansion will not occur when the
- payee description has been edited until only three characters are left.
- Instead, the check is performed only after the third character is typed.
- Therefore, to insure that a valid abreviation will be expanded, it is
- necessary to edit until only two characters are left, then type one
- more.
-
- Category Field
-
- When contents of the Payee field are satisfactory, press RETURN or an
- appropriate control command to move to the Category field. The default
- category is blank or SPACE. You may enter any single character which
- will display on the screen, such as a letter, digit, or punctuation
- mark. Letters will always be converted to upper case. Therefore, the
- most useful categories are represented by 26 letters and 10 digits. For
- example, you might use H for household expenses, U for utilities, etc.
- Or if keeping two separate check registers with one account, you might
- let 1 represent the first register and 2 the second. It is often
- satisfactory to accept the default and leave the category blank.
-
- The effect of pressing ^G or DEL while in the Category field is to
- delete the existing character and leave a blank, which is the same
- result as pressing SPACE. The undo command ^U has no effect upon
- category (although it may restore an entry which was previously deleted
- using ^Y).
-
- Amount Field and Calculator
-
- Next move to the Amount field and enter a value for your new entry. The
- default amount for new entries is zero. When another value is started,
- it will replace any previous value. Amounts are always positive, so a
- plus or minus sign is not required. If plus or minus is pressed, it
- will be assumed the start of a calculation, which is described below.
- Amounts should be entered using digits and decimal (or period); a
- numeric keypad is particularly useful. RETURN or any other control
- command except ^G, DEL, or ^U, completes the value.
-
- It is not always necessary to enter a decimal followed by two digits.
- If a value is completed before or immediately after pressing decimal,
- then the value is assumed to be whole dollars; it will be displayed with
- zeroes following the decimal. If the value is completed after entering
- a decimal and one digit, then the digit is assumed to be tens of cents
- and zero is shown in the units place. No more than two digits are
- permitted after typing a decimal. For example, typing
-
- 123 RETURN results in 123.00
- 123. RETURN results in 123.00
- 123.4 RETURN results in 123.40
- 123.45 RETURN results in 123.45
-
- Demonstration and Tutorial v.1.0, Page 14
-
-
-
-
- Numeric fields (Date and Amount) may be edited by pressing ^G or DEL.
- The effect of either is to delete digits from the right, so that new
- low-order digits may be substituted. If ^U is pressed before completing
- a new value, an edited numeric field will be restored to its original
- value; this is true even if the only editing has been substitution of
- another value, rather than use of ^G or DEL.
-
- Another way to complete a new value is to enter a calculator command.
- The calculator may be used to add to or subtract from the Amount field.
- Also, the current amount may be added to or subtracted from calculator
- Memory, which is displayed on the prompt line whenever the cursor is in
- the Amount field. Finally, Memory may be cleared, or it may be recalled
- to the Amount field. Note that calculator Memory will be saved with
- check register entries, so that it will be available the next time the
- program is executed.
-
- The available calculator commands are listed below:
-
- + Add Value to Amount
- - Subtract Value from Amount
- = Display Result as Amount
- m+ Add Amount to Memory
- m- Subtract Amount from Memory
- mc Clear Memory to Zero
- mr Recall from Memory to Amount
-
- To add to (or subtract from) the current amount, press + (or -) followed
- by the value to be added (or subtracted). Press = to complete the
- addend (or subtrahend) and display the result. Any other calculator or
- control command except ^G, DEL, or ^U will also complete the result.
-
- Adding and/or subtracting several values may be done in series. For
- example, if the Amount field contains 1.23, then entering
-
- + 4.56 - 7.89 + 10.11 =
-
- will result in 8.01 for Amount. Notice that aftering entering 7.89 +,
- the Deposit field changes to show that the sign of Amount has changed;
- this will be discussed in more detail below.
-
- When using the + or - command, the value entered after the command may
- be used as a constant in a series calculation. Before making use of
- this constant feature, it is best to press = to make sure the current
- value is complete. For example, if Amount is 12.00, then entering
-
- = + 6 + + + =
-
- results in 36.00 for Amount, which is 12.00 + ( 6.00 x 4 ). Or when
- Amount is 36.00, then
-
- = - 5 - - - =
-
- yields 16.00, as in 36.00 - ( 5.00 x 4 ). Finally, with Amount at
- 16.00, then
-
- Demonstration and Tutorial v.1.0, Page 15
-
-
-
-
- = + 4 - + - =
-
- produces no change in Amount. If there is no value entered after the
- first + or - command, then the original value of Amount will be used as
- the constant. For example, if Amount is 16.00, then entering
-
- = + + + =
-
- yields 16.00 + 16.00 + 16.00 + 16.00 = 4 x 16.00 = 64.00.
-
- Calculator Memory may be used in calculations. Assuming that Amount is
- 64.00 and Memory is 12.34, typing
-
- + mr - 9.87 mc m- + 3.45 m+ - 1.23 =
-
- produces 69.92 for Amount and 2.22 for Memory. Notice that m commands
- may be entered using upper or lower case, but are always displayed in
- lower case.
-
- Deposit Field
-
- As previously mentioned, amounts are always positive. When the cursor
- is within the Deposit field, a query on the prompt line asks whether the
- amount represents a deposit. The response may be Yes or No; the default
- response will be equal to the current value of the Deposit field, which
- will be No for a new entry. A Yes response will cause DEP to display in
- the Deposit field, indicating that the amount is a deposit. If the
- amount is a withdrawal, then the response should be No, and the Deposit
- field will be blank.
-
- As described near the beginning of this section, the default response
- for a Yes/No query will be toggled each time ESCAPE is pressed. To
- accept the default, press RETURN or any other control command. Press Y
- or N (without RETURN) to respond Yes or No regardless of the indicated
- default. Editing commands including ^G and DEL have no effect within
- the Deposit field. Similarly, ^U will not restore the previous value of
- Deposit (although it may restore an entry which was previously deleted
- using ^Y).
-
- If the amount becomes negative as a result of calculator commands, then
- the Deposit field will automatically be reversed to restore the amount
- to a positive value. For example, if Amount is 12.34 and Deposit is
- blank (No), then entering
-
- - 23.45 =
-
- will cause Amount to become 11.11 and DEP (Yes) to display in the
- Deposit field.
-
- Clear Field
-
- When a transaction is recorded by the bank, it should be marked by
- positioning the cursor in the Clear field and responding Yes to the
- query. This will cause CLR to display in the Clear field, signifying
-
- Demonstration and Tutorial v.1.0, Page 16
-
-
-
- that the check has cleared the bank. The default for a new entry will
- be No, which is indicated by a blank Clear field.
-
- As described for the Deposit field, the default response will be toggled
- between Yes and No each time ESCAPE is pressed. Press RETURN or any
- other control command to accept the default. Press the single character
- Y or N to respond Yes or No directly. Editing commands including ^G and
- DEL have no effect, and ^U will not restore the previous value.
-
- Balance Field
-
- Notice that it is not possible to position the cursor within the Balance
- field; therefore, this field may not be directly altered. Instead, the
- cumulative balance is automatically calculated and updated whenever
- necessary.
-
- The balance will display within parentheses whenever it is negative
- (i.e., overdrawn or deficit). In this unfortunate case, it will display
- with two digits following a decimal over the range ( 0.01) thru
- (9999.99); beyond that, cents will be rounded off to display ( 10000)
- thru (3276899). A positive balance will display from 0.00 thru
- 99999.99, then round off cents to show 100000 thru 3276799, which would
- be a clear indication of affluence.
-
- Insert/Delete Entry and Undo Commands
-
- As we have discussed, it is possible to start a new entry by pressing
- RETURN whenever the cursor is at the end of the check register. To
- insert a new entry in the middle of the check register, position the
- cursor on the line where the entry is desired (any field will do), and
- press ^N. The previous entry on that line will move down to make room.
-
- It should be noted that the program will permit up to 128 active
- entries. If this limit would be exceeded, you will not be permitted to
- create a new entry. Normally, cleared entries are transferred from the
- active database file to a separate file, freeing space for new entries.
-
- To delete an entry, place the cursor within any field and press ^Y.
- After an entry has been deleted, it may be restored by positioning the
- cursor on any line of the check register and within any field, then
- pressing the Undo command ^U. This feature may be used to move an entry
- from one line to another by first deleting it, then restoring it at the
- new location. It is also possible to make several copies of an entry by
- first deleting it, then pressing ^U repeatedly.
-
- Each time ^U is pressed, the entry last deleted by ^Y will be restored
- at whichever line the cursor is positioned. If a character insert or
- delete (such as ^G) has intervened since the last ^Y, then the affected
- Payee field or numeric value may be restored by the first ^U command,
- but the deleted entry will be restored by the second ^U.
-
- Ordering Entries
-
- Check register entries may be conveniently ordered (sorted) according to
- several criteria. Press ^KO to order all entries. You will be prompted
-
- Demonstration and Tutorial v.1.0, Page 17
-
-
-
- to select the primary field, which implies a specific secondary field as
- follows:
-
- Primary Field Secondary Field
-
- Date Payee
- Payee Date
- Category Date
- Amount Date
-
- All entries will be ordered by ascending value of the primary field.
- Entries having the same primary field contents are ordered according to
- their secondary field. The Payee field will be sorted by ascending
- ASCII value, which means that upper case letters will come before lower
- case. Category will be sorted by ASCII value, also, but lower case
- letters are not allowed in the Category field.
-
- It is possible to order a subset of the entire check register. Position
- the cursor anywhere within the first entry of the subset and press ^O
- (or ^B, which is a synonym for ^O). As for the ^KO command, you will be
- prompted to choose the primary field; however, only the remainder of the
- register will be sorted. That is, all entries above the current entry
- will be disregarded when ordering is commanded with ^O (or ^B).
-
- For example, suppose you wish to sort entries since January 1st (or any
- other date) by category. First order all entries chronologically by
- using ^KO and identifying Date as the primary field. Then position the
- cursor at the entry with the earliest date of interest and press ^O to
- order remaining entries by the Category field.
-
- Check Number
-
- You may have noticed the absence of any field to identify the number
- which is usually printed on a check by the bank. The reason for this is
- personal; I have never found any particular value in trying to keep
- track of a check's number. Therefore, I preferred to make the Payee
- field as long as possible, rather than reserve space for a number field.
-
- For those who must record the number, the easiest way may be to add it
- at the end of the Payee field. Unfortunately, there will not be any
- convenient way to sort by number if this method is used. Alternatively,
- you may add the number at the start of the Payee field, so that ASCII
- ordering by payee will provide some kind of sequence. If you wish to
- use the latter approach, it is suggested that you first type the payee's
- description, taking advantage of the abreviation feature, then return to
- the start of the Payee field to insert the check number, using INSERT ON
- mode.
-
- Print Command
-
- The entire check register may be printed by using the ^KP command (or
- ^P, which is a synonym for ^KP) regardless of the cursor location. You
- will be prompted to prepare the printer, then press RETURN when ready.
- The paper should be positioned at the top of a clean page and the
- printer should be on line before pressing RETURN. The prompt line will
-
- Demonstration and Tutorial v.1.0, Page 18
-
-
-
- display an appropriate message while printing continues. When complete,
- a form feed will cause the paper to roll to a new page.
-
- Reconciliation
-
- In most cases, the bank sends a statement each month indicating which
- deposits and withdrawals have been recorded for your account. At that
- time, it is convenient to reconcile your check register against the bank
- statement. Each transaction recorded by the bank should be marked CLR
- in your register's Clear field. A convenient way to reconcile is to
- first order all entries by amount using the ^KO command. Then each
- statement transaction may be easily located in the register by scanning
- for the correct amount. Moving the cursor up and down in the Clear
- field (with ^E and ^X) permits appropriate entries to be directly marked
- (with ESCAPE or Y) when found. If the statement indicates bank fees
- have been withdrawn, you should create a debit entry and mark it CLR.
- Similarly, any interest paid by the bank should be noted as a deposit
- and cleared. For demonstration purposes, you should mark about a dozen
- entries CLR.
-
- A special reconciliation display is produced by use of the ^KR command.
- This report itemizes beginning balance, checks (debits), deposits
- (credits), and current balance summed for each category, including a
- total over all categories. Checks, deposits, and current balance are
- listed for cleared entries first, then for all entries (cleared plus
- uncleared). For each category and for the bottom line, date of the most
- recent entry will be displayed. If the report is too long to fit on the
- screen, it may be scrolled up or down using ^Z or ^W. The ^P command
- will cause the report to be printed. To return to the complete check
- register, press ESCAPE.
-
- By comparing checks, deposits, and current balance totaled over all
- cleared entries relative to the bank statement, correct reconciliation
- may be confirmed.
-
- Done Command
-
- As described earlier in this section, the Done command ^KD (or ^KX,
- which is a synonym for ^KD) is the most convient way to save the current
- check register and exit the program. Any cleared entries (marked CLR in
- the Clear field) will first be appended to the CLR file (DEMO.CLR for
- the demonstration), the DAT file will be renamed BAK (DEMO.BAK), and all
- active entries (those which have not cleared the bank) will be saved in
- a new DAT file (DEMO.DAT).
-
- The CLR file is able to hold up to 384 cleared entries, which are stored
- chronologically. In order to maintain the proper order, the check
- register will be sorted by date before transferring cleared entries to
- the CLR file. If the number of new cleared entries to be appended will
- cause the CLR file to exceed its limit, you will first be asked to
- authorize eliminating enough of the oldest entries from the CLR file to
- avoid the problem. If you answer No, you may use ^KS to save all
- current entries including cleared entries, followed by ^KQ to quit the
- CHECKS program, then use the CLEARS program (described later in this
- section) to review, edit, summarize, and delete CLR file entries. If
-
- Demonstration and Tutorial v.1.0, Page 19
-
-
-
- you answer Yes, then the oldest entries will be automatically discarded.
- Notice that a backup of the previous CLR file is not made.
-
- Before separating them from the active check register, you will be
- prompted to print an audit trail of cleared entries for your permanent
- records. You may respond Yes or No.
-
- The same disk drive accessed for the original register database file
- will be used to save the final files. Before writing, all drives will
- automatically be reset; therefore, it will be possible to change the
- disk without causing an operating system error. If there is a problem,
- such as insufficient space on the disk, then you will be prompted to
- replace the disk and try again; all data should be recovered. For your
- information, the DAT file will require no more than 7 KB, and the CLR
- file, 20 KB maximum.
-
- Balance Brought Forward
-
- Entries which have been marked CLR are transferred from the active
- database DAT file to a separate CLR file when the ^KD command (or ^KX,
- as described earlier in this section) is used to save the register and
- stop the program. Before a cleared entry is transferred, its amount
- will be added to a special BALANCE BROUGHT FORWARD entry, which is
- retained in the active database. This insures that the cumulative
- balance based upon active entries will be accurate. For a
- demonstration, you should use the Done command (^KD or ^KX), then
- restart the CHECKS program using the procedure indicated at the
- beginning of this section.
-
- A separate BALANCE BROUGHT FORWARD is determined for each unique
- category (see Category field); all cleared entries with the same
- category will be summarized by a single BALANCE BROUGHT FORWARD. The
- date of the BALANCE BROUGHT FORWARD will be made equal to that of the
- most recent cleared entry added to the summary. All BALANCE BROUGHT
- FORWARD entries will be sorted to the top of the check register in order
- of their date.
-
- Because of the special significance of a BALANCE BROUGHT FORWARD entry,
- it may not be directly modified. Whenever the cursor is within such an
- entry, the prompt line will query whether its BALANCE BROUGHT FORWARD
- status should be canceled. If the response is Yes, verification will be
- requested, since this action removes the entry's special protection. If
- verified, the change will be denoted by converting all characters in the
- Payee field to lower case. Once BALANCE BROUGHT FORWARD status is
- removed, the entry may be edited or deleted; however, this may have a
- significant impact upon the check register's cumulative balance, so it
- should be carefully considered. If you simply wish to revise the
- entry's category, for example, then you may wish to mark it CLR, so that
- it will subsequently be summarized into another BALANCE BROUGHT FORWARD
- entry.
-
- CLEARS Program
-
- The CLEARS program may be used to manage cleared entries stored in the
- CLR file. Make sure that CLEARS.COM, CHECKS.SCR, DEMO.INF, and DEMO.CLR
-
- Demonstration and Tutorial v.1.0, Page 20
-
-
-
- are in drive A. At the A> prompt, type
-
- CLEARS DEMO
-
- Once the program reads cursor controls from the CHECKS.SCR file and
- clears the screen, a copyright notice should appear. Press any key
- except ^C to continue.
-
- Cleared entries will be read from the DEMO.CLR file (created earlier
- during this demonstration) and displayed on your screen. The default
- title line, which identifies the CLEARS version number, will appear
- centered at the top. To the right of that will be the current filename,
- including disk drive. A customized title will be read from the DEMO.INF
- file and displayed in place of the default title. Other information in
- DEMO.INF, including abreviations and automatic transactions, will be
- ignored.
-
- As you will see, CLEARS operates in a manner which is very similar to
- the CHECKS program. The Clear field is replaced by the <M>ark field.
- If an entry is <M>arked, it will be added into a SUMMARY BROUGHT FORWARD
- entry and deleted from the database of cleared entries (CLR file) when
- the Done command (^KD or ^KX) is executed. The SUMMARY BROUGHT FORWARD
- is analogous to BALANCE BROUGHT FORWARD; all <M>arked entries with the
- same category will be added to a single SUMMARY BROUGHT FORWARD. The
- Done command and the Save command (^KS) will replace the CLR file
- without altering the active database DAT file.
-
- The cursor will enter only the Category and <M>ark fields, since those
- are the only ones which may be changed. The other fields cannot be
- modified, to preserve integrity of the original entries. Changing
- category permits you to redefine which SUMMARY BROUGHT FORWARD will be
- used for a <M>arked entry.
-
- The ^KR command produces a report analogous to the reconciliation
- report, with beginning summary, checks, deposits, and current summary
- for <M>arked entries and for all cleared entries itemized by category,
- including a total over all categories.
-
- CHECKS commands which are not meaningful for the CLEARS program include
- ^V (insert mode), ^N (insert line), ^T (delete word), ^QY (delete to
- EOL), ^QDEL (delete to BOL), and ^KA (display abreviations). Delete
- character commands ^G and DEL are applicable only while the cursor is
- within the Category field. Other commands function as expected. In
- particular, ^Y may be used to delete entries from the CLR database, ^U
- will restore the last entry deleted by ^Y, ^KO (and ^O) may be used to
- order entries, and ^KP (or ^P) will print them.
-
-
-
- EXECUTING the PROGRAM
-
- The Check Register Program requires that CHECKS.SCR, which has been
- installed with your console's screen controls, reside in the default
- disk drive (indicated as part of the > prompt). When the program is
- started, it will look for an information file of type INF (described in
-
- Executing the Program v.1.0, Page 21
-
-
-
- a following section) and a database file of type DAT, which need not be
- on the same disk as the COM or SCR files. When the program is stopped
- using ^KD (or ^KX), it will add any cleared entries to a file of type
- CLR, rename the original DAT file to be of type BAK, and write the
- current active register to a new DAT file. The INF, DAT, CLR, and BAK
- files will all be on the same disk and will all have the same filename;
- the default filename is CHECKS, but you may choose another name. In
- this way, you may manage more than one check register by giving each a
- different name.
-
- On the command line, you may indicate which check register to use. For
- example, if you wish to work with a register named FAMILY located on a
- disk in drive B, place CHECKS.COM and CHECKS.SCR in drive A and at the
- A> prompt type
-
- CHECKS B:FAMILY
-
- The program will look for FAMILY.INF on drive B. If it is not found,
- you will be given an opportunity to stop or proceed (the information
- file is optional). Next the database file FAMILY.DAT will be located on
- drive B. If it does not exist, which will be the case when you start a
- new register (described in a later section), you may again choose to
- quit or continue; in this case, the check register will be empty, and
- you may begin filling it with entries. When you are done, enter the ^KD
- command. The program will append any cleared entries to FAMILY.CLR on
- drive B or, if there were no previous CLR file, it will create one.
- Finally, FAMILY.DAT (if it existed) will be renamed FAMILY.BAK, and the
- active check register will be written to a new FAMILY.DAT file on the B
- drive.
-
- In general, the command line may be typed as
-
- u>v:CHECKS w:filename
-
- where u represents the default disk drive containing CHECKS.SCR, v
- indicates the drive where CHECKS.COM is located, and the register files
- may be found on drive w with the name "filename". If v: is not
- specified, the COM and SCR files will be assumed on default drive u.
- Similarly, if w: is not included, register files will be read and
- written on the default drive. Finally, if "filename" is blank, the
- default name CHECKS will be assumed. Therefore,
-
- A>CHECKS
-
- will use CHECKS.COM, CHECKS.SCR, CHECKS.INF, CHECKS.DAT, CHECKS.BAK, and
- CHECKS.CLR all on drive A. Also,
-
- A>CHECKS B:
-
- will look for CHECKS.COM and CHECKS.SCR on drive A, while CHECKS.INF,
- CHECKS.DAT, CHECKS.BAK, and CHECKS.CLR will each be on drive B. Other
- valid commands include
-
- Executing the Program v.1.0, Page 22
-
-
-
- A>B:CHECKS with CHECKS.SCR in drive A
- A>CHECKS MYBOOK with CHECKS.SCR in drive A
- B>A:CHECKS SPOUSE with CHECKS.SCR in drive B
- B>CHECKS A:CHECKS with CHECKS.SCR in drive B
- B>CHECKS A: with CHECKS.SCR in drive B
-
- The CLEARS program is initiated in a similar manner. CHECKS.SCR must be
- on the default disk. CLEARS will read the filename.INF and filename.CLR
- files and write a new filename.CLR file; DAT and BAK files are not
- involved with the CLEARS program. The general command line is
-
- u>v:CLEARS w:filename
-
- where the default "filename" is CHECKS. Therefore, the procedure for
- running CLEARS is the same as that for CHECKS; simply substitute CLEARS
- in place of CHECKS.
-
-
-
- INFORMATION FILE
-
- The information file is a standard ASCII file which may be created using
- any text editor, such as ED or WordStar. If WordStar is used, the file
- must be edited in Non-document mode (select N from the main menu). You
- may give the file any name of type INF, such as FAMILY.INF. The default
- name is CHECKS.INF.
-
- The INF file may contain three sets of information, which are automatic
- transactions, abreviation definitions, and customized title. Each set
- is identified by a keyword. Only the first five characters of each
- keyword are significant; they may be in upper or lower case. The
- keywords are
-
- AUTOMatic transactions
- ABREViations
- TITLE
-
- Each keyword must begin in the first column of a line. When the first
- five characters are determined to be a keyword, remaining characters on
- the same line are ignored. Each line of text following a keyword will
- be interpreted as a definition of the type indicated by the keyword,
- until another keyword is recognized. If the first lines of the file do
- not contain a keyword, they will be ignored. No line may contain more
- than 148 characters.
-
- Each automatic transaction definition must appear on a separate line and
- must contain the following five fields:
-
- Date Category Amount Deposit Payee
-
- The fields must be separated by one or more space or tab (white space).
- Each of the first four fields may not contain any embedded white space.
- Examples are
-
- Information File v.1.0, Page 23
-
-
-
- Automatic Transactions
- 1 - 1234.56 D Salary
- 15 h 765.43 w First National Bank, mortage payment
- 5 H 88.00 - United Power & Light, utilities
-
- Date is a single number representing the date of the month when the
- automatic transaction should occur. Category will be converted to upper
- case; a hyphen (-) will be interpreted as a blank (default) category.
- Amount should always be positive; any leading minus sign(s) will be
- ignored. If the deposit field is D or d, a deposit transaction will be
- indicated; any other non-space character will define a withdrawal.
- After skipping any white space following the Deposit field, remaining
- characters on the line will be considered part of the Payee field. Note
- that abreviations will not be expanded for automatic transactions.
-
- Each abreviation definition must appear on a separate line and must
- contain two fields separated by white space. The first three characters
- on each line (including white space) will be converted to upper case and
- interpreted as an abreviation. Any white space following the first
- three characters will be ignored. Up to 42 remaining characters on the
- line (including white space) will replace the abreviation whenever it is
- recognized in the Payee field. Examples include
-
- ABREVIATIONS
- FNB First National Bank
- sal Salary
- Uni United Power & Light
-
- The title line displayed by CHECKS and CLEARS may be customized by
- including the desired text on a separate line following the TITLE
- keyword in the information file. The first 62 characters will be
- interpreted as the new title and displayed on the title line. If more
- than one line of text appears after the TITLE keyword and before the
- next keyword, only the last will be retained as the new title. An
- example is
-
- Title
- Jones Family Check Register
-
- Each of the three sets of information recognized in an INF file may
- appear in any order and may be included more than once. That is, you
- may define abreviations, then a title, then more abreviations, then
- automatic transactions, then another title, etc. The recommended order
- is automatic transactions, followed by abreviations, and finally a
- title.
-
- A special character will be recognized whenever it appears in the
- information file. If a vertical bar (|, which is ASCII 7C hex or 124
- decimal) appears on any line, then that character and all following
- characters on the same line will be ignored. This permits you to
- include comments in the INF file, which will not be included in the
- definitions. A complete INF file example follows:
-
- Information File v.1.0, Page 24
-
-
-
- | Information File for Check Register Program
- AUTOMATIC TRANSACTIONS
- 1 - 1234.56 D Salary| 1st of each month
- 15 h 765.43 w First National Bank, mortage payment
- 5 H 88.00 - United Power & Light, utilities
- ABREVIATIONS
- FNB First National Bank| use for deposits or cash withdrawals
- sal Salary
- Uni United Power & Light| gas and electric company
- TITLE
- Jones Family Check Register
- | End of Information File
-
- The INF file must carry the same filename as the check register database
- DAT file; for example, FAMILY.INF goes with FAMILY.DAT.
-
-
-
- GETTING STARTED
-
- Beginning a New Register
-
- The simplest way to begin a new register is to create an information
- file with the default name CHECKS.INF. Use a familiar ASCII text editor
- such as ED or WordStar (Non-document mode) as described in the preceding
- section. Define any automatic transactions, which might include salary
- deposits, mortgage payments, or checking account fees. Add abreviations
- for utility companies, loan companies, credit cards, supermarkets, etc.
- Then compose a title for your personalized register.
-
- Place CHECKS.COM, CLEARS.COM, and CHECKS.SCR (installed for your screen)
- on one disk in drive A and CHECKS.INF on another disk in drive B. At
- the A> prompt, type
-
- CHECKS B:
-
- The program will indicate that CHECKS.DAT is not available, but you
- should choose to continue. You will then be presented with an empty
- register.
-
- Find the oldest uncleared entry in your previous paper check register.
- Determine the account balance which existed prior to that transaction,
- and enter the balance amount into the new register as a deposit (DEP).
- Call that entry something like "Current Balance", and mark it cleared
- (CLR). Then proceed to transfer all remaining transactions from your
- previous register to your new register, marking them CLR if appropriate.
- When completed, you may wish to order (^KO) and/or print (^KP) the
- result. Finally, use ^KD to quit the program.
-
- You should observe that CHECKS.DAT and CHECKS.CLR have been added to
- drive B. You may wish to investigate these files by restarting CHECKS
- or by executing CLEARS (in the same manner as CHECKS).
-
- Getting Started v.1.0, Page 25
-
-
-
- Insufficient Disk Space
-
- It is usually more convient to have CHECKS.INF, CHECKS.DAT, and
- CHECKS.CLR on the same disk as CHECKS.COM, CLEARS.COM, and CHECKS.SCR.
- That way, the program may be started simply by inserting the disk in
- drive A and typing at the A> prompt
-
- CHECKS
-
- However, you must remember that the DAT file may grow to be 7 KB, there
- will probably be a BAK file of the same size, the CLR file can be up to
- 20 KB, and there must be sufficient space for a copy of the CLR file
- while appending cleared entries. Therefore, you should verify that the
- disk can hold about 54 KB in addition to the INF, SCR, and two COM
- files. If you wish, CLEARS.COM need not be on the same disk.
-
- If you run short of disk space while executing either Done (^KD) or Save
- (^KS), the best way to recover is to remove the disk when prompted and
- replace it with a formatted disk having about 7 KB free space; make sure
- that the physical write protect tab is disabled, so that it is possible
- to write on the disk. Do this even if the removed disk contains the COM
- and SCR files, since these are not required after the program has
- started. Then use ^KS followed by ^KQ (Quit). Finally, put the INF and
- CLR files from the old disk together with the DAT file from the new
- disk, making sure that there is enough free space left over to match the
- size of CLR and DAT combined. Restart the Check Register Program to
- verify that your data was recovered properly.
-
-
-
- COMMANDS
-
- This section describes each command recognized by the Check Register
- Program. The commands are shown on the left side of the page, along
- with any applicable synonyms. The description of each command appears
- on the right side. Commands are grouped according to logical function.
-
- The carat symbol (^) indicates use of the CONTROL key in conjunction
- with another key, in a manner which is analogous to the use of SHIFT to
- type an upper case letter. The second half of a two key command may be
- entered by pressing either the lower case, upper case, or CONTROLed
- form; for example, ^Qc, ^QC, and ^Q^C all move to the bottom of the
- check register.
-
- Cursor Movement Commands
-
- ^D Move cursor right one character if in Payee field;
- otherwise, move right one field or subfield.
-
- ^S or ^H Move cursor left one character if in Payee field;
- or BACKSPACE otherwise, move left one field or subfield.
-
- ^E Move cursor up one line if below the first line.
-
- ^X Move cursor down one line if above the last line.
-
- Commands v.1.0, Page 26
-
-
-
-
- ^F or TAB or ^I Move cursor right one word if in Payee field;
- otherwise, move right one field or subfield.
-
- ^A Move cursor left one word if in Payee field;
- otherwise, move left one field or subfield.
-
- RETURN Move cursor right one field or subfield.
-
- / Only while in Date field, move cursor right one
- subfield.
-
- ^R Scroll up one page.
-
- ^C Scroll down one page.
-
- ^W Scroll up one line, if below first line.
-
- ^Z Scroll down one line, if above last line.
-
- ^QW Continuously scroll up one line at a time. Speed is
- adjustable by typing a single digit, 1 for fast thru
- 9 for slow. Press any non-digit key to stop
- scrolling.
-
- ^QZ Continuously scroll down one line at a time. Speed
- is adjustable by typing a single digit, 1 for fast
- thru 9 for slow. Press any non-digit key to stop
- scrolling.
-
- ^QR Jump to beginning of register.
-
- ^QC Jump to end of the register.
-
- ^QD Jump to last field on the line.
-
- ^QS or ^QH Jump to first field on the line.
-
- ^QE Jump to top register line displayed on the screen,
- but stay within the same field.
-
- ^QX Jump to bottom register line displayed on the
- screen, but stay within the same field.
-
- Editing Commands
-
- ^V Toggle INSERT mode if in Payee field; otherwise, not
- applicable.
-
- ^G Delete the character at the cursor. Not applicable
- if in Deposit or Clear field.
-
- DEL (DELETE) or ^_ Delete the character preceding the cursor if in
- Payee field; otherwise, same as ^G.
-
- Commands v.1.0, Page 27
-
-
-
- ^T Delete balance of word if in Payee field; otherwise,
- not applicable.
-
- ^QY Delete from cursor to end of field if in Payee
- field; otherwise, not applicable.
-
- ^QDEL or ^Q^_ Delete from beginning of field to but not including
- cursor if in Payee field; otherwise, not applicable.
-
- ^N Insert a new entry at the line containing the
- cursor. Move existing lines down.
-
- ^Y Delete the line containing the cursor.
-
- ^U Undo most recent deletion. If in Date subfield or
- Amount field, restore previous value. If in Payee
- field, restore last deleted character. Otherwise,
- insert previously deleted line.
-
- Calculator Commands (while in the Amount field)
-
- + Add to current amount.
-
- - Subtract from current amount.
-
- = Display calculated result as new amount.
-
- m+ Add current amount to Memory.
-
- m- Subtract current amount from Memory.
-
- mc Clear Memory to zero.
-
- mr Recall from Memory to Amount field.
-
- Save, Quit, and Done Commands
-
- ^KS Rename filename.DAT to be filename.BAK, then save
- all entries, cleared and uncleared, in a new DAT
- file.
-
- ^KQ If there have been no changes, quit immediately;
- otherwise, verify that the current register is to be
- abandoned without saving changes.
-
- ^KD or ^KX Append all cleared entries to filename.CLR after
- adding to BALANCE BROUGHT FORWARD amount for each
- category. Rename filename.DAT to be filename.BAK,
- then save all uncleared and BALANCE BROUGHT FORWARD
- entries in a new DAT file. Quit the program.
-
- Commands v.1.0, Page 28
-
-
-
- Miscellaneous Commands
-
- ^KO Order all entries by Date and Payee, or Payee and
- Date, or Category and Date, or Amount and Date.
-
- ^O or ^B Order all entries from the current cursor line thru
- the remainder of the register, with the same options
- as ^KO.
-
- ^KP or ^P Print the complete check register.
-
- ^KA Display all abreviations.
-
- ^KR Display reconcilition report.
-
- ^J or LINEFEED Display help.
-
- ESCAPE Only when queried for a Yes/No response, toggle
- to opposite default.
-
- All of the commands described in this section are applicable to the
- CHECKS program. All perform similar functions when used with the CLEARS
- program, except for ^V, ^T, ^N, ^QY, ^QDEL, and ^KA. Notice that ^L is
- the only alphabetic control character which is not used as a command.
-
-
-
- FUTURE PLANS
-
- Future plans for the Check Register Program include:
-
- o Porting from CP/M-80 to MS/PC-DOS and to CP/M-86 and its
- derivatives.
-
- o Relaxing memory constraints for 16-bit computers.
-
- o Addition of a program to print new checks which have been entered
- into the check register.
-
- o Possible addition of a field for check number.
-
- o Possible extension of the Payee field, with horizontal scrolling
- when the number of characters exceeds the display window.
-
- o Implementation of ideas submitted by you.
-
- Let me know what you think.