CZĘŚĆ 1

Wprowadzenie do Visual Basic .NET

1 Czym jest Visual Basic .NET?................................................................................................ 3

Definicja Visual Basic .NET................................................................................................... 4

Visual Basic .NET jest językiem programowania................................................................ 5

Visual Basic .NET służy do pisania aplikacji Windows ..................................................... 7

Aplikacje Windows są graficzne....................................................................................... 9

Aplikacje Windows bazują na zdarzeniach...................................................................10

Język programowania Visual Basic .NET jest zorientowany obiektowo.......................12

Własności...........................................................................................................................13

Metody................................................................................................................................13

Zdarzenia ...........................................................................................................................14

Programowanie za pomocą klas.....................................................................................15

To nie tylko Visual Basic, to Visual Basic .NET ...............................................................16

Podsumowanie........................................................................................................................17

2 Stwórz program Visual Basic bez pisania kodu.................................................................21

.NET Framework .................................................................................................................. 23

Zanim zainstalujesz Visual Studio.NET .............................................................................24

Wersje Visual Studio.NET..............................................................................................24

Wymagania systemowe Visual Studio.NET .................................................................25

Projekt 2-1: Instalacja Visual Studio.NET..........................................................................26

Uruchamianie i dostosowywanie Visual Studio.NET.......................................................32

Projekt 2-2: Tworzenie aplikacji Windows.........................................................................36

Kod za kulisami ......................................................................................................................41

Instrukcje Class i Inherits ................................................................................................43

Metoda New......................................................................................................................44

Metoda InitializeComponent..........................................................................................45

Metoda Dispose................................................................................................................47

Dyrektywa Region ............................................................................................................48

Podsumowanie........................................................................................................................49

3 Procedury

zdarzeń, własności oraz kontrolki ....................................................................53

Procedury zdarzeń..................................................................................................................54

Kiedy procedury zdarzeń są konieczne? .......................................................................55

Używanie środowiska IDE do tworzenia procedury zdarzenia ................................56

Pisanie kodu wewnątrz procedury zdarzenia ...............................................................59

Sprawdzanie i zmiana wartości własności ..........................................................................65

Używanie narzędzia Forms Designer do odczytu i zmiany własności.....................66

Odczyt i zmiana własności poprzez kod ......................................................................69

Dodawanie kontrolek do formy...........................................................................................70

Okno Toolbox ..................................................................................................................71

Kopiowanie elementów z okna Toolbox do formy....................................................73

Zmiana rozmiaru i położenia kontrolki przy użyciu Forms Designer.....................74

Kod za kulisami.................................................................................................................75

Projekt 3-1: Używanie kontrolki Label................................................................................76

Podsumowanie........................................................................................................................79

CZĘŚĆ 2

Programowanie bloków składowych:

Zmienne, typy danych oraz operatory

4 Typy danych i zmienne..........................................................................................................85

Typy danych ............................................................................................................................86

Bity i bajty ..........................................................................................................................88

Numeryczne typy danych................................................................................................90

Znakowe typy danych ......................................................................................................93

Różnorodne typy danych.................................................................................................94

Wartości domyślne ...........................................................................................................95

Zmienne...................................................................................................................................96

Option Explicit .................................................................................................................97

Option Strict......................................................................................................................98

Zakres.................................................................................................................................99

Deklarowanie zmiennych ..............................................................................................101

Projekt 4-1: Zmienne dzielone (Shared) ...........................................................................107

Stałe ........................................................................................................................................110

Podsumowanie.................................................................................................................... .113

5 Operatory arytmetyczne i przypisania...............................................................................115

Operator przypisania............................................................................................................116

Lokacja instrukcji przypisania.......................................................................................117

Lewa strona instrukcji przypisania ...............................................................................117

Prawa strona instrukcji przypisania..............................................................................118

Konwersja typów................................................................................................................. 119

Konwersje poszerzające.................................................................................................120

Konwersje zawężające....................................................................................................120

Efekt Option Strict w połączeniu z konwersjami .....................................................122

Słowa kluczowe konwersji typów ................................................................................122

Operatory arytmetyczne ......................................................................................................125

Operatory dzielenia ........................................................................................................126

Operatory wiązania.........................................................................................................127

Ponowne spojrzenie na konwersje typów...................................................................128

Pierwszeństwo operatorów ...........................................................................................129

Łączenie operatorów arytmetycznych i przypisania..................................................130

Projekt 5-1: Projekt Change Machine ...............................................................................131

Funkcja InputBox oraz zwracana przez nią wartość ................................................133

Algorytm ........................................................................................................................ .134

Wypisywanie wyników...................................................................................................135

Podsumowanie.................................................................................................................... .136

6 Operatory

porównań i logiczne..........................................................................................141

Operatory porównania.........................................................................................................142

Porównywanie obiektów ...............................................................................................144

Porównywanie stringów ................................................................................................146

Pierwszeństwo.................................................................................................................149

Operatory logiczne.............................................................................................................. 150

Operator And..................................................................................................................151

Operator AndAlso..........................................................................................................151

Operator Or.....................................................................................................................152

Operator OrElse.............................................................................................................153

Operator Xor...................................................................................................................153

Operator Not ..................................................................................................................154

Pierwszeństwo.................................................................................................................154

Podsumowanie.................................................................................................................... .155

CZĘŚĆ 3

Kontrola wykonywania programu

