Typy a proměnné
zapište obslužnou metodu události Click tlačítka a vyzkoušejte chování polevýsledek.text = polečíslo1.text + polečíslo2.text;
Typy Hodnoty, kterých mohou nabývat vlastnosti prvků nejsou libovolné, ale vždy jen několika druhů např. True/False, barva, číslo, text Takto chápanému druhu hodnot se říká datový typ nebo jen typ. Každá hodnota nebo vlastnost v programu je vždy nějakého typu. Typ určuje hlavně to, kde se daná hodnota či vlastnost může použít a jaké operace se s ní dají provádět.
Objekt graf. uživ. rozhraní Vlastnost Druh hodnoty Všechny Text Textový řetězec Všechny Všechny Okno programu Okno programu Textové pole Textové pole Textové pole Zaškrtávací políčko Všechny Textové pole Všechny BackColor ForeColor MinimizeBox MaximizeBox Multiline ReadOnly UseSystemPasswordChar Checked Enabled MaxLength TabIndex Barva Logická hodnota True nebo False Číslo Textové pole ScrollBars Výčet hodnot
Druh hodnoty Název typu Alternativní název (nemusíte znát, ale někdy se hodí) Textový řetězec string String Barva Color Logická hodnota bool Boolean Číslo int Int32 Typová konverze potřeba vždy, když chceme převádět typy z jednoho na druhý, např. řetězce 7 a 15 na čísla 7 a 15. Zatím to neumíme, proto náš program Sčítačka funguje jen jako Spojovačka.
Diagram činností a pseudokód Diagram činností zachycuje nějaký postup (algoritmus) řešení určité úlohy pomocí grafických útvarů. Hodnoty Text obou vstupních polí převést na čísla. Čísla sečíst. Výsledek převést na řetězec a zapsat jako hodnotu Text výstupního pole.
Pokud se místo diagramu činností použije pseudokód, používá se místo obrázkové formy textová forma a zpravidla se ve formě komentářů zapisuje přímo do těla programu. private void tlačítkorovnáse_click(object sender, EventArgs e) { // Hodnoty Text obou vstupních polí převést // na čísla // Čísla sečíst } // Výsledek převést na řetězec a zapsat jako // hodnotu Text výstupního pole
Převod řetězce na číslo a naopak k převodu řetězce na číslo slouží metoda ToInt32 třídy Convert metoda přebírá jeden parametr převáděný řetězec Convert.ToInt32(převáděný řetězec) číslo na řetězec umí metoda ToString třídy Convert Convert.ToString(číslo)
Proměnné často je potřeba nějaké hodnoty uložit do operační paměti (RAM) počítače a tam s nimi dále pracovat, to se dělá pomocí proměnných každou proměnnou je třeba předem deklarovat syntaxe: typ_proměnné jméno_proměnné; int číslo1; int výškastudenta;
Kompletní sčítačka // Hodnoty Text obou vstupních polí převést na čísla int číslo1; číslo1 = Convert.ToInt32(poleČíslo1.Text); int číslo2; číslo2 = Convert.ToInt32(poleČíslo2.Text); // Čísla sečíst int výsledek; výsledek = číslo1 + číslo2; // Výsledek převést na řetězec a zapsat jako hodnotu // Text výstupního pole polevýsledek.text = Convert.ToString(výsledek);
Návratová hodnota v přiřazovacím příkazu se napravo od rovnítka zapisuje hodnota číslo = 10; metody mohou mít tzv. návratovou hodnotu, tj. hodnotu, kterou vrátí po provedení, a která se dosadí do programu v místě volání metody číslo = Convert.ToInt32( 10 ); např. ToInt32 má vždy návratovou hodnotu nějaké číslo, říkáme tedy, že návratovou hodnotou je typ int existují metody nez návratové hodnoty např. Close
3 příklady
Běhové chyby dost často se stane, že v programu dojde z nějakého důvodu k chybě zkuste do našeho programu Sčítačka zadat místo čísel nějaké texty při spuštění programu z vývojového prostředí se program zastaví a ukáže se řádek s chybou při spuštění přímo hotového exe souboru program spadne to není dobré, a proto je to potřeba řešit
Ošetření běhových chyb znemožnit uživateli zadat chybná data (např. pomocí ovládacích prvků, které umožní zadat jenom číslo apod.) zachytit chybu přímo v programu a pokračovat tak, aby se chyba neprojevila někde dále označit kritickou část programu zabalit do try v případě chyby se spustí náhradní kód programu
Deklarace s inicializací umožňuje proměnné přiřadit hodnotu hned při jejím vzniku syntaxe: typ_proměnné jméno_proměnné = počáteční_hodnota; např. místo dvou příkazů int číslo; číslo = 50; lez zapsat jenom int číslo = 50; nezapomeňte: deklarovat proměnnou lze pouze jednou, přiřadit do ní hodnotu lze libovolněkrát
př. spočítá celkovou cenu objednávky a nesmí zhavarovat na žádném vstupu Výstup v MessageBoxu: Objednali jste si: monitor a klávesnice za 3851 Kč.
př. Báječný soused pravý český soused, chamtivý má vždy 2x víc než já, závistivý zařídí, že mám vždy o jedno míň než on
Př. který chlapcům po kliknutí vymění jejich dívky.
Př. program, který po stisku kteréhokoliv tlačítka vymění jejich barvy.
Př. který zobrazí po stisku tlačítka okno se zprávou, zda je v políčku text nebo číslo. Tip: využijte možnost zahodit návratovou hodnotu metody Convert.ToInt32 a použijte ji pouze k otestování čísla/textu.
Př. upravte program Sčítačka, aby podle toho, jestli jsou zadána čísla nebo text fungoval buď jako sčítačka čísel nebo jako spojovačka textů.
Př. udělejte program, kde se nabídka bude měnit podle toho, co je v textovém políčku a jestli je projekt otevřen nebo zavřen.