home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 515.lha / BackTalk_v1.40 / rexx_examples / kill_script.bt < prev   
Text File  |  1991-06-08  |  2KB  |  88 lines

  1.  /* This will kill all ONSTRINGS */
  2.  
  3.  /* 
  4.    If your script uses ONSTRINGn/OFFSTRINGn it will probably be spending
  5.    much of it's time waiting for a message from BackTalk.  The following
  6.    script will send a message to "BT_msg" with the command "DIE".  If
  7.    your script looks for this message you can then do whatever cleanup
  8.    is necessary (ie., get out of your event loop and call RESET) and
  9.    terminate the script.
  10. */
  11.  
  12. address "BT_msg" DIE
  13.  
  14. MESSAGE "-----------------------"
  15. MESSAGE "|    SCRIPT KILLED    |"
  16. MESSAGE "-----------------------"
  17.  
  18.  
  19. ---------------------------------------------------------------------------
  20.  
  21.  /* 
  22.     here is an example script that specifically looks for the "DIE" message.
  23.  
  24.  */
  25.  
  26. ---------------------------------------------------------------------------
  27.  
  28.  
  29. /* DIE example */
  30.  
  31. options results
  32.  
  33. if ~show('l', "rexxsupport.library") then
  34.    addlib('rexxsupport.library',0,-30,0) 
  35.  
  36. keepgoing = TRUE;
  37.  
  38. myport = openport("BT_msg")
  39. if myport = 0 then do
  40.    MESSAGE " "
  41.    MESSAGE "-----------------------"
  42.    MESSAGE "| PORT ALREADY IN USE |"
  43.    MESSAGE "-----------------------"
  44.    exit
  45. end
  46.  
  47. ONSTRING3 "brb"
  48.  
  49. do while keepgoing = TRUE
  50.    packet = getpkt("BT_msg")
  51.  
  52.    do while packet = '00000000'x
  53.       call waitpkt("BT_msg")
  54.       packet = getpkt("BT_msg")
  55.    end
  56.  
  57.    arg0 = getarg(packet)
  58.    call reply(packet,0)
  59.    select
  60.       when arg0 = "DIE" then do
  61.          RESET
  62.          closeport("BT_msg")
  63.          exit
  64.       end
  65.  
  66.       when arg0 = 'MATCH3' then call dobrb
  67.  
  68.       otherwise nop
  69.    end
  70. end
  71.  
  72. dobrb:
  73.    GETLINE
  74.    str = result
  75.    good = pos('(', str)
  76.    if good = 1 then do
  77.       comma = pos(',', str)
  78.       endparen = pos(')', str);
  79.       comma = comma + 1
  80.       str = substr(str, comma, endparen - comma)
  81.       if str = "sja" then
  82.          return(0)
  83.       SENDNCR "See ya in a few, "
  84.       SEND str
  85.    end
  86.    return(0)
  87.  
  88.