C++ Builder 6. Vademecum profesjonalisty - Helion
Tytuł oryginału: C++Builder 6 Developers Guide
Tłumaczenie: Jarosław Dobrzański, Rafał Jońca, Rafał Szpoton
ISBN: 83-7361-151-7
stron: 944, Format: B5, okładka: twarda
Data wydania: 2003-09-23
Księgarnia: Helion
Cena książki: 99,00 zł
Kompletny przewodnik po środowisku C++ Buildera
- Naucz się tworzyć mobilne aplikacje korzystając z Borland C++Mobile Edition
- Poznaj sposoby przetwarzania i transformacji dokumentów XML
- Twórz usługi sieciowe wykorzystując BizSnap oraz WSDL i SOAP
- Pisz aplikacje rozproszone za pomocą DataSnap
- Uzyskaj dostęp do baz danych niezależnie od platformy wykorzystując dbExpress
- Poznaj sztuczki i chwyty stosowane przy pisaniu aplikacji graficznych i multimedialnych
- Poszerz możliwości środowiska programistycznego za pomocą OpenToolsAPI
- Poznaj tajniki Windows 32 API i wykorzystaj je w swoich aplikacjach
Spis treści
C++ Builder 6. Vademecum profesjonalisty -- spis treści
O Autorach (19)
Wprowadzenie (21)
- Kto powinien przeczytać tę książkę? (21)
- Organizacja książki (22)
- Płyta CD-ROM (23)
- Wymagania systemowe środowiska C++Builder (23)
- Konwencje wykorzystywane w książce (23)
Część I Podstawy środowiska C++Builder (25)
Rozdział 1. Wprowadzenie do środowiska C++Builder (27)
- Język C++ (28)
- Zgodność z ANSI (28)
- Zgodność z kompilatorami Microsoftu (29)
- Polecane podręczniki języka C++ (31)
- Rozszerzenia języka wprowadzone przez firmę Borland i obiekty standardowe (31)
- VCL, formularze i komponenty (34)
- Formularz (34)
- Paleta komponentów (35)
- Zdarzenia i procedury obsługi zdarzeń (35)
- Testowanie programu (37)
- Tworzymy pierwszy prawdziwy program (37)
- Najczęściej zadawane pytania (43)
- Co nowego w wersji 6. C++Buildera? (44)
- Zgodność z poprzednimi wersjami - projekty (45)
- Zgodność z poprzednimi wersjami - biblioteka standardowa C++ (45)
- Zgodność z poprzednimi wersjami - zmiany w programach obsługi baz danych (45)
- Zgodność z poprzednimi wersjami - zmiana nazwy i rozdzielenie DsgnIntf (46)
- Pozostałe nowe funkcje (46)
- Linux, Kylix, CLX, EJB a C++Builder (46)
- Krótki opis CLX (47)
- Integracja systemu pomocy na wielu platformach (48)
- Uproszczone IDL, IIOP i EJB (48)
- Biblioteka standardowa C++ (49)
- Kontenery (49)
- Zarządzanie pamięcią (50)
- Podsumowanie (51)
Rozdział 2. Projekty i środowisko projektowe C++Buildera (53)
- Cechy zintegrowanego środowiska projektowego C++Buildera (53)
- Główne okno i paski narzędziowe (53)
- Okno Project Manager (Menedżer projektu) (54)
- Aranżacja okien środowiska projektowego (54)
- Okno Object Inspector (55)
- Kategorie właściwości w oknie Object Inspector (57)
- Okno Object TreeView (59)
- Edytor kodu źródłowego (59)
- Formularze zapisane jako tekst (62)
- Projekty C++Buildera (64)
- Pliki używane w projektach C++Buildera (64)
- Menedżer projektu (67)
- Różne sposoby budowania dla różnych plików (68)
- Własne narzędzia budowania (69)
- Stosowanie techniki przeciągnij i upuść w celu zmiany kolejności kompilacji (72)
- Pakiety i ich użycie (72)
- Kiedy należy używać pakietów? (75)
- Interaktywny debugger w C++Builderze (75)
- Usuwanie błędów z aplikacji wielowątkowych (77)
- Zaawansowane pułapki (77)
- Zaawansowane funkcje pułapek (80)
- Widoki debugowania programów w C++Builderze (80)
- Podgląd, obliczanie i modyfikacja (84)
- Okno Debug Inspector (86)
- Zaawansowane testowanie programów (87)
- Znajdowanie źródła błędów naruszenia dostępu (88)
- Dołączanie do uruchomionego procesu (89)
- Używanie debugowania Just-In-Time (89)
- Debugowanie zdalne (90)
- Debugowanie bibliotek DLL (92)
- Skracanie czasu kompilacji (92)
- Prekompilowane nagłówki (93)
- Inne sposoby zmniejszania czasu kompilacji (94)
- Podsumowanie (96)
Rozdział 3. Programowanie w C++Builderze (97)
- Stosowanie zalecanych technik programistycznych w C++Builderze (98)
- Rezygnacja z używania typu char* na rzecz klasy String (98)
- Referencje i ich odpowiednie użycie (99)
- Unikanie zmiennych globalnych (102)
- Korzystanie z modyfikatora const (107)
- Zasady obsługi wyjątków (109)
- Zarządzanie pamięcią za pomocą new i delete (113)
- Rodzaje rzutowania w C++ (117)
- Kiedy korzystać z preprocesora? (119)
- Wykorzystanie biblioteki standardowej C++ (122)
- Wprowadzenie do VCL (122)
- Wszystko ma swój początek w klasie TObject (123)
- Tworzenie aplikacji z istniejących obiektów (124)
- Korzystanie z biblioteki VCL (125)
- Rozszerzenia języka C++ (127)
- Biblioteka VCL a biblioteka CLX (134)
- Przegląd palety komponentów (134)
- Tworzenie interfejsów użytkownika (137)
- Ramki i szablony komponentów (137)
- Ramki (138)
- Radzenie sobie ze zmianami rozmiaru okien (146)
- Złożoność implementacji interfejsów użytkownika (150)
- Rozszerzenie użyteczności przez umożliwienie dostosowania interfejsu użytkownika do własnych potrzeb (156)
- Korzystanie z techniki przeciągnij i upuść (161)
- Rozwiązanie (162)
- Kod (162)
- Jak to działa? (164)
- Otaczanie techniki przeciągnij i upuść (165)
- Tworzenie i użycie komponentów niewizualnych (165)
- Kreowanie aplikacji wielowątkowych (166)
- Podstawy wielozadaniowości (166)
- Podstawy wielowątkowości (166)
- Tworzenie wątku wywołaniem funkcji API (167)
- Obiekt TThread (170)
- Wątek główny VCL (174)
- Ustalanie priorytetu (177)
- Mierzenie czasu wykonania wątków (179)
- Synchronizacja wątków (180)
- Podsumowanie (184)
Rozdział 4. Tworzenie własnych komponentów (185)
- Tworzenie, kompilacja i instalacja pakietów (185)
- Tworzenie pakietu komponentów (186)
- Kompilacja i instalacja pakietów (190)
- Tworzenie własnych komponentów (190)
- Pisanie komponentów (190)
- Pisanie komponentów niewizualnych (193)
- Tworzenie komponentów widocznych (218)
- Tworzenie własnych komponentów związanych z danymi (241)
- Rejestracja komponentów (250)
- Mechanizm strumieniowania (253)
- Dodatkowe wymagania dotyczące strumieniowania (254)
- Strumieniowanie niepublikowanych właściwości (254)
- Dystrybucja komponentów (258)
- Miejsca umieszczania rozpowszechnianych plików (259)
- Nazwy pakietów i ich jednostek (260)
- Nazwy komponentów (262)
- Dystrybucja wyłącznie pakietu projektowego (263)
- Rozpowszechnianie komponentów dla różnych wersji C++Buildera (263)
- Tworzenie bitmap dla palety komponentów (267)
- Wskazówki dotyczące projektowania komponentów przeznaczonych do rozpowszechniania (268)
- Inne zagadnienia związane z dystrybucją komponentów (268)
- Podsumowanie (269)
Rozdział 5. Edytory komponentów i edytory właściwości (271)
- Tworzenie edytorów właściwości (273)
- Metoda GetAttributes() (283)
- Metoda GetValue() (284)
- Metoda SetValue() (285)
- Metoda Edit() (285)
- Metoda GetValues() (289)
- Korzystanie z właściwości klasy TProperyEditor (289)
- Sposób wyboru odpowiedniego edytora (290)
- Właściwości a wyjątki (291)
- Rejestracja edytorów właściwości (293)
- Pobieranie PTypeInfo istniejącej właściwości i klasy dla typu spoza VCL (294)
- Uzyskiwanie PTypeInfo dla typów spoza VCL na zasadzie tworzenia ich ręcznie (300)
- Jak otrzymać TTypeInfo* dla typu spoza VCL? (301)
- Zasady przysłaniania edytorów właściwości (302)
- Korzystanie z obrazów w edytorach właściwości (303)
- Metoda ListMeasureWidth() (307)
- Metoda ListMeasureHeight() (307)
- Metoda ListDrawValue() (308)
- Metoda PropDrawValue() (312)
- Metoda PropDrawName() (313)
- Tworzenie edytorów komponentów (315)
- Metoda Edit() (319)
- Metoda EditProperty() (322)
- Metoda GetVerbCount() (324)
- Metoda GetVerb() (324)
- Metoda PrepareItem() (325)
- Metoda ExecuteVerb() (327)
- Metoda Copy() (328)
- Rejestracja edytorów komponentów (329)
- Podsumowanie (330)
Część II Programowanie baz danych (331)
Rozdział 6. Architektura komponentów bazodanowych firmy Borland (333)
- Przegląd rodzajów komponentów bazodanowych (333)
- Zestawy komponentów (333)
- Borland Database Engine (336)
- Jednowarstwowa architektura BDE oraz dbGo (336)
- BDE/SQL Links, IBExpress, dbExpress oraz dbGo (architektura dwuwarstwowa) (337)
- Rozproszone bazy danych - DataSnap (architektura wielowarstwowa) (337)
- Podsumowanie (339)
Rozdział 7. Programowanie baz danych (341)
- Czym są moduły danych? (341)
- Zalety stosowania modułów danych (342)
- Moduły danych w aplikacjach, bibliotekach DLL oraz obiektach rozproszonych (343)
- Zawartość modułu danych (345)
- Dodawanie właściwości do modułu danych (345)
- Data Module Designer (346)
- Widok drzewa obiektów oraz projektant modułów danych (346)
- Edytor diagramów danych (346)
- Zaawansowane pojęcia, dotyczące wykorzystania modułów danych (349)
- Dziedziczenie klasy formularza w modułach danych (349)
- Obsługa nierównego dziedziczenia klas formularzy i modułów danych (350)
- Moduł danych niezależny od interfejsu użytkownika (351)
- Moduł danych a komponenty szkieletowe i komponenty specyficzne dla aplikacji (351)
- Moduły danych w pakietach (353)
- Podsumowanie (354)
Rozdział 8. Borland Database Engine (355)
- Wprowadzenie do Borland Database Engine (BDE) (355)
- Architektura jednowarstwowa (Single-Tier) (356)
- Architektura klient-serwer (BDE oraz SQL Links) (357)
- BDE wraz z ODBC (357)
- Przegląd komponentów (358)
- Architektura komponentów (359)
- Komponenty połączenia (359)
- TTable - zbiór danych niewykorzystujący SQL (360)
- TQuery - zbiór danych wykorzystujący SQL (361)
- Podsumowanie (365)
Rozdział 9. Zbiory danych po stronie klienta oraz rozszerzenia zbiorów danych (367)
- Wprowadzenie do idei zbiorów danych po stronie klienta (367)
- Wykorzystanie prostych zbiorów danych po stronie klienta w środowisku klient-serwer (369)
- Zwiększanie wydajności zbiorów danych po stronie klienta (370)
- Wykorzystywanie zbiorów danych po stronie klienta w środowisku wielowarstwowym (371)
- Specjalizowane rodzaje zbiorów danych po stronie klienta (372)
- Podsumowanie (373)
Rozdział 10. InterBase Express (375)
- Wprowadzenie do komponentów IBExpress (375)
- Konfiguracja schematu (376)
- Reguły bazy danych (378)
- Generatory, wyzwalacze oraz procedury składowane (379)
- Generatory (379)
- Wyzwalacze (380)
- Procedury składowane (381)
- Diagnostyka aplikacji opartej na InterBase (382)
- Baza danych - tworzenie oraz nawiązywanie połączenia (382)
- Wykorzystanie transakcji (384)
- Dostęp do bazy InterBase (384)
- TIBUpdateSQL (385)
- TIBTable (386)
- TIBQuery (386)
- TIBDataSet (386)
- TIBSQL oraz TIBStoredProc (387)
- TIBEvents (387)
- Konfiguracja programu Bug Tracker (388)
- update, delete, insert, refresh (388)
- Pola (389)
- Modyfikacje buforowane (390)
- Transakcje oraz komponenty związane z danymi (390)
- Program Bug Tracker w działaniu (391)
- Podsumowanie (392)
Rozdział 11. Komponenty ADO Express (393)
- ADO a BDE (394)
- Dodatkowe zabezpieczenia (395)
- Kopiowanie rekordów oraz zbiorów danych (396)
- Przegląd komponentów ADO (396)
- Zgodność ADO z VCL (397)
- Połączenie z bazą danych (397)
- Klasa TADOConnection (397)
- Obiekt Provider - dostawca danych (398)
- Ciąg opisujący połączenie (connection string) (398)
- Transakcje (398)
- Wykorzystywanie wartości domyślnych (399)
- Dostęp do zbiorów danych (399)
- TADOTable (399)
- Ustanawianie połączenia dla TADOTable (399)
- Ustawianie nazwy tabeli (400)
- Uaktywnianie tabeli (400)
- Wykorzystanie z TADOTable źródeł danych oraz kontrolek związanych z danymi (400)
- Przeglądanie zawartości tabeli (400)
- Dodawanie oraz modyfikowanie rekordów (400)
- Wyszukiwanie rekordów (401)
- Wykorzystywanie filtrów (401)
- TADOQuery (401)
- Wykonywanie procedury składowanej za pomocą TADOStoredProc (402)
- Konfiguracja TADOStoredProc (402)
- Wykonywanie procedury składowanej (402)
- Pobieranie wyników działania procedury (403)
- Modyfikacja danych przy użyciu TADOCommand (403)
- Konfiguracja TADOCommand (403)
- Wykonywanie polecenia za pomocą TADOCommand (403)
- Wykorzystanie TADOCommand w celu dostępu do zbiorów danych (403)
- TADODataSet (404)
- Zarządzanie transakcjami (404)
- Wykorzystanie zdarzeń komponentów (404)
- Zdarzenia TADOConnection (404)
- Zdarzenia TADOCommand (405)
- Zdarzenia klas pochodnych TADOCustomDataSet (405)
- Tworzenie podstawowej aplikacji bazodanowej (405)
- Pobieranie ciągu połączenia od użytkownika (406)
- Pobieranie nazw tabel (406)
- Pobieranie nazw pól (406)
- Pobieranie nazw procedur składowanych (406)
- Optymalizacja wydajności (407)
- Zapytanie czy tabela? (407)
- Położenie kursora (407)
- Rodzaje kursorów (408)
- Buforowanie (408)
- Obsługa błędów (408)
- Aplikacje wielowarstwowe a ADO (409)
- Podsumowanie (409)
Rozdział 12. Dostęp do danych za pomocą dbExpress (411)
- dbExpress (411)
- Własne sterowniki dbExpress (412)
- Komponenty dbExpress (412)
- TSQLConnection (413)
- TSQLDataSet (414)
- Kontrolki związane z danymi (415)
- Dlaczego jednokierunkowy? (416)
- TSQLClientDataSet (417)
- TSQLMonitor (418)
- Migracja z technologii BDE (421)
- Przykład migracji (422)
- Podsumowanie (424)
Rozdział 13. Przetwarzanie dokumentów XML oraz program XML Mapper (425)
- Przetwarzanie dokumentów XML (425)
- Właściwości dokumentu XML (426)
- Interfejsy dokumentu XML (427)
- Odczytywanie dokumentów XML (428)
- Zapisywanie dokumentów XML (429)
- Łączenie danych z dokumentów XML (430)
- Program XML Mapper (438)
- Transformacja (442)
- Demonstracja transformacji (442)
- Podsumowanie (444)
Część III Programowanie w systemie Windows (445)
Rozdział 14. Wykorzystanie interfejsu Win32 (447)
- Podstawy interfejsu Win32 (448)
- Zarządzanie oknami (450)
- Przykład zarządzania oknami (451)
- Efekty animacji okien (464)
- Identyfikatory komunikatów (465)
- Odpowiadanie na komunikaty w systemie Windows (466)
- Usługi systemowe (467)
- Przykład programu wykorzystującego usługi systemowe (470)
- Uruchamianie aplikacji oraz odkrywanie uchwytów okien (485)
- Interfejs GDI (488)
- Zmiana kształtu programu (489)
- Obsługa multimediów (493)
- Odtwarzanie plików multimedialnych (494)
- Zwiększona dokładność odtwarzania przy użyciu zegara multimedialnego (497)
- Wspólne elementy sterujące i okna dialogowe (500)
- Wspólne elementy sterujące (500)
- Wspólne okna dialogowe (503)
- Elementy powłoki systemowej (505)
- Wykorzystanie funkcji ShellExecute() w celu uruchomienia przeglądarki (506)
- Wykorzystanie funkcji ShellExecuteEx() do uruchomienia aplikacji (507)
- Tworzenie kopii zapasowych katalogów oraz plików (508)
- Umieszczanie plików w koszu (512)
- Obsługa ustawień regionalnych (514)
- Usługi sieciowe (515)
- Pobieranie informacji o sieci (516)
- Dodawanie obsługi funkcji systemowych (517)
- Podsumowanie (519)
Rozdział 15. Techniki graficzne oraz multimedialne (521)
- Interfejs GDI (522)
- Interfejs programistyczny Windows oraz kontekst urządzenia (522)
- Klasa TCanvas (523)
- Klasa TPen (527)
- Klasa TBrush (529)
- Klasa TFont (531)
- Klasa TColor (532)
- Przykład - zegar analogowy (533)
- Przetwarzanie obrazu (534)
- Mapy bitowe w systemie Windows (534)
- Klasa TBitmap (535)
- Format JPEG (540)
- Format GIF (544)
- Format PNG (544)
- Przetwarzanie multimediów (547)
- Interfejs MCI (547)
- Interfejs Waveform Audio (554)
- Uwagi końcowe (561)
- Podsumowanie (562)
Rozdział 16. Biblioteki DLL (563)
- Tworzenie biblioteki DLL w programie C++Builder (564)
- Kreator DLL Wizard (565)
- Tworzenie kodu DLL (567)
- Dodawanie pliku nagłówkowego biblioteki DLL (568)
- Kompilacja biblioteki DLL (569)
- Dołączanie biblioteki DLL (570)
- Dołączanie statyczne biblioteki DLL (570)
- Dołączanie dynamiczne biblioteki DLL (572)
- Eksportowanie klas z biblioteki DLL (577)
- Pakiety a biblioteki DLL (581)
- Czynności konieczne do utworzenia pakietu (582)
- Formularze w bibliotekach DLL (583)
- Okna modalne SDI (585)
- Okna potomne MDI (587)
- Obsługa pamięci współdzielonej w bibliotekach DLL (588)
- Wykorzystywanie bibliotek DLL utworzonych w Microsoft Visual C++ w programie C++Builder (594)
- Wykorzystywanie bibliotek DLL utworzonych w C++Builder w programie Microsoft Visual C++ (595)
- Podsumowanie (596)
Rozdział 17. Programowanie COM (599)
- Podstawy technologii COM (600)
- Elementy architektury COM (600)
- Technologie COM (601)
- Tworzenie oraz wykorzystywanie interfejsów COM (602)
- Klasa IUnknown (603)
- Identyfikator interfejsu (605)
- Biblioteki typu (606)
- Tworzenie interfejsu w programie C++Builder (607)
- Implementacja interfejsu w programie C++Builder (609)
- Uzyskiwanie dostępu do obiektu COM (613)
- Importowanie biblioteki typu (615)
- Dodawanie automatyzacji (617)
- Dodawanie automatyzacji do istniejącego programu (618)
- Tworzenie kontrolera automatyzacji (621)
- Dodawanie ujścia zdarzeń (624)
- Tworzenie serwera COM (625)
- Implementacja ujścia zdarzeń po stronie klienta (630)
- Formanty ActiveX (636)
- Zalecana literatura (637)
- Podsumowanie (638)
Część IV Programowanie systemów rozproszonych (641)
Rozdział 18. DCOM - ulegamy rozproszeniu (643)
- Co to jest DCOM? (643)
- DCOM w systemach z rodziny Windows (644)
- Narzędzie DCOMCnfg (645)
- Globalne ustawienia bezpieczeństwa (645)
- Ustawienia bezpieczeństwa wyłączne dla serwera (648)
- Testowanie obiektów DCOM w praktyce (651)
- Tworzenie aplikacji serwera (651)
- Tworzenie aplikacji klienta (653)
- Konfiguracja zezwoleń na dostęp i uruchamianie (655)
- Konfiguracja tożsamości (657)
- Uruchamianie przykładu (657)
- Programowanie bezpieczeństwa (657)
- Parametry funkcji CoInitializeSecurity (658)
- Stosowanie CoInitializeSecurity (659)
- Klienty i zabezpieczenia DLL (661)
- Implementacja programatywnego sterowania dostępem (661)
- Implementacja zabezpieczeń na poziomie interfejsu (663)
- Używanie serwera Blanket (665)
- Podsumowanie (672)
Rozdział 19. SOAP i usługi sieciowe w BizSnap (673)
- Tworzenie usług sieciowych (673)
- Aplikacja serwera SOAP (674)
- Moduł sieciowy serwera SOAP (675)
- Interfejs usługi sieciowej (677)
- Uruchamianie serwera SOAP (679)
- Konsumpcja usług sieciowych (681)
- Importer WSDL (681)
- Korzystanie z IcmInch (685)
- Korzystanie z innych usług sieciowych (687)
- Interfejsy programistyczne Google Web API (687)
- Klucz do wyszukiwarki Google (688)
- Wyszukiwanie w Google (688)
- Podsumowanie (694)
Rozdział 20. Aplikacje rozproszone w DataSnap (695)
- Wprowadzenie do DataSnap (695)
- Klienci i serwery DataSnap (697)
- Tworzenie prostego serwera DataSnap (697)
- Rejestracja serwera DataSnap (701)
- Tworzenie klienta DataSnap (702)
- Korzystanie z modelu aktówki (704)
- Używanie ApplyUpdates (708)
- Implementacja obsługi błędów (708)
- Demonstracja błędów aktualizacji (711)
- Tworzenie serwera DataSnap typu nadrzędny-szczegółowy (712)
- Eksportowanie zestawów danych typu nadrzędny-szczegółowy (714)
- Tworzenie klienta DataSnap typu nadrzędny-szczegółowy (715)
- Stosowanie tabel zagnieżdżonych (716)
- Wąskie gardła w przepustowości DataSnap (718)
- Bezstanowy DataSnap (720)
- Serwery DataSnap przechowujące stan a serwery bezstanowe (720)
- Wdrażanie (725)
- Podsumowanie (726)
Rozdział 21. Połączenia wielowarstwowe w DataSnap (727)
- Zdalny dostęp do serwera poprzez DCOM (727)
- Połączenie sieciowe HTTP (728)
- Gromadzenie obiektów (730)
- Połączenia poprzez gniazda w TCP/IP (731)
- Zarejestrowane serwery (733)
- Broker obiektów (734)
- Nowe połączenia w DataSnap (735)
- Komponent TLocalConnection (736)
- Komponent TConnectionBroker (740)
- Komponent TSOAPConnection (743)
- Serwer SOAP DataSnap w C++Builderze Enterprise (744)
- Klient SOAP DataSnap w C++Builderze Enterprise (746)
- Podsumowanie (748)
Rozdział 22. Programowanie serwerów WWW z WebSnap (749)
- WebAppDebugger (749)
- Domyślny WebActionItem (750)
- Diagnostyka (750)
- Diagnostyka aplikacji serwera WWW (752)
- Demonstracja WebSnap (752)
- Komponenty WebSnap (753)
- Moduł WWW WebSnap (753)
- Moduł danych WebSnap (754)
- Komponent DataSetAdapter (755)
- Moduł strony WebSnap (756)
- Uruchamianie (757)
- Dopracowywanie szczegółów (758)
- Architektura WebSnap (760)
- Akcje a strony (760)
- Moduły WWW w WebSnap (760)
- Moduły stron WebSnap (761)
- Moduły danych WebSnap (761)
- WebSnap a WebBroker (761)
- Wykonywanie skryptów po stronie serwera (761)
- Adaptery WebSnap (762)
- Generatory WebSnap (765)
- Logowanie w WebSnap (766)
- Aplikacja WebSnap (766)
- Moduł strony WebSnap (767)
- Komponent WebUserList (767)
- Moduł strony logowania (768)
- Komponent LoginFormAdapter (769)
- Formularz logowania (769)
- Nieprawidłowe logowanie (770)
- Komponent EndUserSessionAdapter (771)
- Sesje w WebSnap (771)
- Komponent TSessionsService (771)
- Dane typu nadrzędny-szczegółowy w WebSnap - przykład (776)
- Klucz podstawowy (777)
- Komponent DataSetAdapter (777)
- Moduł strony WebSnap (777)
- Tworzenie odnośników do stron na podstawie ich nazw (780)
- Dopracowywanie szczegółów (784)
- Wdrożenie (785)
- Podsumowanie (785)
Część V Interfejs programistyczny Open Tools API (787)
Rozdział 23. Tools API - rozszerzenie środowiska Borland (789)
- Zasada działania Tools API (790)
- Open Tools API (OTA) (790)
- Native Tools (NTA) (790)
- Możliwości Tools API (791)
- Tworzenie kreatora (792)
- Wybór interfejsu kreatora (792)
- Rekonstrukcja TNotifierObject w C++Builderze (793)
- Definiowanie własnej klasy kreatora (797)
- Rejestracja klasy kreatora (800)
- Rezultat końcowy (801)
- Tworzenie i korzystanie z usług (801)
- Wybór interfejsu usługi (802)
- Dostęp do usług (803)
- Korzystanie z usług (803)
- Tworzenie i korzystanie z powiadomień (812)
- Definiowanie własnej klasy powiadomienia debuggera (812)
- Używanie powiadomienia debuggera (817)
- Tworzenie i używanie kreatorów obiektów IDE (821)
- Definiowanie własnej klasy kreatora obiektu IDE (821)
- Korzystanie z kreatora obiektu IDE (825)
- Korzystanie z edytorów (826)
- Diagnostyka własnych rozszerzeń IDE (827)
- Tworzenie i instalacja bibliotek DLL (828)
- Zalecana literatura (830)
- Podsumowanie (831)
Dodatki (833)
Dodatek A Przykładowe aplikacje C++Buildera (835)
- Przegląd przykładowych aplikacji C++Buildera (835)
- Przykładowe aplikacje w Apps (838)
- Przykładowe aplikacje w DBTask (841)
- Przykładowe aplikacje w Doc (843)
- Przykładowe aplikacje w WebSnap (845)
- Podsumowanie (847)
Dodatek B Programowanie aplikacji mobilnych w C++ (849)
- Przegląd środowiska C++ Mobile Edition (850)
- Symbian SDK (851)
- Plug-in C++ Mobile Edition (852)
- Emulator a symulator (853)
- Tworzenie aplikacji mobilnej (853)
- Ładowanie przykładu Hello World (855)
- Kompilacja aplikacji mobilnej (855)
- Testowanie aplikacji (856)
- Budowa projektu aplikacji mobilnej (857)
- Pliki MMP (859)
- Plik BLD.INF (859)
- Pliki z kodem źródłowym (860)
- Instalacja aplikacji mobilnej (866)
- Pliki PKG i SIS (866)
- Narzędzia i metody (867)
- System operacyjny Symbian OS (867)
- Przyszłe produkty dla programowania aplikacji mobilnych w Borland C++ (870)
- Kompilator Borland ARM C++ (870)
- Szkielet CLX dla aplikacji mobilnych (870)
- Dodatkowe źródła informacji (871)
- Podsumowanie (871)
Dodatek C Źródła informacji (873)
- Strony internetowe sponsorowane przez Borland (873)
- Borland Home Page (873)
- Borland Developers Network (874)
- CodeCentral (876)
- QualityCentral (877)
- Strony internetowe dla programistów (877)
- Serwisy poświęcone środowisku C++Builder (878)
- Źródła informacji o C++ (879)
- Komponenty i narzędzia (879)
- Usługi sieciowe (880)
- Technologie Windows (881)
- Grupy dyskusyjne (882)
- Książki i czasopisma (884)
- Książki o C++Builderze (885)
- Ogólne książki na temat C++ (886)
- Czasopisma (886)
- Konferencja programistów organizowana przez Borland (BorCon) (887)
- Podsumowanie (888)
Dodatek D Aktywacja komponentu TXMLDocument w C++Builder Professional (889)
- Obsługa rejestracji TXMLDocument jako VCL (890)
- Kompozycja pakietu VCL dla TXML Document (898)
- Używanie komponentu TXMLDocument (898)
- Podsumowanie (899)
Skorowidz (901)