programowe zatrzymanie Event Key Down

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Awatar użytkownika
skalag
Posty: 57
Rejestracja: 19 sty 2007 00:00

programowe zatrzymanie Event Key Down

Post autor: skalag »

Witam
Istnieje mozliwosc programowego zatrzymania Event- Key Down ?
Problem jest taki.
Mam Event - key down i skanuje klawiature szukajac klawiszy 1, 2,3, G.
Uruchamiam VI i w pewnym momencie potrzbuje wpisac cos z klawiatury
(zadanie hasla, lub wpis innuych danych) i wtedy nastepuje zdarzenie.
Istnieje mozliwosc chwilowego wylaczenia obslugi skanowania i ponownego go zalacznia ?

Pzdr
Awatar użytkownika
AzazeL
Posty: 46
Rejestracja: 05 cze 2008 19:00
Lokalizacja: Mikołów
Kontakt:

Re: programowe zatrzymanie Event Key Down

Post autor: AzazeL »

Wyższa szkoła jazdy, lecz można to zrobić. Przejrzyj załącznik.
Awatar użytkownika
skalag
Posty: 57
Rejestracja: 19 sty 2007 00:00

Re: programowe zatrzymanie Event Key Down

Post autor: skalag »

Nie jest to takie łatwe chyba .jak narazie u mnie nie chce dzialac. nawet jak wylacze (tzn zmienie wartosc i generruje event od eventa) to i tak oba eventy sa generowane. a w zamierzenieu jest wylacznie tego pierwszego (tzn zeby sie nie pojawilo okno dialogowe).
Powiedzcie co zle robie.
Przyklad podaje bardzo prosty VI a w rzeczywistosci mam 12 zdeklarowanych events.( w wiekszosci na zmiane wartosci i jeden jedyny na key down.to nim wykrywam klawisze i zalaczam odpowiedie podprogramy.)

pzdr
Awatar użytkownika
Ender
Posty: 137
Rejestracja: 02 cze 2005 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Cieszyn

Re: programowe zatrzymanie Event Key Down

Post autor: Ender »

Zamiast eventa "Key down" spróbuj wykorzystać "Key down?". Po prawej stronie eventa pojawi Ci się wtedy property 'Discard?" - podanie wartości logicznej true (np informacja, że akurat jest wprowadzane hasło) powoduje, że zmiany dokonane w tym evencie po wyjściu z niego są ignorowane. Nie jest to rozwiązanie idealne, ale może przy odrobinie kombinacji pomoże rozwiązać Twój problem.
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Awatar użytkownika
skalag
Posty: 57
Rejestracja: 19 sty 2007 00:00

Re: programowe zatrzymanie Event Key Down

Post autor: skalag »

Zrobilem tak jak mowisz i dziala, tyle ze wylacza calkowicie obsluge klawiatury. wiec poszedlem dalej uzylem scan mode zeby wykrywac klawisze ktore sa mi potrzebne i wtedy AND z przyciskiem i do discard.
Dziala ale problem teraz taki ze jak wylaczam te przyciski (1,2,3) to nie moge ich uzyc do sczytywania danych(bo nie sa obslugiwane) a o to glownie mi chodzi. Nie moge tez zmenic klawiszy 1,2,3 na literowe bo takie wymagania projektu.
Jakies wizje jak to rozwiazac?

pzdr
Rudyjerz
Posty: 29
Rejestracja: 02 wrz 2008 09:07
Wersja środowiska: LabVIEW 2012
Lokalizacja: Katowice/Warszawa
Kontakt:

Re: programowe zatrzymanie Event Key Down

Post autor: Rudyjerz »

Trochę nie rozumiem, co chcesz zrobić z tymi dwiema pętlami z eventami, ale czy Tobie nie chodzi o coś takiego?

W tym przykładzie normalnie klawisze 1, 2, 3 generują event (zapalają lampkę), ale jak wejdziesz do pola hasło, albo uruchomisz prompt o hasło, to program na nie nie reaguje.
Rudyjerz
Awatar użytkownika
skalag
Posty: 57
Rejestracja: 19 sty 2007 00:00

Re: programowe zatrzymanie Event Key Down

Post autor: skalag »

Jakos nie moge tego zrealizowac.
Ponizej przyklad w ktorym
klawisze 1,2 3 przelaczaja poszczegolne taby 1, 2, 3.
w tabie 3 jest kontrolka Edit ( switch when presesed ) i ona zalacza tryb edycji zmiennej Nr3. problem w tym ze jak probuje wpisac cyfry 1,2,3 do tej zmiennej to generowany jest event i nie widze juz tej wpisanej zmiennej bo sie taby przelaczyly.
Wyjscie z trybu edycji to ponowne wcisniecie EDIT.
I wogule jakos dziwnie klawisz 3 sie zawiesza czasami.
Nie rozumiem juz tego.
Awatar użytkownika
Ender
Posty: 137
Rejestracja: 02 cze 2005 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Cieszyn

Re: programowe zatrzymanie Event Key Down

Post autor: Ender »

Metoda Rudego jest zdecydowanie bardziej elegancka i skuteczniejsza - człowiek uczy się całe życie :)

Chodzi Ci o coś takiego?
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Rudyjerz
Posty: 29
Rejestracja: 02 wrz 2008 09:07
Wersja środowiska: LabVIEW 2012
Lokalizacja: Katowice/Warszawa
Kontakt:

Re: programowe zatrzymanie Event Key Down

Post autor: Rudyjerz »

Nie wiem co zrobił Ender bo użył LV8.6 a ja mam 8.5, ale ja bym to zrobił tak jak w załączniku.

Trochę tu jest inaczej niż w poprzednim przykładzie, bo wtedy jak się szybko naciskało któryś z tych klawiszy (1,2,3) to mimo wszystko generowały one event. Teraz już tego nie ma.

Specjalnie nie ma tam drugiej pętli while, bo zostawienie jej powoduje, że ona kręci się cały czas i zużywa 99% zasobów procesora. Dlatego proponuje Ci robić wszystko w tej samej pętli co event, ew. używać jakiś innych mechanizmów, żeby ta pętla się nie kręciła cały czas.
Ostatnio zmieniony 09 paź 2008 10:07 przez Rudyjerz, łącznie zmieniany 1 raz.
Rudyjerz
ODPOWIEDZ