Graphics 800,600 ; Auflösung 800 x 600
Type Fliesstext
Field derText$ ; der Text :o)
Field x ; Startposition des Textes
End Type
SetBuffer BackBuffer()
Btext$=Input("Gib hier deinen Text ein: ")
trennzeichen$=Input("Gib das/die Trennzeichen ein: ")
textlaenge=8*(Len(Btext$)+Len(trennzeichen$)) ; berechnet Textlaenge und erspart unnötige rechnerrei :o)
Naechster.FliessText = New Fliesstext
Naechster\derText$=trennzeichen$ + Btext$
Naechster\x=800
y=580 ; Starthoehe des Textes
While Not KeyHit(1) ; mit ESC das Programm beenden
Cls
Color 255,255,255
Rect 0,0,800,12,1
Color 0,0,0
Text 0,0,"Mit 'oben' und 'unten' den crawl verschieben."
If KeyDown(200) ; mit 'oben' und 'unten' den crawl verschieben
y=y-1
ElseIf KeyDown(208)
y=y+1
EndIf
Color 255,0,0 ; der rote Rand des crawls
Rect 0,y+14,800,6,1
Rect 0,y-8,800,6,1
Color 0,0,255 ; der blaue Hintergrund des crawls
Rect 0,y-2,800,16,1
Naechster.Fliesstext = Last Fliesstext
If (Naechster\x<800-textlaenge) ; der nächste Text kommt (dank des TYPE-Befehls eine endlosschleife)
Naechster.FliessText = New Fliesstext
Naechster\derText$=trennzeichen$ + Btext$
Naechster\x=800
EndIf
For Naechster.Fliesstext = Each Fliesstext
Naechster\x=Naechster\x-1 ; der Text "fliesst" von rechts nach links
Color 255,255,255
Text Naechster\x,y,Naechster\derText$ ; der Text :o)
Next
Flip ; "Flippt" den unsichtbaren BackBuffer zum sichtbaren FrontBuffer
Delay 1 ; Geschwindigkeit des Textes (je hoeher desto langsamer)
Wend