Wartości w zakładce Tab

Jeśli masz problem z LabWindows napisz, postaramy się pomóc.
enigmatus
Posty: 3
Rejestracja: 03 wrz 2010 15:53
Wersja środowiska: Nie mam LabVIEW

Wartości w zakładce Tab

Post autor: enigmatus »

Witam,

aby nie tworzyć kolejnych tematów postanowiłem zapytać tutaj. Mianowicie jak pobrać wartości które są zapisane w w zakładkach.
Właśnie chodzi o to, żeby tworzyć, bo temat, do którego się podpiąłeś zakończył się jakieś dwa lata temu. Pitol


Pozdrawiam
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Wartości w zakładce Tab

Post autor: smiga »

Nie lubię wątków "wiszących" bez odpowiedzi, tym bardziej jeżeli jest to czyjś pierwszy wątek ;) ... podejrzewam, że przyczyna jej braku jest prozaiczna - źle / zbyt ogólnie sformułowane pytanie.
Proszę więc Kolegę Enigmatus'a o mniej enigmatyczne pytanie, czyli uściślenie, a na pewno rozwiążemy problem.

pozdrawiam
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
enigmatus
Posty: 3
Rejestracja: 03 wrz 2010 15:53
Wersja środowiska: Nie mam LabVIEW

Wartości w zakładce Tab

Post autor: enigmatus »

faktycznie, nie przemyślałem swojego postu.

Sytuacja wygląda tak: na panelu jest element wyświetlający wykres (GRAPH) oraz element zawierający dwie zakładki (TAB). Na zakładkach są miejsca do wpisywania wartości (NUMERIC). Problem polega na tym że wciskając przycisk który znajduje się na panelu (a nie na zakładce) chcę pobrać wartości (z NUMERIC) do zmiennych i przekazać je po obliczeniach na wykres. Próbowałem pobrać wskaźnik dla zakładki poleceniem GetPanelHandleFromTabPage i użyć go w poleceniu GetCtrlVal. Tym sposobem dostaję za pierwszym kliknięciem jakieś wartości (które są niepoprawne) a przy następnych kliknięciach (nawet zmieniając wartości w NUMERIC) nie zmienia się nic.

Problem wydaję mi się że leży w tym, że polecenie GetCtrlVal nie dostaje odpowiedniego wskaźnika który pokazuje na konkretną zakładkę.

Pozdrawiam
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Wartości w zakładce Tab

Post autor: smiga »

Ja bym to zrobił w ten sposób:
To co wpisujemy w numeric'ach w zakładkach nie ma znaczenia bo nie powoduje bezpośredniej zmiany na wykresie (chyba że źle zrozumiałem), więc tu nic specjalnego nie kombinujemy.
Przycisk na panelu obsługujemy jako event - po jego wciśnięciu sczytujemy wartości z numeric'ów na zakładkach i przekazujemy na wykres (po obróbce ewentualnej jeżeli jest konieczna). Polecam zrobienie tego w konfiguracji producent/konsument gdzie producentem będzie event (gotowy patern: File/New... Producer/Consumer Design Pattern (Events). W "konsumencie" robi się wtedy obróbkę tego co "producent" wyprodukował. Pętla konsumenta wyświetli też dane na wykresie. Jeżeli nie są to złożone obliczenia i mamy dużo czasu pomiędzy event'ami przycisku to można wszystko zrobić wewnątrz pętli event pomijając układ producent/konsument z kolejkami itd.
Ostatnio zmieniony 07 wrz 2010 10:59 przez smiga, łącznie zmieniany 1 raz.
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Wartości w zakładce Tab

Post autor: Pitol »

śmiga nie wiem czy zauważyłeś, ale kolega pisze w dziale LabWindows/CVI a nie LabVIEW. Nie wiem jak tam jest z implementacją Producent - Konsument :D
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Wartości w zakładce Tab

Post autor: smiga »

Faktycznie, przeoczyłem - dzięki za uwagę Pitol.

Może więc wszystko wstawić do eventa ... jeżeli nie często występuje takie zdarzenie i nie jest czasochłonne obliczanie danych do wykresu.

...ale przyznaję, że na LabWindows/CVI to się nie znam ... mam tylko nadzieję, że troszkę "popchnąłem" wątek ;)
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
enigmatus
Posty: 3
Rejestracja: 03 wrz 2010 15:53
Wersja środowiska: Nie mam LabVIEW

Wartości w zakładce Tab

Post autor: enigmatus »

Problem rozwiązany. Chodziło o źle pobierane wskaźniki dla stron zakładek. Stworzyłem kilka elementów NUMERIC aby prześledzić jakie wartości są zapisywane w zmiennych i tą drogą doszedłem gdzie jest błąd.

Jeżeli ktoś będzie miał problem z pobraniem wartości z zakładek to robi się to tak:

najpierw pobieramy wskaźnik na konkretną zakładkę poleceniem

Kod: Zaznacz cały

GetPanelHandleFromTabPage (int panelHandle, int controlID, int index, int *tabPanelHandle); 
gdzie panelHandle to wskaźnik panela gdzie znajduję się zakładka , controlID to zdefiniowana stała dla zakładek, index to numer dla strony zakładki (numeracja od zera w górę całkowitymi poczynając od prawej) *tabPanelHandle zmienia typu int gdzie zapisany zostanie wskaźnik zakładki.

a później używamy polecenia GetCtrlVal i w panelhandle wpisujemy zmienną *tabPanelHandle)
ODPOWIEDZ