Cílem předmětu je seznámit posluchače s moderními prostředky pro tvorbu aplikací pro Windows jmenovitě s programovou platformou.net a programovacím jazykem C#. V průběhu budou vysvětlena následující témata: 1. Platforma.NET, základy programovacího jazyk C# 2. Pokročilé vlastnosti jazyka C#, knihovna BCL (Base Class Library) 3. Tvorba aplikací pomocí WinForms 4. Uživatelské a vlastní ovládací prvky, knihovna System.Drawing 5. Přehled:.NET Remoting, C# 2.0, Cω Způsob zakončení: [1] Robinson, Allen, Cornes, Glynn, Greenvoss, Harvey, Nagel, Skinner, Watson: C# Programujeme profesionálně (Computer Press 2003, ISBN 80-251-0085-5) [2] Charles Petzold: Programování MICROSOFT Windows v jazyce C# (Softpress 2003, ISBN 80-86497-54-2) [3] on-line dokumentace vývojových produktů společnosti Microsoft: http://msdn.microsoft.com/library/default.asp Zápočet se uděluje za aktivní účast a vypracování a odevzdání zápočtového programu.
Metodický list č. 1 Název hodiny: Úvod do C# Seznámení s platformou.net a základy programování v jazyku C#. Cílem je seznámit se se s jazykem C#, jeho základními rysy (typy, operátory, řídící struktury, ). Dále se soustředíme na některé objektové vlastnosti, které budeme dále potřebovat při programování aplikací (dědičnost, statické/virtuální metody, konstruktory, výjimky, ). Aby bylo čím začít, ukážeme si vše na jednoduchém programu, a naučíme se používat některé vlastnosti třídy Console, která umožňuje komunikaci s uživatelem (vstup a výstup) programům pracujícím v textovém režimu. [1] kap. 2--4 [2] kap. 1 Historie platformy.net Vývojová prostředí pro.net a C# (.NET a Linux) První program: Prázdný program Třídy Jmenné prostory (namespaces) Druhý program: Hello World Třída Console Základní datové typy Výrazy a operátory Řídící struktury --- podmínky, iterace Statické metody Výjimky (exceptions) --- ošetření a vyvolání Vytváření a rušení instancí tříd Garbage Collection Konstruktory/destruktory Dědičnost Rozhraní
Metodický list č. 2 Název hodiny: Knihovna BCL Dokončíme seznámení s jazykem C# - vyzkoušíme si některé jeho pokročilé vlastnosti. Dále se seznámíme se základními třídami, které platforma.net poskytuje pro tvorbu aplikací v C# formou knihovny BCL. [1] kap. 12 [2] dodatek A, C Jazyk C# vlastnosti, delegáti, události Kolekce třídy ArrayList, SortedList, Queue, Stack, Hashtable Řetězce třída String Proudy práce se soubory (čtení a zápis binárních souborů, čtení a úpravy textových souborů
Metodický list č. 3 Název hodiny: Úvod do Windows Forms Seznámení s knihovnou System.Windows.Forms. Knihovna je určena pro vytváření aplikací s grafickým rozhraním. V tomto případě se soustředíme na vytváření standardních oken aplikací obsahujících základní prvky uživatelského rozhraní, jako jsou tlačítka či seznamy. Naučíme se ale také vytvářet vlastní dialogová okna a používat dialogová okna předdefinovaná systémem Windows, tzv. common dialogs. [1] kap. 7 [2] kap. 2, 10, 12, 14, 16, 18, 22 Formuláře (třída Form) Ovládací prvky - text (třída Label) - tlačítko (třída Button) - zaškrtávátko (třída CheckBox) - radio-button (třída RadioButton) - seznam (třída ListBox) Třída Panel Nabídky (třídy MainMenu, ContextMenu, MenuItem) Dialogy "Common" dialogy Časovač (Třída Timer)
Metodický list č. 4 Název hodiny: Uživatelské a vlastní ovládací prvky, kreslení V prostředí.net, a tedy i v jazyku C#, je mnoho dostupných ovládacích prvků. V této hodině se seznámíme se způsobem, jak vytvořit svůj vlastní ovládací prvek. S tím souvisí knihovna System.Drawing, kterou budeme používat pro kreslení uživatelského obsahu ovládacího prvku. [1] kap. 16, 19 [2] kap. 5--9, 11, kap. 12 (částečně), 13, 17 Jednoduchý uživatelský ovládací prvek Odvozený uživatelský ovládací prvek Složený uživatelský ovládací prvek Kreslení tvarů - třída Graphics.Draw... (čára, obdélník, polygon, text, elipsa, výseč, koláč,...) Metoda OnPaint Neplatná oblast Struktury Point, Size, Rectangle Barvy Štětce Zobrazování obrázků Odezva na uživatelský vstup
Metodický list č. 5 Název hodiny: Pokročilé vlastnosti platformy.net V této hodině si předvedeme některé pokročilé vlastnosti platformy.net. Ukážeme si, jak lze pomocí.net Remoting jednoduše vytvořit distribuovaná aplikace (kdy různé části aplikace spolu komunikují po síti). Představíme si také novinky, které přinese verze 2 jazyka C#. Na závěr si ještě ukážeme další možné směry směřování platformy.net experimentální jazyk Cω [3] Základy.NET Remoting Tvorba jednoduché aplikace Změna konfigurace pro vzdálený výpočet Tvorba komunikačních kanálů Novinky v jazyce C# 2.0 (Generics, příkaz yield return) Experimentální jazyk Cω (nativní práce s XML/databázemi) Způsob zakončení: Zápočet se uděluje za aktivní účast a vypracování a odevzdání zápočtového programu.