Wskażniki regulatory

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
jacobs
Posty: 11
Rejestracja: 04 cze 2004 00:00

Wskażniki regulatory

Post autor: jacobs »

Do zmiany skali używam regulatora (slide lub bar) który ma płynną regulację a potrzebna mi skokowa. Oczywiście można w date range ustawić sobie inkrementację i rzeczywiście to dobrze realizuje skok. Ale czy można ustawić nierówne wartości skoków? Już na wstępie znam te wartości (1,2,5,10,20,50,100)ale nie wiem jak je na twardo ustawić. Niech mi ktoś powie że jest to możliwe.
PMaj
Posty: 231
Rejestracja: 04 sty 2004 00:00

Post autor: PMaj »

Witam
Oczywiście jest to możliwe - przychodzi mi tu na myśl wariant z wykorzystaniem kontrolki 'text ring' z menu 'ring and enum'. Przypmina ona zwykłą kontrolkę numeryczną - można ją podpiąć do 'case', w którym należy wpisać odpowiednie wartości. Chcąc koniecznie wykorzystać 'slide' należałoby prawdopodobnie odwołać się do property node...
mam nadzieję ze choć troche pomogłem :)
pozdrawiam
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Wskażniki regulatory

Post autor: Mikrobi »

[quote="jacobs"]Do zmiany skali używam regulatora (slide lub bar) który ma płynną regulację a potrzebna mi skokowa. Oczywiście można w date range ustawić sobie inkrementację i rzeczywiście to dobrze realizuje skok. Ale czy można ustawić nierówne wartości skoków? Już na wstępie znam te wartości (1,2,5,10,20,50,100)ale nie wiem jak je na twardo ustawić. Niech mi ktoś powie że jest to możliwe.[/quote]
Nie zawsze musi być kawior :) Trzeba będzie wykorzystać tabelę, i odczytywać pole aktywne przy kliknięciu na nie kursorem. Można to zrobić na dwa sposoby, tak jak przedstawiłem na diagramie: [img]http://layer.uci.agh.edu.pl/~mikrobi/la ... bela_d.png[/img] W skrócie: - tworzysz na diagramie stałą tablice stringów i wpisujesz w kolejne pola swoje wartości, - wybierasz na panelu element Tabela - przez element Build Array podpinasz stałą tabelę ze swoimi wartościami do kontrolki Tabela - i teraz: dla WERSJI1: tworzysz z prawego klawisza myszy Create>>Property Node (2 elementy) w jednym określasz rozmiar tabeli (1 wiersz i tyle kolumn ile ma utworzona tablica stringów) z drugiego odczytujesz za pomocą Unbundle By Name jedną z wartości Edit Position (Column) i nią indeksujesz wyciąganie danych ze stałej tablicy stringów Potem już tylko zamiana wartości ze stringu na numer i gotowe.
dla WERSJI2: z praw. kl. myszy tworzysz referencje i podpinasz to do elementu z palety Functions>>Application Control (VI na tacy :) ) Property Node. Reszta w zasadzie podobna (dobieranie właściwości tabeli itd..)
Zaletą WERSJI2 jest to że łatwiej ją będzie wrzucić do subVI'ja.
Panel jest tutaj: [img]http://layer.uci.agh.edu.pl/~mikrobi/la ... _panel.png[/img]
Klikając na odpowiednią wartość w tabeli dostaniesz ją jako wybrany element.
powodzenia Mikrobi
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Rozwiązanie

Post autor: bogdani »

Witaj
Jeśli używasz LabVIEW 7 Express lub nowszej wersji to możesz zrobić coś takiego. We właściwościach regulatora Slider określasz jego skalę jak pokazano poniżej:
[img]http://www.labview.pl/images/forum/skala03.png[/img]
Potem otrzymujesz taki regulator:
[img]http://www.labview.pl/images/forum/skala01.png[/img]
Do którego możesz zrobić taki kod i po sprawie:
[img]http://www.labview.pl/images/forum/skala02.png[/img]
Wszystko to pod warunkiem, że masz dobra wersję LabVIEW, bo chyba w wersji 6.1 tego jeszcze nie było.
bogdani
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
ODPOWIEDZ