home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / n / newsflash / !BBS / BBS / Libraries / FileBase next >
Encoding:
Text File  |  1996-09-15  |  6.9 KB  |  285 lines

  1. {
  2. | Filebase libraries
  3. | We could use RUN and single scripts
  4. | this is just an example of how libraries can be used
  5. | Dont forget to INCLUDE them first
  6. |
  7. | Call SUB's via GOSUB <subname>
  8.  
  9.  
  10. SUB sfilelist
  11. | Short filelist for NewsFlash
  12. | Alex Howarth
  13.  
  14. REPORT "Short File List"
  15. STD BFG 2
  16. CLS
  17. OPENFILEBASE
  18. READFAREA FILEAREA
  19. IF FILEAREAACCESS AND CANVIEW tHEN
  20.   IF FILEAREAFILES THEN
  21.     BATTR 7,4}File#     Filename      Filesize  Short Description  {
  22.     CLL NL
  23.     STD BFG 7
  24.     STARTMORE
  25.     filenum%=firstfile
  26.     REPEAT
  27.       READFILE filenum%
  28.       BFG 7
  29.       FORMATNUM filenum%,0,6 TO filenum
  30.       PRINT filenum 
  31.       BFG 3
  32.       TAB 10 PRINT FILEBASENAME
  33.       BFG 7
  34.       TAB 24 PRINT FILEBASESIZE
  35.       TAB 34
  36.       IF SHORTD>=0 THEN
  37.         BFG 2
  38.         SHOWDESCRIPTION SHORTD
  39.       ELSE
  40.         BFG 1
  41.         PRINT "No description available"
  42.       ENDIF
  43.       NL
  44.       filenum%=nextfile
  45.     UNTIL filenum%=0
  46.   ELSE
  47.     BFG 7 NL}no files found..{NL
  48.   ENDIF
  49. ELSE
  50.   BFG 1 NL}You do not have access to this area{NL
  51. ENDIF
  52. ENDMORE
  53. GOSUB anykey
  54. CLOSEFILEBASE
  55. ENDSUB
  56.  
  57.  
  58. SUB lfilelist
  59. | Long file list for NewsFlash
  60. | Alex Howarth (14 September 1996)
  61.  
  62. REPORT "Long file list"
  63. OPENFILEBASE
  64. READFAREA FILEAREA
  65. IF FILEAREAACCESS AND CANVIEW THEN
  66.   STD CLS
  67.   BFG 2}Scanning area #{PRINT FILEAREA} ({PRINT FILEAREANAME}) ....{STD
  68.   NL
  69.   filenum%=FIRSTFILE
  70.   REPEAT
  71.     NL
  72.     READFILE filenum%
  73.     BFG 7
  74.     FORMATNUM filenum%,0,6 TO filenum
  75.     PRINT filenum
  76.     BFG 3
  77.     TAB 8 PRINT FILEBASENAME
  78.     BFG 7
  79.     TAB 22
  80.     PRINT FILEBASESIZE} bytes{
  81.     cps%=BAUDRATE/10| nasty maths
  82.     dlr%=(FILEBASESIZE/cps%)/60| make no claims for accuracy :)
  83.     BFG 7}approx {PRINT dlr%} mins {
  84.     IF FILEBASETIMES=1 THEN
  85.       suffix=""
  86.     ELSE
  87.       suffix="s"
  88.     ENDIF
  89.     }(downloaded {PRINT FILEBASETIMES} time{PRINT suffix}){
  90.     NL
  91.     }Uploaded by {
  92.     BFG 2
  93.     IF FILEBASEUSER=0 THEN
  94.       | SYSOPNAME *doesnt seem* to work
  95.       }Sysop (#1){
  96.     ELSE
  97.       READUSER FILEBASEUSER,0,USERN
  98.       PRINT USERN+" (#"+FILEBASEUSER+")"
  99.     ENDIF
  100.     BFG 7 PRINT " on "+FILEBASEDATE NL
  101.     BFG 7
  102.     PRINT "Short description: "
  103.     IF SHORTD>=0 THEN
  104.       BFG 3 SHOWDESCRIPTION SHORTD
  105.     ELSE
  106.       BFG 1
  107.       PRINT "No description available"
  108.     ENDIF
  109.     IF LONGD>=0 THEN
  110.       NL
  111.       BFG 7
  112.       PRINT "Long description:"
  113.       BFG 3
  114.       NL
  115.       SHOWDESCRIPTION LONGD
  116.     ENDIF
  117.     NL NL
  118.     BFG 6}<RETURN>{BFG 7}/{BFG 6}N{BFG 7}ext ({BFG 6}D{BFG 7})ownload ({
  119.     BFG 6}P{BFG 7})revious ({BFG 6}Q{BFG 7})ueue {
  120.     IF SYSOP OR USERNUMBER=FILEBASEUSER THEN
  121.       }({BFG 6}M{BFG 7})odify ({BFG 6}A{BFG 7})bort{
  122.       NL
  123.       }({BFG 6}S{BFG 7})tatus ({BFG 6}E{BFG 7})dit queue : {
  124.       GETd option,"NDPAQMSE"
  125.     ELSE
  126.       BFG 6}A{BFG 7}bort{
  127.       NL
  128.       }({BFG 6}S{BFG 7})tatus ({BFG 6}E{BFG 7})dit queue : {
  129.       GETd otion,"NDPAQSE"
  130.     ENDIF
  131.     IF option="A" PRINT "abort"| skip
  132.     IF option="N" THEN
  133.       BFG 2 PRINT "next"
  134.       filenum%=NEXTFILE
  135.     ENDIF
  136.     IF option="M" THEN
  137.       BFG 2 PRINT "modify"
  138.       NL BFG 7
  139.       BFG 1}D{BFG 7}delete file {BFG 1}L{BFG 7}ong description {
  140.       BFG 1}S{BFG 7}hort description {BFG 1}A{BFG 7}bort: {BFG 7
  141.       GET option,"DLSA"
  142.       IF option="D" THEN
  143.         BFG 2 PRINT "delete file"
  144.         BFG 1 NL
  145.         PRINT "Are you sure you want to delete file" BFG 5 
  146.         PRINT "#"+FILENUM%+" " BFG 7}[y/{BFG 1}N{BFG 7}]{
  147.         GETd option,"NY"
  148.         IF option="Y" THEN
  149.           BFG 1 PRINT " Yes"
  150.           DELETEFILE filenum%
  151.           NL
  152.           BFG 2 PRINT "File" BFG 5 PRINT " #"+filenum% BFG 2
  153.           PRINT " has been deleted"
  154.         ENDIF
  155.       ENDIF
  156.       IF option="S" THEN
  157.         BFG 2 PRINT "modify short desc."
  158.         DECLARE newsd,61
  159.         NL
  160.         BFG 3
  161.         }Short description:{
  162.         BATTR 3,1 INPUTc newsd,61 STD
  163.         SETSHORTDESCRIPTION filenum%,newsd
  164.         NL
  165.       ENDIF
  166.       IF option="L" THEN
  167.         BFG 2 PRINT "modify long desc."
  168.         NL NL BFG 1 PRINT "/A" BFG 7
  169.         PRINT " on a blank line will leave the description unchanged" NL
  170.         BFG 6 PRINT "Enter long description.." NL
  171.         WRITEMESSAGE 1,ok%
  172.         IF ok% THEN
  173.           SETLONGDESCRIPTION filenum%
  174.         ENDIF
  175.       ENDIF
  176.       IF option="Q" THEN
  177.         FLASH BFG 5 PRINT FILEBASENAME STD BFG 2} added to queue{
  178.         STD TAGFILE filenum%
  179.         filenum%=NEXTFILE
  180.       ENDIF
  181.       IF option="P" THEN
  182.         BFG 2 PRINT "previous"
  183.         filenum%=PREVFILE
  184.       ENDIF
  185.       IF option="E" THEN
  186.         | queue editor
  187.         | repeat loop and print of tags
  188.         | display, ask user remove/clear/download etc
  189.       ENDIF
  190.       IF option="S" THEN
  191.         BFG 2 PRINT "status"
  192.         NL NL BFG 5 PRINT "Your status : "
  193.         IF TAGGEDFILES<1 THEN
  194.           BFG 5}[ {BFG 1}Queued ({BFG 7}0{BFG 1}){BFG 5} ]{
  195.         ELSE
  196.           BFG 5}[ {BFG 1}Queued ({BFG 7 PRINT TAGGEDFILES BFG 1}){BFG 5} ]{
  197.         ENDIF
  198.         BFG 5} [{BFG 1} Time left {BFG 7 PRINT TIMELEFT/6000} mins{
  199.         BFG 5} [{BFG 1} Time online "{BFG 7 PRINT TIMEONLINE/6000} mins{
  200.       ENDIF
  201.       IF option="D" THEN
  202.         IF FILEAREAACCESS AND CANREAD THEN
  203.           BFG 2 PRINT "download"
  204.           REPORT "Downloading"
  205.           NL
  206.           BFG 2 PRINT"Z"
  207.           BFG 7 PRINT"modem / "
  208.           BFG 2 PRINT"Y"
  209.           BFG 7 PRINT"modem / "
  210.           BFG 2 PRINT"B"
  211.           BFG 7 PRINT"YmodemB / "
  212.           BFG 2 PRINT"X"
  213.           BFG 7 PRINT"modem / "
  214.           BFG 2 PRINT"1"
  215.           BFG 7 PRINT"Xmodem1K / "
  216.           BFG 2 PRINT"C"
  217.           BFG 7 PRINT"XmodemCRC / "
  218.           BFG 2 PRINT"Q"
  219.           BFG 7 PRINT"ueue / "
  220.           BFG 2 PRINT"A"
  221.           BFG 7 PRINT"bort"
  222.           GET protocol,"ZYBX1CQA"
  223.           IF protocol="Z" THEN
  224.             protocol="Zmodem"
  225.             xfer%=5
  226.           ENDIF
  227.           IF protocol="Y" THEN
  228.             protocol="Ymodem"
  229.             xfer%=3
  230.           ENDIF
  231.           IF protocol="B" THEN
  232.             protocol="YmodemB"
  233.             xfer%=4
  234.           ENDIF
  235.           IF protocol="X" THEN
  236.             protocol="Xmodem"
  237.             xfer%=0
  238.           ENDIF
  239.           IF protocol="1" THEN
  240.             protocol="Xmodem1K"
  241.             xfer%=2
  242.           ENDIF
  243.           IF protocol="C" THEN
  244.             protocol="XmodemCRC"
  245.             xfer%=1
  246.           ENDIF
  247.           IF protocol="A" THEN
  248.             protocol="Abort"
  249.             xfer%=99
  250.             END
  251.           ENDIF
  252.           IF protocol="Q" THEN
  253.             xfer%=50
  254.           ENDIF
  255.           IF xfer%<>99 THEN
  256.             NL
  257.             BFG 3 PRINT "1 file for download ("+FILEBASESIZE+" bytes)...."
  258.             NL
  259.             BFG 2
  260.             PRINT "Start your "+protocol+" download now" NL
  261.             BFG 7 NL
  262.             DOWNLOAD filenum%,xfer%
  263.             NL
  264.           ENDIF
  265.         ELSE
  266.           BFG 1 NL
  267.           PRINT "You do not have access to download from this area"
  268.           NL
  269.         ENDIF
  270.       ENDIF
  271.     ENDIF
  272.     NL
  273.   UNTIL filenum%=0
  274. ELSE
  275.   BFG 1
  276.   PRINT "You do not have access to this area"
  277.   NL
  278. ENDIF
  279. CLOSEFILEBASE
  280. NL
  281. GOSUB anykey
  282. ENDSUB
  283. }
  284.  
  285.