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 » 13 lip 2004 19:08

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.

Awatar użytkownika
PMaj
Posty: 231
Rejestracja: 04 sty 2004 00:00

Post autor: PMaj » 13 lip 2004 20:33

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 2014
Lokalizacja: United Kingdom

Re: Wskażniki regulatory

Post autor: Mikrobi » 13 lip 2004 20:35

[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

Awatar użytkownika
bogdani
Administrator
Posty: 1311
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Has thanked: 4 times
Been thanked: 1 time
Kontakt:

Rozwiązanie

Post autor: bogdani » 13 lip 2004 21:33

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
LabVIEW Champion, Certified LabVIEW Developer, Certified Professional Instructor
Tworzymy dedykowane rozwiązania do testów i pomiarów - www.veritech.pl

Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

ODPOWIEDZ