Menu als struct

Gast #179187
Hallo,
ich versuche gerade ein kleines Menu für die Ausgabe auf ein Display zu
schreiben. Ich hatte die Idee das mit einem struct zu lösen, damit alles
schön übersichtlich bleibt. Ich will dabei so vorgehen:


struct setup_menu{
  char line0[]={"clock"};
  char line1[]={"com port"};
         .
         .
  char curser_pos;
  };



struct main_menu{
  struct setup_menu setup;
  char visible;
  char curser_pos;
  }menu;

Leider kann ich die Felder nicht mit dem Text versehen. Der Compiler
sagt immer:
menu.h:16: warning: no semicolon at end of struct or union
menu.h:16: error: parse error before '=' token
menu.h:19: error: parse error before '}' token
menu.h:24: error: field `setup' has incomplete type

Die Syntax ist richtig, wenn ich eine normale Variable so deklariere.
Warum kann ich das in einem struct nicht machen ??? bzw. wie kann man
sowas machen ???

Ich verwende den aktuellen winavr.

Danke schon mal für eine Antwort.

Mattias
Gast
Benutze nicht nur den obigen Link, sondern auch die Suche.
Hier im Forum waren zur Menüsteuerung schon prima Beiträge, unter
anderem zum Thema LCD und Menü.
Gast
Hallo an Alle,
habe mal eine ganz Grundsätzliche frage zu diesem Thema.
Bin im Moment auch dabei mir Gedanken über Menüaufbauten zu machen.
Bin aber in dieser Beziehung blutiger Anfänger.
Also mein Anliegen, gibt es denn einen lieben Mitmenschen in diesem
Forum der mir schieldern kann was der Sinn und Zweck des anlegen der
Struckturen ist und warum "ihr" immer von einem Problem mit dem Flash
redet.
Habe leider immer das Problem das oft immer gleich ganz tief in die
Materie gegangen wird aber leider keine Erklärung des Gesamten gemacht
wird. Also das Warum und wo liegt der Vorteil.

Wäre sehr net von euch wenn mir einer mal den Gesamtüberblick geben
könnte.

Danke im voraus und Gruß Volker
Gast
Mal generell.

Was gehen müsste (ungetestet)

// Deklaration der Struktur
//  oder auf gut Deutsch: so sieht das Ding aus
struct setup_menu{
  char *line0;
  char *line1;
         .
         .
  char curser_pos;
};

// definition einer Instanz der Struktur
//  oder auf gut Deutsch:
//   So heisst das Ding (das aussieht wie oben beschrieben)
//   und das Folgende soll schon mal drinstehen.
struct setup_menu structName =
{
  "clock",         /* line0 */
  "com port",      /* line1 */
         .
         .
  0  /* cursor_pos */
};
Gast
hallo ich habe auch mal so ein Menü Angefangen, sieh Codesammlung
LCD-Displaymenue! Funktioniert auch wirklich, man kann es mit 3 Tasten
(up, down und Enter) bedinen!!

mfg mathias
Gast
Erstmal Danke für die Antworten,
aber ich bin eigentlich mehr an dem Allgemeinem Prinzip interessiert.
Also ob es so funktioniert, daß man für jedes Menü eine eigene Struktur
an legt usw.
Ich weiss nicht so recht wie ich es erklärren soll.
Was mir helfen würde wäre so eine Art Schaubild, daß die Zusammenhänge
darstellt.
Hat da jemand für mich vieleicht einen Litaraturhinweis oder so.

Vielen Dank Volker
Gast
K&R C Buch das steht alles drin!! So habe ich es auch gelernt!

mfg mathias

und sonst mein Code anschauen und Nachmachen und probieren!!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.