Hur bygger ni menyer i C?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
kimachren
Inlägg: 104
Blev medlem: 15 september 2010, 21:27:18
Ort: Vasa

Hur bygger ni menyer i C?

Inlägg av kimachren »

Jag har en display som jag vill visa en meny på. Jag har testat lite med en "array of struct" med meny-index, text mm. men det verkar krångligt om t.ex. har flera undernivåer. Hur gör ni?
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Hur bygger ni menyer i C?

Inlägg av blueint »

Bygg ett länkat träd. Ungefär som underbibliotek i ett filsystem.
Användarvisningsbild
Icecap
Inlägg: 26655
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Hur bygger ni menyer i C?

Inlägg av Icecap »

Det beror ju på vad som behövs. Om man antar att det är ett antal olika värden som ska kunde ställas får man kolla hur många det är. om det blir alldeles för många får man gruppera dom så att man kan välja vilken typ (undergrupp) man vill ställa och sedan välja vilket värde man vill ändra.

Men är det relativt få är en platt struktur ganska enkel att åstadkomma.

Man kan göra en tabell med texten som ska visas, en annan tabell som pekar på värden samt några tabeller med min- och max-värden samt stegning (om det behövs) och sedan är det bara att ha en rutin som kan visa rätt text och medge rätt sätt att ändra rätt värde. Ganska enkelt faktisk.

Men då din fråga är ganska ospecifik är det väl det närmsta jag kan komma det hela.
labmaster
Inlägg: 2919
Blev medlem: 5 april 2011, 01:10:25

Re: Hur bygger ni menyer i C?

Inlägg av labmaster »

Jag brukar använda en xml-struktur och till detta ett procedurlib som hanterar strukturen. Det enkel att lägga till nya noder och koppla programkod till en sådan. XML-strukturen lägger jag i en strängkonstant om det inte finns ett operativsystem som innehåller filsystem.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Hur bygger ni menyer i C?

Inlägg av blueint »

RAM, sekundärminne, processorkapacitet, displaystorlejk och typ, besvarar en del nödvändlig bakgrundsinformation.
kimachren
Inlägg: 104
Blev medlem: 15 september 2010, 21:27:18
Ort: Vasa

Re: Hur bygger ni menyer i C?

Inlägg av kimachren »

Frågan var i största allmänhet, men jag håller på med avr.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46998
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur bygger ni menyer i C?

Inlägg av TomasL »

Vi har gjort en meny-generator, som troligen snart kommer att släppas (fortfarande en del buggar).
Ett grafiskt gränssnitt, och den genererar sedan all erforderlig kod (C-kod).
Mer info kommer.
Användarvisningsbild
PaNiC
Inlägg: 2610
Blev medlem: 15 augusti 2003, 22:16:15
Ort: Skånelandet

Re: Hur bygger ni menyer i C?

Inlägg av PaNiC »

TomasL, det låter strålande. Jag är precis i färd med att skulla ordna till menysystem i ett projekt. Vill inte gärna återanvända det jag skrev en gång. Det är krångligt.
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1354
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Re: Hur bygger ni menyer i C?

Inlägg av baron3d »

TomasL: Vi har gjort en meny-generator...
En liten aptitretare
Namnlös.gif
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46998
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur bygger ni menyer i C?

Inlägg av TomasL »

tänkte just be dig posta en skärmdump, i alla fall i morgon, när vi ses.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46998
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur bygger ni menyer i C?

Inlägg av TomasL »

Kommer inom kort att posta en länk under "endast medlemmar".
Versionen jag postar är i princip en alfa-version, dvs den har inte hunnit till beta ännu.
Den kommer att vara tidsbombad, troligen till sista Augusti eller så. (de genererade menyerna kommer naturligtvis att fungera (förhoppningsvis))
I övrigt blir det inga restriktioner när det gäller menyantal och djup (i princip).
Därefter mottages kommentarer mm med tacksamhet.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Hur bygger ni menyer i C?

Inlägg av jesse »

Den tänker jag också testa när den kommer. Verkar ju riktigt trevlig. :P
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46998
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur bygger ni menyer i C?

Inlägg av TomasL »

Första versionen är nu klar.
Ni hittar länken HÄR
Användarvisningsbild
E85
Inlägg: 1274
Blev medlem: 29 maj 2007, 16:24:19
Ort: Övik

Re: Hur bygger ni menyer i C?

Inlägg av E85 »

Såhär ser mitt ut såhär långt.. fast det genererar inte en enda rad kod än. Det roligaste är ju att göra ett snyggt GUI. ;)
http://code.google.com/p/menugenerator/

Ladda gärna ner och prova och kom med synpunkter!
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Hur bygger ni menyer i C?

Inlägg av jesse »

E85: snyggt!. Jag gillar särskilt att man enkelt kan välja vilka/hur många knappar man vill ha och antalet rader på displayen.
Hur har du tänkt dig koden? Förhoppningsvis oberoende av processortyp.

jag kan tänka mig att man dels behöver en massa listor i programminnet som anger ordningen och rubriker mm... också vilka funktioner som ska utföras (ställa in ett heltal, svara på ja/nej eller annat?). Sedan kanske en lista i RAM med användardata, dvs. de data som ska presenteras och kunna ändras. Vissa data i menyn kanske bara ska ḱunna visas med inte ändras. På en enkel meny jag gjorde för längesedan ( I AVR assembler för kylskåp) så presenterades data i en nivå - om man ville ändra i data fick man klicka sig ner en nivå. Man kunde alltså titta på data utan att råka ändra i det om man inte valde med "select" knappen. Då presenterades exakt samma data igen, fast med en blinkande markör som man kunde flytta till de olika fälten.
Skriv svar