Zintegrowane przyciski

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
MeeHow
Posty: 15
Rejestracja: 19 maja 2011 23:42
Wersja środowiska: LabVIEW 2010

Zintegrowane przyciski

Post autor: MeeHow »

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ą:(
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Zintegrowane przyciski

Post autor: PiDi »

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.
ObrazekObrazekObrazekObrazek
MeeHow
Posty: 15
Rejestracja: 19 maja 2011 23:42
Wersja środowiska: LabVIEW 2010

Re: Zintegrowane przyciski

Post autor: MeeHow »

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ć
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

Post autor: PiDi »

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ąć ;)
Załączniki
buttons.vi
(11.74 KiB) Pobrany 398 razy
bledy.png
ObrazekObrazekObrazekObrazek
MeeHow
Posty: 15
Rejestracja: 19 maja 2011 23:42
Wersja środowiska: LabVIEW 2010

Zintegrowane przyciski

Post autor: MeeHow »

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?
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Zintegrowane przyciski

Post autor: PiDi »

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 ;)
ObrazekObrazekObrazekObrazek
MeeHow
Posty: 15
Rejestracja: 19 maja 2011 23:42
Wersja środowiska: LabVIEW 2010

Re: Zintegrowane przyciski

Post autor: MeeHow »

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 :p Aczkolwiek wiem, że wielu dostałoby zawału na jego widok :)
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Zintegrowane przyciski

Post autor: PiDi »

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.
Załączniki
event.png
event.png (14.42 KiB) Przejrzano 8762 razy
ObrazekObrazekObrazekObrazek
ODPOWIEDZ