K1459.qxd
16.4.2007
11:10
StrÆnka 3
Obsah ⁄vod Proč jsem napsal tuto knihu? Pro koho je tato kniha určena Co je obsahem této knihy Jak číst tuto knihu Zvláštní vlastnosti Kontakt na autora Poznámka redakce českého vydání
17 17 18 18 21 21 21 22
Kapitola 1
PrvnÌ program pro Windows
23
Získání a nainstalování Visual C# 2005
24
SystÈmovÈ poûadavky V˝bÏr vhodnÈ verze Instalace Visual C# 2005
První projekt ve Visual C# 2005 SpuötÏnÌ programu UrËenÌ typu novÈho projektu Zad·nÌ n·zvu a umÌstÏnÌ projektu IntegrovanÈ v˝vojovÈ prost¯edÌ (IDE) Spusùte projekt!
Co je počítačový program? Co je programovacÌ jazyk? P¯eklad kÛdu pro poËÌtaË
Závěr Test
24 25 25
26 26 27 28 29 30
32 33 34
35 35
Kapitola 2
PrvnÌ kÛd Otevření existujícího projektu ZobrazenÌ n·vrh·¯e a zobrazenÌ kÛdu ProhlÌûeË objekt˘
Třídy a objekty DÏdÏnÌ JmennÈ prostory
37 38 40 42
43 44 44
Obsah
K1459.qxd
16.4.2007
11:10
StrÆnka 4
.NET Framework Okno vlastnostÌ ZmÏna vlastnostÌ v dobÏ n·vrhu
Co je aplikace pro Windows Aplikace pro Windows jsou GUI Aplikace pro Windows jsou ¯ÌzenÈ ud·lostmi T¯Ìdy obsahujÌ ud·losti
Vytvoření procedury události Vytvo¯enÌ z·kladu procedury ud·losti Z·pis kÛdu do procedury ud·losti St¯ednÌk Oper·tor p¯i¯azenÌ Koment·¯e
Závěr Test
45 46 47
48 49 51 52
52 53 55 55 56 56
57 58
Kapitola 3
Ovl·dacÌ prvky Vkládání ovládacích prvků do formuláře Sada n·stroj˘ (Toolbox) KopÌrov·nÌ ovl·dacÌch prvk˘ ze Sady n·stroj˘ do formul·¯e ZmÏna umÌstÏnÌ ovl·dacÌho prvku ZmÏna velikosti ovl·dacÌho prvku
Důležité vlastnosti Popisku (Label) Vlastnost Text Vlastnost Name
Použití ovládacího prvku Popisek (Label) Sou¯adnice ukazatele myöi Vytvo¯enÌ aplikace
Jak tento kód funguje VyuûitÌ parametr˘ procedury ud·losti Co kdyû napÌöete chybn˝ kÛd Metoda ToString Deleg·t
Závěr Test
59 59 60 61 62 63
65 65 65
67 67 67
70 70 70 72 73
74 75
Kapitola 4
Ukl·d·nÌ informacÌ ñ datovÈ typy a promÏnnÈ Datové typy »ÌselnÈ datovÈ typy TextovÈ datovÈ typy DatovÈ typy vlastnostÌ Visual C#
4
77 78 78 79 79
16.4.2007
11:10
StrÆnka 5
Proměnné Deklarace promÏnn˝ch N·zvy promÏnn˝ch Co se stane, pokud promÏnnou nedeklarujete?
UmÌstÏnÌ deklaracÌ promÏnn˝ch Lok·lnÌ promÏnnÈ »lenskÈ promÏnnÈ t¯Ìdy ProË byste nemÏli vûdy deklarovat promÏnnÈ jako Ëleny t¯Ìd?
Konstanty Deklarace konstant UmÌstÏnÌ deklaracÌ konstant Kde p¯i¯adÌte konstantÏ hodnotu? ProË je dobrÈ pouûÌvat konstanty?
Závěr Test
81 81 82 83
Obsah
K1459.qxd
84 84 85 86
87 87 88 88 88
89 90
Kapitola 5
MatematickÈ v˝poËty v programu ñ aritmetickÈ oper·tory 91 Aritmetické operátory Oper·tor sËÌt·nÌ Oper·tor odËÌt·nÌ Oper·tor n·sobenÌ Oper·tory dÏlenÌ Priorita oper·tor˘ SpojenÌ aritmetick˝ch a p¯i¯azovacÌch oper·tor˘ Oper·tory inkrementace a dekrementace
Metoda Parse
91 92 92 92 93 94 94 95
96
Metody t¯Ìd
97
Projekt Smenarna
97
Vytvo¯enÌ projektu Algoritmus
Závěr Test
98 100
102 102
Kapitola 6
Porovn·v·nÌ ñ porovn·vacÌ a logickÈ oper·tory 103 Ladění Porovnávací operátory Oper·tory porovn·v·nÌ ËÌsel Porovn·v·nÌ ¯etÏzc˘ Priorita
104 105 106 107 108
5
Obsah
K1459.qxd
16.4.2007
11:10
StrÆnka 6
Logické operátory Oper·tor && Oper·tor & Oper·tor || Oper·tor | Oper·tor ^ Oper·tor ! Priorita ProË kromÏ oper·tor˘ & a | existujÌ jeötÏ oper·tory && a ||?
Závěr Test
108 109 110 110 111 111 112 113 113
113 114
Kapitola 7
V˝bÏr ñ ¯ÌdicÌ struktury if a switch Vytvoření testovacího projektu Řídicí struktura if P¯Ìkaz if VÌce podmÌneËn˝ch p¯Ìkaz˘ »astÈ chyby
P¯Ìkaz if...else
115 116 116 118 119
120
»astÈ chyby
121
P¯Ìkaz if...else if
123
»astÈ syntaktickÈ chyby
Vstupní validace V˝jimky Co je neobslouûen· v˝jimka? Zjiöùov·nÌ v˝skytu v˝jimky Metoda TryParse
Ovládací prvky používané v řídicí struktuře if Ovl·dacÌ prvek Zaökrt·vacÌ polÌËko Ovl·dacÌ prvek P¯epÌnaË
124
124 124 125 126 126
128 128 129
Program na výpočet ceny pizzy
130
Vytvo¯enÌ projektu Jak tento projekt funguje KÛd
130 131 131
Deklarace konstant V˝poËet ceny ObnovenÌ v˝chozÌch nastavenÌ aplikace
Řídicí struktura switch Syntaxe PouûitÌ ¯ÌdicÌ struktury switch KlÌËovÈ slovo break Volba ¯ÌdicÌ struktury if...else if nebo switch
6
115
131 132 133
133 134 134 136 137
16.4.2007
11:10
StrÆnka 7
Závěr Test
138 138
Obsah
K1459.qxd
Kapitola 8
Opakov·nÌ ñ cykly a pole Cykly
139 139
P¯Ìkaz for Syntaxe Jak pracuje p¯Ìkaz for Pozor na nekoneËnÈ cykly P¯Ìklad v˝poËtu faktori·lu UkonËenÌ cyklu
KlÌËovÈ slovo continue Vno¯ov·nÌ
P¯Ìkaz foreach P¯Ìkaz while Konstrukce do while
Pole
140 141 143 145 145 146
147 148
149 149 152
152
Deklarace polÌ P¯i¯azov·nÌ hodnot poli Inicializace P¯i¯azenÌ
Závěr Test
152 153 153 154
155 155
Kapitola 9
Uspo¯·d·nÌ kÛdu v metod·ch Definice a volání metody Terminologie metody N·zev metody Definice metody Vol·nÌ metody
Parametry – odesílání informací metodě P¯ed·v·nÌ argument˘ hodnotou VyuûitÌ argumentu VyuûitÌ vÌce argument˘ P¯edanÈ argumenty musÌ odpovÌdat deklarovan˝m parametr˘m
157 158 158 159 160 160
161 162 162 163 164
P¯ed·v·nÌ argument˘ odkazem
165
KlÌËovÈ slovo ref KlÌËovÈ slovo out P¯ed·v·nÌ pole v argumentu
166 167 168
7
Obsah
K1459.qxd
16.4.2007
11:10
StrÆnka 8
Návrat hodnoty z metody Syntaxe Jak je hodnota vr·cena Ukl·d·nÌ n·vratovÈ hodnoty VracenÌ booleovskÈ hodnoty
Závěr Test
169 169 170 171 171
172 173
Kapitola 10
PomocnÈ formul·¯e Okna se zprávou Vytvo¯enÌ projektu Okna se zpr·vou jsou mod·lnÌ Metoda Show
175 176 177 178 178
Parametry metody Show V˝Ëtov˝ typ MessageBoxButtons V˝Ëtov˝ typ MessageBoxIcon V˝Ëtov˝ typ MessageBoxDefaultButton
178 179 180 180
VyuûitÌ n·vratovÈ hodnoty metody Show
181
V˝Ëtov˝ typ DialogResult Zpracov·nÌ vr·cenÈ hodnoty typu DialogResult
Dialogové formuláře Vytvo¯enÌ projektu Zobrazov·nÌ dialogov˝ch formul·¯˘ a n·vrat jejich v˝sledk˘ Metoda ShowDialog N·vrat v˝sledku typu DialogResult
P¯Ìstup k hodnot·m dialogovÈho formul·¯e Mod·lnÌ versus nemod·lnÌ
Závěr Test
181 182
183 183 187 187 188
188 189
189 190
Kapitola 11
NabÌdky Vytvoření hlavní nabídky VloûenÌ ovl·dacÌho prvku MenuStrip na formul·¯ VloûenÌ poloûek nabÌdky do komponenty MenuStrip Z·pis poloûek nabÌdky Editor kolekce poloûek
Rozö̯enÌ funkËnosti poloûek nabÌdky P¯ÌstupovÈ kl·vesy Kl·vesovÈ zkratky DÏlicÌ Ë·ry
8
191 191 193 194 194 195
198 198 199 199
16.4.2007
11:10
StrÆnka 9
P¯i¯azenÌ funkËnosti poloûk·m nabÌdky Znep¯ÌstupnÏnÌ poloûek nabÌdky
Vytvoření kontextové nabídky VloûenÌ ovl·dacÌho prvku ContextMenuStrip na formul·¯ VloûenÌ poloûek nabÌdky do komponenty ContextMenuStrip Z·pis poloûek nabÌdky Editor kolekce poloûek KopÌrov·nÌ a vkl·d·nÌ
P¯i¯azenÌ funkËnosti poloûk·m kontextovÈ nabÌdky T¯Ìda EventHandler Vol·nÌ jinÈ procedury ud·losti
Projekt Textový editor Vytvo¯enÌ projektu VysvÏtlenÌ kÛdu
Závěr Test
200 200
201
Obsah
K1459.qxd
202 203 203 204 205
206 207 207
208 208 210
210 211
Kapitola 12
Panely n·stroj˘ Vytvoření panelu nástrojů VloûenÌ panelu n·stroj˘ na formul·¯ VloûenÌ tlaËÌtek na panel n·stroj˘ P¯i¯azenÌ obr·zk˘ tlaËÌtk˘m panelu n·stroj˘
Připojení kódu ke klepnutí na tlačítka panelu nástrojů Závěr Test
213 213 214 215 218
224 225 225
Kapitola 13
P¯Ìstup k textov˝m soubor˘m Dialogy Otevřít a Uložit VloûenÌ ovl·dacÌho prvku OpenFileDialog na formul·¯ ZobrazenÌ ovl·dacÌho prvku OpenFileDialog ZjiötÏnÌ zvolenÈho tlaËÌtka Otev¯Ìt nebo Storno UrËenÌ otevÌranÈho souboru T¯Ìda SaveFileDialog
227 227 228 229 230 231 232
Čtení textového souboru
233
T¯Ìda StreamReader
234
Import jmennÈho prostoru System.IO Vytvo¯enÌ instance t¯Ìdy StreamReader
NaËtenÌ textovÈho souboru do ovl·dacÌho prvku TextovÈ pole Zav¯enÌ textovÈho souboru
234 235
235 236
9
Obsah
K1459.qxd
16.4.2007
11:10
StrÆnka 10
Zápis textového souboru T¯Ìda StreamWrite Z·pis dat textovÈho pole do textovÈho souboru Zav¯enÌ textovÈho souboru
Závěr Test
237 237 238 239
240 240
Kapitola 14
Datab·ze Instalace databáze ZÌsk·nÌ datab·ze Northwind Traders Instalace datab·ze Northwind Traders
Připojení databáze Využití Průzkumníka serverů ProhlÌûenÌ datab·ze ProhlÌûenÌ tabulky z·kaznÌk˘ Customers
Databázový projekt FunkËnost projektu Vytvo¯enÌ formul·¯e Import jmennÈho prostoru Data Vytvo¯enÌ p¯ipojenÌ TrvalÈ p¯ipojenÌ versus odpojen· aplikace T¯Ìda OleDbConnection
Vytvo¯enÌ p¯Ìkazu P¯Ìkaz jazyka SQL Vlastnost CommandText SpojenÌ p¯Ìkazu a p¯ipojenÌ
NaplnÏnÌ objektu DataGridView Vytvo¯enÌ objektu OleDbDataAdapter Vytvo¯enÌ objektu DataSet PropojenÌ objekt˘ DataGridView a DataSet
Závěr Test
241 241 242 242
242 245 246 247
250 250 251 252 252 253 253
255 255 255 256
256 257 258 259
260 261
Kapitola 15
WebovÈ aplikace ASP.NET Internetová informační služba ZjiötÏnÌ nainstalov·nÌ IIS Instalace IIS SpuötÏnÌ Spr·vy sluûby IIS SpuötÏnÌ v˝chozÌho webovÈho serveru
10
263 263 264 264 266 267 268
16.4.2007
11:10
StrÆnka 11
URL V·ö poËÌtaË jako webov˝ server Virtu·lnÌ a fyzick· cesta
Vytvoření webové aplikace V˝vojov˝ server ASP.NET IDE aplikace ASP.NET
Vytvoření databázové webové aplikace VloûenÌ ovl·dacÌho prvku GridView UmÌstÏnÌ datab·ze na webovÈm serveru P¯id·nÌ kÛdu
Závěr Test
Z·vÏreËn· zkouöka OdpovÏdi StruËn˝ slovnÌk pojm˘ Rejst¯Ìk
269 270 271
Obsah
K1459.qxd
272 273 275
277 277 280 281
282 282
285 289 303 307
11