home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 2
/
FFMCD02.bin
/
new
/
amigalibdisks
/
disk950
/
bbdoors
/
bbdoors65.lha
/
rexxDoors
/
FilmFlubs.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1991-10-15
|
1KB
|
54 lines
/* $VER: 1.0 FilmFlubs.rexx 15 October 1991 (15.10.91)
copyright 1991 Richard Lee Stockton
FREELY DISTRIBUTABLE
*/
FF='0C'x /* FormFeed */
CR='0D'x /* Carraige Return */
SIGNAL ON BREAK_C
SIGNAL ON BREAK_E
ARG name .
bbspath=GETCLIP('BBS_path')
filename=bbspath'rexxDoors/Data/FilmFlubs.txt' /* Formfeed separated text */
size=WORD(STATEF(filename),2)
fragment=size/3000
x=OPEN(f,'RAM:DUMMY','W') /* write to a dummy file */
IF x=0 THEN EXIT(20);
CALL WRITELN(f,'dummy')
CALL CLOSE(f)
micros=WORD(STATEF('RAM:DUMMY'),7) /* 0 >= micros < 3000 */
location=fragment*micros
IF fragment>1000 THEN
location=location+fragment*RIGHT(TIME('S'),2)/100
ELSE IF fragment>100 THEN
location=location+fragment*RIGHT(TIME('S'),1)/10
location=TRUNC(location)
IF location>size THEN location=micros
x=OPEN(f,filename,'R')
IF x=0 THEN RETURN(10);
CALL SEEK(f,location,'B') /* point to the random place */
line=''
DO WHILE line~=FF & ~EOF(f) /* find the start (a formfeed) */
line=READLN(f)
END
count=0
line=''
IF ~EOF(f) THEN /* if EOF then must be right at end. missed! */
DO WHILE line~=FF & ~EOF(f) /* otherwise, show the page */
line=READLN(f)
IF ~EOF(f) & line~=FF THEN
DO
SAY line||CR
count=count+1
END
END
BREAK_C:
BREAK_E:
CALL CLOSE(f)
RETURN(count);
EXIT; /* a little redundant, so sue me! */