Wyświetlanie grafiki z listy

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
elektryczny_mariusz
Posty: 13
Rejestracja: 13 lip 2015 21:55
Wersja środowiska: LabVIEW 2013

Wyświetlanie grafiki z listy

Post autor: elektryczny_mariusz »

WItam!

Jak zrobić tak, żebym w oknie w programie mógł wyświetlić obraz wybrany w combo boxie lub jak wpiszę cyfrę np 1 żeby wyświetliło obraz o nazwie 1.jpg?

Pozdrawiam
Awatar użytkownika
koofaya
Posty: 38
Rejestracja: 23 sty 2014 14:51
Wersja środowiska: LabVIEW 2014

Wyświetlanie grafiki z listy

Post autor: koofaya »

Jeden event case do Combo-boxa i drugi do obsługi klawiatury.
A co przed/po wystąpieniu eventa, to osobna bajka i właściwie reszta programu =]
elektryczny_mariusz
Posty: 13
Rejestracja: 13 lip 2015 21:55
Wersja środowiska: LabVIEW 2013

Re: Wyświetlanie grafiki z listy

Post autor: elektryczny_mariusz »

a można prosić o jakiś prosty przykład obsługi takiego case? jestem zielony w to

EDIT:
Dobra, coś takiego dosyć "topornego" wymyśliłem, ale mam pytanie - jak zrobić żeby wyświetlać obraz z danego case w okienku bo w takim układzie wyświetla tylko z pod opcji "0, default"
Załączniki
case-obraz.png
case-obraz.png (12.8 KiB) Przejrzano 11236 razy
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Wyświetlanie grafiki z listy

Post autor: aaddaas »

Zauważ, że pętlę while wrzuciłeś do case. Think Dataflow;) Przeanalizujmy co się stanie: Kontrolka "numer układu" wysyła wartość. Ta wartość jeśli wynosi 0 lub ma wartość niezdefiniowaną w innych case (default) otworzy pętlę while, która będzie kręciła się w nieskończoność (warunek stopu -false) z maksymalna prędkością (brak ograniczenia czasowego jak Wait (ms)). Program zatem trzeba zatrzymywać przyciskiem abort (co jest bardzo złe).
Zatem: Pętla while powinna być na zewnątrz wszystkiego, powinna mieć przycisk do zatrzymania pętli STOP, a także powinna mieć ograniczenie czasowe, by nie zżerała całych dostępnych zasobów komputera.
W pętli proponuję zamiast case structure zastosować tablicę ze ścieżkami do plików, z których przy pomocy index array oraz kontrolki podłączonej do wejścia index wybierać daną ścieżkę. Oczywiście jest milion innych możliwości realizacji tego zagadnienia, ale bez podstawy (kwestia pętli while) dalej nie pójdziemy.
Obrazek
elektryczny_mariusz
Posty: 13
Rejestracja: 13 lip 2015 21:55
Wersja środowiska: LabVIEW 2013

Re: Wyświetlanie grafiki z listy

Post autor: elektryczny_mariusz »

Ok, coś takiego podziałałem, działa to tylko ma jedną wadę- za każdym włączeniem muszę podawać ścieżki od nowa, nie dałoby się jakoś zrobić tak, żeby to było na stałe?
Załączniki
wyświetlanie obrazków.png
wyświetlanie obrazków.png (36.44 KiB) Przejrzano 11167 razy
Awatar użytkownika
koofaya
Posty: 38
Rejestracja: 23 sty 2014 14:51
Wersja środowiska: LabVIEW 2014

Wyświetlanie grafiki z listy

Post autor: koofaya »

Możliwości jest znów bardzo dużo.

W wersji roboczej możesz wpisać ścieżki do arraya, potem klikasz prawym -> data operations -> set current value as default (nie wiem, czy precyzyjnie to nazywam, ale coś w tym stylu).

Na przyszłość można zrobić np. wczytywanie nazw plików z innego pliku konfiguracyjnego (xml, ini itp.) i doklejanie do ścieżki względnej (current vi's path\cośtam), ale najlepszym wariantem byłoby przeszukiwanie całego folderu, który znów może być podany relatywnie, albo wybierany z okienka dialogowego...

Słowo klucz: eksperymentuj!

P.S. Jeśli tylko masz miejsce (a masz go mnóstwo), prowadź kabelki z lewej do prawej.
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Wyświetlanie grafiki z listy

Post autor: aaddaas »

I nie zapomnij o opóźnieniu pętli!
Obrazek
elektryczny_mariusz
Posty: 13
Rejestracja: 13 lip 2015 21:55
Wersja środowiska: LabVIEW 2013

Re: Wyświetlanie grafiki z listy

Post autor: elektryczny_mariusz »

Coś takiego wymyśliłem- wczytywanie listy plików z pliku tekstowego i inne "magie" :D dziękuje kolegom za naprowadzenie mnie na cel :D. Teraz pytanie- jak ograniczyć zakres wprowadzanej cyfry- żeby dało się wprowadzić od 0 do 15 - jak grzebałem w ustawieniach kontrolki to nic nie daje- nadal da się zadać i mniejszą i większą wartość przez co program mi się stopuje
Załączniki
wyświetlanie obrazków.png
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Wyświetlanie grafiki z listy

Post autor: aaddaas »

Na kontrolkę przyciśnij prawym przyciskiem i wyszukaj w create> property node > Data Entry limits> All elements. Postaw na BD i prawym przyciskiem zmień na "write" By móc zdeklarować wartości maksymalne i minimalne.

PS: Stwórz kontrolkę, a nie stałą przy warunku zatrzymania pętli (zatrzymywanie programu przyciskiem abort jest bardzo złą praktyką)
PS2: Jeśli uznałeś, że ktoś Ci pomógł, to użyj przycisku pochwal ;)
Załączniki
Limits.png
Limits.png (12.72 KiB) Przejrzano 11108 razy
Obrazek
ODPOWIEDZ