home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / n / newsflash / !BBS / BBS / Scripts / FileSearch < prev    next >
Encoding:
Text File  |  1996-09-17  |  3.7 KB  |  159 lines

  1. {
  2. | File Search for NewsFlash
  3. | Alex Howarth (14 September 1996)
  4.  
  5. REPORT "File search"
  6. OPENFILEBASE
  7. STD
  8. NL NL
  9. }Current file area is : {
  10. BFG 6
  11. READFAREA FILEAREA
  12. PRINT FILEAREANAME} (#{PRINT FILEAREA}){NL NL
  13. BFG 7}[{BFG 2}G{BFG 7}]lobal search [{BFG 2}L{BFG 7}]ocal search : {
  14. GET option,"GL"
  15. IF option="L" THEN
  16.   BFG 1}Local search{
  17.   fa%=FILEAREA
  18. ENDIF
  19. IF option="G" THEN
  20.   BFG 1}Global search{
  21.   fa%=0
  22. ENDIF
  23. STD NL NL
  24. BFG 2}Filename {BFG 7}: searches for only {FG 7}filename {BFG 7}matches{NL
  25. BFG 2}Keyword  {BFG 7}: searches for matches in {FG 7}filename {BFG 1}and {BFG 7}description {BFG 7}fields{
  26. NL NL
  27. BFG 7}[{BFG 2}F{BFG 7}]ilename {BFG 7}[{BFG 2}K{BFG 7}]eyword : {
  28. GET option,"FK"
  29. IF option="F" THEN
  30.   BFG 1}Filename{NL NL
  31.   BFG 3}Enter filename : {BFG 7
  32.   INPUT searchstring
  33. ELSE
  34.   BFG 1}Keyword{NL NL
  35.   BFG 3}Enter keyword : {BFG 7
  36.   INPUT searchstring
  37. ENDIF
  38. NL
  39. totalsearched%=0
  40. searchcode%=0
  41. |STARTMORE
  42. NL
  43. BATTR 7,4}File#     Filename      Filesize  Short Description  {CLL
  44. NL STD CLL
  45. REPEAT
  46.   FILESEARCH fa%,searchcode%,50,searchstring,option="N" TO searched%,result%,searchcode%
  47.   totalsearched%=totalsearched%+searched%
  48.   BFG 7 TAB 0}Searched {BFG 1 PRINT totalsearched% BFG 7} files{CLL
  49.   IF result% THEN
  50.     READFILE result%
  51.     TAB 0 STD CLL
  52.     BFG 7
  53.     FORMATNUM result%,0,6 TO filenum
  54.     PRINT filenum
  55.     BFG 3 TAB 10
  56.     PRINT FILEBASENAME
  57.     BFG 7 TAB 24
  58.     PRINT FILEBASESIZE
  59.     TAB 34
  60.     IF SHORTD>=0 THEN
  61.       BFG 2
  62.       SHOWDESCRIPTION SHORTD
  63.       NL
  64.     ELSE
  65.       BFG 1
  66.       PRINT "No description available"
  67.       NL
  68.     ENDIF
  69.     | download/continue/queue
  70.     BFG 6}<RETURN>{BFG 7}/{BFG 6}N{BFG 7}ext {BFG 6}D{BFG 7}ownload {BFG 6}A{BFG 7}bort : {
  71.     GETr option,"NDA"
  72.     IF option="A" THEN
  73.       CLOSEFILEBASE
  74.       END
  75.     ENDIF
  76.     IF option="D" THEN
  77.       IF FILEAREAACCESS AND CANREAD THEN | probably not needed
  78.         BFG 2}Download{STD
  79.         REPORT "Downloading"
  80.         NL
  81.         BFG 2 PRINT"Z"
  82.         BFG 7 PRINT"modem / "
  83.         BFG 2 PRINT"Y"
  84.         BFG 7 PRINT"modem / "
  85.         BFG 2 PRINT"B"
  86.         BFG 7 PRINT"YmodemB / "
  87.         BFG 2 PRINT"X"
  88.         BFG 7 PRINT"modem / "
  89.         BFG 2 PRINT"1"
  90.         BFG 7 PRINT"Xmodem1K / "
  91.         BFG 2 PRINT"C"
  92.         BFG 7 PRINT"XmodemCRC / "
  93.         BFG 2 PRINT"Q"
  94.         BFG 7 PRINT"ueue / "
  95.         BFG 2 PRINT"A"
  96.         BFG 7 PRINT"bort"
  97.         GET protocol,"ZYBX1CQA"
  98.         IF protocol="Z" THEN
  99.           protocol="Zmodem"
  100.           xfer%=5
  101.         ENDIF
  102.         IF protocol="Y" THEN
  103.           protocol="Ymodem"
  104.           xfer%=3
  105.         ENDIF
  106.         IF protocol="B" THEN
  107.           protocol="YmodemB"
  108.           xfer%=4
  109.         ENDIF
  110.         IF protocol="X" THEN
  111.           protocol="Xmodem"
  112.           xfer%=0
  113.         ENDIF
  114.         IF protocol="1" THEN
  115.           protocol="Xmodem1K"
  116.           xfer%=2
  117.         ENDIF
  118.         IF protocol="C" THEN
  119.           protocol="XmodemCRC"
  120.           xfer%=1
  121.         ENDIF
  122.         IF protocol="A" THEN
  123.           protocol="Abort"
  124.           xfer%=99
  125.         ENDIF
  126.         IF protocol="Q" THEN
  127.           TAGFILE filenum%
  128.           TAB 0 STD CLL
  129.           BFG 3 PRINT FILEBASENAME STD BFG 2} added to queue{
  130.           xfer%=99 | to skip the download
  131.         ENDIF
  132.         IF xfer%<>99 THEN
  133.           NL
  134.           BFG 3 PRINT "1 file for download ("+FILEBASESIZE+" bytes)...."
  135.           NL
  136.           BFG 2
  137.           PRINT "Start your "+protocol+" download now" NL
  138.           BFG 7 NL
  139.           DOWNLOAD filenum%,xfer%
  140.           NL
  141.         ENDIF
  142.       ELSE
  143.         BFG 1
  144.         PRINT "Insufficient user level"
  145.         NL
  146.       ENDIF
  147.     ENDIF
  148.     | 'N' and 'RETURN' are left, lets just leave,..
  149.     BFG 2}Next{STD NL
  150.   ENDIF  
  151. UNTIL searchcode%=0
  152. |ENDMORE
  153. NL
  154. GOSUB anykey
  155. CLOSEFILEBASE
  156. |
  157. | To add: ability to download file on the spot
  158. |         easy to add
  159. }