Lista komunikatów
Lista komunikatów
Witam,
zastanawiam się nad sposobem zrobienia konsoli w formie listy, gdzie tylko wyświetlane będą komunikaty tekstowe po określonym zdarzeniu (np. przekroczenie progu itp). Chciałbym aby to wyglądało podobnie jak w większości konsol, czyli najnowszy komunikat dodany jako ostatnia linia, poprzednie wyświetlane powyżej i problemem dla mnie jest właśnie zachowywanie i przesuwanie poprzednich komunikatów.
Od której strony można do tego podejść? Rejestry? Budowanie tablicy?
Przeszukiwałem forum i chyba nawet znalazłem podobny temat, lecz linki w nim są już nieaktualne i nie jest zbytnio pomocny.
zastanawiam się nad sposobem zrobienia konsoli w formie listy, gdzie tylko wyświetlane będą komunikaty tekstowe po określonym zdarzeniu (np. przekroczenie progu itp). Chciałbym aby to wyglądało podobnie jak w większości konsol, czyli najnowszy komunikat dodany jako ostatnia linia, poprzednie wyświetlane powyżej i problemem dla mnie jest właśnie zachowywanie i przesuwanie poprzednich komunikatów.
Od której strony można do tego podejść? Rejestry? Budowanie tablicy?
Przeszukiwałem forum i chyba nawet znalazłem podobny temat, lecz linki w nim są już nieaktualne i nie jest zbytnio pomocny.
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
Lista komunikatów
Witaj
Wiele tu zależy od architektury twojego projektu, pomysłów może być wiele. Ja bym zrobił subVI, który ma na stałe ustaloną referencję do indykatora typu string i jedno wejście na string zawierający tekst który chcesz dopisać. Każde wywołanie spowoduje odczytanie zawartości kontrolki i dopisanie tekstu na górze. Dodatkowo możesz stworzyć Case Structure wewnątrz i zaimplementować kilka różnych funkcji tego subVI, np. 'zapisz do pliku', 'wyczyść' itd.
Wiele tu zależy od architektury twojego projektu, pomysłów może być wiele. Ja bym zrobił subVI, który ma na stałe ustaloną referencję do indykatora typu string i jedno wejście na string zawierający tekst który chcesz dopisać. Każde wywołanie spowoduje odczytanie zawartości kontrolki i dopisanie tekstu na górze. Dodatkowo możesz stworzyć Case Structure wewnątrz i zaimplementować kilka różnych funkcji tego subVI, np. 'zapisz do pliku', 'wyczyść' itd.
Pozdrawiam, Maciek Antonik
Edu4Industry
Edu4Industry
Re: Lista komunikatów
dzięki za odpowiedź,
załóżmy, że wyjściowa sytuacja jest jak w załączniku - lista potrzebnych komunikatów jest w formie arraya i po wybraniu numeru komunikat jest wyświetlany. docelowo zamiast kontrolki numerica będą warunki programu, ale na tym etapie numeric jest wystarczający.
Pomysł jaki proponujesz wydaje mi się, że rozumiem, gorzej z jego przełożeniem na praktykę - w jaki sposób zaimplementować to dopisywanie na górze o którym piszesz?
załóżmy, że wyjściowa sytuacja jest jak w załączniku - lista potrzebnych komunikatów jest w formie arraya i po wybraniu numeru komunikat jest wyświetlany. docelowo zamiast kontrolki numerica będą warunki programu, ale na tym etapie numeric jest wystarczający.
Pomysł jaki proponujesz wydaje mi się, że rozumiem, gorzej z jego przełożeniem na praktykę - w jaki sposób zaimplementować to dopisywanie na górze o którym piszesz?
Re: Lista komunikatów
Udało się rozwiązać sprawę
Jest przykład "Event tracking.vi" i po drobnych modyfikacjach nadaje się do mojego zastosowania

Jest przykład "Event tracking.vi" i po drobnych modyfikacjach nadaje się do mojego zastosowania

Re: Lista komunikatów
Niestety muszę odświeżyć temat. O ile na podstawie powyższego przykładu zrobiłem działa wyświetlanie komunikatów przy ich wybraniu kontrolką (slidem), to nie potrafię połączyć tego z działającym programem, tj. aby dla warunku kiedy świeci indicator, wyświetlany był także któryś z komunikatów.
Z różnych wątków wyczytałem, że w case structure powinno się użyć zamiast zwykłego value change, user event, ale nie potrafię tego prawidłowo poskładać.
Będę wdzięczny za wszelkie wskazówki.
Z różnych wątków wyczytałem, że w case structure powinno się użyć zamiast zwykłego value change, user event, ale nie potrafię tego prawidłowo poskładać.
Będę wdzięczny za wszelkie wskazówki.
- Załączniki
-
- komunikaty.vi
- (28.28 KiB) Pobrany 237 razy
-
- Posty: 110
- Rejestracja: 18 sty 2006 00:00
- Wersja środowiska: LabVIEW 2010
- Lokalizacja: Bydgoszcz
Re: Lista komunikatów
Niestety nie mogę podejrzeć programu, bo nie mam wersji 2009, natomiast struktura Event nie działa na programowe zmiany wartości (czyli np. na zaświecenie diody spowodowane przekroczeniem założonej wartości). Pozostaje obsługa poprzez strukturę CASE.
smiglo
Re: Lista komunikatów
Spróbowałem z zamianą event na case i nawet zadziałało wykrycie warunku, tylko komunikat jest wypisywany za każdą iteracją pętli. Można to jakoś odfiltrować?
W załączniku pierwotna wersja z eventem, dla LV8.5 Tutaj po ręcznej zmianie wartości suwaka "komunikat" wyświetlanie działa dokładnie tak jak chcę aby to wyglądało.
W załączniku pierwotna wersja z eventem, dla LV8.5 Tutaj po ręcznej zmianie wartości suwaka "komunikat" wyświetlanie działa dokładnie tak jak chcę aby to wyglądało.
- Załączniki
-
- komunikaty.vi
- LV8.5
- (28.09 KiB) Pobrany 263 razy
-
- Posty: 110
- Rejestracja: 18 sty 2006 00:00
- Wersja środowiska: LabVIEW 2010
- Lokalizacja: Bydgoszcz
Re: Lista komunikatów
Z Case może być tak.
- Załączniki
-
- komunikaty2.vi
- (17.13 KiB) Pobrany 254 razy
smiglo
Re: Lista komunikatów
Idealne, dzięki bardzo.