Objektové programování I (C#) – 5 RNDr. Michal Pobucký michal.pobucky@fpf.slu.cz Ústav informatiky – zima 2020 • Je zapotřebí nainstalovat SQL v rámci Visual Studia Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Buď • Je zapotřebí nainstalovat SQL v rámci Visual Studia Objektové programování I (C#) - 5 - RNDr. Michal Pobucký anebo • Je zapotřebí nainstalovat SQL v rámci Visual Studia Objektové programování I (C#) - 5 - RNDr. Michal Pobucký anebo • Vytvořte novou aplikaci Windows Forms (.NET Framework) Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Tvorba databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Tvorba databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Novou tabulku s názvem Products Tvorba databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Tvorba databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Zkopírovat obsah vlastnosti Connection string Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Přidáme butony Seřaď a Filtruj Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Restartuj program Co se stane? Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Editace dat v databázi Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Z lokální proměnné uděláme globální Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Vyčleníme metodu pro zobrazení dat z databáze Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Přidáme Labely, TextBoxy (tb_Name, tb_Description,…) a Buttony (but_Insert, but_Update, but_Delete) Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Z lokální proměnné uděláme globální Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Chyba – nevkládáme ID Dvě možnosti – vkládat ručně, anebo nastavit databázi Co je lepší? Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Doplníme vymazání formuláře a znovunačtení databáze po Insertu Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Tlačítko vymazání řádku Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Tlačítko úpravy obsahu řádku Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Proč? Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Proč? Protože čísla v databázi jsou uložena s desetinnou tečkou a nyní je dáváme s desetinnou čárkou. Musíme to ošetřit. Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Stejnou úpravu provedeme i u but_Insert_Click Zobrazení databáze Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Vytvoříme klasické aplikační menu Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Označte text Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Klik pravou myší na výběr Klik na Rychle akce a refaktoring Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Zobrazí se… Klik na Extrahovat metodu Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Zobrazí se… Pište název metody - Vloz Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Automaticky došlo k přejmenování na obou místech Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Stejným způsobem refaktorujte obsah but_Delete_Click na Vymaz Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Stejným způsobem refaktorujte obsah but_Delete_Click na Vymaz Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Stejným způsobem refaktorujte obsah but_Update_Click na Uprav Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Stejným způsobem refaktorujte obsah but_Update_Click na Uprav Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Dokončíme funkčnost menu Spustit Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Vytvořte další část menu Menu Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Nastavíme jako primární textový soubor a aktuální adresář Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Vytvoříme globální proměnnou Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký tb_Obsah Nastavíme vlastnost Multiline na True Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Nová globální proměnná Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Vyzkoušejte nahradit Show() metodou ShowDialog() • Jaký je rozdíl? Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Vyzkoušejte nahradit Show() metodou ShowDialog() • Jaký je rozdíl? • Zbylá část aplikace není aktivní a čeká na ukončení práce… Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Zviditelníme TextBox pro ostatní části aplikace Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Nastavíme vlastnosti Enabled v menu u položek Uložit a Zavřít na hodnotu False Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Při vytvoření nového souboru se aktivuje možnost uložit a zavřít Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Nalezneme nový soubor na disku Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Shodný kód refaktorizujeme Vždy! Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, Zavřít soubor • Co je špatně? Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, Zavřít soubor • Co je špatně? • Zůstala možnost uložit i zavřít soubor Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, kliknout na křížek v pravém horním rohu pro zavření souboru • Co je špatně? Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, kliknout na křížek v pravém horním rohu pro zavření souboru • Co je špatně? • Zůstala možnost uložit i zavřít soubor Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, kliknout na křížek v pravém horním rohu pro zavření souboru • Co je špatně? • Zůstala možnost uložit i zavřít soubor • Tentokrát to bude složitější – předáváme info z druhého formuláře zpět do prvního Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, změnit jej a kliknout na Uložit • Co je špatně? Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, změnit jej a kliknout na Uložit • Co je špatně? • Otevře se okno pro vybrání názvu souboru, my ale chceme uložit ten, který již máme Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, Otevřít druhý soubor, Zavřít soubor, Zavřít druhý soubor (oba zavíráme pomocí menu) • Co je špatně? Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, Otevřít druhý soubor, Zavřít soubor, Zavřít druhý soubor (oba zavíráme pomocí menu) • Co je špatně? • Chceme mít možnost práce pouze s jedním souborem. Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, Nový soubor • Co je špatně? Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, Nový soubor • Co je špatně? • Chceme mít možnost práce pouze s jedním souborem. Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Refaktorujeme poslední změnu kódu Přidali jsme další vstupní proměnnou, protože potřebujeme odlišit dvě události Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký Spustit Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, Zavřít křížkem, Otevřít soubor • Co je špatně? Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, Zavřít křížkem, Otevřít soubor • Co je špatně? • Myslí, že je otevřený a vyskočí dialogové okno Práce se soubory Objektové programování I (C#) - 5 - RNDr. Michal Pobucký • Odladíme chyby • Zkuste: • Otevřít soubor, Zavřít křížkem, Otevřít soubor • Co je špatně? • Myslí, že je otevřený a vyskočí dialogové okno • Chytré hlavy to vyřeší za domácí úkol. ☺