Programowanie Delphi

Sasik

Shirley Williams, Sue Walmsley
Programowanie: Delphi
<small>Tytuł oryginału: Discover Delphi. Programming principles explained</small>
Wydawnictwo RM
ISBN: 83-7243-013-6
Rok wydania: 1999

Osobiście niewiele korzystam z książek o programowaniu. Nie, żebym ich nie lubił, ale niestety, czasem (czyt. często) poprostu szkoda kasy... Dlatego zazwyczaj dochodzę do czegoś metodą prób i błędów lub (od kiedy mam internet) pytając o to na forum. Nie znaczy to jednak, że książek nie mam wogóle. Mam i to aż dwie! Obie postaram się jak najlepiej opisać, gdyż są to wg mnie książki bardzo wartościowe, z których można się nauczyć naprawdę dużo.

Na początek książka autorstwa dwóch pań - Shirley Williams i Sue Walmsley - "Delphi programowanie()". Nie jest to książka cieńka i nie taka znowu droga - do nabycia za około 40 PLN. Jednak nie to jest najwazniejsze. Przede wszystkim chodzi o zawartość.

Jest to książka przeznaczona zarówno dla początkujących jak i dla średnio-zaawansowanych. Z początku są bowiem opisywane problemy banalne (lub jeśli ktoś woli: proste). W dalszej części książki znajdują się jednak zagadnienia ciekawsze - choćby drag&drop, rekurencja, rekordy wariantowe, wskaźniki. Mamy tu także opisane bardzo przydatne właściwości Parent, Owner oraz argumenty Sender i Self, które dla początkujących są z pewnością mało zrozumiałe, a oszczędzają sporo główkowania.

Przykłady - o nich również wypada wspomnieć. Więc jest tu pewien problem, otóż trzeba je przepisywać z książki, niestety nie ma dołączonego CD-ROMU czy choćby dyskietki z samymi źródłami. Jednak myślę, że nie jest to aż tak mocno porażająca wada, gdyż... przykłady są tylko przykładami, służą do tego, żeby czytelnikowi łatwiej było zrozumieć temat i problem w nim poruszany, a nie do przepisywania i zachwycania się nimi. Co nie oznacza, że choćby dyskietka się przydała (myslę, że cd-rom to nie do końca dobry pomysł, podniósłby cenę).

Większość przykładów (kodów źródłowych) jest omówiona w bardzo prszejrzysty sposób - nie za pomocą komentarzy w programie, tylko za pomocą komentarzy do poszczególnych linii kodu - w listingach linie są ponumerowane. Jest to bardzo przejrzyste i wygodne.

Jeszcze jedna miła rzecz związana z kodami znajdującymi się w książce - nazwy zmiennych, procedur itd. są w znacznej większości 'przetłumaczone' na polski. I tak nie mamy procedury Shapes tylko Figury itd. itd. Jest to bardzo ważne i dodatkowo ułatwia analizowanie przykładów, a niestety w wielu książkach nazwy są zostawione w języku angielskim, co czasem zbija z toru myślenia.

Kolejna sprawa to specyficzne podzielenie rozdziału na kilka części. Nie mam tu na myśli 'podrozdziałów', lecz fakt, że w kazdym rozdziale mamy wstęp zapwiadający poruszane zagadnienia, później 'treść właściwą' i w końcu podsumowanie, test 'abc' do którego rozwiązania znajdują się na końcu książki oraz kilka 'praktycznych' ćwiczeń, dzięki którym możemy sprawdzić, czy właściwie pojęliśmy dany rozdział. I o ile testu 'teoretycznego' - 'abc' wg mnie mogłoby nie być (choć nikomu nie przeszkadza, że jest), ćwiczenia są pomysłem trafionym.

Terminy - i tu mnie boli najbardziej. Otóż wystarczy spojrzeć na spis treści i choćby w rozdziale 8: 'Deklaracje lokalne dla formularza', 'Dodatkowe formularze', ... - jest to na mój gust błąd, gdyż ja bym tego formularzem nie nazwał (w większośći, jeśli nie we wszystkich przypadkach najlepiej byłoby użyć poprostu terminu 'okno'!).

