Strona 1 z 1

Operacje na tablicach - SubVI

: 20 wrz 2010 09:26
autor: zbychlew
Witam,
jestem tu nowy, ledwie zaczynam zabawę z LV - w programowaniu jakieś tam doświadczenie mam jednak programowanie wizualne bloczkami/obrazkami to nie lada wyzwanie szczególnie dla początkującego z nawykami do ASCII kodu ;) nie zamierzam jednak szybko kończyć tej zabawy, szczególnie że mam extra mentora, który niestety dzisiaj jest nieobecny ;)

To moja pierwsza zupełnie samodzielna praca, więc jakość kodu niekoniecznie jest optymalna ;)
Do rzeczy: standardowe bloczki z grupy array pozwalają na podłączanie tablic dowolnego typu, czasem i wymiaru. Popełniłem kod, który funkcjonuje zgodnie z założeniem: pobiera tablicę o dowolnym wymiarze i zwraca jednowymiarową tablicę tego samego typu, w której występują posortowane unikaty wartości z tablicy wejściowej. Zamknąłem to w SubVI i niestety nie wszystko działa tak jak zakładałem. SubVI przyjmuje jedynie tablicę o tym samym typie, na którym go pisałem.

Wg mnie logiczna budowa programu pozwala na podłączenie tablicy dowolnego typu, choćby string ale niestety w tym wypadku wymaga modyfikacji większości kabli.

No i tu pytanie jak wykonać SubVI, który przyjmie tablicę dowolnego typu i zwróci tablicę o tym samym typie?

Pozdrawiam
Zbych

Operacje na tablicach - SubVI

: 20 wrz 2010 10:22
autor: bartus
Najlatwiej przygotować pare wersji tej funkcji i zamknąć w SubVI polimorficzny, który będzie potem dostosowywał się do wejścia.

Re: Operacje na tablicach - SubVI

: 20 wrz 2010 10:37
autor: smiga
Dokładnie - polimorficzny VI rozwiąże problem, a robi się go:
File/New... Polymorphic VI ... i Add dodaje poszczególne wersje VI'i, które można przygotować wcześniej lub na bieżąco poprzez File/New VI ;)

Re: Operacje na tablicach - SubVI

: 20 wrz 2010 11:15
autor: zbychlew
Dziękuję bardzo za ekspresowe podpowiedzi ;)
Dość ciekawe rozwiązanie i rzeczywiście działa - w załączeniu Polimorficzne VI, które stworzy coś na wzór słownika dowolnej tablicy DBL lub String ;), a kolejne typy w miarę potrzeb łatwo dorobić ;)

Zbych