Das Ganze geht auch ohne gepiekse und gepokse (der Einfachheit halber habe ich den Text unverändert gelassen, auch wenn er jetzt keinen Sinn mehr ergiebt). Dazu habe ich den ganzen Text in ein Array (N$(N)) geladen; das Scrollen überlasse ich dem {DEL} Steuerzeichen = CHR$(20); da das Ganze zu schnell läuft, gibt es jetzt eine Bremse in Zeile 18:
10 print"{clr}";:s$=chr$(29)+chr$(20)
11 a$="":dim n$(999):n=0
13 readn$:ifn$=""then17
14 fori=1tolen(n$)
15 n$(n)=mid$(n$,i,1):n=n+1
16 next:goto13
17 j=0:k=0:kk=0
18 forx=0to55:nextx:rem slow down
19 print"{home}"left$(s$,kk)spc(k)n$(j):ifk=39thenkk=2
20 k=k-(k<39):j=j+1:ifj=>nthenj=0
21 goto18
22 :
23 data "fuer einen kurzen scroller koennte man natuerlich auch einfach "
24 data "mit mid$(...,n,40) arbeiten. falls der text laenger als 255 zeichen "
25 data "ist, koennte man z.b. die hier verwendete methode einsetzen: man "
26 data "kopiert den text aus datazeilen in einen geschuetzten bereich "
27 data "zwischen programm und variablen. weiterhin nimmt man eine vierzig "
28 data "zeichen lange zeichenkette und biegt deren pointer einfach auf den "
29 data "text des scrollers ab (und erschlaegt dabei zugleich das "
30 data "mid$(...,40)). zum schluss muss man nur noch die ersten 39 zeichen "
31 data "hintendran haengen (siehe zeile 17), damit die laufschrift auch "
32 data "sauber loopt, wie hier z.b. mit genau einem leerzeichen hinter dem "
33 data "punkt. ",""
Alles anzeigen