Budowanie tablicy z pliku

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
xamrex
Posty: 29
Rejestracja: 21 paź 2013 18:54
Wersja środowiska: LabVIEW 8.5

Budowanie tablicy z pliku

Post autor: xamrex » 30 mar 2017 19:06

Witam,
Mam plik tekstowy z takimi danymi
pomiar1;12;OK
pomiar2;43;BAD
pomiar3;22;OK
pomiar4;41;BAD
pomiar5;27;OK

Chciałbym odczytać ten plik (Read From Spreadsheet File VI)
i wyświetlić w LV tabelę z wynikami chciałbym aby były 3 kolumny(czyli dane oddzielane są za pomocą średników) kolumna pomiar,wartość pomiaru oraz określenie czy wynik pomiaru jest OK.


Udało mi się zrobić cos takiego:
Obrazek
tylko że tu jest wszystko w jednej kolumnie, a ja chcę w 3.

W jaki sposób najlepiej podzielić te stringi (czy stworzenie tablicy wielowymiarowej np. 5x3) i dodanie tam tych danych byłoby ok?

oraz w jaki sposób pokolorować tabelę? załóżmy, że jeśli wynik jest OK, chciałbym pokolorować na zielono, a jeśli jest BAD to na czerwono.

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

Re: Budowanie tablicy z pliku

Post autor: smiga » 30 mar 2017 21:30

Ustaw wejście Delimiter na dole VI'a podłączając stałą ";"
____ Arkadiusz Śmigielski ____
_ Certified LabVIEW Developer _
Certified Professional Instructor
_____ tel. 662 01 01 74_____
_____ www.optinav.pl _____

_______Obrazek_______

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

Re: Budowanie tablicy z pliku

Post autor: smiga » 30 mar 2017 23:58

Odnośnie kolorowania tablicy, nie jest to już takie trywialne, bo tablica musi być konkretnego typu cała, więc nie chce zmieniać jednej komórki na czerwono, a innej na zielono.
Polecam zbudowanie tablicy klastrów, w których prócz stringa jest reprezentacja koloru (np. boulean...choć najładniej wyglądałaby tablica obrazków (2D picture indicator), w których mamy kolor i tekst.

Zerknij na taki przykład:
tablica_kolor.vi
Jakby ktoś nie potrafił skorzystać ze snippeta, czyli obrazka kodu.
(16.54 KiB) Pobrany 37 razy
Załączniki
kolor.png
kolor.png (28.72 KiB) Przejrzano 1227 razy
tablica z kolorami.png
Ostatnio zmieniony 31 mar 2017 11:17 przez smiga, łącznie zmieniany 1 raz.
____ Arkadiusz Śmigielski ____
_ Certified LabVIEW Developer _
Certified Professional Instructor
_____ tel. 662 01 01 74_____
_____ www.optinav.pl _____

_______Obrazek_______

Awatar użytkownika
aaddaas
Posty: 182
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Budowanie tablicy z pliku

Post autor: aaddaas » 31 mar 2017 10:02

Albo użyć table zamiast array - wtedy można każdą komórkę kolorować wg własnego widzimisię, z tym że trzeba to robić przez property node
Obrazek

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

Re: Budowanie tablicy z pliku

Post autor: smiga » 31 mar 2017 11:13

aaddaas pisze:Albo użyć table zamiast array - wtedy można każdą komórkę kolorować wg własnego widzimisię, z tym że trzeba to robić przez property node
Tak będzie na pewno ładniej.
____ Arkadiusz Śmigielski ____
_ Certified LabVIEW Developer _
Certified Professional Instructor
_____ tel. 662 01 01 74_____
_____ www.optinav.pl _____

_______Obrazek_______

Awatar użytkownika
aaddaas
Posty: 182
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Budowanie tablicy z pliku

Post autor: aaddaas » 31 mar 2017 11:22

Dorzucę tylko, że kolorowanie tablic jest WOLNE. Tak na serio wolne. Chcąc pokolorować całą tablicę np 20x200 (nie w jednym kolorze) należy uzbroić się w cierpliwość...
Obrazek

Awatar użytkownika
micard
Posty: 127
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2016
Has thanked: 4 times
Been thanked: 2 times
Kontakt:

Budowanie tablicy z pliku

Post autor: micard » 31 mar 2017 12:38

"Brzydkim ale skutecznym" rozwiązaniem jest wyświetlanie w tablicy obrazków zamiast stringów i użycie bloczka DrawTextAtPoint. Dzieki temu można dowolne pole można dowolnie pokolorować i nie ograniczać sie do samego textu. Niestety wczale bardzo szybkie, ani eleganckie to nie jest.
W Twojej sytuacji proponuję zastosować .NET'owe rozwiazania

TMa
Posty: 198
Rejestracja: 07 sty 2010 12:56
Wersja środowiska: LabVIEW 2017
Been thanked: 3 times

Re: Budowanie tablicy z pliku

Post autor: TMa » 31 mar 2017 14:12

aaddaas pisze:Dorzucę tylko, że kolorowanie tablic jest WOLNE. Tak na serio wolne. Chcąc pokolorować całą tablicę np 20x200 (nie w jednym kolorze) należy uzbroić się w cierpliwość...
Wystarczy poprawnie użyć właściwości "Defer Panel Updates?". Przykład: Background Color of Table Updates Slowly in LabVIEW.

Awatar użytkownika
aaddaas
Posty: 182
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Budowanie tablicy z pliku

Post autor: aaddaas » 03 kwie 2017 10:15

TMa pisze:
aaddaas pisze:Dorzucę tylko, że kolorowanie tablic jest WOLNE. Tak na serio wolne. Chcąc pokolorować całą tablicę np 20x200 (nie w jednym kolorze) należy uzbroić się w cierpliwość...
Wystarczy poprawnie użyć właściwości "Defer Panel Updates?". Przykład: Background Color of Table Updates Slowly in LabVIEW.
Faktycznie, trochę więcej zachodu, ale znacznie przyspiesza!
Obrazek

ODPOWIEDZ