home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Amiga / Workbench / Archivers / DzA_3.1.lha / dza / DzA next >
Text File  |  1998-03-12  |  7KB  |  279 lines

  1. /*
  2. **$VER: DzA 3.1 (01.03.1998) CopyRight (C) DzA⌐
  3. **
  4. **  $Date:01.03.1998$
  5. **  $:SoLoNGAmiGA:$
  6. */
  7. Options failat 21
  8. NL = '0a'x
  9. IF ~SHOW('LIBRARIES','rexxreqtools.library') THEN DO
  10. IF ~ADDLIB('rexxreqtools.library',10,-30,0) THEN DO
  11. SAY 'Cant Find <RexxReqtools.library> Please Install...=('
  12. EXIT(10)
  13. END
  14. END               
  15. if exists('c:dms') then call npcommand
  16. call nocommand
  17. npcommand: 
  18. if exists('c:lha') then call nppcommand
  19. call nocommand
  20. nppcommand:
  21. if exists('c:lzx') then call stcommand
  22. nocommand:
  23. call rtezrequest("Packer Is Missing in C...",, 
  24.                  "Hmm","DzA 3.1",'rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext')
  25. /* DCG⌐ Start */
  26. stcommand:
  27. call rtezrequest("Welcome to DzA...",, 
  28.                       "DzA","DzA 3.1",'rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext')
  29. acommand:
  30. call rtezrequest("Choose Option...",, 
  31.                       "_Pack|Un_Pack|_Quit","DzA 3.1",'rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext')
  32.  
  33. if rtresult == 0 then exit
  34. if rtresult == 1 then call arccommand 
  35. if rtresult == 2 then call extcommand
  36. /* Pack */
  37. arccommand:
  38. pac = apac
  39. call rtezrequest("Choose Method...",, 
  40.                       "_LhA|_LzX|_DmS|_Zip|_Cancel","DzA 3.1",'rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext')
  41.  
  42. if rtresult == 0 then call acommand
  43. if rtresult == 1 then arc = lha
  44. if rtresult == 2 then arc = lzx
  45. if rtresult == 3 then arc = dms 
  46. if rtresult == 4 then arc = zip 
  47. if arc == dms then call dmscommand
  48. pcommand:
  49. file = rtfilerequest('Ram:', , "Choose File(s) to Pack", ,,
  50.              "rt_reqpos=reqpos_centerscr rtfi_flags = freqf_patgad|freqf_selectdirs|
  51. freqf_selectdirs|freqf_multiselect rtfi_matchpat=#?|#?.info")
  52.  
  53. if file = '' then call errcommand
  54. ppcommand:
  55. pac = apak
  56. dir = rtfilerequest('Ram:', , "Path and Name for File", ,,
  57.             "rt_reqpos=reqpos_centerscr rtfi_flags = freqf_save")
  58.  
  59. if dir = '' then call errcommand
  60. ldir = left(dir,9)
  61. if ldir = 'Ram Disk:' then dir = delstr(dir,4,5)
  62. call arcommand
  63. /* UnPack */
  64. extcommand:
  65. pac = xpac
  66. file = rtfilerequest('Ram:', , "Choose File to UnPack", ,,
  67.              "rt_reqpos=reqpos_centerscr rtfi_flags = freqf_patgad rtfi_matchpat=#?.(lha|lzh|lzx|dms|zip)")
  68.  
  69. if file = '' then call errcommand
  70. ext = upper(right(file,3))
  71. if ext='DMS' then call udmcommand
  72. exxcommand:
  73. pac = xpak
  74. dir = rtfilerequest('Ram:', , "Path for File", ,,
  75.             "rt_reqpos=reqpos_centerscr rtfi_flags = freqf_save|freqf_nofiles")
  76.  
  77. if dir = '' then call errcommand
  78. ldir = left(dir,9)
  79. if ldir = 'Ram Disk:' then dir = delstr(dir,4,5)
  80. call xxtcommand
  81. /* DmS */
  82. dmscommand:
  83. pac = dpac
  84. dev = rtfilerequest('Ram:', , "Device to DmS", ,,
  85.               "rt_reqpos=reqpos_centerscr rtfi_volumerequest = 0")
  86.  
  87. if dev = '' then call errcommand
  88. if dev ='Ram:' then call errcommand
  89. dmmcommand:
  90. pac = dpak
  91. dir = rtfilerequest('Ram:', , "Path and Name for DmS", ,,
  92.             "rt_reqpos=reqpos_centerscr rtfi_flags = freqf_save")
  93.  
  94. if dir = '' then call errcommand
  95. ldir = left(dir,9)
  96. if ldir = 'Ram Disk:' then dir = delstr(dir,4,5)
  97. call admcommand
  98. udmcommand:
  99. pac = udpc
  100. dir = rtfilerequest('Ram:', , "Path for File", ,,
  101.             "rt_reqpos=reqpos_centerscr rtfi_flags = freqf_save|freqf_nofiles")
  102. if dir = '' then call errcommand
  103. if dir ='Ram:' then call errcommand
  104. /* Commands */
  105. /**/
  106. xxtcommand:
  107. ext = upper(right(file,3))
  108. select
  109. when ext='LHA' then call xlhcommand
  110. when ext='LZX' then call xlzcommand
  111. when ext='DMS' then call xdmcommand
  112. when ext='LZH' then call xlhcommand
  113. when ext='ZIP' then call zipcommand
  114. when ext='???' then call ???command
  115. when ext~='???' then call ???command
  116. otherwise
  117. end
  118. /**/
  119. arcommand:
  120. select
  121. when arc=lha then call alhcommand
  122. when arc=lzx then call alzcommand
  123. when arc=zip then call azpcommand
  124. otherwise
  125. end
  126. /**/
  127. alhcommand:
  128. rfile = left(file,9)
  129. if rfile='Ram Disk:' then call ralhcommand
  130. call time 'R'
  131. address command
  132. do i = 1 to rtresult.count
  133. say 'PacKinG' rtresult.i 'to' dir 
  134. 'lha -r -e a -q ' dir rtresult.i
  135. end
  136. call timecommand
  137. /**/
  138. alzcommand:
  139. rfile = left(file,9)
  140. if rfile='Ram Disk:' then call ralzcommand
  141. call time 'R'
  142. address command
  143. do i = 1 to rtresult.count
  144. say 'PacKinG' rtresult.i 'to' dir 
  145. 'lzx -r -e a -q ' dir rtresult.i
  146. end
  147. call timecommand
  148. /**/
  149. azpcommand:
  150. rfile = left(file,9)
  151. if rfile='Ram Disk:' then call razpcommand
  152. call time 'R'
  153. address command
  154. say 'PacKinG' file 'to' dir
  155. 'zip ' dir file
  156. call timecommand
  157. /**/
  158. ralhcommand:
  159. call time 'R'
  160. address command
  161. do i = 1 to rtresult.count
  162. rtresult.i = delstr(rtresult.i,4,5)
  163. say 'PacKinG' rtresult.i 'to' dir 
  164. 'lha -r -e a -q ' dir rtresult.i
  165. end
  166. call timecommand
  167. /**/
  168. ralzcommand:
  169. call time 'R'
  170. address command
  171. do i = 1 to rtresult.count
  172. rtresult.i = delstr(rtresult.i,4,5)
  173. say 'PacKinG' rtresult.i 'to' dir 
  174. 'lzx -r -e a -q ' dir rtresult.i
  175. end
  176. call timecommand
  177. /**/
  178. razpcommand:
  179. call time 'R'
  180. address command
  181. do i = 1 to rtresult.count
  182. rtresult.i = delstr(rtresult.i,4,5)
  183. say 'PacKinG' rtresult.i 'to' dir
  184. 'zip ' dir rtresult.i
  185. end
  186. call timecommand
  187. /**/
  188. xlhcommand:
  189. rfile = left(file,9)
  190. if rfile='Ram Disk:' then file = delstr(file,4,5)
  191. call time 'R'
  192. address command
  193. say 'UnPacKinG' file 'to' dir 
  194. 'lha x -q ' file dir
  195. call timecommand
  196. /**/ 
  197. xlzcommand:
  198. rfile = left(file,9)
  199. if rfile='Ram Disk:' then file = delstr(file,4,5)
  200. call time 'R'
  201. address command
  202. say 'UnPacKinG' file 'to' dir 
  203. 'lzx x -q ' file dir
  204. call timecommand
  205. /**/
  206. admcommand:
  207. call time 'R'
  208. address command
  209. 'dms read ' dir from dev
  210. call timecommand
  211. /**/
  212. xdmcommand:
  213. rfile = left(file,9)
  214. if rfile='Ram Disk:' then file = delstr(file,4,5)
  215. call time 'R'
  216. address command
  217. 'dms write ' file to dir 'nopause' 
  218. call timecommand  
  219. /**/
  220. zipcommand:
  221. rfile = left(file,9)
  222. if rfile='Ram Disk:' then file = delstr(file,4,5)
  223. call time 'R'
  224. address command
  225. say 'UnPacKinG' file 'to' dir 
  226. 'unzip -o -q ' file '-d' dir
  227. call timecommand
  228. /* ??? */
  229. ???command:
  230. call rtfreefilebuffer()
  231. call rtezrequest("Sorry Unknown FileType...",,
  232.       "_OK","DzA",'rt_reqpos=reqpos_centerscr')
  233. call acommand
  234. /* Error */
  235. errcommand:
  236. call rtfreefilebuffer()
  237. call rtezrequest("Hmm... Don't Think So...",,
  238.       "_Oops|_Cancel","DzA 3.1",'rt_reqpos=reqpos_centerscr')
  239.  
  240. if rtresult == 0 then call acommand
  241. select
  242. when pac=apac then call pcommand
  243. when pac=apak then call ppcommand
  244. when pac=xpac then call extcommand
  245. when pac=xpak then call exxcommand
  246. when pac=dpac then call dmscommand
  247. when pac=dpak then call dmmcommand
  248. when pac=udpc then call udmcommand
  249. otherwise
  250. end
  251. /* TIME */
  252. timecommand:
  253. call rtezrequest("Time Taken" time('E') "secs.",,
  254.       "_WoW","DzA 3.1",'rt_reqpos=reqpos_centerscr')
  255.  
  256. /* GoAgain */
  257. gocommand:
  258. call rtfreefilebuffer()
  259. call rtezrequest("Continue...",,
  260.       "_Sure|_NeW|_Quit","DzA 3.1",'rt_reqpos=reqpos_centerscr')
  261.  
  262. if rtresult == 0 then exit
  263. if rtresult == 1 then call gcommand 
  264. if rtresult == 2 then call acommand
  265. gcommand:
  266. select
  267. when ext='LHA' then call extcommand
  268. when ext='LZX' then call extcommand
  269. when ext='DMS' then call extcommand
  270. when ext='LZH' then call extcommand
  271. when ext='ZIP' then call extcommand
  272. when arc=lha   then call pcommand
  273. when arc=lzx   then call pcommand
  274. when arc=dms   then call dmscommand
  275. when arc=zip   then call pcommand
  276. otherwise
  277. end
  278. exit
  279.