Kylix. Tworzenie aplikacji - Helion
Tytuł oryginału: Building Kylix Applications
Tłumaczenie: Daniel Kaczmarek, Piotr Pilch, Anna Czerwińska, Piotr Tęczyński
ISBN: 83-7197-651-8
stron: 720, Format: B5, okładka: miękka
Data wydania: 2002-10-22
Księgarnia: Helion
Cena książki: 99,00 zł
Kylix to jedno z najbardziej oczekiwanych narzędzi programistycznych ostatnich lat. Programistom piszącym programy dla systemu Linux brakowało narzędzia RAD, pozwalającego na szybkie, wizualne projektowanie i tworzenie gotowych aplikacje. Stąd pojawienie się "Delphi dla Linuksa", jak można nazwać Kylix, przyjęte zostało z dużym zainteresowaniem. Dzięki Kyliksowi można nie tylko tworzyć potężne serwery dla Linuksa, ale też aplikacje posiadające graficzny interfejs użytkownika.
Książka "Kylix. Tworzenie aplikacji" jest przewodnikiem dla programisty, w którym znany ekspert w dziedzinie Kyliksa, Cary Jensen, prezentuje wszystko, co niezbędne, by w pełni zapanować nad tym najnowszym narzędziem typu RAD -- począwszy od podstawowych czynności programistycznych, a skończywszy na wdrażaniu aplikacji przeznaczonych dla sieci WWW. Nauczysz się więc:
- Posługiwać się zintegrowanym środowiskiem programistycznym Kyliksa
- Konfigurować i rozszerzać możliwości edytora kodu źródłowego
- Usuwać błędy z programów
- Wykorzystywać biblioteki CLX
- Tworzyć aplikacje bazodanowe w Kyliksie
- Pisać aplikacje internetowe działające po stronie serwera
- Tworzyć własne serwery internetowe
Osoby które kupowały "Kylix. Tworzenie aplikacji", wybierały także:
- Superinteligencja. Scenariusze, strategie, zagro 66,67 zł, (14,00 zł -79%)
- Poradnik design thinking - czyli jak wykorzysta 48,28 zł, (14,00 zł -71%)
- Kosymulacja. Elastyczne projektowanie i symulacja wielodomenowa 38,39 zł, (11,90 zł -69%)
- F# 4.0 dla zaawansowanych. Wydanie IV 96,45 zł, (29,90 zł -69%)
- Systemy reaktywne. Wzorce projektowe i ich stosowanie 65,31 zł, (20,90 zł -68%)
Spis treści
Kylix. Tworzenie aplikacji -- spis treści
O Autorach (13)
Wprowadzenie (15)
Część I Tworzenie aplikacji w Kyliksie (19)
Rozdział 1. Wprowadzenie do Kyliksa (21)
- Przegląd Kyliksa (21)
- Tworzenie aplikacji przy użyciu komponentów (22)
- Kylix generuje kod źródłowy (25)
- Kylix jako środowisko programowania sterowane zdarzeniami (27)
- Programowanie zorientowane obiektowo (28)
- Open Tools API w Kyliksie (28)
- Czym jest Rapid Application Development? (29)
- Kylix dla programistów Delphi (29)
- Kylix i Linux (31)
- Przegląd CLX (32)
- Pułapki i sztuczki (34)
Rozdział 2. Tworzenie aplikacji (39)
- Tworzenie najprostszej aplikacji (39)
- Tworzenie nowego projektu (40)
- Umieszczanie i konfigurowanie komponentów (43)
- Procedury obsługi zdarzeń (45)
- Dodawanie menu (48)
- Wykorzystanie dodatkowych form i okien dialogowych (51)
- Uruchamianie projektu z wiersza poleceń (62)
- Pliki projektu Kyliksa (64)
- Plik źródłowy projektu (64)
- Moduł (65)
- Plik formy (66)
- Moduł skompilowany (66)
- Plik wykonywalny (66)
- Pliki zmodyfikowane (67)
- Plik ustawień projektu (67)
- Plik ustawień kompilatora projektu (67)
Rozdział 3. Architektura RAD Kyliksa (69)
- Wizualne dziedziczenie form (69)
- Zmiana właściwości obiektów dziedziczonych (73)
- Pokrywanie procedur obsługi zdarzeń w obiektach potomnych (73)
- Dziedziczenie form z projektu bieżącego (76)
- Definiowanie współdzielonego repozytorium obiektów (77)
- Projektowanie list akcji (77)
- Praca z ramkami (81)
- Tworzenie ramki (81)
- Wykorzystanie ramek (83)
- Pokrywanie właściwości komponentów osadzonych na kontenerze (84)
- Procedury obsługi zdarzeń obiektów w ramce (86)
- Pokrywanie procedur obsługi zdarzeń obiektów w ramce (88)
- Ramki i zasoby (89)
- Uproszczenie pracy z ramkami (91)
- Przekształcanie ramek w komponenty (93)
- Praca z modułami danych (94)
- Współużytkowanie komponentów z modułami danych (95)
- Ograniczenia modułów danych (96)
Rozdział 4. Wykorzystanie i konfiguracja edytora (99)
- Zbiory odwzorowań klawiszy edytora (100)
- Uzyskiwanie pomocy na temat odwzorowań klawiszy (101)
- Wybrane kombinacje klawiszy edytora (102)
- Nagrywanie makr klawiszy (102)
- Wstawianie i usuwanie wcięć w blokach tekstu (103)
- Wykorzystanie zakładek (104)
- Wykorzystanie pozycji listy To-Do jako zakładek (105)
- Nawigacja w klasie (106)
- Przeglądanie kodu (107)
- Uzupełnianie klas (108)
- Przeszukiwanie przyrostowe (110)
- Wyszukiwanie odpowiadających znaków ograniczających (111)
- Operacje na kolumnach tekstu (112)
- Code Insight (112)
- Uzupełnianie kodu (113)
- Parametry kodu (115)
- Wyznaczanie wartości wyrażenia (115)
- Podgląd symbolu (116)
- Szablony kodu (116)
- Wiązania klawiszy edytora (119)
- Deklaracja klasy wiązania klawiszy (120)
- Implementacja klasy wiązania klawiszy (121)
- Deklaracja i implementacja procedury Register (126)
- Tworzenie i instalacja nowego pakietu fazy projektowania (127)
Rozdział 5. Usuwanie błędów z aplikacji Kyliksa (131)
- Zintegrowany debugger (131)
- Wyznaczanie wartości wyrażeń (132)
- Okna debuggera (133)
- Menu Run (139)
- Wyłączanie debuggera (140)
- Ignorowanie wyjątków przez debugger (142)
- Ignorowanie określonych typów wyjątków przez debugger (142)
- Punkty kontrolne (144)
- Punkty kontrolne kodu źródłowego (144)
- Pozostałe typy punktów kontrolnych (151)
- Zapamiętywanie punktów kontrolnych między sesjami Kyliksa (154)
Część II Aplikacje bazodanowe (155)
Rozdział 6. Aplikacje bazodanowe (157)
- Podstawy baz danych (158)
- Bazy danych i tabele (158)
- Bazy danych i SQL (160)
- Inne zagadnienia związane z bazami danych (160)
- O bazie danych używanej w tej książce (161)
- Tworzenie bazy danych i tabel (162)
- Przegląd sposobów budowania baz danych w Kyliksie (162)
- Typy aplikacji bazodanowych obsługiwanych w Kyliksie (163)
- Komponenty używane w aplikacjach bazodanowych (172)
- Kontrolki bazodanowe (173)
- Komponenty dostępu do danych (174)
- Komponenty dbExpress (176)
- Przegląd dbExpress (178)
- Konfiguracja dbExpress (179)
- Tworzenie prostej aplikacji bazodanowej (185)
Rozdział 7. Kontrolki bazodanowe (191)
- Konfiguracja kontrolek bazodanowych (192)
- "Kolejność tabulacji" (Tab Order) i kontrolki wizualne (193)
- Zmiana "kolejności tabulacji" (194)
- Konfiguracja kontrolek bazodanowych Kyliksa (195)
- Przygotowanie szablonu komponentów danych (196)
- Zastosowanie komponentu DBGrid (197)
- Zastosowanie komponentu DBNavigator (219)
- Zastosowanie komponentu DBText (221)
- Zastosowanie komponentu DBEdit (222)
- Zastosowania komponentu DBMemo (225)
- Zastosowanie komponentu DBListBox (226)
- Zastosowanie komponentu DBComboBox (229)
- Zastosowanie komponentu DBCheckBox (230)
- Zastosowanie komponentu DBRadioGroup (231)
- Zastosowanie komponentów DBLookupListBox i DBLookupComboBox (233)
Rozdział 8. Klasa TField (237)
- Przegląd pól (238)
- Dostęp do pól (238)
- Pola stałe (243)
- Tworzenie pól stałych (244)
- Konfiguracja pól stałych (245)
- Praca z polami (253)
- Odczyt i zapis pól zestawu danych (254)
- Obsługa zdarzenia OnValidate (257)
- Dostęp do pola - wydajność i zarządzanie (258)
- Tworzenie nowych pól stałych (262)
- Tworzenie pola obliczeniowego (263)
- Tworzenie pól wyszukiwania (265)
- Definiowanie pól agregacji (267)
Rozdział 9. Jednokierunkowe zestawy danych (271)
- Jednokierunkowe zestawy danych (272)
- Połączenie jednokierunkowych zestawów danych z zestawami danych typu in-memory (272)
- Zastosowanie jednokierunkowych zestawów danych (273)
- Konfigurowanie komponentu SQLConnection (273)
- Jednokierunkowe zestawy danych zwracające zestawy rekordów (274)
- Jednokierunkowe zestawy danych niezwracające wynikowych zestawów (278)
- Zastosowanie zapytań parametryzowanych (279)
- Tworzenie powiązań master-detail (282)
- Tworzenie powiązań master-detail z zapytaniami dołączanymi (284)
- Przygotowanie zapytań jednokierunkowych (286)
- Wykonywanie procedur zapamiętanych (288)
- Procedury zapamiętane zwracające pojedyncze wartości (289)
- Procedury zapamiętane zwracające zestawy danych (291)
Rozdział 10. Zestawy danych typu in-memory (295)
- Zestawy danych typu in-memory (296)
- Tworzenie tabel i indeksów typu in-memory (296)
- Definiowanie struktury komponentu ClientDataSet po uruchomieniu aplikacji (303)
- Zapis danych i anulowanie zmian (305)
- Zastosowanie indeksów do sortowania (307)
- Zastosowanie zakresów (312)
- Zastosowanie metody ApplyRange (314)
- Filtrowanie (315)
- Filtrowanie przy użyciu właściwości (316)
- Właściwość FilterOptions (317)
- Obsługa zdarzenia OnFilterRecord (318)
- Zastosowanie filtra do nawigacji po danych (319)
- Wyszukiwanie danych (319)
- Zastosowanie metod FindKey oraz FindNearest (320)
- Zastosowanie metod GotoKey oraz GotoNearest (322)
- Zastosowanie metod Locate oraz Lookup (322)
- Walidacja na poziomie rekordu (328)
- Wykorzystanie zdarzenia BeforePost (328)
Rozdział 11. Zaawansowane techniki bazodanowe (331)
- Sztuka aktualizacji danych (331)
- Omówienie edycji w zestawach danych typu in-memory (332)
- Filtrowanie oparte na statusie rekordu (338)
- Określanie statusu rekordu (341)
- Usuwanie zmian z rejestru zmian (341)
- Odświeżanie rekordów (345)
- Dostosowywanie operacji aktualizacji (348)
- Kontrola operacji aktualizacji przy użyciu właściwości komponentu DataSetProvider (348)
- Programowa obsługa operacji aktualizacji (353)
- Obsługa błędów operacji aktualizacji (358)
- Dodatkowe techniki (361)
- Zastosowanie komponentu SQLMonitor (361)
- Tworzenie kopii kursora (362)
- Aktualizowanie tylko jednego rekordu (363)
Rozdział 12. Tworzenie sterowników dbExpress (367)
- Biblioteki producentów serwerów bazodanowych (368)
- Uruchomienie środowiska (369)
- Połączenie z serwerem bazodanowym (369)
- Konfiguracja uchwytu polecenia (369)
- Przygotowanie polecenia SQL (370)
- Przekazywanie parametrów startowych (370)
- Wykonywanie polecenia SQL (371)
- Wiązanie bufora rekordu (371)
- Ładowanie rekordów (372)
- Zwalnianie uchwytów oraz rozłączanie (373)
- Implementacja podstawowych klas dbExpress (373)
- Klasa SQLDriver (374)
- Klasa SQLConnection (376)
- Klasa SQLCommand (382)
- Klasa SQLCursor (398)
- Klasa SQLMetaData (403)
- Pliki źródłowe interfejsu dbExpress (403)
Część III Zaawansowane możliwości Kyliksa (405)
Rozdział 13. Aplikacje wielowątkowe (407)
- Zalety wielowątkowości (409)
- Tworzenie aplikacji wielowątkowych (411)
- Używanie klasy TThread (411)
- Synchronizacja wątków (425)
- Używanie metody Synchronize (425)
- Praca z sekcjami krytycznymi (426)
- Czekanie na wątek (429)
- Używanie klasy TEvent (433)
- Blokowanie obiektów (434)
- Inne techniki programowania wielowątkowego (435)
- Zmienne lokalne wątku (435)
- Testowanie wątków (436)
- Wielowątkowy dostęp do baz danych (437)
Rozdział 14. Biblioteki współdzielone (439)
- Omówienie bibliotek współdzielonych (440)
- Budowanie przykładowej biblioteki współdzielonej (441)
- Pisanie funkcji eksportowanych (443)
- Kontrola nazwy biblioteki współdzielonej (444)
- Ładowanie procedur z bibliotek współdzielonych (449)
- Umiejscawianie bibliotek współdzielonych (451)
- Tworzenie modułów importu dla bibliotek współdzielonych (453)
- Dynamiczne ładowanie bibliotek współdzielonych (454)
- Deklarowanie zmiennych (456)
- Dynamiczne ładowanie bibliotek współdzielonych (457)
- Uzyskiwanie adresu funkcji lub procedury (457)
- Zwalnianie biblioteki współdzielonej (458)
- Testowanie bibliotek współdzielonych (460)
- Testowanie przy użyciu aplikacji macierzystej (460)
- Testowanie przy użyciu grupy projektu (462)
- Sekcje initialization i finalization biblioteki współdzielonej (463)
- Definiowanie kodu inicjującego (463)
- Definiowanie procedury kończącej działanie (463)
Rozdział 15. Tworzenie komponentów (465)
- Przegląd obiektów (466)
- Od rekordu do klasy (466)
- Hermetyzacja i widoczność składowych (470)
- Definiowanie interfejsu fazy wykonania (471)
- Dziedziczenie i polimorfizm (474)
- Wprowadzenie do tworzenia komponentów (477)
- Wskazówki dotyczące projektowania komponentów (478)
- Przykładowy prosty komponent: definiowanie nowych wartości domyślnych właściwości (479)
- Wykorzystanie kreatora Component (480)
- Pokrywanie metody (482)
- Implementacja pokrywanego konstruktora (483)
- Testowanie nowego komponentu (485)
- Instalowanie komponentu (487)
- Tworzenie pakietu fazy projektowania (488)
- Konfigurowanie pakietu (490)
- Przykład z właściwościami (491)
- Definiowanie pól obiektu (492)
- Definiowanie właściwości (493)
- Definiowanie metod (493)
- Pokrywanie istniejących metod (495)
- Implementacja metod pokrywanych (496)
- Tworzenie zdarzeń (497)
- Końcowe poprawki komponentu: zwracanie uwagi na szczegóły (499)
- Zagadnienie dodatkowe: zwiększanie widoczności właściwości (506)
- Przykład zwiększania widoczności właściwości (508)
Rozdział 16. Wykorzystanie interfejsów (511)
- Przegląd interfejsów (512)
- Argumenty za interfejsami (514)
- Deklarowanie interfejsu (516)
- Implementowanie interfejsów (518)
- Interfejsy i rozdzielanie nazw metod (526)
- Implementowanie interfejsu przez delegowanie (527)
- Uwagi na temat implementowania interfejsu przez delegowanie (529)
- Przykład interfejsu - dostarczyciel danych (530)
Część IV Technologie internetowe (537)
Rozdział 17. Przegląd technologii internetowych (539)
- Protokoły, technologie i pojęcia (540)
- Dokumenty RFC (540)
- Adresy IP (540)
- Nazwy domen (541)
- TCP/IP i UDP (542)
- Gniazda i porty (543)
- SGML (543)
- HTML (544)
- FTP (545)
- HTTP (545)
- MIME (546)
- World Wide Web (546)
- Serwery WWW (547)
- Przeglądarki internetowe (547)
- Apache (547)
- CGI i biblioteki DSO (548)
- Server Side Includes (SSI) (549)
- Przegląd rozszerzeń serwerów WWW (550)
- Krótkie omówienie interakcji w sieci WWW (551)
- Części adresu URL (552)
- Typy wywołań (554)
- Praca z HTML (555)
- Przegląd HTML (556)
- Wysyłanie danych do rozszerzeń serwera WWW przy użyciu HTML (557)
- Znacznik obrazu (558)
- Znacznik zakotwiczenia (559)
- Formularze HTML (560)
- Kompilacja serwera Apache wykorzystującego biblioteki DSO (565)
Rozdział 18. Tworzenie rozszerzeń serwera Apache przy użyciu technologii WebBroker (569)
- Tworzenie prostego rozszerzenia CGI (570)
- Definiowanie akcji (571)
- Instalacja i użytkowanie rozszerzenia CGI (575)
- Dodawanie zmiennej środowiskowej LD_LIBRARY_PATH (576)
- Zapisywanie aplikacji CGI do katalogu ScriptAlias (578)
- Uruchamianie aplikacji CGI za pośrednictwem przeglądarki (579)
- Tworzenie i konfiguracja prostego rozszerzenia DSO (581)
- Tworzenie projektu DSO (581)
- Producenci (583)
- Instalacja i użytkowanie biblioteki DSO (587)
- Zapisywanie biblioteki DSO do katalogu serwera Apache (587)
- Dodawanie DSO do pliku httpd.conf (588)
- Zatrzymywanie i uruchamianie serwera Apache (589)
- Uruchamianie biblioteki DSO za pośrednictwem przeglądarki (589)
Rozdział 19. Zaawansowane zagadnienia dotyczące Web Broker (593)
- Pozyskiwanie danych z formularzy (594)
- Tworzenie internetowej aplikacji bazodanowej (598)
- Rozszerzenia serwera WWW i współbieżność (598)
- Obiekty dostarczające dane (600)
- Formatowanie komórek komponentów TableProducer (605)
- Cookies i obiekt WebRequest (606)
- Pobieranie i ustawianie cookies (607)
- Wykorzystanie cookies i przekierowania (609)
- Zawartość obiektu WebRequest (612)
- Usuwanie błędów z rozszerzeń serwera WWW (615)
- Konwersja projektu CGI do projektu DSO (615)
- Usuwanie błędów z projektu DSO (616)
Rozdział 20. Przegląd Internet Direct (621)
- Internet Direct (621)
- Komponenty Internet Direct (624)
- Komponenty klientów Indy (625)
- Komponenty serwerów Indy (628)
- Pozostałe komponenty Indy (631)
- Pobieranie uaktualnionych komponentów Internet Direct (633)
- Wykorzystanie komponentów Internet Direct (634)
- Działanie klientów Internet Direct (634)
- Wykorzystanie TIdAntiFreeze (636)
- Działanie serwerów Internet Direct (636)
- Wykorzystanie menedżera wątków (638)
- Licencja Internet Direct (638)
- Zmodyfikowana licencja BSD dla Indy (639)
- Licencja Indy MPL (Mozilla Public License) (639)
- Spełnianie wymagań licencji Indy w aplikacjach Kyliksa (640)
- Pomoc techniczna (640)
Rozdział 21. Wykorzystanie Internet Direct (643)
- Co było pierwsze: klient czy serwer? (643)
- Wykorzystanie Telnetu do testowania serwera tekstowego (644)
- Przykład prostego serwera (645)
- TIdTCPServer i wątki (648)
- Wywołania blokujące i współbieżność (649)
- OnExecute i wyjątki (650)
- Przykład serwera bazy danych (651)
- Tworzenie serwera bazy danych (651)
- Tworzenie klienta bazy danych (654)
- Obsługa wyjątków w aplikacjach klienckich (656)
- Rozpoznawanie zamknięcia połączenia przez klienta (657)
- Testowanie serwera za pomocą wielowątkowego klienta (657)
- Wysyłanie poczty elektronicznej za pomocą TIdSMTP (661)
- Tworzenie wiadomości (662)
- Tworzenie klienta SMTP (663)
- Tworzenie klienta w wątku (663)
- Tworzenie egzemplarza wątku klienta (665)
- Uaktualnianie interfejsu użytkownika przez wątek (666)
- Serwer i klient kodów pocztowych (668)
- Definiowanie protokołu kodów pocztowych (669)
- Serwer kodów pocztowych (670)
- Klient kodów pocztowych (672)
- Tworzenie serwera konsoli (675)
- Tworzenie przykładowego serwera konsoli (675)
- Testowanie tekstowego serwera konsoli (677)
Skorowidz (679)