01-18-2026, 06:44 AM
Okay, now that I'm done crying over the 49ers MASSACRE, I had a chance to run the code. Not bad for something out not made in SCREEN 0. Actually, it is interesting to imagine using a screen image copy instead of creating additional code to determine and place text to the screen as it is being scrolled. I would think that concept would collapse for large documents, unless you kept updating the image in the background, which in itself would be as much or more code than just adding the text to the screen. To be honest, I've never tried horizontal scrolling with text.
Hmm...
Anyway, I'd suppose I'd do it something like that. For posterity, I threw in the PCOPY/SCREEN stuff. QB664 is fast enough it hardly makes a flicker's bit of difference theses days, but in the QuickBASIC Period, it was HUGE!
Question, what method did Rob use in the IDE? Oh, and if not arrays, I could see the same thing done in a single string with CHR$(13) + CHR$(10) added to indicate end of line.
Pete
Hmm...
Code: (Select All)
Width 120, 42
w = _Width
ReDim a$(145)
For i = 1 To 145
a$ = "LINE #" + Str$(i) + ". This is just a bunch of junk for testing purposes only. As you can see, if you want to read all the text from this line, you're going to have to scroll to see it all."
a$(i) = a$
Next
GoSub dsp
Do
_Limit 30
b$ = InKey$
Select Case b$
Case Chr$(0) + "K"
If hscr > 0 Then hscr = hscr - 1
Case Chr$(0) + "M"
hscr = hscr + 1
Case Chr$(27): System
End Select
If hscr <> oldhscr Then GoSub dsp
oldhscr = hscr
Loop
dsp:
Locate 1, 1
Screen 0, 0, 1, 0
For i = 1 To _Height
a$ = Space$(w)
Mid$(a$, 1) = Mid$(a$(i), hscr + 1, w + hscr)
Locate i, 1: Print a$;
Next
PCopy 1, 0
Screen 0, 0, 0, 0
Return
Anyway, I'd suppose I'd do it something like that. For posterity, I threw in the PCOPY/SCREEN stuff. QB664 is fast enough it hardly makes a flicker's bit of difference theses days, but in the QuickBASIC Period, it was HUGE!
Question, what method did Rob use in the IDE? Oh, and if not arrays, I could see the same thing done in a single string with CHR$(13) + CHR$(10) added to indicate end of line.
Pete

