delton@pro-carolina.cts.com (Don Elton) (09/16/89)
Some folks asked if I'd post a Talk is Cheap script that would implement a simple dialing directory. Well, here it is. It's fairly simple and doesn't do a heck of a lot of error trapping but it's at least a good start in case someone else would like to play with it: ----------------------cut here------------------------------- # Example Dialing script to let you set up a dialing menu of 9 items for # Talk is Cheap # # Copyright 1989 # By Don Elton # Carolina System Software # 3207 Berkeley Forest Drive # Columbia, SC 29209-4111 # # pro-carolina = 803-776-3936 set statline off set timer 30 set duplex full set screen off display ^L;# clear screen goto main # Number.Key assign "0" 6 if keyboard ^[ goto exit if keyboard 1 assign "1" 6 if keyboard 2 assign "2" 6 if keyboard 3 assign "3" 6 if keyboard 4 assign "4" 6 if keyboard 5 assign "5" 6 if keyboard 6 assign "6" 6 if keyboard 7 assign "7" 6 if keyboard 8 assign "8" 6 if keyboard 9 assign "9" 6 return # Valid.Baud if null 3 goto nobaud if equal "$3" "300" goto okb if equal "$3" "1200" goto okb if equal "$3" "2400" goto okb if equal "$3" "4800" goto okb if equal "$3" "9600" goto okb if equal "$3" "19200" goto okb # nobaud assign ".NoBaud." 3 # okb return # waitany waitfor keyboard if keyboard ^[ goto exit return # exit display ^L set statline on set screen on display " ^H" stop # main window 10,70,4,20 gotoxy 25,6 display "Master Dialing Script" gotoxy 15,8 display "1 Dial a service" gotoxy 15,9 display "2 List services" gotoxy 15,10 display "3 Add a service" gotoxy 15,11 display "4 Delete a service" gotoxy 15,18 display "Press the key of your choice: " # waitkey waitfor keyboard if keyboard ^[ goto exit if keyboard 1 goto dial.svc if keyboard 2 goto list.svc if keyboard 3 goto add.svc if keyboard 4 goto del.svc display ^G goto main # dial.svc window 10,70,4,20 gotoxy 25,6 display "Dial a Service:" do do.list gotoxy 15,18 display "Press key of choise or M for manual: " # wait.dial waitfor keyboard do Number.Key display $6 if equal "0" 6 goto main if equal "M" 6 goto skipload if equal "m" 6 goto skipload assign "1" 5 if exists "$RootDial.Data" goto okfile goto main;# no file found # okfile open 0 "$RootDial.Data" # readloop.1 readfile 0 1;readfile 0 2;readfile 0 3;readfile 0 4 if equal "$5" "$6" goto skipload2 if null 1 close 0;goto main inc 5 goto readloop.1 # skipload assign ".Null." 1 assign ".Null." 2 assign ".Null." 3 assign ".Null." 4 # skipload2 window 10,70,4,20 gotoxy 25,6 display "Dial: " if equal "$1" ".Null." display "Manual Entry";goto donum display $1 # donum gotoxy 15,8 display "Number: " if equal "$2" ".Null" getline 2;goto donum display "$2" # dobaud gotoxy 15,9 display " Baud: " do Valid.Baud if equal "$3" ".NoBaud." getline 3;goto dobaud display "$3" # HowMany? gotoxy 15,11 display "Dial how many times (1-9): " waitfor keyboard do Number.Key if equal "$6" "0" goto HowMany? display "$6 -- Dialing" set timer 20 set baud $3 # dialit xmit "ATDT$2^M" waitfor string "CONNECT" if failed goto abort.dial if equal "$4" ".nochain." display "^G^GConnected...";pause 1;goto exit set statline on display ^L set screen on chain $4 # abort.dial dec 6 if equal "$6" "0" goto main goto dialit # list.svc window 10,70,4,20 gotoxy 28,6 display "Service Listing:" do do.list gotoxy 15,18 display "Press any key..." waitfor keyboard if keyboard ^[ goto exit goto main # do.list if exists "$RootDial.Data" goto gotfile goto list.done # gotfile assign "1" 6;# number.for.svc assign "8" 5;# for.line.number open 0 "$RootDial.Data" # read.list readfile 0 1;readfile 0 2;readfile 0 3;readfile 0 4 if null 1 goto end.list gotoxy 12,$5 display "$6:" gotoxy 15,$5 display "$1" gotoxy 38,$5 display "$2" gotoxy 48,$5 display "$3" gotoxy 55,$5 display "$4" inc 5 inc 6 if equal "$6" "10" goto end.list goto read.list # end.list close 0 # list.done return # add.svc window 10,70,4,20 gotoxy 25,6 display "Add a service:" # tryname gotoxy 15,8 display "Enter service name: " getline 1;display " " if null 1 goto main gotoxy 15,9 display "Enter phone number: " getline 2;display " " if null 2 goto main # getbaud gotoxy 15,10 display " Enter baud rate: " getline 3;display " " do Valid.Baud if equal "$3" ".NoBaud.";display " Invalid baud rate!^G";pause 1;goto getbaud gotoxy 15,11 display "Enter Logon Script name: " getline 4;display " " if null 4 assign ".NOCHAIN." 4 opena 0 "$RootDial.Data" writefile 0 "$1^M$2^M$3^M$4^M" close 0 goto main # del.svc window 10,70,4,20 gotoxy 25,6 display "Delete a service:" do do.list gotoxy 15,18 display "Delete which service? " # test.del.num waitfor keyboard if keyboard ^M goto main if keyboard ^[ goto exit do Number.Key if equal "0" 6 display ^G;goto test.del.num display $6 if exists "$WorkDial.Temp" delete "$WorkDial.Temp" assign "1" 5;# starting record number open 0 "$RootDial.Data" open 1 "$WorkDial.Temp" # read.del readfile 0 1;readfile 0 2;readfile 0 3;readfile 0 4 if null 1 goto done.copy if equal "$6" "$5" goto skip.write writefile 1 "$1^M$2^M$3^M$4^M" # Skip.Write inc 5 goto read.del # Done.Copy close 0 close 1 delete "$RootDial.Data" buffer load "$WorkDial.Temp" buffer write "$RootDial.Data" delete "$WorkDial.Temp" goto main UUCP: [ sdcsvax nosc ] !crash!pro-carolina!delton ARPA: crash!pro-carolina!delton@nosc.mil INET: delton@pro-carolina.cts.com Pro-Carolina: 803-776-3936 (300-2400 baud, login as 'register') US Mail: 3207 Berkeley Forest Drive, Columbia, SC 29209-4111