C++ Builder 6 dla każdego - Helion
Tytuł oryginału: TY Borland C++ Builder 6 in 21 Days
Tłumaczenie: Tomasz M. Sadowski
ISBN: 83-7197-859-6
stron: 816, Format: B5, okładka: miękka
Data wydania: 2003-10-28
Księgarnia: Helion
Cena książki: 89,00 zł
C++Builder należy do systemów błyskawicznego projektowania aplikacji (ang. RAD - Rapid Application Development) i jak sama nazwa wskazuje, przeznaczony jest do tworzenia programów w języku C++. Wykorzystując to narzędzie, możesz efektywnie i szybko konstruować 32-bitowe programy pracujące w trybie graficznym bądź tekstowym pod kontrolą systemu Windows.
Książka ta poprowadzi Cię przez zagadnienia związane z programowaniem w systemie C++ Builder. Poznasz go począwszy od podstaw, poprzez bibliotekę VCL i jej komponenty, narzędzia systemu i metody programowania wizualnego, aż po techniki programowania grafiki, obsługi baz danych i aplikacji internetowych. Dzięki zdobytej wiedzy będziesz mógł błyskawicznie przejść od tradycyjnych metod programowania do projektowania i programowania wizualnego.
Czytając ją:- Nauczysz się programować w języku C++
- Poznasz programowanie zorientowane obiektowo
- Zapoznasz się z elementami środowiska systemu C++Builder 6 oraz biblioteką VCL
- Zaznajomisz się ze sposobami błyskawicznego prototypowania, budowy i uruchamiania 32-bitowych aplikacji dla Windows 95 i Windows NT
- Nauczysz się tworzyć atrakcyjny interfejs użytkownika do swoich aplikacji
- Zapoznasz się z zaawansowanymi technikami programowania, jak obsługa wyjątków i komunikatów, wykorzystanie rejestru czy udostępnianie poleceń
- Poznasz metody programowania grafiki, obsługi baz danych, tworzenia aplikacji internetowych, własnych komponentów i bibliotek DLL
Spis treści
C++ Builder 6 dla każdego -- spis treści
O Autorze (13)
Podziękowania (15)
Witamy! (17)
- Na co zwracać uwagę? (18)
Część I (19)
Rozdział 1. Pierwsze kroki w systemie C++Builder (21)
- Czym jest C++Builder? (21)
- IDE od pierwszego wejrzenia (22)
- Ahoj, przygodo! (25)
- To samo w wersji tekstowej (27)
- Wprowadzenie do C++ (33)
- Narodziny języka (34)
- Zmienne (35)
- Typy danych w C++ (36)
- Operatory (39)
- Funkcje (41)
- Funkcja main() (45)
- Tablice (48)
- Tablice znakowe (50)
- Funkcje operujące na łańcuchach (52)
- Tablice łańcuchów (54)
- Podsumowanie (55)
Rozdział 2. Wprowadzenie do C++ (57)
- Jeżeli... (57)
- Pętle i ich zastosowania (61)
- Pętla for (62)
- Pętla while (65)
- Pętla do-while (66)
- Instrukcja goto (67)
- Instrukcje continue i break (68)
- Instrukcja switch (69)
- Zasięg (71)
- Zmienne zewnętrzne (73)
- Struktury (74)
- Tablice struktur (76)
- Pliki nagłówkowe i pliki źródłowe (76)
- Struktury w akcji (78)
- Podsumowanie (82)
Rozdział 3. Zaawansowane elementy C++ (83)
- Wskaźniki (83)
- Zmienne lokalne i dynamiczne (84)
- Obiekty dynamiczne a wskaźniki (85)
- Jak to się ma do naszego programu? (86)
- Dereferencja czyli wyłuskanie (88)
- Do dzieła! (89)
- Referencje (91)
- Przekazywanie parametrów przez wskaźnik i przez referencje (94)
- Modyfikator const (96)
- Operatory new i delete (96)
- Operator new (97)
- Operator delete (98)
- Rozwiązanie zagadki (99)
- Operatory new[ ] i delete[ ] (100)
- Co mogą funkcje w C++? (100)
- Przeciążanie funkcji (101)
- Parametry domyślne funkcji (103)
- Funkcje składowe klas (104)
- Funkcje wstawiane (105)
- Co zrobić, gdy w danych jest błąd? (106)
- Podsumowanie (108)
Rozdział 4. O klasach i programowaniu obiektowym (109)
- Co to jest klasa? (109)
- Anatomia klasy (110)
- Dostęp do elementów klasy (111)
- Konstruktory (113)
- Destruktory (116)
- Pola (117)
- Funkcje składowe (119)
- Wskaźnik this (121)
- A teraz przykład (124)
- Dziedziczenie (131)
- Dziedziczenie wielokrotne (134)
- Wprowadzenie do operacji wejścia-wyjścia (136)
- Odczytujemy dane (137)
- Zapisujemy dane (139)
- Ustalenie trybu otwarcia pliku (141)
- Obsługa plików binarnych (142)
- Wskaźnik plikowy (142)
- Swobodny dostęp do pliku (143)
- Podsumowanie (145)
Rozdział 5. Biblioteki klas i komponenty (147)
- Kilka słów wprowadzenia (147)
- Po co mi to wszystko? (148)
- W czym tkwi haczyk? (150)
- Biblioteki jako wzór projektowania i programowania obiektowego (151)
- Wojny bibliotek (151)
- Biblioteka Object Windows Library (152)
- Biblioteka Microsoft Foundation Class Library (153)
- Co wiec wybrać? (154)
- Biblioteka Visual Component Library (154)
- Komponenty (155)
- Właściwości, metody i zdarzenia (156)
- C++Builder a biblioteka VCL (168)
- VCL dla praktyków C++ (169)
- Wszystkie obiekty klas zdefiniowanych w VCL muszą być tworzone dynamicznie (170)
- VCL nie dopuszcza domyślnych parametrów funkcji (170)
- VCL nie umożliwia dziedziczenia wielokrotnego (171)
- Implementacja łańcuchów w bibliotece VCL (171)
- Czy to naprawdę jest potrzebne? (172)
- Szablon SmallString (173)
- Klasa AnsiString (173)
- Typ zbiorowy (177)
- Nieco więcej o bibliotece VCL (179)
- Klasy implementujące formularz i aplikacje (181)
- Klasy komponentowe (181)
- To jeszcze nie koniec... (186)
- Podsumowanie (187)
Rozdział 6. Więcej o środowisku systemu (189)
- Projekty w systemie C++Builder (190)
- Pliki wykorzystywane w projektach (191)
- Moduły źródłowe (197)
- Menu główne i paleta narzędzi (199)
- Paleta komponentów i jej wykorzystanie (200)
- Umieszczenie kilku kopii komponentu na formularzu (201)
- Wyśrodkowanie komponentu na formularzu (202)
- Menu kontekstowe palety komponentów (202)
- Nawigacja na palecie komponentów (202)
- Object TreeView (203)
- Wracamy do rzeczy, czyli aplikacja wielomodułowa (204)
- Kompilacja, łączenie i budowa aplikacji (207)
- Kompilacja innych programów w C++ (209)
- O formularzach nieco więcej (212)
- Formularz okna głównego (212)
- Formularze okienek dialogowych (212)
- Okienka dodatkowe a dialogi (218)
- Aplikacje wielodokumentowe (MDI) (218)
- Podstawowe właściwości formularzy (219)
- Metody formularzy (223)
- Zdarzenia obsługiwane przez formularze (224)
- Inspektor obiektów (226)
- Lista komponentów (227)
- Karta właściwości (228)
- Karta zdarzeń (231)
- Przykładowa aplikacja MDI (232)
- Podsumowanie (241)
Rozdział 7. Edytor formularzy i edytor menu (243)
- Edytor formularzy i jego wykorzystanie (243)
- Menu kontekstowe edytora formularzy (244)
- Rozmieszczanie komponentów w formularzu (245)
- Siatka edytora formularzy (246)
- Wybieranie komponentów (246)
- Przesuwanie komponentów (250)
- Zabezpieczenie komponentów przed przesuwaniem i zmianą rozmiarów (252)
- Zmiana porządku głębokości komponentów oraz ich kopiowanie, wycinanie i wklejanie (252)
- Zmiana wielkości komponentów (255)
- Wyrównywanie komponentów (257)
- Ustalanie porządku wyboru komponentów (267)
- Prosimy o menu! (268)
- Tworzymy menu główne (269)
- Nieco programowania (278)
- Menu kontekstowe (285)
- Tworzenie i zapamiętywanie szablonów menu (286)
- Podsumowanie (287)
Część II (289)
Rozdział 8. Komponenty biblioteki VCL (291)
- Nieco przypomnienia (291)
- Właściwość Name (293)
- Ważniejsze wspólne właściwości komponentów (295)
- Właściwość Align i Anchors (295)
- Właściwość Color (295)
- Kursory (297)
- Właściwość Enabled (297)
- Właściwość Font (298)
- Właściwość Hint (300)
- Właściwości ParentColor,ParentCtl3D, ParentFont, BarentBiDiMode i ParentShowHint (300)
- Caption, Text, Lines, Items (301)
- Właściwość Tag (301)
- Inne właściwości (301)
- Podstawowe metody komponentów (302)
- Podstawowe zdarzenia obsługiwane przez komponenty (303)
- Klasa TStrings (304)
- Standardowe elementy sterujące systemu Windows (307)
- Komponenty edycyjne (307)
- Listy (309)
- Przyciski (314)
- Etykiety (323)
- Paski przewijania (323)
- Panele (324)
- I wiele innych... (324)
- Standardowe okienka dialogowe (325)
- Metoda Execute() (325)
- Okienka dialogowe otwarcia i zapisania pliku (326)
- Okienka dialogowe otwarcia i zapisania pliku graficznego (329)
- Okienko dialogowe wyboru koloru (330)
- Okienko dialogowe wyboru czcionki (330)
- Okienka dialogowe wyszukiwania i zamiany (330)
- Podsumowanie (331)
Rozdział 9. Tworzenie aplikacji w systemie C++Builder (333)
- Składnica obiektów i jej wykorzystanie (333)
- Dostęp do zawartości składnicy obiektów (334)
- Wykorzystanie zawartości składnicy obiektów (334)
- Tworzenie elementów aplikacji z użyciem składnicy obiektów (338)
- Dodawanie obiektów do składnicy (339)
- Dodawanie projektów do składnicy (341)
- Zarządzanie zawartością składnicy (341)
- Tworzenie formularzy i aplikacji z użyciem kreatorów (343)
- Kreator dialogów (344)
- Kreator aplikacji (345)
- Definiowanie funkcji składowych i pól klasy (349)
- Deklaracje klas w systemie C++Builder (350)
- Szablony komponentów (352)
- Wykorzystanie zasobów (355)
- Pakiety (361)
- Co to jest pakiet? (362)
- Łączenie statyczne i dynamiczne (363)
- Ładowanie dynamiczne pakietów (365)
- Wykorzystywanie pakietów w aplikacjach (371)
- Tworzenie pakietu (371)
- Dystrybucja aplikacji wykorzystujących pakiety (372)
- Podsumowanie (373)
Rozdział 10. O projektach nieco więcej (375)
- Bez projektu ani rusz (375)
- Korzystanie z menedżera projektów (375)
- Grupy projektów (376)
- Okno menedżera projektów (377)
- Tworzenie i korzystanie z grup projektów (380)
- Budowa projektów i ich grup (382)
- Konfiguracja projektu (382)
- Karta Forms (383)
- Karta Application (385)
- Karta Compiler (386)
- Karta Advanced Compiler (390)
- Karta C++ (392)
- Karta Pascal (393)
- Karta Linker (393)
- Karta Advanced Linker (395)
- Karta Directories/Conditionals (395)
- Karta Version Info (397)
- Karta Packages (398)
- Karta Tasm (399)
- Karta CORBA (399)
- Edytor kodu (399)
- Podstawowe operacje na tekście źródłowym (400)
- Zaawansowane funkcje edytora (406)
- Menu kontekstowe edytora kodu (410)
- Zmiana konfiguracji edytora (410)
- Podsumowanie (416)
Rozdział 11. Debugger (417)
- Po co używać debuggera? (418)
- Polecenia debuggera (418)
- Punkty wstrzymania (419)
- Ustawianie i usuwanie punktów wstrzymania (420)
- Lista punktów wstrzymania (422)
- Bezwarunkowe punkty wstrzymania (425)
- Warunkowe punkty wstrzymania (425)
- Polecenie Run to Cursor (426)
- Punkty przerwania nieprzerywające pracy programu (426)
- Śledzenie zmiennych (427)
- Podgląd wyrażeń wskazanych kursorem (427)
- Menu kontekstowe listy zmiennych śledzonych (428)
- Okno dialogowe ustawień śledzenia (429)
- Zawieszenie śledzenia zmiennej (431)
- Dodanie zmiennej do listy zmiennych śledzonych (431)
- Korzystanie z listy zmiennych śledzonych (431)
- Inspektor danych (434)
- Pozostałe narzędzia uruchomieniowe (436)
- Podgląd i modyfikacja zmiennych (437)
- Stos wywołań funkcji (438)
- Podgląd rejestrów procesora (439)
- Lokalizacja adresów w kodzie źródłowym (440)
- Praca krokowa (440)
- Uruchamianie bibliotek DLL (444)
- Raport uruchomieniowy (444)
- Okno widoku modułów (445)
- Techniki uruchomieniowe (445)
- Funkcja OutputDebugString() (445)
- CodeGuard (448)
- Wskazówki i rady (450)
- Konfiguracja debuggera (451)
- Opcja Integrated debugging (452)
- Zakładka General (452)
- Zakładka Event Log (453)
- Zakładka Language Exceptions (453)
- Zakładka OS Exceptions (454)
- Podsumowanie (454)
Rozdział 12. Programy narzędziowe i konfiguracja IDE (455)
- Edytor graficzny (455)
- Kolor tła i atramentu (456)
- Funkcje graficzne edytora (458)
- Powiększanie rysunku (460)
- Dobór szerokości linii i kształtu pędzla (460)
- Projektowanie map bitowych (461)
- Projektowanie ikon (462)
- Projektowanie kursorów (464)
- Menu kontekstowe edytora graficznego (465)
- Tworzenie plików zasobów (465)
- Agent WinSight czyli szpiegostwo w Windows (467)
- Wymiana komunikatów w systemie Windows (468)
- Panel listy okien (469)
- Panel komunikatów (470)
- Jak śledzić okna? (470)
- Filtrowanie komunikatów (471)
- Pozostałe funkcje programu WinSight (472)
- DOS-owe programy narzędziowe (474)
- GREP.EXE (474)
- COFF2OMF.EXE (475)
- IMPLIB.EXE (475)
- TOUCH.EXE (476)
- TDUMP.EXE (476)
- Konfiguracja menu narzędzi (478)
- Okno dialogowe konfiguracji narzędzi (478)
- Konfiguracja środowiska systemu (480)
- Karta Preferences (480)
- Karta Designer (482)
- Karta Object Inspector (482)
- Karta Library (483)
- Karta Palette (483)
- Karta Environment Variables (484)
- Karta Type Library (484)
- Karta ClassExplorer (485)
- Karta CORBA (485)
- Karta C++ Builder Direct (485)
- Karta Internet (485)
- Podsumowanie (486)
Część III (487)
Rozdział 13. Programowanie operacji graficznych (489)
- Grafika minimalnym kosztem (489)
- Konteksty urządzeń i klasa TCanvas (490)
- Obiekty GDI (492)
- Pióra, pędzle i czcionki (493)
- Ograniczanie obszaru rysowania (498)
- Podstawowe operacje graficzne (499)
- Rysowanie tekstu (500)
- Rysowanie map bitowych (505)
- Mapy bitowe przechowywane w pamięci (506)
- Mapy bitowe typu DIB (511)
- Podsumowanie (515)
Rozdział 14. Obsługa baz danych (517)
- Wstęp (517)
- Lokalne bazy danych (519)
- Bazy danych typu klient-serwer (519)
- Wielowarstwowa architektura baz danych (520)
- Przegląd technologii (521)
- ClientDataSet (522)
- Borland Database Engine (BDE) (522)
- InterBase Express (523)
- dbExpress (524)
- DbGo (ADOExpress) (524)
- DataSnap (524)
- Wybór technologii dostępu do danych (525)
- Podejście prototypowe (525)
- Planowanie "cyklu życiowego" (526)
- Połączenie z bazami danych (526)
- Tworzenie prostego formularza bazy danych (528)
- Dodawanie kolejnych kontrolek bazodanowych (533)
- Relacja ogół-szczegóły (535)
- Obsługa pól rekordów (537)
- Właściwości pól i komponent TField (538)
- Edytor właściwości pól (538)
- Modyfikowanie właściwości pola (541)
- Formatowanie pól przy użyciu masek edycyjnych (543)
- Dostęp do wartości kolumny (544)
- Pola wyliczane (547)
- Pola przeglądowe (549)
- Weryfikacja danych wejściowych (551)
- Zbiory danych (553)
- Kontrolowanie wskaźnika bieżącego rekordu (554)
- Edycja danych (557)
- Ograniczanie zbiorów danych (558)
- Wyszukiwanie rekordów (560)
- Oznaczanie rekordów za pomocą zakładek (561)
- Definiowanie wartości domyślnych pól (563)
- Podstawowe właściwości, metody i zdarzenia zbiorów danych (564)
- Współpraca z serwerami (565)
- Autoryzacja klienta (567)
- Transakcje (569)
- Komponent ClientDataSet (572)
- Borland Database Engine (580)
- Administrator BDE (580)
- Instalacja BDE (587)
- Kreator formularzy baz danych (588)
- Komponenty BDE (593)
- Funkcje BDE API (604)
- ActiveX Database Objects (605)
- ADO w C++Builder (606)
- Standardowe sterowniki ADO (610)
- Argumenty połączenia (610)
- TADOConnetion (611)
- TADODataSet (614)
- Excel jako baza danych (615)
- Dostęp do danych za pomocą technologii dbExpress (619)
- Komponenty interfejsu dbExpress (620)
- Jak to działa w praktyce? (621)
- Uzgadnianie błędów serwera (625)
- Rozpowszechnianie aplikacji z interfejsem dbExpress (626)
- InterBase Express (627)
- Przegląd komponentów InterBase Express (628)
- Technologia DataSnap (634)
- Architektura wielowarstwowa (635)
- MIDAS i DataSnap (637)
Rozdział 15. Budowa i wykorzystanie bibliotek DLL (645)
- Nieco podstaw (645)
- Czym jest biblioteka DLL? (646)
- Budowa biblioteki DLL (647)
- Po co mi biblioteki DLL? (653)
- Korzystanie z zawartości bibliotek DLL (656)
- Ładowanie bibliotek DLL do pamięci (656)
- Wywoływanie funkcji z bibliotek DLL (657)
- Tworzenie biblioteki DLL (658)
- Eksportowanie i importowanie funkcji i klas (659)
- Tajemnicze makro DLL_EXP (662)
- Tworzenie biblioteki DLL za pomocą składnicy obiektów (663)
- Generacja pliku biblioteki importowej (667)
- Budowa aplikacji wykorzystującej bibliotekę DLL (667)
- Dołączanie pliku nagłówkowego biblioteki do kodu źródłowego (668)
- Dołączanie biblioteki importowej do projektu (668)
- Formularze w bibliotekach DLL (669)
- Wywoływanie formularza z biblioteki przez aplikacje napisaną w systemie C++Builder (669)
- Wywoływanie formularza MDI z biblioteki dynamicznej (671)
- Wywoływanie formularza z biblioteki przez aplikację utworzoną za pomocą innego kompilatora (673)
- Umieszczanie zasobów w pliku DLL (674)
- Utworzenie biblioteki zasobów (675)
- Wykorzystywanie biblioteki zasobów (676)
- Różnice pomiędzy BPL a DLL (677)
- Jeszcze trochę na temat DLL (677)
- Czym różni się pakiet od biblioteki DLL? (678)
- Podsumowanie (680)
Rozdział 16. XML (681)
- Czym jest XML? (681)
- Co to są znaczniki? (682)
- Rozszerzalność XML-a (683)
- Podstawowe reguły składni XML (684)
- Przetwarzanie dokumentów XML Interfejsy SAX i DOM (686)
- SAX - Simple API for XML (687)
- DOM - Document Object Model (687)
- Komponent XMLDocument (688)
- Interfejsy IDOMDocument i IXMLDocument (689)
- Aplikacja Interfejsy_XMLDocument (692)
- Obsługa błędów składni w dokumencie XML (696)
- Inne metody poruszania się po drzewie, dodawanie wezłów (697)
- XML Data Binding Wizard (697)
- Korzystanie z XML Data Binding Wizard (700)
- XML Mapper (704)
- Generowanie plików transformacji (706)
- Co dalej? (707)
- XMLTransform (707)
Rozdział 17. Tworzenie aplikacji internetowych (709)
- Co to są aplikacje internetowe? (710)
- Rodzaje aplikacji (710)
- Komunikacja aplikacji klienckiej z serwerem (711)
- Współpraca aplikacji klienckiej i aplikacji serwerowej (713)
- Aplikacje internetowe w Builderze (713)
- Aplikacje klienckie (713)
- Wykorzystywanie poczty (713)
- Klient ftp (723)
- Przeglądanie stron (725)
- Aplikacje serwerowe (727)
- Trochę teorii (728)
- WebBroker (731)
- WebSnap (751)
- Uruchamianie aplikacji ISAPI/NSAPI/DSO (762)
- Debugowanie aplikacji serwerowych (764)
- Użycie usług sieciowych (766)
- Przykład korzystania z usług (768)
- Podsumowanie (772)
Dodatki (773)
Skorowidz (775)