PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Viele Zeilen am LCD 20*4, rauf und runter scrollen ?!



Roberto
03.02.2006, 01:00
Hallo

Möchte mir ein Menue machen, dass z.B. aus 20 Zeilen besteht.
Dazu habe ich eine LCD mit 4 Zeilen.

Ich möchte durch scrollen, immer nur 4 Zeilen von den 20 zeilen beim rauf und runterscrollen sehen.

Hat jemand vielleicht einen Ansatz wie man das machen könnte ?

Derzeit probiere ich gerade mit Locate x,1 u.s.w.
X wird verändert.
Wenn ich X ausser 1 oder ausser 4 ist, bekommt es eine 0
Loacte 0,1 ist aber nicht korrekt :-(

Könnte höchstens die Ausgabe dann überspringen... :-k
Wird aber irgendwie alles zu Aufgebläht :-(

Hat jemand einen Tip, wie man das machen könnte ??

l.G. Roberto :-)

Ratber
03.02.2006, 01:06
Das du die 4 Zeilen immerwieder neu schreiben mußt ist ja sicher klar.
(Mir ist jedenfalsl keine Möglichkeit bekannt auf dem Displ. Zeilen zu Verschieben)

Du hast 20 Zeilen (Dein Menü)
Mach doch Datazeilen draus und setz se als String.

1. Eintrag = 1. Zeile
2. Eintrag = 2. Zeile
usw.

Nun kannst du einfach den Anfang des sichtbaren Ausschnittes bestimmen (zb. Menü= 8) und die Unterroutine gibt dann die 4 Zeilen vom 8, Eintrag begindnet auf die 4 Zeilen des Displays aus.
Lookup ist dann wohl dein Freund

Roberto
03.02.2006, 08:18
Danke

Werde gleichmal probieren :-)

Rage_Empire
03.02.2006, 09:03
Mit dem "Locate" kann man hier einiges machen.... und dann so wie Ratber es beschrieben hat.

Roberto
03.02.2006, 10:04
Hallo

Funktioniert jetzt :-) :-)




Menue:

Cls

M1 = 0
M2 = 3

M3 = 0
For I = M1 To M2
Incr M3
Menue_zeile = Lookupstr(i , Menue_daten)
Locate M3 , 1
Lcd Menue_zeile
Next I
M3 = 0

Goto Menue

Menue_daten:
Data "Test1"
Data "Test2"
Data "Test3"
Data "Test4"
Data "Test5"
Data "Test6"
Data "Test7"
Data "Test8"
Data "Test9"
Data "Test10"
Data "Test11"
Data "Test12"
Data "Test13"
Data "Test14"
Data "Test15"
Data "Test16"
Data "Test17"
Data "Test18"
Data "Test19"
Data "Test20"


Das ist einmal die Grundstruktur .
Die Feinheiten mache ich gerade... Schaut aber schon sehr gut aus :-)
Danke nochmal :-)

Ratber
03.02.2006, 14:47
Yo,kein Problem

sieht doch schon gut aus.


Wenn du eh "nur 4" (Also Fest) Aufeinanderfolgende Menüeinträge anzeigst dann reicht auch M0 alleine aus.
Die Datas gehen von 0-19 und M0 darf demnach nur 0-16 Annehmen.

zb.
(Pseudocode)

For x = 1 to 4
Zeige in Zeile X Menüeintrag (M0+(x-1)
next
(oder als Do-Loop usw. wie belieben)

Die Ishcerheitsabfragen kommen natürlicxh noch dazu.


Nur mal so als Anregung