        -------------------------------------------
               Advanced Phone Dialer Version 7
                (C)1987-92 Turgut Kalfaoglu
        -------------------------------------------


ShareWare Version
-----------------

This program is licensed to the user for a period of TWO WEEKS and must
be registered if the user intends to keep this package. The registration
entitles the user to receive the advanced version which includes such
options as password protection and data encryption. Complete the form
provided at the end of the document to receive the registered version.

Please distribute  this program  in unmodified  state. It is
user-supported as of September 1986.


Abstract
--------

Phone Dialer  is designed  to provide the most comfort while dialing
your  voice calls. It not only eliminates the search for a  number, it
also keeps your phone book and comes with full set of editing features.
To dial someone's phone number, all you need to do is to type a few
letters within his/her name (not necessarily the first few letters) to
make the computer dial.


Disclaimer:
-----------

        This program is distributed as-is. I do not guarantee its
usefulness, or correctness. Although I have tried to check it as much as
possible before distributing it, it may still contain bugs. If you
encounter any, I would like to learn about them, so that they can be
eliminated on the next releases.


If you have the data file from an older version:
------------------------------------------------

        You must run the supplied program called "6To7". The Phone
Dialer no longer contains the code for automatic conversion. Note that
you only need to run this conversion program once.


New to This Version:
--------------------


* Full Pull-Down menus with mouse support

* EDIT option

* Various corrections and code restructuring


Invoking (starting) the phone dialer:
-------------------------------------

PD [?] [S] [M] [/] [C0] [C2] [L2] [L3]

     The above  line  describes all  possible invoking functions
provided  by the  phone dialer.  The brackets just show  that   the item
is  optional. You may enter the command line either with  or without
brackets.

Usage Example:

PD M/  -- Disables modem access and uses the monochrome color setting.


Option:   Means:
-------   ------

  ?       Display the option list. (This list)
  S       Sound Off option.
  M       Use Black and White instead of Black and Yellow.
  /       Disable modem access.
  C0      Same as above.
  C2      Use COM2: (second asynch serial port) instead of
          the default COM1: for modem access.
  L2      The printer is connected to LPT2, instead of LPT1:
  L3      The printer is at LPT3:, not LPT1:


PD.SET file
-----------

     After you start the phone dialer a couple of times with hard to
remember options, you realize the need to automate this process.
Fortunately, there is a way.

     If you ever enter PD with an option, or any combination of options,
the program remembers them, and as you exit, it writes them  down to  a
file  called 'PD.SET' on the same directory as your phone data file
(PHONE.DAT), and your address data file (ADDRESS.DAT). This file can be
edited manually if desired, and it contains explanatory lines.

     The  program  will automatically load this file and its parameters
if you start the Phone Dialer without any options.

"Printer  Interrupt rate."  in this file indicates how  often  the
printer should be 'fed'  while the printing is in progress. The default
value that you see there can be changed easily using any  text editor.
The range is from 1 (a line is sent once in  a great  while), to  10
(lines  are sent without a delay in  between.) You  will have  to
experiment  with this number, since  every printer has a different
printing speed. The idea is that  the printer  should sit idle very
briefly between lines. However, if  you raise this number too high, you
will  lose the  ability to  perform any  tasks with  the phone dialer
while it  is printing your directory, since it will be too busy with the
printer.


How to change back an option to default:
----------------------------------------

     Consider the  case where  you decide  that you now want the Phone
Dialer to  use COM1:  after you  have been  using COM2: to dial your
phone numbers. Or the case where you want the Phone Dialer to use the
sound effects. Here is how:

1) Delete the PD.SET file.
2) Start  the Phone  Dialer using any options that you wish. Upon exit,
  it will  create a  new PD.SET which will contain the necessary
  information.



HOT key
-------

        <ESC> key is used to interrupt a function. This function can be
anything from LIST to LOG. To interrupt background printing, you must
hit F7, not <ESC>.


Functions
---------

LIST --- Displays all the names, numbers, and addresses in your data
   file.

SHOW --- Will ask you for something to search for. Either enter a
   partial name, or a partial number. It will display the entries which
   contain the entered number. Note that no searches are conducted on
   the ADDRESS field.

ADD --- Adds new names, phone numbers and addresses to your phone list.

EDIT -- Edits or changes an already entered entry. Specify a part of the
   name to select among your phonebook.

KILL --- Will ask for something to search for. If you give it a whole
   name, and if that name exists in the data file, it will be deleted
   without confirmation. However, if you give it a partial name, it will
   ask for confirmation before deleting.

SORT --- Re-ordering can be conducted on name and phone number in either
   ascending (a->z) or descending order.

PRINT --- Will send your whole phone list to the printer. If the phone
   dialer slows down considerably during this operation, edit PD.SET and
   reduce the 'Printer Interrupt Rate'.

LOG --- Phone dialer will keep a log of all calls, unless this feature
   is disabled. This command allows manipulations with the caller's log.

REDIAL --- It will re-submit your last 'dial' command.

QUIT --- Saves changes to the data files. Never exit phone dialer
   without this option. You may end up with discrepencies in your data
   files if you do.




Error Recovery
--------------

     Ever since  I started  using the  phone dialer,  I made sure that
it was  SAFE. That  no one would lose information using this program.
You might have noticed that it goes into an elaborate  task of  making
backups, etc, when it is about to write out a modified phone list.

     Well, with this version, when an error occurs it will display you a
prompt that is familiar to those who struggle with DOS a lot. (<I>gnore
<A>bort <R>etry ) Of course, it's friendlier than the DOS' prompt.


Printer Errors
--------------

If,  while printing,  your paper jams, or for any reason the printing
stops, the Phone Dialer will  appear   to  be  'frozen.'  It will  not
answer  any keystrokes. However, this situation is temporary. If  you
wait  about  thirty  seconds,  the Phone Dialer will realize that  the
printer is off-line, and will offer you  the choice of canceling  the
printing.  At  this point you should hit <A> for abort.


Shell Command
-------------

     A new  command has been added. The SHELL command allows you to drop
to DOS and perform any DOS functions, and return back to  the phone
dialer as  if you had never left it. For SHELL to work, you must have
enough available memory to hold a second  copy of  the command
interpreter of  DOS. Another requirement is  that the  COMMAND.COM must
either be in the current directory, or it must be in the search PATH...

     A word  of caution:  Make sure that you are back on the same drive
and directory  before you  get back to the Phone Dialer with the EXIT
command.


Quick-Choose Utility
------------------

     When the program does not find an exact match  for the name to be
dialed, it collects all the  occurrences of  semi-matches. If the total
of these semi-matches are  less than  10, then  the collected list is
displayed. You can then choose the right one by just hitting a digit.


ADDRESS.DAT file
----------------

        This is where the address information is kept. This file should
not be edited using a regular text editor. Modifications should be done
through the phone dialer, or with a Sector Editor, if you feel
confortable using a such tool.


Development History
-------------------

     The 'history'  of this program began when I read my new modem's
manual  a couple of years ago. It showed me a way to dial numbers, and
still have the control of the modem. So, I wrote a  crude, but
functioning program  based on  the idea that it  should be  easy  and
fast  to  use.  (I  get  very impatient with  welcoming logos,  and
other things that slow me down.)

     Anyway, the  first  version  was  written  in  BASICA..
Interpreted. Then,  I decided  to  invest  in  a  QuickBASIC compiler,
and re-compiled the program.

     The major  'push' for  this program came when it was to be
handed-in as a programming assignment. It suddenly became very
structured,  and very  well documented.

     The program  improved,  and  after  joining  MCI,  (and talking to
the users  of this  program) I  felt the need to include phone  prefixes
so that someone can just include the sign '#'  on top  of a  phone
number  instead  of  including '10288' at  the beginning of every number
that is to use the AT&T line.

     Also, other  comments came about port assignments. Lots of people
use COM2:  for their  modem, and  LPT2 and  3 for their printer. So, I
made those optional parameters too.
     
     On the  summer of 1987, after doing major repairwork, I included
pop-up  windows, and  all  these  enhancements  for version 5. 1988 is
the year that I added the Address book keeper. In 1991, pull-down menus
were added, along with SAVE and EDIT options.


