: I would like to integrate a scrolling marquee into my program. If any1 has any code i could use the help. thanks. : '=========================================================================== ' Subject: SIMPLE BANNER SCROLL Date: 09-05-95 (16:43) ' Author: The ABC Programmer Code: QB, QBasic, PDS ' Origin: Used within the ABC Reader Packet: TEXT.ABC '=========================================================================== ' Simple Banner Scroll by William Yu 09-05-1995 ' Scrolls a line of text from right to left
DEFINT A-Z DECLARE SUB Delay (Seconds!) DECLARE SUB BannerScroll (Text$, ForeColor, BackColor, BeginCol, EndCol, Row)
CLS
' Make sure you add a trailing space at the end of TEXT$
Text$ = "Hello, my name is William Yu, and I'm The ABC Programmer. " ForeColor = 15 BackColor = 0 BeginCol = 70 EndCol = 20 Row = 25
SUB BannerScroll (Text$, ForeColor, BackColor, BeginCol, EndCol, Row)
' Since this is a banner scroll, the starting point is always the highest ' If not then we exit the subroutine
IF EndCol >= BeginCol THEN EXIT SUB
DEF SEG = &HB800 ' You must have a Color Monitor to use POKE
Y = 0 FOR X = BeginCol TO EndCol STEP -1 Y = Y + 1 LOCATE Row, X: COLOR ForeColor, BackColor: PRINT LEFT$(Text$, Y); ' If you like, you can have multiple colors ' To do this you POKE the color attribute to anything you want ' Here's an example, you'll have to modify it to suit your banner method POKE 3977, 7 POKE 3979, 8 ' Another way is to use random colors or define colors in an array. Delay .1 NEXT X Y = 1 H = BeginCol - EndCol + 1 E = LEN(Text$) DO Y = Y + 1 LOCATE Row, EndCol: COLOR ForeColor, BackColor: PRINT MID$(Text$, Y, H); Delay .1 LOOP UNTIL Y = E
END SUB
DEFSNG A-Z SUB Delay (Seconds) Time = TIMER XDELAY = Time + Seconds WHILE NOT (TIMER > XDELAY) WEND IF INKEY$ <> "" THEN END END SUB
Comments
:
'===========================================================================
' Subject: SIMPLE BANNER SCROLL Date: 09-05-95 (16:43)
' Author: The ABC Programmer Code: QB, QBasic, PDS
' Origin: Used within the ABC Reader Packet: TEXT.ABC
'===========================================================================
' Simple Banner Scroll by William Yu 09-05-1995
' Scrolls a line of text from right to left
DEFINT A-Z
DECLARE SUB Delay (Seconds!)
DECLARE SUB BannerScroll (Text$, ForeColor, BackColor, BeginCol, EndCol, Row)
CLS
' Make sure you add a trailing space at the end of TEXT$
Text$ = "Hello, my name is William Yu, and I'm The ABC Programmer. "
ForeColor = 15
BackColor = 0
BeginCol = 70
EndCol = 20
Row = 25
BannerScroll Text$, ForeColor, BackColor, BeginCol, EndCol, Row
SUB BannerScroll (Text$, ForeColor, BackColor, BeginCol, EndCol, Row)
' Since this is a banner scroll, the starting point is always the highest
' If not then we exit the subroutine
IF EndCol >= BeginCol THEN EXIT SUB
DEF SEG = &HB800 ' You must have a Color Monitor to use POKE
Y = 0
FOR X = BeginCol TO EndCol STEP -1
Y = Y + 1
LOCATE Row, X: COLOR ForeColor, BackColor: PRINT LEFT$(Text$, Y);
' If you like, you can have multiple colors
' To do this you POKE the color attribute to anything you want
' Here's an example, you'll have to modify it to suit your banner method
POKE 3977, 7
POKE 3979, 8
' Another way is to use random colors or define colors in an array.
Delay .1
NEXT X
Y = 1
H = BeginCol - EndCol + 1
E = LEN(Text$)
DO
Y = Y + 1
LOCATE Row, EndCol: COLOR ForeColor, BackColor: PRINT MID$(Text$, Y, H);
Delay .1
LOOP UNTIL Y = E
END SUB
DEFSNG A-Z
SUB Delay (Seconds)
Time = TIMER
XDELAY = Time + Seconds
WHILE NOT (TIMER > XDELAY)
WEND
IF INKEY$ <> "" THEN END
END SUB