Obiekty kontrolne i prezentacyjne pulpitu aplikacji

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
Programowanie obiektowe
Wprowadzenie do języka skryptowego PHP
Wprowadzenie do języka skryptowego PHP – cz. 2
PROGRAMOWANIE STRUKTURALNE
20/09/ Języki programowania 1 Piotr Górczyński Kreator form.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Wstęp do programowania obiektowego
Zdarzenia w programach VI (zdarzenia rejestrowane dynamicznie)
Podstawowe węzły VI (wykład 3).
Podstawy programowania aplikacji w środowisku graficznym LabView
Aplikacja jako automat skończony
Technika kreowania podprogramu w LabView ( Konstruowanie subVI i konfigurowanie jego własności ) Wykład 3.
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Malowanie na ekranie- Paint (Paintbrush).
Excel Wstęp do laboratorium 3..
Inżynieria Oprogramowania
Podstawy programowania
Podstawy programowania II
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
LabVIEW Technologie informacyjne – laboratorium Irmina Kwiatkowska
Podstawy programowania
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Excel Wykład 3.. Importowanie plików tekstowych Kopiuj – wklej Małe pliki Kolumny oddzielone znakiem tabulacji Otwieranie/importowanie plików tekstowych.
TABLICE C++.
Wprowadzenie do obsługi programu PowerPoint
Opracowanie Dorota Libera
ANNA BANIEWSKA SYLWIA FILUŚ
Konfiguracja systemu Windows
Dziedziczenie Maciek Mięczakowski
Wzorce slajdów, animacje, różne orientacje slajdów
Style i szablony w Wordzie
Robimy własne notatki - Notatnik
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Podstawy informatyki 2013/2014
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Tworzenie komiksu MS PowerPoint Beata Sanakiewicz.
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Programowanie w języku C++
Wzorce slajdów programu microsoft powerpoint
Aplikacje internetowe Projektowanie formularzy Część 2.
Temat 7: Instrukcje warunkowe
MS Office MS PowerPoint 2007
Programowanie strukturalne i obiektowe C++
Wzorce slajdów, animacje, różne orientacje slajdów
Formatowanie dokumentów
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
Ms Access Raporty Marzena Nowakowska WZiMK, PŚk
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Tworzenie wykresów część I
Style i szablony w MS Word 2010
Microsoft® Office Word
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Temat: Tworzenie bazy danych
Wyższa Szkoła Bankowa, Poznań, dr inż. mirosław Loręcki
Wykład 4 Dr Aneta Polewko-Klim
T. 18. E Proces DGA - Działania (operatorka).
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Programowanie Obiektowe – Wykład 2
Ms Access - formularze Marzena Nowakowska WZiMK, PŚk
Wprowadzenie do programowania obiektowego
Najważniejsze informacje dotyczące programu Sway.
Platforma LearningApps
Zapis prezentacji:

Obiekty kontrolne i prezentacyjne pulpitu aplikacji (wykład 2)

Paleta narzędzi : Manipulator panelu sterowania Wybór / ustawienie / rozmiar Edycja tekstów Wykonywanie połączeń Menu podręczne obiektu/węzła Przewijanie okna edycyjnego Punkt zatrzymania programu Sonda (podgląd) wartości Kopiowanie kolorów obiektu Zadawanie koloru tła i obrazu

Belki narzędziowe okien edycyjnych : Okno pulpitu Okno diagramu Wykonaj program Wykonuj program cyklicznie Przerwij wykonywanie programu Pauza / kontynuacja Podgląd wykonania Wejdź do subVI Przeskocz subVI Wyjdź z subVI Manipulowanie ustawieniem obiektów: Wyrównanie Rozłożenie Kolejność Ustawianie atrybutów tekstu:

Paleta obiektów nastawczych i prezentacyjnych (cz.1) Obiekty dostarczające lub korzystające z prostych typów danych : całkowitych (Int8, 16, 32), rzeczywistych (float, double, ext, complex), tekstowych (string) , enumerycznych. Numeric – nastawniki i wyświetlacze numeryczne; dane typu całkowitego lub rzeczywistego (o różnych zakresach). Boolean –przełączniki statyczne i niestatyczne oraz wskaźniki; dane typu boolowskiego. String & Path – teksty i ścieżki dostępu; dane stringowe. List & Table – listy i tablice; dane typu int lub stringowe. Ring & Enum – tekstowo-numeryczne obiekty wyboru; dane typu int lub enum. Grupy tych samych obiektów w stylu systemowym, klasycznym oraz `express`. Obiekty własne – zdefiniowane lub przystosowane przez użytkownika (*.ctl).

