'===========================================================================
' Subject: TEXT SCROLL 3                      Date: 01-07-98 (19:26)       
'  Author: Nick Kochakian                     Code: QB, QBasic, PDS        
'  Origin: NickK@worldnet.att.net           Packet: TEXT.ABC
'===========================================================================
DECLARE SUB txt.scroll.3 (msg$, x!, y!, see!, delay!, way!)
'------------------------------------------------
'Text Scroll 3
'------------------------------------------------
'
'You can use it in screen modes: 0,7,8,9,12,13
'
'If you have any comments or questions please e-mail me at:
'nickk@worldnet.att.net
'
'Check out my web page: http://www.geocities.com/siliconvalley/heights/5914/

CLS

msg$ = "   Text Scroll 3 --- 10/20/97 By: - Nick Kochakian -  e-mail: nickk@worldnet.att.net   ---===---   "

CALL txt.scroll.3(msg$, 1, 1, 30, 9999, 2)

'SUB txt.scroll.3:
'msg$  -> Your message
'x     -> X location (max 23)
'y     -> Y location (max 80)
'see   -> How many characters of msg$ to display on the screen at once
'delay -> The dealy (9999 is for my P60)
'way   -> There are 3 ways to display the text

SUB txt.scroll.3 (msg$, x, y, see, delay, way)

IF way > 3 THEN way = 3
IF way < 1 THEN way = 1

msglen = LEN(msg$)

IF see < 3 THEN see = 3

i = 1

IF way = 1 THEN
DO
LOCATE x, y
COLOR 15
PRINT MID$(msg$ + msg$, i, see - 2)

LOCATE x, y + see - 2
COLOR 7
PRINT MID$(msg$ + msg$, i + see - 2, 1)

LOCATE x, y + see - 1
COLOR 8
PRINT MID$(msg$ + msg$, i + see - 1, 1)

i = i + 1

IF i > msglen THEN i = 1

FOR d = 1 TO delay
NEXT d

LOOP UNTIL INKEY$ <> ""

END IF

IF way = 2 THEN
DO
LOCATE x, y
COLOR 15
PRINT MID$(msg$ + msg$, i, see - 2)

LOCATE x, y
COLOR 8
PRINT MID$(msg$ + msg$, i, 1)

LOCATE x, y + 1
COLOR 7
PRINT MID$(msg$ + msg$, i + 1, 1)

LOCATE x, y + see - 2
COLOR 7
PRINT MID$(msg$ + msg$, i + see - 2, 1)

LOCATE x, y + see - 1
COLOR 8
PRINT MID$(msg$ + msg$, i + see - 1, 1)

i = i + 1

IF i > msglen THEN i = 1

FOR d = 1 TO delay
NEXT d

LOOP UNTIL INKEY$ <> ""

END IF

IF way = 3 THEN
DO
LOCATE x, y
COLOR 15
PRINT MID$(msg$ + msg$, i, see - 2)

LOCATE x, y
COLOR 8
PRINT MID$(msg$ + msg$, i, 1)

LOCATE x, y + 1
COLOR 7
PRINT MID$(msg$ + msg$, i + 1, 1)

i = i + 1

IF i > msglen THEN i = 1

FOR d = 1 TO delay
NEXT d

LOOP UNTIL INKEY$ <> ""

END IF
END SUB
