=========================================================================== BBS: The Abacus * HST/DS * Potterville MI Date: 05-17-93 (12:49) Number: 44 From: CORIDON HENSHAW Refer#: NONE To: ALL Recvd: NO Subj: (3) Assorted text scrolli Conf: (35) Quick Basi --------------------------------------------------------------------------- '>>> Start of page 3. CASE ELSE Chirp END SELECT LOOP UNTIL ExitFlag > -1 EXIT FUNCTION UpdateScroll: EVENT OFF StartBuffer = BaseLine FOR X = StartLine TO EndLine IF X <> BarLine THEN COLOR FG, BG ELSE COLOR BFG, BBG LOCATE X, StartCol PRINT TextBuffer(StartBuffer) + STRING$(SCRNWidth -_ LEN(TextBuffer(StartBuffer)), " "); StartBuffer = StartBuffer + 1 NEXT StartBuffer = 0 EVENT ON RETURN END FUNCTION SUB ScrollText (TextBuffer() AS STRING, StartLine, EndLine, Col, FG, BG) TotalLines = EndLine - StartLine + 1 BaseLine = 1 ExitFlag = -1 TopBound = UBOUND(TextBuffer) LowerBound = LBOUND(TextBuffer) GOSUB UpdateScreen DO DO Ikey$ = INKEY$ LOOP UNTIL Ikey$ <> "" SELECT CASE Ikey$ CASE CHR$(0) + "P"'Down BaseLine = BaseLine + 1 IF BaseLine > TopBound - TotalLines THEN BaseLine = TopBound - TotalLines Chirp ELSE GOSUB UpdateScreen END IF CASE CHR$(0) + "H" 'Up BaseLine = BaseLine - 1 IF BaseLine = 0 THEN BaseLine = 1 Chirp ELSE GOSUB UpdateScreen END IF CASE CHR$(0) + "G" 'Home IF BaseLine <> 1 THEN BaseLine = 1 GOSUB UpdateScreen ELSE Chirp END IF CASE CHR$(0) + "O" 'End IF BaseLine <> TopBound - TotalLines THEN BaseLine = TopBound - TotalLines GOSUB UpdateScreen ELSE Chirp END IF CASE CHR$(0) + "I" 'PGUP IF BaseLine - TotalLines >= 1 THEN BaseLine = BaseLine - TotalLines GOSUB UpdateScreen ELSE IF BaseLine <> 1 THEN BaseLine = 1 GOSUB UpdateScreen ELSE Chirp END IF END IF CASE CHR$(0) + "Q" 'PGDN IF BaseLine + TotalLines <= TopBound -_ TotalLines THEN '>>> See Next Page >>> --- GEcho 1.00 * Origin: TCS Concordia - Mail Only - Toronto, Ontario (1:250/820) SEEN-BY: 1/211 11/2 4 13/13 101/1 108/89 109/25 110/69 114/5 123/19 124/1 SEEN-BY: 153/752 154/40 77 157/2 159/100 125 430 575 950 203/23 209/209 SEEN-BY: 261/1023 280/1 390/1 396/1 15 397/2 2230/100 2440/5 3603/20