ABC Delphi 2006 - Helion

ISBN: 83-246-0573-8
stron: 336, Format: B5, okładka: miękka
Data wydania: 2006-11-09
Księgarnia: Helion
Cena książki: 37,00 zł
Poznaj jedno z najpopularniejszych narzędzi programistycznych
Środowisko programistyczne Delphi od lat cieszy się zasłużoną popularnością wśród twórców oprogramowania. Potężne narzędzie programistyczne, oparte na popularnym języku Pascal, było prekursorem środowisk wizualnych, w których tworzenie aplikacji przypomina budowanie modelu z klocków. Kolejne wersje Delphi były wykorzystywane do tworzenia przeróżnych aplikacji -- począwszy od prostych programików, a skończywszy na rozbudowanych systemach bazodanowych. Najnowsza wersja, oznaczona symbolem 2006, umożliwia tworzenie aplikacji dla platformy .NET oraz "tradycyjnych" aplikacji Win32.
Książka "ABC Delphi 2006" to wprowadzenie do programowania w tym środowisku. Na praktycznych przykładach przedstawia najnowszą wersję Delphi, język Object Pascal oraz filozofię tworzenia aplikacji na podstawie komponentów VCL. Czytając ją, poznasz środowisko programistyczne, elementy języka Object Pascal oraz zasady programowania strukturalnego i obiektowego. Nauczysz się budować własne aplikacje dla systemu Windows oraz wykorzystywać i tworzyć komponenty VCL. Zdobędziesz solidne podstawy do dalszej nauki programowania w Delphi.
- Struktura projektu w Delphi
- Typy danych i zmienne
- Instrukcje sterujące, pętle i wyrażenia warunkowe
- Programowanie obiektowe
- Wykrywanie i usuwanie błędów w kodzie
- Korzystanie z komponentów VCL
- Programowanie grafiki
- Operacje na plikach i drukowanie
- Zapisywanie informacji w rejestrze Windows
- Projektowanie komponentów
Pobierz rozdziały: 12, 13 i 14 jako pliki PDF.
Osoby które kupowały "ABC Delphi 2006", wybierały także:
- Aplikacje w Delphi. Przykłady. Wydanie III 58,98 zł, (29,49 zł -50%)
- Delphi 7. Kompendium programisty 129,00 zł, (77,40 zł -40%)
- Delphi 2007 dla WIN32 i bazy danych 89,00 zł, (66,75 zł -25%)
- Programowanie w języku Delphi 49,00 zł, (36,75 zł -25%)
- Machine Learning 88,94 zł, (76,49 zł -14%)
Spis treści
ABC Delphi 2006 -- spis treści
Wstęp (11)
I Środowisko programistyczne Borland Developer Studio i język programowania Object Pascal (15)
1. Poznajemy możliwości Delphi (17)
- Platformy Win32 i .NET (18)
- Co to jest Win32? (18)
- Czym jest platforma .NET? (19)
- Pierwszy projekt (20)
- Projekt VCL Forms Application - Delphi for Win32 (21)
- Jak umieścić komponent na formie? (22)
- Co to jest inspektor obiektów? (23)
- Jak za pomocą inspektora obiektów zmieniać własności komponentów? (23)
- Jak dopasować położenie komponentu? (26)
- Jak umieszczać na formie wiele komponentów tego samego typu? (26)
- Jak zaznaczyć wiele komponentów jednocześnie? (27)
- Jak zaprogramować reakcję programu na kliknięcie panelu przez użytkownika? (27)
- Domyślna metoda zdarzeniowa (28)
- Polecenie ShowMessage (28)
- CodeInsight, czyli nieoceniona pomoc w trakcie edycji kodu (29)
- Model zdarzeniowy projektowania aplikacji (30)
- Jak uruchomić projektowaną aplikację? (30)
- Jak przełączać między widokiem projektowania i edytorem? (31)
- Jak ustalić pozycję okna po uruchomieniu aplikacji? (31)
- Jak zmieniać własności obiektów programowo? (32)
- Jak zapisać projekt na dysku? (33)
- Oznaczenie zmian w kodzie (35)
- Pliki projektu Win32 (35)
- Pierwsze podsumowanie (36)
- Ustawienia projektu (36)
- Jak zmienić tytuł i ikonę aplikacji? (36)
- Informacje o wersji aplikacji dołączane do skompilowanego pliku .exe (37)
- Déja vu, czyli pierwszy projekt w wersji dla platformy .NET (40)
- Projekt VCL Forms Application - Delphi for .NET (40)
- Pliki projektu VCL.NET (43)
- Dystrybucja programów (44)
- Projekty VCL Forms Application - Delphi for Win32 (44)
- Projekty dla .NET korzystające z biblioteki Windows Forms (44)
- Projekty VCL Forms Application - Delphi for .NET (44)
- Win32 albo .NET? - oto jest pytanie (45)
- Konfiguracja środowiska Delphi 2006 (47)
- Okno postępu kompilacji (47)
- Automatyczne zapisywanie plików projektu (47)
- Modyfikowanie menu File/New (48)
- Edytor kodu (50)
- Opcje edytora (50)
2. Analiza kodu pierwszej aplikacji, czyli wprowadzenie do języka Object Pascal (53)
- Wczytywanie istniejącego projektu (54)
- Jak wczytać wcześniej zapisany projekt do Delphi? (54)
- Plik Kolory.dpr (54)
- Moduł Unit1.pas (57)
- Jak wczytać moduł będący elementem projektu? (57)
- Czym jest moduł? (58)
- Sekcje modułu (59)
- Interfejs modułu Unit1 (59)
- Implementacja (60)
- Pliki .dfm i .nfm (61)
- Kod źródłowy projektu dla platformy .NET (61)
3. Typy zmiennych i instrukcje sterujące, czyli o tym, co każdy programista umieć musi (63)
- Podstawy (64)
- Równanie kwadratowe (64)
- Przygotowanie interfejsu (66)
- Deklarowanie zmiennych (67)
- Dygresja na temat typów rzeczywistych w Delphi (68)
- Konwersja łańcucha na liczbę (69)
- Obliczenia arytmetyczne i ich kolejność (71)
- Typ logiczny i operatory logiczne (72)
- Instrukcja warunkowa if (73)
- Jak wyłączyć podpowiadanie przez edytor szablonów instrukcji? (74)
- O błędach w kodzie i części else instrukcji warunkowej (75)
- Procedura Exit (78)
- Na tym nie koniec (79)
- Typy całkowite Delphi (79)
- Instrukcja wielokrotnego wyboru case (81)
- Procedura ShowMessage (83)
- Obsługa wyjątków (84)
- Czym są i do czego służą wyjątki? (84)
- Przechwytywanie wyjątków (85)
- Zgłaszanie wyjątków (87)
- Pętle (88)
- Pętla for (88)
- Pętla for w praktyce, czyli tajemnica pitagorejczyków (89)
- Uwaga o instrukcji goto, którą należy czytać z zamkniętymi oczami (92)
- Pętla repeat..until (92)
- Pętla while..do (93)
- Procedury Break i Continue (94)
- Podsumowanie (96)
- Typy złożone (96)
- Tablice (96)
- Pętla for..in..do (98)
- Tablice dwuwymiarowe (99)
- Definiowanie własnych typów (100)
- Tablice dynamiczne (100)
- Typy wyliczeniowe (101)
- Zbiory (102)
- Rekordy (106)
- Jak sprawdzić zawartość tablicy rekordów? (109)
- Instrukcja with (109)
- Kombinacja rekordów i typów wyliczeniowych (110)
- Kilka słów o konwersji typów (111)
- Łańcuchy (112)
- Dyrektywy preprocesora (114)
- Definiowanie bloków (114)
- Kompilacja warunkowa (116)
- Wskaźniki (117)
- Czym są wsaźniki? (117)
- Podstawowe konstrukcje (118)
- Wskaźniki w projekcie .NET (119)
- Do czego mogą służyć wskaźniki? (120)
- Wskaźniki - unikać, czy nie? (120)
- W domu: (121)
- Zdegenerowane równanie kwadratowe (121)
- Silnia (121)
- Imitacja pętli for (121)
- NWD (121)
- Ikony formy (122)
- Typ wyliczeniowy i zbiór (122)
- Rekordy (122)
- Instrukcja with (122)
4. Programowanie strukturalne (123)
- Procedury, funkcje, moduły (124)
- Procedury (124)
- Definiowanie procedury (125)
- Interfejs modułu (127)
- Parametry procedur przekazywane przez wartość (129)
- Większa ilość parametrów (129)
- Wartości domyślne parametrów (130)
- Parametry przesyłane przez zmienną (referencję) (130)
- Funkcje (131)
- Funkcje imitujące globalne stałe (133)
- Zmienne proceduralne (133)
- W domu (134)
- Funkcje Silnia i NWP (134)
- Sekcje initialization i finalization modułu (134)
5. Programowanie obiektowe (135)
- Pojęcia obiekt i klasa (135)
- Klasa (136)
- Referencje (zmienne obiektowe) (137)
- Tworzenie obiektów (138)
- Jeden obiekt może mieć wiele referencji (140)
- Interfejs i implementacja klasy (141)
- Definicja klasy (141)
- Projektowanie klasy - ustalanie zakresu dostępności pól i metod (142)
- Pola (144)
- Konstruktor klasy - inicjowanie stanu obiektu (144)
- Referencja Self (146)
- Tworzenie obiektów (146)
- Usuwanie obiektów z pamięci w projektach dla platformy Win32 (147)
- Metoda Free w platformie .NET (147)
- Metoda prywatna (148)
- Zbiór metod publicznych udostępniających wyniki (149)
- Testowanie klasy (150)
- Przechwytywanie wyjątków (151)
- Zwiększona kontrola zakresu dostępności (151)
- Przestrzenie nazw (151)
- Nowe zakresy dostępności w klasach (152)
- Blokowanie dziedziczenia (153)
- W domu (153)
- Referencje (153)
- Referencja Self (154)
- Rozwój klasy TRownanieKwadratowe (154)
- Metody statyczne (154)
- Definiowanie operatorów w projektach .NET (155)
6. Podstawy debugowania kodu (157)
- Debuger środowiska BDS (158)
- Ukryty błąd (158)
- Aktywowanie debugowania (159)
- Kontrolowane uruchamianie i śledzenie działania aplikacji (160)
- Zaawansowane techniki debugowania (161)
- Breakpoint (161)
- Obserwacja wartości zmiennych (162)
- Obsługa wyjątków przez środowisko BDS (163)
- Wyłączanie debugowania (165)
7. Korzystanie z klas platformy .NET na przykładzie kolekcji (167)
- Kolekcje w Delphi (168)
- Kolekcja ArrayList (168)
- Kolekcja SortedList i inne (170)
II Biblioteki komponentów VCL i VCL.NET (173)
8. Podstawowe komponenty VCL/VCL.NET (175)
- Komponent TShape - powtórzenie wiadomości (176)
- Jak umieszczać komponenty na formie? (176)
- Jak modyfikować złożone własności komponentów za pomocą inspektora obiektów? (176)
- Jak reagować na zdarzenia? (177)
- Komponent TImage. Okna dialogowe (179)
- Automatyczne adaptowanie rozmiarów komponentów do rozmiaru formy (179)
- Jak wczytać obraz w trakcie projektowania aplikacji? (180)
- Konfigurowanie komponentu TOpenDialog (181)
- Jak wczytać obraz podczas działania programu za pomocą okna dialogowego? (181)
- Jak odczytać plik w formacie JPEG? (183)
- Kontrola programu za pomocą klawiatury (185)
- Wczytywanie dokumentu z pliku wskazanego jako parametr linii komend (186)
- Jak uruchomić projektowaną aplikację w środowisku BDS z parametrem linii komend? (187)
- Komponent TMediaPlayer (187)
- Odtwarzacz plików wideo (188)
- Panel jako ekran odtwarzacza wideo (190)
- Wybór filmu za pomocą okna dialogowego w trakcie działania programu (190)
- Odtwarzacz CDAudio (192)
- Komponenty sterujące (192)
- Suwak TScrollBar i pasek postępu TProgressBar (192)
- Pole opcji TCheckBox (193)
- Pole wyboru TRadioButton (194)
- Niezależna grupa pól wyboru (196)
- TTimer (197)
- Czynności wykonywane cyklicznie (197)
- Czynność wykonywana z opóźnieniem (198)
- Aplikacja z wieloma formami (199)
- Dodawanie form do projektu (199)
- Dostęp do nowej formy z formy głównej (200)
- Show versus ShowModal (202)
- Zmiana własności Visible formy w trakcie projektowania (203)
- Dostęp do komponentów z innej formy (204)
- Właściciel i rodzic (205)
- Własności Owner i Parent komponentów (205)
- Zmiana rodzica w trakcie działania programu (207)
- Co właściwie oznacza zamknięcie dodatkowej formy? (207)
- Tworzenie kontrolek VCL w trakcie działania programu (208)
- W domu (210)
- Komponent TSaveDialog (210)
- Komponenty TMemo, TRichEdit (210)
- Komponent TRadioGroup (210)
9. Więcej VCL ... (211)
- Menu aplikacji (211)
- Menu główne aplikacji i edytor menu (212)
- Rozbudowywanie struktury menu (214)
- Tworzenie nowych metod związanych z pozycjami menu (215)
- Wiązanie istniejących metod z pozycjami menu (216)
- Wstawianie pozycji. Separatory (216)
- Usuwanie pozycji z menu (218)
- Klawisze skrótu (218)
- Ikony w menu (219)
- Pasek stanu (220)
- Sztuczki z oknami (222)
- Jak spowodować, aby forma stopniowo znikała przy zamknięciu aplikacji (223)
- Jak uzyskać dowolny kształt formy? (224)
- Jak poradzić sobie z niepoprawnym skalowaniem formy w systemach z różną wielkością czcionki? (225)
- Jak ograniczyć rozmiary formy? (226)
- Jak przygotować wizytówkę programu (splash screen)? (227)
- W domu (229)
- Menu kontekstowe (229)
- Pasek narzędzi (230)
10. Prosta grafika (231)
- Płótno i sztaluga (231)
- Klasa TCanvas (231)
- Odświeżanie formy. Zdarzenie OnPaint formy (232)
- Linie (232)
- Mieszanie kolorów (232)
- Rysowanie linii (234)
- ClientHeight i Height, czyli obszar użytkownika formy (236)
- Okno dialogowe wyboru koloru TColorDialog (237)
- Punkty (239)
- Korzystanie z tablicy TCanvas.Pixels (239)
- Negatyw (240)
- Jak w projektach dla platformy Win32 umożliwić edycję obrazów z plików JPEG? (242)
- Kilka słów o operacjach na bitach (244)
- Własność TBitmap.ScanLine (platforma Win32) (246)
- Wskaźniki IntPtr i klasa Marshal (platforma .NET) (247)
- Inne możliwości płótna (248)
- Tekst na płótnie (248)
- Obraz na płótnie w projekcie Win32 (251)
- Obraz na płótnie w projekcie .NET (253)
- W domu (254)
11. Operacje na plikach i drukowanie z poziomu VCL i VCL.NET (255)
- Automatyczne dopasowywanie rozmiaru komponentów (256)
- Własność Align, czyli o tym jak przygotować interfejs aplikacji, który będzie automatycznie dostosowywał się do zmian rozmiaru formy? (256)
- Komponent TSplitter (257)
- Komponenty VCL pomagające w obsłudze plików (258)
- Jak połączyć komponenty TDriveComboBox, TDirectoryListBox i TFileListBox żeby stworzyć prostą przeglądarkę plików? (259)
- Jak filtrować zawartość komponentu TFileListBox? (259)
- Prezentowanie nazwy katalogu wybranego za pomocą TDirectoryListBox na komponencie TLabel (259)
- Prezentowanie na komponencie TLabel pliku wybranego w TFileListBox (261)
- Jak z łańcucha wyodrębnić nazwę pliku, jego rozszerzenie lub katalog, w którym się znajduje? (261)
- Wczytywanie plików graficznych wskazanych w FileListBox (263)
- Przeglądanie katalogów w TFileListBox (264)
- Obsługa plików z poziomu Object Pascala (266)
- Tworzenie pliku tekstowego (266)
- Dopisywanie do pliku (268)
- Odczytywanie plików tekstowych (269)
- Funkcja czy procedura (271)
- System plików (272)
- Operacje na plikach (273)
- Operacje na katalogach (275)
- Jak sprawdzić ilość wolnego miejsca na dysku? (275)
- Drukowanie "automatyczne" (276)
- Drukowanie tekstu znajdującego się w komponencie TRichEdit. Okno dialogowe TPrintDialog (277)
- Wybór drukarki z poziomu kodu aplikacji (279)
- Drukowanie "ręczne" (280)
- Tworzenie i przygotowanie modułu Drukowanie (280)
- Jak w trybie graficznym wydrukować tekst przechowywany w klasie TStrings? (281)
- Testowanie drukowania tekstu w trybie graficznym (285)
- Jak wydrukować obraz z pliku? (286)
- Dodawanie kodu źródłowego modułu do projektu (288)
- Powtórka z edycji menu aplikacji (289)
- Testowanie procedury drukującej obraz (289)
- W domu (290)
- Klasa TStringList (290)
- Rozwijanie procedur Drukuj (291)
A Rozwiązania niektórych zadań (293)
- Rozdział 3 (293)
- Zdegenerowane równanie kwadratowe (293)
- Silnia (295)
- Imitacja pętli for (296)
- NWD (296)
- Ikony formy (297)
- Typ wyliczeniowy i zbiór (298)
- Rekordy (298)
- Instrukcja with (299)
- Rozdział 4 (299)
- Funkcja Silnia (299)
- Funkcja NWD (300)
- Sekcje initialization i finalization modułu (301)
- Rozdział 5 (302)
- Referencje (302)
- Referencja Self (302)
- Rozwój klasy TRownanieKwadratowe (303)
- Metody statyczne (304)
- Rozdział 8 (305)
- Komponent TSaveDialog (305)
- Komponent TMemo (306)
- Komponent TRadioGroup (307)
- Rozdział 9 (308)
- Menu kontekstowe (308)
- Pasek narzędzi (308)
- Rozdział 10 (309)
- Rozdział 11 (310)
- Rozwijanie procedur Drukuj (310)
Skorowidz (315)





