home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / vrac / ensmgr14.zip / ENS_KEYS.SCR next >
Text File  |  1994-07-24  |  7KB  |  314 lines

  1. ;  Terry Gildea    [70511,2530]               FILE: ENS_KEYS.SCR
  2. ;  Writes local files with specifications for ENS personal folders.
  3. ;
  4. ;  Copyright (c) 1994 Terry L Gildea   Free redistribution authorized
  5. ;
  6. ; +++keyword-flag+++  " %v   %d"     Requires OzCIS ver 2.0c(1)
  7. ;  Version " 1:4   24-Jul-94"
  8.  
  9. ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
  10.     ; CONFIGURATION OPTIONS; SEE DOCUMENTATION FOR DETAILS
  11.  
  12. define #speedlimit %true
  13. ;define #speedlimit %false
  14.  
  15.     ; The variable $path MUST be the same in all ENS scripts!
  16. define $path     ""
  17. define $logfile  "ens_keys.log"
  18. ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
  19.  
  20. define #debug %false
  21. ;define #debug %true
  22.  
  23. define $specfile
  24. define $basename
  25. define #folder
  26. define #lofldr
  27. define #hifldr
  28. define #NbrFolders
  29. define #submenu
  30. define #menu
  31. define $fldr1
  32. define $fldr2
  33. define $fldr3
  34. define $flder9
  35. define $flder8
  36. define $flder7
  37. define $name
  38. define $timelog "ens_scpt.log"
  39.  
  40. timeout 60
  41. onerror handle_error
  42. capture ON $logfile /o
  43.  
  44. cwrite   "ens_keys.scr ON  " %date "   " %time "  " %hostbaud %cr
  45. statline "Executing ENS keys script ENS_KEYS.SCR"
  46.  
  47. if #speedlimit = %false goto rateOK
  48. if %hostbaud <= 2400 goto rateOK
  49.     writeln  "Baud rate set above 2400."
  50.     cwrite   "Baud rate set above 2400."
  51.     goto alldone
  52. rateOK:
  53.  
  54.   ; create a timelog for this script
  55. fappend   &3  $timelog
  56. fwrite    &3  "ens_keys.scr ON  " %date " at " %time "  " %hostbaud %cr
  57. fclose    &3
  58. if ferror &3  goto file_error
  59.  
  60. ;                            ENS_KEYS.SCR                 Page 1 of 5 
  61.  
  62.   ; now we're ready to start spending $
  63. LSEND %slash "GO CIS:ENS"
  64.  
  65.  
  66.   ; find personal folders; assume first folder is menu choice 5
  67. set #lofldr 5
  68. set #hifldr 7
  69. set #submenu %false
  70. set #folder #lofldr
  71. menu_loop:
  72.     add   1 "5 Review Folders"
  73.     add   3 "Review folder"
  74.     add   9 ^J "!"
  75.     mwait #2
  76.     if #2 = 1   gosub submenu
  77.     inc  #folder
  78. if #2 = 3  goto menu_loop
  79. dec  #folder 2
  80.  
  81.   ; now we're at main menu ! prompt; check at least one folder exists
  82. set #hifldr #folder
  83. if #hifldr < #lofldr goto nowork
  84. cwrite %cr "Personal folders are menu items: " #lofldr "-" #hifldr %cr
  85. set #NbrFolders #hifldr
  86. dec #NbrFolders #lofldr
  87. inc #NbrFolders
  88. cwrite "Total number of Personal Folders is: " #NbrFolders
  89.  
  90.       ; select menu item 4: Create/Change/Delete/List a Personal Folder
  91.     LSEND 4
  92.     WAIT "!"
  93.       ; select C/C/D/L menu item 2: Change a Personal Folder
  94.     LSEND 2
  95.     WAIT "!"
  96.       ; don't care which folder so pick folder 1 which always exists
  97.     LSEND 1
  98.     WAIT "!"
  99.  
  100.     set    $basename $path
  101.     concat $basename "NEWSWIRE.KEY"
  102.     cwrite "Moving capture to: " $basename
  103.     capture OFF  ; $logfile
  104.     capture ON     $basename  /o
  105.  
  106.       ; select change folder menu item 4: Wire Services
  107.     LSEND 4
  108.     WAIT "more wires !"
  109.     SEND %cr
  110.     WAIT "continue !"
  111.     capture OFF  ; $basename
  112.     capture ON     $logfile
  113.     cwrite "Return capture fm: " $basename
  114.     if #debug = %true cwrite "Send C/R exit more wires"
  115.     SEND %cr
  116.     WAIT "!"
  117.  
  118.  
  119.  
  120. ;Page 2 of 5                 ENS_KEYS.SCR  
  121.  
  122.       ; back up menu hierarchy from area to change to folder to change
  123.     if #debug = %true cwrite "Send C/R exit area to change"
  124.     SEND %cr
  125.     WAIT "!"
  126.  
  127.  
  128.  
  129.       ; back up one level in menu hierarchy to C/C/D/L
  130.     if #debug = %true cwrite "Send C/R exit folder to change"
  131.     SEND %cr
  132.     WAIT "!"
  133.  
  134.  
  135.  
  136.     set $fldr1  ""
  137.     set $fldr2  ""
  138.     set $fldr3  ""
  139.     set $flder7 ""
  140.     set $flder8 ""
  141.     set $flder9 ""
  142.  
  143.       ; select C/C/D/L menu item 4: List a Personal Folder
  144.     LSEND "4"
  145.     WAIT  ^J " 1"
  146.     name_loop:
  147.         add 8 ^M ^J
  148.         add 9  "!"
  149.         MWAIT #2
  150.         set $flder7 $flder8
  151.         set $flder8 $flder9
  152.         set $flder9 %lcomdata
  153.         if  $fldr1  = "" set $fldr3 $flder9
  154.         if  $fldr1  = "" set $fldr2 $flder8
  155.         if  $fldr1  = "" set $fldr1 $flder7
  156.     if #2 < 9 goto name_loop
  157.  
  158. if #debug = %false goto list_um
  159. cwrite %cr "Printing results stored in $fldrX"
  160. if $fldr1 != "" cwrite " 1. "  $fldr1
  161. if $fldr2 != "" cwrite " 2. "  $fldr2
  162. if $fldr3 != "" cwrite " 3. "  $fldr3
  163.  
  164.   ; look inside each personal folder
  165. list_um:
  166.     set  $name $fldr1
  167.     trim $name
  168.     if   $name != ""  gosub look
  169.     set  $name $fldr2
  170.     trim $name
  171.     if   $name != ""  gosub look
  172.     set  $name $fldr3
  173.     trim $name
  174.     if   $name != ""  gosub look
  175. goto finish
  176.  
  177.  
  178.  
  179.  
  180. ;                            ENS_KEYS.SCR                 Page 3 of 5 
  181.  
  182. nowork:
  183.     cwrite  "No personal folders were found."
  184.     writeln "No personal folders were found."
  185.     delay 20
  186.  
  187.  
  188.   ; now we've examined every personal folder
  189. finish:
  190.     fappend &3  $timelog
  191.     fwrite  &3  "ens_keys.scr OFF " %date " at " %time %cr
  192.     fclose  &3
  193. alldone:
  194.     cwrite "Normal script termination.  " %date "   " %time
  195.     capture OFF
  196. end
  197.  
  198.  
  199. file_error:
  200.     writeln  "File error on: " $timelog
  201.     cwrite   "File error on: " $timelog
  202.     goto handle_error
  203.  
  204. parse_error:
  205.     cwrite %cr "Parse Error " $name "  "  $5
  206.  
  207. handle_error:
  208.     cwrite "ERROR occurred.  " %date "  " %time
  209.     fappend &3  $timelog
  210.     fwrite  &3  "ens_keys.scr OFF " %date " at " %time " ERROR " %cr
  211.     fclose  &3
  212.     capture OFF
  213. fail
  214.  
  215.  
  216. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  217. ; Subroutine to create filename to hold folder's specs
  218. ; Parameters:  #NbrFolders - folder number to be listed  1-3
  219. ;              #folder     - folder number to be listed  5-7
  220. ;              $name       - name of folder
  221. ;
  222. look:
  223.     onerror parse_error
  224.     midstr $name 1 1  $5
  225.     val  #NbrFolders  $5
  226.     midstr $name 3 8  $basename
  227.     onerror handle_error
  228.  
  229.     if #debug = %true  cwrite "Moving capture to: " $basename
  230.     capture OFF  ; $logfile
  231.     gosub get_key
  232.     capture ON     $logfile
  233.     if #debug = %true  cwrite "Return capture fm: " $basename  %cr
  234.     dec #folder
  235. return
  236. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  237.  
  238.  
  239.  
  240. ;Page 4 of 5                 ENS_KEYS.SCR  
  241.  
  242. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  243. ; Subroutine to capture folder's specifications
  244. ; Parameters:  #NbrFolders - folder number to be listed  1-3
  245. ;              #folder     - folder number to be listed  5-7
  246. ;              $path       - directory in which to place filename
  247. ;              $basename   - filename to contain folder specs
  248. ;
  249. get_key:
  250.       ; select folder number
  251.     set    $specfile $path
  252.     concat $specfile $basename  ".KEY"
  253.  
  254.     capture ON    $specfile /o
  255.     cwrite "List of folder: " #folder "  " %date "  " %time
  256.  
  257.     LSEND #NbrFolders
  258.     WAIT "Press <CR> !"
  259.     capture OFF ; $specfile
  260.  
  261.       ; return to folder selection menu
  262.     SEND %cr
  263.     WAIT "!"
  264. return
  265.  
  266.  
  267. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  268. ; Subroutine to open submenu and reinitialize variables
  269. ; Parameters: none
  270. ; Returns:    lsend 5, reset global variables listed below
  271. ;
  272. submenu:
  273.     wait ^J "!"
  274.     set #submenu %true
  275.     set #lofldr 1
  276.     set #hifldr 3
  277.     set #folder 0
  278.     set #2 3
  279.  
  280.     LSEND 5
  281. return
  282. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298. ; END OF FILE
  299.  
  300. ;                            ENS_KEYS.SCR                 Page 5 of 5 
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.