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

[Bascom] restore 'zmienna' - dla różnych wskaźników

22 Sie 2008 15:17 1226 2
  • Poziom 11  
    Witam
    Próbuję zrobić coś takiego:
    Code:

    Dim Tekst As String * 16
    Dim Zmienna As String * 2

    zmienna = "10"

    Do
    Restore "Zmienna"
    Read Tekst
    Lcd Tekst
    wait 5
    loop
    end

    10:
    Data "     Menu 1"
    20:
    Data "     Menu 2"
    30:
    Data "     Menu 3"


    Jak można przestawić dane dla komendy "restore" żeby czytał je ze zmiennej? Zmienna "zmienna" będzie się.. zmieniać w zależności od tego w której pozycji menu jest użytkownik. Stąd muszę przywoływać jej nazwę w sposób dynamiczny.

    Najprościej było by to zrobić przez case, ale jest już zajęty dla instrukcji w przypadku wybrania menu 1, 2 lub 3.
    [3.12.2020, webinar] Zagadnienia pomiarowe w nowoczesnej inżynierii materiałowej. Zarejestruj się
  • Pomocny post
    Poziom 22  
    W ten sposób to ci się nie uda.
    Restore to przywołanie całego bloku data o jakiejś nazwie.
    Funkcja read czyta kolejne znaki - jak w tablicy.

    Aby kod zadziałał powinieneś użyć funkcji lookupstr:


    Code:


    do

    numer_opisu=0
    tekst = Lookupstr(numer_opisu , Menu_opisy)
    lcd tekst
    loop
    end

    Menu_opisy:

    data "1-opis", "2-opis", "3-opis"


    W powyższym przykładzie wystarczy, że zmienisz wartość dla numer_opisu i będziesz miał odpowiednią etykietę. Pamiętaj że w data pierwszy element ma zawsze adres 0 i od niego zaczynamy numerację.
  • Poziom 28  
    W helpie do polecenia Restore jest przykład. Przeanalizuj go i przemyśl. Jest w nim rozwiązanie Twojego problemu.