------------------------------------------- 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 ------- 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 . 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. (gnore bort 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 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 ____________________________________________ ________________________________________________________