C_Builder_6_cwiczenia_cwcbu6.pdf

(416 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
C++Builder 6.
Æwiczenia
Autor: Andrzej Daniluk
ISBN: 83-7197-986-X
Format: B5, stron: 128
Przyk³ady na ftp: 1391 kB
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Borland C++ Builder to jedno z najwygodniejszych rodowisk programistycznych dla
programistów C++, platforma ciesz¹ca siê du¿¹ popularno ci¹ i maj¹ca za sob¹ d³ug¹
historiê. W jêzyku C++ napisano wiele aplikacji dla Windows, z których znaczna czê æ
powsta³a w³a nie w Builderze.
„C++ Builder. Æwiczenia” to uzupe³nienie poprzedniej publikacji Wydawnictwa Helion,
zatytu³owanej „C++ Builder 5. Æwiczenia praktyczne”. Ksi¹¿ka omawia zmiany, jakie
wprowadzono w nowej, szóstej ju¿ wersji C++ Buildera, a tak¿e porusza wiele
zagadnieñ, które nie znalaz³y siê w ksi¹¿ce traktuj¹cej o poprzedniej edycji tego
programu. Informacje zosta³y przekazane w formie æwiczeñ z dok³adnym omówieniem
prezentowanego kodu ród³owego.
Znajdziesz w niej miêdzy innymi:
• Zagadnienia zwi¹zane z kompatybilno ci¹ pomiêdzy wersjami pi¹t¹ i szóst¹
C++ Buildera
• Seriê æwiczeñ przybli¿aj¹cych jêzyk C++
• Omówienie rodowiska IDE C++ Builder
• Æwiczenia z programowania w C++ z wykorzystaniem C++ Builder
• Æwiczenia z pisania aplikacji wielow¹tkowych
• Sposoby tworzenia w³asnych komponentów
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
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
Spis treści
Wstęp.............................................................................................................................................................. 5
Rozdział 1.
Konfiguracja projektu ............................................................................................................................ 7
Kompatybilność wersji Buildera..................................................................................................8
Podsumowanie .............................................................................................................................9
Rozdział 2. C++ w pigułce............................................................................................................................................ 11
Pliki nagłówkowe.......................................................................................................................11
Przestrzenie nazw standardowych..............................................................................................14
Klasy wejścia-wyjścia języka C++ ............................................................................................14
Obsługa plików z wykorzystaniem klasy ios.......................................................................17
Struktury w C++.........................................................................................................................18
Samodzielne tworzenie plików nagłówkowych...................................................................21
Klasy w C++ ..............................................................................................................................22
Konstruktor i destruktor .......................................................................................................27
Inne spojrzenie na klasy. Własności ....................................................................................29
Funkcje przeładowywane...........................................................................................................31
Niejednoznaczność ..............................................................................................................33
Funkcje ogólne ...........................................................................................................................34
Przeładowywanie funkcji ogólnych .....................................................................................36
Typ wyliczeniowy ......................................................................................................................37
Dziedziczenie .............................................................................................................................38
Funkcje wewnętrzne...................................................................................................................42
Realizacja przekazywania egzemplarzy klas funkcjom .............................................................43
Tablice dynamicznie alokowane w pamięci...............................................................................45
Tablice otwarte ...........................................................................................................................48
Wskaźniki do egzemplarzy klas.................................................................................................50
Wskaźnik this .............................................................................................................................51
Obsługa wyjątków......................................................................................................................52
Podsumowanie ...........................................................................................................................56
Rozdział 3. Środowisko programisty — IDE...................................................................................................... 57
Biblioteka VCL ..........................................................................................................................59
Karta Standard .....................................................................................................................59
Karta Additional...................................................................................................................61
Karta Win32.........................................................................................................................63
Karta System ........................................................................................................................65
Karta Dialogs .......................................................................................................................66
4
C++Builder 6. Ćwiczenia
Biblioteka CLX ..........................................................................................................................67
Karta Additional...................................................................................................................67
Karta Dialogs .......................................................................................................................68
Podsumowanie ...........................................................................................................................68
Rozdział 4. C++ w wydaniu Buildera 6 ................................................................................................................ 69
Formularz ...................................................................................................................................69
Zdarzenia ....................................................................................................................................71
Rzutowanie typów danych .........................................................................................................78
Klasa TObject.............................................................................................................................78
Wykorzystujemy własne funkcje ...............................................................................................79
Wykorzystujemy własny, nowy typ danych ..............................................................................81
Widok drzewa obiektów — Object Tree View ..........................................................................84
Komponenty TActionManager i TActionMainMenuBar ....................................................84
Typy wariantowe........................................................................................................................89
Tablice wariantowe ..............................................................................................................91
Klasy wyjątków..........................................................................................................................93
Więcej o wskaźniku this.............................................................................................................96
Podsumowanie ...........................................................................................................................98
Rozdział 5. Biblioteka CLX ......................................................................................................................................... 99
Komponenty TTimer i TLCDNumber .......................................................................................99
Podsumowanie .........................................................................................................................103
Rozdział 6. Tworzymy własne komponenty ...................................................................................................... 105
Podsumowanie .........................................................................................................................110
Rozdział 7.
Aplikacje wielowątkowe ................................................................................................................... 111
Funkcja BeginThread() ............................................................................................................111
Komponent TChart...................................................................................................................114
Podsumowanie .........................................................................................................................116
Rozdział 8. C++Builder jako wydajne narzędzie obliczeniowe............................................................. 119
Obliczenia finansowe ...............................................................................................................119
Podsumowanie .........................................................................................................................126
2.
C++ w pigułce
Rozdział
Ten rozdział poświęcony jest skrótowemu omówieniu podstawowych pojęć, którymi po-
sługujemy się tworząc programy w C++. Zagadnienia tutaj poruszane posiadają kluczowe
znaczenie dla zrozumienia idei programowania zorientowanego obiektowo w środowisku
C++. U ywana terminologia oraz zamieszczone w dalszej części rozdziału przykłady (o ile
nie zostały u yte elementy z biblioteki VCL) zgodne są ze standardem ANSI X3J16/ISO
WG21 języka C++
1
.
Pliki nagłówkowe
W odró nieniu od programów pisanych w standardowym języku C, gdzie nie musimy
zbytnio przejmować się dołączaniem do kodu źródłowego wielu plików nagłówkowych,
w programach C++ nie mo na ich pominąć. Wynika to z faktu, i bardzo wiele funkcji
bibliotecznych korzysta z własnych struktur oraz typów danych. W C++ ich definicje
znajdują się właśnie w plikach nagłówkowych (ang.
header files),
które posiadają stan-
dardowe rozszerzenie
.h.
C++ jest językiem bazującym na funkcjach, dlatego do pliku
źródłowego programu musimy włączyć przy pomocy dyrektywy
KPENWFG
odpowiednie
pliki zawierające wywoływane funkcje wraz z ich prototypami. Większość standardowych
plików nagłówkowych znajduje się w katalogu instalacyjnym
\INCLUDE.
W dalszej części
rozdziału wiadomości na temat praktycznego wykorzystania zarówno standardowych, jak
i samodzielnie tworzonych plików nagłówkowych znacznie rozszerzymy.
Prosty przykład wykorzystania standardowych plików nagłówkowych
iostream.h
(zawiera
definicje klas umo liwiające wykonywanie ró norodnych operacji wejścia-wyjścia na
strumieniach) oraz
conio.h
(zawiera funkcje obsługi ekranu) zawiera poni sze ćwiczenie.
1
Musimy zauwa yć, i Borland C++Builder traktowany jako kompletne środowisko programistyczne
z pewnych względów nie spełnia wymogów ISO.
12
C++Builder 6. Ćwiczenia
Ćwiczenie 2.1.
1.
Stwórzmy na dysku odrębny katalog (folder) nazywając go po prostu
>
. W katalogu
tym przechowywane będą wszystkie pliki wykorzystywane przez aktualnie pisany
program.
2.
Uruchamiamy C++Buildera 6. Poleceniem menu
File\New\Other\Console Wizard
otwórzmy nowy moduł. W okienku dialogowym
Console Wizard
w opcji
Source Type
wybierzmy
C++,
zaś w drugim panelu odznaczmy
Use VCL, Use CLX, Multi Thread
oraz wybierzmy
Console Application,
tak jak pokazuje to rysunek 2.1. Zaznaczenie
tej opcji powoduje, e program będzie traktował główny formularz tak, jakby był
normalnym okienkiem tekstowym. Pozostawienie aktywnej opcji
Use CLX
(CLX jest
skrótem od angielskiego terminu, określającego pewną klasę bibliotek wspomagających
proces projektowania aplikacji przenośnych pomiędzy Windows a Linux:
Cluster
software runing under LinuX)
spowoduje automatyczne dołączenie do programu pliku
nagłówkowego
clx.h
wspomagającego tworzenie aplikacji międzyplatformowych.
Rysunek 2.1.
Okno Console Wizard
3.
Potwierdzając przyciskiem
OK
przechodzimy do okna zawierającego szkielet kodu
przyszłego programu, tak jak pokazuje to rysunek 2.2.
Rysunek 2.2.
Kod modułu Unit1.cpp
4.
Programów naszych nie będziemy uruchamiać z linii poleceń, dlatego okno edycji
kodu wypełnimy tekstem pokazanym na wydruku 2.1. Następnie poleceniem
File\Save As…
zapiszemy nasz moduł w katalogu
01\
jako
7PKVERR
. Projekt
modułu zapiszemy poleceniem
File\Save Project As…
w tym samym katalogu:
>>2TQLGMVADRT
.
Zgłoś jeśli naruszono regulamin