home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 17
/
CD_ASCQ_17_101194.iso
/
vrac
/
ensmgr14.zip
/
ENS_MGRZ.SCR
< prev
next >
Wrap
Text File
|
1994-07-24
|
28KB
|
1,027 lines
; Terry Gildea [70511,2530] FILE: ENS_MGRZ.SCR
;
; ONLINE Portion of ENS management scripts; requires ens_mgra.scr
; Copyright (c) 1994 Terry L Gildea Free redistribution authorized
;
;
; +++keyword-flag+++ " %v %d" Requires OzCIS ver 2.0c(1)
; Version " 1:4 24-Jul-94"
;
;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
; CONFIGURATION OPTIONS; SEE DOCUMENTATION FOR DETAILS
define #speedlimit %true
;define #speedlimit %false
define #shortcut %true
;define #shortcut %false
; The variable $path MUST be the same in BOTH scripts!
define $path ""
define $logfile "ens_mgrz.log"
;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
; THESE CONSTANTS MAY BE CHANGED BY COMPUSERVE IN THE FUTURE
define #BrkWire 18
define #MaxKey 7
define #MaxFldrs 3
;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
define #debug %false
;define #debug %true
define $DelName ""
define $NewName ""
define $ChgName ""
define $expire ""
define $retain ""
define $AddWire ""
define $DelWire ""
define $DelKey ""
define $key1 ""
define $key2 ""
define $key3 ""
define $key4 ""
define $key5 ""
define $key6 ""
define $key7 ""
define #phrase
define #folder
define #menu
define #submenu
define #wireMode
define #NbrFolders
define #NbrPhrases
define #ThisFolder
define #LoChgdKey
; ENS_MGRZ.SCR Page 1 of 17
define #HiChgdKey
define #lofldr
define #hifldr
define $filename
define $folder
define $name
define $key
define $error
define $select
define #parseMore
define #parseAgain
define $next
define $this
define $xmit
define #overtime
define $timelog "ens_scpt.log"
define $result "Normal script termination. "
timeout 60
onerror fatal_error
statline "Executing script ENS_MGRZ.SCR (c) 1994"
capture ON $logfile /o
cwrite "ens_mgrz.scr ON " %date " at " %time " " %hostbaud %cr
if #speedlimit = %false goto rateOK
if %hostbaud <= 2400 goto rateOK
set $result "Baud rate set above 2400. "
goto alldone
rateOK:
; check that there is some online work to do.
set $filename $path
concat $filename "newdata1.fix"
if fexist $filename goto logon
set $result "No data left by script ENS_MGRA.SCR "
goto alldone
logon:
set #NbrFolders 0
set #ThisFolder 0
set #lofldr 5
set #hifldr 7
set #submenu %false
set #folder #lofldr
; create a timelog for this script
set $error "File open"
set $filename $timelog
fappend &3 $filename
if ferror &3 goto file_error
fwrite &3 "ens_mgrz.scr ON " %date " at " %time " " %hostbaud %cr
fclose &3
set $error "File write/close"
if ferror &3 goto file_error
; Page 2 of 17 ENS_MGRZ.SCR
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; BEGIN SURCHARGED ACTIVITY
; now we're ready to start spending $
LSEND %slash "GO CIS:ENS"
; count number of personal folders
menu_loop:
add 1 "5 Review Folders"
add 3 "Review folder"
add 9 ^J "!"
MWAIT #2
if #2 = 1 gosub submenu
inc #folder
if #2 = 3 goto menu_loop
dec #folder 2
; now we're at main menu ! prompt; check at least one folder exists
main_menu:
set #hifldr #folder
if #hifldr < #lofldr goto finish
set #NbrFolders #hifldr
dec #NbrFolders #lofldr
inc #NbrFolders 1
cwrite %cr "Personal folders are menu items: " #lofldr "-" #hifldr
cwrite "Total number of Personal Folders is: " #NbrFolders %cr
end_main:
; Select menu item 4: Create/Change/Delete/List a Personal Folder (E)
if #debug = %true cwrite "Select menu item: 4 CREATE/CHANGE/DELETE/LIST"
LSEND 4
WAIT ^J "!"
; get new folder data from files left by ENS_MGRA.SCR
multi:
set #1 1
chain_loop:
set $filename $path
concat $filename "newdata" #1 ".fix"
set $folder $filename
if not fexist $filename goto end_loop
cwrite "Getting data from: " $filename
gosub readdata
gosub record_data
gosub process_it
cwrite "Deleting old file: " $folder
erase $folder
end_loop:
inc #1
if #1 <= #MaxFldrs goto chain_loop
goto finish
; ENS_MGRZ.SCR Page 3 of 17
; now we're finished online
finish:
cwrite %cr "Personal folders are menu items: " #lofldr "-" #hifldr
cwrite "Total number of Personal Folders is: " #NbrFolders
set $filename $timelog
fappend &3 $filename
fwrite &3 "ens_mgrz.scr OFF " %date " at " %time %cr
fclose &3
if ferror &3 goto file_error
alldone:
writeln $result
cwrite %cr $result %date " " %time
capture OFF
end
parse_error:
writeln "ERROR parsing: " $1 " at " $select " " #parseMore
cwrite "ERROR parsing: " $1 " at " $select " " #parseMore
goto fatal_error
file_error:
writeln "File ERROR: " $filename " " $error
cwrite "File ERROR: " $filename " " $error
goto fatal_error
; back out only to first ! prompt
fatal_error:
writeln
writeln "Aborting script after ERROR " #2
cwrite %cr "An ERROR occurred. " %date " " %time " " #2 %cr
capture OFF
back:
add 8 ":"
add 9 "!"
SEND %cr
MWAIT #2
if #2 != 9 goto back
fappend &3 $timelog
fwrite &3 "ens_mgrz.scr OFF " %date " at " %time " ERROR" %cr
fclose &3
fail
; - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Subroutine to open submenu and reinitialize variables
; Parameters: none
; Returns: LSEND 5, reset global variables listed below
;
submenu:
WAIT ^J "!"
set #submenu %true
set #lofldr 1
set #hifldr #MaxFldrs
set #folder 0
set #2 3
LSEND 5
return
; Page 4 of 17 ENS_MGRZ.SCR
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Subroutine to process data for one ENS personal folder
; Parameters: Folder data structure from newdata?.fix
;
process_it:
if #shortcut = %true goto skip_it
; this misses list of $DelName if both are present
set $name ""
if $DelName != "" set $name $DelName
if $ChgName != "" set $name $ChgName
if $name = "" goto skip_it
set #menu 4
gosub find_folder
if #ThisFolder = 0 goto not_found
LSEND #ThisFolder
WAIT "<CR> !"
gosub back_out
skip_it:
; Create/Change/Delete/List menu item 3: Delete a Personal Folder
if $DelName = "" goto end_delete
if #debug = %true cwrite "C/C/D/L menu item: 3 DELETE"
set $name $DelName
set #menu 3
gosub find_folder
if #ThisFolder != 0 goto del_it
gosub error_msg
cwrite "Folder " $name " not found. No deletion done."
writeln "Folder " $name " not found. No deletion done."
goto skip_delete
; #ThisFolder now corresponds to $DelName
del_it:
if #debug = %true cwrite "Delete folder named: " $name
LSEND #ThisFolder
delete_loop:
add 1 $name
add 2 "(Y or N) :"
MWAIT #2
if #2 = 1 goto delete_loop
LSEND "Y"
WAIT ^J "!"
; Update local disk record
set $3 $path
concat $3 $name ".KEY"
erase $3
dec #NbrFolders
dec #hifldr
skip_delete:
if #debug = %true cwrite "Send C/R at skip_delete: "
SEND %cr
WAIT ^J "!"
; Don't try to list a deleted folder; only equal if both null
if $ChgName = $NewName return ; to chain_loop
end_delete:
; ENS_MGRZ.SCR Page 5 of 17
if $NewName = "" goto change
set $name $NewName
gosub dupl_name
if #ThisFolder != 0 return ; to main control loop at chain_loop
; Create/Change/Delete/List menu item 1: Create a Personal Folder
create:
if $ChgName != "" goto change
if #NbrFolders = #MaxFldrs goto too_many
if #debug = %true cwrite "C/C/D/L menu item: 1 CREATE"
LSEND 1
WAIT "(10 char max) :"
set $this "(10 char max) :"
set $next "(MM/DD/YY) :"
set $xmit $name
gosub xmit
if #2 = 7 return ; to main control loop at chain_loop
set $this "(MM/DD/YY) :"
set $next "stories :"
set $xmit $expire
gosub xmit
set $this "stories :"
set $next "more wires !"
set $xmit $retain
gosub xmit
set $1 $AddWire
gosub group1
SEND %cr
WAIT "continue !"
if $1 != "" gosub group2
set #NbrPhrases #MaxKey
SEND %cr
WAIT "(Example:"
WAIT ":"
gosub new_phrases
if #debug = %true cwrite %cr "At end of create folder"
inc #hifldr
inc #NbrFolders
goto list_folder
; - - - - - - - - - - - - -
; subroutine to send data
;
xmit:
add 1 $next
add 7 $this
LSEND $xmit
MWAIT #2
if #2 = 1 return
gosub error_msg
add 8 ":"
add 9 "!"
SEND %cr
MWAIT #3
return
; Page 6 of 17 ENS_MGRZ.SCR
; Create/Change/Delete/List menu item 2: Change a Personal Folder
change:
if $ChgName = "" goto end_change
if #debug = %true cwrite "C/C/D/L menu item: 2 CHANGE"
set $name $ChgName
set #menu 2
gosub find_folder
if #ThisFolder = 0 goto not_found
; #ThisFolder now corresponds to $ChgName
if #debug = %true cwrite "Change folder named: " $name
LSEND #ThisFolder
WAIT ^J "!"
; Change folder menu item 1: Name
if $NewName = "" goto end_name
if #debug = %true cwrite "Change Folder item: 1 FOLDER NAME"
LSEND 1
WAIT "(10 chars) :"
set $this "(10 chars) :"
set $next "!"
set $xmit $NewName
gosub xmit
if #2 != 9 goto end_name
; Update local records with new folder name
set $3 $path
concat $3 $name ".KEY"
erase $3
set $name $NewName
set $ChgName $NewName
set $NewName ""
end_name:
; Change folder menu item 2: Expiration Date
if $expire = "" goto end_expire
if #debug = %true cwrite "Change Folder item: 2 EXPIRATION DATE"
LSEND 2
WAIT "(MM/DD/YY) :"
set $this "(MM/DD/YY) :"
set $next "!"
set $xmit $expire
gosub xmit
end_expire:
; Change folder menu item 3: Story Retention Days
if $retain = "" goto end_retain
if #debug = %true cwrite "Change Folder item: 3 RETENTION"
LSEND 3
WAIT "(days) :"
set $this "(days) :"
set $next "!"
set $xmit $retain
gosub xmit
end_retain:
; ENS_MGRZ.SCR Page 7 of 17
; Create/Change/Delete/List menu item 2: Change a Personal Folder
; Change folder menu item 4: News Wires to Scan
if $AddWire = $DelWire goto end_wires
if #debug = %true cwrite "Change Folder item: 4 NEWS WIRES"
LSEND 4
WAIT "more wires !"
set $5 $AddWire
set $6 $DelWire
set #wireMode 1
; First do 1-18 include & exclude; starting mode is include
include1:
if #debug = %true cwrite "Starting at label include1."
if $5 = "" goto exclude1
set $1 $AddWire
gosub parse
if #4 > #BrkWire goto exclude1
set $1 $AddWire
gosub group1
set $5 $1
exclude1:
if #debug = %true cwrite "Starting at label exclude1"
if $6 = "" goto nextGrp
set $1 $DelWire
gosub parse
if #4 > #BrkWire goto nextGrp
LSEND "exclude"
WAIT "more wires !"
set #wireMode -1
set $1 $DelWire
gosub group1
set $6 $1
; see if we have to do any wires in group 19-
nextGrp:
if $5 != "" goto nxtGrp
if $6 = "" goto skip_wires
nxtGrp:
if #debug = %true cwrite "Send C/R to reach group2"
SEND %cr
WAIT "continue !"
include2:
if #debug = %true cwrite "Starting at label include2."
if $5 = "" goto exclude2
if #wireMode = 1 goto incl
LSEND "include"
WAIT "continue !"
set #wireMode 1
incl:
set $1 $5
gosub group2
; Page 8 of 17 ENS_MGRZ.SCR
; Create/Change/Delete/List menu item 2: Change a Personal Folder
; Change folder menu item 4: News Wires to Scan
exclude2:
if $6 = "" goto skip_wires
if #wireMode = -1 goto excl
LSEND "exclude"
WAIT "continue !"
set #wireMode -1
excl:
set $1 $6
gosub group2
skip_wires:
add 7 "continue !"
add 7 "more wires !"
add 9 ^J "!"
if #debug = %true cwrite "Send C/R at label skip_wires."
SEND %cr
MWAIT #2
if #2 != 9 goto skip_wires
end_wires:
; Change folder menu item 5: Keyphrases (Add/Delete/Change/List)
if $DelKey != "" goto chg_key
if #HiChgdKey > 0 goto chg_key
goto end_phrase
chg_key:
if #debug = %true cwrite "Change Folder item: 5 KEYPHRASES"
LSEND 5
WAIT ^J "!"
; Keyphrase menu item 2: Delete Keyphrases
if $DelKey = "" goto edit_key
if #debug = %true cwrite "Keyphrase menu item: 2 DELETE"
set #menu 2
gosub count_phrases
set $1 $DelKey
del_loop:
gosub parse
if #4 <= #NbrPhrases goto do_del
gosub error_msg
cwrite "Phrase " #4 " doesn't exist. No deletion done."
writeln "Phrase " #4 " doesn't exist. No deletion done."
goto del_next
do_del:
add 2 "Illegal"
add 4 "List Key"
add 5 "Select Key"
LSEND $select
MWAIT #2
WAIT "!"
if #2 = 2 gosub error_msg
dec #NbrPhrases
del_next:
if #parseMore > 0 goto del_loop
if #NbrPhrases = 0 goto add_key
if #2 = 4 goto edit_key
if #debug = %true cwrite "Send C/R at end Delete Keyphrases"
SEND %cr
WAIT ^J "!"
; ENS_MGRZ.SCR Page 9 of 17
; Create/Change/Delete/List menu item 2: Change a Personal Folder
; Change folder menu item 5: Keyphrases (Add/Delete/Change/List)
; Keyphrase menu item 3: Change Keyphrases
edit_key:
if #LoChgdKey = 0 goto end_phrase
if #debug = %true cwrite "Keyphrase menu item: 3 CHANGE"
set #menu 3
gosub count_phrases
if #2 = 9 goto non_fatal
if #NbrPhrases = 0 goto add_key
if #LoChgdKey <= #NbrPhrases gosub new_phrases
if #debug = %true cwrite "Send C/R at end Change Keyphrases"
SEND %cr
WAIT ^J "!"
; Keyphrase menu item 1: Add Keyphrases
add_key:
if #HiChgdKey <= #NbrPhrases goto end_phrase
set #NbrPhrases #HiChgdKey
set $NewName $ChgName
set $ChgName ""
if #debug = %true cwrite "Keyphrase menu item: 1 ADD"
LSEND 1
WAIT "(Example:"
WAIT ":"
gosub new_phrases
end_phrase:
gosub back_out
end_change:
; Create/Change/Delete/List menu item 4: List Personal Folder
list_folder:
if #debug = %true cwrite "C/C/D/L menu item: 4 LIST"
set #menu 4
gosub find_folder
if #ThisFolder = 0 goto not_found
if #debug = %true cwrite "Select folder named: " $name
set $filename $path
concat $filename $name ".KEY"
cwrite "Moving capture to " $filename
capture ON $filename /o
cwrite "List of Folder " #ThisFolder " " %date " " %time
add 2 "Illegal response"
add 7 "Press <CR> !"
LSEND #ThisFolder
MWAIT #2
capture ON $logfile
cwrite "Return capture fm " $filename
if #2 < 6 WAIT ^J "!"
if #2 < 6 gosub error_msg
gosub back_out
return ; to main control loop at chain_loop:
; Page 10 of 17 ENS_MGRZ.SCR
too_many:
writeln "Can't create another folder; no more allowed."
cwrite %cr "ERROR: Can't create folder; only " #MaxFldrs " allowed."
gosub error_msg
return ; to main control loop at chain_loop:
not_found:
writeln "Named personal folder " $name " not found!"
cwrite %cr "Named personal folder " $name " not found!"
non_fatal:
gosub error_msg
gosub back_out
return ; to main control loop at chain_loop:
; - - - - - - - - - END OF SUBROUTINE PROCESS_IT - - - - - - -
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; subroutine to check for unused name by trying to change it
; param: $name - name being checked for duplicate
;
dupl_name:
set #menu 2
gosub find_folder
if #debug = %true cwrite "Send C/R after duplicate name check "
SEND %cr
WAIT ^J "!"
if #ThisFolder = 0 return
writeln "Duplicate folder: " $NewName " already exists!"
cwrite %cr "Duplicate folder: " $NewName " already exists!"
gosub error_msg
return
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; subroutine to find the named personal folder
; param: $name - name of folder sought
; #menu - response to ENS menu ? Select Folder
; Returns: #ThisFolder - folder number for $name; zero = error
;
find_folder:
set #ThisFolder -1
set $9 " "
concat $9 $name ^M
LSEND #menu
find_loop:
add 1 ^J " 1"
add 2 ^J " 2"
add 3 ^J " 3"
add 7 $9
add 9 ^J "!"
MWAIT #2
inc #ThisFolder
if #2 < 7 goto find_loop
if #2 = 7 WAIT ^J "!"
if #2 != 7 set #ThisFolder 0
if #debug = %true cwrite "Folder " $name " is number " #ThisFolder
return
; ENS_MGRZ.SCR Page 11 of 17
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Subroutine to extract numbers from sequence in string variable
; Parameters: $1 - string containing the remaining sequence
; Returns: $select - string representation of next digits
; #4 - integer representation of the number
; #parseMore - equals 0 when no more numbers remain
;
parse:
; locate delimiter char in sequence of numbers
onerror parse_error
pos #1 "," $1
set #parseMore #1
set $select $1
; if zero this is last number
if #1 = 0 goto last_one
if #debug = %true cwrite %cr "Remaining parse of: " $1
; extract number from the input sequence
dec #1
midstr $1 1 #1 $select
; delete current number from the string
inc #1
delstr $1 1 #1
; check for error, a non-digit string
last_one:
val #4 $select
if #debug = %true cwrite "Returning from parse with # " $select
onerror fatal_error
return
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Subroutine to back out to main menu 4 C/C/D/L
;
back_out:
add 1 "4 List a Per"
add 8 ":"
add 9 "!"
if #debug = %true cwrite "Sent C/R at back_out"
SEND %cr
MWAIT #2
if #2 > 1 goto back_out
WAIT ^J "!"
return
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Subroutine to record non-fatal error message
;
error_msg:
cwrite %cr "A non-fatal ERROR occurred with folder " $name %cr
set $result "A non-fatal ERROR occurred. Check this log. "
return
; Page 12 of 17 ENS_MGRZ.SCR
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Subroutines (2) to send wire service numbers to add/delete
; Parameters $1 - remaining string to parse
; #4 - integer value of parsed number
; #parseMore - zero means no more wires in $1
; $select - string representation of parsed number
; #BrkWire - boundary between wire service group menus
;
; cycle 1 wire services 1-18
group1:
gosub parse
if #4 > #BrkWire goto endGrp1
add 2 "Invalid"
add 7 "more wires !"
LSEND $select
MWAIT #2
if #2 = 2 goto errGrp1
if #parseMore != 0 goto group1
set $1 ""
endGrp1:
return
errGrp1:
WAIT "more wires !"
gosub error_msg
return
; cycle 2 wire services 19-
group2:
gosub parse
if #4 <= #BrkWire goto fatal_error
add 2 "Invalid"
add 7 "continue !"
LSEND $select
MWAIT #2
if #2 = 2 goto errGrp2
if #parseMore != 0 goto group2
return
errGrp2:
WAIT "continue !"
gosub error_msg
return
; - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; subroutine to select which key phrase to change
;
which_key:
if #debug = %true cwrite "#phrase selected: " #phrase
LSEND #phrase
WAIT "Keyphrase :"
return
; ENS_MGRZ.SCR Page 13 of 17
; - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Subroutine to specify new key phrases
; set each $key "" on first pass (chg) so can repass (add)
; Parameters: #NbrPhrases - sets boundary between chg and add
; $key1-$key7 - new/changed keyphrases
;
new_phrases:
key1:
set #phrase 1
if $key1 = "" goto key2
set $key $key1
set $key1 ""
if $ChgName != "" gosub which_key
gosub key_phrase
key2:
inc #phrase
if #phrase > #NbrPhrases goto keydone
if $key2 = "" goto key3
set $key $key2
set $key2 ""
if $ChgName != "" gosub which_key
gosub key_phrase
key3:
inc #phrase
if #phrase > #NbrPhrases goto keydone
if $key3 = "" goto key4
set $key $key3
set $key3 ""
if $ChgName != "" gosub which_key
gosub key_phrase
key4:
inc #phrase
if #phrase > #NbrPhrases goto keydone
if $key4 = "" goto key5
set $key $key4
set $key4 ""
if $ChgName != "" gosub which_key
gosub key_phrase
key5:
inc #phrase
if #phrase > #NbrPhrases goto keydone
if $key5 = "" goto key6
set $key $key5
set $key5 ""
if $ChgName != "" gosub which_key
gosub key_phrase
key6:
inc #phrase
if #phrase > #NbrPhrases goto keydone
if $key6 = "" goto key7
set $key $key6
set $key6 ""
if $ChgName != "" gosub which_key
gosub key_phrase
; Page 14 of 17 ENS_MGRZ.SCR
key7:
inc #phrase
if #phrase > #NbrPhrases goto keydone
if $key7 = "" goto keydone
set $key $key7
set $key7 ""
if $ChgName != "" gosub which_key
gosub key_phrase
keydone:
if #2 = 9 return
set $key ""
gosub key_phrase
return
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Subroutine to send a key phrase to CIS
; Parameters: $key, the phrase to be sent
;
key_phrase:
add 1 "? Illegal"
add 2 "? Unmatched"
add 3 "? Invalid"
set #overtime %false
timeout 20
LSEND $key
send_it:
add 8 ":"
add 9 "!"
DWAIT #2
if #2 != -1 goto on_time
; produce wait message and extend wait time for CIS delays
if #overtime = %true goto handle_error
set #overtime %true
timeout 240
writeln "Please be patient; CIS may take 3-4 min to process these."
cwrite "Please be patient; CIS may take 3-4 min to process these."
goto send_it
on_time:
timeout 60
if #2 > 4 return ; to new_phrases, $keyN
; recover from phrase syntax error and proceed to next phrase
WAIT ":"
gosub error_msg
if #debug = %true cwrite "Send C/R phrase error recovery"
SEND %cr
WAIT ^J "!"
if $ChgName != "" set #3 3 ; select change again
if $ChgName = "" set #3 1 ; select add again
add 8 ":"
add 9 "!"
LSEND #3
MWAIT #2
return ; to new_phrases, $keyN
; ENS_MGRZ.SCR Page 15 of 17
; - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Subroutine to count current number of key phrases
; Parameter: #menu - menu item number
; Returns: #NbrPhrases, #2>8 for Error
;
count_phrases:
set #NbrPhrases 0
LSEND #menu
count_loop:
add 1 "1"
add 2 "2"
add 3 "3"
add 4 "4"
add 5 "5"
add 6 "6"
add 7 "7"
add 8 "!"
add 9 "Illegal response"
add 10 "No Keyphrases"
MWAIT #2
if #2 < 8 set #NbrPhrases #2
if #2 < 8 goto count_loop
if #2 > 8 WAIT "!"
if #debug = %true cwrite "NbrPhrases has value: " #NbrPhrases
return
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Subroutine to record script input data read from disk
;
record_data:
cwrite %cr
if $DelName != "" cwrite "DEL: " $DelName
if $ChgName != "" cwrite "CHG: " $ChgName
if $NewName != "" cwrite "NEW: " $NewName
if $expire != "" cwrite "EXPIRE: " $expire
if $retain != "" cwrite "RETAIN: " $retain
if $DelWire != "" cwrite "DEL-WIRES: " $DelWire
if $AddWire != "" cwrite "ADD-WIRES: " $AddWire
if $DelKey != "" cwrite "DEL-KEYS: " $DelKey
if #LoChgdKey != 0 cwrite "NEW/CHG KEYS:"
if $key1 != "" cwrite "1. " $key1
if $key2 != "" cwrite "2. " $key2
if $key3 != "" cwrite "3. " $key3
if $key4 != "" cwrite "4. " $key4
if $key5 != "" cwrite "5. " $key5
if $key6 != "" cwrite "6. " $key6
if $key7 != "" cwrite "7. " $key7
cwrite %cr
return
; Page 16 of 17 ENS_MGRZ.SCR
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Subroutine to read a new set of data variables
;
readdata:
set $error " File OPEN"
fopen &1 $filename
if ferror &1 goto file_error
set $error " File READ"
freadln &1 $4
set $DelName $4
freadln &1 $4
set $ChgName $4
freadln &1 $4
set $NewName $4
freadln &1 $4
set $expire $4
freadln &1 $4
set $retain $4
freadln &1 $4
set $DelWire $4
freadln &1 $4
set $AddWire $4
freadln &1 $4
set $DelKey $4
freadln &1 $4
set #LoChgdKey $4
freadln &1 $4
set #HiChgdKey $4
freadln &1 $4
set $key1 $4
freadln &1 $4
set $key2 $4
freadln &1 $4
set $key3 $4
freadln &1 $4
set $key4 $4
freadln &1 $4
set $key5 $4
freadln &1 $4
set $key6 $4
freadln &1 $4
set $key7 $4
if ferror &1 goto file_error
set $error " File CLOSE"
fclose &1
if ferror &1 goto file_error
set $error ""
return
; END OF FILE: ENS_MGRZ.SCR
; ENS_MGRZ.SCR Page 17 of 17