C:\Documents and Settings\andrzej\Pulpit\PP-2.shw

Post on 11-Jan-2017

217 views 0 download

Transcript of C:\Documents and Settings\andrzej\Pulpit\PP-2.shw

PODSTAWYPROGRAMOWANIA

Andrzej Marciniak

Prezentacja multimedialna przygotowana za pomocą systemu Corel® Presentations X3Copyright © 2003-2017 by Andrzej Marciniak

PP-2(1 z 55)

Na poprzednim wykładzie ...

Pplan wykładów

Ppodstawowe pojęcia związane z programowaniem

Pprzegląd języków programowania

P symbole w sieciach działań(schematy blokowe)

PP-2(2 z 55)

Na tym wykładzie ...

Pmaksymy programistyczne (D. Van Tassel)

Pogólne zasady programowania zorientowanegoobiektowo

Phistoria języka Delphi i ogólna charakterystykapakietu Embarcadero Delphi XE2

Ppodstawowe pojęcia związane z konstruowaniemprogramów w zintegrowanym systemieprogramowania

Pposługiwanie się zintegrowanym systememprogramowania PP-2(3 z 55)

Maksymy programistyczne

(Dennie Van Tassel, Praktyka programowania, WNT, Warszawa)

PBezbłędny i sensowny program jestabstrakcyjnym pojęciem teoretycznym.

PCelem programowania jest nie program, leczwynik obliczenia.

PDuży monolityczny program jest jak talerzspaghetti: dotkniesz go z jednej strony i zaraz coś się rusza z drugiej.

PP-2(4 z 55)

Maksymy programistyczne

(Dennie Van Tassel, Praktyka programowania, WNT, Warszawa)

PDlaczego nie mamy nigdy czasu, by programnapisać dobrze, natomiast zawsze dość czasu, bygo przerobić?

PKłopoty z ukrytymi błędami polegają na tym, żewystępują one tym częściej, im częściej i powszechniej stosuje się program.

P Jeśli program warto napisać, to warto go napisaćpoprawnie.

PP-2(5 z 55)

Maksymy programistyczne

(Dennie Van Tassel, Praktyka programowania, WNT, Warszawa)

PProgramy mają być czytane przez ludzi.

PBUZI = Bez Udziwnień Zapisuj, Idioto (ang. KISS = Keep It Simple, Stupid).

PWybieraj jak najstaranniej algorytm rozwiązania.

PNajpierw projekt, potem kodowanie.

PProjektując, dbaj o uniwersalność programu.

PGdy coś nie działa, jego sprawność nie mażadnego znaczenia.

PP-2(6 z 55)

mhm ...

Nie w każdej chwili, nie w każdym czasie

dobre programy napisać da się.

Więc jeśli możesz, śpiesz do nich śmiało,

strzegąc się przeszkód, których niemało.

PP-2(7 z 55)

A. M.

Ogólne zasady programowaniazorientowanego obiektowo

Phermetyczność (ang. encapsulation),

Pdziedziczność (ang. inheritance),

Ppolimorfizm (ang. polymorphism).

PP-2(8 z 55)

Programowanie zorientowane obiektowojest podstawową metodologią wszystkichwspółczesnych języków.

U jego podstaw leżą trzy podstawowe pojęcia:

Ogólne zasady programowaniazorientowanego obiektowo

Hermetyczność oznacza, że struktury danych i kodyprogramowe są połączone w całościową jednostkęprogramową, zwaną obiektem. Ogólnie dostępnestruktury danych w obiekcie nazywa się własnościami (ang. properties), a ogólnie dostępnekody programowe - metodami. Obiekt może posiąśćmetody i dane innego obiektu, ale metody jednegoobiektu nie mają bezpośredniego dostępu do danychinnego obiektu. Możliwe jest też ukrycie pewnychdanych i metod obiektu przed innym obiektem, przezco nie będą one z niego dostępne.

PP-2(9 z 55)

Ogólne zasady programowaniazorientowanego obiektowo

Główną zaletą hermetyczności obiektów jestmożliwość zabezpieczenia danych przedjednoczesnym dostępem przez różne fragmentykodu programowego.

W programowaniu strukturalnym nie byłostrukturalizacji danych, co powodowało możliwośćdostępu do „morza” danych przez każdą procedurę, a zapewnienie dostępu do odpowiednich danych byłozadaniem programisty.

PP-2(10 z 55)

Ogólne zasady programowaniazorientowanego obiektowo

PP-2(11 z 55)

