MS Visual C++.pdf

(399 KB) Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
PRZYK£ADOW Y ROZDZIA£
MS Visual C++.
SPIS TRECI
Æwiczenia
KATALOG KSI¥¯EK
Autor: Adam Majczak
ISBN: 83-7361-206-8
Format: B5, stron: 122
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Visual C++ to popularne rodowisko RAD (szybkiego tworzenia aplikacji). Dziêki
intuicyjnej obs³udze jest ono nie tylko wygodnym narzêdziem dla profesjonalistów
tworz¹cych zaawansowane aplikacje dla Windows, ale tak¿e bezpiecznym „polem
dowiadczalnym” dla wszystkich tych, którzy chc¹ spróbowaæ swoich si³
w programowaniu w C++.
Niniejsza ksi¹¿ka stanowi praktyczne uzupe³nienie podrêcznika lub kursu
programowania w C++. Mo¿e byæ dla Ciebie zbiorem zadañ wykonywanych jako
indywidualne prace domowe, mo¿e byæ tak¿e potraktowana jako zbiór „podpowiedzi”
pokazuj¹cy, jak zawodowcy rozwi¹zuj¹ niektóre typowe problemy wystêpuj¹ce przy
programowaniu w C++ i Visual C++. Wiêcej w niej praktycznych zadañ dla programisty
ni¿ teoretycznych rozwa¿añ o niuansach sztuki programowania w C++.
Ksi¹¿ka opisuje:
• Aplikacje konsolowe ANSI C++
• Programowanie sekwencyjne w Visual C++
• Konstruowanie aplikacji zdarzeniowych i obiektowych
• Wyprowadzanie danych w trybie graficznym
• Korzystanie z szablonów
• Obs³ugê wyj¹tków
• Tworzenie aplikacji w rodowisku graficznym
• Stosowanie biblioteki klas MFC w Visual C++
• Wprowadzenie do MS VisualStudio.NET
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
24888253.001.png 24888253.002.png 24888253.003.png
Spis treci
Wprowadzenie...........................................................................................................................................5
Jak korzysta z tej ksiki?.................................................................................................. 6
Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++......................7
Podsumowanie................................................................................................................... 15
Rozdział 2. Aplikacje konsoli w stylu ANSI C++,
programowanie sekwencyjne w Visual C++............................................................................17
Wprowadzanie danych w ruchu programu
i rozbieno"ci w składni ANSI C i ANSI C++............................................................... 19
Podsumowanie................................................................................................................... 26
Rozdział 3. Style programowania — konstruowanie aplikacji
zdarzeniowych i obiektowych, firmowe przykłady VC++...................................................27
Wprowadzenie................................................................................................................... 27
Ptla pobierania wiadomoci o zdarzeniach w programie zdarzeniowym...................................29
Procedury — handlery obsługi zdarze.......................................................................................30
Jak obiekty mog# reagowa$ na komunikaty o zdarzeniach .........................................................31
Podsumowanie................................................................................................................... 42
Rozdział 4. Ewolucja sposobów tworzenia aplikacji w wizualnym .rodowisku Windows.......43
Wprowadzenie................................................................................................................... 43
Zamiana liczb dziesitnych na dwójkowe....................................................................................44
Wyprowadzanie danych w trybie graficznym z zastosowaniem prostego buforowania.................46
Podsumowanie................................................................................................................... 53
Rozdział 5. Szablony i obsługa wyj/tków.............................................................................................................55
Wprowadzenie................................................................................................................... 55
Obsługa sytuacji wyj#tkowych w C++ ........................................................................................55
Konstruowanie i stosowanie szablonów ......................................................................................59
Podsumowanie................................................................................................................... 62
Rozdział 6. Wizualne aplikacje dla graficznego .rodowiska Windows............................................63
Zasady programowania zdarzeniowego dla Windows — wprowadzenie......................... 67
Rozbudowa głównej funkcji WinMain() .....................................................................................67
Konstrukcja głównej funkcji obsługuj#cej komunikaty....................................................................69
Obsługa komunikatu WM_PAINT ..............................................................................................71
Ptla pobierania komunikatów o zdarzeniach od Windows.........................................................72
Przykładowy, prosty kod aplikacji zdarzeniowej.........................................................................73
Podsumowanie................................................................................................................... 89
4
MS Visual C++. wiczenia
Rozdział 7. Stosowanie biblioteki klas MFC w Visual C++.........................................................................91
Wprowadzenie: dlaczego i w jaki sposób trzeba modyfikowa kody
generowane przez kreator Visual C++? ......................................................................... 93
Klasa „Dokument” a operacje plikowe........................................................................................93
Podsumowanie................................................................................................................... 97
Rozdział 8. VisualStudio.NET — 6wiczenia wprowadzaj/ce........................................................................99
Podsumowanie................................................................................................................. 104
Rozdział 9. Tworzymy aplikacje w .rodowisku VisualStudio.NET w C# i w C++..........................105
Podsumowanie................................................................................................................. 111
Rozdział 10. Konstruowanie wizualnych komponentów steruj/cych w VisualStudio.NET.......113
Podsumowanie................................................................................................................. 120
Zako;czenie............................................................................................................................................121
I co dalej?......................................................................................................................... 121
Rozdział 5.
Szablony
i obsługa wyjtków
Podobnie jak w przypadku bibliotek klas (MFC, OWL, itp.) i bibliotek komponentów
wizualnych (np. VCL), producenci kompilatorów C++ cz%sto dodaj& do IDE biblioteki
szablonów (templates). W Visual C++ jest to biblioteka ATL ( Active Template Library ),
popularn& i szeroko dost%pn& wersj& jest STL ( Standard Templates Library ). Te do-.
zło0one zagadnienia wymagaj& przed przyst&pieniem do .wicze2 krótkiego wyja-nienia
i wprowadzenia.
Wprowadzenie
Wykorzystanie szablonów i obsługa sytuacji wyj&tkowych EH ( Exception Handling ) to
kolejne dwa elementy, które silnie wpływaj& na styl programowania i praktyczny spo-
sób konstruowania aplikacji Visual C++. Zrozumienie tych zagadnie2 jest niezb%dne do
-wiadomego i umiej%tnego korzystania z mo0liwo-ci Visual C++. Mechanizmy te najła-
twiej wyja-ni. i zademonstrowa. w najprostszych aplikacjach, dlatego to ostatni rozdział,
w którym b%dziemy si% jeszcze posługiwa. znakowymi aplikacjami konsoli. W nast%pnych
rozdziałach, posiadaj&c ju0 w spory zasób wiedzy, umiej%tno-ci i praktycznych do-wiad-
cze2 w pracy z Visual C++, wykorzystamy to wszystko, by nasze aplikacje umiej%tnie
wykorzystywały mo0liwo-ci -rodowiska Windows.
Obsługa sytuacji wyjtkowych w C++
W C++ wyj&tek lub sytuacja wyj&tkowa to w istocie obiekt, który jest przekazywany
(przy okazji wraz z pewnymi informacjami) z tego obszaru w kodzie, gdzie wyst&pił
problem do tego obszaru w kodzie, który zajmuje si% „pokojowym rozwi&zaniem” tego
56
MS Visual C++. wiczenia
problemu. Okre-lenie „pokojowe rozwi&zanie” oznacza tu przemy-lan& obsług% sytuacji
konfliktowej typu: brak pami%ci operacyjnej, nie istnieje potrzebny plik dyskowy, próba
dzielenia przez zero, itp., która w normalnych warunkach mogłaby spowodowa. prze-
rwanie działania programu i, co gro:niejsze, cz%sto utrat% danych trudnych do odzyskania
i odtworzenia.
Rodzaj wyra0enia (obiektu — wyj&tku) mo0e decydowa. o tym, która cz%-. kodu podejmie
prób% rozwi&zania konfliktowej sytuacji. Zawarto-. tak „przerzucanego obiektu-wyj&tku”
(ang. throw-n object ) mo0e decydowa. o sposobie powrotu do dalszej pracy aplikacji
i o sposobie informowania u0ytkownika o wyst&pieniu i obsłudze sytuacji wyj&tkowej.
Podstawowe zasady logiki obsługi wyj&tków sprowadzaj& si% do nast%puj&cych działa2:
1. Zidentyfikowanie tych fragmentów kodu, które potencjalnie mog& spowodowa.
wyst&pienie sytuacji wyj&tkowej i uj%cie ich w bloki typu try (spróbuj).
2.
Utworzenie bloków obsługi (dosł.: catch — przechwy.) przewidywanych,
mo0liwych sytuacji wyj&tkowych.
!"#
$"%$
&
Z technicznego punktu widzenia bloki powinny w kodzie wyst%powa. bezpo-
-rednio po bloku . Sterowanie zostanie przekazane do bloku tylko wtedy, gdy
przewidywana sytuacja wyj&tkowa rzeczywi-cie wyst&pi.
Przykładowy kod pokazany poni0ej ilustruje praktyczne zastosowanie najprostszego,
„pustego” obiektu-wyj&tku przeznaczonego do obsługi typowej sytuacji konfliktowej —
próby zapisania do macierzy elementu, dla którego nie ma przewidzianego miejsca (spoza
dopuszczalnego zakresu indeksu-offsetu), co mo0e w praktyce zagra0a. przerwaniem pra-
cy aplikacji i utrat& danych. Listing 5.1 i rysunek 5.1 przedstawiaj& prosty przykład ob-
sługi wyj&tku.
Listing 5.1. Obsługa wyjtku — ExHandle1.CPP
'"()
*"+,-.
"/*.""0
"1
23
45.*3
24888253.004.png
Zgłoś jeśli naruszono regulamin