Category : OS/2 Files
Archive   : ZOC130.ZIP
Filename : QUEDIAL

 
Output of file : QUEDIAL contained in archive : ZOC130.ZIP
#########################################################
#
# SCRIPT FOR FUNCTION MULTIDIAL AND CALLNEXT
#
# Thanks to Jay Sottolano for some improvements
#
#########################################################
#
# If you select more than one entry to dial from the
# phonebook, they are stored in the file DIALQUE
#
# This script is automatically executed to connect
# to the first of these numbers.
# CALLNEXT (from the Modem Menu) executes this script
# to connect to the next.
#
#########################################################

debug 0; maxscan 5

# Read file and look if there's something in
call readfile
compn %max% with 1
ifhigh goto mbegin

writeln "NOTHING MORE TO DO"
// shell "del DIALQUE"
exit


#####################################################
# MAIN LOOP
#
:mbegin
# begin with first

send "AT^M"
delay 1

setn q 0

:mloop0
cls
writeln "^[[1mQUEUE-DIAL (Abort with 'Stop Script' from toolbar)^[[m^M^J"
setn n 1
inc q

:mloop1

# Fetch data from record
seta name "%%box%n%%%"
seta boxdata "%name%"
seta box "%boxdata%" |BOX=; rtrim box
seta log "%boxdata%" |LOG=; rtrim log
seta emu "%boxdata%" |EMU=; rtrim emu
seta num "%boxdata%" |TEL=; rtrim num
seta baud "%boxdata%" |PARM=; rtrim baud
seta opts "%boxdata%" |OPTS=; rtrim baud
seta init "%boxdata%" |INIT=; rtrim baud
seta zone "%boxdata%" |ZONE=; rtrim zone


# Call and wait for 90 sek. max
delay
writeln "Calling %box% ... Attempt #: %q%"
exact 1

// wanna load options?
compa "%opts%" with ""
ifnequ loadopts "%opts%"

// wanna init modem?
compa "%init%" with ""
ifnequ send "%init%"
ifnequ delay 2

// want some emulation?
compa "%emu%" with ""
ifnequ setemu "%emu%"

// parameters given?
compa "%baud%" with ""
ifnequ baud "%baud%"
ifnequ send ^M;

// set distance zone?
compa "%zone%" with ""
ifnequ setunit "%zone%"

// so dial it ...
delay 1
dial "%num%^I%box%"
timeout 90;

:mloop2
waitline

# Timeout, nothing happened - go on
ifbrk hangup
ifbrk delay 2
ifbrk goto mgoon

exact 0

# Zyxels say 'RINGING' - ignore that
compa "%lastline%" with RINGING
ifequ goto mloop2

# CONNECT, so login
compa "%lastline%" with CONNECT
ifequ goto mlogin

compa "%lastline%" with CARRIER
ifequ goto mlogin

# For anything else, try again

:mgoon
# Call next (or first again)
inc n
compn %n% with %max%
ifnequ goto mloop1
goto mloop0

:mlogin
# We're in
# (delete records from list that are equal in the first six digits)
seta like "%box%" +1 6
call DelLike
call writefile

# OPERAAAATOR!
beep 3

# Did they want something to do for a start?
seta cmd "%boxdata%" |CMD=
%cmd%

# Process W1/S1-loop
exact 1
setn n 1

# Set name for logging
compa "%log%" with ""
ifnequ logname "%log%"

# Answer to all Wx= with Sx= (see phonebook)
:mlogloop
seta w "%boxdata%" |W%n%=
seta s "%boxdata%" |S%n%=
exact 1
compa "%w%" with ""
ifequ goto mfinish

rtrim w
rtrim s

wait "%w%"
ifbrk writeln "Error: Did not receive '%w%'!"
ifbrk goto mfinish

delay
send "%s%"

inc n
goto mlogloop

:mfinish
exit
#
# END OF MAIN LOOP
#####################################################
#
#
#
# SUBS
#
#
#
##################################
# READ FILE
##################################
:readfile
#
setn max 0
openfile "DIALQUE" r
compa "%lastline%" with "##ERROR##"
ifequ writeln "Error"
ifequ return

:rloop
inc max
getfile
seta box%max% "%lastline%"
compa "%lastline%" with "##EOF##"
ifnequ goto rloop

closefile
return
##################################


##################################
# WRITE FILE
##################################
:writefile
#
openfile "DIALQUE" w
setn n 1

:wloop
seta name %%box%n%%%
compa "%name%" with "##EOF##"
ifequ goto wend

seta tmp "%name%" +1 1
compa %tmp% with *
ifequ goto wgoon
putfile "%name%"
:wgoon
inc n; goto wloop

:wend
closefile
return
##################################


#####################################
# REPLACE ALL ENTRIES LIKE %LIKE%
# WITH "*"
#####################################
:DelLike
#
setn i 1

:dloop
seta dnam %%box%i%%%
seta dname "%dnam%" |BOX=

compa "%dname%" with "##EOF##"
ifequ goto dend

compa "%like%" with "%dname%"
ifnequ goto dgoon

seta box%i% *

:dgoon
inc i
goto dloop


:dend
kill i
kill dnam
kill dname
kill like
return

#####################################


  3 Responses to “Category : OS/2 Files
Archive   : ZOC130.ZIP
Filename : QUEDIAL

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/