'===========================================================================
' Subject: MOVING TEXT ACROSS SCREEN          Date: 06-07-99 (11:40)       
'  Author: Dieter Folger                      Code: PB                     
'  Origin: folger@bamberg.baynet.de         Packet: TEXT.ABC
'===========================================================================
DEFINT A - Z
CLS
T$ = "Moving text across the screen similar as seen in XREAD"
y = 10 'Screenline to show the text

MoveText y, T$
'--------------------
SUB MoveText (y, T$)
'--------------------
 DIM c(1:8)      'define params
 c(1) = 8 : c(2) = 7
 c(3) = 15: c(4) = 15
 c(5) = 15: c(6) = 7
 c(7) = 8 : StartCol = 7
 EndCol = 8 :l = LEN(T$)
 IF l > 78 THEN T$ = LEFT$(T$,78) : l = 78 ' text length 78 max
 x = (80 - l) \ 2   ' center text 
 ox = x : p = 1
 Dirs = 0 'direction right
 DO
   IF l - p + 1 < 8 THEN EndCol = l - p + 1
   IF p = 0 THEN
      DECR Endcol : p = 1 : x = ox
      IF EndCol = StartCol - 1 THEN Dirs = 0 : StartCol = 7 : EndCol = 8
   END IF
   LOCATE y, x
   PRINT " ";
   FOR i = StartCol TO EndCol
       COLOR c(i)
       PRINT MID$(T$,p+i-StartCol,1);
   NEXT
   PRINT " ";
   IF StartCol > 1 THEN DECR StartCol
   IF Dirs = 0 THEN IF StartCol = 1 THEN INCR x : INCR p
   IF Dirs = 1 THEN DECR x : DECR p
   IF p = l THEN Dirs = 1 'change direction
   DELAY .05
 LOOP UNTIL INSTAT
END SUB
'=== eof ==================================================================
