Microsoft Visual C 2008 Tworzenie aplikacji dla Windows.pdf

(679 KB) Pobierz
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008.
Tworzenie aplikacji
dla Windows
Autor: Rafa³ Wileczek
ISBN: 978-83-246-2150-7
Format: 158 × 235, stron: 216
Rozpocznij przygodê z Visual C++!
Jakie prawa rz¹dz¹ programowaniem obiektowym?
Jak tworzyæ us³ugi systemowe?
Jak dokumentowaæ tworzony kod?
Microsoft Visual C++ jest zintegrowanym œrodowiskiem, pozwalaj¹cym na tworzenie
aplikacji przy u¿yciu jêzyków C, C++ lub C++/CLI. Zawiera ono wyspecjalizowane
narzêdzia, pomagaj¹ce w wydajnym tworzeniu rozwi¹zañ opartych o te jêzyki. Pierwsza
wersja Visual C++ zosta³a wydana w 1992 roku, a œrodowisko to jest bezustannie
ulepszane. Najnowsze wydanie, z dat¹ 2008, zosta³o opublikowane w listopadzie 2007
roku i wprowadzi³o wiele nowoœci – jak chocia¿by wsparcie dla technologii .NET 3.5.
Niew¹tpliwie narzêdzie firmowane przez giganta z Redmond jest jednym z
najpopularniejszych, a u¿ywaj¹ go programiœci z ca³ego œwiata.
Dziêki tej ksi¹¿ce równie¿ Ty mo¿esz do³¹czyæ do tego wybitnego grona. Po jej
przeczytaniu bêdziesz mia³ wiedzê na temat œrodowiska programistycznego i platformy
.NET. Poznasz podstawy programowania obiektowego, nauczysz siê uzyskiwaæ dostêp
do informacji zgromadzonych w bazach danych oraz korzystaæ z mo¿liwoœci Internetu
bezpoœrednio w Twoich programach. Kolejne rozdzia³y przedstawiaj¹ interesuj¹ce
tematy dotycz¹ce obs³ugi wyj¹tków, programów wielow¹tkowych oraz sposobów
tworzenia us³ug systemowych. Ostatni rozdzia³ poœwiêcony zosta³ tak istotnej kwestii,
jak dokumentowanie kodu – to czynnoœæ, o której wielu programistów zapomina. Je¿eli
chcesz rozpocz¹æ przygodê z Microsoft Visual C++, ta ksi¹¿ka jest idealn¹ lektur¹ dla
Ciebie!
Praca w zintegrowanym œrodowisku programistycznym
Pojêcia zwi¹zane z programowaniem obiektowym
Uzyskiwanie dostêpu do informacji zgromadzonych w bazach danych
Wykorzystanie transakcji w pracy z danymi
Sposoby integracji z sieci¹ Internet
Obs³uga wyj¹tków
Programowanie wielow¹tkowe
Tworzenie grafiki oraz wykorzystanie multimediów
Drukowanie w systemie Windows
Tworzenie us³ug systemowych
Dokumentowanie kodu programu
Wykorzystaj mo¿liwoœci Microsoft Visual C++ 2008!
319753033.001.png 319753033.002.png
Spis treści
Wstęp .............................................................................................. 7
Rozdział 1. Środowisko Visual C++ 2008 .......................................................... 11
Platforma .NET .............................................................................................................. 11
Tworzenie i konfiguracja projektu .................................................................................. 12
Kompilowanie i uruchamianie projektu .......................................................................... 20
Podsumowanie ................................................................................................................ 25
Rozdział 2. Aplikacja z graficznym interfejsem użytkownika .............................. 27
Projekt i okno główne ..................................................................................................... 28
Elementy kontrolne ........................................................................................................ 29
Zdarzenia ........................................................................................................................ 38
Podsumowanie ................................................................................................................ 43
Rozdział 3. Wprowadzenie do programowania obiektowego ............................... 45
Język C++/CLI ............................................................................................................... 46
Podstawowe pojęcia związane z programowaniem obiektowym ................................... 47
Definicja klasy ................................................................................................................48
Konstruktor, destruktor i finalizator ............................................................................... 51
Przeciążanie konstruktorów, metod i operatorów ........................................................... 55
Właściwości .................................................................................................................... 59
Dziedziczenie ................................................................................................................. 61
Polimorfizm ....................................................................................................................65
Podsumowanie ................................................................................................................ 67
Rozdział 4. Dostęp do danych .......................................................................... 69
Tworzenie bazy danych .................................................................................................. 71
Prosty odczyt danych ...................................................................................................... 73
Dostęp do danych z poziomu aplikacji z graficznym interfejsem użytkownika ............. 81
Transakcje ...................................................................................................................... 89
Podsumowanie ................................................................................................................ 92
Rozdział 5. Integracja z siecią Internet ............................................................. 93
Własna przeglądarka WWW .......................................................................................... 94
Menu główne ............................................................................................................ 96
Pasek narzędziowy ................................................................................................. 100
4
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Zdarzenia obiektu przeglądarki .............................................................................. 101
Korzystanie z usług sieciowych XML .................................................................... 103
Usługi WCF .................................................................................................................. 110
Podsumowanie .............................................................................................................. 112
Rozdział 6. Obsługa wyjątków ........................................................................ 115
Przechwytywanie wyjątków ......................................................................................... 115
Zgłaszanie wyjątków .................................................................................................... 117
Obsługa wyjątków na poziomie graficznego interfejsu użytkownika ........................... 119
Podsumowanie .............................................................................................................. 121
Rozdział 7. Programy wielowątkowe ............................................................... 123
Wykonywanie operacji w tle ........................................................................................ 124
Synchronizacja wątków — semafory Dijkstry ............................................................. 128
Wzajemne wykluczenie, sekcja krytyczna ............................................................. 129
Wzajemna blokada ................................................................................................. 129
Zagłodzenie, czyli brak żywotności lokalnej .......................................................... 129
Semafory ................................................................................................................ 129
Przykład zastosowania semaforów ......................................................................... 130
BackgroundWorker i praca w sieci ............................................................................... 135
Podsumowanie .............................................................................................................. 139
Rozdział 8. Grafika komputerowa i multimedia ................................................ 141
Grafika .......................................................................................................................... 141
Dźwięk ......................................................................................................................... 148
Windows Media Player jako komponent multimedialny .............................................. 150
Podsumowanie .............................................................................................................. 154
Rozdział 9. Drukowanie .................................................................................. 155
Komponent PrintDocument, czyli kwintesencja drukowania ....................................... 155
Drukowanie tekstu ........................................................................................................ 156
Drukowanie grafiki ....................................................................................................... 157
Program demonstracyjny .............................................................................................. 158
Podsumowanie .............................................................................................................. 166
Rozdział 10. Usługi systemowe Windows .......................................................... 167
Wprowadzenie do usług systemowych Windows ......................................................... 167
Tworzenie usługi systemowej w Visual C++ 2008 ...................................................... 170
Instalacja i zarządzanie usługą ...................................................................................... 177
Podsumowanie .............................................................................................................. 181
Rozdział 11. Dokumentacja kodu programu ...................................................... 183
Przygotowanie pliku dokumentującego przez środowisko ........................................... 184
Komentarze dokumentujące ......................................................................................... 185
Konfiguracja Sandcastle ............................................................................................... 188
Generowanie i przeglądanie dokumentacji ................................................................... 190
Podsumowanie .............................................................................................................. 191
Podsumowanie ............................................................................. 193
Dodatek A Podstawy C++ — przegląd ............................................................ 195
Pierwszy program ......................................................................................................... 195
Zmienne ........................................................................................................................ 196
Operatory ...................................................................................................................... 198
Instrukcja warunkowa i instrukcja wyboru ................................................................... 200
Spis treści
5
Pętle .............................................................................................................................. 204
Pętla for .................................................................................................................. 204
Pętla while .............................................................................................................. 205
Pętla do/while ......................................................................................................... 206
Pętla for each i tablice w języku C++/CLI ............................................................. 207
Funkcje ......................................................................................................................... 208
Podsumowanie .............................................................................................................. 210
Skorowidz .................................................................................... 211
Rozdział 7.
Programy wielowątkowe
Komputer wyposażony w jeden mikroprocesor może w danym momencie wykonywać
tylko jeden program. Jak to jest więc możliwe, że mimo iż większość komputerów PC
ma tylko jeden procesor, mówi się, że systemy operacyjne są wielozadaniowe? Ponieważ
wielozadaniowość polega na wykonywaniu kliku programów w tym samym czasie,
nie możemy jej w takich warunkach osiągnąć. Czy oznacza to, że jesteśmy oszukiwani?
Cóż, w pewnym sensie tak…
Systemy operacyjne takie jak Microsoft Windows, jeśli zainstalowane są i uruchamiane
na platformie jednoprocesorowej, potrafią pracować w trybie wielozadaniowości z wy-
właszczaniem. Polega on na tym, że w danej jednostce czasu faktycznie wykonywany
jest jeden program, ale po jej upływie system przerywa jego wykonywanie i przeka-
zuje procesor (jako zasób) innej aplikacji. To przerywanie programu nie polega na
zakończeniu jego działania, a tylko na jego chwilowym „zamrożeniu”. Dzięki takiemu
mechanizmowi mamy wrażenie, że nasz komputer jest w pełni wielozadaniowy. O tym,
ile czasu będzie miał dla siebie dany program, decyduje jego priorytet (można go zmie-
nić, ale należy to robić ostrożnie, z pełną świadomością następstw). Ponadto każda apli-
kacja (choć w tym kontekście powinniśmy używać słowa „proces”) może się składać
nie tylko z wątku głównego, ale także z wątków dodatkowych, realizujących pewne za-
dania „w tle”. Mamy więc wielozadaniowość, czyli wykonywanie wielu programów
(procesów) w tym samym czasie, oraz wielowątkowość — realizowanie wielu wątków
jednocześnie w ramach procesu.
Czym różni się wątek od procesu? Otóż procesem zwykle nazywamy program, który
został uruchomiony przez system operacyjny (częściej za jego pośrednictwem przez
użytkownika). Ma on własne środowisko pracy: pamięć, stos, licznik rozkazów itd.,
a jego działaniem steruje system. Wątek natomiast jest jego częścią — proces składa
się co najmniej z jednego wątku, zwanego głównym, i może generować dodatkowe.
Wątek działa samodzielnie, ale w przestrzeni procesu.
Tworzenie aplikacji wielowątkowych to w programowaniu — można powiedzieć
— jedno z najtrudniejszych zagadnień. Wykorzystuje ono w praktyce założenia, defi-
nicje i mechanizmy programowania współbieżnego oraz wiąże się bezpośrednio z pro-
blematyką synchronizacji między wątkami i procesami. Dlatego producenci środowisk
programistycznych oraz różnego rodzaju bibliotek prześcigają się w wydawaniu
Zgłoś jeśli naruszono regulamin