home *** CD-ROM | disk | FTP | other *** search
- *:*********************************************************************
- *:
- *: Program: DIALER.PRG
- *:
- *: System: Clipdial Intelligent Phone Dialer V#1.1
- *: Author: Glendon G. Todd / Vega Group
- *: Copyright (c) 1987, Public Domain by the Author
- *:
- *: Uses: CLIPDIAL.DBF
- *:
- *: Indexes: CLIPDIAL.NDX
- *:
- *: Documented: 12/17/87 18:23 SNAP! version 2.01
- *:*********************************************************************
-
- * This is the "brains" of the Clipdial intelligent dialer. Clipdial
- * expects to be passed a complete 10-digit phone number in the format
- * (999) 999-9999. Be sure to include the space after the ")".
- * Clipdial extracts the area code and exchange information from the phone
- * number and uses this to determine whether the number is local or long
- * distance. For a local call, Clipdial strips off the area code
- * information and dials the 7-digit local number. For a long distance
- * number, Clipdial prefixes the number with "1-", and then dials the
- * complete long distance number. Clipdial also checks the DSR line
- * coming from the modem. If DSR is not asserted, Clipdial assumes that
- * the modem is not on and aborts with an error message.
-
- * Clipdial uses the database file Clipdial.dbf to keep track of what
- * telephone exchanges are in the local calling area. This database
- * must be in the current default directory or on Clipper's PATH. (Not
- * the DOS path.) If Clipdial does not find this database file, it will
- * dial the phone number exactly as passed to it. Clipdial uses Clipper's
- * work area 10 for it's database file. Anything else in work area 10
- * will be lost.
-
- * This copy of Clipdial is currently configured for the metro Washington
- * D.C. area. However, it is easy to reconfigure for any other area of
- * the country. The string "703/212/301" in line #60 tells Clipdial
- * what area codes the local calling area is contained in. Simply replace
- * this string with a string containing your local area code(s). Then the
- * Clipdial.dbf file must be edited (using dBase or some such) so that it
- * contains the exchange codes which are within your local calling area.
- * (There is a list of these exchanges in the front of your phone book.)
-
- * For support, comments, questions or whatever, contact :
- *
- * Glendon Todd
- * 312 Van Buren St.
- * Falls Church, VA 22046
- * Compuserve 71121,352
- * Voice (703) 532-8191
-
- * Revision history
- *
- * 11/26/87 - Version 1.0 - first public domain release
- *
- * 12/17/87 - Version 1.1 - Repaired a bug in 1.0 which was causing
- * it to create it's index improperly.
-
- parameters phone_no
-
- mdial_num = phone_no
- acode = substr(phone_no,2,3)
- exchg = substr(phone_no,7,3)
- if file("clipdial.dbf")
- mdial_num = "1 "+phone_no
- if acode $ "703/212/301"
- database = alias()
- select 10
- if file("clipdial.ntx")
- use clipdial index clipdial
- else
- use clipdial
- index on exchange to clipdial
- endif
- seek exchg
- if .not. eof()
- mdial_num = substr(mdial_num,9,8)
- endif
- use
- select &database
- endif
- endif
-
- if dsr()
- mdial_num=LTRI(TRIM(mdial_num))
- call modemcmd with "DT"+mdial_num
- @23,10 say "Wait for ring, then pick up phone and press spacebar, please!"
- do while inkey()=0
- enddo
- call modemcmd with "H0"
- * clear
- else
- @12,20 say "Modem is not on"
- endif
- return
-
- *: EOF: DIALER.PRG