Paleta obiektów nastawczych i prezentacyjnych (cz.2) Obiekty dostarczające lub korzystające z złożonych typów danych : tablic (dowolne rozmiary i wymiary), klastrów (odpowiednik stuktur w języku C) . Array & Cluster – złożone nastawniki i wyświetlacze; dane w postaci tablic lub klastrów o określonej budowie. Graph – różnego rodzaju wykresy; dane różnej postaci w zależności od rodzaju wykresu. Np. wykres XY prezentujący jedną krzywą potrzebuje tablicy klastrów o przedstawionej niżej budowie: { Tablica jednowymiarowa struktur:     { Każda struktura jest współrzędną punktu         i składa się z dwóch pól:         { x } i { y }      } } lub { Struktura złożona z dwóch pól:         { Pola z tablicą danych x; } { Pola z tablicą danych y; } }

Paleta obiektów nastawczych i prezentacyjnych (cz.3) Obiekty dostarczające lub korzystające z specyficznych typów danych : refnum (unikalny identyfikator obiektu), resource name (unikalny opis urządzeń systemu) . Refnum – numery referencyjne obiektów różnych klas. Mogą to być numery referencyjne obiektów nastawczych lub prezentacyjnych. I/O – nazwy zasobów I/O systemu komputerowego, np. urządzenia pomiarowego dołączonego do karty GPIB lub wyjścia USB komputera. Obiekty pomocnicze: Dekoracje – służą do wizualnego grupowania lub separowania obiektów pulpitu. Kontenery – służą do grupowania nastawników i wskaźników lub wyświetlenia panelu innego VI . Przykłady: transmitancja.vi oraz sub-panel.

Określenie typu danych nastawnika lub wskaźnika Z menu podręcznego postawionego obiektu należy wybrać pozycję Representation i z rozwiniętego zestawu dostępnych typów wybrać żądany typ danych. Dostępne typy danych dla obiektu Slide. Terminal wejściowy obiektu nastawczego Slide w diagramie. Kolor i opis (DBL) jednoznacznie identyfikują typ dostarczanych danych. Wskaźnik numeryczny skonfigurowany do przyjmowania danych COMPLEX.

Utworzenie nastawnika lub wskaźnika z tablicowym typem danych (1) 1. Postawienie pustego szablonu tablicy. 2. Do pustego szablonu wciągnąć nastawnik (gdy wprowadzanie danych) lub wskaźnik numeryczny (gdy prezentacja). 3. Po wciągnięciu szablon automatycznie dopasowuje się do wprowadzonego obiektu.

Utworzenie nastawnika lub wskaźnika z tablicowym typem danych (2) 4. Tablicę można rozciągnąć i wypełnić danymi. Wcześniej należy określić typ danych pola tablicy. Wykonuje się to identycznie jak dla prostych typów. Terminal wejściowy obiektu nastawczego Array w diagramie. Kolor i opis jednoznacznie identyfikują typ dostarczanych danych, natomiast nawiasy [ ] wskazują , że jest to tablica. 5. W celu utworzenia tablicy wielowymiarowej trzeba skorzystać z menu podręcznego utworzonego obiektu i dodać jeden lub więcej wymiarów. Grube nawiasy [ ] wskazują , że jest to tablica wielowymiarowa.

Nastawnik lub wskaźnik z klastrowym typem danych (1) Klaster nastawników tworzy się za pomocą szablonu identycznie jak nastawnik tablicowy. Wbudowany wskaźnik błędu wykonania szeregu węzłów VI jest klastrem złożonym z trzech pól: Status – typ boolowski Code – typ int Source – typ string.

Nastawnik lub wskaźnik z klastrowym typem danych (2) Klaster nastawników tworzy się często w celu zgrupowania szeregu nastawników pulpitu aplikacji. Jest to związane z przyjmowaną koncepcją rozwiązywania obsługi interfejsu użytkownika. Wprowadzenie stanu wielu nastawników do diagramu przy użyciu jednego terminala wejściowego skutkuje istotnym uproszczeniem zapisu kodu diagramu. Trzy przyciski boolowskie połączone w klaster Terminal wejściowy nastawnika klastrowego oraz węzeł dostarczający elementarne pole danej klastrowej.

