Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).



Podobne dokumenty
Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Sposoby przekazywania parametrów w metodach.

Programowanie zaawansowane

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

Wprowadzenie do kompilatorów

Programowanie obiektowe

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!

Język programowania. Andrzej Bobyk

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku

Programowanie Obiektowe

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego

Zadania do wykonaj przed przyst!pieniem do pracy:

msgbox("akcja: Początek, argument: " + argument.tostring()); Thread.Sleep(1000); //opóźnienie msgbox("akcja: Koniec"); return DateTime.Now.

Proces tworzenia programu:

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy

Informatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min)

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Gramatyki regularne i automaty skoczone

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Programowanie zdarzeniowe

Projektowanie bezpiecze stwa sieci

Programowanie komputerowe. Zajęcia 7

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Wykład 8: klasy cz. 4

WYKŁAD 12. Wzorce projektowe czynnociowe State Mediator

Materiały do zajęć VII

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API

Aplikacje w środowisku Java

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Obsługa zdarzeń. Wykład 4

Enkapsulacja, dziedziczenie, polimorfizm

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Aplikacje RMI

Wskaźniki do funkcji i metod

Java - interfejs graficzny

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

stopie szaro ci piksela ( x, y)

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Podstawowe obiekty AutoCAD-a

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

Leszek Stasiak Zastosowanie technologii LINQ w

Wykład 3 Składnia języka C# (cz. 2)

Graphic User Interfaces pakiet Swing

Wykład 5: Klasy cz. 3

LABORATORIUM INFORMATYKI 0

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11

Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow):

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Instrukcja laboratoryjna nr.4

Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API

Programowanie obiektowe i zdarzeniowe

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Applety Java. Applety są przykładem kodu Java wykonywanego po stronie klienta, ale bez ujawnionej (jak w przypadku skryptu) wersji źródłowej

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 4. Karol Tarnowski A-1 p.

Języki i metody programowania Java. Wykład 2 (część 2)

Projektowanie algorytmów rekurencyjnych

Spis treści. 1 Java T M

Nowe funkcje w programie SYMFONIA Faktura Premium w wersji 2009

Technologie i usługi internetowe cz. 2

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Programowanie 2. Język C++. Wykład 3.

Wymagania oceniające dla klasy II 2018/2019

GUI - projektowanie interfejsów cz. II

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Qt - podstawowe cechy

MVVM Light Toolkit. Julita Borkowska

Multimedia JAVA. Historia

Smarty PHP. Leksykon kieszonkowy

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych,

Podstawy Programowania Obiektowego

Podstawy Programowania 2

Program Sprzeda 2012

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW

Programowanie - wykład 4

Instrukcja obsługi programu DIALux 2.6

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

PARADYGMATY PROGRAMOWANIA Wykład 4

ZPKSoft. Kreator dokumentów. Wstp. Przeznaczenie. Definicje

Programowanie obiektowe

Delphi podstawy programowania. Środowisko Delphi

using System;... using System.Threading;

Kurs programowania 2 - listy

Instrukcja obsługi programu Pilot PS 5rc

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

Metody Metody, parametry, zwracanie wartości

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Diagram stanów Laboratorium 9

Transkrypt:

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe albo sterowane zdarzeniami to paradygmat programowania według którego program jest cały czas bombardowany zdarzeniami (events), na które musi odpowiedzie, i e przepływ sterowania w programie jest całkowicie niemoliwy do przewidzenia z góry. Programowanie zdarzeniowe jest dominujcym typem programowania GUI - zdarzenia to nacinicia myszy, klawiszy, dania odwieenia przez system okienkowy, róne zdarzenia sieciowe i inne. Jest te uywane przez wysoce wydajne serwery sieciowe - zdarzeniami s tu dania połczenia, nadejcie danych do odbioru, zwolnienie si miejsca w buforach wysyłania odbiorów, itd. [http://pl.wikipedia.org/wiki/programowanie_zdarzeniowe] W programowaniu zdarzeniowym wane jest eby nie obsługiwa zbyt długo danego zdarzenia, bo blokuje si w ten sposób obsług innych. W przypadku serwerów obniyło by to znacznie wydajno, w przypadku GUI program zbyt wolno odpowiadałby na akcje uytkownika [http://pl.wikipedia.org/wiki/programowanie_zdarzeniowe]

owe sytuacje, w których generowane s zdarzenia: kliknicie myszk, przesuwanie myszki, koczenia otwierania dokumentu, nacinicie klawisza na klawiaturze, wysunicie kartki w drukarce. Zdarzenia w postaci specjalnych rekordów s przechowywane przez system operacyjny w tzw. kolejkach zdarze (ang. event queues) zbudowanych w oparciu o struktur FIFO. Kade zdarzenie wpada do jednej lub wikszej liczby kolejek. Np. zdarzenia klawiatury wpadaj tylko do kolejki aktywnej aplikacji, a zapytanie o moliwo zamknicia systemu do kolejek wszystkich aplikacji. Aplikacja odczytuje swoj kolejk zdarze i podejmuje odpowiednie akcje okrelone przez programist. 2. Zdarzenia: delegacje, tworzenie zdarze a) Delegacje Gdy projektowana klasa powinna by uniwersalna, elastyczna i odpowiada na potrzeby rónych innych klas, to cz pracy tych klas w postaci realizacji wybranych metod musi by oddelegowana do metod tych innych klas, a klasa musi jedynie widzie, o któr metod chodzi. To zadanie jest moliwe dziki delegacjom, a delegacje z kolei stanowi podstaw mechanizmu zdarze. Załómy, e projektuje klas, która wykonuje operacje na pewnym zbiorze danych. Na zakoczenie pracy mamy umoliwi tej klasie zapisanie danych. Proces zapisu danych z obiektu moe by na tyle zrónicowany, e konieczne jest oddelegowanie pracy do metod innych klas, przygotowanych specjalnie do tego celu.

