Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Bascom] Tworzenie menu wielopoziomowego.

ePeter1234 21 Mar 2004 15:42 3255 2
  • #1 21 Mar 2004 15:42
    ePeter1234
    Poziom 18  

    Witam. W jaki sposób zrobić menu wielo poziomowe w bascom'ie??
    potrzebuje takie do sterowania radiem na przyciski. Ma ktoś jakiś pomysł, albo gotową wstawke(do małych przróbek). Nawet idea działania też się przyda. To menu ma działać na wyświetlaczu graifcznym. więc odpada przewijanie tekstu tak jak to ma miejsce na liniowych lcd. Pozdrawiam

    Przeniesiono z Programowanie Ogólne. - arnoldziq

    0 2
  • #2 21 Mar 2004 16:01
    elektryk
    Poziom 42  

    Menu można zrobić w następujący sposób, nie znam bascoma więc napisze szkielet w C:

    Code:

    while (1)
    {
     if klawisz_up numer_opcji++;
     if klawisz_down numer_opcji--;
     if klawisz_enter
      {switch numer_opcji
      case 0:podmenu1;break;
      case 1:podmenu2;break;
      }
     zmień_napis_na_LCD;
    }
    Podmenu są zbudowane bardzo podobnie z tą różnicą że jest jedna dodatkowa wartość numer_opcji przy której pętla while przestaje się wykonywać. Program nalezy jeszcze uzupełnić o możliwość ograniczenia wartoci zmiennej numer_opcji tak aby nie wychodziła poza zakres. Można to zrobić na 2 sposoby, ale zatrzymywać inkrementacje/dekrementacje albo z ostatniej opcji przechodzić do pierwszej i odwrotnie.

    0
  • #3 25 Mar 2004 01:46
    radek.kaba
    Poziom 14  

    Jeżeli chciałbyś wyświetlać kilka opcji na jednym ekranie, to dodatkowo musisz zrobić przyporządkowanie numeru_opcji do numeru_ekranu (np. w tablicy). A jak dodasz tablicę z pozycjami_kursora dla danego numeru_opcji, to po włączeniu mrugającego kursora (można też wykorzystać znaczek „strzałka w bok”), będzie od razu widać parametr który zmieniasz.

    Tylko pamiętaj, że zazwyczaj (jak się rozpędzisz ;-)) cały system menu (z tekstami, tablicami, dynamiczną zmianą „wachlarza” opcji itd.) zająć może nawet połowę (lub więcej) kodu wynikowego :?

    ps. Wyświetlacz graficzny? Robisz radyjko czy wieżę ;-)?

    0