home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
FINANCE
/
LOAN24C.ZIP
/
LOANSMGR.TXT
< prev
next >
Wrap
Text File
|
1994-02-12
|
55KB
|
1,291 lines
LOANSMGR for DOS v2.4c
by
Michael A. Campbell (campbell@metronet.com)
Copyright 1986-1994
1.0 Introduction
1.1 Program Description
LoansMgr for DOS is a powerful but easy to use loan management
program intended for standard compound interest loans. Common
examples of such loans are car loans and mortgages. Given any three
of the four components of the basic compound interest equation
(Loan size, Payment Size, Interest Rate, and Number of Payments),
LoansMgr will solve for the remaining one, allowing the user to run
an unlimited number of "what if" scenarios.
In addition, LoansMgr will generate and maintain amortization
schedules, handle variable payment intervals (in units of weeks and
months), handle variable interest compounding periods per year, and
handle regularly scheduled additional principal payments. LoansMgr
also allows all data related to a given loan to be saved in a "loan
profile" file, and easily reloaded at a future date.
1.2 System Requirements
LoansMgr does extensive double precision floating point math,
and runs best on PCs equipped with floating point hardware.
However, the distribution file contains executables for both
floating point equipped PCs, and those without. See "Installation",
below.
LoansMgr has only been tested under MS-DOS 5.0, 6.0, and 6.2. No
guarantees are made for earlier versions of MS-DOS, or DOS
implementations from other vendors. LoansMgr has been tested
successfully within a MS-Windows DOS box.
2.0 Acknowledgements
I would like to acknowledge the contributions of Philip A.
Campbell, for inspiring many of LoansMgr's advanced features, and
for acting as beta tester, and to Graeme B. Boyd for 'artistic
inspiration'.
3.0 Legal Information
3.1 Introduction
PLEASE READ THIS INFORMATION CAREFULLY BEFORE USING THE LOANSMGR
SOFTWARE FOR ANY CALCULATIONS. BY USING THE SOFTWARE, YOU
ARE AGREEING TO BE BOUND BY THE TERMS PRESENTED HEREIN.
I wrote the first version of LoansMgr in 1985, and have been
using it ever since to assist in simple financial decisions,
such as what I should be paying for my new car loan, whether I
should refinance my mortgage, and so on. I have always found it
to be very helpful in arriving at these decisions. However,
LoansMgr is not a certified financial program of any sort. I am
an engineer, not a financier, and so there is no guarantee that
the data LoansMgr generates is unconditionally correct.
Please understand that you use LoansMgr at your own risk. Please
do not make financial decisions of ANY nature based solely on data
generated by LoansMgr. I am not aware of any bugs in LoansMgr's
financial calculation software, but that does not mean that there
are none there. As a result of this simple observation, what
follows is a fair amount of "legal-ese" intended to say, in
hopefully proper legal terminology, that I cannot be held
liable for any erroneous data that LoansMgr may generate.
Please read this information carefully.
3.2 Legal Disclaimer
BY USING LOANSMGR, YOU ARE AGREEING TO BE BOUND BY THE TERMS
PRESENTED BELOW:
You expressly acknowledge and agree that use of the LoansMgr
software (hereafter referred to as 'the Software') is at
your sole risk. The Software and the related documentation are
provided AS IS and without warranty of any kind, express or
implied, including, but not limited to, the implied warranties of
merchantability and fitness for a particular purpose.
Under no circumstances, including negligence, shall Michael
Campbell be liable for any incidental, special or consequential
damages that result from the use or inability to use the
Software or related documentation, even if advised of the
possibility of such damages.
4.0 LoansMgr Terminology
4.1 Introduction
LoansMgr views a loan as a logically related set of numerous
variables, referred to collectively as a "loan profile". This
section describes all of the elements of a loan profile, and what
each means and is used for. It also describes the concept of
saving and reloading loan profiles.
4.2 Basic Loan Parameters
The major elements of a loan profile are the four basic components
of the compound interest equation:
L - The loan size, in dollars (no distinction between $US and $CDN).
P - The per period payment size, again in dollars.
I - The quoted interest rate, in percentage.
N - The number of payment periods over which the loan is amortized.
4.3 Advanced Loan Parameters
In addition to the above, LoansMgr includes the following in the loan
profile:
C - Compounding Periods. This is the number of interest compounding
periods per year. Generally, this is 12 for US loans and
mortgages, 2 for Canadian mortgages, and 1 for most car loans.
PI - Payment Interval, expressed in other months or weeks. This is the
units in which the N variable (number of payments) is calibrated.
The payment interval can be any of:
a) 1.00 month
b) 0.50 months
c) 0.25 months
d) 4.00 weeks
e) 2.00 weeks
f) 1.00 week
APA - Additional Principal Amount, expressed in dollars. This is the
amount of any regularly scheduled additional principal payments
that may be made on the loan.
APP - Additional Principal Period, expressed in number of payment
intervals. This is the interval between regularly scheduled
additional principle payments.
4.4 Loan Schedule Files
LoansMgr will generate an amortization schedule for a given loan
profile, which includes one entry for each payment, consisting of:
a) Payment number
b) Payment date
c) Payment size
d) Principal portion of the payment
e) Interest portion of the payment
f) Total principal paid to date
g) Total interest paid to date
h) Balance after the payment is applied
These schedules are generated into a user-specified file, which may
then be directly viewed from within LoansMgr, or may be viewed,
printed etc., after LoansMgr has been exited.
Loan schedule files are standard ASCII text files, and so, may be
browsed at any time with your favorite ASCII text viewer, editor,
word processor, etc.
4.5 Loan Profile Files
LoansMgr will allow you to save all of the data related to a loan
in a "loan profile file", which you can then reload at a later
date. This allows you to work with a given loan over a long period
of time, without having to laboriously re-enter all of the
parameters of its profile.
Loan Profile Files are binary files, and cannot be meaningfully viewed
except via LoansMgr.
5.0 LoansMgr User Interface
5.1 Introduction
LoansMgr uses a full screen user interface, consisting of "hot key"
driven menus, and "pop up" information windows. LoansMgr does not
require or support mouse driven operations. This section describes
the two major elements of the user interface: menus and popups.
5.2 Menus
5.2.1 Menu Overview
LoansMgr's full screen menus look similar to the text depiction shown
below:
+---------------------------------------------------------------------+
| Menu Title |
+---------------------------------------------------------------------+
| |
| |
| A - First Selection Description Selection Data (Optional) |
| |
| B - Second Selection Description Selection Data (Optional) |
| |
| C - Third Selection Description Selection Data (Optional) |
| |
| D - Fourth Selection Description Selection Data (Optional) |
| |
| . . . |
| |
| . . . |
| |
| . . . |
| |
+---------------------------------------------------------------------+
| Command: |
+---------------------------------------------------------------------+
| Prompt/Response: |
+---------------------------------------------------------------------+
The screen is divided into three major areas:
a) The Title Bar
b) The Menu Item Area
c) The I/O Area
The title bar and I/O areas are referred to collectively as the
"Menu Outline Area". It will be helpful to remember the names of
these areas, as LoansMgr allows you to configure the display colors
used in them, via the LOANSMGR.INI file.
5.2.2 Title Bar
The Title Bar presents the title of the menu being displayed.
5.2.3 Menu Item Area
The User Menu Area presents a set of "hot key" selections,
consisting of a key to press to make the selection, a description
of the what the selection is for, and optionally, data currently
associated with the selection. When the selection key is pressed,
it is not echoed to the screen, and LoansMgr takes action on it
immediately. This is why it is referred to as a "hot key" menu
system.
5.2.4 I/O Area
The I/O Area provides an area in which LoansMgr can provide status
information, and calculation results, and an area in which the user
can enter loan profile data, and file names, as needed. In general,
LoansMgr reads user input from the command line, and provides
responses to the user on the Prompt/Response line. As the name
indicates, LoansMgr may also prompt for more data on this line.
5.3 Pop Up Windows
The user menu display areas, and the general I/O area are
sufficient for most of the LoansMgr - user interactions. However,
on occasion, LoansMgr needs to display a large volume of
information (for example, help information, or complete loan
profiles). When this type of need arises, LoansMgr presents a pop
up window with the required information. The window remains
displayed until the users hits any one key, indicating that the
information displayed has been "absorbed", and is no longer
needed. At that time, the window is removed.
The only operations possible on popup windows is to cause them
to be displayed, and to remove them by striking a key. Popups
cannot be moved, resized, or otherwise manipulated.
6.0 Common Menu Behavior
6.1 Introduction
Not suprisingly, all of LoansMgr's menus share some identical
behavioral characteristics. This section describes elements that
are common to all menus.
6.2 "Hot Key" Operation
All of LoansMgr's menus are "hot key" menus. This simply means that
when a selection is made, by pressing the single key associated with
that selection, LoansMgr does not echo the selection. Instead, it
acts on it immediately, and the output resulting from the action
taken acts as the "echo" to the key press.
6.3 Redraw Screen
In the unlikely event that LoansMgr should mess up the screen
display (this is a *bug* if it happens - please let me know!), it can
be redrawn by hitting the "`" key, which generally is the key to the
left of the "1" key.
6.4 The "<" and ">" Characters
LoansMgr has a limited amount of space in which to display large
data items, such as filenames. In the event that a filename will
not fit in the available display area, LoansMgr will display
characters up to the maximum display width available, and then
output a "<" character, which indicates that there are undisplayed
characters to the left, or a ">" character, which indicates that
there are undisplayed characters to the right.
6.5 Esc and F1
All LoansMgr menus have "Quit" and "Help" commands. In the DOS world,
the Esc and F1 keys have become defacto standards for these functions.
As such, the Esc key may be used in place of the "Q" command, and the
F1 key can be used in place of the "H" command. Both variants of
each command operate identically.
6.6 Error Feedback
LoansMgr reacts to invalid menu selections with a message to that
effect, in the response line, and, optionally, an audible beeping
sound.
6.7 "Sanity Checking"
LoansMgr does not "sanity check" the data you enter on a given menu
until you ask it to undertake some operation with that data. At
that time, the data is checked, and the operation only undertaken
if it is "sensible". So, for example, LoansMgr will happily allow
you to enter interest rates greater than 100%, payment values that
are greater than the loan value, etc., and will only complain when
asked to compute some value using the data. At that time, LoansMgr
will present a detailed message, explaining what issue it has
detected with the data it is being asked to operate on.
There are two exceptions to the above. The first of these is that
LoansMgr will reject any numbers which exceed 999999999999.99, as
these are clearly not "sane" values for the function that LoansMgr
was written to perform. The second is that LoansMgr will reject all
negative numbers, as these lie outside the range of meaningful
numbers for the function LoansMgr was written to perform.
7.0 Main Menu
7.1 Introduction
When LoansMgr is first started, it presents the Main Menu. This
section describes all of the Main Menu selections.
7.2 Selections
L - Loan Size. This selection brings up the Loan Size Menu, which
allows you to compute the size of the loan which results from
the P, I, C, and N parameters you enter.
P - Payment Size. This selection brings up the Payment Size Menu,
which allows you to compute the payment size needed for a loan
whose L, I, C, and N parameters you enter.
I - Interest Rate. This selection brings up the Interest Rate Menu,
which allows you to compute the interest rate for a loan whose
L, P, C, and N parameters you enter.
N - Number of Payments. This selection brings up the Num Payments
Menu, which allows you to calculate the number of payments
needed for a loan whose L, P, I, and C parameters you enter.
S - Schedule. This selection brings up the Schedule Menu, which
allows you to generate loan payment schedule files for loans
whose L, P, I, and C parameters you enter.
F - File. This selection brings up the proFile Menu, which allows
you to view the current loan profile, save it to a file, or
load a new profile from a previously saved profile file.
A - About LoansMgr. This selection brings up the About Menu, which
allows you to view general information about LoansMgr, view an
abbreviated version of the legal disclaimers presented above,
and review the Shareware Agreement associated with use of the
program. Finally, this menu presents information on how to
contact the author, should this need arise.
H - Help. This selection brings up a popup window containing help
for the Main Menu.
D - DOS Shell. This selections allows you to shell out to DOS. In
order for this to work, the COMSPEC environment variable must
be set. LoansMgr will inform you of this, if it is not!
Q - Quit. This selection quits LoansMgr, and returns to DOS. Note
that LoansMgr will not prompt you to save the loan profile, if
it has changed!
7.3 Notes
None
8.0 Loan Size Menu
8.1 Introduction
The Loan Size Menu allows you to compute the size of loan that
will result from the P, I, C, and N values you enter via this
menu, or that this menu inherits from either the loan profile,
or the corresponding values entered on another menu. This section
describes all of the selections for the Loan Size Menu.
8.2 Selections
P - Payment Size. This selection will cause LoansMgr to prompt
for the desired payment size. The value entered will be
displayed in the User Menu Area data field associated with
this selection.
I - Interest Rate. This selection will cause LoansMgr to prompt for
the desired interest rate. The value entered will be displayed
in the User Menu Area data field associated with this
selection.
C - Compounding Periods. This selection will cause LoansMgr to
prompt for the number of interest compounding periods per year.
Generally, this is 12 for most US mortgages and loans, 2 for
most Canadian mortgages, and 1 for most car loans.
N - Number of Payments. This selection will cause LoansMgr to
prompt for the desired number of payments. The value entered
will be displayed in the User Menu Area data field associated
with this selection.
S - Solve. This selection will cause LoansMgr to solve for the loan
size, and display it on the Response Line. Other menus that
require Loan Size as a parameter will inherit the value
computed by this menu, as a starting point.
D - DOS Shell. This selections allows you to shell out to DOS. In
order for this to work, the COMSPEC environment variable must
be set. LoansMgr will inform you of this, if it is not!
H - Help. This selection brings up a popup window containing help
for the Loan Size Menu.
Q - Quit. This selection quits this menu, and returns to the Main
Menu. All L, P, I, C, and N values entered or computed on this
menu will be inherited by all other menus.
8.3 Notes
None
9.0 Payment Size Menu
9.1 Introduction
The Payment Size Menu allows you to compute the payment size needed
for a loan whose L, I, C, and N values you enter via this menu,
or that this menu inherits from either the loan profile, or the
corresponding values entered on another menu. This section
describes all of the selections for the Payment Size Menu.
9.2 Selections
L - Loan Size. This selection will cause LoansMgr to prompt
for the desired loan size. The value entered will be
displayed in the User Menu Area data field associated with
this selection.
N - Number of Payments. This selection will cause LoansMgr to
prompt for the desired number of payments. The value entered
will be displayed in the User Menu Area data field associated
with this selection.
I - Interest Rate. This selection will cause LoansMgr to prompt for
the desired interest rate. The value entered will be displayed
in the User Menu Area data field associated with this
selection.
C - Compounding Periods. This selection will cause LoansMgr to
prompt for the number of interest compounding periods per year.
Generally, this is 12 for most US mortgages and loans, 2 for
most Canadian mortgages, and 1 for most car loans.
S - Solve. This selection will cause LoansMgr to solve for the
payment size, and display it on the Response Line. Other menus
that require Payment Size as a parameter will inherit the value
computed by this menu, as a starting point.
D - DOS Shell. This selections allows you to shell out to DOS. In
order for this to work, the COMSPEC environment variable must
be set. LoansMgr will inform you of this, if it is not!
H - Help. This selection brings up a popup window containing help
for the Payment Size Menu.
Q - Quit. This selection quits this menu, and returns to the Main
Menu. All L, P, I, C, and N values entered or computed on this
menu will be inherited by all other menus.
9.3 Notes
None
10.0 Interest Rate Menu
10.1 Introduction
The Interest Rate Menu allows you to compute the interest rate
that is needed for a loan whose L, P, C, and N parameters you
supply, or that this menu inherits from either the loan profile,
or the corresponding values entered on another menu. This section
describes all of the selections for the interest rate menu.
10.2 Selections
L - Loan Size. This selection will cause LoansMgr to prompt
for the desired loan size. The value entered will be
displayed in the User Menu Area data field associated with
this selection.
P - Payment Size. This selection will cause LoansMgr to prompt
for the desired payment size. The value entered will be
displayed in the User Menu Area data field associated with
this selection.
C - Compounding Periods. This selection will cause LoansMgr to
prompt for the number of interest compounding periods per year.
Generally, this is 12 for most US mortgages and loans, 2 for
most Canadian mortgages, and 1 for most car loans.
N - Number of Payments. This selection will cause LoansMgr to
prompt for the desired number of payments. The value entered
will be displayed in the User Menu Area data field associated
with this selection.
T - Payment Time. This selection will cause LoansMgr to prompt
for the interval between payments. This interval may be any
of:
a) 1.00 Month
b) 0.50 Months
c) 0.25 Months
d) 4.00 Weeks
e) 2.00 Weeks
f) 1.00 Week
If you are feeling lazy, the number followed immediately by the
first letter of the unit works as well (ex: "1m" will be
interpreted as 1.00 Months).
S - Solve. This selection will cause LoansMgr to solve for the
interest rate, and display it on the Response Line. Other menus
that require Interest Rate as a parameter will inherit the value
computed by this menu, as a starting point.
D - DOS Shell. This selections allows you to shell out to DOS. In
order for this to work, the COMSPEC environment variable must
be set. LoansMgr will inform you of this, if it is not!
H - Help. This selection brings up a popup window containing help
for the Interest Rate Menu.
Q - Quit. This selection quits this menu, and returns to the Main
Menu. All L, P, I, C, and N values entered or computed on this
menu will be inherited by all other menus.
10.3 Notes
o The interest rate solution algorithm is knowledgeable about
compounding periods, and will display the correct interest rate
for the selected number of compounding periods.
o Due to the nature of the mathematics involved, it is not possible
to directly solve for Interest Rate. Instead, iterative numerical
methods must be used to achieve the answer. LoansMgr uses a
proprietary iterative algorithm, which resolves the interest
rate to 2 significant digits of accuracy. Because the method is
iterative, solving for interest rate may cause an observable delay
on older, slower machines, especially those without a floating
point unit.
11.0 Num Payments Menu
11.1 Introduction
The Num Payments Menu allows you to compute the number of payments
needed for a loan whose L, P, I, and C values you enter via this
menu, or that this menu inherits from either the loan profile, or
the corresponding values entered on another menu. The number of
payments is displayed, as well as the time in years that this
number of payments represents.
This menu also allows you to introduce regularly scheduled
principal payments, and observe the effect of these on the total
number of payments, and the calendar duration, of the loan.
Finally, this menu allows you to vary the payment interval, to
determine the impact of various payments schemes (1 per month, 2
per month, 1 per 2 weeks, etc.).
This section describes all of the selections for the Num Payments
Menu.
11.2 Selections
L - Loan Size. This selection will cause LoansMgr to prompt
for the desired loan size. The value entered will be
displayed in the User Menu Area data field associated with
this selection.
P - Payment Size. This selection will cause LoansMgr to prompt
for the desired payment size. The value entered will be
displayed in the User Menu Area data field associated with
this selection.
I - Interest Rate. This selection will cause LoansMgr to prompt for
the desired interest rate. The value entered will be displayed
in the User Menu Area data field associated with this
selection.
C - Compounding Periods. This selection will cause LoansMgr to
prompt for the number of interest compounding periods per year.
Generally, this is 12 for most US mortgages and loans, 2 for
most Canadian mortgages, and 1 for most car loans.
T - Payment Time. This selection will cause LoansMgr to prompt
for the interval between payments. This interval may be any
of:
a) 1.00 Month
b) 0.50 Months
c) 0.25 Months
d) 4.00 Weeks
e) 2.00 Weeks
f) 1.00 Week
If you are feeling lazy, the number followed immediately by the
first letter of the unit works as well (ex: "1m" will be
interpreted as 1.00 Months).
$ - Additional Principal Amount. This selection will cause LoansMgr
to prompt for the amount of the scheduled additional principal
payments. See the description of the "#" selection (immediately
below) for details on how LoansMgr uses this value. The value
entered will be displayed in the User Menu Area data field
associated with this selection.
# - Additional Principal Period. This selection will cause LoansMgr
to prompt for the period between additional principal payments.
This period must be expressed in number of payment intervals.
The value entered will be displayed in the User Menu Area data
field associated with this selection.
LoansMgr will then apply the amount specified via the "$"
selection against the outstanding balance, as a direct
principal injection, every 'n' payments, where 'n' is the
number you enter via this selection.
S - Solve. This selection will cause LoansMgr to solve for the
number of payments, and display this on the Response line. Also
displayed on this line is the calendar duration, in years, of
the loan. Other menus that require the Number of Payments as a
parameter will inherit the value computed by this menu, as a
starting point.
D - DOS Shell. This selections allows you to shell out to DOS. In
order for this to work, the COMSPEC environment variable must
be set. LoansMgr will inform you of this, if it is not!
H - Help. This selection brings up a popup window containing help
for the Num Payments Menu.
Q - Quit. This selection quits this menu, and returns to the Main
Menu. All L, P, I, C, and N values entered or computed on this
menu will be inherited by all other menus.
11.3 Notes
None
12.0 Amortization Schedule Menu
12.1 Introduction
This menu allows you to generate and view amortization schedule
files. The selections in this menu are very similar to those in the
Num Payments menu (but will be documented below again, for
completeness), with the addition of a selection for entering the
Setup Menu, which allows titling of loans, filename selection for
schedule files, the starting date of the loan, and the number of
lines per page within the file. This section describes all of the
selections available from this menu.
12.2 Selections
L - Loan Size. This selection will cause LoansMgr to prompt
for the desired loan size. The value entered will be
displayed in the User Menu Area data field associated with
this selection.
P - Payment Size. This selection will cause LoansMgr to prompt
for the desired payment size. The value entered will be
displayed in the User Menu Area data field associated with
this selection.
I - Interest Rate. This selection will cause LoansMgr to prompt for
the desired interest rate. The value entered will be displayed
in the User Menu Area data field associated with this
selection.
C - Compounding Periods. This selection will cause LoansMgr to
prompt for the number of interest compounding periods per year.
Generally, this is 12 for most US mortgages and loans, 2 for
most Canadian mortgages, and 1 for most car loans.
T - Payment Time. This selection will cause LoansMgr to prompt
for the interval between payments. This interval may be any
of:
a) 1.00 Month
b) 0.50 Months
c) 0.25 Months
d) 4.00 Weeks
e) 2.00 Weeks
f) 1.00 Week
If you are feeling lazy, the number followed immediately by the
first letter of the unit works as well (ex: "1m" will be
interpreted as 1.00 Months).
$ - Additional Principal Amount. This selection will cause LoansMgr
to prompt for the amount of the scheduled additional principal
payments. See the description of the "#" selection (immediately
below) for details on how LoansMgr uses this value. The value
entered will be displayed in the User Menu Area data field
associated with this selection.
# - Additional Principal Period. This selection will cause LoansMgr
to prompt for the period between additional principal payments.
This period must be expressed in number of payment intervals.
The value entered will be displayed in the User Menu Area data
field associated with this selection.
LoansMgr will then apply the amount specified via the "$"
selection against the outstanding balance, as a direct
principal injection, every 'n' payments, where 'n' is the
number you enter via this selection. Each such payment shows up
as a separate and distinctive entry in the schedule file.
F - File Setup. This selection causes LoansMgr to display the Setup
Menu, which allows titling of loans, amortization filename
selection, starting date selection, and selection of the number
of lines per page in the amortization file.
S - Schedule. This selection will cause LoansMgr to generate the
schedule of payments, and write this to the specified schedule
file name. If a file with that name already exists, LoansMgr
will prompt regarding overwrite of this file. The generated
schedule may then be viewed immediately, via the "V" command
(see below), or may be viewed, printed, etc., after LoansMgr
has been exited.
After the schedule file has been written, LoansMgr generates a
popup window containing the payout summary for the loan,
showing the total principal paid, the total interest paid, the
total cost of the loan, and the number of payments the loan
required. Unlike all other popups, this window remains onscreen
until one of the parameters of the loan profile are changed, or
the Amortization Schedule Menu is exited.
V - View Amortization Schedule. This selection will cause LoansMgr
to invoke the ASCII file viewer of your choice (usually a text
editor) on the generated schedule file, allowing you to view it
immediately.
To determine the file viewer to use, LoansMgr looks for an
environment variable called EDITOR. If found, it invokes the
command contained within, with the name of the schedule file
appended. For example, if the editor of choice is elvis.exe
(the author's personal favorite), the EDITOR variable would be
set to "elvis", and LoansMgr would issue the command:
"elvis schedule_file_name"
in response to a "V" selection. If the EDITOR variable does not
exist, LoansMgr defaults to the standard MS-DOS TYPE command.
In this case, it alerts the user to this fact, so that they
can set the EDITOR variable if they wish.
D - DOS Shell. This selections allows you to shell out to DOS. In
order for this to work, the COMSPEC environment variable must
be set. LoansMgr will inform you of this, if it is not!
H - Help. This selection brings up a popup window containing help
for the Schedule Menu.
Q - Quit. This selection quits this menu, and returns to the Main
Menu. All L, P, I, C, and N values entered or computed on this
menu will be inherited by all other menus.
12.3 Notes
o The L, P, I, and C values entered in this menu may not yield a loan
with a whole number of payments. In this case, LoansMgr will
round the number of payments UP to the nearest integer value,
and adjust the payment size to make up the difference. This
creates a loan with a whole number of payments, but will result
in a schedule that shows a slightly different payment value than
was originally entered. If this happens, it should not be a cause
for concern. It is "design intent".
o LoansMgr will allow the payment interval to be set in numbers of
weeks (0.25, 0.50, and 1.00). However, LoansMgr does not yet know
how to translate week numbers into month and year values (the
author hopes to add this in a later release), and so, the "Date"
field of the schedule file shows only "--- --". Fortunately,
every 52 weeks after the first payment is guaranteed to be one
calendar year, and so the corresponding schedule file entry is
correctly marked.
o Schedule files are simple ASCII text files, and may be viewed by
any program capable of dealing with such data.
o When deciding upon the file viewer of choice for the "V" selection,
please be aware that v2.4 of LoansMgr occupies roughly 104K of
main memory.
o I recommend giving schedule files the three letter extension
"sch". Consistent use of this extension has proven to be very
beneficial for me.
13.0 Setup Menu
13.1 Introduction
This menu allows titling of loans, amortization filename selection,
starting date selection, and selection of the number of lines per
page in the amortization file.
13.2 Selections
N - Name of Loan. This selection causes LoansMgr to prompt for the
name of the loan. This is a user supplied string that is printed
in the header of the amortization schedule file, allowing users
to "title" their amortization schedules with names that are
meaningful to them. This lessens reliance on recall of what
cryptic 8 letter file names may have stood for.
F - Filename. This selection will cause LoansMgr to prompt for the
name of the file to which the generated amortization schedule
will be written. The filename entered is displayed (up to the
maximum allowable display width) in the User Menu Area data
field associated with this selection.
D - Date of First Payment. This selection will cause LoansMgr to
prompt for the starting date of the first payment of the loan.
As all entries in the generated schedule are stamped with the
date, this information is critical. Dates can be entered only
in the form "MMM YY", where "MMM" is the expected "Jan" through
"Dec", and "YY" is any year from (19)70 to (20)29. Only the
last two digits will be accepted. For example, Dec 1993 would
be entered as "Dec 93".
L - Lines Per Page. This selection will cause LoansMgr to prompt
for the number of lines per page in the amortization schedule file.
This allows users to configure the file for the number of lines
their printer puts out on each page. LoansMgr emits formfeeds
to start each new page.
H - Help. This selection brings up a popup window containing help
for the Setup Menu.
Q - Quit. This selection quits this level, and returns to the
Amortization Schedule Menu.
14.0 Profile Menu
14.1 Introduction
This menu allows you to view the current loan profile, write it to
the file of your choice, or reload a previously written profile file.
This allows you to save all the parameters relevant to a given loan,
and return to them at a later date, without having to laboriously
re-enter them. This section details all of the selections available
from the Profile Menu.
14.2 Selections
F - Filename. This selection will cause LoansMgr to prompt for the
name of the file name the loan profile will be written to, or
read from. The filename entered is displayed (up to the maximum
allowable display width) in the User Menu Area data field
associated with this selection.
C - Clear. This selection causes LoansMgr to clear the current loan
profile to its default (start up) values. This also has the
effect of removing the current profile name from the title bars
of all menus (see the Notes section, below, for more details on
this).
R - Read. This selection will cause LoansMgr to attempt to read a
loan profile from the filename supplied via the "F"
selection. If the file does not exist, or is not a loan
profile, Loansmgr will issue an error to that effect.
W - Write. This selection will cause LoansMgr to write the current
loan profile to the filename indicated by the "F" selection.
If a file with that name already exists, LoansMgr will prompt
regarding overwrite of this file.
V - View. This selection will cause LoansMgr to present a popup
window containing all data that is part of the current loan
profile. This can be used to verify a profile prior to writing,
or to review a profile immediately after reading, to ensure
that the correct profile has been loaded.
D - DOS Shell. This selections allows you to shell out to DOS. In
order for this to work, the COMSPEC environment variable must
be set. LoansMgr will inform you of this, if it is not!
H - Help. This selection brings up a popup window containing help
for the Profile Menu.
Q - Quit. This selection quits this menu, and returns to the Main
Menu.
14.3 Notes
o Loan profiles are small binary files, usually no larger than 1K
bytes.
o I recommend giving profile files the three letter extension "prf".
Consistent use of this convention has proven to be very helpful
to me.
Users should note, however, that the dBase program uses the same
extension for "printer resource files", and should be careful
to keep their loan profile files in a different directory from
their dBase files.
o The title bar of each menu shows the name of the currently loaded
profile file, in parenthesis, as part of the menu title bar. If
no profile has been loaded or saved, this shows as "()".
o Loan profile files can be used to conserve disk space in systems
that are low on this resource. If you have generated a large
schedule file (example, a 30 year mortgage - 360 entries), and
wish to recover the disk space it occupies, but not lose the
data, you can write the current profile out to a file. As
mentioned above, loan profiles are small binary files, and yet
contain all the data necessary to allow LoansMgr to regenerate the
schedule file at any time. So, instead of keeping the large
schedule files on disk, keep only the profile file, and
regenerate the schedule whenever you need to view it.
15.0 About LoansMgr Menu
15.1 Introduction
This menu provides the user with a variety of information about the
LoansMgr program. The four categories of information provided are:
a) General Program Information - typical "about" window stuff.
b) Legal Information - important legal disclaimers that should be
read and understood prior to using LoansMgr.
c) Shareware Information - information on your obligations as a
user of LoansMgr.
d) Contacting The Author - information on how to contact the author
for any reason.
This section describes all of the selections available from the
About LoansMgr menu.
15.2 Selections
G - General Information. This selection causes LoansMgr to present a
popup window with a variety of general "about" information for
LoansMgr, including its version number, author name, program
description, and limited acknowledgements. The window remains
displayed until you hit any single key, at which time it is
removed.
L - Legal Disclaimers. This selection will cause LoansMgr to
present a popup window containing, essentially, a disclaimer of
all responsibility on the author's part for your use of
LoansMgr. This same information (and more!) is presented in
the opening sections of this documentation, and should be read
carefully and understood, prior to use of LoansMgr. The window
remains displayed until you hit any single key, at which time
it is removed.
S - Shareware Agreement. This selection causes LoansMgr to present
a popup window containing information regarding the shareware
status of LoansMgr, and your obligations regarding registration
of the software if you decide to keep it on your system. This
information is also presented below, in the "Shareware
Agreement" section of this documentation. The window remains
displayed until you hit any single key, at which time it is
removed.
C - Contacting The Author. This selection causes Loansmgr to
present a popup window containing information on how to reach
the author via both electronic and surface mail. The window
remains displayed until you hit any single key, at which time
it is removed.
Q - Quit. This selection quits this menu, and returns to the Main
Menu.
16.0 Installation
Installing LoansMgr is easy. Start by unzipping the distribution file.
In it, you will find two executables:
a) lm_fpu.exe - this version assumes the presence of a floating
point unit, and will not operate on a PC that does not have one.
If run on a machine without floating point hardware, it will
freeze the PC, and a restart will be required to recover it.
b) lm_emu.exe - this version makes use of emulated floating point.
The executable is larger, and the program is slower, as a result
of the emulation, but this version should run on any PC.
Copy one of these two (dependant on your system's hardware) to some
directory on your PATH, and rename it to "loansmgr.exe". Copy the
LOANSMGR.INI file to one of (a) the same directory that the EXE
file was placed in, (b) the HOME directory (discussed below, in
"Configuration"), or (c) the directory from which you plan to
invoke LoansMgr.
If you have a directory in which you gather all of your shareware
documentation, copy the README.1ST and LOANSMGR.TXT files to that
directory.
Finally, it is advised that you set up an environment variable named
"EDITOR", which contains the name of an ASCII text editor capable of
displaying a file. If this variable does not exist, LoansMgr uses
the internal DOS TYPE command, which is a less than graceful file
viewer. MS-DOS systems, from Version 5.0 up, come with a credible
full screen editor called EDIT.COM. This editor can be used for
this purpose if you have no other preference.
That's it!
17.0 Configuration
17.1 Introduction
LoansMgr can be configured in two ways:
1) Environment variables
2) The LOANSMGR.INI file
This section discusses how to use these two methods to configure
LoansMgr.
17.2 Environment Variables
LoansMgr uses three environment variables, and it is recommended that
all be set before running LoansMgr for the first time. The variables
are:
COMSPEC - Like all other DOS programs, LoansMgr uses this variable
to invoke a secondary DOS shell, when executing its DOS
SHELL command (available from most menus). If this
variable is not set, this command will fail.
EDITOR - This variable is used by the Amortization Schedule menu
to determine the program to invoke to view the schedule
file. If this variable is not set, LoansMgr defaults to
the internal DOS TYPE command, which is a less than
graceful viewer.
HOME - This variable is used to specify a "home" directory,
which is generally the one in which all ".ini" type files
reside. If this variable is set, LoansMgr will search
here for its LOANSMGR.INI file (see below for more
details).
Users with a unix background will recognize the unix influence in
the existance of EDITOR and HOME variables. It will come as no
surprise that LoansMgr started life as a unix application.
17.3 LOANSMGR.INI File
17.3.1 Introduction
This file allows users to configure the colors that will be used by
LoansMgr. Colors can be specified for the Menu Outline lines, the
Menu Item lines, the popup windows, and the screen border.
This file is a sequence of comment lines and command lines. Comment
lines are any lines beginning with the semicolon character ";", or
blank lines. Command lines have the form:
area_name color
where "area_name" is the name of a portion of the screen, and "color"
is the color you want to set that area to.
17.3.2 Area Names
The valid area names are:
menu_outline_fg - The foreground (text) color for the outline lines
menu_outline_bg - The background color for the outline lines
menu_item_fg - The foreground (text) color for the Menu Item lines
menu_item_bg - The background color for the Menu Item lines
popup_fg - The foreground (text) color for the popup windows
popup_bg - The background color for the popup windows
border_color - The color of the screen border
These names *are* case sensitive, and must be in lower case.
17.3.3 Color Names
The valid foreground colors are:
BLACK, BLUE, GREEN, CYAN, RED,
MAGENTA, BROWN, LIGHTGRAY, LIGHTBLUE, LIGHTGREEN,
LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE
The valid background colors are:
BLACK, BLUE, GREEN, CYAN, RED,
MAGENTA, BROWN, LIGHTGRAY
Like the area names, these names are also case sensitive, and
must be entered in upper case.
You may specify as many or as few of these commands in the
LOANSMGR.INI file as you wish, or you may omit this file
altogether, in which case LoansMgr uses a default set of colors. If
LoansMgr detects any unknown area names or color names, it discards
all user color selections, and returns to its default color set.
An error message is presented in the Main Menu upon completion of
initialization.
17.3.4 How LoansMgr Looks for LOANSMGR.INI
LoansMgr follows a simple algorithm for finding the LOANSMGR.INI file.
It searches the following directories, in the following order:
a) Current Directory - This is the directory the user was in when
LoansMgr was invoked.
b) Start Up Directory - This is the directory the LoansMgr executable
was executed from.
c) HOME Directory - This is the directory indicated by the HOME
environment variable.
If LOANSMGR.INI cannot be found in any of these locations, LoansMgr
assumes it does not exist, and uses its internal default colors.
17.3.5 Sample LOANSMGR.INI File
A sample LOANSMGR.INI file is included in the LoansMgr distribution
zip file, and is duplicated below, as an example:
; -------------------------------------------------------------------------
; LoansMgr v2.4 Initialization File
; -------------------------------------------------------------------------
; Note that all entries *are* case sensitive
; Set the color of the menu outline lines
menu_outline_fg BLACK
menu_outline_bg RED
; Set the color of the LoansMgr menu items
menu_item_fg BLACK
menu_item_bg CYAN
; Set the colors for the pop up help and review windows
popup_fg WHITE
popup_bg BLUE
; Set up the screen border color
border_color BLUE
; --------------------------------------------------------------------
; End of LoansMgr v2.4 Initialization File
; --------------------------------------------------------------------
18.0 Command Line Invocation
The full form of the LoansMgr command line is:
loansmgr [profile_file_name]
where the "[" and "]" characters indicate that the profile file
name is optional. These two characters are not entered on the
command line itself. If a profile file name is supplied, it will
be read and loaded in the same manner as if it had been done via
the Profile Menu. If no profile is specified, LoansMgr uses a
default nil profile.
Example: To invoke LoansMgr using loan profile file myprof.prf, enter:
loansmgr myprof.prf
Example: To invoke LoansMgr with no profile specified, enter:
loansmgr
19.0 Shareware Agreement
LoansMgr is inexpensive shareware. You may examine it for up to 30
days at no expense. If you like LoansMgr, and decide to keep
it, you are obligated to send $US 10.00 or $CDN 15.00, to:
LoansMgr Registration,
c/o Michael Campbell,
7021 Stoddard Lane,
Plano, Texas, USA 75025
A registration form is provided with the LoansMgr zip file.
20.0 Licensing Agreement
The software accompanying this document (the Software) and the
related documentation are licensed to you by Michael Campbell
(the author), at the above stated fees. Although the Software is
shareware, it is not public domain. The software contains
copyrighted material and other proprietary material. In order
to protect them, and except as permitted by applicable
legislation, you may not decompile, reverse-engineer,
disassemble or otherwise reduce the Software to a human
perceivable form. You may not sell the Software, and you may not
bundle the Software with other commercial products, without the
author's express written permission. You may, however, include the
Software on a CD-ROM or floppy collection, provided the original
package is included in its entirety.
21.0 Contacting The Author
If you should wish to reach me for any reason, including, but not
limited to:
a) Bug reports
b) Requests for new features
c) Request for modifications/additions to existing features
d) Gratuitous praise! :-)
I can be reached via Internet email at:
campbell@metronet.com
or via good old surface mail, at:
Michael Campbell,
7021 Stoddard Lane,
Plano, Tx. USA 75025