C++Builder Kompendium programisty.pdf

(481 KB) Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
PRZYK£ADOW Y ROZDZIA£
C++Builder.
Kompendium programisty
SPIS TRECI
KATALOG KSI¥¯EK
Autor: Andrzej Daniluk
ISBN: 83-7361-028-6
Format: B5, stron: 496
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Jêzyk C++ od czasu jego zdefiniowania przez Bjarne Stroustrupa by³ kilkakrotnie
uaktualniany w latach 80. i 90. XX wieku. Chocia¿ C++Builder nie jest dok³adnym
odzwierciedleniem standardu ANSI jêzyka C++, to obecna jego wersja przygotowana
przez firmê Borland jest stabilna i zgodna z oczekiwaniami programistów. Borland
C++Builder stanowi po³¹czenie nowoczesnego jêzyka programowania, jakim jest C++,
biblioteki komponentów wizualnych VCL/CLX oraz zintegrowanego rodowiska
programisty IDE.
„C++Builder. Kompendium programisty” omawia podstawy programowania w C++
ze szczególnym uwzglêdnieniem mo¿liwoci oferowanych przez kompilator Borland
C++Builder. Poznasz wiêc nie tylko sam jêzyk, ale nauczysz siê pisaæ w nim wydajne
i przenone aplikacje, dzia³aj¹ce zarówno w rodowisku linuksowym, jak i w Windows.
Omówione zagadnienia obejmuj¹:
• Opis zintegrowanego rodowiska programisty C++Buildera
• Podstawy jêzyka C++
• Wczesne oraz póne wi¹zanie — wstêp do programowania zorientowanego
obiektowo
• Mo¿liwoci C++Buildera w zakresie pos³ugiwania siê tablicami ró¿nego typu
• Zaawansowane operatory rzutowania typów
• Informacje czasu wykonania
• Obs³ugê wyj¹tków
• Obs³ugê plików
• £añcuchy ANSI
• Zmienne o typie modyfikowalnym w czasie wykonywania programu
• Funkcje FPU i systemowe
• Elementy wielow¹tkowoci — wykorzystanie C++ oraz C++Buildera
w nowoczesnych, wielow¹tkowych systemach operacyjnych
• Liczby pseudolosowe i konwersje wielkoci liczbowych
• Wprowadzenie do grafiki
• Komponentowy model C++Buildera i biblioteki DLL
• Biblioteka CLX -- projektowanie aplikacji przenonych pomiêdzy systemami
operacyjnymi Windows i Linux
DODAJ DO KOSZYKA
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
400223263.001.png 400223263.002.png 400223263.003.png
Spis treci
Wstp...................................................................................................................................................................9
O Autorze........................................................................................................................................................12
Rozdział 1. rodowisko programisty IDE Borland C++Builder......................................................................13
Struktura głównego menu .................................................................................................15
Menu File....................................................................................................................16
Menu Edit....................................................................................................................18
Menu Search ...............................................................................................................21
Pasek narz!dzi — Speed Bar ............................................................................................34
Inspektor obiektów — Object Inspector.....................................................................35
Widok drzewa obiektów — Object Tree View...........................................................36
Ogólna posta. programu pisanego w C++........................................................................37
Funkcja main()............................................................................................................38
Dyrektywa #include i prekompilacja..........................................................................39
Konsolidacja ...............................................................................................................40
Konfiguracja opcji projektu ........................................................................................40
Uruchamiamy program ...............................................................................................42
Ogólna posta. programu pisanego w C++Builderze ........................................................43
Formularz....................................................................................................................44
Zdarzenia.....................................................................................................................46
Konsola czy formularz? ....................................................................................................48
Podsumowanie ..................................................................................................................49
Rozdział 2. Podstawy jzyka C++.................................................................................................................................51
Dyrektywy preprocesora ...................................................................................................51
Dyrektywa #include....................................................................................................51
Dyrektywa #define......................................................................................................52
Dyrektywa #undef.......................................................................................................52
Dyrektywa #pragma hdrstop.......................................................................................52
Dyrektywa #pragma argsused.....................................................................................52
Dyrektywa #pragma inline..........................................................................................52
Dyrektywa #pragma option.........................................................................................53
 
