Strona 1 z 1
Zmiana wartości domyślnej kontrolki numeric
: 29 gru 2009 11:46
autor: niko7878
Witam wszystkich
Przeglądałem forum w poszukiwaniu rozwiązania problemu zmiany wartości domyślej kontrolki typu numeric niestety nie natrafiłem na rozwiązanie
To co chciałbym osiągnąć to możliwość zmiany wartości domyślnej kontrolki poprzez property node lub inny mechanizm, jednak w property node nie widać takiej własności. Dokładnie chodzi o to aby mozna było przypisywać dowolne wartości domyślne dla tej kontorlki z poziomu działającego programu.Na chwile obecną po wprowadzeniu zmian i resecie programu automatycznie ustawiają się stare wartości domyślne. Może ktoś ma pomysł jak rozwiązać ten problem, dziękuje.
Zmiana wartości domyślnej kontrolki numeric
: 29 gru 2009 13:32
autor: Mikrobi
Taka operacja ma ograniczenia:
1. wartość domyslną kontrolki mozna ustawić tylko w VI pracującym w środowisku,
2. nalezy to zrobić odwołując się poprzez referencję do tego VIja z innego VIja.
Jeżeli Vi ma pracować samodzielnie (jako plik .exe) to sugeruje:
1. odwołanie na poczatku programu do kontrolki przez zmienną lokalną
2. korzystanie z pliku ini - wpisywanie do zmiennej z pliku na początku programu, zapisywanie do pliku ini na końcu programu.
Re: Zmiana wartości domyślnej kontrolki numeric
: 29 gru 2009 14:42
autor: jogurt_owocowy
w property node nie widać takiej własności
Krótko mówiąc: nie widać, bo nie da się tego ustawić przez
Property Node. Program musiałby modyfikować sam siebie, a to byłoby trochę głupie.
Musisz przy starcie programu samodzielnie wpisać do kontrolek odczytane z pliku wartości. Może to być plik ini, może to być plik binarny.
TUTAJ znajdziesz viaje zapisujące i odczytujące do/z pliku wartości kontrolek.
Pozdrawiam
Re: Zmiana wartości domyślnej kontrolki numeric
: 29 gru 2009 16:26
autor: vugie
jogurt_owocowy pisze:w property node nie widać takiej własności
Krótko mówiąc: nie widać, bo nie da się tego ustawić przez
Property Node. Program musiałby modyfikować sam siebie, a to byłoby trochę głupie.
Tak dla zupełnej ścisłości i z wrodzonego czepialstwa:
Jest taka właściwość "Default value" dla kontrolek dowolnego typu, tyle że ukryta (private). VI-je nie mają też większych problemów z modyfikacją samych siebie, choć faktycznie duża część(*) właściwości działa tylko w "Edit Mode" (może być modyfikowana tylko przez inne VI-je) - w tym również powyższa. Z tym, że oczywiście czynienie tych zmian permanentnymi ma sens tylko w środowisku. Poza nim (w EXE) zmiany albo nie będą się zapisywały, albo w ogóle nie będą dopuszczalne.

- duża część w odniesieniu do wszystkich właściwości. W odniesieniu do normalnie widocznych właściwości byłaby to chyba mniejszość.
Re: Zmiana wartości domyślnej kontrolki numeric
: 29 gru 2009 18:57
autor: jogurt_owocowy
Wszystko się zgadza, przy czym temat jest w dziale Interfejs użytkownika, a nie w dziale VI Scripting.
PS. To trochę tak, jakby człowiek, który dopiero co poznał równania kwadratowe (a liczby zespolone jeszcze przed nim) pytał "A co, kiedy delta jest ujemna?". Jaka będzie dla niego najlepsza odpowiedź?
Zmiana wartości domyślnej kontrolki numeric
: 29 gru 2009 19:47
autor: vugie
Ale zaznaczyłem że tylko się czepiam

Re: Zmiana wartości domyślnej kontrolki numeric
: 29 gru 2009 20:49
autor: Mikrobi
vugie pisze:Z tym, że oczywiście czynienie tych zmian permanentnymi ma sens tylko w środowisku. Poza nim (w EXE) zmiany albo nie będą się zapisywały, albo w ogóle nie będą dopuszczalne.
I stąd wlasnie podejście aby zastosować plik ini i wpis przez zmienne lokalne do kontrolek podczas inicjalizacji programu.
Zabierze to trochę czasu od strony warsztatu, poznania plików ini i pracy z nimi, ale się opłaci moim skromnym zdaniem.

Re: Zmiana wartości domyślnej kontrolki numeric
: 29 gru 2009 22:30
autor: vugie
No to żeby moje 3 grosze były bardziej merytoryczne, polecam bibliotekę
OpenG Variant Config, z którą zapis i odczyt z pliku INI pojedyńczego klucza, klastra lub nawet całego Front Panelu jest jak bułka z masłem.
Edit: Dla pełnego obrazu to jest jeszcze PUBLICZNA metoda VI.Default Values.Make Current Default
