C++Builder. Kompendium programisty - Helion
ISBN: 83-7361-028-6
stron: 496, Format: B5, okładka: miękka
Data wydania: 2003-08-12
Księgarnia: Helion
Cena książki: 79,00 zł
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żliwości oferowanych przez kompilator Borland C++Builder. Poznasz więc nie tylko sam język, ale nauczysz się pisać w nim wydajne i przenośne 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żliwości 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ątkowości -- wykorzystanie C++ oraz C++Buildera w nowoczesnych, wielowątkowych systemach operacyjnych
- Liczby pseudolosowe i konwersje wielkości liczbowych
- Wprowadzenie do grafiki
- Komponentowy model C++Buildera i biblioteki DLL
- Biblioteka CLX -- projektowanie aplikacji przenośnych pomiędzy systemami operacyjnymi Windows i Linux
Spis treści
C++Builder. Kompendium programisty -- spis treści
Wstęp (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 języka 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)
- 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 łańcuchowe (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 sterujące przebiegiem programu (71)
- Instrukcja warunkowa if...else (72)
- Instrukcja wyboru switch...case...break (73)
- Instrukcja for (74)
- Nieskończona 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)
- Niejednoznaczność (85)
- Konwencje wywoływania funkcji (86)
- Specyfikatory konsolidacji funkcji (87)
- Wskazania i adresy (88)
- Operatory wskaźnikowe (90)
- Wskaźniki i tablice (90)
- Wielokrotne operacje pośrednie (92)
- Operatory new i delete (94)
- Dereferencja wskaźnika (95)
- Wskaźniki ze słowem kluczowym const (96)
- Wskaźniki do funkcji (97)
- Odwołania (101)
- Parametry odwołaniowe (104)
- Zwracanie odwołań przez funkcje (105)
- Struktury (106)
- Przekazywanie struktur funkcjom (108)
- Struktury zagnieżdżone (109)
- Wskaźniki 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łasności (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)
- Wskaźniki do egzemplarzy klas (136)
- Operatory .* oraz ->* (138)
- Wskaźnik 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 wejścia-wyjścia języka C++ (153)
- Obsługa plików z wykorzystaniem klasy ios (155)
- Tablicowe operacje wejścia-wyjścia (157)
- Podsumowanie (160)
Rozdział 3. Wczesne oraz późne wiązanie (161)
- Odwołania i wskaźniki 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 wskaźników do struktur (191)
- Odwołania do elementów tablicy wskaźników do struktur (194)
- Podsumowanie (197)
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łasności komponentów VCL (213)
- Czas życia 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 wyjątków (225)
- Strukturalna obsługa wyjątków (228)
- Klasy wyjątków (230)
- Zmienne globalne __throwExceptionName, __throwFileName i __throwLineNumber (234)
- Zapisywanie nieobsłużonych wyjątków (236)
- Transformowanie wyjątkó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łasność 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. Łańcuchy ANSI (293)
- Podsumowanie (301)
Rozdział 10. Zmienne o typie modyfikowalnym w czasie wykonywania programu (303)
- Struktura TVarData (303)
- Klasa TCustomVariantType (307)
- Moduł variants (309)
- 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)
- Wątki i procesy (339)
- Funkcja _beginthread() (340)
- Funkcja _beginthreadNT() (343)
- Funkcja _beginthreadex() (348)
- Funkcja BeginThread() (349)
- Zmienne lokalne wątku (353)
- Klasa TThread (355)
- Metody (355)
- Własności (356)
- Zmienna IsMultiThread (361)
- Podsumowanie (361)
Rozdział 13. Liczby pseudolosowe (363)
- Funkcje randomize() i random() (364)
- Losowanie z powtórzeniami (368)
- Losowanie bez powtórzeń (371)
- Generatory częściowo uporządkowane (377)
- Podsumowanie (384)
Rozdział 14. Konwersje wielkości liczbowych (385)
- Własności (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 istniejącego komponentu z biblioteki VCL/CLX (437)
- Komponenty graficzne (443)
- Podsumowanie (447)
Rozdział 17. Biblioteki DLL (449)
- Budowanie DLL-i (449)
- Funkcja DllEntryPoint() (453)
- Bazowe adresy ładowania (455)
- Pakiety (455)
- Określanie adresów funkcji (459)
- Podsumowanie (461)
Rozdział 18. Biblioteka CLX (463)
- Zmiany w bibliotece uruchomieniowej (463)
- Pliki i katalogi (465)
- Znaki wielobajtowe (465)
- Przykłady wykorzystania elementów biblioteki CLX (466)
- Komponenty klas TTimer i TLCDNumber (467)
- Komponenty klas TActionList, TImageList, TMainMenu, TSaveDialog, TOpenDialog, TStatusBar i TToolBar (469)
- Podsumowanie (470)
Literatura (471)
Skorowidz (473)