Zmienne lokalne i globalne programu VI (rola zmiennej) Obiekty nastawcze pulpitu dostarczają dane do diagramu za pośrednictwem końcówek wejściowych a obiekty wskaźnikowe pulpitu uzyskują dane z diagramu za pośrednictwem końcówek wyjściowych. Z każdym obiektem pulpitu jest związana jedna i tylko jedna końcówka wyjściowa lub wejściowa diagramu. Aplikacja może potrzebować dostępu do tych danych w różnych miejscach a jednocześnie nie zawsze można to uzyskać przewodami przepływu danych. Problem ten rozwiązują zmienne lokalne i globalne. Zmienne lokalne zapewniają dostęp do danych obiektu pulpitu w różnych miejscach pojedynczego programu VI. Zmienne globalne udostępniają i przenoszą dane pomiędzy różnymi, jednocześnie realizowanymi programami VI.

Zmienne lokalne programu VI (kreowanie zmiennej) Utworzenie zmiennej lokalnej w diagramie wymaga: jej wykreowania powiązania z określonym obiektem pulpitu określenia jej przeznaczenia (odczyt lub zapis stanu obiektu ). Powiązanie i określenie przeznaczenia zmiennej wykonuje się wykorzystując menu podręczne zmiennej ; pozycje : Select Item oraz Change To Read/Write.

Zmienne lokalne programu VI (możliwości) Pozwala zapisać lub odczytać daną obiektu panelu niezależnie czy jest on obiektem sterującym czy wskaźnikowym. Operacje te funkcjonują tak samo jak przeniesienie danych do lub z końcówki obiektu w diagramie z tym, że przykładowo zapis zmiennej jest dostępny również w stosunku do obiektów sterujących pulpitu, które formalnie są źródłami danych. Dzięki temu, zmienne lokalne można wykorzystać nie tylko do uzyskania aktualnego stanu określonego obiektu sterującego w różnych miejscach diagramu programu, ale także do modyfikacji jego ustawienia, np. ustawienia przełącznika w pewnym stanie.

Zmienne lokalne programu VI (przykład zastosowania) Aplikacja potrzebuje dostępu do stanu przełącznika STOP w dwóch miejscach a nie można tego uzyskać przepływem danych. Końcówka wejściowa obiektu STOP znajduje się wewnątrz jednej z pętli. Z powodu równoległości działania obu pętli, nie można zastosować połączenia przepływu danych z tej końcówki do terminala kontynuacji drugiej pętli. Można jednak utworzyć zmienną lokalną związaną z obiektem STOP i wykorzystać ją w drugiej pętli. W tej sytuacji użycie STOP przerywa działanie obu pętli. Przykłady: P_var_local/main.vi

Zmienne globalne VI : Pozwala przekazywać dane pomiędzy programami VI realizowanymi na danej maszynie lub podprogramami danej aplikacji. Przykład pokazuje przekazywanie danych w ramach jednej aplikacji: Zmienną globalną jest program VI zawierający wyłącznie pulpit z obiektami kontrolnymi, które stanowią kontenery przechowywanych danych. W celu utworzenia zmiennej należy postawić jej węzeł w konstruowanym diagramie i przejść do edycji VI tworzącego tę zmienną. Pulpit VI tworzącego zmienną musi zawierać obiekty odpowiadające typom przechowywanych danych. Zmienna może przechowywać wiele danych (wiele obiektów kontrolnych na pulpicie). Jeśli zmienna została wcześniej zdefiniowana (jest odpowiednie VI) wówczas wstawienie węzła zmiennej realizuje się identycznie jak węzła dowolnego subVI. Przykłady: P_var_global/main.vi

Własności obiektów nastawczych i prezentacyjnych (1) Każdy z obiektów pulpitu charakteryzuje się bogatą listą własności. Są to : zakres nastaw, rozdzielczość, rodzaj skali (lin/log), sposób opisu i jego precyzja, etykiety, widoczność, kolory itd. Własności te można określać statycznie na etapie edycji programu za pomocą dostępnych narzędzi oraz menu podręcznego obiektów. Można też manipulować programowo własnościami obiektu pulpitu w czasie działania programu. Umożliwia to węzeł własności obiektu – Property Node: Dynamiczne wiązanie pozwala na manipulowanie elementami pulpitu programu VI z poziomu jego podprogramów (subVI).

Kreowanie węzła własności obiektu pulpitu (1) Węzeł Property Node pobiera się z palety funkcji z grupy Application Control. Powstaje węzeł ogólny, który należy powiązać dynamicznie lub statycznie z obiektem pulpitu. Wiązanie statyczne realizuje się za pomocą menu podręcznego wybierając pozycję Link to. Jest ona dostępna jeśli wejście referencji nie jest podłączone. Po wskazaniu konkretnego obiektu powstaje węzeł jego własności dla którego trzeba teraz wytworzyć pola dostarczające aktualne własności lub pola zapisu modyfikujące je.