Shareware Package, Registration
-----------------

     This package contains a code that is a subset of the
commercial-quality package that is available for $30. You MUST register
if you use this software longer than two weeks. To register, fill out
the following form, and mail it in with a check for US $30 (or
equivalent in your local currancy), made out to "Turgut Kalfaoglu". You
will receive both source code, and the runtime version of the latest
version, along with a subscription to the shareware products
announcements.



Programmer:
-----------

     I can be reached at:

          Turgut Kalfaoglu
          1378 Sok. 8/10
          Izmir 35210
          Turkey


If you have access to a computer network, that can access
Bitnet, you may also reach me from this ID: TURGUT@TREARN.BITNET
          


Limitations:
------------

Built in limitations:
    2000 names and 2000 addresses.

The program has an 'estimate' feature which measures the amount of free
space left, and calculates it with respect to the average memory
requirement of each entry in the phone book. (To see how many more
entries you can have before it runs out of memory, just hit blank ENTER
at the PD> prompt) Note that adding addresses do not steal away from the
system's RAM. They are kept on disk.


The structure of the data file:
-------------------------------

     The data  file created  by this  program can  be edited using any
ASCII text editor. Starting with version 5.10, the data file  is saved
in a compressed, but readable format. Be careful editing this data, the
de-compressing routine may have objections. If you experience  problems
with  the program,  load  PHONE.DAT into your  text editor  and make
sure that  your data  file corresponds to this format:


            LINE #   SAMPLE DATA     NOTES
            ------   ------ ----     -----
              1       "1     "        The log activity flag.
                         or
                      "0     "        the amount of spaces   
                                      may vary.

              2       "ATDT"          Modem dial string.
                                      This line will vary    
                                      depending on
                                      what you enter at the
                                      initialization.

             3-7      "!","12731"     Phone dial pre-fixes..
                                      Five lines.

             7        SOMEONE        The name of the person (compressed)
             8        0119152213819  The phone number of the person
             9        0              Link-address to the address file.
		   
             . The above three lines keep repeating from now on.
             .
             .
		   
Note that lines 7 through the end of the file will appear as hex
characters if you have the commercial version, and selected Data
Encryption and Lockup option which provides safety against unauthorised
access to your files.


Mid-Version Update from 6.00 to 6.10:
-------------------------------------

With this update, the program now searches your PATH to find its data
files. So you may keep your PHONE.DAT, PD.SET, ADDRESS.DAT somewhere
else, and the program will search the path to find them. Consult DOS
manual on how to set up your PATH.

Mid-Version Update from 6.10 to 6.20:
----------------------------------------

* C0 is now parsed correctly. It wasn't working before.

* PD.SET, if it is updated, is placed in the same directory as the
  ADDRESS.DAT and PHONE.DAT files. So, you can keep them elsewhere, and
  PD will find them.

* To find the three files, PD now not only searches your PATH, but also
  LIB, LIBRARY, and INIT environmental variables, if they are defined.
  For example, to tell PD to find its data files in the G:\LIB
  directory, you may either add G:\LIB to your PATH variable, or say
      SET INIT=G:\LIB
  to have the G:\LIB searched for the files.

* Problems with print option have been eliminated. It now works as it
  should.


------------------------cut here and mail---------------------------

Order Form
- - - - -


To: Turgut Kalfaoglu
    1378 Sok. 8/10
    Izmir 35210
    Turkey

[  ]YES! I register. Please send me the latest version on a diskette of
     the size specified below. I also realize that I will receive free
     update information. I enclose $30 for registration, shipping and
     handling.


[ ]NO!   I can't register yet - I have problems with the software. I am
     describing them below. I am enclosing no money at this time.


 Name  _________________________________________


 Mailing address  ___________________________________


_________________________________________________________


E-Mail address  ________________ @ _________________ (optional)


Current PD version  ________._________


Computer equipment consists of _______________________ (optional)


_________________________________________________________


My Diskette Drive type is  ___________ Kilobytes

                         [  ] 3 1/2     [  ] 5 1/4 inches

My Comments ____________________________________________ 


________________________________________________________


