180 likes | 298 Views
PB069 – Vývoj desktopových aplikací v C#/.NET. RNDr. Jaroslav PELIKÁN, Ph.D . katedra počítačových systémů a komunikací Fakulta informatiky Masarykovy univerzity Šumavská 15, 602 00 BRNO Kanc. G409, : +420 – 549 495 751 E-mail: pelikan@fi.muni.cz http://www.fi.muni.cz/usr/pelikan.
E N D
PB069 – Vývoj desktopových aplikací v C#/.NET RNDr. Jaroslav PELIKÁN, Ph.D. katedra počítačových systémů a komunikací Fakulta informatiky Masarykovy univerzity Šumavská 15, 602 00 BRNO Kanc. G409, : +420 – 549 495 751 E-mail: pelikan@fi.muni.cz http://www.fi.muni.cz/usr/pelikan
Cíle předmětu (1) • Seznámit studenty se základními postupy a technikami používanými při tvorbě pro-gramů určených pro práci v prostředí ope-račních systémů MS Windows • Předmět je zaměřen na vývoj jednoduchých aplikací společně s jejich grafickým uživa-telským rozhraním
Cíle předmětu (2) • Na konci tohoto kurzu student bude: • znát principy a zásady událostmi řízeného progra-mování • seznámen s vývojovým prostředím MS Visual Studio, rozhraním Windows Forms a s Windows Presentation Foundation • znát pravidla pro tvorbu grafických uživatelských rozhraní aplikací • schopen používat základní třídy rozhraní Windows Forms a Windows Presentation Foundation • schopen vytvářet aplikace pracující v prostředí MS Windows společně s jejich grafickým uživatelským rozhraním
Používané technologie • Výuka probíhá s využitím: • programovacího jazyka C# • platformy MS .NET Framework • rozhraní Windows Forms • rozhraní Windows Presentation Foundation • vývojového prostředí MS Visual Studio 2013: • studenti Fakulty informatiky mohou některou z plných verzí (Professional, Premium, Ultimate) získat přes MSDN Academic Alliance
Vstupní předpoklady • Znalost: • základů programování a algoritmizace • syntaxe programovacího jazykaC/C++ • operačního systému MSWindows (na uživatelské úrovni) • vhodná je i znalost principů OOP
Osnova (1) • Událostmi řízené programování • Model programu pro MS Windows • Programovací jazyk C# • Objektově orientované programování: • datový typ třída – členy třídy • Jmenné prostory • Principy OOP: • zapouzdření • dědičnost • polymorfismus
Osnova (2) • Windows Forms: • základní třídy • práce s formuláři a ovládacími prvky • reakce na události • dialogová okna • standardní dialogy • Práce s grafikou • Výjimky a jejich obsluha • Zásady tvorby uživatelského rozhraní
Osnova (3) • Tisk z prostředí MS Windows • Práce se schránkou (Clipboard) • Podpora funkcí Drag & Drop • Práce s výpočtovými vlákny – multithreading • Práce s registry • Úvod do WPF • Zkouška
Zkouška • Hodnocení předmětu se bude skládat z: • hodnocení práce během semestru: • 1 písemka v C#/.NET (max. 10 bodů) • tvorba samostatného projektu (max. 10 bodů) • hodnocení závěrečné zkoušky: • 1 písemka v C#/.NET (max. 20 bodů) • Výsledné hodnocení: • A: 37 – 40 bodů D: 27 – 29 bodů • B: 34 – 36 bodůE: 23 – 26 bodů • C: 30 – 33 bodůF: 22 bodů a méně
Požadavky ke zkoušce • Získat zápočet ze cvičení • Požadavky k zápočtu: • maximálně 2 neomluvené neúčasti na cvičení za semestr • při ukončení předmětu zápočtem: • napsání průběžné písemky na min. 5 bodů • vytvoření samostatného projektu na min. 5 bodů • při ukončení předmětu zkouškou: • získat dohromady (za písemku i projekt) min. 10 bodů • Získat zbývající potřebný počet bodů u závě-rečné zkoušky
Důležité poznámky (1) • K vykonání zkoušky je nezbytné mít v poz-námkových blocích na ISu zapsáno, že byly splněny veškeré požadavky na zápočet (nejpozději 12 hodin před začátkem zkoušky) • Bodové hodnocení ze semestru je vstupním bodovým hodnocením pro udělení známky ze zkoušky a není možné bez něj zkoušku vykonat • Změny ukončení předmětu budou povolová-ny pouze do začátku zkouškového období
Důležité poznámky (2) • Studenti opakující předmět, kteří mají zápo-čet z minulého roku, jsou povinni: • cvičení absolvovat • splnit veškeré požadavky v něm kladené • získat tak zápočet znovu (zápočty z minulého roku se v žádném případě neuznávají)
Důležité poznámky (3) • Během zkouškové i průběžné písemky je možné používat: • elektronickou nápovědu k: • MS Visual Studio 2013 • Win32 API a Windows Forms, popř. WPF • libovolnou literaturu a poznámky z přednášek • Během písemek není možné používat: • již hotové programové celky (ve zdrojovém ani přeloženém tvaru) • výpisy programů, které nejsou součástí elektro-nických nápověd a již publikovaných materiálů
Literatura • Pelikán, Jaroslav: Prezentace k přednáškám z před-mětu PB069 Vývoj desktopových aplikací v C#/.NET, http://www.fi.muni.cz/usr/pelikan • Griffiths, Ian – Adams, Matthew – Liberty, Jesse: Programming C# 4.0, O’Reilly Media 2010, ISBN: 978-0-596-15983-2 • Petzold, Charles: Programování Microsoft Windows Forms v jazyce C#, Computer Press 2006, ISBN: 80-251-1058-3 • Sharp, John: Microsoft Visual C# 2010, Computer Press 2010, ISBN: 978-80-251-3147-3 • Petzold, Charles: Programování ve Windows, Computer Press 1999, ISBN: 80-7226-206-8
Rysy MS Windows • Možnost multitaskingu a multithreadingu • Možnost Clipboardu, DDE a OLE • Více dostupné operační paměti • Strojově nezávislá grafika • Přímá podpora jednotlivých zařízení (tiskárna, myš, ...) • Podpora pro vytváření menu, ikon, bitových map, dialogových rámců atd.
Program pro MS Windows (1) • Operační systém MS Windows je založen na událostmi řízené architektuře (event-driven architecture) • S veškerými uživatelskými vstupy (z kláves-nice, myši, ...) se zachází jako s událostmi • Pro každou událost Windows generují zprávu (message): • např. při stisku levého tlačítka myši je generována zpráva WM_LBUTTONDOWN • Těchto zpráv je ve Windows cca 300
Program pro MS Windows (2) • Pro vývoj programů MS Windows 95 (98, Me, NT, 2000, XP, Vista, 7, 8) poskytují tzv. Win32 API (Windows 32Application Programming Interface) • Win32 API obsahuje více než 1000 funkcí, které je možné při tvorbě programu využít • Vzhledem k velkému množství těchto funkcí a velkému počtu parametrů, které vyžadují, je (byla) tvorba programu poměrně náročná
Program pro MS Windows (3) • Program pro Windows pracuje obvykle v ná-sledujících základních krocích: • registrace okenní třídy • vytvoření hlavního okna aplikace • provádění cyklu, který očekává příchod události (zprávy) • v okamžiku příchodu zprávy následuje její předání obslužné funkci okna • cyklus končí s příchodem zprávy ukončující aplikaci