Ogólne zasady programowaniazorientowanego obiektowo

PP-2(12 z 55)

Ogólne zasady programowaniazorientowanego obiektowo

Dziedziczność obiektów umożliwia programiściedefiniowanie potomków istniejących obiektów.

Ponieważ potomek dziedziczy własności i metody po swoimprzodku, określa się w nim jedynie różnice w odniesieniu doprzodka. Praca programisty koncentruje się naoprogramowaniu własności i metod unikatowych dlapotomka. Zasada dziedziczności jest też wygodnaw przypadku wykonywania zmian obejmujących całą klasęobiektów - wystarczy wówczas je wykonać tylko w obiekcienadrzędnym (wszystkie obiekty potomne automatyczniebędą uwzględniać te zmiany).

PP-2(13 z 55)

Ogólne zasady programowaniazorientowanego obiektowo

PP-2(14 z 55)

Ogólne zasady programowaniazorientowanego obiektowo

PP-2(15 z 55)

Polimorfizm umożliwia tworzenie w obiektachpotomnych metod o takich samych nazwach, jak w obiektach nadrzędnych, ale wykonujących różneczynności.

Dzięki polimorfizmowi programista może„nakazać” obiektowi wykonać określoną metodę,bez wnikania w wewnętrzne szczegóły dotyczącerodzaju (typu) danego obiektu.

Ogólne zasady programowaniazorientowanego obiektowo

PP-2(16 z 55)

Nieco historii ...

P1971 – Niklaus Wirth, The Programming Language Pascal, Acta Informatica 1, 35-63

P1974 – Kathleen Jensen, Niklaus Wirth, Pascal User Manual and Report, Springer-Verlag, New York

Później N. Wirth zaprzestał rozwijanie języka Pascal i w 1977 roku stworzył jegonastępcę – język Modula, który jednak nie stał się tak bardzo popularny.

P1983 – Anders Hejlsberg, Turbo Pascal (1.0)

PTurbo Pascal 3.0 (1986) – grafika żółwiowa (ang. turtle graphics)

PTurbo Pascal 4.0 (1987) – programowanie modularne

PTurbo Pascal 5.0 (1988) – nakładkowanie oraz wykorzystanie wbudowanego asemblera i debuggera PP-2(17 z 55)

Nieco historii ...

PTurbo Pascal 5.5 (1989) – elementy programowania zorientowanego obiektowo

PTurbo Pascal 7.0 (1992) – „pokonanie” bariery 640 kB pamięci operacyjnej

PDelphi (1) (1995) – konstruowanie aplikacji z elementów wizualnych, wykorzystanie bibliotek DLL, dostęp do mechanizmów obsługi baz danych

PDelphi 2 (1996) – Delphi dla 32-bitowego środowiska Windows 95 i NT, nowe komponenty, dziedziczenie formatek, wykorzystanie technologii OLE, zgodność z 16-bitowymi projektami PP-2(18 z 55)

Nieco historii ...

PDelphi 3 (1997) – implementacja kolejnych technologii dotyczących programowania w środowisku Windows: obiektów COM, komponentów ActiveX, aplikacji serwerów WWW i wielowarstwowych aplikacji SQL

PDelphi 4 (1998) – usprawnienia zintegrowanego środowiska programowania (eksplorator modułów, edytor pokazujący uzupełnianie definicji klas), technologie MIDAS, DCOM, MTS i CORBA

PDelphi 5 (1999) – elementy usprawniające tworzenie aplikacji związanych z Internetem

W 2000 roku pojawia się wersja 1.0 produktu firmy Borland – Free Pascal. PP-2(19 z 55)

Nieco historii ...

PDelphi 6 (2001) – zgodność z Kylix (bibioteka komponentów CLX – Component Library for Cross Platform)

PDelphi 7 (2002) – przystosowanie aplikacji stworzonych w Delphi do platformy Microsoft .NET (aplikacje korporacyjne), raportowanie wizualne (Rave Reports), nowe komponenty specyficzne dla Windows XP, usługi sieciowe wykorzystujące

XML (Extensible Markup Language)

PDelphi 8 (2003) – zmiana wyglądu i rozszerzenia funkcjonalności zintegrowanego środowiska programowania, rozszerzenia bibliotek VCL i CLX PP-2(20 z 55)

Nieco historii ...

PDelphi 2005 (część pakietu Borland Developer Studio 2005)– nowe zintegrowane środowisko programowania umożliwia pracę wieloosobową oraz programowanie dla środowisk Win 32, .NET i w języku C#

