' QUOTE.BAS 2/25/88 ' Lawrence Davis - Glendale Litera QBBS - 818/956-6164 (HST 9600) ' Compile: BASCOM =QUOTE/O/C/Z ' Link : L80 QUOTE,BDOS,CTAIL,QUOTE/N/E OPTION BASE 1 DEFINT A - Z QU = 200 ' Max number of lines in QUOTES file DIM Q$(200) ' 100 quotes maximum (quotes * 2) CLS$ = CHR$(26) ' Clear string = ^Z FALSE = 0 TRUE = NOT FALSE WHEEL = &H3E ' Wheel byte address QDRIVE$ = "A:" ' Drive of QUOTES file QUSER = 14 ' User area of QUOTES file COMFILE = TRUE ' TRUE to run CHAIN$ CHAIN$ = "QRUN" ' COMfile to run after QUOTE.COM CDRIVE$ = "A:" ' Drive of CHAIN$ program CUSER = 0 ' User area of CHAIN$ program IF PEEK(WHEEL) = 255 _ THEN SYSOP = TRUE CALL CTAIL (CMD$) IF (SYSOP AND CMD$ = "Q") THEN _ SYS = TRUE : GOTO 100 CMD = 32 : DAT = 241 : RES = 0 GOSUB 220 IF RES <> 77 _ THEN P = PEEK(&H82) : GOTO 40 CMD = 79 : DAT = 0 : RES = 0 CALL BDOSHL(CMD , DAT , RES) RTC = RES P = PEEK(RTC + 1) * PEEK(RTC + 2) 40 PRINT PRINT "Your quote for today:" PRINT GOSUB 100 RANDOMIZE P 50 A = INT(RND * 100) IF A < 1 OR A > QUOTES - 2 _ THEN 50 IF A MOD 2 = 0 _ THEN 50 'Make sure A is an odd number IF A = 0 THEN _ A = 1 PRINT Q$(A) PRINT Q$(A + 1) PRINT PRINT "Press RETURN to continue"; A$ = INPUT$(1) ' If SYSOP and SPACEBAR then bypass CHAIN$ IF ASC(A$) = 32 AND SYSOP _ THEN POKE 0 , &HC3 : END CMD = 32 : DAT = CUSER : RES = 0 GOSUB 220 IF COMFILE _ THEN RUN CDRIVE$ + CHAIN$ _ ELSE POKE 0, &HC3 : END 100 Q = 1 CMD = 32 : DAT = QUSER : RES = 0 GOSUB 220 OPEN "I" , 1 , QDRIVE$ + "QUOTES" WHILE (NOT EOF(1) AND Q < QU + 1) LINE INPUT #1 , Q$(Q) Q = Q + 1 WEND QUOTES = Q - 1 CLOSE IF NOT SYS THEN RETURN 110 L = 1 PRINT CLS$ ; "Quote Entry" PRINT LINE INPUT "Line 1: " , A$ IF A$ = "" AND ADD THEN _ 200 IF A$ = "" _ THEN END A1$ = A$ ' Line Two LINE INPUT "Line 2: " , A$ IF A$ = "" _ THEN A$ = "--" A2$ = A$ PRINT PRINT A1$ PRINT A2$ PRINT PRINT "RETURN to accept, SPACEBAR to redo "; A$ = INPUT$(1) IF ASC(A$) = 32 _ THEN 110 Q$(QUOTES + 1) = A1$ Q$(QUOTES + 2) = A2$ QUOTES = QUOTES + 2 IF QUOTES >= QU THEN PRINT "QUOTES file full." : GOTO 200 ADD = TRUE GOTO 110 200 PRINT : PRINT "Writing QUOTES file." OPEN "O" , 1 , QDRIVE$ + "QUOTES.NEW" FOR I = 1 TO QUOTES PRINT # 1 , Q$(I) NEXT CLOSE OPEN "O" , 1 , QDRIVE$ + "QUOTES.BAK" KILL QDRIVE$ + "QUOTES.BAK" NAME QDRIVE$ + "QUOTES" AS QDRIVE$ + "QUOTES.BAK" NAME QDRIVE$ + "QUOTES.NEW" AS QDRIVE$ + "QUOTES" PRINT CLS$ ; END 220 CALL BDOS (CMD , DAT , RES) RETURN