Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00515 010248 11030875 na godz. na dobę w sumie
C++ Builder 6 dla każdego - książka
C++ Builder 6 dla każdego - książka
Autor: Liczba stron: 816
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-859-6 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> c++ builder - programowanie
Porównaj ceny (książka, ebook, audiobook).

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ą: Autor książki, Kent Reisdorph, kieruje zespołem programistów w firmie TurboPower Software w Colorado Springs. Współpracuje on także z firmą Borland, biorąc udział w pracach grupy doradczej o nazwie TeamB jako niezależny programista i konsultant.

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 dla ka¿dego Autor: Kent Reisdorph T³umaczenie: Tomasz M. Sadowski ISBN: 83-7197-859-6 Tytu³ orygina³u: Sams Teach Yourself Borland C++ Builder 3 in 21 Days Format: B5, stron: 812 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 Autor ksi¹¿ki, Kent Reisdorph, kieruje zespo³em programistów w firmie TurboPower Software w Colorado Springs. Wspó³pracuje on tak¿e z firm¹ Borland, bior¹c udzia³ w pracach grupy doradczej o nazwie TeamB jako niezale¿ny programista i konsultant. Spis treści O Autorze ......................................................................................... 13 Podziękowania.................................................................................. 15 Witamy! ........................................................................................... 17 Na co zwracać uwagę? ...................................................u...................................................u18 Część I ...................................................9.......................................19 Rozdział 1. Pierwsze kroki w systemie C++Builder ............................................. 21 Czym jest C++Builder?...................................................u..................................................21 IDE od pierwszego wejrzenia ...................................................u........................................22 Ahoj, przygodo! ...................................................u...................................................u..........25 To samo w wersji tekstowej ...................................................u...........................................27 Wprowadzenie do C++ ...................................................u..................................................33 Narodziny języka ...................................................u...................................................u..34 Zmienne ...................................................u...................................................u................35 Typy danych w C++ ...................................................u................................................36 Operatory ...................................................u...................................................u..............39 Funkcje...................................................u...................................................u..................41 Funkcja main() ...................................................u...................................................u......45 Tablice...................................................u...................................................u...................48 Tablice znakowe ...................................................u...................................................u...50 Funkcje operujące na łańcuchach ...................................................u............................52 Tablice łańcuchów ...................................................u...................................................u54 Podsumowanie ...................................................u...................................................u............55 Rozdział 2. Wprowadzenie do C++ ...................................................................... 57 Jeżeli…...................................................u...................................................u........................57 Pętle i ich zastosowania...................................................u..................................................61 Pętla for...................................................u...................................................u.................62 Pętla while...................................................u...................................................u.............65 Pętla do-while ...................................................u...................................................u.......66 Instrukcja goto ...................................................u...................................................u......67 Instrukcje continue i break...................................................u.......................................68 Instrukcja switch ...................................................u...................................................u.........69 Zasięg ...................................................u...................................................u..........................71 Zmienne zewnętrzne ...................................................u................................................73 4 C++Builder 6 dla każdego Struktury...................................................u...................................................u................ ......74 Tablice struktur ...................................................u...................................................u.....76 Pliki nagłówkowe i pliki źródłowe ...................................................u..........................76 Struktury w akcji...................................................u...................................................u...78 Podsumowanie ...................................................u...................................................u............82 Rozdział 3. Zaawansowane elementy C++........................................................... 83 Wskaźniki...................................................u...................................................u....................83 Zmienne lokalne i dynamiczne ...................................................u................................84 Obiekty dynamiczne a wskaźniki ...................................................u............................85 Jak to się ma do naszego programu?...................................................u........................86 Dereferencja czyli wyłuskanie...................................................u.................................88 Do dzieła!...................................................u...................................................u..............89 Referencje...................................................u...................................................u....................91 Przekazywanie parametrów przez wskaźnik i przez referencje ........................................94 Modyfikator const...................................................u...................................................u.96 Operatory new i delete ...................................................u...................................................u96 Operator new...................................................u...................................................u.........97 Operator delete...................................................u...................................................u......98 Rozwiązanie zagadki ...................................................u...............................................99 Operatory new[ ] i delete[ ]...................................................u....................................100 Co mogą funkcje w C++? ...................................................u............................................100 Przeciążanie funkcji ...................................................u...............................................101 Parametry domyślne funkcji ...................................................u..................................103 Funkcje składowe klas ...................................................u...........................................104 Funkcje wstawiane...................................................u.................................................105 Co zrobić, gdy w danych jest błąd?...................................................u..............................106 Podsumowanie ...................................................u...................................................u..........108 Rozdział 4. O klasach i programowaniu obiektowym ......................................... 109 Co to jest klasa?..................................u...................................................u..........................109 Anatomia klasy...................................................u...................................................u..........110 Dostęp do elementów klasy ...................................................u...................................111 Konstruktory ...................................................u...................................................u.......113 Destruktory ...................................................u...................................................u.........116 Pola ...................................................u...................................................u.....................117 Funkcje składowe...................................................u...................................................u119 Wskaźnik this...................................................u...................................................u......121 A teraz przykład...................................................u...................................................u..124 Dziedziczenie ...................................................u...................................................u............131 Dziedziczenie wielokrotne...................................................u.....................................134 Wprowadzenie do operacji wejścia-wyjścia ...................................................u................136 Odczytujemy dane ...................................................u.................................................137 Zapisujemy dane ...................................................u...................................................u.139 Ustalenie trybu otwarcia pliku ...................................................u...............................141 Obsługa plików binarnych ...................................................u.....................................142 Wskaźnik plikowy ...................................................u.................................................142 Swobodny dostęp do pliku...................................................u.....................................143 Podsumowanie ...................................................u...................................................u..........145 Rozdział 5. Biblioteki klas i komponenty ........................................................... 147 Kilka słów wprowadzenia ...................................................u............................................147 Po co mi to wszystko?...................................................u............................................148 W czym tkwi haczyk?...................................................u............................................150 Biblioteki jako wzór projektowania i programowania obiektowego........................151 Spis treści 5 Wojny bibliotek...................................................u...................................................u.........151 Biblioteka Object Windows Library...................................................u......................152 Biblioteka Microsoft Foundation Class Library ...................................................u....153 Co wiec wybrać?...................................................u...................................................u.154 Biblioteka Visual Component Library ...................................................u.........................154 Komponenty...................................................u...................................................u........155 Właściwości, metody i zdarzenia...................................................u...........................156 C++Builder a biblioteka VCL...................................................u......................................168 VCL dla praktyków C++ ...................................................u.......................................169 Wszystkie obiekty klas zdefiniowanych w VCL muszą być tworzone dynamicznie...................................................u.......................170 VCL nie dopuszcza domyślnych parametrów funkcji ..............................................170 VCL nie umożliwia dziedziczenia wielokrotnego...................................................u.171 Implementacja łańcuchów w bibliotece VCL ...................................................u..............171 Czy to naprawdę jest potrzebne? ...................................................u...........................172 Szablon SmallString...................................................u...............................................173 Klasa AnsiString ...................................................u...................................................u.173 Typ zbiorowy ...................................................u...................................................u......177 Nieco więcej o bibliotece VCL ...................................................u....................................179 Klasy implementujące formularz i aplikacje ...................................................u.........181 Klasy komponentowe...................................................u.............................................181 To jeszcze nie koniec… ...................................................u.........................................186 Podsumowanie ...................................................u...................................................u..........187 Rozdział 6. Więcej o środowisku systemu ......................................................... 189 Projekty w systemie C++Builder ...................................................u.................................190 Pliki wykorzystywane w projektach ...................................................u......................191 Moduły źródłowe ...................................................u...................................................u197 Menu główne i paleta narzędzi...................................................u.....................................199 Paleta komponentów i jej wykorzystanie...................................................u.....................200 Umieszczenie kilku kopii komponentu na formularzu .............................................201 Wyśrodkowanie komponentu na formularzu...................................................u.........202 Menu kontekstowe palety komponentów ...................................................u..............202 Nawigacja na palecie komponentów ...................................................u.....................202 Object TreeView ...................................................u...................................................u.......203 Wracamy do rzeczy, czyli aplikacja wielomodułowa...................................................u..204 Kompilacja, łączenie i budowa aplikacji ...................................................u...............207 Kompilacja innych programów w C++...................................................u........................209 O formularzach nieco więcej...................................................u........................................212 Formularz okna głównego ...................................................u.....................................212 Formularze okienek dialogowych...................................................u..........................212 Okienka dodatkowe a dialogi...................................................u.................................218 Aplikacje wielodokumentowe (MDI) ...................................................u....................218 Podstawowe właściwości formularzy ...................................................u....................219 Metody formularzy ...................................................u................................................223 Zdarzenia obsługiwane przez formularze ...................................................u..............224 Inspektor obiektów...................................................u...................................................u....226 Lista komponentów...................................................u................................................227 Karta właściwości ...................................................u..................................................228 Karta zdarzeń ...................................................u...................................................u......231 Przykładowa aplikacja MDI...................................................u.........................................232 Podsumowanie ...................................................u...................................................u..........241 6 C++Builder 6 dla każdego Rozdział 7. Edytor formularzy i edytor menu ...................................................... 243 Edytor formularzy i jego wykorzystanie...................................................u......................243 Menu kontekstowe edytora formularzy ...................................................u.................244 Rozmieszczanie komponentów w formularzu ...................................................u.......245 Siatka edytora formularzy...................................................u......................................246 Wybieranie komponentów ...................................................u.....................................246 Przesuwanie komponentów ...................................................u...................................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...................................................u..........................................252 Zmiana wielkości komponentów ...................................................u...........................255 Wyrównywanie komponentów ...................................................u..............................257 Ustalanie porządku wyboru komponentów ...................................................u...........267 Prosimy o menu! ...................................................u...................................................u.......268 Tworzymy menu główne ...................................................u.......................................269 Nieco programowania...................................................u............................................278 Menu kontekstowe ...................................................u.................................................285 Tworzenie i zapamiętywanie szablonów menu ...................................................u.....286 Podsumowanie ...................................................u...................................................u..........287 Część II ...................................................9....................................289 Rozdział 8. Komponenty biblioteki VCL ............................................................. 291 Nieco przypomnienia ...................................................u...................................................u291 Właściwość Name ...................................................u...................................................u.....293 Ważniejsze wspólne właściwości komponentów...................................................u.........295 Właściwość Align i Anchors ...................................................u.................................295 Właściwość Color ...................................................u..................................................295 Kursory ...................................................u...................................................u...............297 Właściwość Enabled ...................................................u..............................................297 Właściwość Font...................................................u...................................................u.298 Właściwość Hint ...................................................u...................................................u.300 Właściwości ParentColor,ParentCtl3D, ParentFont, BarentBiDiMode i ParentShowHint ...................................................u................................................300 Caption, Text, Lines, Items...................................................u....................................301 Właściwość Tag ...................................................u...................................................u..301 Inne właściwości...................................................u...................................................u.301 Podstawowe metody komponentów...................................................u.............................302 Podstawowe zdarzenia obsługiwane przez komponenty ................................................303 Klasa TStrings ...................................................u...................................................u...........304 Standardowe elementy sterujące systemu Windows...................................................u....307 Komponenty edycyjne ...................................................u...........................................307 Listy ...................................................u...................................................u....................309 Przyciski...................................................u...................................................u..............314 Etykiety ...................................................u...................................................u...............323 Paski przewijania ...................................................u...................................................u323 Panele...................................................u...................................................u..................324 I wiele innych......................................................u...................................................u...324 Standardowe okienka dialogowe...................................................u..................................325 Metoda Execute()...................................................u...................................................u325 Okienka dialogowe otwarcia i zapisania pliku...................................................u.............326 Okienka dialogowe otwarcia i zapisania pliku graficznego .....................................329 Okienko dialogowe wyboru koloru ...................................................u.......................330 Spis treści 7 Okienko dialogowe wyboru czcionki ...................................................u....................330 Okienka dialogowe wyszukiwania i zamiany...................................................u........330 Podsumowanie ...................................................u...................................................u..........331 Rozdział 9. Tworzenie aplikacji w systemie C++Builder..................................... 333 Składnica obiektów i jej wykorzystanie...................................................u.......................333 Dostęp do zawartości składnicy obiektów...................................................u.............334 Wykorzystanie zawartości składnicy obiektów ...................................................u.....334 Tworzenie elementów aplikacji z użyciem składnicy obiektów...............................338 Dodawanie obiektów do składnicy ...................................................u........................339 Dodawanie projektów do składnicy...................................................u.......................341 Zarządzanie zawartością składnicy...................................................u........................341 Tworzenie formularzy i aplikacji z użyciem kreatorów..................................................343 Kreator dialogów ...................................................u...................................................u344 Kreator aplikacji...................................................u...................................................u..345 Definiowanie funkcji składowych i pól klasy ...................................................u..............349 Deklaracje klas w systemie C++Builder...................................................u................350 Szablony komponentów ...................................................u...............................................352 Wykorzystanie zasobów...................................................u...............................................355 Pakiety...................................................u...................................................u.................. .....361 Co to jest pakiet?...................................................u...................................................u.362 Łączenie statyczne i dynamiczne...................................................u...........................363 Ładowanie dynamiczne pakietów...................................................u..........................365 Wykorzystywanie pakietów w aplikacjach...................................................u............371 Tworzenie pakietu...................................................u..................................................371 Dystrybucja aplikacji wykorzystujących pakiety ...................................................u..372 Podsumowanie ...................................................u...................................................u..........373 Rozdział 10. O projektach nieco więcej............................................................... 375 Bez projektu ani rusz...................................................u...................................................u.375 Korzystanie z menedżera projektów ...................................................u............................375 Grupy projektów ...................................................u...................................................u.376 Okno menedżera projektów ...................................................u...................................377 Tworzenie i korzystanie z grup projektów...................................................u.............380 Budowa projektów i ich grup...................................................u.................................382 Konfiguracja projektu ...................................................u..................................................382 Karta Forms ...................................................u...................................................u........383 Karta Application...................................................u...................................................u385 Karta Compiler...................................................u...................................................u....386 Karta Advanced Compiler ...................................................u.....................................390 Karta C++ ...................................................u...................................................u...........392 Karta Pascal ...................................................u...................................................u........393 Karta Linker ...................................................u...................................................u........393 Karta Advanced Linker...................................................u..........................................395 Karta Directories/Conditionals ...................................................u..............................395 Karta Version Info ...................................................u.................................................397 Karta Packages...................................................u...................................................u....398 Karta Tasm...................................................u...................................................u..........399 Karta CORBA...................................................u...................................................u.....399 Edytor kodu ...................................................u...................................................u.............. .399 Podstawowe operacje na tekście źródłowym...................................................u.........400 Zaawansowane funkcje edytora...................................................u.............................406 Menu kontekstowe edytora kodu ...................................................u...........................410 Zmiana konfiguracji edytora...................................................u..................................410 Podsumowanie ...................................................u...................................................u..........416 8 C++Builder 6 dla każdego Rozdział 11. Debugger........................................................................................ 417 Po co używać debuggera? ...................................................u............................................418 Polecenia debuggera...................................................u...................................................u..418 Punkty wstrzymania ...................................................u...................................................u..419 Ustawianie i usuwanie punktów wstrzymania...................................................u.......420 Lista punktów wstrzymania ...................................................u...................................422 Bezwarunkowe punkty wstrzymania ...................................................u.....................425 Warunkowe punkty wstrzymania ...................................................u..........................425 Polecenie Run to Cursor ...................................................u........................................426 Punkty przerwania nieprzerywające pracy programu...............................................426 Śledzenie zmiennych...................................................u...................................................u.427 Podgląd wyrażeń wskazanych kursorem...................................................u......................427 Menu kontekstowe listy zmiennych śledzonych...................................................u..........428 Okno dialogowe ustawień śledzenia ...................................................u............................429 Zawieszenie śledzenia zmiennej ...................................................u..................................431 Dodanie zmiennej do listy zmiennych śledzonych ...................................................u......431 Korzystanie z listy zmiennych śledzonych ...................................................u..................431 Inspektor danych ...................................................u...................................................u.......434 Pozostałe narzędzia uruchomieniowe ...................................................u..........................436 Podgląd i modyfikacja zmiennych...................................................u.........................437 Stos wywołań funkcji...................................................u.............................................438 Podgląd rejestrów procesora ...................................................u..................................439 Lokalizacja adresów w kodzie źródłowym...................................................u............440 Praca krokowa...................................................u...................................................u.....440 Uruchamianie bibliotek DLL ...................................................u.......................................444 Raport uruchomieniowy...................................................u...............................................444 Okno widoku modułów...................................................u................................................445 Techniki uruchomieniowe...................................................u............................................445 Funkcja OutputDebugString() ...................................................u...............................445 CodeGuard ...................................................u...................................................u................448 Wskazówki i rady...................................................u...................................................u......450 Konfiguracja debuggera ...................................................u...............................................451 Opcja Integrated debugging...................................................u...................................452 Zakładka General ...................................................u...................................................u452 Zakładka Event Log...................................................u...............................................453 Zakładka Language Exceptions ...................................................u.............................453 Zakładka OS Exceptions...................................................u........................................454 Podsumowanie ...................................................u...................................................u..........454 Rozdział 12. Programy narzędziowe i konfiguracja IDE ........................................ 455 Edytor graficzny...................................................u...................................................u........455 Kolor tła i atramentu ...................................................u..............................................456 Funkcje graficzne edytora...................................................u......................................458 Powiększanie rysunku...................................................u............................................460 Dobór szerokości linii i kształtu pędzla ...................................................u.................460 Projektowanie map bitowych...................................................u.................................461 Projektowanie ikon ...................................................u................................................462 Projektowanie kursorów ...................................................u........................................464 Menu kontekstowe edytora graficznego ...................................................u................465 Tworzenie plików zasobów ...................................................u...................................465 Agent WinSight czyli szpiegostwo w Windows ...................................................u..........467 Wymiana komunikatów w systemie Windows...................................................u......468 Panel listy okien...................................................u...................................................u..469 Panel komunikatów...................................................u................................................470 Spis treści 9 Jak śledzić okna?...................................................u...................................................u.470 Filtrowanie komunikatów ...................................................u......................................471 Pozostałe funkcje programu WinSight ...................................................u..................472 DOS-owe programy narzędziowe ...................................................u................................474 GREP.EXE...................................................u...................................................u..........474 COFF2OMF.EXE ...................................................u..................................................475 IMPLIB.EXE ...................................................u...................................................u......475 TOUCH.EXE ...................................................u...................................................u......476 TDUMP.EXE...................................................u...................................................u......476 Konfiguracja menu narzędzi ...................................................u........................................478 Okno dialogowe konfiguracji narzędzi...................................................u..................478 Konfiguracja środowiska systemu ...................................................u...............................480 Karta Preferences ...................................................u...................................................u480 Karta Designer ...................................................u...................................................u....482 Karta Object Inspector ...................................................u...........................................482 Karta Library...................................................u...................................................u.......483 Karta Palette...................................................u...................................................u........483 Karta Environment Variables ...................................................u................................484 Karta Type Library ...................................................u................................................484 Karta ClassExplorer ...................................................u...............................................485 Karta CORBA...................................................u...................................................u.....485 Karta C++ Builder Direct ...................................................u......................................485 Karta Internet ...................................................u...................................................u......485 Podsumowanie ...................................................u...................................................u..........486 Część III ...................................................9...................................487 Rozdział 13. Programowanie operacji graficznych ............................................... 489 Grafika minimalnym kosztem...................................................u......................................489 Konteksty urządzeń i klasa TCanvas ...................................................u...........................490 Obiekty GDI...................................................u...................................................u..............492 Pióra, pędzle i czcionki ...................................................u..........................................493 Ograniczanie obszaru rysowania ...................................................u...........................498 Podstawowe operacje graficzne ...................................................u...................................499 Rysowanie tekstu ...................................................u...................................................u500 Rysowanie map bitowych ...................................................u......................................505 Mapy bitowe przechowywane w pamięci ...................................................u....................506 Mapy bitowe typu DIB...................................................u.................................................511 Podsumowanie ...................................................u...................................................u..........515 Rozdział 14. Obsługa baz danych ........................................................................ 517 Wstęp...................................................u...................................................u.........................517 Lokalne bazy danych ...................................................u.............................................519 Bazy danych typu klient-serwer...................................................u.............................519 Wielowarstwowa architektura baz danych ...................................................u............520 Przegląd technologii...................................................u...................................................u..521 ClientDataSet ...................................................u...................................................u......522 Borland Database Engine (BDE) ...................................................u...........................522 InterBase Express...................................................u...................................................u523 dbExpress...................................................u...................................................u............524 DbGo (ADOExpress)...................................................u.............................................524 DataSnap ...................................................u...................................................u.............524 Wybór technologii dostępu do danych...................................................u.........................525 Podejście prototypowe ...................................................u...........................................525 Planowanie „cyklu życiowego” ...................................................u.............................526 10 C++Builder 6 dla każdego Połączenie z bazami danych ...................................................u..................................526 Tworzenie prostego formularza bazy danych ...................................................u........528 Dodawanie kolejnych kontrolek bazodanowych ...................................................u...533 Relacja ogół-szczegóły ...................................................u..........................................535 Obsługa pól rekordów ...................................................u..................................................537 Właściwości pól i komponent TField ...................................................u....................538 Edytor właściwości pól ...................................................u..........................................538 Modyfikowanie właściwości pola...................................................u..........................541 Formatowanie pól przy użyciu masek edycyjnych...................................................u543 Dostęp do wartości kolumny ...................................................u.................................544 Pola wyliczane ...................................................u...................................................u....547 Pola przeglądowe ...................................................u...................................................u549 Weryfikacja danych wejściowych ...................................................u.........................551 Zbiory danych ...................................................u...................................................u...........553 Kontrolowanie wskaźnika bieżącego rekordu ...................................................u.......554 Edycja danych...................................................u...................................................u.....557 Ograniczanie zbiorów danych...................................................u................................558 Wyszukiwanie rekordów ...................................................u.......................................560 Oznaczanie rekordów za pomocą zakładek ...................................................u...........561 Definiowanie wartości domyślnych pól...................................................u.................563 Podstawowe właściwości, metody i zdarzenia zbiorów danych...............................564 Współpraca z serwerami ...................................................u..............................................565 Autoryzacja klienta ...................................................u................................................567 Transakcje ...................................................u...................................................u...........569 Komponent ClientDataSet...................................................u............................................572 Borland Database Engine ...................................................u.............................................580 Administrator BDE ...................................................u................................................580 Instalacja BDE ...................................................u...................................................u....587 Kreator formularzy baz danych ...................................................u.............................588 Komponenty BDE...................................................u..................................................593 Funkcje BDE API ...................................................u..................................................604 ActiveX Database Objects ...................................................u...........................................605 ADO w C++Builder...................................................u...............................................606 Standardowe sterowniki ADO ...................................................u...............................610 Argumenty połączenia ...................................................u...........................................610 TADOConnetion...................................................u...................................................u.611 TADODataSet...................................................u...................................................u.....614 Excel jako baza danych...................................................u..........................................615 Dostęp do danych za pomocą technologii dbExpress ...................................................u..619 Komponenty interfejsu dbExpress...................................................u.........................620 Jak to działa w praktyce? ...................................................u.......................................621 Uzgadnianie błędów serwera ...................................................u.................................625 Rozpowszechnianie aplikacji z interfejsem dbExpress ............................................626 InterBase Express...................................................u...................................................u......627 Przegląd komponentów InterBase Express...................................................u............628 Technologia DataSnap ...................................................u.................................................634 Architektura wielowarstwowa ...................................................u...............................635 MIDAS i DataSnap ...................................................u................................................637 Rozdział 15. Budowa i wykorzystanie bibliotek DLL ............................................ 645 Nieco podstaw ...................................................u...................................................u...........645 Czym jest biblioteka DLL?...................................................u....................................646 Budowa biblioteki DLL ...................................................u.........................................647 Po co mi biblioteki DLL? ...................................................u......................................653 Spis treści 11 Korzystanie z zawartości bibliotek DLL...................................................u......................656 Ładowanie bibliotek DLL do pamięci ...................................................u...................656 Wywoływanie funkcji z bibliotek DLL ...................................................u.................657 Tworzenie biblioteki DLL...................................................u............................................658 Eksportowanie i importowanie funkcji i klas ...................................................u........659 Tajemnicze makro DLL_EXP ...................................................u...............................662 Tworzenie biblioteki DLL za pomocą składnicy obiektów......................................663 Generacja pliku biblioteki importowej ...................................................u..................667 Budowa aplikacji wykorzystującej bibliotekę DLL...................................................u.....667 Dołączanie pliku nagłówkowego biblioteki do kodu źródłowego............................668 Dołączanie biblioteki importowej do projektu ...................................................u......668 Formularze w bibliotekach DLL ...................................................u..................................669 Wywoływanie formularza z biblioteki przez aplikacje napisaną w systemie C++Builder ...................................................u........................669 Wywoływanie formularza MDI z biblioteki dynamicznej .......................................671 Wywoływanie formularza z biblioteki przez aplikację utworzoną za pomocą innego kompilatora...................................................u..........673 Umieszczanie zasobów w pliku DLL...................................................u...........................674 Utworzenie biblioteki zasobów...................................................u..............................675 Wykorzystywanie biblioteki zasobów ...................................................u...................676 Różnice pomiędzy BPL a DLL ...................................................u....................................677 Jeszcze trochę na temat DLL ...................................................u.................................677 Czym różni się pakiet od biblioteki DLL?...................................................u.............678 Podsumowanie ...................................................u...................................................u..........680 Rozdział 16. XML ............................................................................................... 681 Czym jest XML? ...................................................u...................................................u.......681 Co to są znaczniki? ...................................................u................................................682 Rozszerzalność XML-a...................................................u..........................................683 Podstawowe reguły składni XML ...................................................u................................684 Przetwarzanie dokumentów XML Interfejsy SAX i DOM.............................................686 SAX — Simple API for XML ...................................................u...............................687 DOM — Document Object Model ...................................................u........................687 Komponent XMLDocument ...................................................u........................................688 Interfejsy IDOMDocument i IXMLDocument...................................................u......689 Aplikacja Interfejsy_XMLDocument ...................................................u....................692 Obsługa błędów składni w dokumencie XML...................................................u.......696 Inne metody poruszania się po drzewie, dodawanie wezłów ...................................697 XML Data Binding Wizard...................................................u..........................................697 Korzystanie z XML Data Binding Wizard ...................................................u............700 XML Mapper...................................................u...................................................u.............704 Generowanie plików transformacji...................................................u........................706 Co dalej? ...................................................u...................................................u.............707 XMLTransform ...................................................u...................................................u.........707 Rozdział 17. Tworzenie aplikacji internetowych .................................................. 709 Co to są aplikacje internetowe?...................................................u....................................710 Rodzaje aplikacji ...................................................u...................................................u.......710 Komunikacja aplikacji klienckiej z serwerem ...................................................u.......711 Współpraca aplikacji klienckiej i aplikacji serwerowej............................................713 Aplikacje internetowe w Builderze...................................................u........................713 Aplikacje klienckie...................................................u...................................................u....713 Wykorzystywanie poczty...................................................u.......................................713 Klient ftp ...................................................u...................................................u.............723 Przeglądanie stron...................................................u..................................................725 12 C++Builder 6 dla każdego Aplikacje serwerowe ...................................................u...................................................u.727 Trochę teorii...................................................u...................................................u........728 WebBroker...................................................u...................................................u..........731 WebSnap ...................................................u...................................................u.............751 Uruchamianie aplikacji ISAPI/NSAPI/DSO ...................................................u.........762 Debugowanie aplikacji serwerowych ...................................................u....................764 Użycie usług sieciowych...................................................u..............................................766 Przykład korzystania z usług ...................................................u.................................768 Podsumowanie ...................................................u...................................................u..........772 Dodatki ...................................................9....................................773 Skorowidz....................................................................................... 775 Rozdział 13. Programowanie operacji graficznych Programowanie grafiki należy do milszych elementów rzemiosła programistycznego. Niniejszy rozdział stanowi wprowadzenie do programowania operacji graficznych systemie C++Builder. Większa część rozdziału poświęcona będzie omówieniu klas 6 CPXCU i 6$KVOCR. Na początek przedstawimy kilka elementarnych metod prezentacji grafiki w aplikacjach, tworzonych w systemie C++Builder, natomiast w dalszej części rozdziału powiemy kilka słów o interfejsie GDI (Graphics Device Interface) i jego składnikach. Niejako po drodze zapoznasz się z różnorodnymi metodami wyświetla- nia linii, figur geometrycznych i map bitowych. Ostatnią część rozdziału poświęcimy wykorzystaniu map bitowych przechowywanych w pamięci.e Grafika minimalnym kosztem Programowanie grafiki bywa czasem łatwiejsze, niż przypuszczasz. Jeśli np. musisz wyświetlić na formularzu obrazek lub prostą figurę geometryczną, możesz użyć w tym celu odpowiedniego komponentu z biblioteki VCL. Zanim zatem przejdziemy do „poważ- nego” programowania, przyjrzyjmy się gotowym komponentom i możliwościom ich wykorzystania. Aby wyświetlić na formularzu prostą figurę geometryczną, możesz wykorzystać kom- ponent 5JCRG. Narysowanie figury sprowadza się w takim przypadku do umieszczenia komponentu na formularzu i odpowiedniej zmiany właściwości $TWUJ, 2GP i 5JCRG. Sposób ten pozwala na łatwe kreślenie kół, elips, kwadratów, prostokątów i prosto- kątów z zaokrąglonymi wierzchołkami. Kolor tła figury można modyfikować poprzez zmianę właściwości $TWUJ, natomiast za pomocą właściwości 2GP można zmieniać kolor i grubość linii tworzącej kontur figury. Prezentację mapy bitowej na formularzu umożliwia komponent +OCIG. Komponent ten jest idealnym narzędziem do realizacji wielu operacji graficznych, takich jak np. umiesz- czenie wzoru tła na formularzu. Wyświetlana przez komponent +OCIG mapa bitowa 490 Część III definiowana jest poprzez właściwość 2KEVWTG typu 62KEVWTG. W fazie projektowania ustalenie, jaka bitmapa będzie przez komponent wyświetlana, dokonuje się za pomocą inspektora obiektów, natomiast w trakcie pracy progreamu można to zrobić np. tak: +OCIGŌ 2KEVWTGŌ $KVOCRŌ .QCF(TQO(KNG DMIPFDOR . Właściwość 5VTGVEJ kontroluje skalowanie mapy bitowej wyświetlanej przez komponent, natomiast za pomocą właściwości #WVQ5KG możesz nakazać komponentowi dostosowa- nie swoich rozmiarów do wielkości bitmapy. Właściwość GPVGT umożliwia wyśrod- kowanie mapy bitowej w obrębie komponentu. Na koniec tego punktu warto jeszcze wspomnieć o komponencie 2CKPV$QZ, umożliwia- jącym rysowanie na ustalonym obszarze (wycinku) formularza. Jedyną godną uwagi właściwością komponentu 2CKPV$QZ jest właściwość CPXCU, będąca obiektem klasy 6 CPXCU. Ponieważ to właśnie 6 CPXCU jest klasą umożliwiającą wykonywanie większości operacji graficznych w aplikacjach, tworzonych w systemie C++Builder, jej omówieniu poświęcimy kilka kolejnych stron. Konteksty urządzeń i klasa TCanvas Obszar (ang. canvas — płótno), na którym rysowane są obiekty, określany jest w termi- nologii Windows mianem kontekstu urządzenia (ang. device context). Pojęcie to poja- wiło się już w rozdziale 13. podczas omawiania operacji drukowania. Wykorzystując konteksty urządzeń, możesz realizować operacje graficzene m.in.:  w obszarze roboczym lub ramce okienka,  na pulpicie Windows,  w pamięci,  na drukarce i innych urządzeniach graficznych. Konteksty urządzeń związane są również z innymi elementami systemu, takimi jak np. menu, ale zagadnienia te są dość złożone, toteż nie będziemy się nimi zajmować, ograniczając się do elementów wymienionych powyżej. Wykorzystanie kontekstów urządzeń na poziomie Windows API est dość skompliko- wane. Na początek takiej operacji musisz uzyskać od systemu aktualny uchwyt kon- tekstu (ang. device context handle). W następnej kolejności należy wybrać odpowiedni obiekt (czyli narzędzie do rysowania), jak np. pióro (ang. pen), pędzel (ang. brush) czy czcionkę (ang. font), po czym nareszcie można przystąpić do rysowania. Po zakoń- czeniu kreślenia musisz usunąć kontekst urządzenia, jednak przedtem konieczne jest usunięcie wszystkich wybranych uprzednio obiektów. Niedopełnienie tego obowiązku spowoduje „zjadanie” pamięci przez aplikację. Jak widać, stosowanie opisanego procesu jest co najmniej kłopotliwe. Na szczęście biblioteka VCL daje programiście do dyspozycji klasę 6 CPXCU, radykalnie ułatwiającą korzystanie z kontekstów urządzeń. Aby nie być gołosłownym, pokażmy, Rozdział 13. ♦ Programowanie operacji graficznych 491 jak wygląda kod wykreślający w obszarze danego okna czerwone koło o niebieskim konturze. Najpierw wersja wykorzystująca wywołania Winedows API: * JFE)GV *CPFNG  *$475*J$TWUJ TGCVG5QNKF$TWUJ 4)$   *2 0J2GP TGCVG2GP 25A51.+ 4)$   *$475*QNF$TWUJ5GNGEV1DLGEV JFEJ$TWUJ  *2 0QNF2GP5GNGEV1DLGEV JFEJ2GP  NNKRUG JFE  5GNGEV1DLGEV JFEQNF$TWUJ  5GNGEV1DLGEV JFEQNF2GP  GNGVG1DLGEV J2GP  GNGVG1DLGEV J$TWUJ  4GNGCUG *CPFNGJFE  Powyższy kod wygląda jeszcze dość prosto, ale łatwo tutaj zapomnieć np. o usunięciu utworzonych uprzednio obiektów, czego rezultatem będzie pochłanianie zasobów sys- temowych przez naszą aplikację. Porównajmy powyższy fragment z jego VCL-owym odpowiednikiem: CPXCUŌ $TWUJŌ QNQTEN4GF CPXCUŌ 2GPŌ QNQTEN$NWG CPXCUŌ NNKRUG   Kod ten jest nie tylko czytelniejszy, ale także bardziej odporny na błędy — klasa 6 CPXCU sama dba o usunięcie przydzielonych sobie zasobów, zwalniając z tego obowiązku programistę. Użycie klas biblioteki VCL jest więc nie tylko prostsze, ale i bezpiecz- niejsze niż wykorzystanie wywołań Windows API. Klasa 6 CPXCU, reprezentująca obszar, na którym tworzony jest rysunek (inaczej płótno), posiada sporo właściwości i metod. Kilka z nich omówimy dokładniej w dalszej części rozdziału. Podstawowe właściwości klasy 6 CPXCU zestawiono w tabeli 13.1, natomiast metody — w tabeli 13.2. Tabela 13.1. Podstawowe właściwości klasy TCanvas Właściwość Przeznaczenie $TWUJ NKR4GEV QR[/QFG (QPV *CPFNG 2GP 2GP2QU 2KZGNU Określa kolor i wzór wypełnienia kreślonych figur Określa prostokąt ograniczający obszar rysowania. Wiszystkie rysowane figury będą obcinane na granicach tego obszaru. Właściwośći ta może być wyłącznie odczytywana Definiuje operacje bitowe wykorzystywane w trakcie irysowania (kopiowanie, inwersja bitów, suma modulo 2 itd.) Określa krój i parametry czcionki używanej do wyprowiadzania tekstu Zawiera uchwyt kontekstu urządzenia związanego z płiótnem Definiuje kolor i styl linii kreślonych na płótnie Zawiera współrzędne aktualnego położenia pióra kreśliącego rysunek Oznacza tablicę pikseli tworzących płótno 492 Część III Tabela 13.2. Podstawowe metody klasy TCanvas Metoda #TE $TWUJ QR[ QR[4GEV TCY NNKRUG (NQQF(KNN .KPG6Q /QXG6Q 2KG 2QN[IQP 2QN[NKPG 4GEVCPING 4QWPF4GEV 5VTGVEJ TCY 6GZV ZVGPV 6GZV*GKIJV 6GZV1WV 6GZV4GEV Przeznaczenie Kreśli łuk okręgu, używając aktualnie wybranego piórai Wyświetla mapę bitową o przezroczystym tle Kopiuje fragment innego płótna na płótno z którym praicujemy Kopiuje fragment mapy bitowej na płótno Kreśli elipsę, używając aktualnie wybranego pióra i piędzla (wzor
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

C++ Builder 6 dla każdego
Autor:

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ą: