Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałJerzy Szyperski Został zmieniony 11 lat temu
1
Programowanie w środowiskach zintegrowanych wykład 1 PSZ Programowanie w Środowiskach Zintegrowanych > Systemy i środowiska zintegrowane > Środowisko zintegrowane Borland IDE
2
Programowanie w środowiskach zintegrowanych Konspekt bieżącego wykładu Systemy i środowiska zintegrowane Środowisko Borland IDE Elementy środowiska Koncepcja komponentów Rozszerzenia składni języka c++
3
Programowanie w środowiskach zintegrowanych Środowiska zintegrowane Założenia i motywacja Elementy środowiska zintegrowanego Integracja
4
Programowanie w środowiskach zintegrowanych Założenia i motywacja Podstawowy celPodstawowy cel - przyspieszenie procesu powstawania aplikacji Założony cel osiąga się przez –Dostarczenie biblioteki predefiniowanych, silnie konfigurowanych komponentów –Zapewnienie możliwości wizualnej konfiguracji komponentów w czasie tworzenia aplikacji –Dostarczenie środowiska wyposażonego w różne narzędzia wspomagające pracę programisty –Rozszerzenia i modyfikacje składni języków oprogramowania –Integrację środowiska z otoczeniem aplikacji ( bazami danych, systemem plików, siecią komputerową, urządzeniami systemowymi); integracja poprzez komponenty –Integrację z gotowymi aplikacjami merytorycznymi (biznesowymi)
5
Programowanie w środowiskach zintegrowanych Biblioteki komponentów KomponentKomponent – w tym kontekście, klasa o określonej specjalizacji posiadająca interfejs umożliwiający jej konfigurowanie Klasa działa zarówno podczas projektowania aplikacji – design time oraz po uruchomieniu aplikacji - run time Podczas pracy w trybie design time klasa realizuje akcje związane z konfiguracją komponentu Konfiguracja – poprzez edycje tzw. właściwości Podczas pracy w trybie run-time, klasa realizuje akcje związane ze swoją zasadniczą funkcją Programista może tworzyć własne komponenty – nowe i rozszerzające funkcje komponentów już istniejących
6
Programowanie w środowiskach zintegrowanych Narzędzia wspomagające pracę programisty Inteligentny edytor ( rozumienie składni, kompilacja on-line, generator podpowiedzi ) Generator struktur kodowych Strukturalna przeglądarka kodu – możliwość wizualizacji kodu w postaci drzewa struktur kodowych Przeglądarki klas, komponentów i obiektów Edytor właściwości komponentów Zintegrowany debuger
7
Programowanie w środowiskach zintegrowanych Integracja środowiska z otoczeniem Interfejs dla baz danych w trybie ODBC Interfejs dla baz danych w trybie bezpośrednim (natywnym) Integracja z urządzeniami systemowymi Integracja z siecią komputerową Integracja z siecią Internet i jej usługami Interfejs programowania rozproszonego ( DCOM, CORBA ) Integracja z innymi aplikacjami na poziomie standardowych protokołów tekstowych ( XML, SYNCML, SOAP )
8
Programowanie w środowiskach zintegrowanych Integracja z aplikacjami merytorycznymi Rozwój najbardziej typowych aplikacji na bazie określonego środowiska realizowany przez dostawcę środowiska Dostawca najpierw tworzy środowisko programistyczne, a później typowe aplikacje Najczęściej są to aplikacje wspomagające biznes (aplikacje biznesowe) Firma kupuje oprogramowanie wraz ze środowiskiem Zatrudniając programistów może wpływać na kształt zakupionego systemu
9
Programowanie w środowiskach zintegrowanych Środowisko Borland IDE Elementy środowiska Rozszerzenia standardu c++ Biblioteka VCL
10
Programowanie w środowiskach zintegrowanych Elementy środowiska Borland IDE Okno główne i paski narzędziowe Inspektor obiektów Okno drzewa obiektów, przeglądarka klas Edytor kodu i diagramów Generator podpowiedzi i skrótów (Code Insight) Menedżer projektów Zintegrowany debugger Biblioteki komponentów VCL i CLX wraz z dokumentacją –Wersja Personal (tylko podstawowe kompoenty) –Wersja Professional (komponenty dla baz danych i sieci Internet) –Wersja Enterprise (wszystkie komponenty objęte zakresem biblioteki) Komponenty dostępne na rynku komponentów
11
Programowanie w środowiskach zintegrowanych Okno główne i paski narzędziowe Pasek Menu Paski Narzędzi Paleta zainstalowanych komponentów Komponenty grupuje się w pakiety Instalacja pakietu powoduje zainstalowanie w środowisku komponentów wchodzących w jego skład
12
Programowanie w środowiskach zintegrowanych Inspektor obiektów Właściwość to w rzeczywistości adres funkcji odpowiedzialnej za edycję pewnego pola klasy; adres ten jest związany z obiektem, a nie z klasą (cloasure) Właściwości typu NotifyEvent przechowują adresy funkcji odpowiedzialnych za obsługę różnego rodzaju typowych akcji - zdarzeń Właściwości komponentu Właściwości typu NotifyEvent
13
Programowanie w środowiskach zintegrowanych Inspektor obiektów Zasadniczym zadaniem drzewa obiektów jest ułatwienie poruszania się wewnątrz struktury obiektów związanych z określonym oknem projektowanej aplikacji Obiekt wskazany w drzewie obiektów Obiekt wskazany w oknie przykładowej aplikacji
14
Programowanie w środowiskach zintegrowanych Przeglądarka klas Klasa oglądana za pośrednictwem przeglądarki Klasa widziana z poziomu edytora kodu
15
Programowanie w środowiskach zintegrowanych Edytor kodu i diagramów Zakładka pliku źródłowego Zakładka pliku nagłówkowego
16
Programowanie w środowiskach zintegrowanych Edytor kodu i diagramów Zakładka edytora diagramów
17
Programowanie w środowiskach zintegrowanych Generator podpowiedzi Zadania realizowane przez mechanizm CodeInsight: Uzupełnianie kodu, uzupełnianie parametrów, obliczanie wyrażeń Podpowiedź parametrów funkcji
18
Programowanie w środowiskach zintegrowanych Menedżer projektów Umożliwia poruszanie się wewnątrz struktury plików składających się na projekt Umożliwia dodawanie i usuwanie plików Plik źródłowy Wynikowa lista załączonych plików nagłówkowych
19
Programowanie w środowiskach zintegrowanych Zintegrowany debugger Belka sterowania Pułapka (break point) Okno śledzenia wartości zmiennych i wyrażeń
20
Programowanie w środowiskach zintegrowanych Przykładowy projekt Tworzenie projektu od podstaw Projekt zaawansowany { AECS Konfigurator }
21
Programowanie w środowiskach zintegrowanych Rozszerzenia składni c++ Cel wprowadzenia rozszerzeń Objaśnienie semantyki niektórych rozszerzeń
22
Programowanie w środowiskach zintegrowanych Cel wprowadzenia rozszerzeń Usprawnienie pracy na aplikacją poprzez : –Integrację środowiska, języka programowania i biblioteki VCL –Przyspieszenie pracy programu –Rozszerzenie mechanizmów programowania miękkiego Rozszerzenia dotyczą : –Mechanizmu RTTI (Real Time Type Identyfication) __classid –Mechanizmu późnego wiązania wywołań funkcji __closure –Mechanizmu tworzenia i edycji właściwości klasy __property, __published –Sposobu przekazywania parametrów do funkcji __fastcall
23
Programowanie w środowiskach zintegrowanych Rozszerzenie __classid Skadnia: __classid( identyfikator_klasy ) Działanie: zwraca wskaźnik do obiektu TMetaClass W odróżnieniu od typów obiektowych (lub wskaźników na takie typy), wskaźnik na obiekt TMetaClass pozwala na wykonywanie operacji na samych klasach bez konieczności tworzenia ich instancji Mechanizm posiada istotne ograniczenia –Działa tylko dla klas, które dziedziczą z klasy VCL TObject –Można z jego pomocą wywoływać tylko statyczne funkcje klasy TMetaClass Przeznaczenie – obsługa właściwości i obsługa zdarzeń
24
Programowanie w środowiskach zintegrowanych Rozszerzenie _classid (funkcje klasy TMeaClass) Dostępne funkcje klasy TMetaClass
25
Programowanie w środowiskach zintegrowanych Rozszerzenie __published Składnia (na przykładzie): class TPrzyklad : public TObject { … __published: … } Powoduje wygenerowanie rozszerzonych informacji RTTI Informacje umożliwiają pobieranie adresu funkcji na podstawie jej nazwy Zastosowanie : obsługa właściwości i zdarzeń Ograniczenia : klasy dziedziczące od klasy TObject
26
Programowanie w środowiskach zintegrowanych Przykładowy projekt Wywołanie funkcji bez żadnej instancji (przez wskaźnik do TMetaClass) [__classid_published.bpr]
27
Programowanie w środowiskach zintegrowanych Rozszerzenie __property Składnia : ::= __property [ ] = "{ "}" ::= "[" [ ] "]" [ ] ::= [, ] ::= read = ::= write = ::= stored = ::= default = ::= nodefault ::= index = Zastosowanie : deklarowanie właściwości klas i komponentów
28
Programowanie w środowiskach zintegrowanych Przykładowy projekt Nowa właściwość obiektu typu TForm [__property_sample.bpr] Więcej o właściwościach: na następnych wykładach
29
Programowanie w środowiskach zintegrowanych Rozszerzenie __fastcall Składnia : __fascall Działanie : sprawia, że parametry do funkcji przekazywane są przez rejestry procesora Ograniczenia : nie dotyczy typów zmiennoprzecinkowych i strukturalnych Zastosowanie : przyspieszenie działania biblioteki VCL
30
Programowanie w środowiskach zintegrowanych Rozszerzenie __closure Składnia : ( __closure * ) ( ); Działanie : umożliwia uzyskanie wskaźnika na funkcję dowolnej klasy w hierarchii klas (wskaźnika nie związanego z określoną podklasą) Zastosowanie : obsługa właściwości i zdarzeń Sposób działania – wskaźnik kojarzony jest z instancją klasy, a nie z jej definicją.
31
Programowanie w środowiskach zintegrowanych Na wykładzie Systemy i środowiska zintegrowane Założenie i motywacja Elementy środowiska zintegrowanego Integracja Środowisko Borland IDE Elementy środowiska Koncepcja komponentów Rozszerzenia składni języka c++
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.