LCD Menüs

Gast #6627
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
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
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 #6631
Erst mal vielen Dank für die Hilfe...

Die Struct Lösung hatte ich auch angedacht. Wird wohl darauf hinaus 
laufen.


Danke für eure Gedankne dazu.

Gruss Günter
Gast #6632
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
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

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.