Free Pascal 2.0 (2005)

PDelphi 2006 (część pakietu Borland Developer Studio 2006)– środowisko programowania umożliwia dodatkowo programowanie w języku C++

Free Pascal 2.0.4 (2006)

W listopadzie 2006 roku firma Borland tworzy firmę-córkę CodeGear, którejzadaniem ma być dalszy rozwój środowisk programowania.

PCodeGear Delphi 2007 dla Vista i AJAX

PDelphi/400 CodeGear (2008) PP-2(21 z 55)

Nieco historii ...

W maju 2008 roku firma CodeGear zostaje sprzedana firmie EmbarcaderoTechnologies.

PDelphi 2009 – wprowadzenie do języka typów generycznych, metod anonimowych i pełnej obsługi składni standardu Unicode

PEmbarcadero Delphi XE (Delphi 2011)Informacja producenta:

Embarcadero Delphi XE jest kompletnym pakietem do szybkiegotworzenia rozbudowanych aplikacji Windows. Pozwala znacznieograniczyć czas pisania kodu i nawet kilkakrotnie skrócić czasdostarczania aplikacji dzięki wykorzystaniu bogatej bibliotekikomponentów oraz w pełni dwukierunkowego środowiska RAD IDE(skrót ang. Rapid Application Development, Integrated DevelopmentEnvironment)

PP-2(22 z 55)

Nieco historii ...

Narzędzie pozwala na wydajne tworzenie rozwiązań dla wielu różnychsystemów Windows korzystających z różnych platform bazodanowych,w tym rozbudowanych aplikacji GUI (skr. ang. Graphical UserInterface), interaktywnych aplikacji dotykowych, kioskówmultimedialnych oraz wielowarstwowych aplikacji bazodanowych,internetowych i programowania „w chmurze”.

W maju 2008 roku firma CodeGear zostaje sprzedana firmie EmbarcaderoTechnologies.

PDelphi 2009 – wprowadzenie do języka typów generycznych, metod anonimowych i pełnej obsługi składni standardu Unicode

PEmbarcadero Delphi XE (Delphi 2011)Informacja producenta:

PP-2(23 z 55)

Nieco historii ...

W maju 2008 roku firma CodeGear zostaje sprzedana firmie EmbarcaderoTechnologies.

PDelphi 2009 – wprowadzenie do języka typów generycznych, metod anonimowych i pełnej obsługi składni standardu Unicode

PEmbarcadero Delphi XE (Delphi 2011)Informacja producenta:

Delphi XE pozwala na:- szybsze tworzenie aplikacji dzięki gotowym do użycia komponentom oraz wizualnej technice „drag-and-drop”, - tworzenie aplikacji które wymagają szybkiej wizualizacji danych, bieżącego kontrolowania urządzeń (tryb czasu rzeczywistego), manipulowania obiektami i grafiką 3D, tworzenia modeli finansowych,

PP-2(24 z 55)

Nieco historii ...

Delphi XE pozwala na:- otwarcie aplikacji na przyszłe wyzwania – tworzenie natywnych połączeń z 9 głównymi bazami danych wsparte wykorzystaniem komponentów do „łączenia w chmurze”,- wykorzystanie tysięcy darmowych i komercyjnych komponentów wspierających programowanie interfejsów użytkownika, baz danych, rozwiązań wielowarstwowych, internetowych i wielu innych.

W maju 2008 roku firma CodeGear zostaje sprzedana firmie EmbarcaderoTechnologies.

PDelphi 2009 – wprowadzenie do języka typów generycznych, metod anonimowych i pełnej obsługi składni standardu Unicode

PEmbarcadero Delphi XE (Delphi 2011)Informacja producenta:

PP-2(25 z 55)

Nieco historii ...

PP-2(26 z 55)

Od września 2015 roku S Delphi 10 Seattle(zob. www.embarcadero.com.pl/produkty/delphi)

Nieco historii ...

PP-2(27 z 55)

Darmowy Pascal S Free Pascal (FPK Pascal lub FPC)obecnie wersja 2.6.4(zob. www.freepascal.org)

Darmowe środowisko programistyczne oparte na kompilatorzeFree Pascal S Lazarusobecnie wersja 1.4.4, w większościprzypadków zgodna z Delphi(zob. www.lazarus-ide.org)

Ogólna charakterystykapakietu Embarcadero Delphi XE2

PP-2(28 z 55)

