Contents of the PPRO_SH.DOC file
P H O N E - P R O
Shareware User Instructions
>>> N O T I C E <<<
This is NOT free software. PHONE-PRO is being distributed
under the Shareware system.
You are free to make as many copies of PPRO as you like, and
to give copies to anyone you want to, with the following restric-
1. You are not to sell PPRO. A handling fee not to exceed
five dollars may be charged for the media on which PPRO is
2. You are not to modify the program in any way, including
removal or modification of the copyright notice.
3. You are not to unassemble or reverse-engineer the pro-
gram in any way. If you really want it customized, write me
and we'll talk.
You are granted a limited license to use PHONE-PRO for a
reasonable trial period. If you continue to use PHONE-PRO after
that time, you are asked to register your copy with the author.
Registration costs $20, and carries the following benefits:
- The latest registered version of PHONE-PRO on disk, with
all Shareware notices removed.
- A printed and bound user's manual which covers in detail
all aspects of PHONE-PRO.
- The right to contact the author for support. Unregis-
tered users can write me if they like, but registered users
will be taken much more seriously.
- A sense of pride at having done your part to keep the
price of good computer software under control.
To register your copy, send $20 to:
17729 Topfield Drive
Gaithersburg, MD 20877
If you decide not to register your copy, I would like to
know why -- contact me at the above address, please.
Phone-Pro can be used in several ways. Initially, it was
intended as a personal address book manager, providing an input
screen to enter and update names, addresses, etc. for family and
friends, business associates, and whatever else you may keep in
your "little black book."
The initial concept came from a public domain program BLAK-
BOOK, which maintained a small list of names and addresses, and
printed a palm-sized phone directory. I used this program brief-
ly, then discarded it because the editing facilities were crude,
and the information was not complete enough. Phone-Pro is simi-
lar in many ways, but provides space for much more information on
each person in the directory, and produces a slightly larger,
more readable phone book which is more easily updated over time.
Phone-Pro does not have to be limited to an offline data-
base, however. It contains optimized search routines which can
locate any record in less than 2 seconds, even on a floppy-disk
based PC. With Phone-Pro, you can browse through your phone
directory easily, and even use your Hayes-compatible modem to
dial the phone for you. Phone-Pro's ability to modify a phone
number temporarily, right before dialing, is unique among desktop
dialing programs, and makes it well suited for use by people who
travel frequently. While Phone-Pro is not memory-resident, it
takes up so little memory that it can be called from the DOS
Shell feature of almost any program, and uses the DOS PATH varia-
ble to locate its own data file. Thus you can be in the middle
of a Lotus spreadsheet, invoke the /System command, then enter
PPRO KUZELA to automatically find and place a call to your co-
worker, then return to Lotus while you wait for an answer.
COMMAND LINE OPTIONS
The command for starting Phone-Pro is:
PPRO [/i+-][/2] [name]
The command line options supported are:
/i : Sets indexing to disk on (/i+) or off (/i-). The
ON option causes PPRO to write its data index to a
file called PPRO.IDX when the program ends. This
file is then read the next time you run PPRO,
which can speed up the loading of the program by
as much as 12 seconds with a 50-record file on a
floppy disk system. Faster hard disk users will
see only a two or three second speedup at best.
/1,/2 : Instructs PPRO to override the default COM port
and use COM1 for '/1', COM2 for '/2'. This option
is not needed if you include the line "set DIAL-
PORT="(1 or 2) in your AUTOEXEC.BAT file, or if
you use PPROINST to permanently change the default
[name] : As soon as PPRO is loaded, it will automatically
start a key search for any name that may be on the
command line. If the name is found, PPRO will
automatically call the dialing function to place
the call for you (see SEARCHING and DIALING).
The /i (index) option exists only to speed up the operation
of PPRO on floppy disk systems. When PPRO loads, it scans
through the data file and builds an index to all records, which
is then used each time you browse through or search for a specif-
ic record using key search. A standard 4.77MHz PC with floppy
drives needs much more time to do this than the "turbo" clones
with fast hard drives do. A test file of 50 records requires 12
seconds to index on my laptop system, which is very similar to an
original PC, but only 2 seconds on my 8MHz XT clone with RLL hard
disk. Using "/i+" causes PPRO to save this index to disk when
the program exits, so that the next time PPRO is called the index
can simply be read in from disk, a much faster process than
Since the index file is purely optional, PPRO uses logic to
decide whether or not it is needed. If there is a PPRO.IDX file
in the DOS path or current directory, PPRO assumes you want to
use it and keeps it updated. If there is no PPRO.IDX file, the
program assumes you don't want one and will not create it unless
you put "/i+" on the command line. If you change your mind, or
the index file is damaged, simply delete it and PPRO will stop
Most PPRO commands are executed from within the program
itself, using the function keys. I have called them both F- and
PF- keys, since keyboards vary in how they label them. In any
case, there is one key for each of the PPRO features:
PGUP/PGDN are used to Browse through your phone directory.
PgUp moves you toward the top of the alphabet by one record each
press, while PgDn moves you toward the end of the alphabet. If
you reach the beginning or end of the file, the system will "wrap
around" in the direction you were going at the time (ie, pressing
PgUp at the first record gives you the end of the file).
END starts an automatic Browse of your data file. Pressing
End once has the same effect as PgDn, but PPRO keeps paging down
every 1/2 second until you press another key.
HOME immediately displays the first record in the file.
F1 brings up the HELP information. It opens and reads the
text in the file PPRO.HLP, displaying it on the screen one page
at a time. You can use the PGUP/PGDN keys to browse through the
help text, and ESCape to return to the main program.
The PPRO.HLP file is a simple text file, subject to editing
with EDLIN or another ASCII text editor. You may add to the help
if you wish without fear of damaging anything.
F2 allows you to EDIT the record currently showing on the
screen. If you press F2 while the entry form on the screen is
blank, PPRO will advise that you "Must FIND before you can EDIT"
and wait for your next command. Otherwise, you can modify the
data in all of the fields, using your cursor keys and keyboard
editing keys. (See the HELP screen for more on editing keys.)
F3 lets you ADD new entries to the data file. You type in
as much or as little as you need for each card, pressing F10 to
save when you are done or F2 to cancel the addition. The F9 key
can be used as an "ADD Again" key, which saves the record you
have now, then blanks the form and lets you add another one.
F4 will DELETE the entry on screen from the data file,
completely and forever. Because of the indexing scheme PPRO
uses, deleting a record still leaves some wasted space in the
data file, but that space cannot be turned back into a valid
F5 opens a DOS shell, allowing you to run other DOS commands
and return to PPRO without having to exit and reload the program.
Type 'EXIT' at the DOS prompt to return to PPRO.
F6 starts a FIND operation. You are prompted to enter a
search key. This key can be either the first few letters of the
last name of the person you want to find (up to 10 characters),
or up to 15 characters of any text that appears anywhere in the
Name, C/O, or Notes area of the record. Pressing ENTER then
starts a key search (matches last name only, must be the first
letters, capitals don't matter). Pressing CTRL-ENTER will start
a general search (matches any text in the name, c/o, or notes
areas, capitals and placement of the text don't matter). Key
searches are very fast -- typically under 2 seconds on a floppy
disk machine with 100 records. General search is much slower,
but can locate "electrician" even if you can't remember the
F7 is used to PACK your data file. The Pack operation sorts
and rewrites your data, eliminating the wasted space left over
from deleted records. Using PACK will not alter the order of
your entries as you browse through them, because the index is
always kept in order.
F8 is used to CALL the person shown on the screen. Using
your up and down cursor keys, you select which of the 4 telephone
numbers you want PPRO to dial. You may edit the number first if
you wish, possibly adding '9' if you are behind a PBX or adding
an area code if you are away from home. You may also include any
of the Extended Dialing Codes in your edited number. When you
press ENTER, the system seizes your modem and dials the number.
When your modem indicates that dialing is complete, the system
flashes the message "LIFT HANDSET -- PRESS ANY KEY" and waits.
As soon as you press a key, PPRO hangs up the modem (this will
disconnect your call if you don't pick up the telephone first).
F9 calls the PPRT program to print a phone book. See PRINT-
ING, below, for more details.
F10 exits PPRO and returns you to DOS, saving the index to
disk if a PPRO.IDX file exists, or if you put "/i+" on the com-
USING PPRO AS A DIALER
PPRO supports dialing features superior even to the SideKick
telephone dialer. When you press F8, you can choose between up
to 4 telephone numbers entered for that individual. These num-
bers may be edited at the time of dialing without making a perma-
nent change to the record. You can even press PF1 to clear the
dialing window and enter a whole new number manually, and have
PPRO dial it for you. All of your modem's dialing features
(pauses and such) are supported.
Like the phone dialers in PROCOMM and similar terminal
programs, PPRO supports Extended Dialing Codes. Each code is a
lowercase letter, 'a' through 'z', which stands for a string of
up to 16 digits. Each digit may be a number, special character
for the modem, uppercase letter, or even another Extended Dialing
Code (be careful here -- putting an 'a' in dialing code 'a' will
throw the system into a recursive loop that can only end when you
reboot or the system crashes from stack overflow!).
Dialing can be initiated from the command line. Any parame-
ter you place that does not contain a backslash is assumed to be
a last name. PPRO will do a key search for the name, and if it
is found PPRO will immediately place you in Dial mode. You can
stack up names on the command line if you wish -- PPRO will
handle each in turn. For example, you could use a command line
like "ppro kuzela raugh varga smith lipshitz" to call 5 peo-
ple, one right after the other, and PPRO will guide you through
each one automatically.
PRINTING THE PHONE DIRECTORY
The program PPRT.EXE is the print module for Phone-Pro. Why
a separate program? Because I want Phone-Pro to stay as small as
possible, to use only as much RAM as it truly needs, so that
small systems (or crowded big ones) can use it. This way, you
don't need the memory overhead of a full sort and print unless
you actually want to print. The F9 (PRINT) command of PPRO loads
PPRT.EXE, but it can also be called from DOS or from another
program. The only command line option it takes is "/b" for BIOS
The PPRT menu allows three choices:
ALL LETTERS will print the entire phone book, using at least
one page for each letter of the alphabet. If you have no entries
for the letter 'X', for instance, PPRT will output a page of
three blank entries for 'X'.
USED LETTERS ONLY will print pages only for letters where
you have at least one address entered. If you have no 'X' names,
it will not print an 'X' page.
SELECTED LETTERS will print pages only for letters you
specify. This is an ideal option for updating the printed book,
rather than do the whole thing over again just because you added
a Smith, a Jones, and a Blaumann. If you select a letter that is
not used, you will get a page of blank entries.
PPRT prints the book one letter at a time. It reads all the
entries starting with the letter, sorts them by last name and
first name, then prints them out. Three entries fit on each
page, which measures about 4 by 5 inches. The last page for each
letter is filled out with blank entries if the total number is
not a multiple of three -- you can use these to write in new
numbers until you feel like printing a new section.
Once the book is printed, you will need to cut the pages
apart and bind them. Cut along the dotted lines between pages,
and at the ends of them for the right side. There is ample
margin on the left side for punched holes, so the PPRO directory
can fit into most pocket-sized mini binders. I've found that a
hobby knife or razor blade makes nice, straight cuts and is less
tiring on the hands than scissors.
This version of PPRO includes a customization program,
PPROINST. The PPROINST program is not required to run Phone-Pro;
it merely allows you to update PPRO's default parameters.
You can run the install program either from the DOS command
line or by pressing SHIFT-F9 at the main PPRO screen. (Note: if
you run PPROINST from within PPRO, the changes you make will not
take affect until after you exit and restart PPRO.)
PPROINST shows you a menu with three options:
Default File Names allows you to change the standard names
of the PPRO files. You can rename the standard data, index, and
help files to anything up to 60 characters in length. You may
include a drive/directory prefix if you wish, but this will
prevent PPRO from searching the DOS path if your files are not
found there. The current file name is shown as the default.
Modem Controls are the strings PPRO sends to the modem
before and during dialing. The Dial command is the command
string used to make your modem dial a number ('ATDT' for a Hayes
compatible modem dialing with tones). You can change this to add
a '9' (for dialing on PBX or Centrex systems) or any other extra
digits your modem or phone system may require. The Initializa-
tion String is sent to your modem each time you enter Dial mode,
before the number is actually chosen. The COM Port specifies
whether the modem defaults to COM1 or COM2.
Extended Dialing Codes are the 26 alphabetic codes you can
include in a dialed number. You may enter up to 16 digits for
each code. Press F10 to return to the menu.
Changes in PPROINST are made to the PPRO.EXE file immediate-
ly after you enter them. Keep a backup copy of PPRO.EXE some-
where if you feel nervous about changing your original.
v 0.0 -- Original Alpha-test version. Shown but not dis-
v 0.1 -- First Beta version. Major bugs fixed, and print
program completed. Sent to Larry Kuzela for evalua-
v 0.2 -- Added the Browse feature with PgUp/PgDn and Home.
Changed the cursor routines to get rid of the cursor on
a Hercules card. Very functional, but slow as heck.
Changed the DIAL routine to highlight the selected
phone number on the card as well as in the dialing
v 0.25 -- Fixed a display bug and several critters in the
field editing routine, added PGUP/PGDN in Help, tried
again to get the cursor controls to respond on the
Hercules video card.
v 0.3 -- Added indexing to speed up the awfully sluggish
search, added the key search feature (prior versions
had only general search). Also added auto-Browse with
the End key. Tried yet again to get the cursor to
behave properly on a Hercules card. (Started to get
really pissed at Hercules!)
v 0.31 -- One last try on the Hercules cursor (which still
didn't work properly!). Fixed several bugs in the
indexing routines that prevented adding new records.
v 0.4 -- Converted source code to Turbo Pascal v5.0 (from
3.0). Finally, the Hercules cursor works properly!
Added a serial port check before trying to dial, and an
error if the port fails. Added the ability to edit the
phone number before dialing, automatic dial of a name
from the command line, and the extended dialing codes.
Made the dial routine smarter about when to flash the
"LIFT HANDSET" message (it was a timer in prior ver-
sions, now looks for an "OK" from the modem). Moved
global values to a common area where they can be
patched by an external program. Squashed more pests in
the indexing routines.
v 0.42 -- After much discussion with Larry, added a display
of the Extended Dialing codes in Dial mode. Also
lowered the PF key menu top to be even with the entry
window. Increased the heap limit a little bit to
prevent a heap/stack collision when dialing with ex-
v 0.43 -- Minor adjustment to allow running PPROINST from
within PPRO. Fixed a bug that kept PPRO from searching
the DOS path properly when spawning PPRT or PPROINST.
v 0.44 -- Fixed a couple of messages that didn't erase
themselves when no longer needed. Also arranged to
have the first record appear immediately when the
program begins. (Saved about 144 bytes in error check-
v 1.00 -- First publicly released version. Shareware ver-
sion contains extra notice and "beg" screen at the end.