Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00117 008644 10442356 na godz. na dobę w sumie
Kylix. Vademecum profesjonalisty - książka
Kylix. Vademecum profesjonalisty - książka
Autor: , , , Liczba stron: 808
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-701-8 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> inne - programowanie
Porównaj ceny (książka, ebook, audiobook).
Stworzenie przez firmę Borland Kyliksa, linuksowego odpowiednika popularnego Delphi, to jeden z kamieni milowych w rozwoju tego systemu operacyjnego. Programiści piszący aplikacje działające w systemie Linux otrzymali zintegrowane środowisko typu RAD, oparte na sprawdzonym języku ObjectPascal, umożliwiające 'programowanie wizualne'. Ich praca stała się odtąd szybsza i bardziej efektywna.

Książka 'Kylix. Vademecum profesjonalisty' to kompletny przewodnik po Kyliksie zawierający zarówno informacje o środowisku programistycznym, jak też pełny opis języka ObjectPascal i bibliotek CLX. Nie zabrakło również prezentacji systemu Linux i jego specyficznych właściwości, która może przydać się osobom znającym już Delphi i rozpoczynającym pracę w nowym systemie operacyjnym.

Książka podzielona jest na pięć części:

  1. Prezentacja Delphi i Linuksa -- podstawy środowiska RAD, opis ObjectPascala, programowanie obiektowe, środowisko X-Window
  2. Opis biblioteki CLX -- architektura CLX, palety, tworzenie komponentów, programowanie grafiki w Kyliksie
  3. Programowanie systemowe w Linuksie -- aplikacje konsolowe, procesy i wątki
  4. Programowanie bazodanowe w Kyliksie -- DataCLX, sterowniki dbExpress, tworzenie przykładowej aplikacji
  5. Tworzenie aplikacji WWW -- serwer Apache, komponenty WebBroker
