LCD Menüs

Gast #6627
Lesenswert?

Hallo zusammen,

bin grade am Nachdenken, wie man am einfachsten eine relativ groß 
angelegte Menüstruktur in C programmiert.
Groß angelegt heisst, dass mehrfache Verzweigungen (Untermenüs) möglich 
sein sollen. Desweiteren sollen die Menüpunkte hoch und runter gescrollt 
werden können.
Also zum Beispiel ein Menü mit 8 Punkten auf einem Display mit 4 Zeilen.

Und das ganze soll natürlich so gut wie möglich programmiert sein. Hab 
mir auchs chon meine Gedanken dazu gemacht. Aber vielleicht hat ja 
jemand die perfekte Idee wie so was am besten ghet.

Gruss Günter
Gast #6628
Lesenswert?

ich hab mal ein kleines projekt gemacht mit ein paar menüpunkten. habe 
einfach das ganze über ein mehrdimensionales array gereglt. über den 
index des arrays konnte ich dann alles steuern.
Gast #6630
Lesenswert?

Ich hab mir dafür ein Struct angelegt, dann ein Array von diesen Struct 
Elementen. Jedes Element (jeder Menüeintrag) beinhaltet die Nummer des 
nächsten Menüeintrages, die Nummer des vorherigen Menüeintrages. So kann 
man schonmal schön das Menü darstellen. Deweiteren gibt es einen Eintrag 
mit der Nummer des zugehörigen Untermenüs (wenn kein Menüeintrag 
vorhanden, dann 0), und schliesslich die Nummer des übergeordneten 
Menüs. Das ganze sieht ungefähr so aus:

typedef struct{
  unsigned char number;
  const char *name;
  unsigned char next;
  unsigned char previous;
  unsigned char sub;
  unsigned char up;
}menustruktur;

Und initalisiert wie folgt:

menustruktur menu[] = {
    {0x01, "Variablen  ", 0x02, 0x04, 0x05, 0x00},
    {0x02, "Programme  ", 0x03, 0x01, 0x07, 0x00},
    {0x03, "Menue 3    ", 0x04, 0x02, 0x00, 0x00},
    {0x04, "Menue 4    ", 0x01, 0x03, 0x00, 0x00},
    {0x05, "Lesen      ", 0x06, 0x06, 0x00, 0x01},
    {0x06, "Schreiben  ", 0x05, 0x05, 0x00, 0x01},
    {0x07, "Aktivieren ", 0x08, 0x08, 0x00, 0x02},
    {0x08, "Aktivieren ", 0x07, 0x07, 0x00, 0x02},
};

Hoffe das hilft,

Gruss

Andre
Gast #6632
Lesenswert?

Hi,
Hat schon jemand so ein Menü prog fertig? Ich versuche mich auch gerade
an der programmierung eines Menü's komm aber irgendwie nicht weiter?
Hat jemand ein fertiges prog?

MFG Jörn
Gast #6633
Lesenswert?

Wie wäre es mit einem Baum ( Trie das teil heißt so ;-) ) Dann machst du
das ganze doppelt verketett damit du auch wieder zurück kommst ;-)

Sprich jedes Menü ist eine Ebene nach rechts sind die Menüpunkte und
nach unten die Folgemenüs.

Ist zwar viel mit Pointern dafür sehr flexiebel ;-)


cu
chege

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren