Řešené příklady v C# aneb C# skutečně prakticky. Josef Pirkl

Rozměr: px
Začít zobrazení ze stránky:

Download "Řešené příklady v C# aneb C# skutečně prakticky. Josef Pirkl"

Transkript

1 Řešené příklady v C# aneb C# skutečně prakticky Josef Pirkl

2 Obsah 1 Řešené příklady v C# aneb C# skutečně prakticky Rozsah knihy Verze.NET s příklady Typografické konvence Překlady termínů Některá pravidla pro použité zdrojové kódy Pravidla pro užití jmenných prostorů (namespace) Výstupy pro příklady Použití znaků... v kódu Upozornění pro začínající programátory! Něco ze základních postupů C# Přiřazení hodnot proměnným Deklarace proměnné typu int s inicializací Deklarace a přiřazení proměnné typu float s inicializací Deklarace proměnné typu bool s inicializací Přiřazení a změna řetězcové hodnoty Přiřazení hexadecimální hodnoty (šestnáctková soustava) Přiřazení prvku z výčtu Přiřazení prázdné reference Větvení programu if switch goto Smyčky Příkaz for Příkaz while Příkaz do...while Příkaz foreach continue přerušení smyčky > skok na začátek smyčky break přerušení smyčky > úplné ukončení smyčky Volání metod a předávání parametrů Předávání parametrů metodám Vyvolání metody s parametry a vrácení výsledku metody Předání pole jako parametru Vyvolání metody s parametry a vrácení hodnoty přes parametr (out) Vyvolání metody s parametry a vrácení hodnoty přes parametr (ref) Volání statické metody deklarované v jiném jmenném prostoru Přetěžování operátorů Přetížení operátoru + ve vlastní nové třídě Přetížení operátoru pro implicitní přetypování na typ int Přetížení operátoru pro explicitní přetypování na typ int Přetížení operátorů true a false Indexery (indexers) Vytvoření jednoduchého indexeru v rámci formuláře Práce s instancí objektů Dynamické vytvoření a zrušení instance objektů Vytvoření nové instance objektu Timer Zrušení objektu Timer Použití klíčového slova this Práce s konstruktory Konstruktor s jedním parametrem Statický konstruktor Testy na typy objektů Test na třídu instance objektu (či na předka objektu) Test na třídu instance objektu a její přetypování na zvolenou třídu Výpis typu instance objektu Přetypování Explicitní přetypování double na int Přetypování parametru sender na třídu Button Deklarace vlastností (properties) Práce s událostmi Dynamické přidělení události Přidělení více reakcí na jednu událost Odstranění jedné reakce na událost (jsou li již přiděleny) Ovlivnění výsledku přes událost Práce s výjimkami Obsluha obecné (nekonkrétní) výjimky... 51

3 6.1.2 Obsluha konkrétní výjimky Získání bližších informací o výjimce Vyvolání výjimky Práce s konzolí konzolová aplikace Výstup textu na konzoli Výstup na konzoli do čtyř řádků přes jeden příkaz Formátovaný výstup na konzoli Určení výstupního proudu (pro XmlTextWriter) Vymazání konzole zvolenou barvou (.NET 2.0) Ukončení přes <Ctrl+C> odchycení klávesy na konzoli (.NET 2.0) Práce s komponentami z palety nástrojů Společné pro všechny vizuální komponenty Změna pozice prvku přes Control.Left a Control.Top Změna pozice prvku přes Control.Location Změna délky prvku přes Control.Width Změna délky prvku přes Control.Size Změna barvy písma a změna barvy prvku pozadí prvku Změna barvy rodičovského objektu Skrytí objektu na formuláři Zákaz práce s objektem objekt je viditelný, zákaz je graficky rozlišen Reakce na vstup do prvku (podporuje li ji, např. textové pole) Reakce na výstup z prvku (podporuje li ji, např. textové pole) Reakce na získání zaostření prvku (fokusu) Reakce na ztrátu zaostření prvku (fokusu) Získání velikosti prvku jako typ Rectangle Control.SetStyle a přepsání notifikační metody Control.OnNotifyMessage() Změna kurzoru Načtení kurzoru ze souboru Button Změna textu na tlačítku Změna textu i obrázku na tlačítku s definicí jeho zarovnání Změna barvy tlačítka po najetí myší a změna na Flat styl (.NET 2.0) Zkrácení dlouhého textu tlačítka a doplnění znaky... (.NET 2.0) ComboBox Naplnění hodnot do ComboBoxu s aktivací první hodnoty Přidání položek do ComboBoxu a jejich setřídění dle abecedy Vyhledání hodnoty v ComboBoxu Nastavení typu ComboBoxu pouze pro výběr hodnot (zákaz přepisu) DataGrid Dynamické přidání tří položek do DataGridu Dynamické přidání položek do DataGridu, zákaz editace druhého sloupce Přidání řádků tabulky pro DataGrid s podrobnějším nastavením Dynamické vytvoření vlastního sloupce v DataGridu Nastavení celého DataGridu pouze pro čtení Informace o aktivním řádku a sloupci v DataGridu CheckBox Nastavení textu a zaškrtnutí CheckBoxu Povolení a nastavení třetího stavu CheckBoxu CheckListBox Přidání tří položek, první dvě jako zaškrnuté Procházení a výpis zaškrnutých položek Procházení a výpis indexů zaškrnutých položek Label Změna textu labelu Zarovnání textu do středu objektu LinkLabel Zobrazení www stránky po kliknutí na LinkLabel ListBox Přidání tří položek do ListBoxu Přidání položek do ListBoxu z pole Přidání položek z pole přes vlastnost ListBox.DataSource Přidání položek promítnutím ze sloupce tabulky Smazání dosavadních položek, přidání položek a označení položky Odstranění druhé položky Zaostření položky dle hodnoty Zaostření položky dle hodnoty v přesném tvaru Zobrazení zvolené položky po poklepání myší Použití znaku tabulátoru pro zarovnání položek ListView... 71

4 Přidání položek do ListView Přidání položek do ListView a označení druhé z nich Dynamické přidání dvou sloupců a výpis do sloupců Reakce na výběr prvku Označení celého řádku v ListView Výpis zaškrtnutých položek Přepnutí na výpis jako velké ikony Přepnutí na výpis jako malé ikony Přepnutí na výpis jako seznam MonthCalendar Označení (skok do měsíce ledna/2005) Označení symbolem dnešního dne Označení více dnů v intervalu Zobrazení dvou měsíců v řádcích i sloupcích Zvýraznění tří dnů tučným písmem Zjištění zvoleného data Panel Nastavení 3D typu okraje Rolující panel s dynamicky vytvořeným tlačítkem PictureBox Načtení obrázku ze souboru a jeho přizpůsobení na velikost PictureBox RichEditControl Výstup nezformátovaného textu Postupné přidávání různě formátovaných slov do textu Výstup RTF textu použití bold a italic fontu na část textu Uložení RTF textu do souboru Načtení RTF textu ze souboru Povolení a zpracování poklepu na odkaz Vyhledání hodnoty RadioButton Označení přepínače programově StatusBar Úprava textu v prvním oddílu Dynamické přidání tří nových oddílů TabControl Dynamické přidání tří záložek Nastavení aktivní záložky TextBox Nastavení inicializačního textu a vstup do prvku Přidání více řádků do víceřádkového (multiline) textboxu Přidání obou rolujících lišt do víceřádkového textboxu Rozdělení řádků TextBox pomocí objektu podpory regulárních výrazů (Regex) Vypsání označeného textu Označení části řetězce v TextBoxu Označení celého textu a jeho vložení do schránky s jeho smazáním Vyvolání validace editačního pole Toolbar Reakce na stisk tlačítka na toolbaru TrackBar Inicializace prvku Obsluha změny hodnoty TrackBar.Value TreeView Naplnění stromu Zobrazení názvu aktivní položky stromu po kliknutí Obsluha editace textu položky stromu Při označení/odznačení rodičovského uzlu stromu, označ/odznač přímé potomky WebBrowser (.NET 2.0) Navigace na specifickou stránku Navigace na domovskou stránku Krok zpět (o stránku dozadu) Krok dopředu (o stránku dopředu) Získání zdrojového kódu webové stránky Uložení klientské části obrazovky webové stránky do souboru.bmp Práce s nevizuálními komponentami ErrorProvider Vizuální zvýraznění vzniklé chyby NotifyIcon Jednoduchý příklad NotifyIcon PerformanceCounter... 89

5 9.3.1 Dotaz na volnou paměť v MB Process Pokus o spuštění procesu notepad.exe Spuštění notepad.exe a čekání na vstup Ukončení spuštěné aplikace pomocí existujícího procesu ServiceController Získání seznamu existujících služeb Zjištění stavu služby, její zastavení a spuštění Výpis závislých služeb Timer Zobrazení času na formuláři Dynamické vytvoření Timeru na formuláři ToolTip Nastavení víceřádkového tooltipu Práce s formuláři Metoda volaná bezprostředně před zobrazením formuláře Nastavení tzv. Cancel tlačítka pro formulář Nastavení tzv. Accept tlačítka pro formulář Získání identifikačního čísla okna Výpis jména aktivního formuláře Zjištění aktivního prvku formuláře Nastavení formuláře tak, aby byl vždy navrchu Maximalizace aktivního formuláře Minimalizace aktivního formuláře do lišty Skrytí formuláře po minimalizaci Zakázání uzavření formuláře Procházení všech prvků na daném rodiči (formuláři) Procházení všech prvků typu Button na daném rodiči (formuláři) Dynamické vytvoření prvku na formuláři Postupné zobrazení formuláře pomocí změny jeho průhlednosti Definování nového tvaru formuláře přes Form.OnPaint Vyvolávání modálních a nemodálních formulářů Vyvolání modálního formuláře Výpis hodnoty textového pole z vyvolaného modálního formuláře po jeho ukončení Zobrazení dialogu jako nemodálního okna MDI aplikace/mdi dětská okna Vytvoření MDI dětského okna Seznam MDI dětských oken do položky menu Přístup k aktivnímu dětskému oknu Zjištění MDI dětských oken formuláře Zaostření druhého dětského okna v seznamu Seřazení dětských oken do kaskády Seřazení dětských oken do horizontálních dlaždic Seřazení dětských oken do vertikálních dlaždic Seřazení minimalizovaných dětských oken Předdefinované dialogy Standardní dialogy Výpis textu do dialogu Výpis textu (v dialogu) na více řádek Dotazový dialog Ano/Ne Speciální dialogy Dialog pro výběr barvy Dialog pro výběr písma Dialog pro výběr souboru Nastavení vícenásobného filtru pro výběr souborů Dialog pro výběr adresáře Drag & Drop ( táhni a pusť ) Tažení textu z prvku TextBoxu do ListBoxu Tažení souborů/zástupců do formuláře Práce s klávesnicí Reakce na stisknutou klávesu Testování stisku klávesy <Shift> + znaku Testování stisku klávesy <Shift> + <Alt> + znaku za pomoci KeyEventArgs Testování stisku klávesy <Shift> + <Alt> + znaku Práce s klávesami v konzolové aplikaci Práce s menu Dynamické vytvoření hlavního menu formuláře a jeho položek Programové vyvolání kontextového menu Změna údajů u první položky kontextového menu

6 Reakce položky menu na stisk prohození příznaku zaškrnutí Zvýraznění určité položky menu Vyvolání akce po najetí na položku menu myší nebo klávesou Připojení kontextového menu k prvku ikony v liště ContextMenuStrip (.NET 2.0) Vytvoření menu, přidání obsluhy a zobrazení nad volajícím tlačítkem Práce se schránkou (clipboard) Kopírování textu z TextBoxu do schránky Kopírování textu ze schránky do TextBoxu Test na přítomnost textového formátu ve schránce Kopie instance objektu do schránky/ze schránky Pole a kolekce objektů Pole (array) Vytvoření a inicializace pole o třech prvcích Vytvoření a inicializace pole Color[] Vytvoření a inicializace pole typu Point[] Dynamické vytvoření pole (přes Array.CreateInstance()) Vícerozměrné pole a vrácení počtu rozměrů pole Inicializace prvku pole na základě volané metody Vymazání pole Kopie prvků z pole do pole Klonování pole kopie pole do nově vytvořeného pole Vzestupné a sestupné setřídění pole Prohledávání pole Kolekce prvků (ArrayList) Vytvoření kolekce prvků Hledání v kolekci prvků Binární vyhledávání Fronta (queue) Přidání prvků do fronty a výběr z fronty Zásobník (stack) Založení zásobníku, výběr hodnot a procházení prvků Hašovací tabulka Ukázka práce s hašovací tabulkou Hašovací kód (hashcode) Přepsání GetHashCode() SortedList (.NET 2.0) Založení seznamu, vložení hodnot a vyhledání hodnoty dle klíče Práce s datovým typem řetězec, datum, výčet a struktura Práce s řetězci Přiřazení prázdného řetězce Inicializace řetězce z pole znaků char[] Převod řetězce do pole char[] Spojení prvků pole do řetězce a jejich oddělení specifickým řetězcem Vytvoření daného počtu stejných znaků Zjištění délky řetězce Procházení řetězce po jednotlivých znacích Vrácení části řetězce Vyhledání pozice prvního výskytu podřetězce v řetězci Vyhledání pozice posledního výskytu podřetězce v řetězci Vyhledání slova od počátku do výskytu jednoho ze seznamu znaků Použití String.Format() Další formátování výstupu přes String.Format() Rozdělení řetězce dle oddělovačů Převod logické hodnoty na řetězec Test na shodnost řetězců velikost písmen rozhoduje Test na shodnost řetězců velikost písmen nerozhoduje Převod řetězce na malá písmena Převod řetězce na velká písmena Náhrada části řetězce za jiný Odstranění mezer z počátku a konce řetězce Odstranění specifických znaků z počátku a konce řetězce Test na znaky na konci řetězce Odstranění posledního znaku z řetězce Dotaz, zda je první znak řetězce písmeno Dotaz, zda je první znak řetězce číslo Dotaz, zda je první znak řetězce číslo nebo písmeno Dotaz, zda je první znak řetězce malé písmeno Dotaz, zda je první znak řetězce velké písmeno Výpis uvozovek v řetězci

7 17.2 StringBuilder Vytvoření a přidání textu do StringBuilder Práce s datem a časem Zjištění aktuálního datumu a času Vytvoření datumu z jednotlivých prvků data Test, zda současný rok je přestupný Vrácení jména aktuální časové zóny (pro běžný čas) Vrácení jména aktuální časové zóny (pro letní čas) Zjištění, zda je v předaném datu aktuální zóny užíván letní čas Rozklad aktuálního času na hodinu, minutu a vteřinu Přidání daného počtu dní k datumu Získání datumu z řetězce Zformátování datumu dle masky Připravené metody pro formátování data a času Pokus o převod řetězce do datumu v očekávaných formátech TimeSpan Práce s rozdílem dvou datumů Získání intervalu od začátku do konce volání Práce s výčtovým typem Deklarace výčtu a proměnné typu výčet Použití OR operátoru pro nastavení více hodnot výčtu Nastavení bitových hodnot do proměnné a jejich testování Odnastavení bitové hodnoty Procházení prvků výčtu Práce se strukturami Deklarace struktury a proměnné struktury Převody a zaokrouhlování Převody Převod řetězce na číslo Převod z řetězce na boolean Převod řetězce na double Převod hodnoty do dvojkové, osmičkové a šestnáctkové soustavy Ošetření chybného převodu Binární posun posunutí hodnoty o dva bity doleva Převody souřadnic Převod souřadnice v rámci prvku na souřadnice obrazovky Převod souřadnic obrazovky na souřadnice v rámci prvku Zaokrouhlování Zaokrouhlení na daný počet desetinných míst Zaokrouhlení na nejbližší nižší celé číslo Zaokrouhlení na nejbližší vyšší celé číslo Nastavení hodnoty reálné kladné nekonečno do typu double Kódování Převod znaku na ASCI číselno hodnotu Převod číselné ASCII hodnoty na znak Převod UNICODE na kódování ASCII (a převod řetězce na byte[]) Vytvoření řetězce z pole byte[] pomocí UNICODE kódování Práce s databází Datové spojení (OleDB) Otevření spojení Reakce na změnu stavu spojení událost... OleDbConnection.StateChange Test na stav spojení Výpis použitého poskytovatele z OleDbConnection.ConnectionString Seznam všech tabulek pod spojením Seznam uživatelských tabulek pod spojením Seznam všech tabulek pod spojením s upřesněním typu objektu Výpis seznamu všech sloupců nad všemi tabulkami pod spojením Naplnění seznamu existujících tabulek pod spojením Datový adaptér Otevření adaptéru a naplnění do datové množiny Datová množina (DataSet) Naplnění datové množiny z adaptéru a napojení do DataGridu Naplnění datové množiny z adaptéru a napojení do DataGridu varianta s pojmenováním tabulky Vytvoření XML souboru z dat datové množiny Načtení prvních tří řádek do datové množiny a vrácení jako XML Datová tabulka (DataTable) Odkaz na tabulku z datové množiny Výpis počtu řádků tabulky Procházení řádků tabulky

8 Změna nadpisu pro DataGrid Datový příkaz dotaz (OleDbCommand) Vrácení jedné hodnoty z dotazu Procházení výsledku dotazu (procházení vrácených řádků dotazu) Dotaz s parametry Změna v datech přes datový příkaz Datové relace (DataRelation) Relace mezi tabulkami a výstup do DataGridu Datové sloupce Vytvoření kalkulačního sloupce s pevně nastavenou hodnotou Vytvoření kalkulačního sloupce na základě funkce Vytvoření kalkulačního pole s řetězcovou funkcí Editace dat (update, insert, delete) Procházení řádků tabulky, které byly změněny (zde přes DataGrid) Dogenerování UPDATE, INSERT, DELETE příkazu Uložení dat Přidání nového záznamu do tabulky ZAMESTNANCI Smazání řádků tabulky ZAMESTNANCI s ID_ZAMESTNANEC větším než Procházení řádků a změna hodnot kalkulačního sloupce Navázání dat (databinding) Vytvoření nové databinding vazby navázání hodnoty pole do TextBox.Text Získání managera pro obsluhu vazeb Posun na předchozí větu Posun na následující větu Reakce na změnu pozice Binding managera výpis aktuálního řádku do Label Vytvoření vazby s možností formátování výstupu Vytvoření vazby na pole Práce s daty v.net Napojení dat na BindingSource Zákaz přidávání řádku nastavení přes BindingSource Použití BindingNavigator Zaostření specifické buňky tabulky DataGridView Označení a průchod řádků DataGridView (označení celých řádků) Označení a průchod buněk DataGridView Přidání tlačítka na místo druhého sloupce v DataGridView Reakce na stisk tlačítka v DataGridView Přidání fixovaného ComboBoxu mezi sloupce DataGridView Regulární výrazy Důležité zástupné znaky pro vyhodnocování regulárních výrazů Testy na platnost výrazů (odpovídá masce?) Hledání náhradou za znak Test dle prvního znaku Hledání tečky Povolení více přípustných znaků Rozklady regulárních výrazů do výskytů (Match) Rozklad na jednotlivé znaky, které nejsou mezerou Rozklad na jednotlivé znaky/slova, která nejsou mezerou Vrácení znaků řetězce, za kterými je mezera Rozklad na jednotlivé znaky/slova, za kterými je mezera Separace hodin z řetězce Separace datumu z řetězce Rozklad regulárních výrazů s využitím skupin (Group) Rozklad datumu a času s využitím skupin Funkce Matematické funkce Vrácení absolutní hodnoty Použití konstanty PI Vrácení minimální hodnoty ze dvou čísel Vrácení minimální hodnoty ze tří čísel Vrácení odmocniny z hodnoty Vrácení hodnoty sinu úhlu Celočíselné dělení a získání zbytku po celočíselném dělení Náhodná čísla Generování náhodného čísla v daném rozsahu Generování náhodného čísla mezi Práce s grafikou Fonty

9 Tvorba instance nového fontu Tahoma Tvorba instance nového implicitního fontu Změna fontu objektu Vrácení výšky fontu Procházení jmen instalovaných fontů (.NET 2.0) Barvy Vyhledání barvy dle jména Přístup k systémovým barvám Vytvoření nové barvy z palety a obarvení formuláře Pera (pens) Vytvoření červeného pera Využití předdefinovaného pera Vytvoření červeného přerušovaného pera o šířce 5 bodů Vytvoření červeného pera o šířce 5 bodů s definovaným tvarem zakončení Štětce (brush) Vytvoření štětce plného vzoru Využití předdefinovaného štětce Vytvoření štětce se vzorkem Vytvoření a použití gradientního štětce Vytvoření štětce dle dat z bitmapy Kresba čar Vykreslení čáry Vykreslení více čár jedním příkazem (dle pole Point[]) Vykreslení čáry o šířce 5 bodů se šipkou na konci Kresby základních geometrických útvarů Kresba rámečku Kresba rámečku vyplněného červenou barvou Kresba kružnice Kresba elipsy Kresba vyplněné elipsy Kresba kruhové výseče Kresba kruhové výseče vyplněné červenou barvou Kresba grafického textu Jednorázové vykreslení grafického textu Jednorázové vykreslení grafického pootočeného textu Formátování výstupu grafického textu centrování do středu oblasti Vykreslení vertikálního grafického textu Vykreslení textu do rámečku, změření velikosti grafického řetězce Obrázky Načtení bitmapy ze souboru Vykreslení bitmapy na formulář Dynamické kreslení do bitmapy Dynamické kreslení do bitmapy další varianta Jednorázové vykreslení obrázku ve skutečné velikosti Jednorázové vykreslení obrázku 10x zmenšeného Otočení obrázku Klonování obrázku vytvoření nového obrázku z části jiného Šikmé vykreslení obrázku Načtení obrázku přes pole byte[], vytvoření datového proudu MemoryStream (.NET 2.0) Ostatní kolem grafiky Přepsání metody Form.OnPaint() Překreslení barvy celého objektu Vykreslení obrazce s gradientním vzorem Zadání souřadnic pro grafiku absolutní hodnotou Sjednocení a průnik dvou oblastí Práce s adresáři Založení adresáře Kontrola existence adresáře a případné založení nového Naplnění seznamu logicky připojených diskových jednotek Informace o adresáři Přesun adresáře Smazání adresáře i s podadresáři Vrácení aktivního adresáře Změna aktivního adresáře Informace o změně v adresáři Informace o umístění speciálních adresářů Vypsání cesty k systémovému (system32) adresáři Vypsání cesty pro ukládání aplikačních dat pro všechny uživatele Vypsání cesty pro ukládání aplikačních dat pro konkrétního uživatele Práce se soubory

10 25.1 Obecná práce se soubory Informace o souboru Testování atributů souboru Kontrola existence souboru Kopírování souboru Kopírování souboru vždy přepiš existující Přesun souboru Smazání souboru Výpis data posledního zápisu do souboru Načtení a zobrazení obsahu adresáře (disku) do stromu TreeView Procházení určitých typů souborů (zde dle koncovky) Vrácení jména konfiguračního souboru Práce s cestami Výpis celé cesty ke spuštěnému souboru Extrakce a výpis cesty bez jména souboru Extrakce a výpis jména souboru Extrakce a výpis koncovky souboru Extrakce a výpis root adresáře Záměna koncovky u jména souboru Práce s daty v souborech Čtení/zápis textových souborů Vytvoření StreamReader z FileInfo Vytvoření StreamWriter z FileInfo Načtení textu ze souboru přes StreamReader Zápis textu do souboru přes StreamWriter Kopie textového souboru přes FileStream Kopie textového souboru přes FileStream s využitím bufferu Kopie textového souboru přes StreamReader/StreamWriter Zápis a čtení do souboru s kódováním ASCII Načtení celého souboru do řetězce (.NET 2.0) Čtení/zápis binárních souborů Zápis pevné délky pole bytů do souboru přes FileStream Zápis proměnné délky pole bytů do souboru přes FileStream Binární zápis řetězce do souboru přes BinaryWriter Zápis a čtení jednotlivých typů do/z binárního souboru Binární kopie dvou souborů přes BinaryReader/BinaryWriter Asynchronní práce se soubory Asynchronní zápis textu do souboru Asynchronní zápis textu do souboru s čekáním na ukončení zápisu Práce s XML Čtení prvků ze XML souboru Naplnění ComboBoxu z dat XML souboru Práce s XML přes XmlTextWriter/XmlTextReader Vytvoření XML souboru přes XmlTextWriter Načtení XML dokumentu a kopie do nového XML souboru Načtení a procházení XML souboru přes XmlTextReader Serializace dat Serializace celé instance objektu do souboru Další způsob serializace tentokrát přes XmlSerializer Práce s registry Načtení záznamu z prvku registru Načtení hodnoty z prvku registru neexistuje li větev, založí novou Založení nové větve a zápis dvou záznamů do registru Načtení názvů nižších podklíčů registru Tisk PrintDocument Tisk tří řádků na tiskárnu Tisk prvku z formuláře na tiskárnu PrintPreviewDialog Zobrazení tiskového náhledu PrintPreviewControl Dynamické vytvoření náhledu PrintDialog Zobrazení tiskového dialogu PageSetupDialog Změna nastavení tiskárny Práce se sítí a v síti Informace o síti Informace o síti přes objekt Environment Získání jména stanice a čísla IP adresy stanice

11 Získání jména stanice z IP adresy Získání informací o adrese ze jména domény Internet Zobrazení www stránky v implicitním prohlížeči Stažení kódu stránky z internetu Stažení obrázku z internetu a jeho vykreslení Stažení obrázku z internetu přes PictureBox (.NET 2.0) Pošta Jednoduché odeslání poštovní zprávy Odeslání poštovní zprávy s podrobnějším nastavením Odeslání poštovní zprávy s přílohou Bezpečnost (Security) Vrácení jména současného přihlášeného uživatele Informace o přítomnosti rolí v účtu uživatele Práce se zdroji Naplnění seznamu připojených zdrojů Načtení řetězce ze zdroje Načtení ikony ze zdroje a její vykreslení na formuláři Konfigurační soubor Čtení prvku z konfiguračního souboru Výpis všech <AppSettings> klíčů a hodnot z konfiguračního souboru Práce s procesy Výpis probíhajících procesů do ListBoxu Vyhledání konkrétního procesu Volání externích procesů Zobrazení www stránky Zobrazení souborů v adresáři (vyvolání průzkumníka ) Zobrazení textového souboru v notepadu Nastavení podrobnějších informací k vytvářenému procesu Práce s vlákny Vytvoření a spuštění nového vlákna Vytvoření a spuštění nového vlákna s čekáním na jeho dokončení Pojmenování současného vlákna Nastavení priority současného vlákna na maximum Přerušení činnosti vlákna na zvolenou dobu Provedení operace asynchronně v jiném vláknu (.NET 2.0) Regionální nastavení systému Vrácení jména nastavené kultury Řazení dle abecedy s ohledem na nastavenou kulturu Vrácení symbolu pro měnu pro nastavenou kulturu Procházení existujících kultur Nastavení specifické kultury pro vlákno a zobrazení datumu v této kultuře Výpis dnů v týdnu ve specifické kultuře Změna systémového desetinného oddělovače Přepnutí do němčiny datum (vypisuje názvy dnů v němčině) Práce s médii Zvuky Pípnutí Přehrání WAV souboru Přehrání zvuku přes System.Media.SoundPlayer (.NET 2.0) Přehrání systémových zvuků jsou li přiřazeny (.NET 2.0) Použití MCI příkazů Přehrání MP3 souboru Programové otevření dvířek CD mechaniky Programové uzavření dvířek CD mechaniky Přehrání AVI video souboru Přehrání AVI video souboru s umístěním na pozici obrazovky Přehrání MPEG video souboru se specifikací od do snímku Přehrání MPEG video souboru s uzavřením po přehrání Práce s Windows Management Instrumentation (WMI) Dotaz na souborový systém používaný logickým diskem c:\ Dotaz na informace o logickém disku c:\ WMI dotaz na data o procesoru WMI dotaz na data o biosu Změna v systému aplikovaná pomocí WMI Nápověda Obsluha události HelpRequested Implementace připravených rozhraní (interfaces).. 241

12 Implementace rozhraní IDisposable Implementace rozhraní IEnumerable Implementace rozhraní ICompareble Implementace rozhraní IFormattable Implementace rozhraní ICloneable Komplety a reflexe Práce s komplety (assemblies) Přístup k informacím o vstupním kompletu Nalezení vstupního bodu kompletu Výpis referencovaných kompletů ze vstupního kompletu Reflexe Dotazy ohledně typu proměnné Převod aktuální hodnoty výčtu na řetězec Informace o typech v prováděném kompletu Zjištění informací o třídě (konstruktory třídy) Procházení metod uvnitř daného typu Dynamická kompilace kódu Kompilace dynamicky vytvořeného kódu z programu > vytvoření test.exe Nezabezpečený kód a Garbage Collection Nezabezpečený kód Zjištění velikosti typu přes sizeof Přímá alokace dané velikosti ze zásobníku Vytvoření reference na místo v paměti Garbage Collection Vynucení uvolnění nepotřebné paměti Vynucení uvolnění prostředků pomocí bloku using Přístup k Windows API Volání funkce Windows API Odeslání a přijetí uživatelské Windows zprávy Získání HDC Různé testování čehokoli Získání šířky pracovní plochy z proměnné Screen Informace o názvu fontu pro menu (.NET 2.0) SystemInformation Jakým způsobem byl zaveden počítač? Test na přítomnost myši Další způsob získání šířky obrazovky SystemEvents Jednoduchý časovač (timer) přes SystemEvents Obsluha ukončení sezení (session) Testování nízké paměti Reakce na změnu v nastavení displeje Reakce na přidání/odebrání fontu do/ze systému Reakce na změnu času stanice Tipy a triky v práci s jazykem a prostředím Přepsání chování existujících vlastností Překrytí override metody Přepsání metody ToString() Využití klávesy <TAB> pro přidání kódu do třídy Ochrana před celočíselným přetečením Použití rezervovaného slova pro proměnnou, metodu, konstantu Nová třída s využitím šablony třídy (.NET 2.0) Něco z ostatních oblastí Aplikace Filtrování specifického typu zprávy přes Application Zpracování všech čekajících zpráv Ukončení celé aplikace Reakce na ukončení aplikace Příkazový řádek Získání celého příkazového řádku i s parametry Procházení předaných parametrů příkazového řádku Proměnné prostředí Procházení a výpis hodnot existujících proměnných prostředí Načtení hodnoty proměnné prostředí Programové ladění programu Výstup informace do ladicího okna Výstup ladicí informace do kategorie Podmíněný výstup ladicí informace Stromový výpis ladicí informace

13 Výstup Assert() ladicí informace Vyvolání chyby s možností ukončit program Směrování ladicích hlášení do souboru a do proudu konzole Záznam informací do žurnálu Test existence daného typu žurnálu Generování zápisu do žurnálu Výpis hlášení ze žurnálu C# a ASP.NET Postup pro vytvoření ASP.NET aplikace v C#: ASP.NET příklady bez práce s daty Prvotní inicializace formuláře Dynamický výpis textu přes Response Přepsání metody Page.Render() Zobrazení dialogového okna s hlášením Vyvolání stránky do dialogu Odeslání e mailu z ASP.NET Vytvoření cookie a odeslání na stanici Načtení hodnoty cookie ASP.NET práce s daty Otevření dat a napojení na DataGrid Jednoduchý jednorázový výpis dat do DataGridu Změna barvy pozadí v ASP.NET DataGridu aplikované na třetím řádku Dynamické formátování sloupce DataGridu na datum Navrácení textu z odkazu LinkButton v DataGridu Atributy Tvorba nového atributu Použití atributu praktická ukázka na Obsolete atributu Direktivy předprocesoru Definování symbolu pro předprocesor Podmíněná kontrola direktivy SYMBOL Podmíněná kontrola SYMBOL/SYMBOL1 použití operátoru OR Využití direktivy #DEBUG Využití direktiv #region a #endregion Jak do programu přidat nový formulář? nový jmenný prostor s novou třídou? dll knihovnu? Ukázková implementace nové.dll knihovny uživatelský prvek (User Control)? Umístění uživatelského prvku do projektu Umístění uživatelského prvku do vlastní knihovny konfigurační soubor? novou vlastnost konfigurace? (Properties) (.NET 2.0) Změny jazyka C# specifikace Šablony typů (generics) Omezení pro šablony typů (constraint) Anonymní metody Neúplné třídy (partial class) Null podporující typy (nullable types) Zjištění, zda null podporující typ má přiřazenou hodnotu Vracení jiné hodnoty, je li null podporující proměnná null Rejstřík

14 1 Řešené příklady v C# aneb C# skutečně prakticky Dostává se Vám do rukou publikace, při jejíž tyorbě byl brán zřetel na maximální jednoduchost a praktičnost při každodenním použití. Prvotním impulsem, který vedl k napsání této knihy, bylo poskytnout jakýsi "lexikon", který programátor vezme do ruky, když mu bude něco nejasné, když nebude zrovna vědět, jak to či ono implementovat, když bude pouze tušit, že snad takto nějak by to přece mohlo být, že snad takto nějak to již někdy dělal, jakpak to jen ale bylo...? Podařilo-li se mi tento úkol splnit, musí čtenář posoudit sám. Doufám, že mu bude tato publikace sloužit k jeho plné spokojenosti. 1.1 Rozsah knihy Je zřejmé, že žádná kniha tohoto pragmatického rozsahu" není schopná obsáhnout základy jazyka C#, popsat.net model i s jeho metodami, vývojové prostředí Visual Studio či samotného C# a k tomu ještě přinést již zmíněný lexikon příkladů a postupů. Dotknu-li se něčeho nového, například zabrousím-li ve výkladu k překrytým (override) metodám, pokusím se na dvou třech řádcích pojem vysvětlit. Zmiňuji se o tom proto, že někomu by se mohl zdát výklad některých termínů příliš stručný - je to však proto, že z hlediska účelu této knihy jsou tyto výrazy uvedeny spíše navíc a předpokládá se, že čtenář má již určitou zkušenost s programováním i se znalostí, prací a použitím objektového programovacího jazyka. 1.2 Verze.NET s příklady Většina příkladů byla testována v prostředí Microsoft Visual Studio (C#) s knihovnou.net Framework 1.1. Lze předpokládat, že velká část z nich bude funkční i v dalších verzích.net knihovny. Ukázky, které mají za svým titulkem poznámku (NET2.0)" byly testovány v beta verzi Microsoft C# Express 2005 Beta, která již nese novější verzi knihovny..net 2.0. Microsoft C# Express si lze pak volně stáhnout na adrese: Příklady.NET 2.0 nebudou na starší verzi NET 1.1 pracovat.

15 1.3 Typografické konvence Rezervovaná slova jazyka C# a názvy objektů, struktur, rozhraní, výčtů apod. náležející přímo knihovně.net budou uvedeny tučným písmem. Odkazy na názvy vlastních proměnných, čísel, řetězců a názvů technologií budou zvýrazněny kurzívou. Ukázkové kódy pak budou odlišeny tímto podbarvením Překlady termínů Kniha se snaží užívat české termíny, doprovázené alespoň v prvním případě anglickým překladem. Překlad všech důležitějších termínů lze nalézt zde: bezpečnost - security datový proud (tok) - stream fronta - queue hašovací kód - hash code jmenný prostor - namespace komplet - assembly ladění - debugging výčet - enumeration omezení - constraint poklepání myší - doubleclick poskytovatel - provider průhlednost - opacity přetypování - typecasting sezení - session schránka - clipboard událost - ebeny uživatelský prvek -usercontrol vázání dat (vazby) - databinding vlastnost - property (neúplné třídy v C#) - partial types (šablony typů v C#) - generics zásobník - stack zdroj - resource

16 1.4 Některá pravidla pro použité zdrojové kódy Hned na začátku bude definováno, jakým způsobem se bude se zdrojovým kódem pracovat. To se týká zejména použití jmenných prostorů a určení výstupních nástrojů" pro vrácené výsledky z metod Pravidla pro užití jmenných prostorů (namespace) Pro ilustraci předpokládejme tuto deklaraci, která připojuje objekt XmlDocu-ment, jenž představuje dokument ve formátu XML: XmlDocument doc = new XmlDocument(); V případě, že nebude v hlavičce připojena deklarace using pomocí: using System.Xml; oznámí kompilátor při kontrole chybu. Druhou možností, jak jmenný prostor určit, a to již bez použití příkazu using, je jmenným prostorem přímo specifikovat objekt. Pak by deklarace vypadala takto: Tento způsob sice ušetří jedno použití using, nicméně znamená nutnost pokaždé prefixovat objekt příslušným jmenným prostorem, což se vztahuje i na každý jiný prvek, např. výčet, který se ve jmenném prostoru nachází. Proto tato publikace používá první způsob s tím, že bude pokaždé zdůrazněno, je-li nutné připojit některý další jmenný prostor. Výjimku tvoří příklady pro.net zde bude použita celá specifikace jmenného prostoru, nebude-li řečeno jinak Výstupy pro příklady Pro ilustraci výstupů mohou být v kódech použity tyto elementy: l) MessageBox.Show() - zobrazuje údaj do dialogového boxu 2) listboxl - prvek ListBox pro výpisy rozsáhlejších informací J 3) textboxl - případně i prvek TextBox Dále je nutné poznamenat, že některé příklady se mohou zdát na první pohled nesmyslné a že by bylo lepší řešit je zcela jinak. Příkladem může být např. kód uvedený u příkazu continue: for ( int i = C; i < 3; i++ ) if i == 1 ) continue; MessageBox.Show( "Krok č. " + i.tostring()); U tohoto kódu se vždy zobrazí dialog pouze jednou - potom se smyčka opustí. Pak by bylo samozřejmě jednodušší vypsat dialog přímo, bez použití smyčky. Pro ilustraci příkazu continue však tento kód vyhovuje - i když testování v reálném životě vypadá často složitěji. To by však navíc vyžadovalo i popis proměnných, které do testování logické podmínky continue vstupují, což by čtenáře zbytečně obtěžovalo - a to není cílem této knihy.

17 1.4.3 Použití znaků... "v kódu Tři znaky teček (..."), které budou použity uvnitř kódu, znamenají libovolný další jiný kód" Upozornění pro začínající programátory! Jazyk C# stejně jako jazyky C/C++ rozlišuje velikost písmen! Lze proto použít kód: int Int = 10; a jeho výsledkem je deklarace a inicializace proměnné Int datového typu int. 2 Něco ze základních postupů C# V této kapitole si ukážeme některé základní pravidla práce s jazykem C#. 2.1 Přiřazení hodnot proměnným Začneme deklaracemi a přiřazením hodnot proměnným Deklarace proměnné typu int s inicializací int představuje velmi často používaný celočíselný typ. int i = 5; Následně je demonstrativně provedeno přiřazení nové hodnoty do této proměnné Deklarace a přiřazení proměnné typu float s inicializací Typ float obecně vyhovuje pro požadavky na uložení čísla s desetinnou čárkou. Aby kompilátor věděl, že desetinné číslo je přiřazováno jako float, musí mu to být řečeno znakem f" za přiřazovanou hodnotou. Jinak je číslo chápáno jako double. float fvalue = 56.75f; Deklarace proměnné typu bool s inicializací bool je logická proměnná, která může nabývat stavů Ano/Ne - (true/false). bool bvalue = false; bvalue = tree; Následně je demonstrativně provedeno přiřazení nové hodnoty do této proměnné Přiřazení a změna řetězcové hodnoty Řetězcová hodnota představuje text. Tento text je uvozen znakem uvozovek ( ). svalue = ''Změna hodnoty"; Následně je demonstrativně provedeno přiřazení nové hodnoty do této proměnné Přiřazení hexadecimální hodnoty (šestnáctková soustava) int i = '\x0201'; Přiřazovaná hexadecimální hodnota představuje desítkově číslo Přiřazení prvku z výčtu enum Vyska mala, stredni, vysoka private void buttonl.click(object sender, System.EventArgs e) Vyska vyska = Vyska.stredni; Bázový typ výčtu (jeho prvků) jsou implicitně int hodnoty. Hodnoty prvků jsou číslovány vzestupně, přičemž pomocí

18 znaménka =" je možné za prvkem přiřadit explitně konkrétní int hodnotu. Pro možnost přiřazení jiného typu nežli int lze výčet deklarovat takto: enum Vyska: byte Přiřazení prázdné reference Nadsazeně si lze toto přiřazení představit jako nastavení nuly do číselného typu (int, double). Říká, že reference íb nemá přiřazenou hodnotu - nikam neukazuje. 2.2 Větvení programu if Základní větvící příkaz. Logický výraz musí být v závorkách. Spojování jednotlivých podmínek výrazu se provádí pomocí logických operátorů. if ( ( i > 3 ) && ( i < 10)) MessageSex.Show( "Splněn" ); else MessageSex.Show( "Nesplněno"); Testuje, zda je i větší nežli 3 a menší nežli 10. Nejpoužívanější logické operátory pro spojování výrazů: && - logické A - logické NEBO! - negace výrazu (uvádí se před výraz) 22.2 switch Umožňuje přehledně rozvětvit kód dle více testovaných hodnot jednoho výrazu. Výraz za switch musí být v závorce. Každá alternativa čase musí být ukončena explicitním přenosem řízení mimo příkaz switch nebo na některé jiné návěstí case v témže příkazu switch. To může obstarat příkaz break, goto, continue, return, throw. Blok default je proveden, když hodnota nebyla mezi čase hodnotami naleze- na. Tento default blok je nepovinný. int i = 2: switch (i) case1: MessageBox.Show( "Jedna" ); break; case2 : MessageBox.Show ( "Dvě" ); break; case3 : MessageBox.Show( "Tři" ); break; default : MessageBox.Show( "Jiná" ); break; goto Přímý odskok na jiné místo v rámci metody. Místo, kam se tímto příkazem přenese řízení, je označeno návěstím, za kterým je dvojtečka. int i = 1; zvysit: MessageBox.Show( ( i++ ).ToString() );

