logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

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

lukisio 22 Sie 2008 15:17 1358 2
REKLAMA
  • #1 5463029
    lukisio
    Poziom 12  
    Witam
    Próbuję zrobić coś takiego:
    
    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.
  • REKLAMA
  • Pomocny post
    #2 5463416
    pixel7
    Poziom 23  
    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:


    
    
    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ę.
  • #3 5463420
    Pituś Bajtuś
    Poziom 28  
    W helpie do polecenia Restore jest przykład. Przeanalizuj go i przemyśl. Jest w nim rozwiązanie Twojego problemu.
REKLAMA