Witam,
Tym razem moje pytanie może i jest proste ale nie radzę sobie z tym;/
Chciałem zrobić 2 zintegrowane przyciski, tzn jeden ukrywa drugi, drugi ukrywa ten pierwszy.
Dokładniej: widoczny jest pierwszy przycisk, po jego wciśnięciu pierwszy przycisk się ukrywa a pojawia się drugi,
teraz widoczny jest tylko drugi, wciskam go i znika a pojawia się pierwszy:)
troszkę to zagmatwane i nie mogę sobie z tym poradzić bo mi się wszystko zapętla i same znikają i się pojawiają:(
Zintegrowane przyciski
-
PiDi
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Zintegrowane przyciski
W rozwiązaniu, które podałem w innym twoim temacie, nieaktywne wykresy są ukrywane (link). To samo możesz zrobić z przyciskami, używając tego samego property node (Visible). A samo to się nic nigdy nie ukrywa i nie pojawia ;)
Ostatnio zmieniony 11 cze 2011 21:19 przez PiDi, łącznie zmieniany 1 raz.
Re: Zintegrowane przyciski
problem w tym, że wiem jak ukrywać ale nie wiem jak rozwiązać to zintegrowanie;/
tzn domyślam się, że gdzieś trzeba by zmieniać wartości przycisków też przez property node i value, ale gdzie to wsadzić żeby mi te przyciski same nie znikaly?
w załączniku to co udało a raczej nie udało mi się zrobić
tzn domyślam się, że gdzieś trzeba by zmieniać wartości przycisków też przez property node i value, ale gdzie to wsadzić żeby mi te przyciski same nie znikaly?
w załączniku to co udało a raczej nie udało mi się zrobić
- Załączniki
-
- buttons.vi
- (8.44 KiB) Pobrany 402 razy
-
PiDi
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Zintegrowane przyciski
Szczerze mówiąc, natworzyłeś przy użyciu tylko 10 elementów straszny galimatias (i nie chodzi mi o nieuporządkowanie tych elementów na diagramie). Grzechy główne w pierwszym załączniku. Chcesz na naciśnięcie jednego przycisku sprawiać, że przycisk ten znika, a pojawia się drugi, i odwrotnie. Zareagujmy więc na naciśnięcie przycisku... Dokładnie w taki sposób - załącznik drugi.
Muszę się jednak bardzo mocno uprzeć, że nic samo nie znika, ewentualnie można nie zapanować nad tym, kiedy coś ma zniknąć ;)
Muszę się jednak bardzo mocno uprzeć, że nic samo nie znika, ewentualnie można nie zapanować nad tym, kiedy coś ma zniknąć ;)
- Załączniki
-
- buttons.vi
- (11.74 KiB) Pobrany 398 razy
Zintegrowane przyciski
a czy nie da się tego zrobić nie używając event structure? nie używam tego bo jak program wejdzie w tą strukturę to inne przyciski nie działają;/ pewnie dlatego, że używam trybu ciągłego, no ale nie chce teraz przebudowywać całego programu - którego to jest część:(
może flat sequence?
może flat sequence?
-
PiDi
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Zintegrowane przyciski
Jeśli wszystkie twoje tematy, które ostatnio pozakładałeś, dotyczą tego samego programu, to prawdopodobnie już i tak straciłeś nad nim pełną kontrolę i bez przebudowy się nie obejdzie. Tym bardziej, jeśli musisz używać trybu ciągłego, bo to oznacza, że ten program nie korzysta z zupełnie żadnej architektury. I od razu, jak widzisz, nie jesteś w stanie dodać nawet tak prostej funkcjonalności jak ukrywanie tych przycisków w najbardziej oczywisty sposób. Za chwilę będziesz chciał dodać kolejną rzecz i znów pojawi się problem, bo będziesz musiał szukać nietypowego rozwiązania (z wykresami zresztą, jak rozumiem, ten sam problem?).
Zastanów się poważnie, czy nie lepiej zamiast kombinować jak by tu te przyciski bez event structure ukrywać, poświęcić ten czas na przebudowanie aplikacji, na przykład do architektury producent-konsument. To momentalnie pozwoli Ci wykorzystać i ten kod z wykresów, i ten stąd bez żadnego problemu.
P.S. Istnieje też bardzo prosty sposób na nieblokowanie aplikacji na event structure, ale zanim Ci tą "tajemnicę" zdradzę (jeśli jeszcze sam tego nie wiesz), to najpierw przetraw te parę zdań powyżej ;)
Zastanów się poważnie, czy nie lepiej zamiast kombinować jak by tu te przyciski bez event structure ukrywać, poświęcić ten czas na przebudowanie aplikacji, na przykład do architektury producent-konsument. To momentalnie pozwoli Ci wykorzystać i ten kod z wykresów, i ten stąd bez żadnego problemu.
P.S. Istnieje też bardzo prosty sposób na nieblokowanie aplikacji na event structure, ale zanim Ci tą "tajemnicę" zdradzę (jeśli jeszcze sam tego nie wiesz), to najpierw przetraw te parę zdań powyżej ;)
Re: Zintegrowane przyciski
dokładnie ten sam problem;/
dlaczego używałem tego trybu? bo tak było mi łatwiej no ale teraz mogę żałować;/ szczerze mówiąc nie mam pojęcia jak przebudować mój cały program, najprostszy sposób jaki przyszedł mi do głowy - wrzucić wszystko do pętli while no i niby działa, ale to nie jest rozwiązanie;/
nie znam też sposobu na nieblokowanie przez event structure całej aplikacji, generalnie nic więcej mi nie trzeba a moje dwa ostatnie problemy związane są z event structure, ale swoją drogą jak na kogoś kto przy LabView siedzi troszkę ponad 3 miesiące jestem dumny ze swojego programu
Aczkolwiek wiem, że wielu dostałoby zawału na jego widok 
dlaczego używałem tego trybu? bo tak było mi łatwiej no ale teraz mogę żałować;/ szczerze mówiąc nie mam pojęcia jak przebudować mój cały program, najprostszy sposób jaki przyszedł mi do głowy - wrzucić wszystko do pętli while no i niby działa, ale to nie jest rozwiązanie;/
nie znam też sposobu na nieblokowanie przez event structure całej aplikacji, generalnie nic więcej mi nie trzeba a moje dwa ostatnie problemy związane są z event structure, ale swoją drogą jak na kogoś kto przy LabView siedzi troszkę ponad 3 miesiące jestem dumny ze swojego programu
-
PiDi
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Zintegrowane przyciski
Poszperaj po necie, tudzież po forum, w poszukiwaniu informacji o producent-konsument (producer-consumer) oraz maszynie stanów (state machine) w LabVIEW. Zastanów się, jak wpasować twoją aplikację w te standardy.
Żeby event structure nie blokowała, wystarczy sobie podpiąć zero do jej terminala (albo dowolną inną wartość, określającą czas oczekiwania na zdarzenie). Musisz mieć wtedy zaimplementowaną obsługę zdarzenia Timeout (źródłem tego jest <Application>), choćby nawet pustą, jak w załączniku. Z podkreśleniem: nie polecam Ci tego rozwiązania.
Żeby event structure nie blokowała, wystarczy sobie podpiąć zero do jej terminala (albo dowolną inną wartość, określającą czas oczekiwania na zdarzenie). Musisz mieć wtedy zaimplementowaną obsługę zdarzenia Timeout (źródłem tego jest <Application>), choćby nawet pustą, jak w załączniku. Z podkreśleniem: nie polecam Ci tego rozwiązania.
- Załączniki
-
- event.png (14.42 KiB) Przejrzano 8760 razy
