home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / podstawy / dos / 4dos / 4uzytki / ez-btm11.exe / EDLIST.BTM < prev    next >
Text File  |  1994-04-30  |  4KB  |  154 lines

  1. :: EDLIST.BTM
  2. set source=%@search[%0]
  3. :: %@filename[%source] handles lists of filenames created with various
  4. :: applications / batch files (such as LED.BTM)
  5. :: Itamar Even-Zohar, March 27, 1994
  6. :: ----------
  7. ::  Displays, one by one, all filenames from a list in a specified
  8. ::  file, allowing you to
  9. ::   (a) select those you wish to leave on the list
  10. ::   (b) delete the displayed file from disk
  11. ::   (c) view the file before making a decision
  12. ::   (d) view the list of selections
  13. :: ----------
  14. :: SYNTAX:
  15. :: %0 filename
  16.  
  17. setlocal
  18. if .%1==. goto help
  19. set num=0
  20. call settemp
  21. :: (This is a batch which determines which drive will be assigned to
  22. ::  "temp".)
  23. set tmpf=%@unique[%temp]
  24. set rsp=%1
  25. cls
  26.  
  27. if %@eval[%@lines[%rsp]] lt 0 (echo %rsp is empty!^quit)
  28.  
  29. :edit
  30. iff %@eval[%num] gt %@lines[%rsp] goto application
  31. set fn=%@line[%rsp,%num]
  32. if .%fn==. (set num=%@eval[%num+1]^goto edit)
  33. scrput 0 0 black on white  Accept=A/enter Omit=O/Esc D=Delete V=View G=Begin archiving L=View list Q=Quit 
  34. echo.
  35.   iff %_row lt 2 then
  36.   screen 2 0
  37.   endiff
  38. echo ==`>` %fn
  39.   iff %_row ge %@eval[%_rows -1] then
  40.   cls
  41.   goto edit^endiff
  42. inkey /K"YNAODVGLQ[ESC][Enter]" A(ccept)? O(mit)? D(elete)? V(iew)? G(o)? (L)ist Q(uit)?  %%rep
  43. iff %rep == %@char[27] .or. %rep == O .or. %rep == N then
  44.      set num=%@eval[%num +1]
  45.      goto edit
  46.      :REM: see label ':note' below
  47. elseiff %rep == A .or. %rep == @28 .or. %rep == Y then
  48.      echo %fn >>%tmpf
  49.      set num=%@eval[%num +1]
  50.      goto edit
  51. elseiff %rep == D then
  52.      del /q %fn
  53.      echo ==`>` %fn deleted^echo.
  54.      set num=%@eval[%num +1]
  55.      goto edit
  56. elseiff %rep == V then
  57.      *list %fn
  58.      echo.^goto edit
  59. elseiff %rep == G then
  60.      set num=%@eval[%@lines[%rsp]+1]
  61.      goto application
  62. elseiff %rep == L then
  63.      *list %tmpf
  64.      echo.^goto edit
  65. elseiff %rep == Q then set ech=echo Stopped by user^goto end
  66. endiff
  67.  
  68. :application
  69. cls
  70. echo.
  71. inkey /K"CPQ[ESC][Enter]" Handle file via (C)omfile? (P)kzip, or (Q)uit?  %%rep
  72.   iff %rep == C then goto comfile
  73.   elseiff %rep == P then goto pkzip
  74.   elseiff %rep == Q then
  75.      set ech=echo %0 terminated by user; %rsp left intact
  76.      goto end
  77.   endiff
  78.  
  79. :comfile
  80. input Type desired comfile command: %%cmd
  81. call comf %rsp %cmd
  82. set ech=
  83. goto end
  84.  
  85. :pkzip
  86. echo.
  87. inkey (P)athnames? (N)ames only? (Q)uit? %%rep
  88.   iff %rep == P then
  89.       set pkz=pkzip -b%temp -P
  90.   elseiff %rep == N then
  91.       set pkz=pkzip -b%temp -u
  92.   elseiff %rep == Q then goto end
  93.   endiff
  94.  
  95. echo.
  96. echo Type name of ZIP file (or 'enter' for default name)
  97. input --`>` %%rep
  98. iff "%rep"=="" then
  99.    set zipfn=%zipfn
  100. else
  101.    set zipfn=%rep.zip
  102. endiff
  103.  
  104. :zip
  105. cls
  106.   iff not exist %zipfn then set msg1=Creating
  107.     else
  108.      set msg1=Updating
  109.   endiff
  110. scrput 1 0 bla on whi    %msg1 %@upper[%zipfn]   Wait ...
  111. screen 3 0
  112. %pkz %zipfn @%rsp
  113. gosub success
  114. goto end
  115.  
  116. :end
  117. move /q %tmpf %rsp
  118. if %@eval[%@lines[%rsp]] lt 0 (echo No filenames selected from %rsp!^quit)
  119. ::*list %rsp
  120. endlocal
  121. quit
  122. --------------------
  123.  
  124. :help
  125. cls^screen 2 0
  126. set num=2
  127.     do forever
  128.        set hl=%@instr[3,70,%@line[%source,%num]]
  129.        set num=%@eval[%num+1]
  130.      if "%hl"=="" leave
  131.          ::position  :: (the following segment is a sidetrack)
  132.          iff %@eval[%_row] ge 12 then
  133.            screen %@eval[%_row+1] 4 %hl
  134.          elseiff %@eval[%_row] ge 7 then
  135.            screen %@eval[%_row+1] 7 %hl
  136.          elseiff %@eval[%_row] lt 7 then
  137.           screen %@eval[%_row+1] 4 %hl
  138.          endiff
  139.          :: (end_position)
  140.     enddo
  141. endlocal
  142. echo.
  143. quit
  144. :: ----end procedure---------------------------------------
  145. :==================SUB-ROUTINES=======================
  146. :success
  147. rem     Checking results of archiving (with pkzip)
  148. iff errorlevel eq 12 then
  149. set ech=echo No archive created /updated
  150.  else
  151. set ech=echo Archive %@upper[%zipfn] succesfully created /updated
  152.  endiff
  153. return
  154.