c++builder. kompendium programisty full version.pdf

(6972 KB) Pobierz
888458567.001.png
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
5
Spis treci
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
7
Spis treci
Tablice wariantowe .........................................................................................................310
Wariantowe tablice otwarte.............................................................................................316
Klient OLE......................................................................................................................318
Podsumowanie ................................................................................................................321
Rozdział 11. Funkcje FPU i systemowe.....................................................................................................................323
Funkcje FPU....................................................................................................................323
Struktura SYSTEM_INFO..............................................................................................329
Klasa THeapStatus..........................................................................................................332
Identyfikator GUID.........................................................................................................335
Podsumowanie ................................................................................................................337
Rozdział 12. Elementy wielow,tkowo=ci..................................................................................................................339
WDtki i procesy................................................................................................................339
Funkcja _beginthread() ...................................................................................................340
Funkcja _beginthreadNT()..............................................................................................343
Funkcja _beginthreadex()................................................................................................348
Funkcja BeginThread() ...................................................................................................349
Zmienne lokalne wDtku...................................................................................................353
Klasa TThread.................................................................................................................355
Metody......................................................................................................................355
WłasnoHci..................................................................................................................356
Zmienna IsMultiThread...................................................................................................361
Podsumowanie ................................................................................................................361
Rozdział 13. Liczby pseudolosowe................................................................................................................................363
Funkcje randomize() i random() .....................................................................................364
Losowanie z powtórzeniami............................................................................................368
Losowanie bez powtórzeB...............................................................................................371
Generatory cz!Hciowo uporzDdkowane...........................................................................377
Podsumowanie ................................................................................................................384
Rozdział 14. Konwersje wielko=ci liczbowych..........................................................................................................385
WłasnoHci ........................................................................................................................402
Metody ............................................................................................................................403
Podsumowanie ................................................................................................................409
Rozdział 15. Wprowadzenie do grafiki.......................................................................................................................411
Barwne modele................................................................................................................412
Płótno ..............................................................................................................................415
Mapy bitowe....................................................................................................................419
JPEG................................................................................................................................422
Obraz video .....................................................................................................................426
Drukowanie grafiki .........................................................................................................429
Podsumowanie ................................................................................................................430
Rozdział 16. Komponentowy model C++Buildera..................................................................................................431
Tworzymy nowy komponent ..........................................................................................431
Modyfikacja istniejDcego komponentu z biblioteki VCL/CLX......................................437
Komponenty graficzne....................................................................................................443
Podsumowanie ................................................................................................................447
Zgłoś jeśli naruszono regulamin