C++BuilderX cwiczenia.pdf

(373 KB) Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
PRZYK£ADOW Y ROZDZIA£
C++BuilderX.
SPIS TRECI
Æwiczenia
KATALOG KSI¥¯EK
Autor: Mariusz Owczarek
ISBN: 83-7361-676-4
Format: B5, stron: 128
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
C++BuilderX to narzêdzie, które ma umo¿liwiæ tworzenie aplikacji w jêzyku C++
dla ró¿nych platform systemowych. Na wszystkich platformach wygl¹d jego interfejsu
jest identyczny, co bardzo u³atwia pracê. Narzêdzie to, poza mo¿liwoci¹ tworzenia
aplikacji w sposób wizualny, udostêpnia programistom równie¿ rozbudowany edytor
kodu ród³owego oraz edytor HTML i XML. C++BuilderX staje siê coraz popularniejszym
rodowiskiem do tworzenia aplikacji wieloplatformowych.
„C++BuilderX. Æwiczenia” to ksi¹¿ka dla tych, którzy chc¹ poznaæ to narzêdzie
i nauczyæ siê podstaw programowania z u¿yciem C++BuilderX. Dziêki zawartym
w niej wiadomociom dowiesz siê, jak korzystaæ ze rodowiska wizualnego i jak
stworzyæ proste programy dla systemów Windows i Linux.
• Podstawy korzystania z C++BuilderX
• Podstawowe wiadomoci o C++
• Aplikacje uruchamiane z poziomu konsoli
• Tworzenie aplikacji z interfejsem graficznym
• Korzystanie z ró¿nych kompilatorów
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
400223299.002.png 400223299.003.png 400223299.004.png 400223299.005.png
Spis treci
Wstp.................................................................................................................................................................5
Rozdział 1. Pierwsze kroki w rodowisku C++BuilderX...................................................................................7
Co jest potrzebne, aby korzysta z C++BuilderX?...................................................... 7
Pierwsze spotkanie z C++BuilderX............................................................................. 8
Menu i paski narz dzi.................................................................................................. 8
Okna .......................................................................................................................... 10
Podsumowanie........................................................................................................... 14
Rozdział 2. Aplikacje konsolowe ..............................................................................................................................15
Ogólna posta programu pisanego w C++.................................................................... 15
Dyrektywy ................................................................................................................. 17
Dyrektywa #include............................................................................................. 17
Dyrektywa #define............................................................................................... 18
Dyrektywa #if — kompilacja warunkowa ........................................................... 19
Typy zmiennych ........................................................................................................ 19
Zmienne typu int.................................................................................................. 20
Zmienne typu float............................................................................................... 20
Typ double........................................................................................................... 21
Typ char............................................................................................................... 21
Modyfikatory typów ............................................................................................ 21
Rzutowanie (konwersja) typów............................................................................ 22
Typ wyliczeniowy................................................................................................ 23
Operatory................................................................................................................... 24
Zapis danych do plików i odczyt z nich za pomoc7 operatora << i >>................ 26
Wska<niki.................................................................................................................. 28
Tablice....................................................................................................................... 30
Operatory new i delete............................................................................................... 32
Instrukcje................................................................................................................... 33
Instrukcje selekcji (wyboru)................................................................................. 34
Instrukcje iteracyjne............................................................................................. 37
Funkcje ...................................................................................................................... 42
Przeci7?anie funkcji............................................................................................. 43
NiejednoznacznoA .............................................................................................. 45
Przekazywanie argumentów przez wartoA i adres.............................................. 46
Wska<niki do funkcji ........................................................................................... 49
4
C++BuilderX. wiczenia
Funkcja main()........................................................................................................... 50
Przekazywanie parametrów do funkcji main()..................................................... 50
Struktury i unie.......................................................................................................... 52
Struktury .............................................................................................................. 52
Unie...................................................................................................................... 54
Klasy.......................................................................................................................... 55
Konstruktory i destruktory................................................................................... 57
Przeładowywanie konstruktorów......................................................................... 59
Dziedziczenie....................................................................................................... 60
Przeci7?anie operatorów ...................................................................................... 64
Wyj7tki ...................................................................................................................... 66
Podsumowanie........................................................................................................... 69
Rozdział 3. Aplikacje okienkowe...............................................................................................................................71
Wst p......................................................................................................................... 71
Pierwszy program GUI — funkcja WinMain()............................................................. 72
Główne okno aplikacji............................................................................................... 76
Podstawy obsługi kontrolek....................................................................................... 81
Kalkulator.................................................................................................................. 84
Najprostszy edytor tekstu .......................................................................................... 88
Ulepszamy edytor...................................................................................................... 93
Rysowanie w oknie aplikacji..................................................................................... 96
Odtwarzanie d<wi ku z plików .wav......................................................................... 99
Podsumowanie......................................................................................................... 103
Rozdział 4. Zarz&dzanie definicjami obiektów w C++BuilderX..............................................................105
Class browser........................................................................................................... 105
Okno Structure View............................................................................................... 110
Podsumowanie......................................................................................................... 112
Rozdział 5. U-ytkowanie kilku kompilatorów i projekty makefile........................................................113
Kompilacja warunkowa........................................................................................... 115
Opcje linii komend .................................................................................................. 116
Konfiguracje budowy aplikacji................................................................................ 117
Konfiguracje Debug Build i Release Build........................................................ 117
Własne konfiguracje budowy aplikacji.............................................................. 118
Dodawanie własnych kompilatorów do Arodowiska................................................ 119
Budowanie aplikacji ze zbiorów makefile.................................................................. 123
Podsumowanie......................................................................................................... 125
Literatura.....................................................................................................................................................127
3.
Aplikacje okienkowe
Wstp
C++BuilderX w przeciwiestwie do C++Buildera 6 nie zawiera elementów VCL. Jestemy
wic zmuszeni pisa programy z GUI przy u%yciu WinAPI. Ma to swoje dobre strony,
poniewa% pozwala na lepsz- optymalizacj kodu, ale jednoczenie zwiksza ilo czasu
i pracy potrzebnej do napisania aplikacji. W pierwszej wersji BuilderaX przewidziane jest
pisanie aplikacji GUI tylko pod systemem Windows. Dodatkowym utrudnieniem jest brak
mo%liwoci tworzenia menu i okien dialogowych w plikach zasobów. Edytor menu i okien
dialogowych pojawi si zapewne w drugiej wersji BuilderaX. Tak naprawd mo%liwe jest
pisanie programów GUI równie% pod Linuksem, ale nale%y si w tym celu posłu%y którym
z narzdzi ułatwiaj-cych to zadanie. Takim narzdziem jest m.in. pakiet GTK++ dostpny
na licencji open source.
Poniewa% w drugiej wersji opcja projektów GUI prawdopodobnie bdzie dostpna tak%e
pod Linuksem, zdecydowałem si nie opisywa tu GTK++ ani innego tego typu pakietu, ale
poczeka na rozwi-zanie zaproponowanie przez firm Borland. Je%eli bdziesz, Czy-
telniku, zainteresowany rodowiskiem GTK, to na stronie projektu (www.gtk.org) znaj-
dziesz obszerne opisy i tutoriale. Mo%na si z nich nauczy pracy z t- bibliotek- od samych
podstaw do skomplikowanych aplikacji.
Mam nadziej, %e tak%e dla Windows ewolucja programu pójdzie w kierunku jakiej formy
biblioteki VCL, która jednak bardzo ułatwia prac.
Na zakoczenie wstpu kilka słów o wiczeniach w tym rozdziale. Poniewa% aplikacje
w WinAPI s- dosy długie, nie jest mo%liwe napisanie ich w jednym wiczeniu. Dlatego
ten rozdział podzielony jest na podrozdziały opisuj-ce jedn- aplikacj (edytor, kalkula-
tor itd.). Wszystkie wiczenia w danym podrozdziale odnosz- si do tego samego kodu
:ródłowego, aplikacja jest rozwijana w kolejnych podpunktach.
Rozdział
72
C++BuilderX. wiczenia
Pierwszy program GUI — funkcja WinMain()
wiczenie 3.1.
Aby stworzy projekt, którego wynikiem ma by aplikacja okienkowa:
1. Wybieramy z menu File opcj New i w oknie Object Gallery wybieramy New GUI
Application. Pojawi si kreator projektów GUI.
2. Pierwszym krokiem jest wpisanie nazwy projektu i katalogu, w którym zostan-
utworzone pliki programu. W polu nazwy pliku wpiszmy , a nastpnie
kliknijmy Next>.
3. Teraz nale%y wybra platform, na której bdzie działa nasz projekt. Poniewa%
bdzie to aplikacja WinAPI, domylnie wybrany jest Windows. Obowi-zuj- tutaj
takie same zasady wyboru kompilatorów, jak dla programów wykonywanych
w oknie konsoli.
4. Ostatnim krokiem jest wskazanie, jakie pliki maj- wej w skład projektu.
Domylnie projekt zawiera jeden plik, nazwany untitled1.cpp i zawieraj-cy kod
programu z funkcj- . Jest to odpowiednik funkcji . Aby pik ten
został utworzony, musimy zaznaczy okienko w kolumnie Create obok nazwy
pliku. Klikaj-c na przycisk Add, mo%emy otworzy okno umo%liwiaj-ce doł-czenie
innych plików do projektu, podobnie jak to było w aplikacji konsolowej. Mog-
to by pliki nagłówkowe, z obrazami graficznymi czy binarne pliki zasobów.
Do odł-czania plików od projektu słu%y przycisk Remove. Do naszego pierwszego
projektu wystarczy plik z kodem programu, klikamy wic opisywane wy%ej okienko
Create, a nastpnie Finish.
5. Piki projektu zostan- utworzone w wybranym przez nas katalogu, a w oknie Project
content zobaczymy ich list. Bd- to: plik projektu Hallo.cbx, plik untitled1.cpp
z kodem programu i plik Hallo.exe, który bdzie zawierał gotowy program
po kompilacji.
Z czego składa si projekt GUI Windows?
Kliknijmy dwukrotnie plik untitled1.cpp. Jego zawarto pojawi si w oknie kodu :ró-
dłowego, a w oknie widoku struktury zobaczymy plik nagłówkowy i funkcje istniej-ce
w programie. Na razie jedynym plikiem nagłówkowym jest windows.h, a jedyn- funkcj-
. Plik windows.h zawiera funkcje WinAPI. Funkcja
!"
, jest uchwytem do aplikacji, której czci- jest dana funkcja
. Drugi parametr to uchwyt do poprzedniego uruchomienia danej aplikacji (je%eli
dwie kopie aplikacji działaj- w tym samym momencie). W rodowisku Windows ten
posiada parametry
inne ni% funkcja dla aplikacji konsolowych i na niej si na chwil zatrzymamy. Oto
posta :
Pierwszy parametr,
400223299.001.png
Zgłoś jeśli naruszono regulamin