7 Struktury

kontrolne ............................................................................................................ .163

Instrukcja If ...........................................................................................................................164

Instrukcja If...Then.........................................................................................................165

Instrukcja If...Then...Else ..............................................................................................166

Funkcja IIf ..................................................................................................................... .167

Instrukcja If…ElseIf......................................................................................................167

Kontrolki używane wraz z instrukcją If............................................................................169

Kontrolka CheckBox .....................................................................................................169

Kontrolka RadioButton.................................................................................................170

Projekt 7-1: Kalkulator czesnego .......................................................................................170

Instrukcja Select Case ..........................................................................................................177

Projekt 7-2: Kalkulator arytmetyczny................................................................................179

Podsumowanie.................................................................................................................... .184

8 Pętle i tablice..........................................................................................................................187

Struktury pętli........................................................................................................................188

Instrukcja For...Next......................................................................................................188

Instrukcja While...End While........................................................................................191

Instrukcja Do...................................................................................................................193

Tablice ....................................................................................................................................196

Deklarowanie tablicy......................................................................................................196

Użyteczne funkcje, własności i metody ......................................................................200

Zmiana rozmiarów tablicy.............................................................................................201

Instrukcja For Each...Next............................................................................................203

Projekt 8-1: Kalkulator dnia tygodnia ...............................................................................205

Podsumowanie.................................................................................................................... .212

9 Procedury...............................................................................................................................215

Typy procedur.......................................................................................................................216

Procedury wbudowane kontra zdefiniowane przez programistę............................217

Metody..............................................................................................................................217

Podprogramy.........................................................................................................................218

Deklarowanie podprogramu .........................................................................................219

Wywoływanie podprogramów......................................................................................223

Argumenty .......................................................................................................................225

Funkcje...................................................................................................................................229

Deklarowanie funkcji .....................................................................................................229

Wywoływanie funkcji.....................................................................................................231

Więcej na temat argumentów .............................................................................................234

Przesyłanie argumentów przez wartość i przez referencje ......................................234

Argumenty opcjonalne...................................................................................................239

Tablice parametrów........................................................................................................241

Przeładowywanie procedur.................................................................................................244

Projekt 9-1: Kalkulator, wersja 2........................................................................................247

Podsumowanie.................................................................................................................... .250

CZĘŚĆ 4

Interfejs użytkownika

10 Formy pomocnicze ..............................................................................................................257

Okna komunikatów..............................................................................................................259

Projekt 10-1: Okna komunikatów......................................................................................260

Okna dialogowe .................................................................................................................. .267

Projekt 10-2: Okno dialogowe............................................................................................267

Formy własne........................................................................................................................278

Projekt 10-3: Forma własna................................................................................................278

Podsumowanie.................................................................................................................... .287

11 Menu i pasek narzędziowy ..................................................................................................291

Menu.......................................................................................................................................292

Tworzenie menu .............................................................................................................292

Dodawanie funkcjonalności do elementów menu ....................................................298

Ulepszanie menu.............................................................................................................299

Wyłączanie elementów w menu...................................................................................302

Menu kontekstowe ...............................................................................................................303

Tworzenie menu kontekstowego .................................................................................305

Dodawanie elementów do menu kontekstowego .....................................................307

Dodawanie funkcjonalności do elementów menu ....................................................312

Paski narzędziowe (Toolbars).............................................................................................314

Dodawanie paska narzędziowego i przycisków.........................................................314

Definiowanie ikony przycisku.......................................................................................318

Dodawanie funkcjonalności do paska narzędziowego ...................................................322

Projekt 11-1: Edytor tekstu.................................................................................................324

Podsumowanie.................................................................................................................... .327

CZĘŚĆ 5

Zapobieganie i obsługa błędów

12 Strukturalna obsługa wyjątków i debugowanie................................................................333

Strukturalna obsługa wyjątków ..........................................................................................335

Wyjątki............................................................................................................................. 335

Strukturalna obsługa wyjątków kontra niestrukturalna ............................................336

Instrukcja Try...Catch...Final y......................................................................................336

Projekt 12-1: Niepoprawne dzielenie ................................................................................338

Klasy wyjątków ...............................................................................................................340

Debugowanie.........................................................................................................................342

Tryb przerwania..............................................................................................................344

Rozpoczęcie debugowania ............................................................................................344

Kontrola wykonywania podczas debugowania..........................................................352

Narzędzia debugowania.................................................................................................356

Podsumowanie.................................................................................................................... .363

A Odpowiedzi do Sprawdzianów...........................................................................................367

Rozdział 1: Czym jest Visual Basic .NET...................................................................368

Rozdział 2: Stwórz program Visual Basic bez pisania kodu....................................369

Rozdział 3: Procedury zdarzeń, własności oraz kontrolki.......................................370

Rozdział 4: Typy danych i zmienne.............................................................................371

Rozdział 5: Operatory arytmetyczne i przypisania....................................................371

Rozdział 6: Operatory porównań i logiczne...............................................................372

Rozdział 7: Struktury kontrolne ...................................................................................373

Rozdział 8: Pętle i tablice ..............................................................................................374

Rozdział 9: Procedury....................................................................................................375

Rozdział 10: Formy pomocnicze .................................................................................376

Rozdział 11: Menu i pasek narzędziowy.....................................................................377

Rozdział 12: Strukturalna obsługa wyjątków i debugowanie ..................................378