home *** CD-ROM | disk | FTP | other *** search
/ Merciful 3 / Merciful_Release_3.bin / software / f / fileshowv2.5.lha / fileshow / REXX / FileShow.dopus next >
Text File  |  1995-03-02  |  10KB  |  340 lines

  1. /* FileID_DIZ READER V 2.5 ® TGI-SOFT 1995 */
  2. FileShowVersion="$VER: FileShow 2.0 (02-03-95)"
  3. PORT=''
  4. signal on syntax
  5. options results
  6. options failat 21
  7. flag=Exists("Libs:rexxreqtools.library")
  8. if flag=0 then do
  9.     say "! ERROR ! Libs:RexxReqTools.Library not found."
  10.     Exit
  11. end
  12. addlib("rexxreqtools.library",0,-30)
  13. ScanDirFlag=""
  14. Zet=RAM
  15. Dos=DEST
  16. status 3 
  17. window=result
  18. status 9 window
  19. entries=result
  20. if entries=0 then do
  21.   beep
  22.   rtezrequest(Nothing selected !!!.)
  23.   exit
  24. end
  25. call Openfilelist
  26. RescanFlag=0
  27. do v=1 to aantal
  28.   SearchFile=SearchFile.v
  29.   File=SearchFile.v
  30.   Archtype=right(SearchFile.v,3)
  31.   call CheckAbortus
  32.   select
  33.     when Archtype="LHA" then Gadgets=Smalltitle||'|'||"COPY"||'|'||Archtype||'|'||"DEL"
  34.     when Archtype="LZX" then Gadgets=Smalltitle||'|'||"COPY"||'|'||Archtype||'|'||"DEL"
  35.     when Archtype="DMS" then Gadgets=SmallTitle||'|'||"COPY"||'|'||Archtype||'|'||"DEL"
  36.     when Archtype="LZH" then Gadgets=Smalltitle||'|'||"COPY"||'|'||Archtype||'|'||"DEL"
  37.     when Archtype="ZIP" then Gadgets=Smalltitle||'|'||"COPY"||'|'||Archtype||'|'||"DEL"
  38.     otherwise Gadgets="GO BACK"||'|'||"COPY"||'|'Archtype'|'||"DEL"
  39.   end
  40.   SelectedFile=TCTC||PathFile||File||TCTC
  41.   if exists('T:FILE_ID.DIZ')then address command 'delete T:FILE_ID.DIZ quiet'
  42.   if Showtext.v="No FILE_ID.DIZ" then
  43.   do
  44.     Showtext.v="No FILE_ID.DIZ"||newline||"For "File
  45.     SELECT
  46.       WHEN ArchType='DMS' THEN ADDRESS command 'dmsdescript > NIL: x T:FILE_ID.diz '||SelectedFile
  47.       WHEN ArchType='LHA' THEN ADDRESS command 'lha x > NIL: '||SelectedFile||' FILE_ID.DIZ T:'
  48.       WHEN ArchType='LZX' THEN ADDRESS command 'lzx x > NIL: '||SelectedFile||' FILE_ID.DIZ T:'
  49.       WHEN ArchType='LZH' THEN ADDRESS command 'lha x > NIL: '||SelectedFile||' FILE_ID.DIZ T:'
  50.       WHEN ArchType='TXT' THEN ADDRESS command 'TxtExtract e > NIL: T:FILE_ID.DIZ '||SelectedFile
  51.       WHEN ArchType='DOK' THEN ADDRESS command 'TxtExtract e > NIL: T:FILE_ID.DIZ '||SelectedFile
  52.       WHEN ArchType='DOC' THEN ADDRESS command 'TxtExtract e > NIL: T:FILE_ID.DIZ '||SelectedFile
  53.       WHEN ArchType='EXE' THEN ADDRESS command 'EXEDescript x > NIL: T:FILE_ID.DIZ '||SelectedFile
  54.       WHEN ArchType='ZIP' THEN
  55.         do
  56.           olddirectory=pragma('D','T:')
  57.           ADDRESS command 'Unzip > NIL: '||SelectedFile||'FILE_ID.DIZ '
  58.           pragma('D',olddirectory)
  59.         end
  60.       WHEN ArchType='GIF' THEN
  61.         do
  62.           olddirectory=pragma('D','T:')
  63.           ADDRESS command 'Gifdesc e > NIL: '||SelectedFile||'FILE_ID.DIZ '
  64.           pragma('D',olddirectory)
  65.         end
  66.       OtherWise break
  67.     END
  68.     if ~exists('T:FILE_ID.DIZ')then break
  69.     Showtext.v=""
  70.     call open('FileID','T:FILE_ID.diz','r')
  71.     do until eof('FileID')
  72.       Showtext.v=Showtext.v||newline||readln('FileID')
  73.     end
  74.     call close('FileID')
  75.   end
  76.   if v<10 then call writech FileShowWindow," "
  77.   call writech FileShowWindow,v||"->"||SearchFile.v
  78.   do t=length(SearchFile.v)to 12
  79.     call writech fileShowWindow,' '
  80.   end
  81.   call ChoiceWindow
  82.   address(port)
  83.   if Window=0&ScanDirFlag ~="" then scandir ScanDirFlag ' 0'
  84.   if Window=1&ScanDirFlag ~="" then scandir ScanDirFlag ' 1'
  85.   if RescanFlag=5 then 
  86.   do
  87.     rescan
  88.     RescanFlag=0
  89.   end
  90. end
  91. address(port)
  92. modify dirflags olddirflags
  93. exit
  94. end
  95.  
  96. ChoiceWindow:
  97. if Window=0 then actieresult=rtezrequest(Showtext.v,Gadgets,"",Tag3,actieresult)
  98. else actieresult=rtezrequest(Showtext.v,Gadgets,"",Tag4,actieresult)
  99. select
  100.   when actieresult=1 then call Nothing
  101.   when actieresult=2 then call Copying
  102.   when actieresult=3&Archtype="DMS" then call DMS
  103.   when actieresult=3&Archtype="LHA" then call LHA
  104.   when actieresult=3&Archtype="LZX" then call LZX
  105.   when actieresult=3&Archtype="LZH" then call LHA
  106.   when actieresult=3&Archtype="ZIP" then call ZIP
  107.   when actieresult=3 then call Other
  108.   when actieresult=0 then call Deleting
  109. end
  110. return
  111.  
  112. CheckAbortus:
  113. checkabort
  114. if result=1 then do
  115.   beep
  116.   breakresult=rtezrequest("Exit Program ??","YES|NO","",TagL,breakresult)
  117.   if breakresult=1 then do
  118.     exit
  119.   end
  120. end
  121. return
  122.  
  123. OpenFilelist:
  124. newline='a'x
  125. TCTC='"'
  126. if port='' then port=DOPUS.1
  127. Newshelltext="CON:220/240/450/61/FileShow V 2.0 ® TGI/SCREEN"||port
  128. Outputtext=" >"||TCTC||"CON:20/65/625/141/® TGI/SCREEN"||port||TCTC
  129. call open FileShowWindow,Newshelltext
  130. if ~result then
  131. do
  132.   say "Open failed .... !!!!"
  133.   exit
  134. end
  135. Tag0="rt_reqpos=reqpos_centerscr "
  136. TagL="rt_reqpos=reqpos_topleftscr rt_leftoffset=460 rt_topoffset=11 "
  137. TagR="rt_reqpos=reqpos_topleftscr rt_topoffset=11 "
  138. Tag2=Tag0||"rt_pubscrname="||port
  139. Tag3=TagL||"rt_pubscrname="||port
  140. Tag4=TagR||"rt_pubscrname="||port
  141. SmallTitle="NEXT"
  142. address(port)
  143.  
  144. status 9 window
  145. entries=result
  146. filename=""
  147. v=1
  148. do entries
  149.   getnextselected
  150.   SearchFile.v=result
  151.   selectfile SearchFile.v 0 1
  152.   v=v+1
  153. end
  154. v=v-1
  155. none
  156. 'status 13 -1'
  157. PathFile=result
  158. call CheckAbortus
  159. query dirflags
  160. olddirflags=result
  161. Aantal=v
  162. call writeln FileShowWindow,"Found> "||Aantal||" files in Dir ..."||PathFile||""
  163. do w=1 to aantal
  164.   SearchFile.w=Upper(SearchFile.w)
  165.   call SearchFilename
  166. end
  167. return
  168.  
  169. syntax:
  170. if rc<49 then ErrorText="Syntax Error" rc"," errortext(rc)"in line" sigl"."
  171. if rc ~=2 then rtezrequest(Errortext,,"",Tag0)
  172. say errortext
  173. exit
  174.  
  175. SearchFilename:
  176. Showtext.w="No FILE_ID.DIZ"
  177. if SearchFile.w=list.z then
  178. do
  179.   s=z+1
  180.   Showtext.w=newline
  181.   Showtext.w=Showtext.w||list.x||newline
  182. end
  183. return
  184.  
  185. Nothing:
  186. call writeln FileShowWindow," >read file...ready<"
  187. return
  188.  
  189. Deleting:
  190. deletetext="Are YOU sure YOU want delete"||newline||SelectedFile
  191. deleteGadgets="DELETE IT|NEXT"
  192. if Window=0 then delresult=rtezrequest(deletetext,deleteGadgets,"",Tag3,delresult)
  193. else delresult=rtezrequest(deletetext,deleteGadgets,"",Tag4,delresult)
  194. if delresult=1 then
  195. do
  196.   call writeln FileShowWindow," ->deleted "
  197.   address command
  198.   delete SelectedFile quiet
  199.   address(port)
  200.   modify dirflags olddirflags
  201.   rescan
  202.   RescanFlag=RescanFlag+1
  203. end
  204. else call writeln FileShowWindow," --Didn't delete "
  205. return
  206.  
  207. Copying:
  208. copytext="Where do YOU want copy to ?"||newline||SelectedFile
  209. copyGadgets="COPY "Zet"|COPY "Dos"|MOVE "Zet"|MOVE "Dos"|"Smalltitle
  210. if Window=0 then copresult=rtezrequest(copytext,copyGadgets,"",Tag3,copresult)
  211. else copresult=rtezrequest(copytext,copyGadgets,"",Tag4,copresult)
  212. if copresult=1 then
  213. do
  214.   call writeln FileShowWindow," ->Copying to "||Zet
  215.   address(port)
  216.   'copy' File Zet":"
  217. end
  218. if copresult=2 then do
  219.   call writeln FileShowWindow," ->Copying to "||Dos
  220.   address(port)
  221.   'copy' File Dos":"
  222. end
  223. if copresult=3 then
  224. do
  225.   call writeln FileShowWindow," ->Moving to "||Zet
  226.   address(port)
  227.   'move' File Zet":"
  228.   RescanFlag=RescanFlag+1
  229. end
  230. if copresult=4 then
  231. do
  232.   call writeln FileShowWindow," ->Moving to "||Dos
  233.   address(port)
  234.   'move' File Dos":"
  235.   RescanFlag=RescanFlag+1
  236. end
  237. if copresult=0 then call writeln FileShowWindow," --Didn't Copy or Move anything"
  238. return
  239.  
  240. DMS:
  241. dmstext="Where do YOU want DMS to ?"||newline||SelectedFile
  242. dmsGadgets="DMS DF0:|DMS RAD:|DMS DF1:|DMS DF2:|"Smalltitle
  243. if Window=0 then dmsresult=rtezrequest(dmstext,dmsGadgets,"",Tag3,dmsresult)
  244. else dmsresult=rtezrequest(dmstext,dmsGadgets,"",Tag4,dmsresult)
  245. if dmsresult=1 then do
  246.   call writeln FileShowWindow," ->DMS to DF0:"
  247.   address command
  248.   'dms write' SelectedFile "to DF0: NOTEXT NOVERIFY NOPAUSE"||Outputtext
  249. end
  250. if dmsresult=2 then do
  251.   call writeln FileShowWindow," ->DMS to RAD:"
  252.   address command
  253.   if showlist('H','RAD')
  254.   then call writeln FileShowWindow," RAD: already mounted"
  255.   else do
  256.     call writeln FileShowWindow," Mounting RAD:"
  257.     'mount RAD: from REXX:FileShowRAD'
  258.   end
  259.   'dms write' SelectedFile "to RAD: NOTEXT NOPAUSE"||Outputtext
  260.   ScanDirFlag="RAD:"
  261. end
  262. if dmsresult=3 then do
  263.   call writeln FileShowWindow," ->DMS to DF1:"
  264.   address command
  265.   'dms write' SelectedFile "to DF1: NOTEXT NOVERIFY NOPAUSE"||Outputtext
  266. end
  267. if dmsresult=4 then do
  268.   call writeln FileShowWindow," ->DMS to DF2:"
  269.   address command
  270.   'dms write' SelectedFile "to DF2: NOTEXT NOVERIFY NOPAUSE"||Outputtext
  271. end
  272. if dmsresult=0 then call writeln FileShowWindow," --Didn't Dms anything"
  273. if rc ~=0 then do
  274.   call writeln FileShowWindow," DMS ERROR  -> "||result
  275. end
  276. return
  277.  
  278. LHA:
  279. lhatext="Extract "ArchType" "||newline||SelectedFile
  280. lhaGadgets=ArchType" RAM|"Smalltitle
  281. if Window=0 then lharesult=rtezrequest(lhatext,lhaGadgets,"",Tag3,lharesult)
  282. else lharesult=rtezrequest(lhatext,lhaGadgets,"",Tag4,lharesult)
  283. if lharesult=1 then do
  284.   call writeln FileShowWindow," ->"ArchType||" to RAM:"
  285.   address command
  286.   'lha e ' SelectedFile "RAM:"||Outputtext
  287. end
  288. if lharesult=0 then call writeln FileShowWindow," --Didn't "ArchType" anything"
  289. return
  290.  
  291. LZX:
  292. lzxtext="Extract "ArchType" "||newline||SelectedFile
  293. lzxGadgets=ArchType" RAM|"Smalltitle
  294. if Window=0 then lzxresult=rtezrequest(lzxtext,lzxGadgets,"",Tag3,lharesult)
  295. else lzxresult=rtezrequest(lzxtext,lhaGadgets,"",Tag4,lzxresult)
  296. if lzxresult=1 then do
  297.   call writeln FileShowWindow," ->"ArchType||" to RAM:"
  298.   address command
  299.   'lzx -x x ' SelectedFile "RAM:"||Outputtext
  300. end
  301. if lzxresult=0 then call writeln FileShowWindow," --Didn't "ArchType" anything"
  302. return
  303.  
  304. ZIP:
  305. ziptext="Extract "ArchType" "||newline||SelectedFile
  306. zipGadgets=ArchType" RAM|"Smalltitle
  307. if Window=0 then zipresult=rtezrequest(ziptext,zipGadgets,"",Tag3,zipresult)
  308. else zipresult=rtezrequest(ziptext,zipGadgets,"",Tag4,zipresult)
  309. if zipresult=1 then do
  310.   call writeln FileShowWindow," ->"ArchType||" to RAM:"
  311.   address command
  312.   olddirectory=pragma('D','RAM:')
  313.   'unzip ' SelectedFile||' '||Outputtext
  314.   address
  315.   pragma('D',olddirectory)
  316.   ScanDirFlag="RAM:"
  317. end
  318. if zipresult=0 then call writeln FileShowWindow," --Didn't "ArchType" anything"
  319. return
  320.  
  321. Other:
  322. othertext="PLEASE SELECT:"||newline||SelectedFile
  323. otherGadgets="READ IT|EXECUTE|"BACK
  324. if Window=0 then othresult=rtezrequest(othertext,otherGadgets,"",Tag3,othresult)
  325. else othresult=rtezrequest(othertext,otherGadgets,"",Tag4,othresult)
  326. if othresult=1 then do
  327.   call writeln FileShowWindow," ->Read the file "
  328.   address(port)
  329.   'read' File
  330.   busy off
  331.   RescanFlag=RescanFlag+1
  332. end
  333. if othresult=2 then do
  334.   call writeln FileShowWindow," ->Executing the file "
  335.   address(port)
  336.   'execute' File
  337. end
  338. if othresult=0 then call writeln FileShowWindow," --Didn't know what to do with"
  339. return
  340.