Dane szczegółowe książki
Delphi 4 dla każdego / Reisdorph, Kent; Grażyński, Andrzej
Tytuł
Delphi 4 dla każdego
Wydawnictwo
Gliwice: "Helion", 1999
ISBN
837197034X
Hasła przedmiotowe
Spis treści
pokaż spis treści
O autorze 17
Dedykacja 17
Podziękowania 17
Wstęp – jesteś tutaj 19
Przedmowa do wydania polskiego 21
Część I
Rozdział 1. Zaczynamy 25
Czym właściwie jest Delphi? 25
Rzut oka na Delphi IDE 26
Inspektor Obiektów 27
Przestrzeń robocza 27
Twój pierwszy program: Hello World 28
Tworzenie programu 28
Modyfikacja programu 29
Zamknięcie projektu 30
Twój drugi program: Hello World II 30
Tworzenie programu Hello World II 30
Modyfikacja programu Hello World II 31
Przegląd języka Object Pascal 32
Trochę historii 33
Moduły 34
Komentarze 41
Zmienne 42
Typy danych w Object Pascalu 44
Operatory w Object Pascalu 48
Stałe 48
Tablice 50
Łańcuchy 53
Podsumowanie 61
Warsztat 61
Pytania i odpowiedzi 61
Quiz 62
Ćwiczenia 62
Rozdział 2. Pascal bardziej zaawansowany 63
if, then, else 63
Wykonywanie wielu instrukcji 64
Dodajemy else 65
Zagnieżdżone instrukcje if 66
Wyrażenie if ... then ... else, wariant 1 67
Wyrażenie warunkowe if ... then ... else, wariant 2 68
Pętle 68
Pętla for 69
Pętla while 73
Pętla repeat 74
Instrukcja goto 75
Procedury Continue i Break 77
Instrukcja case 78
Zakres widzialności 79
Rekordy 81
Instrukcja with 82
Tablice rekordów 83
Pliki dołączane 83
Funkcje, procedury i metody 84
Deklaracja i definicja 88
Parametry przekazywane przez stałą, przez wartość i przez referencję 90
Funkcje i procedury lokalne 92
Przeciążanie funkcji i procedur 93
Parametry domyślne procedur i funkcji 94
Podsumowanie 95
Warsztat 95
Pytania i odpowiedzi 96
Quiz 96
Ćwiczenia 97
Rozdział 3. Klasy i programowanie zorientowane obiektowo 99
Zbiory 99
Rzutowanie typów 101
Wskaźniki 102
Zmienne statyczne kontra zmienne dynamiczne 103
Alokacja dynamiczna i wskaźniki 104
Odwoływanie się do danych dynamicznych 105
Klasy 106
Anatomia klasy 107
Poziomy dostępu do składników klasy 107
Konstruktory 109
Destruktory 111
Pola 113
Metody 114
Wskaźnik Self 115
Przykład klasy 117
Dziedziczenie 121
Zastępowanie metod 122
Słowa kluczowe: is i as 124
Podsumowanie 125
Warsztat 125
Pytania i odpowiedzi 125
Quiz 126
Ćwiczenia 127
Rozdział 4. Środowisko zintegrowane (IDE) 129
Delphi IDE 129
Projekty 130
Pliki używane w projektach 131
Pliki źródłowe modułów 134
Menu główne i paski narzędzi 135
Używanie Palety Komponentów 136
Umieszczanie wielu kopii danego komponentu na formularzu 137
Umieszczanie komponentów na środku formularza 138
Menu kontekstowe palety komponentów 138
Poruszanie się po Palecie Komponentów 138
Aplikacja składająca się z wielu formularzy 139
Dodawanie modułów 141
Kompilowanie, budowanie i łączenie 141
Kompilacja innych rodzajów programów w Object Pascalu 143
Więcej o formularzach Delphi 144
Formularze okna głównego 144
Formularze okien dialogowych 144
Tradycyjne okna dialogowe 145
Okna dialogowe Delphi 147
Tworzenie formularza okna dialogowego 147
Okna drugorzędne a okna dialogowe 150
Model aplikacji wielodokumentowej 151
Najważniejsze właściwości formularzy 151
Właściwości ustawiane w czasie projektowania aplikacji 152
Właściwości ustawiane w czasie działania programu 154
Metody formularzy 154
Metody MDI 155
Zdarzenia formularzy 155
Inspektor Obiektów 156
Lista wyboru komponentu 157
Karta Properties 158
Karta Events 160
Dokowalne okna IDE 161
Miejsca dokowania 162
Eksperymentowanie z oknami dokowalnymi 162
Wyłączanie dokowania 164
Przykładowy program MDI 165
Utworzenie formularza głównego 166
Napisanie kodu obsługującego opcje File | Open i File | Save as… 168
Napisanie kodu obsługującego opcje menu Window 169
Utworzenie okna podporządkowanego MDI 170
Utworzenie okna „O Programie” 171
Końcowe poprawki 173
Podsumowanie 174
Warsztat 175
Pytania i odpowiedzi 175
Quiz 176
Ćwiczenia 176
Rozdział 5. Model komponentów wizualnych 179
Podstawowe wiadomości o bibliotekach klas 179
Dlaczego powinniśmy się zajmować bibliotekami klas? 180
W czym tkwi słaby punkt? 182
Biblioteka Komponentów Wizualnych (VCL) 182
Komponenty 184
Właściwości, Metody, Zdarzenia 184
Odkrywanie VCL 197
Klasy formularzy i aplikacji 199
Klasy komponentów 199
To nie wszystko … 205
Podsumowanie 206
Warsztat 206
Pytania i odpowiedzi 207
Quiz 208
Ćwiczenia 208
Rozdział 6. Praca z Projektantem Formularzy i Projektantem Menu 209
Projektant formularzy (Form Designer) 209
Menu kontekstowe Projektanta Formularzy 210
Umieszczanie komponentów na formularzu 211
Siatka Projektanta Formularzy 212
Zaznaczanie komponentów 213
Przesuwanie komponentów 218
Zabezpieczanie komponentów przed przesunięciem lub zmianą rozmiarów 219
Wycinanie, kopiowanie wklejanie oraz ustalanie porządku komponentów 220
Zmiana rozmiarów komponentów 222
Wyrównywanie i dopasowywanie komponentów 225
„Cykl Tab” (Tab Order) 231
Przykładowa aplikacja 232
Krok 1: Nowa Aplikacja – Zaczynamy 233
Krok 2: Dodajemy pasek narzędzi 233
Krok 3: Linia statusu 233
Uruchomienie programu 235
Menu, proszę! 235
Budowa menu głównego 236
Kodowanie 245
A teraz moment, na który długo czekałeś … 250
Menu kontekstowe (rozwijane) 250
Budowa oraz zachowywanie szablonów menu 252
Podsumowanie 253
Warsztat 253
Pytania i odpowiedzi 253
Quiz 254
Ćwiczenia 255
Rozdział 7. Komponenty VCL 257
Przegląd komponentów 257
Komponenty wizualne 258
Komponenty niewidoczne 258
Właściwość Name 259
Ważne właściwości standardowe 260
Właściwość Align 260
Właściwość Color 261
Właściwość Cursor 262
Właściwość Enabled 263
Właściwość Font 264
Właściwość Hint 265
Właściwości ParentColor, ParentCtl3D, ParentFont i ParentShowHint 266
Właściwość Tag 267
Inne właściwości standardowe 267
Podstawowe metody komponentów 268
Zdarzenia podstawowe 268
TStrings 270
Standardowe komponenty reprezentujące kontrolki Windows 273
Kontrolki edycyjne 274
Komponent Edit 274
Komponent MaskEdit 275
Komponent Memo 276
Komponent RichEdit 276
Właściwości standardowych kontrolek edycyjnych 276
Komponenty ListBox i ComboBox 279
Typy przycisków biblioteki VCL 282
Przyciski opcji i pola wyboru 290
Komponent Label 292
Komponent ScrollBar 293
Komponent Panel 294
To jeszcze nie wszystko... 294
Standardowe okna dialogowe 295
Metoda Execute 295
Okna dialogowe Otwórz i Zapisz 296
Okna dialogowe otwierania i zapisywania rysunków 299
Okno dialogowe Kolor 300
Okno dialogowe Czcionka 300
Okna dialogowe Znajdź i Zamień 300
Podsumowanie 302
Warsztat 302
Pytania i odpowiedzi 302
Quiz 304
Ćwiczenia 304
Podsumowanie części I 307
Część II
Rozdział 8. Tworzenie aplikacji w Delphi 311
Praca z Repozytorium 311
Opcje i strony Repozytorium 312
Tworzenie nowych obiektów z Repozytorium 316
Dodawanie obiektów do Repozytorium 317
Dodawanie projektów do Repozytorium 319
Zarządzanie Repozytorium 319
Zarządzanie obiektami 320
Zarządzanie stronami 321
Ustawianie domyślnych formularzy i projektów 321
Budowanie formularzy i aplikacji za pomocą kreatorów 322
Korzystanie z Kreatora Dialogów 322
Tworzenie aplikacji za pomocą Kreatora Aplikacji 323
Pierwsza Strona: Wybór menu 324
Strona trzecia: Ustawienie paska narzędzi 325
Strona czwarta: Wybór ustawień końcowych 326
Dodawanie metod i pól do kodu 328
W jaki sposób Delphi zarządza deklaracjami klas 328
Dodawanie metod do kodu 331
Dodawanie pól danych do klas 333
Usuwanie kodu wygenerowanego przez Delphi 333
Tworzenie szablonów komponentów 333
Korzystanie z plików zasobów 336
Zasoby w Delphi 337
Kompilowanie plików zasobów 338
Łączenie plików zasobów z modułem wykonywalnym 340
Przykładowy program korzystający z zasobów 340
Pakiety 345
Czym jest pakiet? 345
Konsolidacja statyczna kontra konsolidacja dynamiczna 346
Stosowanie pakietów wykonywalnych we własnych aplikacjach 349
Dystrybucja aplikacji przy wykorzystaniu pakietów 349
Podsumowanie 350
Warsztat 351
Pytania i odpowiedzi 351
Quiz 352
Ćwiczenia 353
Rozdział 9. Projekty, Edytor Kodu i Eksplorator Kodu 355
Projekt to podstawa 355
Menedżer Projektów 356
Grupy Projektów 356
Okno Menedżera Projektów 358
Pasek narzędzi Menedżera Projektów i polecenia klawiatury 361
Tworzenie i użytkowanie grup projektowych 362
Budowanie projektów i grup projektowych 363
Opcje projektu 364
Strona Forms 364
Strona Application 367
Strona Compiler 368
Strona Linker 370
Strona Directories/Conditionals 371
Strona Version info 373
Strona Packages 374
Edytor Kodu Delphi 375
Podstawowe operacje edytora 376
Specyficzne cechy edytora 381
Menu kontekstowe Edytora Kodu 390
Zmiana ustawień Edytora Kodu 390
Eksplorator Kodu 396
Menu kontekstowe Eksploratora Kodu 397
Dodawanie kodu przy użyciu Eksploratora Kodu 398
Ustawienia Eksploratora Kodu 400
Podsumowanie 400
Warsztat 400
Pytania i odpowiedzi 401
Quiz 402
Ćwiczenia 402
Rozdział 10. Wykrywanie błędów w aplikacjach 405
Po co stosować debugger? 406
Elementy menu związane z procesem śledzenia 406
Ustawianie i usuwanie punktów przerwań 408
Okno listy punktów przerwań 409
Zwykłe punkty przerwań 412
Polecenie Run to Cursor 413
Podgląd zmiennych 413
Wartościowanie wyrażenia w formie podpowiedzi 414
Menu kontekstowe listy wyrażeń testowych 415
Okno właściwości podglądu 415
Uaktywnianie i dezaktywowanie elementów listy wyrażeń testowych 416
Dodawanie zmiennych do listy wyrażeń testowych 417
Użytkowanie listy wyrażeń testowych 417
Inspektor Śledzenia 420
Strony Inspektora Śledzenia 421
Menu kontekstowe Inspektora Śledzenia 422
Inne narzędzia procesu wykrywania błędów 423
Okno Evaluate/Modify 423
Okno Call Stack 424
Okno deasemblacji 425
Polecenie Go to Address 425
Praca krokowa 426
Symbole procesu śledzenia umieszczane na gutterze 426
Przekraczanie i wkraczanie 427
Śledzenie wewnątrz bibliotek DLL 429
Okno dziennika zdarzeń 430
Okno modułów 431
Techniki wykrywania błędów 431
Funkcja OutputDebugString 432
Śledzenie błędów naruszenia ochrony dostępu 432
Krótkie wskazówki do procesu wykrywania błędów 434
Opcje debuggera 435
Strona General 436
Strona Event Log 437
Strona Language Exceptions 437
Strona OS Exceptions 437
Podsumowanie 439
Warsztat 439
Pytania i odpowiedzi 439
Quiz 440
Ćwiczenia 441
Rozdział 11. Narzędzia i opcje Delphi 443
Edytor Graficzny 443
Kolory obiektów i tła 444
Kolor przezroczysty i kolor odwrócony 445
Narzędzia rysunkowe Edytora Graficznego 446
Powiększanie 447
Edytor Graficzny
Paleta grubości linii 448
Praca z plikami bitmap 448
Praca z ikonami 450
Praca z kursorami 452
Menu kontekstowe Edytora Graficznego 453
Projekty zasobów 453
WinSight: Podglądanie okien 455
System komunikatów Windows 455
Drzewo okien 457
Okno śledzenia komunikatów 458
„Szpiegowanie” okien 459
Opcje śledzenia komunikatów 459
Inne cechy programu WinSight 461
TDUMP 462
Edytor Kolekcji Pakietów 463
Konfigurowanie menu Tools 464
Okno konfiguracji narzędzi 464
Dodawanie narzędzi do menu 465
Modyfikacja ustawień menu narzędzi 466
Ustawienia środowiska Delphi 466
Strona Preferences 466
Strona Library 468
Strona Palette 468
Podsumowanie 470
Warsztat 470
Pytania i odpowiedzi 470
Quiz 471
Ćwiczenia 472
Rozdział 12. Programowanie grafiki i multimediów 473
Grafika w prosty sposób 473
Kontekst urządzenia i klasa TCanvas 474
Obiekty GDI 477
Pióra, pędzle i czcionki 477
Bitmapy i palety 481
Regiony 482
Proste operacje graficzne 484
Wypisywanie tekstu 484
Rysowanie bitmap 490
Bitmapy w pamięci operacyjnej 493
Tworzenie bitmapy pamięciowej 493
Zapisywanie bitmapy pamięciowej 494
Przykładowy program korzystający z bitmapy pamięciowej 495
Programowanie multimediów 498
Odtwarzanie dźwięków za pomocą funkcji Windows API 498
Komponent TMediaPlayer 499
Właściwości, metody i zdarzenia komponentu MediaPlayer 500
Dźwięk w standardzie wave 502
Ustawienie głośności dźwięku 503
Nagrywanie dźwięku w standardzie wave 504
MIDI 505
Audio CD 507
Wideo AVI 508
Podsumowanie 509
Warsztat 509
Pytania i odpowiedzi 509
Quiz 510
Ćwiczenia 511
Rozdział 13. Zagadnienia nieco bardziej skomplikowane 513
Tworzenie dekoracji okna 513
Paski narzędzi 513
Komponent CoolBar 515
Dodawanie nowego paska narzędzi 518
Dokowalne paski narzędzi 524
Paski stanu 526
Dodawanie funkcji związanych z udostępnianiem poleceń 531
Udostępnianie poleceń przy użyciu klas TActionList i TAction 532
Implementacja mechanizmu udostępniania poleceń 532
Drukowanie w aplikacjach Delphi 538
Standardowe okna dialogowe drukowania 539
Drukowanie w prosty sposób 542
Drukowanie z wykorzystaniem komponentu QuickReport 543
Drukowanie w trudny sposób 543
Praktyczne zastosowanie 546
Drukowanie bitmap 549
Korzystanie z kursorów 549
Podstawy kursorów 550
Ładowanie i korzystanie z kursorów wbudowanych 551
Ładowanie i korzystanie z kursorów użytkowych 552
Podsumowanie 553
Warsztat 553
Pytania i odpowiedzi 553
Quiz 554
Ćwiczenia 555
Rozdział 14. Programowanie zaawansowane 557
Implementowanie pomocy kontekstowej 557
Tworzenie pliku pomocy 558
Identyfikatory kontekstu i właściwość HelpContext 559
Implementowanie pomocy kontekstowej w Delphi 560
Korzystanie z dołączanych plików pomocy 562
Rzeczywiste wykorzystanie pomocy kontekstowej 563
Obsługa błędów programu z wykorzystaniem wyjątków 565
Słowa kluczowe obsługi wyjątków: try, except, finally i raise 565
Generowanie wyjątków 567
Korzystanie z Rejestru 574
Klucze Rejestru 575
Typy danych Rejestru 575
Klasa TRegistry 576
Użytkowanie klasy TRegistry 578
Wyspecjalizowana obsługa komunikatów 585
Więcej na temat komunikatów Windows 585
Wysyłanie komunikatów 588
Obsługa zdarzeń 589
Obsługa pozostałych komunikatów Windows 590
Komunikaty definiowane przez użytkownika 594
Podsumowanie 596
Warsztat 596
Pytania i odpowiedzi 596
Quiz 598
Ćwiczenia 598
Podsumowanie części II 601
Część III
Rozdział 15. Obiekty typu COM i ActiveX 605
Zrozumieć COM 605
Terminologia COM 607
Interfejs IUnknown 610
Tworzenie obiektu COM 610
Zrozumieć ActiveX 623
Korzystanie z zewnętrznych kontrolek ActiveX 623
Tworzenie nowych kontrolek ActiveX 625
Zmiana bitmapy reprezentującej kontrolkę ActiveX w palecie 632
Umieszczanie kontrolek ActiveX i formularzy aktywnych w sieci 633
Opcje dystrybucji sieciowej 634
Dystrybucja w sieci 636
Podsumowanie 637
Warsztat 637
Pytania i odpowiedzi 638
Quiz 639
Ćwiczenia 640
Rozdział 16. Architektura baz danych widziana od strony Delphi 641
Podstawy 641
Lokalne bazy danych 643
Bazy danych typu klient/serwer 643
Jedno , dwu i wielowarstwowa architektura bazy danych 643
Borland Database Engine 645
Sterowniki BDE 645
Aliasy BDE 646
Wbudowane bazy danych Delphi 646
Łączniki SQL 647
Bazodanowe komponenty Delphi 648
Klasa TDataSet 650
Komponent Table 656
Filtry 658
Komponent Query 664
Komponent StoredProc 667
Komponent UpdateSQL 668
Komponent DataSource 669
Komponent Session 670
Komponent Database 670
Komponent BatchMove 673
Komponent TField 674
Komponenty baz danych typu klient/serwer 677
Tworzenie aliasów BDE 677
Tworzenie aliasu przy użyciu Administratora BDE 678
Tworzenie aliasów w kodzie programu 679
Podsumowanie 679
Warsztat 679
Pytania i odpowiedzi 680
Quiz 681
Ćwiczenia 681
Rozdział 17. Formularze baz danych 683
Kreator Formularzy Baz Danych 683
Tworzenie formularza prostego przy pomocy Kreatora Formularzy Baz Danych 684
Nowy formularz w działaniu 688
Tworzenie formularza typu master/details 689
Ręczne tworzenie formularzy baz danych 691
Komponenty danych widziane z bliska 694
Wspólne właściwości komponentów danych 694
Komponent DBGrid 695
Komponent DBNavigator 696
Komponent DBText 696
Komponent DBEdit 696
Komponent DBMemo 696
Komponent DBImage 697
Komponenty DBListBox i DBComboBox 698
Komponent DBCheckBox 698
Komponent DBRadioGroup 698
Komponenty DBLookupListBox i DBLookupComboBox 699
Komponent DBRichEdit 699
Komponent DBCtrlGrid 699
Inne komponenty danych 700
Podsumowanie 701
Warsztat 701
Pytania i odpowiedzi 701
Quiz 702
Ćwiczenia 703
Rozdział 18. Tworzenie aplikacji bazodanowych 705
Niewizualny aspekt programowania bazodanowego 705
Czytanie z bazy danych 706
Tworzenie tabel baz danych w sposób programowy 709
Moduły danych i ich użytkowanie 715
Przykładowy moduł danych 716
Tworzenie raportów 719
Wstęgi raportu 720
Ręczne tworzenie raportów 722
Tworzenie raportów w prosty sposób 724
Dystrybucja bazodanowych aplikacji Delphi 724
Podsumowanie 725
Warsztat 725
Pytania i odpowiedzi 726
Quiz 726
Ćwiczenia 727
Rozdział 19. Tworzenie i użytkowanie bibliotek DLL 729
Wstęp do bibliotek DLL 729
Czym jest biblioteka DLL? 730
Dlaczego powinieneś stosować biblioteki DLL? 731
Anatomia modułu DLL 734
Podstawy pisania bibliotek DLL 734
Funkcje i procedury w bibliotekach DLL 735
Słowo kluczowe exports 736
Procedura inicjująco kończąca – DLLProc 738
Ładowanie bibliotek DLL 740
Ładowanie statyczne 740
Ładowanie dynamiczne 740
Wywoływanie funkcji i procedur w bibliotekach DLL 741
Wywoływanie przy użyciu ładowania statycznego 741
Wywoływanie funkcji i procedur ładowanych dynamicznie 743
Tworzenie projektu DLL przy użyciu Repozytorium 744
Formularze w bibliotekach DLL 749
Tworzenie biblioteki zawierającej formularz 749
Wywoływanie formularza MDI z biblioteki DLL 751
Umieszczanie zasobów w bibliotekach DLL 754
Tworzenie biblioteki zasobów 755
Wykorzystanie biblioteki zasobów 755
Podsumowanie 756
Warsztat 756
Pytania i odpowiedzi 756
Quiz 758
Ćwiczenia 758
Rozdział 20. Tworzenie komponentów 761
Tworzenie nowego komponentu 761
Okno dialogowe nowego komponentu 762
Tworzenie komponentu FlashingLabel 764
Procedura Register 765
Właściwości i metody komponentu 766
Właściwości 766
Pisanie metod dla komponentów 773
Nadawanie funkcjonalności komponentowi TFlashingLabel 774
Deklaracja klasy 777
Sekcja published 777
Sekcja implementacyjna 778
Procedura SetFlashRate 778
Właściwość ComponentState 779
Testowanie komponentu 780
Dodawanie komponentu do Palety Komponentów 783
Dodawanie własnej bitmapy do przycisku komponentu 784
Obsługa zdarzeń komponentów 785
Przegląd zdarzeń 786
Przesłanianie zdarzeń klasy podstawowej 792
Złożenie w jedną całość 792
Podsumowanie 797
Warsztat 798
Pytania i odpowiedzi 798
Quiz 799
Ćwiczenia 800
Rozdział 21. Delphi i Builder C++ 801
Podobieństwa między Delphi i Builderem C++ 801
Zintegrowane środowisko programisty 801
Biblioteka komponentów wizualnych 803
Pliki formularzy 803
Pakiety 804
Różnice między Delphi i Builder C++ 804
Język 805
Rozszerzenia plików 805
Zintegrowane środowisko programisty 805
Edytor Kodu 806
Eksplorator Kodu 806
Nowe elementy VCL 807
Builder C++ może kompilować moduły języka Pascal 807
Współpraca z technologią ActiveX 807
Delphi kompiluje szybciej i tworzy mniejszy plik wykonywalny 807
Konwersja aplikacji z Delphi do Buildera C++ 808
Kopiowanie formularzy Delphi 808
Konwersja kodu 810
Kopiowanie procedur obsługujących zdarzenia 811
Wielokrotne użycie formularzy 815
Podsumowanie 815
Warsztat 815
Pytania i odpowiedzi 815
Quiz 816
Ćwiczenia 816
Rozdział 22. Aplikacje internetowe 817
Komponenty internetowe dostępne w Delphi 817
Budowa przeglądarki sieciowej 819
Komu potrzebna jest jeszcze jedna przeglądarka? 819
Pierwsze kroki procesu budowania przeglądarki 820
Dodanie wskaźnika postępu 821
Dodatki końcowe 822
Użytkowanie Internet Explorera jako kontrolki ActiveX 827
Wysyłanie poczty 829
Dystrybucja aplikacji internetowych 830
Podsumowanie 832
Warsztat 832
Pytania i odpowiedzi 832
Quiz 833
Ćwiczenia 833
Podsumowanie części III 835
Dodatki
Dodatek A Odpowiedzi do pytań 839
Rozdział 1 839
Rozdział 2 840
Rozdział 3 841
Rozdział 4 842
Rozdział 5 843
Rozdział 6 845
Rozdział 7 846
Rozdział 8 847
Rozdział 9 848
Rozdział 10 849
Rozdział 11 850
Rozdział 12 851
Rozdział 13 853
Rozdział 14 854
Rozdział 15 855
Rozdział 16 856
Rozdział 17 857
Rozdział 18 858
Rozdział 19 859
Rozdział 20 860
Rozdział 21 862
Rozdział 22 862
Dodatek B. Internetowe zasoby Delphi 865
Korporacja INPRISE 865
Komercyjne strony WWW 865
Strony WWW prowadzone przez użytkowników 866
Grupy dyskusyjne 867
Publikacje 867
Skorowidz 869
Dedykacja 17
Podziękowania 17
Wstęp – jesteś tutaj 19
Przedmowa do wydania polskiego 21
Część I
Rozdział 1. Zaczynamy 25
Czym właściwie jest Delphi? 25
Rzut oka na Delphi IDE 26
Inspektor Obiektów 27
Przestrzeń robocza 27
Twój pierwszy program: Hello World 28
Tworzenie programu 28
Modyfikacja programu 29
Zamknięcie projektu 30
Twój drugi program: Hello World II 30
Tworzenie programu Hello World II 30
Modyfikacja programu Hello World II 31
Przegląd języka Object Pascal 32
Trochę historii 33
Moduły 34
Komentarze 41
Zmienne 42
Typy danych w Object Pascalu 44
Operatory w Object Pascalu 48
Stałe 48
Tablice 50
Łańcuchy 53
Podsumowanie 61
Warsztat 61
Pytania i odpowiedzi 61
Quiz 62
Ćwiczenia 62
Rozdział 2. Pascal bardziej zaawansowany 63
if, then, else 63
Wykonywanie wielu instrukcji 64
Dodajemy else 65
Zagnieżdżone instrukcje if 66
Wyrażenie if ... then ... else, wariant 1 67
Wyrażenie warunkowe if ... then ... else, wariant 2 68
Pętle 68
Pętla for 69
Pętla while 73
Pętla repeat 74
Instrukcja goto 75
Procedury Continue i Break 77
Instrukcja case 78
Zakres widzialności 79
Rekordy 81
Instrukcja with 82
Tablice rekordów 83
Pliki dołączane 83
Funkcje, procedury i metody 84
Deklaracja i definicja 88
Parametry przekazywane przez stałą, przez wartość i przez referencję 90
Funkcje i procedury lokalne 92
Przeciążanie funkcji i procedur 93
Parametry domyślne procedur i funkcji 94
Podsumowanie 95
Warsztat 95
Pytania i odpowiedzi 96
Quiz 96
Ćwiczenia 97
Rozdział 3. Klasy i programowanie zorientowane obiektowo 99
Zbiory 99
Rzutowanie typów 101
Wskaźniki 102
Zmienne statyczne kontra zmienne dynamiczne 103
Alokacja dynamiczna i wskaźniki 104
Odwoływanie się do danych dynamicznych 105
Klasy 106
Anatomia klasy 107
Poziomy dostępu do składników klasy 107
Konstruktory 109
Destruktory 111
Pola 113
Metody 114
Wskaźnik Self 115
Przykład klasy 117
Dziedziczenie 121
Zastępowanie metod 122
Słowa kluczowe: is i as 124
Podsumowanie 125
Warsztat 125
Pytania i odpowiedzi 125
Quiz 126
Ćwiczenia 127
Rozdział 4. Środowisko zintegrowane (IDE) 129
Delphi IDE 129
Projekty 130
Pliki używane w projektach 131
Pliki źródłowe modułów 134
Menu główne i paski narzędzi 135
Używanie Palety Komponentów 136
Umieszczanie wielu kopii danego komponentu na formularzu 137
Umieszczanie komponentów na środku formularza 138
Menu kontekstowe palety komponentów 138
Poruszanie się po Palecie Komponentów 138
Aplikacja składająca się z wielu formularzy 139
Dodawanie modułów 141
Kompilowanie, budowanie i łączenie 141
Kompilacja innych rodzajów programów w Object Pascalu 143
Więcej o formularzach Delphi 144
Formularze okna głównego 144
Formularze okien dialogowych 144
Tradycyjne okna dialogowe 145
Okna dialogowe Delphi 147
Tworzenie formularza okna dialogowego 147
Okna drugorzędne a okna dialogowe 150
Model aplikacji wielodokumentowej 151
Najważniejsze właściwości formularzy 151
Właściwości ustawiane w czasie projektowania aplikacji 152
Właściwości ustawiane w czasie działania programu 154
Metody formularzy 154
Metody MDI 155
Zdarzenia formularzy 155
Inspektor Obiektów 156
Lista wyboru komponentu 157
Karta Properties 158
Karta Events 160
Dokowalne okna IDE 161
Miejsca dokowania 162
Eksperymentowanie z oknami dokowalnymi 162
Wyłączanie dokowania 164
Przykładowy program MDI 165
Utworzenie formularza głównego 166
Napisanie kodu obsługującego opcje File | Open i File | Save as… 168
Napisanie kodu obsługującego opcje menu Window 169
Utworzenie okna podporządkowanego MDI 170
Utworzenie okna „O Programie” 171
Końcowe poprawki 173
Podsumowanie 174
Warsztat 175
Pytania i odpowiedzi 175
Quiz 176
Ćwiczenia 176
Rozdział 5. Model komponentów wizualnych 179
Podstawowe wiadomości o bibliotekach klas 179
Dlaczego powinniśmy się zajmować bibliotekami klas? 180
W czym tkwi słaby punkt? 182
Biblioteka Komponentów Wizualnych (VCL) 182
Komponenty 184
Właściwości, Metody, Zdarzenia 184
Odkrywanie VCL 197
Klasy formularzy i aplikacji 199
Klasy komponentów 199
To nie wszystko … 205
Podsumowanie 206
Warsztat 206
Pytania i odpowiedzi 207
Quiz 208
Ćwiczenia 208
Rozdział 6. Praca z Projektantem Formularzy i Projektantem Menu 209
Projektant formularzy (Form Designer) 209
Menu kontekstowe Projektanta Formularzy 210
Umieszczanie komponentów na formularzu 211
Siatka Projektanta Formularzy 212
Zaznaczanie komponentów 213
Przesuwanie komponentów 218
Zabezpieczanie komponentów przed przesunięciem lub zmianą rozmiarów 219
Wycinanie, kopiowanie wklejanie oraz ustalanie porządku komponentów 220
Zmiana rozmiarów komponentów 222
Wyrównywanie i dopasowywanie komponentów 225
„Cykl Tab” (Tab Order) 231
Przykładowa aplikacja 232
Krok 1: Nowa Aplikacja – Zaczynamy 233
Krok 2: Dodajemy pasek narzędzi 233
Krok 3: Linia statusu 233
Uruchomienie programu 235
Menu, proszę! 235
Budowa menu głównego 236
Kodowanie 245
A teraz moment, na który długo czekałeś … 250
Menu kontekstowe (rozwijane) 250
Budowa oraz zachowywanie szablonów menu 252
Podsumowanie 253
Warsztat 253
Pytania i odpowiedzi 253
Quiz 254
Ćwiczenia 255
Rozdział 7. Komponenty VCL 257
Przegląd komponentów 257
Komponenty wizualne 258
Komponenty niewidoczne 258
Właściwość Name 259
Ważne właściwości standardowe 260
Właściwość Align 260
Właściwość Color 261
Właściwość Cursor 262
Właściwość Enabled 263
Właściwość Font 264
Właściwość Hint 265
Właściwości ParentColor, ParentCtl3D, ParentFont i ParentShowHint 266
Właściwość Tag 267
Inne właściwości standardowe 267
Podstawowe metody komponentów 268
Zdarzenia podstawowe 268
TStrings 270
Standardowe komponenty reprezentujące kontrolki Windows 273
Kontrolki edycyjne 274
Komponent Edit 274
Komponent MaskEdit 275
Komponent Memo 276
Komponent RichEdit 276
Właściwości standardowych kontrolek edycyjnych 276
Komponenty ListBox i ComboBox 279
Typy przycisków biblioteki VCL 282
Przyciski opcji i pola wyboru 290
Komponent Label 292
Komponent ScrollBar 293
Komponent Panel 294
To jeszcze nie wszystko... 294
Standardowe okna dialogowe 295
Metoda Execute 295
Okna dialogowe Otwórz i Zapisz 296
Okna dialogowe otwierania i zapisywania rysunków 299
Okno dialogowe Kolor 300
Okno dialogowe Czcionka 300
Okna dialogowe Znajdź i Zamień 300
Podsumowanie 302
Warsztat 302
Pytania i odpowiedzi 302
Quiz 304
Ćwiczenia 304
Podsumowanie części I 307
Część II
Rozdział 8. Tworzenie aplikacji w Delphi 311
Praca z Repozytorium 311
Opcje i strony Repozytorium 312
Tworzenie nowych obiektów z Repozytorium 316
Dodawanie obiektów do Repozytorium 317
Dodawanie projektów do Repozytorium 319
Zarządzanie Repozytorium 319
Zarządzanie obiektami 320
Zarządzanie stronami 321
Ustawianie domyślnych formularzy i projektów 321
Budowanie formularzy i aplikacji za pomocą kreatorów 322
Korzystanie z Kreatora Dialogów 322
Tworzenie aplikacji za pomocą Kreatora Aplikacji 323
Pierwsza Strona: Wybór menu 324
Strona trzecia: Ustawienie paska narzędzi 325
Strona czwarta: Wybór ustawień końcowych 326
Dodawanie metod i pól do kodu 328
W jaki sposób Delphi zarządza deklaracjami klas 328
Dodawanie metod do kodu 331
Dodawanie pól danych do klas 333
Usuwanie kodu wygenerowanego przez Delphi 333
Tworzenie szablonów komponentów 333
Korzystanie z plików zasobów 336
Zasoby w Delphi 337
Kompilowanie plików zasobów 338
Łączenie plików zasobów z modułem wykonywalnym 340
Przykładowy program korzystający z zasobów 340
Pakiety 345
Czym jest pakiet? 345
Konsolidacja statyczna kontra konsolidacja dynamiczna 346
Stosowanie pakietów wykonywalnych we własnych aplikacjach 349
Dystrybucja aplikacji przy wykorzystaniu pakietów 349
Podsumowanie 350
Warsztat 351
Pytania i odpowiedzi 351
Quiz 352
Ćwiczenia 353
Rozdział 9. Projekty, Edytor Kodu i Eksplorator Kodu 355
Projekt to podstawa 355
Menedżer Projektów 356
Grupy Projektów 356
Okno Menedżera Projektów 358
Pasek narzędzi Menedżera Projektów i polecenia klawiatury 361
Tworzenie i użytkowanie grup projektowych 362
Budowanie projektów i grup projektowych 363
Opcje projektu 364
Strona Forms 364
Strona Application 367
Strona Compiler 368
Strona Linker 370
Strona Directories/Conditionals 371
Strona Version info 373
Strona Packages 374
Edytor Kodu Delphi 375
Podstawowe operacje edytora 376
Specyficzne cechy edytora 381
Menu kontekstowe Edytora Kodu 390
Zmiana ustawień Edytora Kodu 390
Eksplorator Kodu 396
Menu kontekstowe Eksploratora Kodu 397
Dodawanie kodu przy użyciu Eksploratora Kodu 398
Ustawienia Eksploratora Kodu 400
Podsumowanie 400
Warsztat 400
Pytania i odpowiedzi 401
Quiz 402
Ćwiczenia 402
Rozdział 10. Wykrywanie błędów w aplikacjach 405
Po co stosować debugger? 406
Elementy menu związane z procesem śledzenia 406
Ustawianie i usuwanie punktów przerwań 408
Okno listy punktów przerwań 409
Zwykłe punkty przerwań 412
Polecenie Run to Cursor 413
Podgląd zmiennych 413
Wartościowanie wyrażenia w formie podpowiedzi 414
Menu kontekstowe listy wyrażeń testowych 415
Okno właściwości podglądu 415
Uaktywnianie i dezaktywowanie elementów listy wyrażeń testowych 416
Dodawanie zmiennych do listy wyrażeń testowych 417
Użytkowanie listy wyrażeń testowych 417
Inspektor Śledzenia 420
Strony Inspektora Śledzenia 421
Menu kontekstowe Inspektora Śledzenia 422
Inne narzędzia procesu wykrywania błędów 423
Okno Evaluate/Modify 423
Okno Call Stack 424
Okno deasemblacji 425
Polecenie Go to Address 425
Praca krokowa 426
Symbole procesu śledzenia umieszczane na gutterze 426
Przekraczanie i wkraczanie 427
Śledzenie wewnątrz bibliotek DLL 429
Okno dziennika zdarzeń 430
Okno modułów 431
Techniki wykrywania błędów 431
Funkcja OutputDebugString 432
Śledzenie błędów naruszenia ochrony dostępu 432
Krótkie wskazówki do procesu wykrywania błędów 434
Opcje debuggera 435
Strona General 436
Strona Event Log 437
Strona Language Exceptions 437
Strona OS Exceptions 437
Podsumowanie 439
Warsztat 439
Pytania i odpowiedzi 439
Quiz 440
Ćwiczenia 441
Rozdział 11. Narzędzia i opcje Delphi 443
Edytor Graficzny 443
Kolory obiektów i tła 444
Kolor przezroczysty i kolor odwrócony 445
Narzędzia rysunkowe Edytora Graficznego 446
Powiększanie 447
Edytor Graficzny
Paleta grubości linii 448
Praca z plikami bitmap 448
Praca z ikonami 450
Praca z kursorami 452
Menu kontekstowe Edytora Graficznego 453
Projekty zasobów 453
WinSight: Podglądanie okien 455
System komunikatów Windows 455
Drzewo okien 457
Okno śledzenia komunikatów 458
„Szpiegowanie” okien 459
Opcje śledzenia komunikatów 459
Inne cechy programu WinSight 461
TDUMP 462
Edytor Kolekcji Pakietów 463
Konfigurowanie menu Tools 464
Okno konfiguracji narzędzi 464
Dodawanie narzędzi do menu 465
Modyfikacja ustawień menu narzędzi 466
Ustawienia środowiska Delphi 466
Strona Preferences 466
Strona Library 468
Strona Palette 468
Podsumowanie 470
Warsztat 470
Pytania i odpowiedzi 470
Quiz 471
Ćwiczenia 472
Rozdział 12. Programowanie grafiki i multimediów 473
Grafika w prosty sposób 473
Kontekst urządzenia i klasa TCanvas 474
Obiekty GDI 477
Pióra, pędzle i czcionki 477
Bitmapy i palety 481
Regiony 482
Proste operacje graficzne 484
Wypisywanie tekstu 484
Rysowanie bitmap 490
Bitmapy w pamięci operacyjnej 493
Tworzenie bitmapy pamięciowej 493
Zapisywanie bitmapy pamięciowej 494
Przykładowy program korzystający z bitmapy pamięciowej 495
Programowanie multimediów 498
Odtwarzanie dźwięków za pomocą funkcji Windows API 498
Komponent TMediaPlayer 499
Właściwości, metody i zdarzenia komponentu MediaPlayer 500
Dźwięk w standardzie wave 502
Ustawienie głośności dźwięku 503
Nagrywanie dźwięku w standardzie wave 504
MIDI 505
Audio CD 507
Wideo AVI 508
Podsumowanie 509
Warsztat 509
Pytania i odpowiedzi 509
Quiz 510
Ćwiczenia 511
Rozdział 13. Zagadnienia nieco bardziej skomplikowane 513
Tworzenie dekoracji okna 513
Paski narzędzi 513
Komponent CoolBar 515
Dodawanie nowego paska narzędzi 518
Dokowalne paski narzędzi 524
Paski stanu 526
Dodawanie funkcji związanych z udostępnianiem poleceń 531
Udostępnianie poleceń przy użyciu klas TActionList i TAction 532
Implementacja mechanizmu udostępniania poleceń 532
Drukowanie w aplikacjach Delphi 538
Standardowe okna dialogowe drukowania 539
Drukowanie w prosty sposób 542
Drukowanie z wykorzystaniem komponentu QuickReport 543
Drukowanie w trudny sposób 543
Praktyczne zastosowanie 546
Drukowanie bitmap 549
Korzystanie z kursorów 549
Podstawy kursorów 550
Ładowanie i korzystanie z kursorów wbudowanych 551
Ładowanie i korzystanie z kursorów użytkowych 552
Podsumowanie 553
Warsztat 553
Pytania i odpowiedzi 553
Quiz 554
Ćwiczenia 555
Rozdział 14. Programowanie zaawansowane 557
Implementowanie pomocy kontekstowej 557
Tworzenie pliku pomocy 558
Identyfikatory kontekstu i właściwość HelpContext 559
Implementowanie pomocy kontekstowej w Delphi 560
Korzystanie z dołączanych plików pomocy 562
Rzeczywiste wykorzystanie pomocy kontekstowej 563
Obsługa błędów programu z wykorzystaniem wyjątków 565
Słowa kluczowe obsługi wyjątków: try, except, finally i raise 565
Generowanie wyjątków 567
Korzystanie z Rejestru 574
Klucze Rejestru 575
Typy danych Rejestru 575
Klasa TRegistry 576
Użytkowanie klasy TRegistry 578
Wyspecjalizowana obsługa komunikatów 585
Więcej na temat komunikatów Windows 585
Wysyłanie komunikatów 588
Obsługa zdarzeń 589
Obsługa pozostałych komunikatów Windows 590
Komunikaty definiowane przez użytkownika 594
Podsumowanie 596
Warsztat 596
Pytania i odpowiedzi 596
Quiz 598
Ćwiczenia 598
Podsumowanie części II 601
Część III
Rozdział 15. Obiekty typu COM i ActiveX 605
Zrozumieć COM 605
Terminologia COM 607
Interfejs IUnknown 610
Tworzenie obiektu COM 610
Zrozumieć ActiveX 623
Korzystanie z zewnętrznych kontrolek ActiveX 623
Tworzenie nowych kontrolek ActiveX 625
Zmiana bitmapy reprezentującej kontrolkę ActiveX w palecie 632
Umieszczanie kontrolek ActiveX i formularzy aktywnych w sieci 633
Opcje dystrybucji sieciowej 634
Dystrybucja w sieci 636
Podsumowanie 637
Warsztat 637
Pytania i odpowiedzi 638
Quiz 639
Ćwiczenia 640
Rozdział 16. Architektura baz danych widziana od strony Delphi 641
Podstawy 641
Lokalne bazy danych 643
Bazy danych typu klient/serwer 643
Jedno , dwu i wielowarstwowa architektura bazy danych 643
Borland Database Engine 645
Sterowniki BDE 645
Aliasy BDE 646
Wbudowane bazy danych Delphi 646
Łączniki SQL 647
Bazodanowe komponenty Delphi 648
Klasa TDataSet 650
Komponent Table 656
Filtry 658
Komponent Query 664
Komponent StoredProc 667
Komponent UpdateSQL 668
Komponent DataSource 669
Komponent Session 670
Komponent Database 670
Komponent BatchMove 673
Komponent TField 674
Komponenty baz danych typu klient/serwer 677
Tworzenie aliasów BDE 677
Tworzenie aliasu przy użyciu Administratora BDE 678
Tworzenie aliasów w kodzie programu 679
Podsumowanie 679
Warsztat 679
Pytania i odpowiedzi 680
Quiz 681
Ćwiczenia 681
Rozdział 17. Formularze baz danych 683
Kreator Formularzy Baz Danych 683
Tworzenie formularza prostego przy pomocy Kreatora Formularzy Baz Danych 684
Nowy formularz w działaniu 688
Tworzenie formularza typu master/details 689
Ręczne tworzenie formularzy baz danych 691
Komponenty danych widziane z bliska 694
Wspólne właściwości komponentów danych 694
Komponent DBGrid 695
Komponent DBNavigator 696
Komponent DBText 696
Komponent DBEdit 696
Komponent DBMemo 696
Komponent DBImage 697
Komponenty DBListBox i DBComboBox 698
Komponent DBCheckBox 698
Komponent DBRadioGroup 698
Komponenty DBLookupListBox i DBLookupComboBox 699
Komponent DBRichEdit 699
Komponent DBCtrlGrid 699
Inne komponenty danych 700
Podsumowanie 701
Warsztat 701
Pytania i odpowiedzi 701
Quiz 702
Ćwiczenia 703
Rozdział 18. Tworzenie aplikacji bazodanowych 705
Niewizualny aspekt programowania bazodanowego 705
Czytanie z bazy danych 706
Tworzenie tabel baz danych w sposób programowy 709
Moduły danych i ich użytkowanie 715
Przykładowy moduł danych 716
Tworzenie raportów 719
Wstęgi raportu 720
Ręczne tworzenie raportów 722
Tworzenie raportów w prosty sposób 724
Dystrybucja bazodanowych aplikacji Delphi 724
Podsumowanie 725
Warsztat 725
Pytania i odpowiedzi 726
Quiz 726
Ćwiczenia 727
Rozdział 19. Tworzenie i użytkowanie bibliotek DLL 729
Wstęp do bibliotek DLL 729
Czym jest biblioteka DLL? 730
Dlaczego powinieneś stosować biblioteki DLL? 731
Anatomia modułu DLL 734
Podstawy pisania bibliotek DLL 734
Funkcje i procedury w bibliotekach DLL 735
Słowo kluczowe exports 736
Procedura inicjująco kończąca – DLLProc 738
Ładowanie bibliotek DLL 740
Ładowanie statyczne 740
Ładowanie dynamiczne 740
Wywoływanie funkcji i procedur w bibliotekach DLL 741
Wywoływanie przy użyciu ładowania statycznego 741
Wywoływanie funkcji i procedur ładowanych dynamicznie 743
Tworzenie projektu DLL przy użyciu Repozytorium 744
Formularze w bibliotekach DLL 749
Tworzenie biblioteki zawierającej formularz 749
Wywoływanie formularza MDI z biblioteki DLL 751
Umieszczanie zasobów w bibliotekach DLL 754
Tworzenie biblioteki zasobów 755
Wykorzystanie biblioteki zasobów 755
Podsumowanie 756
Warsztat 756
Pytania i odpowiedzi 756
Quiz 758
Ćwiczenia 758
Rozdział 20. Tworzenie komponentów 761
Tworzenie nowego komponentu 761
Okno dialogowe nowego komponentu 762
Tworzenie komponentu FlashingLabel 764
Procedura Register 765
Właściwości i metody komponentu 766
Właściwości 766
Pisanie metod dla komponentów 773
Nadawanie funkcjonalności komponentowi TFlashingLabel 774
Deklaracja klasy 777
Sekcja published 777
Sekcja implementacyjna 778
Procedura SetFlashRate 778
Właściwość ComponentState 779
Testowanie komponentu 780
Dodawanie komponentu do Palety Komponentów 783
Dodawanie własnej bitmapy do przycisku komponentu 784
Obsługa zdarzeń komponentów 785
Przegląd zdarzeń 786
Przesłanianie zdarzeń klasy podstawowej 792
Złożenie w jedną całość 792
Podsumowanie 797
Warsztat 798
Pytania i odpowiedzi 798
Quiz 799
Ćwiczenia 800
Rozdział 21. Delphi i Builder C++ 801
Podobieństwa między Delphi i Builderem C++ 801
Zintegrowane środowisko programisty 801
Biblioteka komponentów wizualnych 803
Pliki formularzy 803
Pakiety 804
Różnice między Delphi i Builder C++ 804
Język 805
Rozszerzenia plików 805
Zintegrowane środowisko programisty 805
Edytor Kodu 806
Eksplorator Kodu 806
Nowe elementy VCL 807
Builder C++ może kompilować moduły języka Pascal 807
Współpraca z technologią ActiveX 807
Delphi kompiluje szybciej i tworzy mniejszy plik wykonywalny 807
Konwersja aplikacji z Delphi do Buildera C++ 808
Kopiowanie formularzy Delphi 808
Konwersja kodu 810
Kopiowanie procedur obsługujących zdarzenia 811
Wielokrotne użycie formularzy 815
Podsumowanie 815
Warsztat 815
Pytania i odpowiedzi 815
Quiz 816
Ćwiczenia 816
Rozdział 22. Aplikacje internetowe 817
Komponenty internetowe dostępne w Delphi 817
Budowa przeglądarki sieciowej 819
Komu potrzebna jest jeszcze jedna przeglądarka? 819
Pierwsze kroki procesu budowania przeglądarki 820
Dodanie wskaźnika postępu 821
Dodatki końcowe 822
Użytkowanie Internet Explorera jako kontrolki ActiveX 827
Wysyłanie poczty 829
Dystrybucja aplikacji internetowych 830
Podsumowanie 832
Warsztat 832
Pytania i odpowiedzi 832
Quiz 833
Ćwiczenia 833
Podsumowanie części III 835
Dodatki
Dodatek A Odpowiedzi do pytań 839
Rozdział 1 839
Rozdział 2 840
Rozdział 3 841
Rozdział 4 842
Rozdział 5 843
Rozdział 6 845
Rozdział 7 846
Rozdział 8 847
Rozdział 9 848
Rozdział 10 849
Rozdział 11 850
Rozdział 12 851
Rozdział 13 853
Rozdział 14 854
Rozdział 15 855
Rozdział 16 856
Rozdział 17 857
Rozdział 18 858
Rozdział 19 859
Rozdział 20 860
Rozdział 21 862
Rozdział 22 862
Dodatek B. Internetowe zasoby Delphi 865
Korporacja INPRISE 865
Komercyjne strony WWW 865
Strony WWW prowadzone przez użytkowników 866
Grupy dyskusyjne 867
Publikacje 867
Skorowidz 869