Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Kolejna, sidma ju wersja jzyka Visual Basic (Visual Basic .NET) to prawdziwa
rewolucja firma Microsoft opracowaa jednolite rodowisko programistyczne,
a jednym z jego podstawowych jzykw (oprcz Visual C++ i Visual C#) jest wanie
Visual Basic. Dziki wsparciu potnej firmy, jak jest Microsoft i rozpowszechnieniu
systemu Windows, Visual Basic .NET sta si jednym z najczciej uywanych
jzykw programowania na wiecie.
Ksika Visual Basic .NET. wiczenia adresowana jest do osb, ktre chc pozna
podstawowe zasady tworzenia w jzyku VB .NET programw sterowanych zdarzeniami.
Jak wszystkie ksiki z tej serii jest ona skonstruowana w formie praktycznych
wicze, pozwalajcych stopniowo zagbia si w niuanse programowania bez
zbdnych rozwaa teoretycznych.
Poznasz:
Platform .NET
Programowanie sterowane zdarzeniami
Zmienne i stae
Sterowanie przebiegiem wykonywania programu
Podstawy programowania obiektowego
Korzystanie z baz danych
Obsug bdw w Visual Basic .NET
Spis treci
Wstp.............................................................................................................................................................. 5
Rozdzia 1.
Rozdzia 3. Zmienne....................................................................................................................................................... 41
Zmienne i stae ...........................................................................................................................41
Stae......................................................................................................................................45
Operatory....................................................................................................................................46
Typy danych...............................................................................................................................49
Zmienne ...............................................................................................................................50
Wskaniki ............................................................................................................................50
Konwersja typw .................................................................................................................51
Poprawno wprowadzanych przez uytkownikw danych................................................54
Zakres zmiennych ......................................................................................................................55
Czas ycia zmiennych ................................................................................................................59
Struktury.....................................................................................................................................60
Tablice ........................................................................................................................................62
Konwencje nazewnicze ..............................................................................................................64
Zasady ..................................................................................................................................64
Wskazwki...........................................................................................................................65
Rozdzia 7.
Dane ............................................................................................................................................................120
Relacyjny model baz danych....................................................................................................120
XML .........................................................................................................................................121
ADO .NET ...............................................................................................................................122
Przestrzenie nazw...............................................................................................................122
Klasy ..................................................................................................................................122
Obiekt Connection .............................................................................................................123
Obiekt Command ...............................................................................................................127
Kreatory danych.................................................................................................................132
Lokalne kopie danych ........................................................................................................136
161
wiczenie 9.1.
formularza nie istnieje obiekt startowy projektu. Okno zada nie tylko informuje
o bdach, ale rwnie uatwia ich wyszukanie i naprawienie. Aby naprawi bd:
a. dwukrotnie kliknij lewym przyciskiem myszy opis bdu,
b. wywietlone zostanie okno dialogowe pozwalajce na wybranie nowego obiektu
4. Po zmianie obiektu startowego okno zada nie bdzie zawiera adnych komunikatw.
podkrelone niebiesk, falist lini aby dowiedzie si, na czym polega nasz
bd, ustaw kursor myszy nad zaznaczonym sowem (rysunek 9.2).
8. Zauwa, e ten sam komunikat Type Decimmal is not definied. wywietlany
jest w oknie zada. Napraw bd przez podanie prawidowej nazwy typu %
.
9. Utwrz procedur zdarzenia Click przycisku cmdSilnia.
10. W ramach procedury zdarzenia:
162
Rysunek 9.2.
W Visual Studio
wywietlony zostanie
krtki opis
bdw syntaktycznych
163
For, ktra nie zostaa zakoczona sowem kluczowym Next. Dopisz je przed
zwracajc wynik dziaania funkcji instrukcj Return:
!
!"
!
!"
#$
%
wynosi" z liczb typu Double. Jeeli w programie wystpi bd, jego dziaanie
zostaje przerywane, a na ekranie uytkownika wywietlony jest niewiele mu
mwicy komunikat o wystpieniu bdu.
4. Kliknij przycisk Break. Wywietlone zostanie okno edytora kodu z zaznaczon
164
SilniaIteracja wyniku:
5)+,-"##-6"#(
,#'278"
#)2.
7. Uruchom program i przetestuj jego dziaanie. Jak wida, wyeliminowanie bdw
wiczenie 9.3.
165
Rysunek 9.5.
Korzystajc
z rekurencji musimy
tak sformuowa
warunek wywoywania
funkcji przez sam
siebie, aby proces
zagniedania zosta
kiedy zakoczony
8. Uruchom program i przetestuj jego dziaanie. Po raz kolejny okazuje si, e dziaajcy
wiczenie 9.4.
166
marginesie.
5. Wznw dziaanie programu (np. naciskajc klawisz F5 lub klikajc ikon paska
dziaanie programu nie zostao wstrzymane. Raz jeszcze kliknij przycisk Silnia,
ale nie zmieniaj domylnej liczby 1. Tym razem warunek nie zosta speniony
(1 nie jest wiksze ni 1) i wywietlone zostao okno umoliwiajce wstrzymanie
dziaania programu (rysunek 9.6).
Rysunek 9.6. Wyjtkowo nieeleganckie rozwizanie na pasku tytuu okna wywietlone zostao zmienione
znaczenie przyciskw. W tym przypadku kliknicie przycisku Przerwij koczy dziaanie programu (uruchamia
tryb projektowania), kliknicie przycisku Ponw prb uruchamia tryb diagnostyczny, a kliknicie przycisku
Ignoruj kontynuuje wykonywanie programu
11. Kliknij przycisk Ponw prb wywietlone zostanie okno edytora kodu
167
klawiszy Ctr+Break lub klikajc ikon paska narzdzi Debug Break All.
wiczenie 9.5.
Modyfikujemy puapki
Visual Studio pozwala na warunkowe wstrzymywanie dziaania programu za pomoc
ustawionych w nim puapek, dziki czemu niektre bdy mog zosta wykryte bez
koniecznoci krokowego uruchamiania programu (uruchamiania programu wiersz po
wierszu). Wykonujc biece wiczenie, nauczymy si konfigurowa ustawione puapki.
1. Wywietl okno edytora kodu formularza frmBledy.
2. Ustaw puapk w wierszu ( <=8
# funkcji SilniaRekurencja.
3. Przywr poprzednie, bdne wywoanie funkcji:
#*9"#
#,6!2.
4. Kliknij prawym przyciskiem myszy symbol koa oznaczajcy ustawion puapk
168
Rysunek 9.8.
Czsto pojedyncze
wykonanie instrukcji
jest poprawne,
a wielokrotne
jej wykonanie wiadczy
o bdzie programu
jest pity raz przy obliczaniu silni liczby 4 bd znajduje si w sposobie wywoania
funkcji, a nie w sposobie sprawdzania warunku brzegowego rekurencji. Rzeczywicie
tak jest zamiast przy kolejnych wywoaniach zmniejsza liczb o jeden,
my dodajemy do niej jeden, co powoduje, e warunek brzegowy nigdy nie zostanie
speniony.
12. Popraw znaleziony bd i usu puapk.
13. Ustaw puapk w wierszu #9*# funkcji SilniaIteracja.
14. Wywietl waciwoci puapki i kliknij przycisk Condition.
15. Zostanie wywietlone okno dialogowe pozwalajce na okrelenie warunku
W ten sposb dziaanie programu zostanie wstrzymane, jeeli ptla bdzie wykonana
tyle samo lub wicej razy, ni podana przez uytkownika liczba, ktrej silnia
ma zosta wyliczona.
17. Uruchom program. Po chwili jego dziaanie zostanie wstrzymane.
169
18. Odczytujc (przez ustawienie kursora myszy) wartoci zmiennych licznik i dblWynik
dowiemy si, e niezalenie od tego, ile razy wykonywane jest mnoenie, warto
zmiennej dblWynik zawsze jest rwna 0.
19. Pewnie ju domylasz si, gdzie znajduje si bd w tej funkcji. Nie poprawiaj go na
wiczenie 9.6.
jeeli wywoana zostanie procedura lub funkcja, jej wykonanie rwnie bdzie
odbywao si instrukcja po instrukcji,
b. kliknicie ikony Step Over take spowoduje wykonanie programu instrukcja po
170
okienek:
a. Locals zawierajcego nazw, aktualn warto i typ wszystkich zmiennych
wynosi zero. Przekonaj si, wykonujc kilka kolejnych instrukcji, e jej warto
nigdy si nie zmienia.
7. W tym przypadku bd polega na braku przypisania wartoci pocztkowej ! zmiennej
jego dziaanie.
171
12. Pierwsza funkcja dziaa ju poprawnie, druga nadal zwraca zero. W jej przypadku
program.
14. Oblicz silni liczby 3. Pierwsza funkcja zwrci wynik, a nastpnie dziaanie programu
zostanie wstrzymane.
15. Tym razem do wyszukania bdu posuymy si oknem Call Stack. Skoro algorytmy
Rysunek 9.12. Dziki oknie Call Stack dowiedzielimy si, e funkcja SilniaRekurencja wywoywana jest
o jeden raz za duo do obliczenia silni 3 powinna zosta wywoana 4 razy (jedno wywoanie zewntrzne
i trzy rekurencyjne: 3! = 1 2 3)
17. Przekonaj si, w jaki sposb, po osigniciu warunku brzegowego, kolejno obliczone
Przechwytywanie bdw
Program, ktry doskonale dziaa w przypadku 95% danych, moe nie dziaa albo dziaa
niepoprawnie (zwraca faszywe wyniki) dla nietypowych danych wejciowych lub
w nietypowych sytuacjach. Tworzc program, powinnimy zabezpieczy si przed takimi
bdami.
172
Klasa Exception
Visual Basic po raz pierwszy, dziki zaimplementowaniu bazowej klasy platformy .NET
Exception (wyjtek), pozwala na strukturaln obsug bdw. Wyjtek jest wywoywany
z tego miejsca programu, w ktrym wystpi bd wykonania. W rezultacie, tworzony
jest obiekt specjalny Exception, ktrego wartoci atrybutw moemy programowo odczyta.
Najwaniejsze atrybuty obiektu Exception to:
Message zwraca komunikat bdu,
Source zwraca oraz pozwala ustawi nazw programu, w ramach ktrego
wystpi bd,
StackTrace zwraca list metod, ktrych wywoanie spowodowao wystpienie bdu.
173
wiczenie 9.8.
wykonywania tej operacji moe wystpi kilka bdw: plik o podanej nazwie moe
nie istnie, niewaciwie moe zosta podana jego lokalizacja, sam plik moe
zwiera niepoprawne dane itp. Dlatego pierwsz instrukcj procedury powinna by
instrukcja Try.
174
wiczenie 9.9.
175
4. Przed instrukcj End Try dodaj blok Finally. Instrukcje umieszczone w tym bloku
10. Uruchom program i przetestuj jego dziaanie. Zwr uwag, e bd, ktry wystpi