
Jeden z najnowszych produktów firmy Borland, C++Builder Borland Developer Studio 2006, to połączenie nowoczesnego języka programowania, jakim jest C++, biblioteki komponentów wizualnych, zintegrowanego środowiska programistycznego oraz narzędzi służących do modelowania oprogramowania. Pomimo że zaimplementowana w C++Builder wersja języka C++ nie jest dokładnym odzwierciedleniem standardu ANSI, środowisko to zyskało duże uznanie wśród najlepszych programistów, doceniających jego uniwersalność i stabilność.
Książka "C++Builder Borland Developer Studio 2006. Kompendium programisty" przedstawia zasady programowania w języku C++ z wykorzystaniem narzędzia C++Builder 2006. Opisuje zarówno samo środowisko, jak i poszczególne elementy języka. Dzięki niej nauczysz się korzystać z języka UML używanego do projektowania aplikacji oraz dowiesz się, jak realizować projekty, wykorzystując język C++. Poznasz także nowoczesne metodologie tworzenia oprogramowania za pomocą narzędzi typu RAD.
- Środowisko C++Builder Borland Developer Studio 2006
- Podstawy języka UML
- Korzystanie z biblioteki STL
- Obsługa wyjątków
- Operacje na systemie plików
- Programowanie wielowątkowe
- Komponenty
- Programowanie grafiki
Poznaj potęgę języka C++
i zdobądź szczególne umiejętności programowania.
Wstęp (11)Rozdział 1. Środowisko programisty IDE C++Builder Borland Developer Studio 2006 (15)
- Struktura głównego menu (18)
- Pasek narzędzi - Speed Bar (47)
- Inspektor obiektów - Object Inspector (48)
- Widok struktury obiektów (49)
- Ogólna postać programu pisanego w C++ (50)
- Funkcja main() (52)
- Dyrektywa #include i prekompilacja (53)
- Konsolidacja (54)
- Konfiguracja opcji projektu (54)
- Uruchamiamy program (57)
- Ogólna postać programu pisanego w C++Builderze BDS 2006 (58)
- Formularz (59)
- Zdarzenia (61)
- Konsola czy formularz? (64)
- Podsumowanie (64)
- UML jako język modelowania (65)
- Zawartość UML (67)
- Diagramy klas (67)
- Diagramy obiektów (72)
- Diagramy komponentów (73)
- Diagramy elementów zawierających strukturę wewnętrzną (74)
- Diagramy pakietów (75)
- Diagramy wdrożenia (76)
- Diagramy czynności (76)
- Diagramy przypadków użycia (79)
- Diagramy stanów (80)
- Diagramy przebiegu (82)
- Diagramy współpracy (84)
- Diagramy komunikacji (84)
- Diagramy harmonogramowania zadań (85)
- Mechanizmy rozszerzania (85)
- Strategia modelowania i dokumentowania (87)
- Model dojrzałości (88)
- Proces projektowania (88)
- Nie tylko IID (90)
- Podsumowanie (90)
- Dyrektywy preprocesora (91)
- Dyrektywa #include (91)
- Dyrektywa #define (92)
- Dyrektywa #undef (92)
- Dyrektywa #pragma hdrstop (92)
- Dyrektywa #pragma argsused (92)
- Dyrektywa #pragma inline (93)
- Dyrektywa #pragma option (93)
- Dyrektywa #pragma message (93)
- Dyrektywa #pragma package(smart_init) (93)
- Dyrektywa #pragma resource "nazwa_pliku" (93)
- Dyrektywa #error (94)
- Dyrektywy kompilacji warunkowej (94)
- Kategorie typów danych (96)
- Podstawowe proste typy całkowite i rzeczywiste (96)
- Typ int (97)
- Typ double (97)
- Modyfikatory typów (98)
- Typy danych Windows (100)
- Typ Currency (101)
- Typ void (101)
- Typy logiczne (101)
- Typy znakowe (102)
- Typy łańcuchowe (102)
- Modyfikatory dostępu const i volatile (103)
- Specyfikatory klas pamięci (104)
- Specyfikator extern (104)
- Specyfikator static (105)
- Specyfikator register (105)
- Operatory (105)
- Typ wyliczeniowy (109)
- Słowo kluczowe typedef (109)
- Typ zbiorowy (110)
- Deklarowanie tablic (111)
- Instrukcje sterujące przebiegiem programu (113)
- Instrukcja warunkowa if...else (113)
- Instrukcja wyboru switch...case...break (115)
- Instrukcja for (116)
- Nieskończona pętla for (118)
- Instrukcja iteracyjna do...while (118)
- Instrukcja iteracyjna while (119)
- Instrukcja przerwania wykonywania pętli break (120)
- Funkcja przerwania programu exit() (121)
- Funkcja przerwania programu abort() (122)
- Instrukcja kontynuacji programu continue (122)
- Funkcje w C++ (122)
- Rekurencja (124)
- Przedefiniowywanie funkcji (125)
- Niejednoznaczność (128)
- Konwencje wywoływania funkcji (129)
- Specyfikatory konsolidacji funkcji (129)
- Wskazania i adresy (129)
- Operatory wskaźnikowe (133)
- Wskaźniki i tablice (133)
- Wielokrotne operacje pośrednie (135)
- Operatory new i delete (138)
- Dereferencja wskaźnika (138)
- Wskaźniki ze słowem kluczowym const (139)
- Wskaźniki do funkcji (140)
- Odwołania (145)
- Parametry odwołaniowe (147)
- Zwracanie odwołań przez funkcje (149)
- Struktury (150)
- Przekazywanie struktur funkcjom (152)
- Struktury zagnieżdżone (153)
- Wskaźniki do struktur (155)
- Samodzielne tworzenie plików nagłówkowych (156)
- Unie (158)
- Klasy w C++ (159)
- Przedstawienie w UML (163)
- Konstruktor i destruktor (164)
- Konstruktory kopiowania (166)
- Inne spojrzenie na klasy. Własności (167)
- Funkcje ogólne (170)
- Funkcje z dwoma typami ogólnymi (172)
- Przedefiniowywanie funkcji ogólnych (172)
- Klasy ogólne (174)
- Wzorce klas z wieloma ogólnymi typami danych (176)
- Wzorzec auto_ptr (177)
- Dziedziczenie (178)
- Powiązania (183)
- Funkcje składowe klas ze specyfikatorami const i volatile (186)
- Funkcje wewnętrzne (188)
- Realizacja przekazywania egzemplarzy klas funkcjom (190)
- Wskaźniki do egzemplarzy klas (191)
- Operatory (.*) oraz (->*) (193)
- Wskaźnik this (194)
- Przeładowywanie operatorów (195)
- Przeładowywanie jednoargumentowych operatorów ++ oraz - - (196)
- Przeładowywanie operatorów (!) oraz (!=) (199)
- Przeładowywanie dwuargumentowego operatora arytmetycznego + (202)
- Przeładowywanie operatora & (204)
- Przeładowywanie operatora indeksowania tablic [ ] (205)
- Funkcje i klasy zaprzyjaźnione (208)
- Klasy wejścia-wyjścia języka C++ (213)
- Obsługa plików z wykorzystaniem klasy ios (215)
- Tablicowe operacje wejścia-wyjścia (217)
- Modele programistyczne (220)
- Programowanie sekwencyjne (221)
- Programowanie strukturalne (221)
- Programowanie proceduralne (222)
- Programowanie obiektowe (224)
- Programowanie zorientowane obiektowo (226)
- Programowanie generyczne (231)
- Programowanie aspektowe (231)
- Narzędzia metaprogramowania w C++ (232)
- Programowanie oparte na skompilowanych modułach (234)
- Programowanie wielowątkowe (235)
- Programowanie komponentowe (235)
- Podsumowanie (235)
- Odwołania i wskaźniki do klas pochodnych (237)
- Funkcje wirtualne w C++ (240)
- Wirtualne klasy bazowe (243)
- Funkcje wirtualne w C++Builderze (247)
- Klasy abstrakcyjne w stylu biblioteki VCL (251)
- Interfejsy (254)
- Zliczanie odwołań do interfejsu (255)
- Identyfikator interfejsu (256)
- Specyfikator __closure (262)
- Obszary nazw (265)
- Operator __classid (265)
- Funkcja Register() (266)
- Podsumowanie (266)
- Tablice dynamicznie alokowane w pamięci (267)
- Tablice dynamiczne (270)
- Tablice otwarte (274)
- Tablice struktur (276)
- Tablice wskaźników do struktur (279)
- Odwołania do elementów tablicy wskaźników do struktur (281)
- Podsumowanie (284)
- Iteratory (285)
- Kontenery (286)
- vector (286)
- deque (289)
- list (289)
- slist (290)
- set (290)
- map (291)
- multiset (292)
- multimap (293)
- hash_set (293)
- hash_map (294)
- hash_multiset (295)
- hash_multimap (296)
- Obiekty funkcyjne (297)
- Adaptery (300)
- Adaptery iteratorów (300)
- Adaptery kontenerów (300)
- Adaptery obiektów funkcyjnych (302)
- Algorytmy (303)
- Alokatory (305)
- Valarray (306)
- Podsumowanie (308)
- Operator static_cast (309)
- Operator dynamic_cast (310)
- Operator const_cast (313)
- Operator reinterpret_cast (316)
- Podsumowanie (317)
- Klasa TObject (319)
- Hierarchia własności komponentów VCL (323)
- Czas życia komponentów (324)
- Moduł typeinfo.h (326)
- Identyfikacja typów czasu wykonywania (328)
- Tablica metod wirtualnych (330)
- Klasa TControl (331)
- Modyfikator __rtti (333)
- Podstawowe elementy GUI (334)
- Przydatne techniki modelowania GUI (335)
- Agregacje, kompozycje i powiązania klas (339)
- Podsumowanie (341)
- Standardowa obsługa wyjątków (343)
- Strukturalna obsługa wyjątków (348)
- Klasy wyjątków (350)
- Zmienne globalne __throwExceptionName, __throwFileName, __throwLineNumber (354)
- Zapisywanie nieobsłużonych wyjątków (356)
- Transformowanie wyjątków Windows (359)
- Podsumowanie (361)
- Klasy TDirectoryListBox, TFileListBox, TDriveComboBox (363)
- Klasy TActionList, TOpenDialog i TSaveDialog (365)
- Własność Options klas TOpenDialog i TSaveDialog (372)
- Klasy TOpenTextFileDialog i TSaveTextFileDialog (374)
- Klasy TOpenPictureDialog i TSavePictureDialog (374)
- Klasy TActionManager i TActionMainMenuBar (377)
- Moduł sysutils (381)
- Operacje na plikach (382)
- Atrybuty pliku (392)
- Określanie rozmiaru katalogu (397)
- Usuwanie katalogu (397)
- Operacje na dyskach (398)
- Operacje na nazwach plików (399)
- Wzajemne przeszukiwanie katalogów i plików (400)
- Windows API (403)
- Klasa TMemoryStream (408)
- Klasa TFileStream (411)
- Tworzenie logów wyjątków podczas kopiowania plików (414)
- Przesyłanie plików przez sieć (415)
- Funkcja WinExec() (419)
- Funkcja ShellExecuteEx() (420)
- Pliki wymiany danych (420)
- Kompilowanie plików zasobów (422)
- Klasa TIniFile (424)
- Drukowanie (428)
- Klasa TPrintDialog (431)
- Dokumenty XML (432)
- Pliki i katalogi w Linuksie (434)
- Podsumowanie (436)
- Makrodefinicja VCL_IOSTREAM (445)
- Znaki wielobajtowe (448)
- Podsumowanie (449)
- Struktura TVarData (451)
- Klasa TCustomVariantType (455)
- Moduł variants (457)
- Tablice wariantowe (459)
- Wariantowe tablice otwarte (465)
- Klient OLE (468)
- Moduł VarCmplx (471)
- Liczby zespolone, płaszczyzna liczbowa, moduł i argument liczby (471)
- Podsumowanie (478)
- Funkcje FPU (479)
- Struktura SYSTEM_INFO (485)
- Klasa THeapStatus (488)
- Identyfikator GUID (491)
- Klasa TRegistry (493)
- Klasa TRegistryIniFile (496)
- Podsumowanie (497)
- Wątki i procesy (499)
- Funkcja _beginthread() (501)
- Funkcja _beginthreadNT() (504)
- Funkcja _beginthreadex() (509)
- Funkcja BeginThread() (509)
- Zmienne lokalne wątku (514)
- Klasa TThread (516)
- Synchronizacja wątków (522)
- Sekcje krytyczne (527)
- Wzajemne wykluczenia (529)
- Uruchamianie zewnętrznych plików wykonywalnych (531)
- Wielowątkowe operacje na dyskach, katalogach i plikach (532)
- Zmienna IsMultiThread (535)
- Podsumowanie (536)
- Funkcje randomize() i random() (538)
- Losowanie z powtórzeniami (543)
- Losowanie bez powtórzeń (546)
- Generatory częściowo uporządkowane (552)
- Szyfrowanie (560)
- Podsumowanie (561)
- Podsumowanie (587)
- Barwne modele (590)
- Płótno (593)
- Mapy bitowe (598)
- JPEG (603)
- JPEG 2000 (606)
- Obraz video (607)
- Drukowanie grafiki (611)
- Komponent TChart (612)
- Podsumowanie (615)
- Tworzymy nowy komponent (617)
- Modyfikacja istniejącego komponentu z biblioteki VCL (626)
- Komponenty graficzne (631)
- Harmonogramowanie zadań (637)
- Usuwanie komponentów z pakietu (644)
- Komponenty generyczne (645)
- Podsumowanie (648)
- Łączenie statyczne. Część I (650)
- Łączenie statyczne. Część II (652)
- Ładowanie i zwalnianie bibliotek w czasie działania programu (655)
- Funkcja DllEntryPoint() (658)
- Klasy jako elementy bibliotek DLL (661)
- Bazowe adresy ładowania (664)
- Określanie adresów funkcji (664)
- Komponenty i biblioteki DLL (667)
- Pakiety (670)
- Zmienna IsLibrary (675)
- Podsumowanie (675)
- Zbieranie wymagań (678)
- Modelowanie urządzenia (678)
- Protokół (678)
- Interakcje (679)
- Identyfikacja współpracujących systemów (679)
- Analiza (680)
- Przypadki użycia (680)
- Zmiany stanu systemu (681)
- Wstępny model klas programu kontrolującego zewnętrzny system wbudowany (682)
- Projektowanie (682)
- Statyczny model klas programu kontrolującego zewnętrzny system wbudowany (683)
- Diagram artefaktów (684)
- Diagramy czynności (684)
- Kodowanie (685)
- Wdrożenie (690)
- Graficzny interfejs użytkownika (691)
- Kodowanie (693)
- Podsumowanie (693)
Literatura (707)
Skorowidz (711)