home *** CD-ROM | disk | FTP | other *** search
- ***********************************
- * Random File Display Program *
- * (c) 1992 Frontier Enterprises *
- * 11-22-92 *
- * By Justin Kuntz & Andy Trick *
- ***********************************
- *
-
- ***************************************************************************
- ** Main Program **
- ***************************************************************************
-
-
- SET BELL OFF
- SET ESCAPE ON
- SET EXCLUSIVE OFF
- ON ESCAPE QUIT
-
- PUBLIC Result, Count, Dta, Char, Mask, Root
- DECLARE Files[512]
-
- DO ExtractOptData
- DO Main
- QUIT
-
-
- ***************************************************************************
- ** Subroutines **
- ***************************************************************************
-
- *********
- PROCEDURE ExtractOptData
- *********
- private offset, key, backoff
- offset = at(chr(38)+chr(38), optdata())
- if offset = 0
- ? "RANDFILE: Opt data command line improperly configured."
- key = inkey(2)
- quit
- endif
- if substr(optdata(), offset + 2, 1) = " "
- offset = offset + 1
- endif
- Mask = substr(optdata(), offset + 2)
- backoff = rat("\", Mask)
- if backoff # 0
- Root = substr(Mask, 1, backoff)
- else
- Root = ""
- endif
- RETURN
-
- *********
- PROCEDURE Main
- *********
- Count = 1
- Files[Count] = FindFirst(Dta, Mask, "....X")
- DO WHILE LEN(Files[Count]) > 0
- Count = Count + 1
- Files[Count] = FindNext(Dta)
- ENDDO
- Count = Count - 1
- IF Count > 0
- DO Random WITH Count, Result
- DOTBBS TYPE 1 OPTDATA Root + Files[Result+1]
- ENDIF
- RETURN
-
- *********
- PROCEDURE Random
- *********
- PARAMETERS Range, Result
- PRIVATE Sec
- Sec = Seconds() - Int(Seconds())
- Result = Int(Range*Sec)
- RETURN
-