Jump to content

Recommended Posts

Posted

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! :)

Posted

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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...