Niezależnie od tego, czy znasz już Delphi i chcesz przenieść swoje umiejętności do środowiska Linux, czy też przeciwnie, znasz dobrze Linuksa i pragniesz szybko tworzyć zaawansowane aplikacje, znalazłeś właśnie właściwy podręcznik.
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 Kylix. Vademecum profesjonalisty Autorzy: Charles Calvert, Marjorie Calvert, John Kaster, Bob Swart T³umaczenie: Jakub Mirek (rozdz. 1 – 10, 12 – 21), Andrzej Gra¿yñski (rozdz. 11) ISBN: 83-7197-701-8 Tytu³ orygina³u: Kylix Developer Format: B5, stron: 808 Stworzenie przez firmê Borland Kyliksa, linuksowego odpowiednika popularnego Delphi, to jeden z kamieni milowych w rozwoju tego systemu operacyjnego. Programiġci pisz¹cy aplikacje dzia³aj¹ce w systemie Linux otrzymali zintegrowane ġrodowisko typu RAD, oparte na sprawdzonym jêzyku ObjectPascal, umo¿liwiaj¹ce „programowanie wizualne”. Ich praca sta³a siê odt¹d szybsza i bardziej efektywna. Ksi¹¿ka „Kylix. Vademecum profesjonalisty” to kompletny przewodnik po Kyliksie zawieraj¹cy zarówno informacje o ġrodowisku programistycznym, jak te¿ pe³ny opis jêzyka ObjectPascal i bibliotek CLX. Nie zabrak³o równie¿ prezentacji systemu Linux i jego specyficznych w³aġciwoġci, która mo¿e przydaæ siê osobom znaj¹cym ju¿ Delphi i rozpoczynaj¹cym pracê w nowym systemie operacyjnym. Ksi¹¿ka podzielona jest na piêæ czêġci: 1. Prezentacja Delphi i Linuksa — podstawy ġrodowiska RAD, opis ObjectPascala, programowanie obiektowe, ġrodowisko X-Window 2. Opis biblioteki CLX — architektura CLX, palety, tworzenie komponentów, programowanie grafiki w Kyliksie 3. Programowanie systemowe w Linuksie — aplikacje konsolowe, procesy i w¹tki 4. Programowanie bazodanowe w Kyliksie — DataCLX, sterowniki dbExpress, tworzenie przyk³adowej aplikacji 5. Tworzenie aplikacji WWW — serwer Apache, komponenty WebBroker Niezale¿nie od tego, czy znasz ju¿ Delphi i chcesz przenieġæ swoje umiejêtnoġci do ġrodowiska Linux, czy te¿ przeciwnie, znasz dobrze Linuksa i pragniesz szybko tworzyæ zaawansowane aplikacje, znalaz³eġ w³aġnie w³aġciwy podrêcznik. 5RKUVTGħEK 1#WVQTCEJ J  2TGFOQYC J  9UVúRJJ  úħè+ 2QPCPKG GNRJKK.KPWMUC P 4QFKCđ 2TQITCOQYCPKGYKWCNPGJ  IDE Kyliksa ...................................................s...................................................s.....................33 Plan ataku ...................................................s...................................................s..................34 Pierwsze spojrzenie na IDE...................................................s..........................................35 Menu ...................................................s...................................................s................................36 Klawisze skrótów w menu...................................................s............................................36 Menu podręczne ...................................................s...................................................s........37 Dodawanie nowych narzędzi do menu...................................................s.........................37 Paski narzędzi ...................................................s...................................................s............38 Programowanie wizualne...................................................s...................................................s.39 Paleta komponentów...................................................s...................................................s..42 O pakietach ...................................................s...................................................s................43 Używanie Projektanta formularzy ...................................................s................................44 Rozmieszczanie komponentów ...................................................s....................................45 Inspektor Obiektów ...................................................s...................................................s...46 Dostrajanie Inspektora obiektów ...................................................s..................................47 Edytowanie pliku xfm ...................................................s..................................................48 Ograniczenia i zakotwiczenia...................................................s.......................................50 Porządek tabulatora ...................................................s...................................................s...52 Inspektor Obiektów i zdarzenia...................................................s....................................52 Źródło modułu Kyliksa...................................................s...................................................s....53 Interfejs modułu Kyliksa ...................................................s..............................................55 Implementacja modułu w Kyliksie...................................................s...............................57 Teatr tajemnic: Gdzie podziała się metoda FormCreate?................................................59 Pliki źródłowe Pascala ...................................................s...................................................s.....59 Pliki projektu Delphi ...................................................s...................................................s.60 Moduły.............................................s...................................................s.............................60 Punkty wejścia programów w Pascalu ...................................................s.........................61 Klauzula uses i błędne koła odwołań ...................................................s...........................62 Kompilacja w Kyliksie ...................................................s...................................................s....64 Praca z pojemnikami (Containers)...................................................s......................................65 Program PanelDesign ...................................................s...................................................s67 6 Kylix. Vademecum profesjonalisty 4QFKCđ 2úVNGTQICđúKGPKCQRGTCVQT[KTGMWTGPELC  Zdefiniowanie pojęć: instrukcja i wyrażenie ...................................................s......................77 Wyrażenia...................................................s...................................................s..................78 Instrukcje ...................................................s...................................................s...................78 Instrukcja warunku: if...................................................s...................................................s......80 Instrukcja wyboru: case ...................................................s...................................................s...82 Pętle for...................................................s...................................................s............................84 Instrukcja while...................................................s...................................................s................86 Instrukcja repeat...................................................s...................................................s...............89 Ostatnie uwagi na temat pętli i rozgałęzień...................................................s..................91 Słów kilka o operatorach ...................................................s...................................................s.91 Operator podstawienia...................................................s..................................................91 Operator dzielenia...................................................s...................................................s......91 Operatory boolowskie i logiczne...................................................s..................................92 Operatory relacji ...................................................s...................................................s........93 Pobranie adresu zmiennej...................................................s.............................................94 Operatory w arytmetyce łańcuchów i wskaźników...................................................s......94 Ostatnie uwagi na temat operatorów ...................................................s............................95 Rekurencja ...................................................s...................................................s.......................95 Silnia...................................................s...................................................s..........................96 Ciągi Fibonacciego ...................................................s...................................................s....98 Rekursywne rysowanie...................................................s.................................................99 4QFKCđ 2QFUVCYQYCUMđCFPKC2CUECNCJ  Zawartość tego rozdziału ...................................................s..................................................101 Typy całkowitoliczbowe i zmiennoprzecinkowe ...................................................s.............102 Typy porządkowe ...................................................s...................................................s....103 Procedury obsługujące liczby porządkowe ...................................................s................105 Typy wyliczeniowe...................................................s...................................................s..107 Typy zmiennoprzecinkowe...................................................s.........................................108 Łańcuchy znakowe w Pascalu ...................................................s..........................................114 Łańcuchy typu ShortString...................................................s.........................................116 Łańcuchy typu AnsiString ...................................................s..........................................117 Łańcuchy typu PChar ...................................................s.................................................120 Łańcuchy typu WideString...................................................s.........................................121 Rzutowanie typów ...................................................s...................................................s.........122 Operatory as, if i parametr Sender...................................................s..............................122 Tablice ...................................................s...................................................s...........................124 Stałe tablicowe...................................................s...................................................s.........125 Tablice dynamiczne i tablice obiektów ...................................................s......................126 Sprawdzaj swoje tablice — włącz Range Checking ...................................................s..130 Rekordy...................................................s...................................................s..........................131 Rekordy i instrukcja with ...................................................s...........................................132 Rekordy wariantowe...................................................s...................................................s132 Wskaźniki ...................................................s...................................................s......................136 Praca ze wskaźnikami do obiektów...................................................s............................138 Wskaźniki, konstruktory i destruktory ...................................................s.......................141 Metody wirtualne i dyrektywa override ...................................................s.....................142 Czego nie znajdziesz w Object Pascalu...................................................s............................143 4QFKCđ 1DKGMV[KKPVGTHGLU[ J  Model obiektu w Kyliksie...................................................s.................................................145 Gdzie zadeklarować obiekt...................................................s.........................................146 Zakres widzialności w klasie...................................................s......................................147 Zakres widzialności w klasach wzajemnie się do siebie odwołujących........................148 Spis treści 7 Deklarowanie metod...................................................s...................................................s149 Model dziedziczenia w Object Pascalu: virtual i override ............................................150 Użycie w deklaracji dyrektywy dynamic zamiast virtual..............................................151 Wywoływanie przodka przedefiniowanej metody: inherited........................................154 Dyrektywa abstract ...................................................s...................................................s..155 Dyrektywa overload ...................................................s...................................................s156 Tworzenie i zwalnianie instancji klasy...................................................s.......................157 Metody klasowe...................................................s...................................................s.......157 Interfejsy ...................................................s...................................................s........................158 Typ interface...................................................s...................................................s............160 Interfejs nie jest klasą!...................................................s................................................161 Nie można bezpośrednio implementować interfejsu...................................................s..161 Użycie klasy do zaimplementowania interfejsu ...................................................s.........162 Wywoływanie metod interfejsu...................................................s..................................165 Niszczenie interfejsów...................................................s................................................167 Wiele interfejsów w jednym obiekcie ...................................................s........................169 Klauzula wyboru metody...................................................s............................................172 Deklaracja IInterface ...................................................s..................................................173 Interfejsy w teorii...................................................s...................................................s.....177 Dlaczego warto używać interfejsów...................................................s...........................178 Pielęgnacja i uaktualnianie interfejsu ...................................................s.........................180 Typ wariantowy ...................................................s...................................................s.............181 RTTI i typy zmiennoprzecinkowe ...................................................s....................................188 Ramki...................................................s...................................................s.............................194 Tworzenie ramek ...................................................s...................................................s.....195 Wielokrotne użycie ramek...................................................s..........................................197 Kompilacja z linii poleceń ...................................................s................................................198 F[VQTKFGDWIIGT J  Edytor kodu źródłowego i inne narzędzia ...................................................s........................201 Kilka słów o edytorze i debuggerze...................................................s..................................201 Wpływanie na wizualne narzędzia z poziomu edytora .................................................202 Menedżer projektu ...................................................s...................................................s.........205 Eksplorator kodu...................................................s...................................................s......207 Dostosowywanie wyglądu eksploratora kodu ...................................................s............210 Generowanie kodu: kompletowanie klas w edytorze i eksploratorze ...........................211 Przeglądarka...................................................s...................................................s...................216 Lista To-Do...................................................s...................................................s....................218 Okna narzędziowe ...................................................s...................................................s...220 Zapamiętanie pulpitu i pulpitu śledzenia...................................................s....................222 „Magiczne” narzędzia: Code Insight ...................................................s................................222 „Cud” kompletowania kodu ...................................................s.......................................223 „Cud” wglądu — Parameter Insight...................................................s...........................224 Code Insight: przeglądanie swojego kodu...................................................s..................225 Stosowanie szablonów kodu zwiększa szybkość pisania programów...........................226 Używanie debuggera...................................................s...................................................s......228 Krokowe przechodzenie kodu ...................................................s....................................229 Kod, z którym debugger sobie nie poradzi: optymalizacje ...........................................231 Kod, przez który nie można przejść: Konsolidator ...................................................s....232 Podglądanie kodu w oknie Watch List ...................................................s.......................233 Badanie zmiennej ...................................................s...................................................s....234 Praca z punktami wstrzymania ...................................................s...................................235 Używanie wyjątków do ulepszenia swojego kodu ...................................................s...........237 Deklarowanie własnych klas wyjątków ...................................................s.....................238 Klauzula finally i ponowne zgłaszanie wyjątku ...................................................s.........239 4QFKCđ 8 Kylix. Vademecum profesjonalisty Używanie okna CPU ...................................................s..................................................240 System pomocy Kyliksa ...................................................s.............................................242 Elf Debug Server ...................................................s...................................................s...........243 Usługi w module DebugHelp ...................................................s.....................................254 Dane wyjściowe z modułu DebugHelp ...................................................s......................255 Wysyłanie informacji do pliku ...................................................s...................................256 Wysyłanie informacji do serwera HTTP ...................................................s....................257 Odbieranie informacji HTTP na serwerze...................................................s..................258 Pole listy typu owner draw ...................................................s.........................................259 4QFKCđ 2QPCPKGħTQFQYKUMC.KPWMUC J  Środowisko systemu Linux w skrócie ...................................................s..............................262 Środowisko graficzne w Linuksie...................................................s.....................................262 Anatomia środowiska graficznego ...................................................s.............................264 Struktura systemu X Window...................................................s...........................................265 Historia systemu X Window...................................................s.......................................265 Nazwa systemu X Window ...................................................s........................................265 Czym jest system X Window?...................................................s....................................265 Sieć i model X klienta/serwera...................................................s...................................266 Wąski kanał pomiędzy X serwerem a X klientem ...................................................s.....266 Podłączanie się do zdalnego serwera...................................................s..........................267 Programowanie pod X w Kyliksie...................................................s....................................268 Program typu Hello World w X ...................................................s.................................270 Tworzenie głównego okna za pomocą XCreateWindow ..............................................277 Kaskadowy porządek okien...................................................s........................................283 Tworzenie kontekstu grafiki...................................................s.......................................283 Pętla zdarzeń...................................................s...................................................s............284 Podsumowanie dotyczące pisania programów w X ...................................................s...286 Menedżery okien...................................................s...................................................s............287 Po co stworzono menedżery okien ...................................................s.............................287 Potęga menedżerów okien ...................................................s..........................................287 Nazewnictwo menedżerów okien...................................................s...............................288 Biblioteki obiektów graficznych...................................................s.......................................288 Kontrolki, komponenty i widgety...................................................s...............................288 Kilka słów o środowiskach graficznych ...................................................s...........................289 Środowisko KDE...................................................s...................................................s.....289 Środowisko GNOME ...................................................s.................................................289 úħè++ .:P 4QFKCđ #TEJKVGMVWTC .:KRTQITCOQYCPKGYKWCNPG   Qt i CLX ...................................................s...................................................s........................294 FreeCLX ...................................................s...................................................s..................297 Qt i zdarzenia ...................................................s...................................................s.................298 Komunikaty w CLX ...................................................s...................................................s299 Sygnały i odbiorniki w Qt ...................................................s..........................................301 Obiekt aplikacji Qt i pętla zdarzeń ...................................................s.............................303 Wywoływanie „surowego” kodu Qt w Object Pascalu .................................................304 Program Slider w CLX ...................................................s...................................................s..306 CLX, Qt i obiekt haka...................................................s...................................................s....307 Metoda EventFilter ...................................................s...................................................s..311 Praca ze stylami ...................................................s...................................................s.............317 Praca z zasobami...................................................s...................................................s............320 Zasoby łańcuchów znakowych...................................................s...................................321 Spis treści 9 Tworzenie nieprostokątnych formularzy ...................................................s..........................322 Dziedziczenie formularzy...................................................s...........................................323 Przedefiniowanie inicjalizacji widgetu...................................................s.......................325 Rysowanie kształtu formularza ...................................................s..................................329 4QFKCđ 2CMKGV[KMQFYURÎđFKGNQP[ J  Strona teoretyczna architektury komponentów ...................................................s................331 Tworzenie komponentów potomnych ...................................................s..............................333 Zapisywanie owoców swojej pracy...................................................s............................338 Określanie cech komponentu...................................................s......................................338 Testowanie komponentu...................................................s.............................................340 Pakiety: umieszczanie komponentu na palecie...................................................s.................341 Czym jest pakiet?...................................................s...................................................s.....341 Pakiety i LD_LIBRARY_PATH...................................................s................................342 Pakiety i paleta komponentów...................................................s....................................344 Tworzenie pakietów...................................................s...................................................s.......345 Pakiety projektowe i wykonawcze ...................................................s.............................347 Ikony: praca z plikami dcr ...................................................s..........................................348 Jednoczesne otwieranie pakietu i projektu ...................................................s.................348 Klauzula requires...................................................s...................................................s.....348 Rejestrowanie komponentów ...................................................s.....................................349 Korzystanie z pakietów wewnątrz programu...................................................s....................349 Wejście do pakietu w czasie działania programu ...................................................s.............353 Tworzenie obiektu współdzielonego ...................................................s................................354 Wywoływanie procedur z biblioteki w Kyliksie ...................................................s........357 Dynamiczne ładowanie obiektów współdzielonych...................................................s.........358 4QFKCđ 6YQTGPKGMQORQPGPVÎY J  Praca z komunikatami...................................................s...................................................s....360 Proste komunikaty: przydatna kontrolka...................................................s....................360 Reagowanie na komunikaty...................................................s........................................362 Praca z metodą EventFilter w komponentach ...................................................s............363 Rozszerzenie modułu ElfControls ...................................................s....................................366 Sztuka nazywania komponentów ...................................................s...............................377 Kontrolki TElfBigEdit i TElfEmptyPanel...................................................s..................377 Komponenty złożone...................................................s..................................................378 Tworzenie właściwości published w komponencie...................................................s....381 Wzmianka na temat zapisywania właściwości...................................................s...........382 Drugi złożony komponent ...................................................s................................................383 Tworzenie komponentu łączącego TLabel i TEdit...................................................s...........389 Zmienianie położenia etykiety...................................................s....................................399 TElfLabelEdit a kompatybilność z Windows...................................................s.............401 Etykiety z tekstem 3D...................................................s.................................................402 4QFKCđ CCYCPUQYCPGVYQTGPKGMQORQPGPVÎY   Właściwości ...................................................s...................................................s...................406 Deklarowanie właściwości ...................................................s.........................................406 Oglądanie właściwości w inspektorze obiektów ...................................................s........409 Więcej o właściwościach ...................................................s..................................................410 Budowanie komponentów od podstaw ...................................................s.............................421 Komponent zegara ...................................................s...................................................s.........423 Poznanie TElfClock...................................................s...................................................s.429 Metoda Paint zegara ...................................................s...................................................s430 Komponent TElfColorClock ...................................................s......................................431 Tworzenie fantazyjnego zegara ...................................................s..................................432 10 Kylix. Vademecum profesjonalisty Tworzenie ikon dla komponentów ...................................................s...................................436 Tools API: edytory właściwości i komponentów ...................................................s.............437 Kod fazy projektowej i kod fazy wykonawczej ...................................................s.........442 Tools API w Kyliksie ...................................................s.................................................442 Tools API i Wine...................................................s...................................................s.....443 Tools API i interfejsy ...................................................s.................................................443 Edytory właściwości...................................................s...................................................s444 Więcej na temat rejestrowania komponentów i ich edytorów.......................................449 Edytory komponentów ...................................................s...............................................451 Kilka słów na temat pielęgnacji komponentów...................................................s..........452 Szablony komponentów...................................................s...................................................s.453 4QFKCđ )TCHKMCY-[NKMUKGJ  Najważniejsze obiekty modułu QGraphics.pas ...................................................s................455 TCanvas ...................................................s...................................................s.........................456 Bezpośrednie wykorzystywanie funkcji biblioteki Qt...................................................s......457 Zmiana układu współrzędnych...................................................s...................................460 Kolory ...................................................s...................................................s............................462 Pędzle...................................................s...................................................s.............................463 Pióra ...................................................s...................................................s...............................467 Czcionki ...................................................s...................................................s.........................472 Rysowanie figur geometrycznych ...................................................s....................................474 Zastosowanie — zbiór Mandelbrota...................................................s.................................478 „Naciąganie gumki” ...................................................s...................................................s487 Zachowywanie obrazu...................................................s................................................489 Definiowanie zdarzeń i obsługa zdarzenia OnPaint ...................................................s...491 LoadResource — odczyt sceny początkowej ...................................................s.............492 Zastosowanie — labirynt pseudo-3D ...................................................s...............................493 Architektura świata pseudo-3D ...................................................s..................................494 Tworzenie elementów graficznych...................................................s.............................496 Powierzchnie i buforowanie dublujące...................................................s.......................497 Podstawowy kod maszynerii ...................................................s......................................498 Implementowanie interfejsów ...................................................s....................................520 ISimpleSurface — projektowanie wymiennego zaplecza .............................................523 Rysowanie ścian segmentów we właściwej lokalizacji.................................................525 úħè+++ 2TQITCOQYCPKGU[UVGOQYGY.KPWMUKG  4QFKCđ #RNKMCELGMQPUQNQYGCTæFCPKGRCOKúEKæKQRGTCELGPCRNKMCEJ  Aplikacje konsolowe...................................................s...................................................s......531 Programowanie konsolowe...................................................s.........................................532 Uruchamianie aplikacji konsolowej ...................................................s...........................533 Zarządzanie pamięcią ...................................................s...................................................s....533 Zmienne i struktury danych...................................................s........................................534 Obiekty ...................................................s...................................................s....................535 Operacje na plikach w Kyliksie ...................................................s........................................536 Operacje na plikach w tradycyjnym Pascalu...................................................s..............536 Operacje na plikach z użyciem TFileStream...................................................s..............539 Specyfika plików w Linuksie ...................................................s.....................................543 Korzystanie z funkcji biblioteki glibc ...................................................s........................546 Spis treści 11 4QFKCđ 2TQEGU[KYæVMKJ  Sposoby wykonywania aplikacji w Linuksie...................................................s....................547 Obsługa wątków w Kyliksie ...................................................s.............................................549 Dostęp do pamięci w wątkach ...................................................s....................................551 Błędy synchronizacji i bezpieczeństwo wątku ...................................................s...........551 Metoda Synchronize obiektu wątku ...................................................s...........................552 Sekcje krytyczne...................................................s...................................................s......553 Synchronizator Multi-Read Exclusive-Write ...................................................s.............554 Mechanizmy blokowania...................................................s............................................554 Ukończenie i przerwanie pracy wątku...................................................s........................555 Debugowanie wielowątkowych aplikacji...................................................s...................556 Kilka ostatnich słów na temat wątków ...................................................s.......................557 Kontrola procesów w Linuksie i komunikacja międzyprocesowa ......................................557 Tworzenie nowych procesów ...................................................s.....................................558 Sygnalizowanie procesów ...................................................s..........................................560 úħè+8 CVC .: P 4QFKCđ 2QFUVCY[ CVC .:J  Architektura DataCLX...................................................s...................................................s...563 Dostęp do danych...................................................s...................................................s...........563 Łączenie się z bazą danych...................................................s.........................................564 Odbieranie danych...................................................s...................................................s...565 Wizualne kontrolki danych...................................................s...............................................566 Wyświetlanie danych za pomocą wizualnych kontrolek danych ..................................566 Typowy przepływ danych...................................................s.................................................571 Interaktywna manipulacja danymi...................................................s..............................571 Publikowanie danych...................................................s..................................................572 Konfigurowanie serwera...................................................s...................................................s573 Łącze do InterBase ...................................................s...................................................s..574 Łącze do MySQL...................................................s...................................................s.....575 Łącze do DB2 ...................................................s...................................................s..........575 Łącze do Oracle ...................................................s...................................................s.......576 4QFKCđ 2TCECMQORQPGPVCOKFCP[EJ J  TSQLConnection ...................................................s...................................................s...........577 Właściwości komponentu TSQLConnection ...................................................s.............579 Metody TSQLConnection ...................................................s..........................................580 Zdarzenia TSQLConnection...................................................s.......................................581 TSQLDataSet...................................................s...................................................s.................583 TSQLQuery ...................................................s...................................................s...................584 TSQLStoredProc...................................................s...................................................s............584 TSQLTable ...................................................s...................................................s....................584 TClientDataSet...................................................s...................................................s...............585 Właściwości TClientDataSet...................................................s......................................586 Metody TClientDataSet...................................................s..............................................588 TDataSetProvider...................................................s...................................................s...........592 TSQLClientDataSet ...................................................s...................................................s.......593 TSQLMonitor ...................................................s...................................................s................593 Przykłady zwykłego użycia zestawów danych...................................................s.................595 Kwerendy...........................................s...................................................s.........................595 Pola wiązane ...................................................s...................................................s............595 Kwerendy parametryzowane ...................................................s......................................597 Związki master-detail ...................................................s.................................................597 12 Kylix. Vademecum profesjonalisty Dostosowywanie arkusza detali...................................................s..................................598 Pola kalkulowane...................................................s...................................................s.....599 Lokalne przeszukiwanie przyrostowe ...................................................s........................600 Lokalne filtrowanie...................................................s...................................................s..602 Zakładki ...................................................s...................................................s...................602 Używanie procedur zapisanych w bazie danych ...................................................s........605 Tymczasowe klucze po stronie klienta...................................................s.......................607 Pola agregowane...................................................s...................................................s......608 4QFKCđ 9CTUVYCFQUVúRWFQFCP[EJJ  Przeznaczenie warstwy dostępu do danych ...................................................s......................611 Zmaksymalizowanie szybkości dostępu do danych ...................................................s...612 Zapewnienie niezależności od platformy ...................................................s...................612 Zapewnienie łatwego wdrażania ...................................................s................................612 Zminimalizowanie rozmiaru i użycia zasobów ...................................................s..........613 Zapewnienie wspólnego interfejsu do wydajnego przetwarszania SQL i procedur zapisanych w bazie danych ...................................................s....................613 Uczynienie programowania sterowników łatwym i rozszerzalnym..............................613 Zapewnienie dostępu do specyficznych funkcji bazy danych.......................................614 Ważny rysunek ...................................................s...................................................s..............614 Zestawy danych MyBase ...................................................s..................................................615 Formaty (binarny i XML)...................................................s...........................................615 Metadane ...................................................s...................................................s.................616 Restrykcje ...................................................s...................................................s................618 Dane...................................................s...................................................s.........................618 Typy pól...................................................s...................................................s...................618 Pola specjalne ...................................................s...................................................s..........618 Pakiety delta ...................................................s...................................................s............618 Zwrot do nadawcy ...................................................s...................................................s...621 Łączność z bazami danych ...................................................s...............................................621 Abstrakcja dbExpress ...................................................s.................................................622 Odwzorowanie typów danych ...................................................s....................................634 Programowanie sterowników dbExpress...................................................s..........................635 Znajomość biblioteki klienta różnych producentów baz danych ..................................635 Inicjalizowanie środowiska ...................................................s........................................636 Łączenie z serwerem bazy danych ...................................................s.............................636 Inicjalizowanie uchwytów instrukcji SQL ...................................................s.................636 Przygotowywanie instrukcji SQL...................................................s...............................637 Przekazywanie parametrów...................................................s........................................637 Wykonywanie instrukcji SQL ...................................................s....................................638 Wiązanie bufora rekordów ...................................................s.........................................638 Pobieranie rekordów...................................................s...................................................s639 Zwalnianie uchwytów i rozłączanie ...................................................s...........................639 Implementacja rdzenia dbExpress ...................................................s....................................640 SQLDriver ...................................................s...................................................s...............640 SQLConnection ...................................................s...................................................s.......641 SQLCommand ...................................................s...................................................s.........642 SQLCursor...................................................s...................................................s...............645 SQLMetaData...................................................s...................................................s..........645 4QFKCđ 6YQTGPKGTGE[YKUVGLCRNKMCELKJ  Opis aplikacji ...................................................s...................................................s.................647 Definiowanie bazy danych...................................................s................................................647 Tabele ...................................................s...................................................s......................648 Indeksy............................................s...................................................s............................651 Spis treści 13 Ograniczenia danych ...................................................s..................................................652 Generatory ...................................................s...................................................s...............652 Procedury przechowywane w bazie danych...................................................s...............653 Wyzwalacze...................................................s...................................................s.............655 Podstawowy projekt...................................................s...................................................s.......657 Moduł danych ...................................................s...................................................s..........657 Graficzny interfejs użytkownika...................................................s.......................................661 Prezentowanie danych ...................................................s................................................661 Edycja danych...................................................s...................................................s..........662 Rozszerzanie funkcjonalności ...................................................s....................................663 Interfejs WWW...................................................s...................................................s..............665 Formatowanie ...................................................s...................................................s..........665 Rozmieszczenie danych...................................................s..............................................669 Nawigowanie ...................................................s...................................................s...........672 4QFKCđ 1RV[OCNKCELCCRNKMCELKDCFCP[EJ   Wstęp ...................................................s...................................................s.............................675 Zapełniaj bazę danymi ...................................................s...................................................s...676 Monitoruj komunikację SQL ...................................................s............................................676 Unikaj trzymania transakcji otwartych przez długi okres czasu..........................................677 Nie parametryzuj zapytań zawierających słowo like...................................................s........677 Unikaj kluczy podstawowych i kluczy obcych...................................................s.................678 Używaj procedur składowanych w bazie...................................................s..........................679 Bądź „wyzwolony” ...................................................s...................................................s........680 Bądź wymagający ...................................................s...................................................s..........680 Parametryzuj i przetwarzaj zapytania w celu zmaksymalizowania wydajności..................681 Unikaj pobierania wszystkiego...................................................s.........................................681 Zasady Roba o złączeniach zewnętrznych lewostronnych ..................................................681 Zaprojektuj odpowiednio bazę danych...................................................s.......................682 Użyj skorelowanych podzapytań...................................................s................................683 Użyj procedur przechowywanych w bazie danych ...................................................s....683 Użyj sprzężeń zewnętrznych lewostronnych...................................................s..............684 Buforuj tabele powiązań w dużych bazach danych z wieloma użytkownikami..................684 Używaj sprytnych powiązań...................................................s.............................................685 Wyłącz metadane...................................................s...................................................s...........685 Potrzebujesz szybkości? Wyłącz opcję synchronicznego zapisu ........................................686 Indeksowanie bazy danych ...................................................s...............................................686 Selektywność ...................................................s...................................................s...........686 Ostrożnie z kluczami obcymi ...................................................s.....................................687 Indeksy wielokolumnowe...................................................s...........................................687 Porządek w indeksie ...................................................s...................................................s687 Indeksuj oszczędnie...................................................s...................................................s.687 Wskazówki dotyczące InterBase ...................................................s......................................687 Nie używaj dużych typów varchar ...................................................s.............................687 W swojej końcowej aplikacji używaj zawsze zdalnego połączenia ..............................688 Używaj stron o wielkości 2 kB lub 4 kB ...................................................s....................688 Plany indeksów...................................................s...................................................s........688 Określ bufor podręczny bazy danych przy pomocy Gfix..............................................694 Uruchamiaj InterBase na maszynach jednoprocesorowych ..........................................694 14 Kylix. Vademecum profesjonalisty úħè8 999P 4QFKCđ #RNKMCELGUGTYGTC#RCEJGJ  Aplikacje internetowe ...................................................s...................................................s....697 Aplikacje CGI...................................................s...................................................s..........698 Formularze...................................................s...................................................s...............698 Serwer WWW Apache...................................................s...................................................s...699 Kylix i CGI ...................................................s...................................................s..............700 Konfiguracja dla CGI ...................................................s.................................................703 Konfiguracja dla DSO ...................................................s................................................704 4QFKCđ 2TQITCOQYCPKGCRNKMCELK999 J  Moduł aplikacji ...................................................s...................................................s..............707 Nowa aplikacja internetowa...................................................s..............................................708 Komponenty WebBroker...................................................s..................................................709 TWebDispatcher...................................................s...................................................s......709 TWebModule...................................................s...................................................s...........711 TWebResponse...................................................s...................................................s........713 TWebRequest ...................................................s...................................................s..........713 Prezentowanie danych ...................................................s...................................................s...715 Symulowanie zapytania GET ...................................................s.....................................717 Generowanie stron ...................................................s...................................................s.........718 TPageProducer...................................................s...................................................s.........718 HTMLDoc kontra HTMLFile ...................................................s....................................721 TDataSetPageProducer...................................................s...............................................722 Generowanie tabel ...................................................s...................................................s.........730 TDataSetTableProducer...................................................s..............................................731 Poprawianie wyglądu strony ...................................................s......................................736 Związek Master-Detail ...................................................s...............................................737 4QFKCđ CCYCPUQYCPGRTQITCOQYCPKGUGTYGTÎY999  Nowa wersja WebApp42 ...................................................s..................................................741 Producer i ProducerContent...................................................s........................................742 dbExpress...................................................s...................................................s.......................742 TDataSetTableProducer...................................................s...................................................s.744 TSQLQueryTableProducer...................................................s.........................................745 PrepareSQLQueryTableProducer...................................................s...............................748 Zarządzanie informacją o stanie ...................................................s.......................................750 Rozszerzone URL...................................................s...................................................s....751 Mechanizm Cookies ...................................................s...................................................s755 Ukryte pola ...................................................s...................................................s..............757 Zaawansowane wytwarzanie stron ...................................................s...................................759 Obrazki...................................................s...................................................s...........................764 Strategie międzyplatformowej uniwersalności kodu...................................................s........772 QFCVMK  5MQTQYKF J  Rozdział 1. 2TQITCOQYCPKGYKWCNPG JCTNKG CNXGTV Dzięki lekturze tego rozdziału zapoznasz się z narzędziami programistycznymi środo- wiska Kylix. Opisano tu IDE (zintegrowane środowisko programistyczne), narzędzie projektanta formularzy oraz kilka prostych sztuczek, które można wykorzystać w procesie wizualnego programowania. Pod koniec tego rozdziału będziesz wiedział już co nieco o tym, jakiego rodzaju programy możesz tworzyć w Kyliksie, a także jak łatwo je tworzyć używając narzędzi zawartych w IDE. Doświadczeni programiści Delphi dowiedzą się, jakie zmiany należy wykonać by prze- nieść ich aplikacje napisane w Object Pascalu ze środowiska Windows do Kyliksa. IDE Kyliksa jest właściwie po prostu IDE Delphi 5 przeniesionym do Linuksa. W rezultacie oba te środowiska programistyczne są bardzo podobne — chociaż nie identyczne. Przez cały czas będę podkreślał dzielące je różnice; podpowiem także Czytelnikom tworzącym dotychczas swoje programy na platformie Windows, co zrobić, by poczuli się komfortowo w świecie Linuksa. + -[NKMUC IDE Kyliksa może być dostosowane do Twoich potrzeb. Możesz na nowo rozplanowywać, modyfikować, dodawać i usuwać oraz generalnie rekonfigurować paski narzędzi tak, aby odpowiadały Twojemu stylowi programowania. Najbardziej oczywistą cechą IDE jest to, iż pozwala „przeciągać i upuszczać” wizualne obiekty (takie jak pola edycji czy listy wyboru) wprost na formularz. Obiekty te można potem modyfikować i dowolnie układać, tworząc tym samym potężny interfejs dla swojej aplikacji. Sam edytor obsługuje wiele różnych układów klawiszy; możesz ponadto zmieniać usta- wienia kolorów a także rozmiar i rodzaj czcionki. Konfiguracji można także poddać mnóstwo innych parametrów edytora, włącznie z ustawieniami tabulacji, grubością ramek, trybem wstawiania, wyróżnianiem składni i wieloma innymi cechami, zbyt licznymi, by je tu przytaczać. 32 Część I  Poznanie Delphi i Linuksa Pracując z edytorem możesz otrzymać natychmiastową pomoc kontekstową na temat metod, których używasz. Przydatne informacje mogą pochodzić z samego systemu po- mocy lub z narzędzia o nazwie Code Insight, które pokazuje parametry dla wywoływanej metody lub listę metod dostępnych dla konkretnego obiektu. Code Insight można wykorzy- stać nie tylko w stosunku do kodu CLX API, lecz także dlua tego, który jest właśnie pisany. Nawet system menu Kyliksa może być rozszerzony. Możliwe jest dodanie do menu nowych pozycji, które pozwalają uruchamiać inne aplikacje. Na przykład — jak przekonasz się jeszcze w tym rozdziale — można w łatwy sposób tak skonfigurować IDE, żeby źródło, nad którym pracujesz, otwierane było w emacs lub jakimśu innym edytorze
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Kylix. Vademecum profesjonalisty
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ą: