PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Scrollende Schrift wie realisieren?



Accenter
25.07.2010, 16:51
Wie kann ich es bewerkstelligen, dass ich mit Bascom einen viel zu langen String in nur einer Zeile anzeigen lassen kann? Wichtig ist hier, dass der zulange Text nie in Zeile 2 auftaucht. Sollte also auf eine Zeile und eine gewisse Anzahl sichtbarer Stellen beschränkt sein.

Am besten wäre es für mich wol das ganze als eine art Laufschrift zu haben. Also der String wird angezeigt und für den Fall, dass er zu lang ist, beginnt das ganze nach 1-2 Sekunden einfach nach links rauszuwandern. Das ganze als Endlosloop am besten.

Hat das jemand schonmal gemacht?

dremler
25.07.2010, 17:57
http://tinyurl.com/38kobuz

findet man unter anderem:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=167031
http://www.mikrocontroller.net/topic/7285

Accenter
25.07.2010, 18:03
Beide Beiträge kannte ich schon (ich google nämlich auch gerne). Das mit dem Shiften ist nicht das grosse Thema sondern wie ich es hinbekomme, dass mir Zeile 2 frei bleibt am Display bei zu langen Texten.

dremler
25.07.2010, 18:43
Was hast du denn fr ein Display?

ich hab so ein stinknormales 16*2 un da kann ich 150 zeichen haben, es erfolgt kein automatischer zeilensprung..


ist dies der fall einfach eine schleife die nach einander per mid() befehl immer die passende länge herraussucht und dann eins nachrückt

Vitis
25.07.2010, 23:31
ist doch recht einfach ...
einfach den string dimensionieren und per overlay n
bytearray drüber legen.
dann einfach mit nem pointer die anzuzeigende stringlänge
über das array hüpfen und die bytes als zeichen ans lcd senden.
zum durchscrollen einfach den startpunkt immer um eine
stelle weiter rechts setzen, hochzählen, den cursor vom lcd zurücksetzen und
das ganze von vorne.

Accenter
26.07.2010, 10:52
einfach den string dimensionieren und per overlay n
bytearray drüber legen.
dann einfach mit nem pointer die anzuzeigende stringlänge
über das array hüpfen und die bytes als zeichen ans lcd senden.


Fürchte das ist mir noch etwas zu hoch :-)




ist dies der fall einfach eine schleife die nach einander per mid() befehl immer die passende länge herraussucht und dann eins nachrückt


Das bekomm ich hin! Da hätte ich auch selber drauf kommen können, danke.