home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / RANDFILE.ZIP / RANDFILE.PRG < prev    next >
Encoding:
Text File  |  1993-01-10  |  2.0 KB  |  77 lines

  1. ***********************************
  2. * Random File Display Program     *
  3. * (c) 1992 Frontier Enterprises   *
  4. * 11-22-92                        *
  5. * By Justin Kuntz & Andy Trick    *
  6. *********************************** 
  7. *  
  8.  
  9. ***************************************************************************
  10. **  Main Program                                                         **
  11. ***************************************************************************
  12.  
  13.  
  14. SET BELL OFF
  15. SET ESCAPE ON
  16. SET EXCLUSIVE OFF
  17. ON ESCAPE QUIT
  18.  
  19. PUBLIC Result, Count, Dta, Char, Mask, Root
  20. DECLARE Files[512]
  21.  
  22. DO ExtractOptData
  23. DO Main
  24. QUIT
  25.  
  26.  
  27. ***************************************************************************
  28. **  Subroutines                                                          **
  29. ***************************************************************************
  30.  
  31. *********
  32. PROCEDURE ExtractOptData
  33. *********
  34.          private offset, key, backoff
  35.          offset = at(chr(38)+chr(38), optdata())
  36.          if offset = 0
  37.             ? "RANDFILE: Opt data command line improperly configured."
  38.             key = inkey(2)
  39.             quit
  40.          endif
  41.          if substr(optdata(), offset + 2, 1) = " "
  42.             offset = offset + 1
  43.          endif
  44.          Mask = substr(optdata(), offset + 2)
  45.          backoff = rat("\", Mask)
  46.          if backoff # 0
  47.             Root = substr(Mask, 1, backoff)
  48.          else
  49.             Root = ""
  50.          endif
  51. RETURN
  52.  
  53. *********
  54. PROCEDURE Main
  55. *********
  56.          Count = 1
  57.          Files[Count] = FindFirst(Dta, Mask, "....X")
  58.          DO WHILE LEN(Files[Count]) > 0
  59.             Count = Count + 1
  60.             Files[Count] = FindNext(Dta)
  61.          ENDDO
  62.          Count = Count - 1
  63.          IF Count > 0
  64.             DO Random WITH Count, Result
  65.             DOTBBS TYPE 1 OPTDATA Root + Files[Result+1]
  66.          ENDIF
  67. RETURN   
  68.  
  69. *********
  70. PROCEDURE Random
  71. *********
  72.          PARAMETERS Range, Result
  73.          PRIVATE Sec
  74.          Sec = Seconds() - Int(Seconds())
  75.          Result = Int(Range*Sec)
  76. RETURN
  77.