Podsumowując: 'Delph programowanie()' jest pozycją bardzo dobrą i nie taką znowu strasznie drogą. Opisuje dość szeroki zakres materiału w zrozumiały i czytelny sposób. Kody żródłowe są dobrze sformatowane i opisane. Niestety nie dołączono żadnej dyskietki ani płyty. Nie udało się także wystrzec kilku błędów językowych. jednak nie są to wady porażające, a wręcz niezauważalne. Dlatego uważam książkę za naprawdę godną polecenia.

Moja ocena: 9+/10


I jeszcze spis treści:
<big>Przedmowa</b></big>
<big>Rozdział 1 Wprowadzenie do Delphi</big>
1.1. Wprowadzenie
1.2. Programowanie w Delphi
1.3. Wersje Delphi
1.4. Uruchamianie Delphi
1.5. Zapisywanie projektów
1.6. Kończenie pracy z Delphi
1.7. Pierwszy tradycyjny program
1.8. Podsumowanie
<big>Rozdział 2 Środowisko programistyczne Delphi</big>
2.1. Wprowadzenie
2.2. Obiekty i zdarzenia
2.3. Okno Inspektora obiektów
2.4. Paleta składników
2.5. Pasek skrótów
2.6. Współpraca z systemem operacyjnym
2.7. Menu
2.8. Podsumowanie
<big>Rozdział 3 Arytmetyka i proste łańcuchy</big>
3.1. Wprowadzenie
3.2. Identyfikatory i zmienne
3.3. Pola edycji
3.4. Więcej obliczeń na liczbach całkowitych
3.5. Liczby naturalne (kardynalne)
3.6. Obliczenia na liczbach zmiennoprzecinkowych
3.7. Kalkulator do obliczania reszty
3.8. Funkcje matematyczne*
3.9. Podsumowanie
<big>Rozdział 4 Instrukcje warunkowe</big>
4.1. Wprowadzenie
4.2. Proste instrukcje if
4.3. Typt Boolean
4.4. Klauzula else
4.5. Instrukcja case
4.6. Okna komunikatów
4.7. Okna dialogowe*
4.8. Okno dialogowe do wprowadzania danych
4.9. Zabawa w zgadywanie
4.10. Zabawa w zgadywanie podejście
4.11. Podsumowanie
<big>Rozdział 5 Pętle z licznikiem</big>
5.1. Wprowadzenie
5.2. Proste pętle z licznikiem
5.3. Działanie struktury for
5.4. Zmienne sterujące inne niż typu Integer
5.5. Instrukcje złożone w pętlach for
5.6. Zagnieżdżone pętle for
5.7. Podsumowanie wiadomości o pętlach for
5.8. Grafika
5.9. Używanie składnika typu figura (ang.
5.10. Używanie właściwości Canvas
5.11. Jeszcze raz problem trójkąta
5.12. Rozbudowa przykładu z trójkątem
5.13. Podsumowanie
<big>Rozdział 6 Petle niedeterministyczne i pliki</big>
6.1. Wprowadznie
6.2. Pętle niedeterministyczne
6.3. Działanie prostej pętli while
6.4. Pętle while z instrukcją złożoną
6.5. Wprowadzanie grafiki
6.6. Zapamiętywanie wyników
6.7. Pętla repeat
6.8. Składnik typu memo
6.9. Zapisywanie wyników w pliku*
6.10. Podsumowanie
<big>Rozdział 7 Tablice, typy okrojone i łańcuchy</big>
7.1. Wprowadzenie
7.2. Tablice jednowymiarowe
7.3. Typy okrojone
7.4. Zmienne typów okrojonych
7.5. Łańcuchy
7.6. Tablice dwuwymiarowe
7.7. Składnik DrawGrid
7.8. Składnik StringGrid
7.9. Tablice wielowymiarowe
7.10. Gra w wyrazy
7.11. Podsumowanie
<big>Rozdział 8 Zakres, rekordy i korzystanie z wielu formularzy</big>
8.1. Wprowadzenie
8.2. Zakres
8.3. Deklarowanie zmiennych
8.4. Deklaracje lokalne dla formularza
8.5. Rekordy
8.6. Instrukcja with
8.7. Potencjalne błędy wynikające z wielokrotnych deklaracji
8.8. Argumenty Sender i Self
8.9. Tworzenie egzemplarzy składników w czasie wykonywania programu
8.10. Tworzenie okna z informacją o programie
8.11. Dodatkowe formularze
8.12. Jeszcze więcej formularzy
8.13. Podsumowanie
<big>Rozdział 9 Procedury i listy opcji</big>
9.1. Wprowadzenie
9.2. Procedury obsługi zdarzeń
9.3. Prosta procedura utworzona przez programistę
9.4. Procedury użytkownika z parametrami przekazywanymi przez zmienną i przez wartość
9.5. Umiejscowianie procedur
9.6. Procedury z parametrami w postaci otwartych tablic
9.7. Procedury z parametrami typu const
9.8. Funkcje wbudowane
9.9. Funkcje definiowane prze programistę
9.10. Rekurencja
9.11. Procedura rekurencyjna
9.13. Składnik typu pole listy
9.14. Sortowanie za pomocą wybierania
9.15. Szybkie sortowanie
9.16. Podsumowanie
<big>Rozdział 10 Obiekty</big>
10.1. Wprowadzenie
10.2. Właściwości Owner i Parent
10.3. Tworzenie obiektów
10.4. Definiowanie metod dla obiektów
10.5. Niszczenie obiektów
10.6. Typy obiektów
10.7. Obiekty bez reprezentacji wizualnej
10.8. Polimorfizm
10.9. Podsumowanie
<big>Rozdział 11 Obsługa wyjątków</big>
11.1. Wprowadzenie
11.2. Konstrukcja try...except
11.3. Konstrukcja try...finally
11.4. Zgłaszanie wyjątku
11.5. Wyjątki definiowane przez programistę
11.6. Wyjątki ciche
11.7. Przeciąganie i upuszczanie*
11.8. Przykład
11.9. Podsumowanie
<big>Rozdział 12 Typt wyliczeniowe i zbiory</big>
12.1. Wprowadzenie
12.2. Typt wyliczeniowe
12.3. Krótkie wprowadzenie do zbiorów i operacji na nich
12.4. Typ set
12.5. Grupa przycisków opcji
12.6. Pola wyboru
12.7. Rekordy wariantowe
12.8. Podsumowanie
<big>Rozdział 13 Moduły i programowanie modularne</big>
13.1. Wprowadzenie
13.2. Struktura modułu
13.3. Lista uses
13.4. Moduły definiowane przez programistę
13.5. Testowanie modułu
13.6. Inicjacja i finalizacja
13.7. Obiekty i moduły
13.8. Przykład
13.9. Podsumowanie
<big>Rozdział 14 Wskaźniki</big>
14.1. Wprowadzenie
14.2. Typy wskaźnikowe
14.3. Parametry przekazywane przez zmienną
14.4. Wskaźniki i sterta globalna
14.5. Struktura danych ze wskaźnikami
14.6. Stosy
14.7. Listy łączone jako obiekty*
14.8. Podsumowanie
<big>Rozdział 15 Co dalej?</big>
15.1. Wprowadzenie
15.2. Bazy danych
15.3. Formularze MDI
15.4. System pomocy
15.5. Biblioteki dołączane dynamicznie (DLL)
15.6. Rejestrowanie składników
15.7. Multimedia
15.8. Komunikacja z innymi aplikacjami Windows
15.9. Internet i ActiveX
15.10. Inne języki programowania
15.11. Podsumowanie
<big>Dodatek A Techniki usuwania błędów w programie</big>
<big>Dodatek B Glosariusz</big>
<big>Dodatek C Materiały uzupełniające i polecana lektura</big>
<big>Dodatek D Odpowiedzi do testów</big>
<big>Dodatek E Zestawienie głównych konstrukcji składniowych języka Object Pascal</big>

7 komentarzy

Niech ktoś odblokuje w parserze php możliwość używania ( twardych spacji ) bo poprawiłem je ( wpisałem po wszystkich średniki ) ale nie działają...

Po twardych spacjach dawaj średnik, bo sam widzisz co wychodzi :/

Morgoth - właśnie, bo nie można w Coyocie wstawiać znaków specjalnych. Czemu? Powód oczywisty - & zamieniane jest na &. W takim razie nie pozostaje nic, jak usunac te &nbsp; - bo i po co właściwie one?

Wrzućcie to do word'a i sprawdźcie błędy.

Ładna okladka ;-P

ksiazka mierna moim zdaniem... :/

cd-rom??
podniósłby cenę??
na jakim ty świecie żyjesz??
płyty cd (nawet w opakowaniach) są tańsze od dyskietek, a znając wydawnictwa to daliby w foliowej kopercie, chyba, że ta książka jest z dawnych czasów kiedy płyta kosztowała z 10 zł :D