BBS: Inland Empire Archive Date: 03-07-93 (14:37) Number: 329 From: BOB PERKINS Refer#: NONE To: TODD TYLER Recvd: NO Subj: Re: Scrolling Conf: (2) Quik_Bas
TT> I'd like to know how to go about displaying information on TT> the screen that is more than one screenful, and be able to TT> scroll it up or down. I can't seem to figure out how this TT> is done, other than maybe the info is stored in some kind of buffer? Here's a simple way you could go about it. Should give you a starting point anyway. DIM text(1 TO 300) AS STRING * 80 '300 80-character lines of storage DECLARE SUB put2screen (start%, count%) OPEN "test.txt" FOR INPUT AS #1 count% = 0 CLS LOCATE 25, 1: COLOR 0, 7: PRINT SPACE$(80); LOCATE 25, 30: PRINT "Obligatory Status Bar"; COLOR 7, 1 'read entire file into array keeping track of the top record with count% DO WHILE NOT EOF(1) count% = count% + 1 LINE INPUT #1, text(count%) IF count% > 299 THEN 'array overflow protection.. BEEP: PRINT "Couldn't load the whole file..": SLEEP 2: EXIT DO END IF LOOP CLOSE #1 start% = 1 'set pointer to first line of file put2screen start%, count% 'start out by displaying first page of data esc$ = CHR$(27): null$ = CHR$(0) DO a$ = INKEY$ IF LEN(a$) THEN SELECT CASE a$ CASE null$ + "H" 'Up Arrow IF start% > 1 THEN start% = start% - 1 put2screen start%, count% END IF CASE null$ + "P" 'Down Arrow IF start% < count% THEN start% = start% + 1 put2screen start%, count% END IF CASE null$ + "Q" 'Page Down start% = start% + 24 IF start% > count% THEN start% = count% put2screen start%, count% CASE null$ + "I" 'Page Up start% = start% - 24 IF start% < 1 THEN start% = 1 put2screen start%, count% CASE esc$: EXIT DO END SELECT END IF LOOP END SUB put2screen (start%, count%) SHARED text() AS STRING * 80 'start is starting record number from 1 to count% t% = 1 CLS 2 FOR x% = start% TO start% + 23 'use full screen IF x% > count% THEN EXIT FOR LOCATE t%, 1: PRINT text(x%); t% = t% + 1 NEXT x% END SUB --- Msg V4.5 * Origin: Reciprocity Failure (1:124/4115.236)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET