Hi,
einfacher geht's wenn du den neuen wert mit dem alten vergleichst und erst dann auf's Display schreibst.
Dann noch die entsprechenden Stellen vorher löschen.
Also zB.
Locate 1,1
Lcd " "
Allerdings flackert es dann auch, wenn der Wert nicht lange genug stehen bleibt.
Einfacher geht das mit dem Format Befehl.
Dann steht bei einem Wert von "1" im Display "0001"Code:Dim Wert As Integer Dim Lcd_anzeige As String * 4 Wert = 1 Lcd_anzeige = Str(wert) Lcd_anzeige = Format(lcd_anzeige , "0000") Locate 1 , 1 Lcd Lcd_anzeige End
Geht aber auch mit Leerzeichen vornedran:
Oder mit einer If-Then Abfrage je nach Wert Leerzeichen davorsetzen:Code:Lcd_anzeige = Format(lcd_anzeige , " ")
Der Format Befehl gefällt mir aber am bestenCode:Lcd_anzeige = Str(wert) If Wert < 10 Then Lcd_anzeige = " " + Lcd_anzeige End If If Wert < 100 And Wert > 9 Then Lcd_anzeige = " " + Lcd_anzeige End If If Wert < 1000 And Wert > 99 Then Lcd_anzeige = " " + Lcd_anzeige End If Locate 1 , 1 Lcd Lcd_anzeige![]()
Hat man positive und negative Zahlen, dann kann man beim Format Befehl Format zB. ein "+0000" schreiben, dann wird das Vorzeichen davorgesetzt.
Allerdings ist "0" dann "+0000" und nicht "0000".
Der String muß dann in der Dimensionierung auch um eins größer sein, eben wegen dem Vorzeichen.
Gruß
Christopher







Zitieren

Lesezeichen