Kompletny przewodnik po środowisku C++ Buildera
C++ Builder to zgodne ze standardem ANSI C++ środowisko szybkiego tworzenia aplikacji (RAD) w systemie Windows. Dzięki
C++ Builder można tworzyć zarówno aplikacje typu 'desktop', jak również aplikacje rozproszone i internetowe. 'C++ Builder 6. Vademecum profesjonalisty' dostarczy Ci aktualnych informacji na temat najnowszych możliwości tego środowiska. Poznasz między innymi technologie DataSnap, C++ Mobile, XML, BizSnap, dbExpress.
Książka ta była pisana z myślą o aktualnych i przyszłych użytkownikach środowiska
C++ Builder . Jest to poradnik dla programistów, a jego podstawowym zadaniem jest poszerzenie wiedzy na temat środowiska
C++ Builder i związanych z nim technologii; opis najnowszych funkcji wprowadzonych w wersji 6 środowiska oraz ułatwienie tworzenia wydajnego i użytecznego oprogramowania. Choć większość rozdziałów adresowana jest do średnio zaawansowanych i zaawansowanych użytkowników, zostały one ułożone w taki sposób, że stopień trudności rośnie wraz z numerami rozdziałów, więc początkujący programiści nie powinni mieć większych problemów ze zrozumieniem opisywanych koncepcji.
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
Doświadczenie i bogata wiedza autorów 'C++Builder 6. Vademecum profesjonalisty' to gwarancja rzetelności tej książki. Jeśli programujesz w
C++ Builder , jest Ci ona po prostu niezbędna.
Znajdź podobne książki
Ostatnio czytane w tej kategorii
Darmowy fragment publikacji:
IDZ DO
IDZ DO
PRZYK£ADOWY ROZDZIA£
PRZYK£ADOWY ROZDZIA£
SPIS TREĎCI
SPIS TREĎCI
KATALOG KSI¥¯EK
KATALOG KSI¥¯EK
KATALOG ONLINE
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
TWÓJ KOSZYK
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
O NOWOĎCIACH
O NOWOĎCIACH
ZAMÓW CENNIK
ZAMÓW CENNIK
CZYTELNIA
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
C++ Builder 6.
Vademecum Profesjonalisty
Autorzy: Jarrod Hollingworth, Bob Swart,
Mark Cashman, Paul Gustavson
T³umaczenie: Jaros³aw Dobrzañski,
Rafa³ Joñca, Rafa³ Szpoton
ISBN: 83-7361-151-7
Tytu³ orygina³u: C++Builder 6 Developer s Guide
Format: B5, stron: 944
C++ Builder to zgodne ze standardem ANSI C++ ġrodowisko szybkiego tworzenia
aplikacji (RAD) w systemie Windows. Dziêki C++ Builder mo¿na tworzyæ zarówno
aplikacje typu „desktop”, jak równie¿ aplikacje rozproszone i internetowe.
„C++ Builder 6. Vademecum profesjonalisty” dostarczy Ci aktualnych informacji na
temat najnowszych mo¿liwoġci tego ġrodowiska. Poznasz miêdzy innymi technologie
DataSnap, C++ Mobile, XML, BizSnap, dbExpress.
Ksi¹¿ka ta by³a pisana z myġl¹ o aktualnych i przysz³ych u¿ytkownikach ġrodowiska
C++ Builder. Jest to poradnik dla programistów, a jego podstawowym zadaniem jest
poszerzenie wiedzy na temat ġrodowiska C++ Builder i zwi¹zanych z nim technologii;
opis najnowszych funkcji wprowadzonych w wersji 6 ġrodowiska oraz u³atwienie
tworzenia wydajnego i u¿ytecznego oprogramowania. Choæ wiêkszoġæ rozdzia³ów
adresowana jest do ġrednio zaawansowanych i zaawansowanych u¿ytkowników,
zosta³y one u³o¿one w taki sposób, ¿e stopieñ trudnoġci roġnie wraz z numerami
rozdzia³ów, wiêc pocz¹tkuj¹cy programiġci nie powinni mieæ wiêkszych problemów
ze zrozumieniem opisywanych koncepcji.
• 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
Doġwiadczenie i bogata wiedza autorów „C++Builder 6. Vademecum profesjonalisty
to gwarancja rzetelnoġci tej ksi¹¿ki. Jeġli programujesz w C++ Builder, jest Ci ona po
prostu niezbêdna.
4WVQMCPCMUKæľMú
9RTQYCFGPKG P
úħè+
2QFUVCY[ħTQFQYKUMC
$WKNFGT
Rozdział 1. Wprowadzenie do środowiska C++Builder ...........................................27
Rozdział 2. Projekty i środowisko projektowe C++Buildera .....................................53
Rozdział 3. Programowanie w C++Builderze.............................................................97
Rozdział 4.
Tworzenie własnych komponentów .....................................................185
Rozdział 5. Edytory komponentów i edytory właściwości ....................................271
úħè++
2TQITCOQYCPKGDCFCP[EJ
Rozdział 6. Architektura komponentów bazodanowych firmy Borland .............333
Rozdział 7. Programowanie baz danych.................................................................341
Rozdział 8. Borland Database Engine ......................................................................355
Rozdział 9.
Zbiory danych po stronie klienta
oraz rozszerzenia zbiorów danych ........................................................367
Rozdział 10. InterBase Express .....................................................................................375
Rozdział 11. Komponenty ADO Express .....................................................................393
Rozdział 12. Dostęp do danych za pomocą dbExpress .........................................411
Rozdział 13. Przetwarzanie dokumentów XML oraz program XML Mapper.........425
úħè+++ 2TQITCOQYCPKGYU[UVGOKG9KPFQYU
Rozdział 14. Wykorzystanie interfejsu Win32 ..............................................................447
Rozdział 15. Techniki graficzne oraz multimedialne ................................................521
Rozdział 16. Biblioteki DLL.............................................................................................563
Rozdział 17. Programowanie COM ............................................................................599
6
C++Builder 6. Vademecum profesjonalisty
úħè+8 2TQITCOQYCPKGU[UVGOÎYTQRTQUQP[EJ
Rozdział 18. DCOM — ulegamy rozproszeniu ...........................................................643
Rozdział 19. SOAP i usługi sieciowe w BizSnap..........................................................673
Rozdział 20. Aplikacje rozproszone w DataSnap......................................................695
Rozdział 21. Połączenia wielowarstwowe w DataSnap .........................................727
Rozdział 22. Programowanie serwerów WWW z WebSnap....................................749
úħè8
+PVGTHGLURTQITCOKUV[EP[1RGP6QQNU#2+
Rozdział 23. Tools API — rozszerzenie środowiska Borland ......................................789
QFCVMKF
Dodatek A Przykładowe aplikacje C++Buildera .....................................................835
Dodatek B Programowanie aplikacji mobilnych w C++ ......................................849
Dodatek C Źródła informacji .....................................................................................873
Dodatek D Aktywacja komponentu TXMLDocument
w C++Builder Professional ......................................................................889
Skorowidz..................................................................................................901
5RKUVTGħEK
1#WVQTCEJ J
9RTQYCFGPKG J
Kto powinien przeczytać tę książkę?...................................................r..................................21
Organizacja książki...................................................r...................................................r..........22
Płyta CD-ROM ...................................................r...................................................r................23
Wymagania systemowe środowiska C++Builder ...................................................r...............23
Konwencje wykorzystywane w książce ...................................................r.............................23
úħè+
2QFUVCY[ħTQFQYKUMC
$WKNFGT
4QFKCđ 9RTQYCFGPKGFQħTQFQYKUMC
$WKNFGT
Język C++ ...................................................r...................................................r........................28
Zgodność z ANSI ...................................................r...................................................r......28
Zgodność z kompilatorami Microsoftu ...................................................r........................29
Polecane podręczniki języka C++ ...................................................r................................31
Rozszerzenia języka wprowadzone przez firmę Borland i obiekty standardowe ...........31
VCL, formularze i komponenty...................................................r..........................................34
Formularz.............................................r...................................................r.........................34
Paleta komponentów...................................................r...................................................r..35
Zdarzenia i procedury obsługi zdarzeń...................................................r.........................35
Testowanie programu ...................................................r...................................................r37
Tworzymy pierwszy prawdziwy program ...................................................r..........................37
Najczęściej zadawane pytania ...................................................r............................................43
Co nowego w wersji 6. C++Buildera?...................................................r................................44
Zgodność z poprzednimi wersjami — projekty ...................................................r...........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 ...................................................r................................................46
Linux, Kylix, CLX, EJB a C++Builder ...................................................r..............................46
Krótki opis CLX ...................................................r...................................................r........47
Integracja systemu pomocy na wielu platformach ...................................................r.......48
Uproszczone IDL, IIOP i EJB ...................................................r......................................48
Biblioteka standardowa C++ ...................................................r..............................................49
Kontenery ...................................................r...................................................r..................49
Zarządzanie pamięcią ...................................................r...................................................r50
Podsumowanie ...................................................r...................................................r.................51
8
C++Builder 6. Vademecum profesjonalisty
4QFKCđ 2TQLGMV[KħTQFQYKUMQRTQLGMVQYG
$WKNFGTC
Cechy zintegrowanego środowiska projektowego C++Buildera...........................................53
Główne okno i paski narzędziowe...................................................r................................53
Okno Project Manager (Menedżer projektu)...................................................r................54
Aranżacja okien środowiska projektowego...................................................r..................54
Okno Object Inspector...................................................r..................................................55
Kategorie właściwości w oknie Object Inspector...................................................r.........57
Okno Object TreeView...................................................r.................................................59
Edytor kodu źródłowego ...................................................r..............................................59
Formularze zapisane jako tekst...................................................r.....................................62
Projekty C++Buildera ...................................................r...................................................r......64
Pliki używane w projektach C++Buildera...................................................r....................64
Menedżer projektu...................................................r...................................................r.....67
Różne sposoby budowania dla różnych plików ...................................................r...........68
Własne narzędzia budowania ...................................................r.......................................69
Stosowanie techniki przeciągnij i upuść w celu zmiany kolejności kompilacji..............72
Pakiety i ich użycie ...................................................r...................................................r..........72
Kiedy należy używać pakietów? ...................................................r..................................75
Interaktywny debugger w C++Builderze...................................................r............................75
Usuwanie błędów z aplikacji wielowątkowych...................................................r............77
Zaawansowane pułapki...................................................r.................................................77
Zaawansowane funkcje pułapek...................................................r...................................80
Widoki debugowania programów w C++Builderze...................................................r.....80
Podgląd, obliczanie i modyfikacja...................................................r................................84
Okno Debug Inspector...................................................r..................................................86
Zaawansowane testowanie programów ...................................................r..............................87
Znajdowanie źródła błędów naruszenia dostępu ...................................................r..........88
Dołączanie do uruchomionego procesu...................................................r........................89
Używanie debugowania Just-In-Time ...................................................r..........................89
Debugowanie zdalne...................................................r...................................................r..90
Debugowanie bibliotek DLL ...................................................r........................................92
Skracanie czasu kompilacji...................................................r.................................................92
Prekompilowane nagłówki ...................................................r...........................................93
Inne sposoby zmniejszania czasu kompilacji ...................................................r...............94
Podsumowanie ...................................................r...................................................r.................96
4QFKCđ 2TQITCOQYCPKGY
$WKNFGTG J
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...................................................r............................99
Unikanie zmiennych globalnych ...................................................r................................102
Korzystanie z modyfikatora const ...................................................r..............................107
Zasady obsługi wyjątków ...................................................r...........................................109
Zarządzanie pamięcią za pomocą new i delete...................................................r...........113
Rodzaje rzutowania w C++ ...................................................r........................................117
Kiedy korzystać z preprocesora?...................................................r................................119
Wykorzystanie biblioteki standardowej C++ ...................................................r.............122
Wprowadzenie do VCL ...................................................r...................................................r.122
Wszystko ma swój początek w klasie TObject ...................................................r..........123
Tworzenie aplikacji z istniejących obiektów...................................................r..............124
Korzystanie z biblioteki VCL...................................................r.....................................125
Rozszerzenia języka C++ ...................................................r...........................................127
Biblioteka VCL a biblioteka CLX...................................................r..............................134
Spis treści
9
Przegląd palety komponentów...................................................r..........................................134
Tworzenie interfejsów użytkownika...................................................r.................................137
Ramki i szablony komponentów ...................................................r................................137
Ramki...............................................r...................................................r...........................138
Radzenie sobie ze zmianami rozmiaru okien ...................................................r.............146
Złożoność implementacji interfejsów użytkownika ...................................................r...150
Rozszerzenie użyteczności przez umożliwienie dostosowanira
interfejsu użytkownika do własnych potrzeb ...................................................r..........156
Korzystanie z techniki przeciągnij i upuść ...................................................r.................161
Rozwiązanie...................................................r...................................................r.............162
Kod ...................................................r...................................................r..........................162
Jak to działa? ...................................................r...................................................r...........164
Otaczanie techniki przeciągnij i upuść ...................................................r.......................165
Tworzenie i użycie komponentów niewizualnych...................................................r............165
Kreowanie aplikacji wielowątkowych...................................................r..............................166
Podstawy wielozadaniowości ...................................................r.....................................166
Podstawy wielowątkowości...................................................r........................................166
Tworzenie wątku wywołaniem funkcji API...................................................r...............167
Obiekt TThread...................................................r...................................................r........170
Wątek główny VCL...................................................r...................................................r.174
Ustalanie priorytetu ...................................................r...................................................r.177
Mierzenie czasu wykonania wątków...................................................r..........................179
Synchronizacja wątków...................................................r..............................................180
Podsumowanie ...................................................r...................................................r...............184
6YQTGPKGYđCUP[EJMQORQPGPVÎYJ
Tworzenie, kompilacja i instalacja pakietów...................................................r....................185
Tworzenie pakietu komponentów ...................................................r..............................186
Kompilacja i instalacja pakietów...................................................r................................190
Tworzenie własnych komponentów ...................................................r.................................190
Pisanie komponentów...................................................r.................................................190
Pisanie komponentów niewizualnych ...................................................r........................193
Tworzenie komponentów widocznych...................................................r.......................218
Tworzenie własnych komponentów związanych z danymi ..........................................241
Rejestracja komponentów...................................................r...........................................250
Mechanizm strumieniowania...................................................r............................................253
Dodatkowe wymagania dotyczące strumieniowania...................................................r..254
Strumieniowanie niepublikowanych właściwości...................................................r......254
Dystrybucja komponentów ...................................................r...............................................258
Miejsca umieszczania rozpowszechnianych plików ...................................................r..259
Nazwy pakietów i ich jednostek...................................................r.................................260
Nazwy komponentów ...................................................r.................................................262
Dystrybucja wyłącznie pakietu projektowego...................................................r............263
Rozpowszechnianie komponentów dla różnych wersji C++Buildera...........................263
Tworzenie bitmap dla palety komponentów ...................................................r..............267
Wskazówki dotyczące projektowania komponentów
przeznaczonych do rozpowszechniania...................................................r...................268
Inne zagadnienia związane z dystrybucją komponentów..............................................268
Podsumowanie ...................................................r...................................................r...............269
F[VQT[MQORQPGPVÎYKGF[VQT[YđCħEKYQħEK
Tworzenie edytorów właściwości...................................................r.....................................273
Metoda GetAttributes()...................................................r...............................................283
Metoda GetValue() ...................................................r...................................................r..284
Metoda SetValue()...................................................r...................................................r...285
4QFKCđ
4QFKCđ
10
C++Builder 6. Vademecum profesjonalisty
Metoda Edit()...................................................r...................................................r...........285
Metoda GetValues() ...................................................r...................................................r289
Korzystanie z właściwości klasy TProperyEditor ...................................................r......289
Sposób wyboru odpowiedniego edytora...................................................r.....................290
Właściwości a wyjątki ...................................................r...................................................r...291
Rejestracja edytorów właściwości ...................................................r....................................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?...................................................r........301
Zasady przysłaniania edytorów właściwości...................................................r..............302
Korzystanie z obrazów w edytorach właściwości ...................................................r............303
Metoda ListMeasureWidth() ...................................................r......................................307
Metoda ListMeasureHeight() ...................................................r.....................................307
Metoda ListDrawValue()...................................................r............................................308
Metoda PropDrawValue() ...................................................r..........................................312
Metoda PropDrawName() ...................................................r..........................................313
Tworzenie edytorów komponentów ...................................................r.................................315
Metoda Edit()...................................................r...................................................r...........319
Metoda EditProperty()...................................................r................................................322
Metoda GetVerbCount()...................................................r.............................................324
Metoda GetVerb()...................................................r...................................................r....324
Metoda PrepareItem()...................................................r.................................................325
Metoda ExecuteVerb() ...................................................r...............................................327
Metoda Copy()...................................................r...................................................r.........328
Rejestracja edytorów komponentów...................................................r.................................329
Podsumowanie ...................................................r...................................................r...............330
úħè++
2TQITCOQYCPKGDCFCP[EJ
4QFKCđ #TEJKVGMVWTCMQORQPGPVÎYDCQFCPQY[EJHKTO[$QTNCPF
Przegląd rodzajów komponentów bazodanowych...................................................r............333
Zestawy komponentów...................................................r...............................................333
Borland Database Engine...................................................r..................................................336
Jednowarstwowa architektura BDE oraz dbGo ...................................................r................336
BDE/SQL Links, IBExpress, dbExpress oraz dbGo (architektura dwuwarstwowa)...........337
Rozproszone bazy danych — DataSnap (architektura wielowarstwowa) ...........................337
Podsumowanie ...................................................r...................................................r...............339
4QFKCđ 2TQITCOQYCPKGDCFCP[EJ J
Czym są moduły danych? ...................................................r.................................................341
Zalety stosowania modułów danych...................................................r.................................342
Moduły danych w aplikacjach, bibliotekach DLL oraz obiektach rozproszonych..............343
Zawartość modułu danych ...................................................r................................................345
Dodawanie właściwości do modułu danych...................................................r.....................345
Data Module Designer ...................................................r...................................................r...346
Widok drzewa obiektów oraz projektant modułów danych ..........................................346
Edytor diagramów danych ...................................................r................................................346
Zaawansowane pojęcia, dotyczące wykorzystania modułów danych .................................349
Dziedziczenie klasy formularza w modułach danych ...................................................r349
Obsługa nierównego dziedziczenia klas formularzy i modułów danych ......................350
Moduł danych niezależny od interfejsu użytkownika ...................................................r351
Moduł danych a komponenty szkieletowe i komponenty specyficzne dla aplikacji.....351
Moduły danych w pakietach...................................................r.......................................353
Podsumowanie ...................................................r...................................................r...............354
Spis treści
11
4QFKCđ
4QFKCđ $QTNCPF CVCDCUG PIKPG J
Wprowadzenie do Borland Database Engine (BDE)...................................................r........355
Architektura jednowarstwowa (Single-Tier) ...................................................r..............356
Architektura klient-serwer (BDE oraz SQL Links)...................................................r....357
BDE wraz z ODBC...................................................r...................................................r..357
Przegląd komponentów...................................................r...................................................r..358
Architektura komponentów ...................................................r........................................359
Komponenty połączenia ...................................................r.............................................359
TTable — zbiór danych niewykorzystujący SQL ...................................................r......360
TQuery — zbiór danych wykorzystujący SQL ...................................................r..........361
Podsumowanie ...................................................r...................................................r...............365
DKQT[FCP[EJRQUVTQPKGMNKGPVC
QTCTQUGTGPKCDKQTÎYFCP[EJJ
Wprowadzenie do idei zbiorów danych po stronie klienta..................................................367
Wykorzystanie prostych zbiorów danych po stronie klientar 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 ...................................................r...................................................r...............373
4QFKCđ +PVGT$CUG ZRTGUUJ
Wprowadzenie do komponentów IBExpress...................................................r....................375
Konfiguracja schematu ...................................................r...................................................r..376
Reguły bazy danych...................................................r...................................................r.......378
Generatory, wyzwalacze oraz procedury składowane...................................................r......379
Generatory ...................................................r...................................................r...............379
Wyzwalacze...................................................r...................................................r.............380
Procedury składowane...................................................r................................................381
Diagnostyka aplikacji opartej na InterBase ...................................................r......................382
Baza danych — tworzenie oraz nawiązywanie połączenia .................................................382
Wykorzystanie transakcji...................................................r..................................................384
Dostęp do bazy InterBase ...................................................r.................................................384
TIBUpdateSQL...................................................r...................................................r........385
TIBTable...................................................r...................................................r..................386
TIBQuery...................................................r...................................................r.................386
TIBDataSet ...................................................r...................................................r..............386
TIBSQL oraz TIBStoredProc ...................................................r.....................................387
TIBEvents...................................................r...................................................r................387
Konfiguracja programu Bug Tracker...................................................r................................388
update, delete, insert, refresh ...................................................r......................................388
Pola ...................................................r...................................................r..........................389
Modyfikacje buforowane...................................................r............................................390
Transakcje oraz komponenty związane z danymi ...................................................r......390
Program Bug Tracker w działaniu ...................................................r....................................391
Podsumowanie ...................................................r...................................................r...............392
4QFKCđ -QORQPGPV[# 1 ZRTGUU J
ADO a BDE ...................................................r...................................................r...................394
Dodatkowe zabezpieczenia...................................................r.........................................395
Kopiowanie rekordów oraz zbiorów danych...................................................r..............396
Przegląd komponentów ADO...................................................r...........................................396
Zgodność ADO z VCL...................................................r...............................................397
Połączenie z bazą danych ...................................................r.................................................397
Klasa TADOConnection...................................................r.............................................397
Obiekt Provider — dostawca danych ...................................................r.........................398
12
C++Builder 6. Vademecum profesjonalisty
Ciąg opisujący połączenie (connection string)...................................................r...........398
Transakcje...................................................r...................................................r................398
Wykorzystywanie wartości domyślnych ...................................................r....................399
Dostęp do zbiorów danych ...................................................r...............................................399
TADOTable ...................................................r...................................................r.............399
Ustanawianie połączenia dla TADOTable ...................................................r.................399
Ustawianie nazwy tabeli...................................................r.............................................400
Uaktywnianie tabeli...................................................r...................................................r.400
Wykorzystanie z TADOTable źródeł danych oraz kontrolek związanych z danymi....400
Przeglądanie zawartości tabeli...................................................r....................................400
Dodawanie oraz modyfikowanie rekordów...................................................r................400
Wyszukiwanie rekordów ...................................................r............................................401
Wykorzystywanie filtrów ...................................................r...........................................401
TADOQuery ...................................................r...................................................r............401
Wykonywanie procedury składowanej za pomocą TADOStoredProc..........................402
Konfiguracja TADOStoredProc ...................................................r.................................402
Wykonywanie procedury składowanej...................................................r.......................402
Pobieranie wyników działania procedury...................................................r...................403
Modyfikacja danych przy użyciu TADOCommand...................................................r...403
Konfiguracja TADOCommand ...................................................r..................................403
Wykonywanie polecenia za pomocą TADOCommand.................................................403
Wykorzystanie TADOCommand w celu dostępu do zbiorów danych..........................403
TADODataSet ...................................................r...................................................r.........404
Zarządzanie transakcjami ...................................................r.................................................404
Wykorzystanie zdarzeń komponentów...................................................r.............................404
Zdarzenia TADOConnection...................................................r......................................404
Zdarzenia TADOCommand ...................................................r.......................................405
Zdarzenia klas pochodnych TADOCustomDataSet ...................................................r...405
Tworzenie podstawowej aplikacji bazodanowej ...................................................r..............405
Pobieranie ciągu połączenia od użytkownika...................................................r.............406
Pobieranie nazw tabel...................................................r.................................................406
Pobieranie nazw pól...................................................r...................................................r.406
Pobieranie nazw procedur składowanych...................................................r...................406
Optymalizacja wydajności...................................................r................................................407
Zapytanie czy tabela? ...................................................r.................................................407
Położenie kursora ...................................................r...................................................r....407
Rodzaje kursorów ...................................................r...................................................r....408
Buforowanie ...................................................r...................................................r............408
Obsługa błędów ...................................................r...................................................r.............408
Aplikacje wielowarstwowe a ADO ...................................................r..................................409
Podsumowanie ...................................................r...................................................r...............409
4QFKCđ QUVúRFQFCP[EJCRQOQEæFD ZRTGUU
dbExpress...................................................r...................................................r.......................411
Własne sterowniki dbExpress...................................................r.....................................412
Komponenty dbExpress...................................................r...................................................r.412
TSQLConnection...................................................r...................................................r.....413
TSQLDataSet...................................................r...................................................r...........414
Kontrolki związane z danymi ...................................................r.....................................415
Dlaczego jednokierunkowy? ...................................................r......................................416
TSQLClientDataSet...................................................r...................................................r.417
TSQLMonitor ...................................................r...................................................r..........418
Migracja z technologii BDE ...................................................r.............................................421
Przykład migracji...................................................r...................................................r.....422
Podsumowanie ...................................................r...................................................r...............424
Spis treści
13
4QFKCđ 2TGVYCTCPKGFQMWOGPVÎY:/.QTCRTQITCO:/./CRRGT
Przetwarzanie dokumentów XML ...................................................r....................................425
Właściwości dokumentu XML...................................................r...................................426
Interfejsy dokumentu XML ...................................................r........................................427
Odczytywanie dokumentów XML ...................................................r.............................428
Zapisywanie dokumentów XML ...................................................r................................429
Łączenie danych z dokumentów XML...................................................r.............................430
Program XML Mapper ...................................................r...................................................r..438
Transformacja...................................................r...................................................r..........442
Demonstracja transformacji...................................................r........................................442
Podsumowanie ...................................................r...................................................r...............444
úħè+++ 2TQITCOQYCPKGYU[UVGOKG9KPFQYU
4QFKCđ 9[MQT[UVCPKGKPVGTHGLUW9KPJ
Podstawy interfejsu Win32...................................................r...............................................448
Zarządzanie oknami...................................................r...................................................r.......450
Przykład zarządzania oknami ...................................................r.....................................451
Efekty animacji okien...................................................r.................................................464
Identyfikatory komunikatów ...................................................r......................................465
Odpowiadanie na komunikaty w systemie Windows...................................................r.466
Usługi systemowe ...................................................r...................................................r..........467
Przykład programu wykorzystującego usługi systemowe.............................................470
Uruchamianie aplikacji oraz odkrywanie uchwytów okien ..........................................485
Interfejs GDI ...................................................r...................................................r..................488
Zmiana kształtu programu ...................................................r..........................................489
Obsługa multimediów...................................................r...................................................r....493
Odtwarzanie plików multimedialnych...................................................r........................494
Zwiększona dokładność odtwarzania przy użyciu zegara multimedialnego.................497
Wspólne elementy sterujące i okna dialogowe...................................................r.................500
Wspólne elementy sterujące ...................................................r.......................................500
Wspólne okna dialogowe...................................................r............................................503
Elementy powłoki systemowej ...................................................r.........................................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...................................................r508
Umieszczanie plików w koszu ...................................................r...................................512
Obsługa ustawień regionalnych ...................................................r........................................514
Usługi sieciowe...................................................r...................................................r..............515
Pobieranie informacji o sieci ...................................................r......................................516
Dodawanie obsługi funkcji systemowych ...................................................r..................517
Podsumowanie ...................................................r...................................................r...............519
4QFKCđ 6GEJPKMKITCHKEPGQTCOWNVKOGFKCNPG
Interfejs GDI ...................................................r...................................................r..................522
Interfejs programistyczny Windows oraz kontekst urządzenia.....................................522
Klasa TCanvas...................................................r...................................................r.........523
Klasa TPen...................................................r...................................................r...............527
Klasa TBrush ...................................................r...................................................r...........529
Klasa TFont ...................................................r...................................................r.............531
Klasa TColor...................................................r...................................................r............532
Przykład — zegar analogowy...................................................r.....................................533
14
C++Builder 6. Vademecum profesjonalisty
Przetwarzanie obrazu...................................................r...................................................r.....534
Mapy bitowe w systemie Windows...................................................r............................534
Klasa TBitmap...................................................r...................................................r.........535
Format JPEG...................................................r...................................................r............540
Format GIF ...................................................r...................................................r..............544
Format PNG...................................................r...................................................r.............544
Przetwarzanie multimediów ...................................................r.............................................547
Interfejs MCI ...................................................r...................................................r...........547
Interfejs Waveform Audio...................................................r..........................................554
Uwagi końcowe ...................................................r...................................................r.......561
Podsumowanie ...................................................r...................................................r...............562
4QFKCđ $KDNKQVGMK .. J
Tworzenie biblioteki DLL w programie C++Builder...................................................r.......564
Kreator DLL Wizard ...................................................r..................................................565
Tworzenie kodu DLL ...................................................r.................................................567
Dodawanie pliku nagłówkowego biblioteki DLL ...................................................r......568
Kompilacja biblioteki DLL ...................................................r........................................569
Dołączanie biblioteki DLL ...................................................r...............................................570
Dołączanie statyczne biblioteki DLL ...................................................r.........................570
Dołączanie dynamiczne biblioteki DLL...................................................r.....................572
Eksportowanie klas z biblioteki DLL ...................................................r...............................577
Pakiety a biblioteki DLL...................................................r...................................................r581
Czynności konieczne do utworzenia pakietu...................................................r..............582
Formularze w bibliotekach DLL...................................................r.......................................583
Okna modalne SDI ...................................................r...................................................r..585
Okna potomne MDI...................................................r...................................................r.587
Obsługa pamięci współdzielonej w bibliotekach DLL...................................................r.....588
Wykorzystywanie bibliotek DLL utworzonych w Microsoft Visualr C++
w programie C++Builder...................................................r...............................................594
Wykorzystywanie bibliotek DLL utworzonych w C++Builder
w programie Microsoft Visual C++...................................................r...............................595
Podsumowanie ...................................................r...................................................r...............596
4QFKCđ 2TQITCOQYCPKG 1/J
Podstawy technologii COM...................................................r..............................................600
Elementy architektury COM ...................................................r......................................600
Technologie COM ...................................................r...................................................r...601
Tworzenie oraz wykorzystywanie interfejsów COM ...................................................r.......602
Klasa IUnknown...................................................r...................................................r......603
Identyfikator interfejsu ...................................................r...............................................605
Biblioteki typu ...................................................r...................................................r.........606
Tworzenie interfejsu w programie C++Builder ...................................................r.........607
Implementacja interfejsu w programie C++Builder...................................................r...609
Uzyskiwanie dostępu do obiektu COM...................................................r......................613
Importowanie biblioteki typu ...................................................r.....................................615
Dodawanie automatyzacji...................................................r.................................................617
Dodawanie automatyzacji do istniejącego programu...................................................r.618
Tworzenie kontrolera automatyzacji ...................................................r..........................621
Dodawanie ujścia zdarzeń ...................................................r................................................624
Tworzenie serwera COM...................................................r..................................................625
Implementacja ujścia zdarzeń po stronie klienta...................................................r........630
Formanty ActiveX ...................................................r...................................................r.........636
Zalecana literatura...................................................r...................................................r..........637
Podsumowanie ...................................................r...................................................r...............638
úħè+8 2TQITCOQYCPKGU[UVGOÎYTQRTQUQP[EJ
4QFKCđ 1/ōWNGICO[TQRTQUGPKW J
Spis treści
15
Co to jest DCOM? ...................................................r...................................................r.........643
DCOM w systemach z rodziny Windows ...................................................r..................644
Narzędzie DCOMCnfg ...................................................r...................................................r..645
Globalne ustawienia bezpieczeństwa ...................................................r.........................645
Ustawienia bezpieczeństwa wyłączne dla serwera...................................................r.....648
Testowanie obiektów DCOM w praktyce ...................................................r........................651
Tworzenie aplikacji serwera...................................................r.......................................651
Tworzenie aplikacji klienta ...................................................r........................................653
Konfiguracja zezwoleń na dostęp i uruchamianie...................................................r......655
Konfiguracja tożsamości ...................................................r............................................657
Uruchamianie przykładu...................................................r.............................................657
Programowanie bezpieczeństwa ...................................................r.......................................657
Parametry funkcji CoInitializeSecurity ...................................................r......................658
Stosowanie CoInitializeSecurity...................................................r.................................659
Klienty i zabezpieczenia DLL ...................................................r....................................661
Implementacja programatywnego sterowania dostępem...............................................661
Implementacja zabezpieczeń na poziomie interfejsu ...................................................r.663
Używanie serwera Blanket ...................................................r.........................................665
Podsumowanie ...................................................r...................................................r...............672
4QFKCđ 51#2KWUđWIKUKGEKQYGY$K5PCR J
Tworzenie usług sieciowych...................................................r.............................................673
Aplikacja serwera SOAP ...................................................r............................................674
Moduł sieciowy serwera SOAP...................................................r..................................675
Interfejs usługi sieciowej ...................................................r............................................677
Uruchamianie serwera SOAP...................................................r.....................................679
Konsumpcja usług sieciowych...................................................r..........................................681
Importer WSDL...................................................r...................................................r.......681
Korzystanie z IcmInch...................................................r................................................685
Korzystanie z innych usług sieciowych...................................................r............................687
Interfejsy programistyczne Google Web API ...................................................r............687
Klucz do wyszukiwarki Google ...................................................r.................................688
Wyszukiwanie w Google...................................................r............................................688
Podsumowanie ...................................................r...................................................r...............694
4QFKCđ #RNKMCELGTQRTQUQPGY CVC5PCRJ
Wprowadzenie do DataSnap...................................................r.............................................695
Klienci i serwery DataSnap ...................................................r..............................................697
Tworzenie prostego serwera DataSnap ...................................................r......................697
Rejestracja serwera DataSnap ...................................................r....................................701
Tworzenie klienta DataSnap...................................................r.......................................702
Korzystanie z modelu aktówki ...................................................r...................................704
Używanie ApplyUpdates...................................................r............................................708
Implementacja obsługi błędów...................................................r...................................708
Demonstracja błędów aktualizacji...................................................r..............................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 ...................................................r..............................716
Wąskie gardła w przepustowości DataSnap...................................................r...............718
16
C++Builder 6. Vademecum profesjonalisty
Bezstanowy DataSnap ...................................................r...................................................r...720
Serwery DataSnap przechowujące stan a serwery bezstanowe.....................................720
Wdrażanie ...................................................r...................................................r......................725
Podsumowanie ...................................................r...................................................r...............726
4QFKCđ 2QđæEGPKCYKGNQYCTUVYQYGY CVC5PCR
Zdalny dostęp do serwera poprzez DCOM...................................................r.......................727
Połączenie sieciowe HTTP ...................................................r...............................................728
Gromadzenie obiektów...................................................r...............................................730
Połączenia poprzez gniazda w TCP/IP ...................................................r.............................731
Zarejestrowane serwery...................................................r..............................................733
Broker obiektów ...................................................r...................................................r......734
Nowe połączenia w DataSnap ...................................................r..........................................735
Komponent TLocalConnection ...................................................r..................................736
Komponent TConnectionBroker ...................................................r................................740
Komponent TSOAPConnection ...................................................r.......................................743
Serwer SOAP DataSnap w C++Builderze Enterprise ...................................................r744
Klient SOAP DataSnap w C++Builderze Enterprise ...................................................r.746
Podsumowanie ...................................................r...................................................r...............748
4QFKCđ 2TQITCOQYCPKGUGTYGTÎY9999GD5PCR
WebAppDebugger ...................................................r...................................................r.........749
Domyślny WebActionItem...................................................r.........................................750
Diagnostyka ...................................................r...................................................r.............750
Diagnostyka aplikacji serwera WWW ...................................................r.......................752
Demonstracja WebSnap...................................................r...................................................r.752
Komponenty WebSnap...................................................r...............................................753
Moduł WWW WebSnap...................................................r.............................................753
Moduł danych WebSnap ...................................................r............................................754
Komponent DataSetAdapter...................................................r.......................................755
Moduł strony WebSnap ...................................................r..............................................756
Uruchamianie...................................................r...................................................r...........757
Dopracowywanie szczegółów ...................................................r....................................758
Architektura WebSnap...................................................r...................................................r...760
Akcje a strony...................................................r...................................................r..........760
Moduły WWW w WebSnap...................................................r.......................................760
Moduły stron WebSnap ...................................................r..............................................761
Moduły danych WebSnap ...................................................r..........................................761
WebSnap a WebBroker ...................................................r..............................................761
Wykonywanie skryptów po stronie serwera...................................................r...............761
Adaptery WebSnap...................................................r...................................................r..762
Generatory WebSnap...................................................r..................................................765
Logowanie w WebSnap ...................................................r...................................................r.766
Aplikacja WebSnap ...................................................r...................................................r.766
Moduł strony WebSnap .......................
Pobierz darmowy fragment (pdf)
Gdzie kupić całą publikację:
Opinie na temat publikacji:
Inne popularne pozycje z tej kategorii:
Czytaj również:
Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką :