Flo Geschrieben June 21, 2012 at 14:07 Geschrieben June 21, 2012 at 14:07 Hallo Leute! Ich habe mir als kleine Aufgabe, um mich in das System einzufinden, das Ziel gesetzt ein kleines Script zu schreiben, was auf dem LCD-Display(20x4) eine Laufschrift zaubert. Nun, ich habe es fast hin bekommen, nur habe ich das Problem, das in der 1. Zeile (nur in dieser!) immer das letzte Zeichen aus dem String "auf dem Feld bleibt", also sie sollen ja eigentlich hinter der Reihe "gelöscht" bzw. auf "leer" also " " gesetzt werden. Hier der Code: [size=8pt] def write_display_out(line, content): laenge = len(content) i = len(content) text = content n = 20 while 1: if n < 0: content = content[abs(n):len(content)] lcd.write_line(line,len(content)," ") n = 0 if len(content) <= 0: content = text n = 20 lcd.write_line(line,n,content) n -= 1 time.sleep(0.3) thread.start_new_thread(write_display_out, (0, "Test 1 lalalala!",)) thread.start_new_thread(write_display_out, (1, "Und noch eine Zeile!",)) thread.start_new_thread(write_display_out, (2, "Und noch eine Zeile!",)) thread.start_new_thread(write_display_out, (3, "Und die letzte Zeile!",)) [/size] Wisst Ihr woran das liegen kann bzw. wie ich das Problem lösen kann? Danke im Vorraus! Zitieren
photron Geschrieben June 21, 2012 at 14:30 Geschrieben June 21, 2012 at 14:30 Du füllst erst dann mit Leerzeichen auf, wenn n < 0, wenn also der Text links anfängt rauszuscrollen. Das geht wenn der Text 20 Zeichen oder länger ist. Dein Text für die erste Zeile ist kürzer als 20 Zeichen, alle anderen sind länger. Daher tritt das Problem nur bei der ersten Zeile auf. Zitieren
Flo Geschrieben June 21, 2012 at 14:40 Autor Geschrieben June 21, 2012 at 14:40 Oh man.. Ich hab alles nachgeschaut, aber darauf bin ich nicht gekommen.. Danke! Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.