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 » 03 wrz 2010 16:01

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
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 4 times
Been thanked: 1 time
Kontakt:

Re: Wartości w zakładce Tab

Post autor: smiga » 06 wrz 2010 17:50

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 » 07 wrz 2010 09:59

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
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 4 times
Been thanked: 1 time
Kontakt:

Re: Wartości w zakładce Tab

Post autor: smiga » 07 wrz 2010 10:54

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: 922
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków
Has thanked: 2 times
Been thanked: 8 times

Re: Wartości w zakładce Tab

Post autor: Pitol » 07 wrz 2010 10:57

ś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
ObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj

Awatar użytkownika
smiga
Posty: 693
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 4 times
Been thanked: 1 time
Kontakt:

Re: Wartości w zakładce Tab

Post autor: smiga » 07 wrz 2010 11:03

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 » 07 wrz 2010 11:41

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