Witam wszystkich,
mam taki problem, program który piszę podzieliłem zakładkami Tab Control które odpowiadają „podprogramom” wykonującym tylko wybrane funkcje programu głównego. Pewnie przyciski pojawią się w większości zakładek i teraz pytanie: jak połączyć ich funkcję, tzn żeby można było wywołać jedną procedurę z kilku zakładek (nie wszystkich) np przyciski: reset, inizjalizacja. ewentualnie jak inaczej to rozwiązać?
[img]http://img244.imageshack.us/img244/6711/sc1go4.jpg[/img]
[img]http://img257.imageshack.us/img257/1189/sc2arr5.jpg[/img]
jedna fukcja w kilku zakładkach
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: jedna fukcja w kilku zakładkach
Hej
Pierwsze rozwiązanie jest opisane m.in. TUTAJ i polega na wjechaniu takim przyciskiem nad Tab Control za pomocą klawiszy kursorów, dzięki czemu przycisk nie wiąże się z Tab Controlem, a zamiast tego wisi niejako nad nim. Niezbyt to eleganckie moim zdaniem.
Drugie rozwiązanie to osobne przyciski dla osobnych zakładek, ale każdy z nich robi to samo - możesz zrobić dla nich wspólny event Value Change. W takim rozwiązaniu, jeśli chciałbyś aby tych kilka przycisków wyglądało jak jeden tj. aby były w tym samym miejscu na różnych zakładkach, warto byłoby zadbać o ich pozycjonowanie względem Tab Controla przy starcie programu. Nie do końca przekonany, ale skłaniałbym się ku temu drugiemu rozwiązaniu. Ma ktoś jakiś lepszy pomysł?
Pozdrawiam
Jest to pewien problem.Pewnie przyciski pojawią się w większości zakładek
Pierwsze rozwiązanie jest opisane m.in. TUTAJ i polega na wjechaniu takim przyciskiem nad Tab Control za pomocą klawiszy kursorów, dzięki czemu przycisk nie wiąże się z Tab Controlem, a zamiast tego wisi niejako nad nim. Niezbyt to eleganckie moim zdaniem.
Drugie rozwiązanie to osobne przyciski dla osobnych zakładek, ale każdy z nich robi to samo - możesz zrobić dla nich wspólny event Value Change. W takim rozwiązaniu, jeśli chciałbyś aby tych kilka przycisków wyglądało jak jeden tj. aby były w tym samym miejscu na różnych zakładkach, warto byłoby zadbać o ich pozycjonowanie względem Tab Controla przy starcie programu. Nie do końca przekonany, ale skłaniałbym się ku temu drugiemu rozwiązaniu. Ma ktoś jakiś lepszy pomysł?
Pozdrawiam
jedna fukcja w kilku zakładkach
Przyznaję:
1. nie rozumiem idei programu
2. nie widzę algorytmu (nawet ogólnego, a przydal by sie i ogólny i szczegółowy do modułów programu) ale widzę duże błędy programowe:
1. w każdej iteracji pętli tworzysz-konfigurujesz-uruchaniasz-gromadzisz dane-zatrzymujesz-usuwasz-sprawdzasz satus błędu obu wątków sprzętowych. To nie jest dobre rozwiązanie. Trzy pierwsze i trzy ostatnie VIje w wątkach sprzętowych powinny pracować poza petlą akwizycji danych.
2. Pracujesz z interfejsem operując na poolingu czyli w każdej iteracji sprawdzasz stan przycisków - do operacji z interfejsem przeznaczona jest struktura event (operuje się na niej od wersji 6.1 - nie wiemy na jakiej pracujesz)
3. Wszystko (większość kodu jak wnioskuję, a zapewne rdzeń aplikacji) dzieje się w jednej pętli - obsługa interfejsu, akwizycja danych a czesci diagramu nie widac, więć zakładam że i coś jeszcze. Warto popatrzeć w oknie Getting Started w menu File>> New>>VI>> From Template>>Frameworks na różne metody realizacji aplikacji i przeczytać ich opisy
Napisz więcej o aplikacji, postaramy sie pomóc.
tytułem uzupełnienia Dobrze, przeczytalem poprzedni Twój post, pracujesz w LabVIEW 8.0. Co więcej przedyskutowałem go też z pewnym dydaktykiem LabVIEW, który zanikł ostatnio na naszym forum ;).
Wnioski dydaktyczne: jak na początkującego w środkowisku diagram wygląda dobrze i czytelnie, więc to dobry początek.
Sugestia: a) znajdz dzień na sprawdzenie jak operuje struktura event - zrób kilka VIjów, które będą reagowały na przyciski b) zastanów się jak byś podzielił program pod kątem operacji (wątków) które wykonują się jednocześnie, określ które dane trzeba będzie przeności miedzy tymi wątkami. c) utwórz projekt i przenieś do niego posiadane już VIje - jesli sobie z tym nie poradzisz - pytaj.
I oczywiście nie bierz tego wszystkiego do siebie, uwagi dotyczą kodu 8)
1. nie rozumiem idei programu
2. nie widzę algorytmu (nawet ogólnego, a przydal by sie i ogólny i szczegółowy do modułów programu) ale widzę duże błędy programowe:
1. w każdej iteracji pętli tworzysz-konfigurujesz-uruchaniasz-gromadzisz dane-zatrzymujesz-usuwasz-sprawdzasz satus błędu obu wątków sprzętowych. To nie jest dobre rozwiązanie. Trzy pierwsze i trzy ostatnie VIje w wątkach sprzętowych powinny pracować poza petlą akwizycji danych.
2. Pracujesz z interfejsem operując na poolingu czyli w każdej iteracji sprawdzasz stan przycisków - do operacji z interfejsem przeznaczona jest struktura event (operuje się na niej od wersji 6.1 - nie wiemy na jakiej pracujesz)
3. Wszystko (większość kodu jak wnioskuję, a zapewne rdzeń aplikacji) dzieje się w jednej pętli - obsługa interfejsu, akwizycja danych a czesci diagramu nie widac, więć zakładam że i coś jeszcze. Warto popatrzeć w oknie Getting Started w menu File>> New>>VI>> From Template>>Frameworks na różne metody realizacji aplikacji i przeczytać ich opisy
Napisz więcej o aplikacji, postaramy sie pomóc.
tytułem uzupełnienia Dobrze, przeczytalem poprzedni Twój post, pracujesz w LabVIEW 8.0. Co więcej przedyskutowałem go też z pewnym dydaktykiem LabVIEW, który zanikł ostatnio na naszym forum ;).
Wnioski dydaktyczne: jak na początkującego w środkowisku diagram wygląda dobrze i czytelnie, więc to dobry początek.
Sugestia: a) znajdz dzień na sprawdzenie jak operuje struktura event - zrób kilka VIjów, które będą reagowały na przyciski b) zastanów się jak byś podzielił program pod kątem operacji (wątków) które wykonują się jednocześnie, określ które dane trzeba będzie przeności miedzy tymi wątkami. c) utwórz projekt i przenieś do niego posiadane już VIje - jesli sobie z tym nie poradzisz - pytaj.
I oczywiście nie bierz tego wszystkiego do siebie, uwagi dotyczą kodu 8)
Ostatnio zmieniony 20 gru 2008 18:55 przez Mikrobi, łącznie zmieniany 1 raz.
Re: jedna fukcja w kilku zakładkach
Pierwsze rozwiązanie w ogóle nie wchodzi rachubę, drugie by mi podpowiadało tylko że nie potrafię go zastosować, używam wspólnej stałej jednak zdublowane klawisze nie wykonują zadanych funkcji. Nie wiem już co robie źle. Prosiłbym Cię bardzo żebyś umieścił u mnie w programie w dwóch różnych zakładkach np. klawisz RESET i Waveform Chart – przebieg czasowy kodu błędu. Liczę bardzo na waszą pomoc.jogurt_owocowy pisze:HejDrugie rozwiązanie to osobne przyciski dla osobnych zakładek, ale każdy z nich robi to samo - możesz zrobić dla nich wspólny event Value Change. W takim rozwiązaniu, jeśli chciałbyś aby tych kilka przycisków wyglądało jak jeden tj. aby były w tym samym miejscu na różnych zakładkach, warto byłoby zadbać o ich pozycjonowanie względem Tab Controla przy starcie programu. Nie do końca przekonany, ale skłaniałbym się ku temu drugiemu rozwiązaniu. Ma ktoś jakiś lepszy pomysł?Pewnie przyciski pojawią się w większości zakładek
Pozdrawiam