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]Obsługa klawiszy w Case

slavcio2012 04 Sie 2013 18:49 1668 18
  • #1 04 Sie 2013 18:49
    slavcio2012
    Poziom 15  

    Witam,
    mam mały problem z obsługą przycisku w case,
    przedstawię trochę kodu :-)

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    A mój problem jest taki, że zamiast wejść to już wychodzę z pętli, lub wchodzę i wychodzę tak szybko, że tego nie widzę :-) .

    0 18
  • #2 04 Sie 2013 19:27
    atom1477
    Poziom 43  

    Bo musisz jeszcze zrobić blokadę żeby reagowało dopiero na kolejne wciśnięcie.
    Czyli inaczej na zbocze a nie na stan.

    0
  • #3 04 Sie 2013 19:28
    slavcio2012
    Poziom 15  

    If Pinb.2 = 0 and przycisk =0 Then
    przycisk=1


    i co dalej

    0
  • #4 04 Sie 2013 22:11
    atom1477
    Poziom 43  

    Coś takiego:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Pomijając że wersja z pętlą do..loop jest błędna.
    Ale na razie wystarczy żebyś zrozumiał ideę.

    0
  • #5 05 Sie 2013 06:05
    slavcio2012
    Poziom 15  

    ok a jaka jest poprawna wersja z pętlą loop ? :-)

    0
  • #6 05 Sie 2013 07:08
    atom1477
    Poziom 43  

    Nie rozumiemy się. Ta wersja z pętlą loop jest poprawna. Ale to pętla loop jest niepoprawna. Czyli prawidłowo by było jak by to zrobić bez pętli loop.

    0
  • #7 05 Sie 2013 09:26
    SylwekK
    Poziom 29  

    A nie możesz zrobić oczekiwania na puszczenie przycisku kiedy już wejdziesz do menu? - proste i bardzo skuteczne...

    0
  • #8 05 Sie 2013 09:49
    atom1477
    Poziom 43  

    A moja wersja robi coś innego?

    0
  • #9 05 Sie 2013 12:13
    SylwekK
    Poziom 29  

    @atom1477 - jakoś nie zwróciłem uwagi na program - faktycznie jest to jeden ze sposobów, aczkolwiek ja to zazwyczaj robię w inny sposób. Zawszę twierdzę, że każdy problem ma co najmniej dwa rozwiązania, a które się wybierze to już zależy od całości programu :)

    0
  • #10 05 Sie 2013 17:42
    slavcio2012
    Poziom 15  

    więc jestem po testach

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    tak bascom nie wyrzuca mi błędów ale nie mogę wyjść z pętli ... z kodu , który mi podałeś wyrzuca mi dwa błędy duplicate else i za dużo end if :-)

    0
  • #11 05 Sie 2013 18:12
    atom1477
    Poziom 43  

    To nie jest mój kod. U mnie się wszystko zgadza.
    A u Ciebie nawet nie poprawię. Próbowałem ale kompletnie nie wiem o co Ci chodzi w tym kodzie.
    If masz przed pętlą, End If za pętlą. itp.
    Więc puki co musisz jakiś ład z tym zrobić.
    Wtedy coś podpowiem.

    0
  • #12 05 Sie 2013 19:04
    slavcio2012
    Poziom 15  

    masz rację działa ,a jak to zrobić do takiej konstrukcji menu

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #13 05 Sie 2013 20:16
    atom1477
    Poziom 43  

    To już musisz poczytać i popróbować.
    Nie możemy Ci każdej jednej rzeczy tłumaczyć.

    0
  • #14 05 Sie 2013 20:22
    slavcio2012
    Poziom 15  

    Wielkie dzięki :-)

    0
  • #15 05 Sie 2013 20:57
    atom1477
    Poziom 43  

    Ale może jeszcze coś podpowiemy jak zdradzisz co to za wybór dokonuje ten Case.
    Tzn. co to za liczby są. I z jakiej zmiennej.

    0
  • #16 05 Sie 2013 21:20
    slavcio2012
    Poziom 15  

    co do podpowiedzi to bardzo chętnie ale może trochę z innej beczki :-) planuje zrobić klawiaturę na PCF8574 taką na 8 klawiszy poczytałem trochę w necie ale nie do końca wiem jak napisać kod programu tak aby zasada ustawiana pinów była taka sama jak w zwykłym procku :-)

    0
  • #17 05 Sie 2013 21:29
    atom1477
    Poziom 43  

    Tego po prostu nie zrobisz. Zasada musi być inna.
    Nie ma to jednak znaczenia. Tzn. nie powinno mieć, bo puki co Ci się wydaje że ma :D
    Wystarczy że będziesz po prostu mógł ustawić każdy pin jak zechesz, nie ważne że inną zasadą.

    0
  • #18 05 Sie 2013 21:45
    slavcio2012
    Poziom 15  

    Właśnie ,szukam jakieś prostego kodu programu do takiej klawiatury nie musi być to 4x4 czy jej mniejsze odmiany :-)

    0
  • #19 05 Sie 2013 22:20
    atom1477
    Poziom 43  

    Spróbuj napisać samemu.
    Musisz ustawiać kolejno stany:
    1110
    1101
    1011
    0111
    na jednej połówce wyjść.
    A z drugiej połówki odczytywać stany.

    0