home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / opus / v5 / disk_remove / diskremove.lha / DiskRemove.dopus5 next >
Text File  |  1997-08-20  |  2KB  |  68 lines

  1. /* $VER: DiskRemove.dopus5 2.0 (20 AUG 97)
  2. ** by Charles Patterson <midian@azstarnet.com>
  3. ** http://www.azstarnet.com/~midian/
  4. **
  5. ** Description: When disk is removed, searches the listers and closes
  6. **              the disk lister or sets it to RAM:
  7. **
  8. ** Requirements: DirectoryOpus v5.5 (© 1996 by Jonathan Potter)
  9. **
  10. ** Instructions: Copy script to DOpus5:ARexx/
  11. **               Set CLOSE to 1 if you want it to close the lister,
  12. **               otherwise it will read RAM: into the lister.
  13. **
  14. ** DOpus Settings:
  15. ** Setup Disk Removed script
  16. ** ----------------------------------------------------------------------
  17. ** [ARexx]      DOpus5:ARexx/DiskRemove.dopus5 {Qp} {Qa}
  18. ** ----------------------------------------------------------------------
  19. **
  20. */
  21. CLOSE=0
  22.  
  23. OPTIONS RESULTS
  24.  
  25. PARSE ARG DOpusPort disk
  26.  
  27. DOpusPort = STRIP(DOpusPort,'B','" ')
  28.  
  29. IF DOpusPort='' THEN DO
  30.     SAY "Not correctly called from Directory Opus 5!"
  31.     SAY "Load this ARexx script into an editor for more info."
  32.     EXIT
  33. END
  34.  
  35. IF ~SHOW('P',DOpusPort) THEN DO
  36.     ADDRESS COMMAND 'Requestchoice "Error" "'DOpusPort' is not a valid port" "OK"'
  37.     EXIT
  38. END
  39.  
  40. ADDRESS VALUE DOpusPort
  41. DOPUS FRONT
  42.  
  43. DOPUS VERSION
  44. IF ( result='RESULT' | TRANSLATE(result,'.',' ') < 5.1218 ) THEN DO
  45.     DOPUS REQUEST '"This script requires DOpus v5.5 or greater." OK'
  46.     EXIT
  47. END
  48.  
  49. LISTER QUERY ALL
  50. listers=RESULT
  51. k=0
  52. DO WHILE listers ~= ''
  53.     k=k+1
  54.     PARSE VAR listers lister.k listers
  55. END
  56.  
  57. DO n = 1 to k
  58.     LISTER QUERY lister.n PATH
  59.     drive=RESULT
  60.     IF drive=UPPER(disk) THEN DO
  61.         IF CLOSE THEN
  62.             'LISTER CLOSE' lister.n
  63.         ELSE
  64.             'LISTER READ' lister.n 'RAM:'
  65.     END
  66. END
  67.  
  68.