19 2.2 Smyčky Příkaz while Cyklus s testem podmínky na počátku. Vykonává daný počet opakování po dobu, po kterou je splněna úvodní podmínka. V případě nesplnění této podmínky se smyčka opouští. int i = 1; bool bwhile = true; while ( bwhile ) MessageBox.Show( i.tostring()); i++; bwhile = ( i < 4 ); Tento kód zobrazí 3x příslušný dialog Příkaz do...while Velmi podobné smyčce while, avšak test se provádí až na konci - to znamená, že smyčka se v každém případě (není-li jinak násilně přerušena) provede alespoň jednou. int i = 1; bool = bwhile; MessageBox.Show( i.tostring () ); bwhile =( i < 4 ); Tento kód zobrazí 3x příslušný dialog Příkaz foreach Jazyky C ani C++ tento druh smyčky nativně neobsahovaly - zavádí ji až C#. Umožňuje procházet prvky kolekcí nebo polí. string[] aarray = new strstring[]"jedna","dva", "Tři"; foreach ( string svalue in aarray ) MessageBox.Show( svalue ; Vypíše postupně všechny tři prvky pole. Pozn.: Aby kolekce mohla být ve foreach použita, musí implementovat rozhraní IEnumerable - to s sebou nese povinnost implementace metod tohoto rozhraní continue prušení smyčky -> skok na začátek smyčky for ( int i = 0; i < 3; i++ ) if (i==1 ) continue; MessageBox.Show( "Krok č." + i.tostring() ); Vypíše dialog s hodnotou 0" a pak s hodnotou 2". Výpis 1" je vynechán break - přerušení smyčky -> úplné ukončení myčky for ( int i = 0; i < 3; it++ ) if ( i == 1 ) break; MessageBox.Show("Krok č. " + i.tostring() ); Vypíše pouze dialog s hodnotou 0". Pak je smyčka přerušena a pokračuje se až za ní. Pozn.: Příkaz break se často používá k ukončení alternativ čase v příkazu switch.

20 2.3.7 Implementace nekonečné smyčky while ( true )... break; Zobrazuje dva asi nejpoužívanější způsoby pro vytvoření nekonečné smyčky. Smyčka se opouští pomocí rezervovaného slova break. 2.4 Volání metod a předávání parametrů Metody a jejich volání tvoří jednu z nejdůležitějších oblastí, které je nutné zvládnout. pozn.: Metoda je název pro funkci, která je deklarována v rámci objektu Předávání parametrů metodám Správná deklarace pro funkci s parametry je tato: public TestHash( string item1, string item2 ) Pozor! Nelze použít tvar: public TestHash (string item1, item2 ) Vyvolání metody s parametry a vrácení výsledku metody int GetSum( int _iparam1, int _iparam2 ) re turn _iparaml + _iparam2); private void buttonl_click(object sender, System.EventArgs e) int iresult = GecSum( 10, 20 ); MessageBox.Show( iresult.tostring() ); Vypíše hodnotu 30" Předání pole jako parametru void write_array( string [ ] array ) string stext = '"; for ( int i = 0 ; i < array.length; i++) stext = stext + " " + array[il.tostring(); MessageBox.Show( stext ); private void buttonl_click(object sender, System.EventArgs e) string[] sarray = "Ahoj", "člověče" ; write_array ( sarray ); Předání parametrů přes pole a jejich výpis uvnitř metody. Lze tak poměrně jednoduše předat více parametrů, aniž je nutné každý zvlášť deklarovat v hlavičce metody.

Obsah 1 Řešené příklady v C# aneb C# skutečně prakticky.. 25 1.1 Rozsah knihy... 25 1.2 Verze.NET s příklady... 25 1.3 Typografické konvence...

Obsah 1 Řešené příklady v C# aneb C# skutečně prakticky.. 25 1.1 Rozsah knihy... 25 1.2 Verze.NET s příklady... 25 1.3 Typografické konvence... Obsah 1 Řešené příklady v C# aneb C# skutečně prakticky.. 25 1.1 Rozsah knihy... 25 1.2 Verze.NET s příklady... 25 1.3 Typografické konvence... 26 1.3.1 Překlady termínů... 26 1.4 Některá pravidla pro

Více

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13 Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace

Více

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu } 5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu

Více

Zápis programu v jazyce C#

Zápis programu v jazyce C# Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač

Více

PŘETĚŽOVÁNÍ OPERÁTORŮ

PŘETĚŽOVÁNÍ OPERÁTORŮ PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako

Více

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní Základy jazyka C# doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Architektura.NET Historie Vlastnosti

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,

Více

ČÁST 1. Základy 32bitového programování ve Windows

ČÁST 1. Základy 32bitového programování ve Windows Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25

Více

Osnova kurzu OBSLUHA PC ZÁKLADNÍ ZNALOSTI. pilotního projektu v rámci I. Etapy realizace SIPVZ

Osnova kurzu OBSLUHA PC ZÁKLADNÍ ZNALOSTI. pilotního projektu v rámci I. Etapy realizace SIPVZ Střední průmyslová škola a Střední odborné učiliště, Trutnov, Školní 101, tel.: +420 499 813 071, fax: +420 499 814 729, e-mail: skola@spssoutu.cz, URL: http://www.spssoutu.cz Osnova kurzu OBSLUHA PC ZÁKLADNÍ

Více

Úvodem... 9 Kapitola 1 Karetních

Úvodem... 9 Kapitola 1 Karetních Úvodem... 9 Základní znalosti o programovacích jazycích...10 Jazyk C# a platforma.net...10 Visual C# 2010 Express...11 Instalace platformy.net 4.0 a Visual C# 2010 Express...11 Zdrojový kód aplikací...12

Více

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20 Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

Paměť počítače. alg2 1

Paměť počítače. alg2 1 Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových

Více

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Upozornění pro čtenáře a uživatele této knihy Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována a šířena

Více

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox 02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů

Více

Jazyk C# a platforma.net

Jazyk C# a platforma.net Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond

Více

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Jazyk C# (seminář 6)

Jazyk C# (seminář 6) Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí

Více

PREPROCESOR POKRAČOVÁNÍ

PREPROCESOR POKRAČOVÁNÍ PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,

Více

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39 Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy

Více

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 KAPITOLA 1 Na úvod o Javě 15 Počítačový program 15 Vysokoúrovňový programovací

Více

PROGRAMOVÁNÍ PRO MS WINDOWS 1

PROGRAMOVÁNÍ PRO MS WINDOWS 1 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:

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); TŘÍDY POKRAČOVÁNÍ Události pokračování public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); class Bod private int x; private int y; public event ZmenaSouradnicEventHandler ZmenaSouradnic;

Více

SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ

SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ Vstupy a výstupy pokračování Kódování textů Texty (řetězce nebo znaky) v jazyce C# jsou v paměti uloženy v kódování označovaném běžně Unicode (kódová stránka 1200).

Více

1. Jazyk C# a platforma.net 13

1. Jazyk C# a platforma.net 13 Obsah Předmluva 11 1. Jazyk C# a platforma.net 13 Proč.NET? 13 Struktura prostředí.net 14 Společný běhový systém CLR 15 Řízený a neřízený kód 16 Společný typový systém 17 Specifikace společného jazyka

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

typová konverze typová inference

typová konverze typová inference Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie

Více

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd 7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

Více

Reliance 3 design OBSAH

Reliance 3 design OBSAH Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních

Více

Úvod do programování. Lekce 1

Úvod do programování. Lekce 1 Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -

Více

Konstruktory a destruktory

Konstruktory a destruktory Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém

Více

přetížení operátorů (o)

přetížení operátorů (o) přetížení operátorů (o) - pro vlastní typy je možné přetížit i operátory (tj. definovat vlastní) - pro definici slouží klíčové slovo operator následované typem/znakem operátoru - deklarace pomocí funkčního

Více

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem

Více

PROGRAMOVÁNÍ PRO MS WINDOWS 1

PROGRAMOVÁNÍ PRO MS WINDOWS 1 Jazyk C# je moderní jazyk z rodiny jazyků podporovaných aplikačním prostředím.net. Cílem předmětu je seznámit posluchače s tímto objektovým jazykem, a s programováním aplikací pro MS Windows. V průběhu

