home *** CD-ROM | disk | FTP | other *** search
- {
- | File Search for NewsFlash
- | Alex Howarth (14 September 1996)
-
- REPORT "File search"
- OPENFILEBASE
- STD
- NL NL
- }Current file area is : {
- BFG 6
- READFAREA FILEAREA
- PRINT FILEAREANAME} (#{PRINT FILEAREA}){NL NL
- BFG 7}[{BFG 2}G{BFG 7}]lobal search [{BFG 2}L{BFG 7}]ocal search : {
- GET option,"GL"
- IF option="L" THEN
- BFG 1}Local search{
- fa%=FILEAREA
- ENDIF
- IF option="G" THEN
- BFG 1}Global search{
- fa%=0
- ENDIF
- STD NL NL
- BFG 2}Filename {BFG 7}: searches for only {FG 7}filename {BFG 7}matches{NL
- BFG 2}Keyword {BFG 7}: searches for matches in {FG 7}filename {BFG 1}and {BFG 7}description {BFG 7}fields{
- NL NL
- BFG 7}[{BFG 2}F{BFG 7}]ilename {BFG 7}[{BFG 2}K{BFG 7}]eyword : {
- GET option,"FK"
- IF option="F" THEN
- BFG 1}Filename{NL NL
- BFG 3}Enter filename : {BFG 7
- INPUT searchstring
- ELSE
- BFG 1}Keyword{NL NL
- BFG 3}Enter keyword : {BFG 7
- INPUT searchstring
- ENDIF
- NL
- totalsearched%=0
- searchcode%=0
- |STARTMORE
- NL
- BATTR 7,4}File# Filename Filesize Short Description {CLL
- NL STD CLL
- REPEAT
- FILESEARCH fa%,searchcode%,50,searchstring,option="N" TO searched%,result%,searchcode%
- totalsearched%=totalsearched%+searched%
- BFG 7 TAB 0}Searched {BFG 1 PRINT totalsearched% BFG 7} files{CLL
- IF result% THEN
- READFILE result%
- TAB 0 STD CLL
- BFG 7
- FORMATNUM result%,0,6 TO filenum
- PRINT filenum
- BFG 3 TAB 10
- PRINT FILEBASENAME
- BFG 7 TAB 24
- PRINT FILEBASESIZE
- TAB 34
- IF SHORTD>=0 THEN
- BFG 2
- SHOWDESCRIPTION SHORTD
- NL
- ELSE
- BFG 1
- PRINT "No description available"
- NL
- ENDIF
- | download/continue/queue
- BFG 6}<RETURN>{BFG 7}/{BFG 6}N{BFG 7}ext {BFG 6}D{BFG 7}ownload {BFG 6}A{BFG 7}bort : {
- GETr option,"NDA"
- IF option="A" THEN
- CLOSEFILEBASE
- END
- ENDIF
- IF option="D" THEN
- IF FILEAREAACCESS AND CANREAD THEN | probably not needed
- BFG 2}Download{STD
- REPORT "Downloading"
- NL
- BFG 2 PRINT"Z"
- BFG 7 PRINT"modem / "
- BFG 2 PRINT"Y"
- BFG 7 PRINT"modem / "
- BFG 2 PRINT"B"
- BFG 7 PRINT"YmodemB / "
- BFG 2 PRINT"X"
- BFG 7 PRINT"modem / "
- BFG 2 PRINT"1"
- BFG 7 PRINT"Xmodem1K / "
- BFG 2 PRINT"C"
- BFG 7 PRINT"XmodemCRC / "
- BFG 2 PRINT"Q"
- BFG 7 PRINT"ueue / "
- BFG 2 PRINT"A"
- BFG 7 PRINT"bort"
- GET protocol,"ZYBX1CQA"
- IF protocol="Z" THEN
- protocol="Zmodem"
- xfer%=5
- ENDIF
- IF protocol="Y" THEN
- protocol="Ymodem"
- xfer%=3
- ENDIF
- IF protocol="B" THEN
- protocol="YmodemB"
- xfer%=4
- ENDIF
- IF protocol="X" THEN
- protocol="Xmodem"
- xfer%=0
- ENDIF
- IF protocol="1" THEN
- protocol="Xmodem1K"
- xfer%=2
- ENDIF
- IF protocol="C" THEN
- protocol="XmodemCRC"
- xfer%=1
- ENDIF
- IF protocol="A" THEN
- protocol="Abort"
- xfer%=99
- ENDIF
- IF protocol="Q" THEN
- TAGFILE filenum%
- TAB 0 STD CLL
- BFG 3 PRINT FILEBASENAME STD BFG 2} added to queue{
- xfer%=99 | to skip the download
- ENDIF
- IF xfer%<>99 THEN
- NL
- BFG 3 PRINT "1 file for download ("+FILEBASESIZE+" bytes)...."
- NL
- BFG 2
- PRINT "Start your "+protocol+" download now" NL
- BFG 7 NL
- DOWNLOAD filenum%,xfer%
- NL
- ENDIF
- ELSE
- BFG 1
- PRINT "Insufficient user level"
- NL
- ENDIF
- ENDIF
- | 'N' and 'RETURN' are left, lets just leave,..
- BFG 2}Next{STD NL
- ENDIF
- UNTIL searchcode%=0
- |ENDMORE
- NL
- GOSUB anykey
- CLOSEFILEBASE
- |
- | To add: ability to download file on the spot
- | easy to add
- }