class Dane int x;. //definicje metod klasy Dane public delegate void Zapisz(int x); // deklaracja delegacji public Zapisz metoda; // deklaracja zmiennej typu delegacji Ogólna deklaracja delegacji: [modyfikator] delegate typ_wyniku_metody nazwa_delegacji(lista parametrów); Ogólna deklaracja zmiennej typu delegacji: [modyfikator] nazwa_delegacji nazwa_zmiennej; metody, która spełnia warunki do tego, aby mogła by ta metoda przechowywana w delegacji typ Zapisz. void Zapis_ tekstowy(int x) // tre metody Powysza metoda powinna by oczywicie zawarta w klasie, która zajmuje si zapisywaniem danych. W klasie takiej powinny by zawarte inne wersje metod zapisujcych dane.

class Zapis_Danych public void Zapis_tekstowy(int x) // tre metody public void Zapis_ binarny(int x) // tre metody Zapis danych Dane public delegate void Zapisz(int x); b) Wykorzystywanie zdarze Prac ze zdarzeniami mona realizowa w postaci: wykorzystania gotowych zdarze, definiowania oryginalnych zdarze. Definiowanie zdarze jest duo bardziej skomplikowane. W niniejszym wykładzie poznamy jedynie sposób wykorzystania zdarze. Zdarzenie jest udostpnione przez klas, dziki czemu mona do niego przypisywa obiekty metod delegowanych. Podstawow delegacj, która jest zwizana wikszoci prostych zdarze jest, EventHandler, która ma nastpujc posta:

public delegate void EventHandler(Object sender, EventArgs e); Argument sender klasy Object przechowuje obiekt, który wygenerował zdarzenie. Klasa Object jest klas bazow wszystkich klas. Klasa zostanie dokładniej omówiona w jednym z kolejnych wykładów. W miejsce parametru sender moe by wstawiony obiekt dowolnej klasy zdefiniowanej w jzyku C#. Drugi argument e klasy EventArgs, jest zaleny od rodzaju zdarzenia. W tym obiekcie s przechowywane dodatkowe informacje na temat zdarzenia. Klasa EventArgs jest równie klas bazow dla wszystkich klas zwizanych z argumentami zdarze. W przypadku zdarze zwizanych z mysz (nacinicie czy zwolnienie przycisku myszy) w miejsce tego obiektu pojawia si obiekt klasy MouseEventArgs, która udostpnia współrzdne myszy. Zdarzenia zwizane z rysowaniem obiektów graficznych dysponuj obiektem klasy PaintEventArgs, za porednictwem którego mona wykonywa samodzielnie operacje graficzne. Dodawanie metody delegowanej do zdarzenia Click obiektu przycisk klasy Button. Button przycisk = new Button(); przycisk.click += new EventHandler(przycisk_Click); odłczenie metody delegowanej do zdarzenia Click obiektu przycisk klasy Button (przycisk). przycisk.click -= przycisk_click;

owa metoda, która spełnia załoenia delegacji EventHandler. public void przycisk_click(object sender, EventArgs e) MessageBox.Show( Kliknito przycisk! ); 3. Elementy Windows Application (WPF Windows Presentation Foundation) Pokaz rodowiska i etapów tworzenia pierwszej aplikacji WPF. Aplikacja wyk31, po podaniu pierwszego wyrazu i ilorazu cigu geometrycznego oblicza sum nieskoczonego cigu geometrycznego, gdy iloraz jest ułamkiem. Gdy iloraz nie jest ułamkiem wywietla si komunikat Podano błdne wartoci