Kreowanie węzła własności obiektu pulpitu (2) Okno z listą dostępnych własności. Widać tylko fragment listy. Menu podręczne pozwala konfigurować węzeł: Add Element – dodanie pola Properties – wybranie własności obiektu Change To ..... – ustawienie pola do odczytu lub zapisu

Szybka metoda kreowania węzłów związanych z obiektem kontrolnym Pozycja Create menu podręcznego terminala wejściowego/wyjściowego obiektu pozwala szybko utworzyć zmienną lokalną, węzeł własności lub referencję do tego obiektu. Zmienna lokalna Węzeł własności obiektu Referencja do obiektu Węzeł wykonania metod obiektu Przykłady: P_referencja oraz P_invoke.

Przykład wykorzystania węzła własności obiektu (1): Programowa modyfikacja własności obiektów pulpitu. Wykorzystanie własności: Disabled – uniemożliwienie manipulacji Visible – widoczność obiektu Przykłady: P_property/blok_nast.vi.

Przykład wykorzystania węzła własności obiektu (2): Suwak ustawiający zakres częstotliwości ( działanie nastaw3_log.vi ): Fmax zawsze większa lub równa Fmin. Zakres Min i Max nastawnika modyfikuje się automatycznie.

Przykład wykorzystania węzła własności obiektu (cd 2) If (Fmin <= Scale_Min) New_Scale_Min = Scale_Min/10; If (Fmin > 10*Scale_Min) New_Scale_Min = Scale_Min*10; Przykłady: P_property/nastaw3_log.vi

Przykład wykorzystania referencji obiektu : Podprogram otrzymuje referencję do obiektu pulpitu programu głównego i dlatego może podczas swojego działania prezentować dane za pomocą obiektu określonego referencją (tutaj XYGraph). Klasyczne rozwiązanie to dostarczenie danych przez wyjście podprogramu. Ale wtedy prezentacja na XY Graph miałaby miejsce dopiero po wykonaniu podprogramu. Przykłady: P_referencja/main.vi oraz P_referencja/main_progres.vi

Przykład wykorzystania metody obiektu (invoke node) : Konstrukcja sekwencji realizuje trzy stany : inicjalizacji, obliczeń, kopiowania wykresu. Inicjalizacja: Zastosowano metody Reinit To Default w celu usunięcia tablicy (pusta tablica) oraz wyzerowania wykresu. Powrót do stanu domyślnego nie musi oznaczać wyzerowania obiektu! Konfigurując obiekt można ustalić jego stan domyślny. Obliczenia: Przykład zastosowania referencji do przedstawienia postępu obliczeń wykonywanych przez podprogram za pomocą obiektu pulpitu programu głównego. Kopiowanie: Zastosowanie metody Export Image do utworzenia kopii wykresu w schowku. Należy określić typ pliku graficznego oraz miejsce przeznaczenia (plik lub schowek). Przykłady: P_invoke/invoke.vi

Definiowanie typów obiektów pulpitu (cel) Problem dotyczy obiektów definiowanych przez użytkownika: enumerycznych, klastrów, tablic. Definiuję nastawnik w postaci klastra z trzema polami danych. W aplikacji wykorzystuję stałe oraz wskaźniki o takiej samej budowie (ten sam typ). Zachodzi potrzeba przekonstruowania nastawnika polegająca na dodaniu dodatkowego pola danych. Po modyfikacji program ma błędy, ponieważ dotychczasowe wskaźniki i stałe nie uległy zmianie. Programista musi dokonać modyfikacji budowy wszystkich stałych i wskaźników, także nastawników, jeśli jest ich więcej. Przy złożonym programie jest to bardzo kłopotliwa modyfikacja. Można temu zaradzić definiując typ obiektu kontrolnego.

Definiowanie typów obiektów pulpitu (realizacja) Po zdefiniowaniu nastawnika, trzeba go zaznaczyć i wybrać Customize Control (przystosowanie obiektu). Otwiera się okno budowania obiektu kontrolnego. Wybrać wersję Type Def i zapisać wersję kontrolki w pliku o unikalnej nazwie. Dostanie rozszerzenie ctl . Aby zmodyfikować kontrolkę, np. przez dodanie nowego pola, należy otworzyć ten plik i dokonać zmiany. Po zapisaniu zmiany kontrolki, w konstruowanej aplikacji automatycznie wykonają się modyfikacje wszystkich elementów związanych z tym typem obiektu.