4
C++Builder. Kompendium programisty
Dyrektywa #pragma message .....................................................................................53
Dyrektywa #pragma package(smart_init)...................................................................53
Dyrektywa #pragma resource „nazwa_pliku” ............................................................53
Dyrektywa #error........................................................................................................54
Dyrektywy kompilacji warunkowej............................................................................54
Kategorie typów danych....................................................................................................56
Podstawowe proste typy całkowite i rzeczywiste .............................................................56
Typ int.........................................................................................................................56
Typ double ..................................................................................................................57
Modyfikatory typów..........................................................................................................58
Typy danych Windows......................................................................................................59
Typ Currency.....................................................................................................................60
Typ void ............................................................................................................................61
Typy logiczne....................................................................................................................61
Typy znakowe ...................................................................................................................61
Typy łaBcuchowe ..............................................................................................................62
Modyfikatory dost!pu const i volatile...............................................................................63
Specyfikatory klas pami!ci ...............................................................................................63
Specyfikator extern .....................................................................................................64
Specyfikator static.......................................................................................................64
Specyfikator register ...................................................................................................64
Operatory...........................................................................................................................65
Typ wyliczeniowy.............................................................................................................68
Słowo kluczowe typedef ...................................................................................................68
Typ zbiorowy ....................................................................................................................69
Deklarowanie tablic...........................................................................................................70
Instrukcje sterujDce przebiegiem programu ......................................................................71
Instrukcja warunkowa if…else ...................................................................................72
Instrukcja wyboru switch…case…break ....................................................................73
Instrukcja for...............................................................................................................74
NieskoBczona p!tla for ...............................................................................................75
Instrukcja iteracyjna do…while..................................................................................76
Instrukcja iteracyjna while..........................................................................................77
Instrukcja przerwania wykonywania p!tli break ........................................................78
Funkcja przerwania programu exit()...........................................................................78
Funkcja przerwania programu abort() ........................................................................79
Instrukcja kontynuacji programu continue .................................................................79
Funkcje w C++..................................................................................................................80
Rekurencja ..................................................................................................................81
Funkcje przeładowywane............................................................................................83
NiejednoznacznoH. .....................................................................................................85
Konwencje wywoływania funkcji...............................................................................86
Specyfikatory konsolidacji funkcji .............................................................................87
Wskazania i adresy............................................................................................................88
Operatory wskaInikowe..............................................................................................90
WskaIniki i tablice......................................................................................................90
Wielokrotne operacje poHrednie .................................................................................92
Operatory new i delete................................................................................................94
Dereferencja wskaInika..............................................................................................95
WskaIniki ze słowem kluczowym const ....................................................................96
WskaIniki do funkcji ..................................................................................................97
Odwołania .......................................................................................................................101
Parametry odwołaniowe............................................................................................104
Zwracanie odwołaB przez funkcje ............................................................................105
Spis treci
5
Struktury..........................................................................................................................106
Przekazywanie struktur funkcjom.............................................................................108
Struktury zagnieJdJone.............................................................................................109
WskaIniki do struktur...............................................................................................111
Samodzielne tworzenie plików nagłówkowych........................................................112
Unie.................................................................................................................................114
Klasy w C++ ...................................................................................................................115
Konstruktor i destruktor............................................................................................119
Inne spojrzenie na klasy. WłasnoHci .........................................................................121
Funkcje ogólne..........................................................................................................124
Przeładowywanie funkcji ogólnych..........................................................................125
Dziedziczenie............................................................................................................127
Funkcje składowe klas ze specyfikatorami const i volatile.............................................131
Funkcje wewn!trzne .................................................................................................133
Realizacja przekazywania egzemplarzy klas funkcjom............................................135
WskaIniki do egzemplarzy klas................................................................................136
Operatory .* oraz ->*................................................................................................138
WskaInik this............................................................................................................139
Przeładowywanie operatorów .........................................................................................140
Przeładowywanie jednoargumentowych operatorów ++ oraz – –............................141
Przeładowywanie operatorów ! oraz !=....................................................................144
Przeładowywanie dwuargumentowego operatora arytmetycznego +.......................147
Przeładowywanie operatora &..................................................................................149
Przeładowywanie operatora indeksowania tablic [ ] ................................................150
Klasy wejHcia-wyjHcia j!zyka C++ .................................................................................153
Obsługa plików z wykorzystaniem klasy ios............................................................155
Tablicowe operacje wejHcia-wyjHcia.........................................................................157
Podsumowanie ................................................................................................................160
Rozdział 3. Wczesne oraz pó+ne wi,zanie................................................................................................................161
Odwołania i wskaIniki do klas pochodnych...................................................................161
Funkcje wirtualne w C++................................................................................................163
Wirtualne klasy bazowe ..................................................................................................167
Funkcje wirtualne w C++Builderze ................................................................................170
Klasy abstrakcyjne w stylu biblioteki VCL ....................................................................173
Specyfikator __closure....................................................................................................175
Obszary nazw..................................................................................................................178
Operator __classid...........................................................................................................179
Funkcja Register()...........................................................................................................179
Podsumowanie ................................................................................................................179
Rozdział 4. Tablice.............................................................................................................................................................181
Tablice dynamicznie alokowane w pami!ci....................................................................181
Tablice dynamiczne.........................................................................................................184
Tablice otwarte................................................................................................................187
Tablice struktur ...............................................................................................................189
Tablice wskaIników do struktur ...............................................................................191
Odwołania do elementów tablicy wskaIników do struktur ......................................194
Podsumowanie ................................................................................................................197
6
C++Builder. Kompendium programisty
Rozdział 5. Zaawansowane operatory rzutowania typów................................................................................199
Operator static_cast.........................................................................................................199
Operator dynamic_cast....................................................................................................200
Operator const_cast.........................................................................................................203
Operator reinterpret_cast.................................................................................................205
Podsumowanie ................................................................................................................207
Rozdział 6. Informacja czasu wykonania.................................................................................................................209
Klasa TObject..................................................................................................................210
Hierarchia własnoHci komponentów VCL ......................................................................213
Czas Jycia komponentów................................................................................................214
Moduł typeinfo.h.............................................................................................................215
Identyfikacja typów czasu wykonywania w oparciu o IDE............................................217
Tablica metod wirtualnych..............................................................................................218
Klasa TControl................................................................................................................219
Modyfikator __rtti...........................................................................................................221
Podsumowanie ................................................................................................................223
Rozdział 7. Obsługa wyj,tków....................................................................................................................................225
Standardowa obsługa wyjDtków......................................................................................225
Strukturalna obsługa wyjDtków.......................................................................................228
Klasy wyjDtków...............................................................................................................230
Zmienne globalne __throwExceptionName, __throwFileName i __throwLineNumber ...234
Zapisywanie nieobsłuJonych wyjDtków..........................................................................236
Transformowanie wyjDtków Windows ...........................................................................238
Podsumowanie ................................................................................................................240
Rozdział 8. Obsługa plików..........................................................................................................................................241
Klasy TDirectoryListBox, TFileListBox i TDriveComboBox .......................................241
Klasy TActionList, TOpenDialog i TSaveDialog...........................................................243
WłasnoH. Options klas TOpenDialog i TSaveDialog.....................................................249
Klasy TOpenPictureDialog i TSavePictureDialog..........................................................250
Klasy TActionManager i TActionMainMenuBar...........................................................253
Moduł sysutils .................................................................................................................257
Operacje na plikach...................................................................................................258
Atrybuty pliku...........................................................................................................268
Operacje na dyskach .................................................................................................272
Operacje na nazwach plików ....................................................................................273
Windows API..................................................................................................................274
Klasa TMemoryStream ...................................................................................................280
Klasa TFileStream...........................................................................................................282
Przesyłanie plików przez sie. .........................................................................................285
Drukowanie.....................................................................................................................289
Podsumowanie ................................................................................................................291
Rozdział 9. Ła7cuchy ANSI.........................................................................................................................................293
Podsumowanie ................................................................................................................301
Rozdział 10. Zmienne o typie modyfikowalnym w czasie wykonywania programu.............................303
Struktura TVarData.........................................................................................................303
Klasa TCustomVariantType............................................................................................307
Moduł variants.................................................................................................................309
Zgłoś jeśli naruszono regulamin