Recenzje

Programowanie Delphi

  • 2008-04-21 16:07
  • 7 komentarzy
  • 1733 odsłony
  • Oceń ten tekst jako pierwszy
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

Coldpeer 2007-08-01 16:09

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

Morgoth_ 2007-08-01 15:06

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ą...

Coldpeer 2006-04-17 17:10

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

Mabakay 2006-04-17 14:43

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

Meylot 2006-02-12 12:57

Ładna okladka ;-P

czarownik 2004-02-17 16:07

ksiazka mierna moim zdaniem... :/

Spine 2004-02-17 18:51

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