Pakiet Embarcadero Delphi XE2 zawieraśrodowisko programistyczne, za pomocą któregomożna tworzyć profesjonalne aplikacjewykorzystujące biblioteki komponentów, bazydanych i usługi połączeniowe. Jest on dostępny w pięciu wersjach: Starter, Professional,Enterprise, Ultimate i Architect.

We wszystkich wersjach znajduje się 32-bitowyoptymalizujący kompilator języka Delphiuwzględniający kraj użytkownika określony w systemieoperacyjnym.

Ogólna charakterystykapakietu Emarcadero Delphi XE2

PP-2(29 z 55)

Kompilator taki przyjęto w Polsce nazywać kompilatoremnatywnym (ang. native code compiler). Tworzy on plikiwykonywalne, które mogą być uruchamiane w 32- i 64-bitowym systemie operacyjnym Windows.

Poza wersją Starter, w pozostałych wersjach sąwbudowane kompilatory 64-bitowe dla systemu Windowsoraz kompilator dla systemu Mac OS X. Wersje tezawierają też platformę FireMonkey, za pomocą którejmożna tworzyć aplikacje mobilne przeznaczone douruchamiania na takich urządzeniach, jak iPhone, iPodTouch oraz iPad.

Ogólna charakterystykapakietu Embarcadero Delphi XE2

PP-2(30 z 55)

Wersje Enterprise, Ultimate i Architect posiadająnarzędzia do obsługi wszystkich popularnych baz danych(w wersji Professional znajdują się tylko sterowniki doobsługi lokalnej bazy InterBase i bazy MySQL).

Umożliwiają one także tworzenie programów typu klient-serwer, w których programy kliencie mogą byćinstalowane na innych komputerach niż program-serwer i współdziałać ze sobą (w wersji Professional też możnatworzyć takie programy, ale współdziałać mogą one tylkopod warunkiem, że są zainstalowane na tym samymkomputerze).

Ogólna charakterystykapakietu Embarcadero Delphi XE2

PP-2(31 z 55)

Zainstalowanie pakietu Embarcadero Delphi XE2 wymagajednego z następujących systemów operacyjnych:

P Microsoft Windows 7 (wersja 32- lub 64-bitowa),

P Microsoft Windows Vista z pakietem Service Pack 2(wersja 32- lub 64-bitowa z uprawnieniamiadministratora),

P Microsoft Windows XP Home lub Professional z pakietemService Pack 2 lub 3 (wersja 32- lub 64-bitowa).

Zaleca się instalację najnowszych pakietów Service Pack i uaktualnieńsystemu zabezpieczeń oraz przeglądarki internetowej Microsoft InternetExplorer 6.0 z pakietem Service Pack 1 lub wersji późniejszej.

Ogólna charakterystykapakietu Embarcadero Delphi XE2

Minimalnymi wymaganiami sprzętowymi są:

PP-2(32 z 55)

P procesor Intel Pentium lub zgodny z nim o częstotliwości1,6 GHz (zaleca się częstotliwość 2 GHz lub większą),

P pamięć RAM o pojemności 1 GB (zaleca się pojemność 2 GB lub większą),

P od 0,5 do 1,5 GB dodatkowej wolnej pamięci dowykorzystania przez program instalacyjny pakietu,

P myszka lub inne urządzenie wskazujące,

P monitor o rozdzielczości 1024 x 768 lub większej o liczbie kolorów ponad 256).

Ogólna charakterystykapakietu Embarcadero Delphi XE2

PP-2(33 z 55)

Zintegrowane środowisko programowania ma cechy językaczwartej generacji, w której wiele implementacyjnych detalijęzykowych jest niedostępnych dla programisty lub ukrytychprzed nim. środowisko to zalicza się jednak do językówtrzeciej generacji, w któreych każdy zaprojektowany elementma swoją podstawę w kodzie programowym.

Środowisko umożliwia redagowanie programów, których wizualnaczęść jest bezpośrednio odzwierciedlana na ekranie, pozwala nakompilowanie i wykonywanie programów wraz z możliwościąśledzenia tego procesu, ma wbudowany debuger (programumiejscawiania i usuwania usterek) oraz zawiera programynarzędziowe do tworzenia różnych zasobów i wspomagającekonstruowanie programów obsługi baz danych.

Ogólna charakterystykapakietu Embarcadero Delphi XE2

Językiem programowania stosowanym w pakiecieEmbarcadero Delphi XE2 jest Delphi (w poprzednichpakietach Delphi: Delphi Pascal i Object Pascal).

Kompilator tego języka znacznie przewyższa szybkościąkompilatory innych języków programowania wizualnego, w tym języka C++ pakietów C++ Builder i Visual C++ orazjęzyków Visual Basic i PowerBuilder.

PP-2(34 z 55)

Podstawowe pojęciazwiązane z konstruowaniem programóww zintegrowanym systemie programowania

Projekt - program lub biblioteka łączona dynamicznieprzygotowane w środowisku Delphi, na które składają się:

a) plik programowy (.DPR), przy czym dla każdego projektu istnieje tylko jeden taki plik,

b) binarne pliki z formatkami (.DFM), które zawierają obrazy formatek (okienek programu),

c) pliki z modułami (.PAS), które są związane z format- kami i które zawierają ich kody programowe.

Za pomocą odpowiednich dyrektyw kompilatora do pro-jektu mogą być też dołączone pliki z zasobami, z tekstamiźródłowymi funkcji i procedur, pliki .OBJ i inne. PP-2(35 z 55)

Podstawowe pojęciazwiązane z konstruowaniem programóww zintegrowanym systemie programowania

Formatka - okienko, na którym w procesie tworzenia programu można umieszczać różne komponenty(przyciski, podokienka, napisy itp.), przy czym z każdąformatką jest związany jeden moduł programowy.

PP-2(36 z 55)

Komponent - widoczny lub niewidoczny element łączaużytkownika programu znajdujący się na formatce lubpowiązany z formatką. Element ten jest reprezentowanyprzez obiekt programowy.

Podstawowe pojęciazwiązane z konstruowaniem programóww zintegrowanym systemie programowania

Własność - cecha obiektu (np. napis na przycisku, kolortekstu, tytuł i rozmiar okienka).

Zdarzenie - zjawisko wymagające reakcji przez program(np. naciśnięcie klawisza myszki). Z każdym komponen-tem są związane różne zdarzenia. Ich obsługa polega nanapisaniu odpowiedniej metody (procedury).

PP-2(37z 55)

Podstawowe elementy środowiska

PP-2(38 z 55)

Zintegrowane środowisko programowania pakietuuruchamia się w systemie operacyjnym w taki sam sposób,jak każdy inny program.

Standardowa postać ekranu po uruchomieniu pakietuzawiera stronę powitalną (ang. Welcome Page) z własnymmenu, które umożliwia m. in. rozpoczęcie redagowanianowego projektu, otwarcie wcześniej zapisanego projektu,dostęp do informacji internetowych oraz dokumentacjiśrodowiska i języka programowania.

Jeśli na ekranie znajduje się inne okno główne, np. Code Editor lubDesign, wyświetlenie strony powitalnej można uzyskać po wyborzezakładki Welcome Page, a w przypadku zamknięcia tej strony– po zainicjowaniu polecenia Welcome Page w opcji View.

PP-2(39 z 55)

Podstawowe elementy środowiska

Uwaga: Postać i widoczne elementy środowiska mogą byćzmienione przez programistę.

Rozpoczęcie redagowania nowego projektu (np. przezwybór polecenia New 6 VCL Forms Application -Delphi w opcji File głównego menu) spowoduje zmianę ekranu dopostaci przedstawionej na następnym rysunku.

PP-2(40 z 55)

formatka(do projektowaniagraficznego łącza

użytkownika)PP-2(41 z 55)

PP-2(40 z 51)

okienkoredakcyjne

PP-2(42 z 55)

PP-2(41 z 51)

wierszmenu

PP-2(43 z 55)

PP-2(42 z 51)

poleceniaopcji menu

PP-2(44 z 55)

PP-2(43 z 51)

piktogramyszybkiego inicjowania

poleceń

PP-2(45 z 55)

PP-2(44 z 51)

paleta komponentów (I)

PP-2(46 z 55)

wybór komponentu (I)

PP-2(47 z 55)

zmianawyglądu

środowiska

PP-2(48 z 55)

paletakomponentów (II)

PP-2(49 z 55)

wybór komponentu (II)

PP-2(50 z 55)

PP-2(45 z 51)

okienkoObject Inspector

PP-2(51 z 55)

Posługiwanie sięzintegrowanym systemem programowania

okienkoObject Inspector

własności

zdarzenia

PP-2(52 z 55)

okienkoStructure

PP-2(53 z 55)

Posługiwanie sięzintegrowanym systemem programowania

PP-2(54 z 55)

okienko Structure

przy aktywnościzakładki Design

przy aktywnościzakładki Code

i rozwinięciu drzewa

PP-2(55 z 55)

A teraz ...

... prezentacja!