Více

7. Datové typy v Javě

7. Datové typy v Javě 7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty. Proměnná Pojmenované místo v paměti sloužící pro uložení hodnoty. K pojmenování můžeme použít kombinace alfanumerických znaků, včetně diakritiky a podtržítka Rozlišují se velká malá písmena Název proměnné

Více

Semestrální práce 2 znakový strom

Semestrální práce 2 znakový strom Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

ORGANIZACE DAT V PROSTŘEDÍ MS WINDOWS 10

ORGANIZACE DAT V PROSTŘEDÍ MS WINDOWS 10 ORGANIZACE DAT V PROSTŘEDÍ MS WINDOWS 10 Disky, složky, soubory 1. Disky a) označují se písmenem a dvojtečkou A:, B: disketové jednotky C:,... pevné místní disky (někdy disk rozdělený na více oddílů) D:,...

Více

ADT/ADS = abstraktní datové typy / struktury

ADT/ADS = abstraktní datové typy / struktury DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Seminář Java II p.1/43

Seminář Java II p.1/43 Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii

Více

Obsahy kurzů MS Office

Obsahy kurzů MS Office Obsahy kurzů MS Office V současné době probíhají kurzy MS Office 2010 s následující osnovou: 1. Základy práce na PC, MS Office - praktické užití Kurz je určen pro všechny, kteří mají s prací na PC minimální

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Více o konstruktorech a destruktorech

Více o konstruktorech a destruktorech Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení

Více

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5 Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5

Více

5 Přehled operátorů, příkazy, přetypování

5 Přehled operátorů, příkazy, přetypování 5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování

Více

6. Příkazy a řídící struktury v Javě

6. Příkazy a řídící struktury v Javě 6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return

Více

ZŠ ÚnO, Bratří Čapků 1332

ZŠ ÚnO, Bratří Čapků 1332 MS Excel 2002 Grada - po spuštění je třeba kliknout do středu obrazovky - v dalším dialogovém okně (Přihlášení) vybrat uživatele, zřídit Nového uživatele nebo zvolit variantu Bez přihlášení (pro anonymní

Více

První kapitola úvod do problematiky

První kapitola úvod do problematiky První kapitola úvod do problematiky Co je to Flex Adobe Flex je ActionSript (AS) framework pro tvorbu Rich Internet Aplications (RIA), tedy knihovna AS tříd pro Flash. Flex používáme k vytvoření SWF souboru

Více

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

Více

6 Příkazy řízení toku

6 Příkazy řízení toku 6 Příkazy řízení toku Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům pro řízení toku programu. Pro všechny tyto základní

Více

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Začínáme vážně programovat Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Podmínky a cykly Dokončení stručného přehledu řídících struktur jazyka C. Složený příkaz, blok Pascalské

Více

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

Více

VISUAL BASIC. Práce se soubory

VISUAL BASIC. Práce se soubory VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit

Více

Předmluva 11 Typografická konvence použitá v knize 12. 1 Úvod do Excelu 2003 13

Předmluva 11 Typografická konvence použitá v knize 12. 1 Úvod do Excelu 2003 13 Předmluva 11 Typografická konvence použitá v knize 12 1 Úvod do Excelu 2003 13 Spuštění a ukončení Excelu 14 Spuštění Excelu 14 Ukončení práce s Excelem 15 Přepínání mezi otevřenými sešity 16 Oprava aplikace

Více

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Pokročilá témata jazyka C++

Pokročilé programování v jazyce C pro chemiky (C3220) Pokročilá témata jazyka C++ Pokročilé programování v jazyce C pro chemiky (C3220) Pokročilá témata jazyka C++ Prostory jmen U programů mohou někdy nastat kolize mezi jmény (tříd, funkcí, globálních proměnných atd.) pokud v různých

Více

Proměnné a datové typy

Proměnné a datové typy Proměnné a datové typy KAPITOLA 2 V této kapitole: Primitivní datové typy Proměnné Opakování Mezi základní dovednosti každého programátora bezesporu patří dobrá znalost datových typů. Ta vám umožní efektivní

Více

Osnovy kurzů. pilotního projektu v rámci I. Etapy realizace SIPVZ. Systém dalšího vzdělávání veřejnosti. počítačová gramotnost

Osnovy kurzů. pilotního projektu v rámci I. Etapy realizace SIPVZ. Systém dalšího vzdělávání veřejnosti. počítačová gramotnost Osnovy kurzů pilotního projektu v rámci I. Etapy realizace SIPVZ Systém dalšího vzdělávání veřejnosti počítačová gramotnost Začínáme s počítačem Úvod...5 Co je to počítač, informace, použití...10 Hlavní

Více

Obsah. Několik slov o Excelu 2007 a 2010 9. Operace při otvírání a ukládání sešitu 15. Operace s okny 27. Kapitola 1

Obsah. Několik slov o Excelu 2007 a 2010 9. Operace při otvírání a ukládání sešitu 15. Operace s okny 27. Kapitola 1 Obsah Kapitola 1 Několik slov o Excelu 2007 a 2010 9 Nové uživatelské rozhraní 9 Pás karet 10 Panel nástrojů Rychlý přístup 11 Tlačítko Office 11 Pracovní plocha 12 Nápověda 13 Kapitola 2 Operace při otvírání

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

DATABÁZE MS ACCESS 2010

DATABÁZE MS ACCESS 2010 DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,

Více

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: vzdělávací

Více

Opakování programování

Opakování programování Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování

Více

Datové typy strana 29

Datové typy strana 29 Datové typy strana 29 3. Datové typy Jak již bylo uvedeno, Java je přísně typový jazyk, proto je vždy nutno uvést datový typ datového atributu, formálního parametru metody, návratové hodnoty metody nebo

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová 5. Statistica StatSoft, Inc., http://www.statsoft.com, http://www.statsoft.cz. Verze pro Mac i PC, dostupná

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

Informace k e-learningu

Informace k e-learningu Informace k e-learningu Příprava na testy bude probíhat samostatně formou e-learningových školení přístupných způsobem popsaným níže. Zkušební testy, pomocí kterých se budete připravovat na závěrečný test,

Více

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!

Více

1. Programování proti rozhraní

1. Programování proti rozhraní 1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní

Více

Programování v jazyce JavaScript

Programování v jazyce JavaScript Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Operátory a příkazy BI-JSC Evropský sociální fond

Více

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí Kolekce obecně Seznamy a iterátory doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Kolekce ::= homogenní sada prvků

Více

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean

Více

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

Komponenty v.net. Obsah přednášky

Komponenty v.net. Obsah přednášky doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Rozdíl mezi COM a.net Distribuce komponent Programování

Více

Regulární výrazy. Vzory

Regulární výrazy. Vzory Regulární výrazy Regulární výrazy jsou určeny pro práci s textovými řetězci, jsou součástí J2SDK až od verze 1.4, v předchozích verzích je potřeba použít některou z externích knihoven, např. knihovnu ORO

Více

Windows 8.1 (5. třída)

Windows 8.1 (5. třída) Windows 8.1 (5. třída) Pracovní plocha: takto vypadá Pracovní plocha u nás ve škole - pozadí Pracovní plochy - ikony na pracovní ploše - Hlavní panel - ikony na Hlavním panelu (zvýrazněná ikona spuštěné

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance

Více