ograniczenie dostepnej liczby wierszy w tablicy

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
slav
Posty: 35
Rejestracja: 18 gru 2009 16:09
Wersja środowiska: LabVIEW 2009

ograniczenie dostepnej liczby wierszy w tablicy

Post autor: slav »

Witam,

mam następujący problem. Otóż piszę (ulepszam) program do obsługi eksperymentu i aktualnie kłopot sprawia mi zrobienie tablicy kontrolek (typu boolean - do włączania/wyłączania sygnałów TTL).

Chodzi o to, żeby użytkownik mógł wybrać, ile kanałów (wierszy w tablicy) chce w danym dniu używać. Chciałabym, żeby to było tak, że widać na stałe parę wierszy, np. 6, a resztę można zobaczyć przewijając scrollbarem (ale TYLKO TYLE ile sobie użytkownik zażyczy). I właśnie nie umiem zrobić tego ograniczenia. Gdy dam we właściwościach tablicy wyświetlanie pionowego scrollbara (obrazek górny), jak przewinę na dół, zawsze jest możliwość kliknięcia kolejnej kontrolki, i kolejnej, i kolejnej... Gdy użyję Property: Index Values (obrazek dolny) jest o tyle lepiej, że mogę dać ograniczenie na liczbę wierszy, tylko wtedy muszę je przewijać klikając/wpisując liczbę, co nie jest najwygodniejsze. Żaden inny sposób nie przychodzi mi do głowy :(

Z góry dziękuję za podsunięcie rozwiązania, o ile takowe istnieje.
Załączniki
scrollbar.JPG
scrollbar.JPG (5.94 KiB) Przejrzano 9570 razy
indexvals.JPG
indexvals.JPG (7.82 KiB) Przejrzano 9570 razy
Awatar użytkownika
zaz
Posty: 12
Rejestracja: 01 paź 2009 15:02
Wersja środowiska: LabVIEW 2013
Lokalizacja: Wałbrzych
Kontakt:

Re: ograniczenie dostepnej liczby wierszy w tablicy

Post autor: zaz »

Spróbuj tak:
tablica.jpg
Certified LabVIEW Developer
http://www.araval.pl
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: ograniczenie dostepnej liczby wierszy w tablicy

Post autor: PiDi »

Indicator sam z siebie robi to, co ma robić, więc to raczej nie pomoże zaz ;) Ja proponuję takie nieeleganckie zagranie, ale jakieś brzydkie to jest:
Załączniki
tablica.vi
(8.05 KiB) Pobrany 342 razy
ObrazekObrazekObrazekObrazek
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: ograniczenie dostepnej liczby wierszy w tablicy

Post autor: Pitol »

Ja proponuję inne rozwiązanie (niekoniecznie bardziej eleganckie).
Array.jpeg
W założeniu, ten kod nie pozwoli Ci nawet zobaczyć tego dodatkowego pola w tablicy.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
slav
Posty: 35
Rejestracja: 18 gru 2009 16:09
Wersja środowiska: LabVIEW 2009

Re: ograniczenie dostepnej liczby wierszy w tablicy

Post autor: slav »

Dziękuje wszystkim skłonnym do pomocy, niestety żadna propozycja nie rozwiązuje mojego problemu.

Rozwiązanie od PiDi - blokuje "nadmiarowe" rzędy w tablicy, ale wciąż są wyświetlane i można je dodawać (klikając strzałkę w dół w scrollbarze). Ponadto wykorzystanie paru pętli mi się nie podoba, gdyż takich kontrolek mogę mieć sporo i chyba całościowo byłoby to dość skomplikowane.

Rozwiązanie od Pitol - scrollbar tu w ogóle nie działa. Nie można też ustalić ilości wykorzystywanych wierszy, jest ich tyle ile wierszy wyświetlanych.

A ja bym np. chciała mieć do wykorzystania 20 wierszy (i ani jednego więcej w danym czasie), wyświetlone np. 5, a reszta ukryta pod scrollbarem. Wygląda na to, że użycie scrollbara i Index Values się wzajemnie wyklucza.
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: ograniczenie dostepnej liczby wierszy w tablicy

Post autor: Pitol »

slav pisze: Rozwiązanie od Pitol - scrollbar tu w ogóle nie działa. Nie można też ustalić ilości wykorzystywanych wierszy, jest ich tyle ile wierszy wyświetlanych.
Wierszy nie można było ustawić, bo nie to chciałem pokazać tym kodem. Nigdy nie daję pełnego rozwiązania bo liczę, że osoba której pomagam resztę sama sobie dorobi. Moja idea miała pokazać jak zablokować wyświetlanie nadmiarowego elementu. A wystarczyło dodać tylko tyle:
Array_v2.jpeg
Daj znać, czy to co załączyłem działa tak jak chciałaś.

EDIT: W ogóle wydaje mi się, że nie do końca Cie zrozumiałem. Mogłabyś wyjaśnić jeszcze raz, co chcesz osiągnąć? :)
Załączniki
Array_v2_9.0.vi
LV 9.0
(8.42 KiB) Pobrany 353 razy
Array_v2.vi
LV 10.0
(13.28 KiB) Pobrany 340 razy
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
Ender
Posty: 137
Rejestracja: 02 cze 2005 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Cieszyn

Re: ograniczenie dostepnej liczby wierszy w tablicy

Post autor: Ender »

Hmmm, może w ten sposób? Co prawda wymaga zastosowania dodatkowego elementu, ale nie komplikuje to chyba sprawy. Brakuje tu 'obcinania' tablicy jeśli ilość wierszy będzie mniejsza niż ilość elementów wyświetlanych na ekranie, ale nie o to tu chodziło.
Załączniki
scroll.vi
(13.05 KiB) Pobrany 339 razy
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
slav
Posty: 35
Rejestracja: 18 gru 2009 16:09
Wersja środowiska: LabVIEW 2009

Re: ograniczenie dostepnej liczby wierszy w tablicy

Post autor: slav »

Witam ponownie,

po przemyśleniu otrzymanych porad i odpowiedzi, (za wszystkie dziękuję) zdecydowałam się użyć zmodyfikowanego rozwiązania od Ender. Nie wiem, czy w dalszej pracy nad programem nie zmienię zdania ;), ale póki co wygląda na ok.

Pitol, Twoje rozwiązanie byłoby ok, tylko że tablica jest "nieklikalna". Próbowałam w nim coś pozmieniać, żeby była klikalna, ale nic mądrego nie wykombinowałam.
Załączniki
tablica.PNG
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: ograniczenie dostepnej liczby wierszy w tablicy

Post autor: Pitol »

Nie jest klikalna, bo jak można zauważyć, w pierwszej części sekwencji na stałe są wpisywane do niej wartości (na przemian T i F, żeby było lepiej widać). Aby to zmienić wystarczy wyrzucić tę pętlę For z pierwszej części sekwencji i wstawić tam logikę, która będzie dodawać/usuwać elementy w tablicy w zależności od wartości kontrolki "ilość elementów".

EDIT: Wystarczyło tyle:
Array_v3.jpeg
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
ODPOWIEDZ