Flo Posted June 21, 2012 at 02:07 PM Share Posted June 21, 2012 at 02:07 PM 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! Quote Link to comment Share on other sites More sharing options...
photron Posted June 21, 2012 at 02:30 PM Share Posted June 21, 2012 at 02:30 PM 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. Quote Link to comment Share on other sites More sharing options...
Flo Posted June 21, 2012 at 02:40 PM Author Share Posted June 21, 2012 at 02:40 PM Oh man.. Ich hab alles nachgeschaut, aber darauf bin ich nicht gekommen.. Danke! Quote Link to comment Share on other sites More sharing options...
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.