Programowanie w środowiskach RAD Język C++ w środowiskach RAD



Podobne dokumenty
Delphi podstawy programowania. Środowisko Delphi

Król Łukasz Nr albumu:

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Język programowania. Andrzej Bobyk

Obliczenie azymutu ze współrzędnych wersja C++ Builder

WWW: Adres: Instytut Informatyki ul. Będzińska Sosnowiec Pokój 214 Telefon:

Wykład 7: Lazarus GUI

Delphi. Lazarus. Kompilatory Delphi. Linki do stron o Delphi

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

PROGRAMOWANIE W SYSTEMIE WINDOWS

Programowanie RAD Delphi

Języki i paradygmaty programowania - 1

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Tworzenie własnych komponentów

Instrukcja laboratoryjna cz.3

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Wprowadzenie do systemu Delphi

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Nazwa implementacji: Kółko i krzyżyk w Lazarusie. Autor: Piotr Fiorek Andrzej Stefaniuk

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

Ćwiczenie 6 Proste aplikacje - podstawowe komponenty.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Środowiska i platformy programistyczne

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Wykład 8: klasy cz. 4

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Podstawy Programowania 2

Programowanie Obiektowe GUI

Podstawy programowania. Wprowadzenie

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Praca w środowisku Visual Studio 2008, Visual C

Visual Studio instalacja

Dodanie nowej formy do projektu polega na:

Podstawy programowania. Wykład PASCAL. Wstęp do programowania obiektowego. dr Artur Bartoszewski - Podstawy programowania, sem.

Podstawy Programowania Obiektowego

Multimedia JAVA. Historia

Programowanie w środowisku graficznym. Ćwiczenia 01 Wprowadzenie do C++Builder VCL

Programowanie obiektowe - 1.

Borland to firma, która stworzyła kilka środowisk programistycznych: Turbo Pascal Borland Pascal Objekt Pascal Borland Delphi C++ Builder C++

Programowanie Wizualno Obiektowe - zajęcia 5 (PWO_BCPP_5_1) 1 Tworzenie plików pomocy Programowanie Wizualno Obiektowe Zajęcia 5, część 1

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

kierunkowy (podstawowy / kierunkowy / inny HES) nieobowiązkowy (obowiązkowy / nieobowiązkowy) polski semestr V zimowy i letni (semestr zimowy / letni)

Ćwiczenie 1. Modelowanie prostego procesu

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

Spis treści TRYB GRAFICZNY SYSTEMU WINDOWS - PODSTAWY OBSŁUGI WYBRANEGO ŚRODOWISKA PROGRAMISTYCZNEGO. Informatyka 2

Praca z aplikacją designer

Metody dostępu do danych

TEMAT : KLASY DZIEDZICZENIE

Wprowadzenie 5 Rozdział 1. Środowisko programisty IDE C++Builder

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

UML w Visual Studio. Michał Ciećwierz

Programowanie obiektowe

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Programowanie obiektowe

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Podstawy programowania

Wykład 5: Klasy cz. 3

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Java jako język programowania

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

16) Wprowadzenie do raportowania Rave

Programowanie obiektowe

PROGRAM: WYSZUKANIE LICZBY MAKSYMALNEJ

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C

Wykład 5 Okna MDI i SDI, dziedziczenie

Semestr zimowy Podstawy Informatyki, Logika TAK

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

Co to jest Lazarus? Jak pobrać bezpłatną wersję Lazarus a Organizacja projektu w Lazarus ie

Analiza i projektowanie aplikacji Java

Programowanie obiektowe

VBA w Excel Lekcja ta ma przybliżyć pojęcia związane z programowaniem w pakiecie Office. Poniższe przykłady związane są z wersją Office2007.

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego

Ustalanie dostępu do plików - Windows XP Home/Professional

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

Ustawienia personalne

WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE URUCHAMIANIA I TESTOWANIA UKŁADÓW MIKROPROCESOROWYCH

Narzędzia RAD (wykład 1)

Qt sygnały i designer

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

Zaawansowane programowanie w języku C++ Klasy w C++

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1

Programowanie w środowiskach RAD Qt i C++

Podstawy programowania w języku C++

Użycie Visual Basic for Applications ("VBA")

Programowanie w środowiskach RAD QtCreator, Qt i C++

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Język programowania PASCAL

Transkrypt:

Programowanie w środowiskach RAD Język C++ w środowiskach RAD Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl C++ Builder i biblioteka VCL Wprowadzenie, architektura aplikacji, elementy biblioteki VCL

RAD Rapid Application Development jako metodyka RAD to pragmatyczna metodyka projektowania systemów informatycznych, ukierunkowana na szybkie wytworzenie prototypu systemu, podatnego na dalszy rozwój w iteracyjnym cyklu projektowania. RAD jako pojęcie zostało zaproponowane przez Jamesa Martina in 1991. Zaproponowana przez niego metodyka pozwalała właśnie na iteracyjny rozwój projektu i szybkie wytworzenie prototypu. RAD jest odpowiedzią na metodyki projektowania i programowania strukturalnego, oparte na modelu wodospadu (np. SSADM). Rygorystycznie przestrzegany brak nawrotów pomiędzy kolejnymi etapami oraz długo czas oczekiwania na działający system powodował zarówno problemy projektowe jak i komercyjne. Projektant Programista Wielki Kanion... Programowanie w środowiskach RAD 2

RAD Rapid Application Development jako narzędzie Praktycznie wykorzystanie koncepcji RAD spowodowało rozwój środowisk narzędziowych pozwalających na szybkie prototypowanie aplikacji. Środowiska programistyczne typu RAD wywodzą się z klasycznych zintegrowanych środowisk programistycznych (IDE ) oraz oparte są na bibliotekach pozwalających łatwo kreować i wykorzystywać GUI oraz dostęp do baz danych. Większość środowisk RAD bazuje na GUI wykorzystującym programowanie sterowane zdarzeniami. Programowanie w środowiskach RAD 3

RAD Rapid Application Development jako narzędzie Pierwszym popularnym środowiskiem o cechach RAD był VisualBasic firmy Microsoft (koniec lat 80-tych XX w., oficjalna premiera 1991). VB zyskał ogromną popularność i odebrał spory rynek twórcom klasycznych kompilatorów i środowisk IDE zorientowanych na kod m.in. firmie Borland. Programowanie w środowiskach RAD 4

Wojna środowisk RAD Początek lat 90-tych XX w. to dominacja firmy Borland w zakresie narzędzi do programowania dla komputerów PC. Borland dominuje na rynku kompilatorów dla języka Pascal, na rynku języka C i C++ konkuruje z firmami Microsoft, Watcom, Zortech. Ówczesne IDE są ukierunkowane na edycję kodu, biblioteki obsługi GUI i dostępu do baz danych wymagają trudnego i uciążliwego kodowania. VisualBasic niejako bocznymi drzwiami wchodzi na rynek i zabiera jego pokaźną cześć. Firma Microsoft mocno ten produkt promuje dzięki niemu lawinowo powstają aplikacje dla środowiska Windows, w tym sporo prostych ale grywalnych gier. Forma Borland chce odzyskać utracony rynek, na początku lat 90-tych XX w. powstaje projekt VBK Visual Basic Killer. Programowanie w środowiskach RAD 5

VBK i Delphi Efekt projektu VBK miał nazywać się AppBuilder, ale nazwę tę wcześniej wykorzystuje Novell (Visual AppBuilder). Nazwa Delphi wywodzi się ponoć od stwierdzenia If you want to talk to [the] Oracle, go to Delphi i dwuznacznie nawiązuje do firmy Oracle czołowego producenta serwerów baz danych. Delphi 1 pojawia się na rynku w walentynki 1995 r. Od tamtego momentu sukcesywnie pojawiają się nowe, coraz lepsze wersje pakietu. Programowanie w środowiskach RAD 6

Od VBK Delphi i C++ Buildera Delphi bazuje na języku Pascal, wprowadzając jego obiektowy dialek ObjectPascal, który jest aktualnie standardem de facto w zakresie języka Pascal. Co zapewnie mocno nie podoba się jego twórcy Niklausowi Wirthowi. Podstawą Delphi jest wizualnie zorientowane środowisko IDE, ściśle zintegrowane z biblioteką VCL Visual Component Library. Z pewnym opóźnieniem do Delphi powstaje pakiet C++ Builder, który wykorzystuje te same elementy IDE oraz bibliotekę VCL. Przez długie lata twórcy Delphi najpierw publikują nowe wersje tego pakietu a z pewnym opóźnieniem równoważne wersje C++ Buildera. W 2006 pojawia się Borland Developer Studio 2006, łączące w sobie Delphi, C++ Buildera i C# Buildera. Programowanie w środowiskach RAD 7

RAD Studio W 2010 dostępne jest RAD Studio, integrujące Delphi i C++ Buildera XE. Na początku 2011 pojawia się Delphi i C++ Builder Starter uproszczona wersja C++ Buildera XE. Programowanie w środowiskach RAD 8

Pętla: VB, VBK, Borland Developer Studio, C# i Visual Studio Na marginesie: Twórcą języka C# oraz biblioteki komponentów dla tego języka jest Anders Hejlsberga, który wcześniej pracował zespołach rozwijających Turbo Pascal, Delphi i Visual J++. C# początkowa nazywał się Cool C-like Object Oriented Language". Programowanie w środowiskach RAD 9

Jądro RAD Studio: VCL Visual Component Library Visual Component Library wersja podstawowa Oferuje dużą liczbę wizualnych i niewizualnych komponentów pozwalajacych na budowanie natywnych interfejsów użytkownika dla środowiska Windows. Zawiera zbiór standardowych elementów sterujących interfejsu (przyciski, menu, listy itd.) jak również zestaw komponentów rozszerzonych nie występujących bezpośrednio w zestawie elementów sterujących. Oferuje obsługę akcji, pozwalających centralizować przetwarzanie w aplikacji. Elementy sterujące wrażliwe na dane przeznaczone do realizacji aplikacji wykorzystujących bazy danych. W ramach biblioteki VCL dostępna jest duża liczba klas niewizualnych, służących m.in. do zarządzania kolekcjami obiektów. Programowanie w środowiskach RAD 10

Elementy VCL obiekty Klasy definicje klas stanowiących szablon dla obiektów. Obiekty egzemplarze klas zdefiniowanych w VCL, składające się z metod (funkcji składowych), właściwości oraz zdarzeń. Właściwości reprezentują dane obiektu, metody operacje realizowane prze obiekt, zdarzenia warunki na które obiekt odpowiada wykonaniem akcji. Wszystkie obiekty dziedziczą właściwości klasy TObject. Komponenty to obiekty posiadające wizualną reprezentację, którymi można manipulować w czasie projektowania aplikacji. Wszystkie komponenty dziedziczą właściwości z klasy TComponent. Podprogramy globalne podprogramy (procedury i funkcje) pochodzące z biblioteki VCL i RTL. Nie są częściami klas, są jednak intensywnie wykorzystywane z metod obiektów. Stałe i zmienne globalne predefiniowane stałe lub zmienne, z których można korzystać w programie bez ich definiowania (np. Application). Programowanie w środowiskach RAD 11

Przykładowy fragment hierarchii klas w VCL Programowanie w środowiskach RAD 12

Klasa TForm Klasa TForm reprezentuje standardowe okno aplikacji. Dla każdego okna tworzonego w ramach aplikacji definiowana jest jego własna klasa, dziedzicząca właściwości z klasy TForm. Klasy domyślnie otrzymują nazwy TForm1, TForma2, itd. Formy (okna) pochodne od TForm reprezentują zaróno główne okno aplikacji jak i okna dialogowe oraz okna MDI. W typowych sytuacjach każde okno tworzone z wykorzystaniem VCL jest obiektem klasy pochodnej od TForm. Dziedziczenie class class TForm1 TForm1 :: {{ published: published: private: private: public: public: fastcall fastcall }; }; public public TForm TForm // // IDE-managed IDE-managed Components Components // User declarations // User declarations // // User User declarations declarations TForm1(TComponent* TForm1(TComponent* Owner); Owner); Programowanie w środowiskach RAD 13

Klasa TForm Forma zwykle jest właścicielem obiektów reprezentujących elementy występujące w oknie przycisków, linii edycyjnych, list itp. Obiekty reprezentujące formy są domyślnie tworzone automatycznie i żyją przez cały czas wykonania programu. Programista może jednak powoływać obiekty życia dynamicznie, kontrolując czas ich życia. Lista form tworzonych automatycznie Programowanie w środowiskach RAD 14

Triada opisu okna Każde okno opisane jest własną klasą jej definicja zapisywana jest automatycznie w pliku nagłówkowym (.h). Definicje metod klasy okna zapisywane są w pliku implementacyjnym (.cpp) Definicja informacji o oknie ustalonych na etapie jego projektowania zapisywana jest w pliku definicji formy (.dfm). Po utworzeniu nowej aplikacji tworzone są: plik projektu, plik programu głównego, pliki definicji głównego okna aplikacji, inne pliki robocze lub tymczasowe oraz pliki zasobów. Nazwy Nazwy ii rozszerzenia rozszerzenia plików plików zmieniają zmieniają się się pomiędzy pomiędzy kolejnymi kolejnymi wcieleniami wcieleniami pakiety pakiety Builder. Builder. W W tym tym opracowaniu opracowaniu zakłada zakłada się się wykorzystanie wykorzystanie pakietu pakietu C++ C++ Builder Builder 6.0 6.0 Programowanie w środowiskach RAD 15

Zawartość folderu projektu tuż po pierwszym zapisie TForm1 TForm1 *Form1; *Form1; fastcall fastcall TForm1::TForm1(TComponent* TForm1::TForm1(TComponent* Owner): Owner): TForm(Owner) TForm(Owner) {{ }} class class TForm1 TForm1 :: public public TForm TForm {{ published: published: // // IDE-managed IDE-managed Components Components private: // private: // User User declarations declarations public: // User declarations public: // User declarations fastcall TForm1(TComponent* fastcall TForm1(TComponent* Owner); Owner); }; }; extern extern PACKAGE PACKAGE TForm1 TForm1 *Form1; *Form1; object object Form1: Form1: TForm1 TForm1 Left = 192 Left = 192 Top Top == 124 124 Width = Width = 870 870 Height = Height = 500 500 Caption = Caption = 'Form1' 'Form1' Color = clbtnface Color = clbtnface Font.Charset Font.Charset == DEFAULT_CHARSET DEFAULT_CHARSET Font.Color Font.Color == clwindowtext clwindowtext Font.Height Font.Height == -11-11 Font.Name Font.Name == 'MS 'MS Sans Sans Serif' Serif' Font.Style = [] Font.Style = [] OldCreateOrder OldCreateOrder == False False PixelsPerInch = 96 PixelsPerInch = 96 TextHeight TextHeight == 13 13 end end Pewne elementy kodu zostały opuszczone dla klarowności prezentacji Programowanie w środowiskach RAD 16

Zawartość folderu projektu tuż po pierwszym zapisie <?xml <?xml version='1.0' version='1.0' encoding='utf-8' encoding='utf-8'?>?> <!-<!-- C++Builder C++Builder XML XML Project Project --> --> <PROJECT> <PROJECT> <MACROS> <MACROS> <VERSION <VERSION value="bcb.06.00"/> value="bcb.06.00"/> <PROJECT value="project1.exe"/> <PROJECT value="project1.exe"/> <OBJFILES <OBJFILES value="project1.obj value="project1.obj Unit1.obj"/> Unit1.obj"/> <RESFILES value="project1.res"/> <RESFILES value="project1.res"/>...... Utworzenie obiektu klasy TForm1 (sterta), ustawienie wskaźnika Form1 na utworzony obiekt WINAPI WINAPI WinMain(HINSTANCE, WinMain(HINSTANCE, HINSTANCE, HINSTANCE, LPSTR, LPSTR, int) int) {{ try try {{ Application->Initialize(); Application->Initialize(); Application->CreateForm( classid(tform1), Application->CreateForm( classid(tform1), &Form1); &Form1); Application->Run(); Application->Run(); }} catch catch (Exception (Exception &exception) &exception) {{ Application->ShowException(&exception); Application->ShowException(&exception); }}...... return return 0; 0; }} Programowanie w środowiskach RAD 17

Odwołania za pośrednictwem zmiennych wskaźnikowych Dane Obiekt TForm1 Sterta...... Stos Zwykle to kod generowany przez środowisko jest odpowiedzialny za tworzenie i likwidowanie obiektów takich, programista w typowych sytuacjach nie musi się tym zajmować.... W systemie C++ Builder komponenty obsługiwane przez środowisko przyjmują postać obiektów dynamicznych, lokowanych na stercie programu i dostępnych za pośrednictwem wskaźników....... Application->CreateForm( classid(tform1), Application->CreateForm( classid(tform1), &Form1); &Form1);...... Form1... Programowanie w środowiskach RAD 18

Warsztat programisty Builder 6.0 Drzewo obiektów Paleta komponentów Edytor kodu Zarządzanie projektem Inspektor obiektów Projektowane okno Programowanie w środowiskach RAD 19

Warsztat programisty Builder XE Paleta komponentów Drzewo obiektów Projektowane okno Edytor kodu Zarządzanie projektem Inspektor obiektów Programowanie w środowiskach RAD 20

Inspektor obiektów ważny element (skrót: F11) Właściwości okna wskazywanego przez Form1 Inspektor Inspektor obiektów obiektów to to podstawowe podstawowe narzędzie narzędzie pozwalające pozwalające na na sterowanie sterowanie właściwościami właściwościami oraz oraz zdarzeniami zdarzeniami komponentów. komponentów. Tego Tego typu typu element element występuje występuje we we większości większości środowisk środowisk typu typu RAD. RAD. Programowanie w środowiskach RAD 21

Inspektor obiektów zmiana nazwy obiektu Uwaga! Uwaga! Nazwy Nazwy komponentu komponentu powinna powinna być być zmieniana zmieniana wyłącznie wyłącznie za za pośrednictwem pośrednictwem właściwości właściwości Name. Name. Określa Określa ona ona nazwę nazwę pod pod jaką jaką komponent komponent będzie będzie identyfikowany identyfikowany w w kodzie kodzie programu. programu. Ręczna Ręczna modyfikacja modyfikacja nazwy nazwy w w kodzie kodzie prowadzi prowadzi zwykle zwykle do do problemów. problemów. Nowsze Nowsze wersje wersje pakietu pakietu umożliwiają umożliwiają zmianę zmianę nazw nazw za za pośrednictwem pośrednictwem refaktoringu. refaktoringu. Programowanie w środowiskach RAD 22

Komponenty wstawiane do okna a ich reprezentacja w kodzie Komponenty Komponenty wstawiane wstawiane na na formę formę reprezentowane reprezentowane są są w w kodzie kodzie za za pośrednictwem pośrednictwem wskaźników, wskaźników, tworzeniem tworzeniem ii usuwaniem usuwaniem obiektów obiektów zajmuje zajmuje się się kod kod biblioteki. biblioteki. Programowanie w środowiskach RAD 23

published sekcja komponentów zarządzanych via RAD class class TForm1 TForm1 :: public public TForm TForm {{ published: published: // // IDE-managed IDE-managed Components Components TButton TButton *Button1; *Button1; private: private: Tą sekcją zarządza środowisko RAD. Od tego łapy trzymamy z daleka // // User User declarations declarations Miejsce na prywatne składowe definiowane przez programistę public: // public: // User User declarations declarations fastcall TForm1(TComponent* fastcall TForm1(TComponent* Owner); Owner); Miejsce na publiczne składowe definiowane przez programistę }; }; We We większości większości pakietów pakietów RAD RAD ich ich twórcy twórcy wprowadzają wprowadzają własne własne rozszerzenia rozszerzenia ii modyfikacje, modyfikacje, często często są są to to nowe nowe słowa słowa kluczowe kluczowe (RAD (RAD Studio) Studio) bądź bądź modyfikacje modyfikacje języka języka (Visual (Visual Studio) Studio) Programowanie w środowiskach RAD 24

Podstawowe właściwości okna pochodne klasy TForm Left, Top Caption Color ClientHeight Font Height ClientWidth Width Programowanie w środowiskach RAD 25

Właściwość BorderStyle Programowanie w środowiskach RAD 26

Właściwość BorderIcons Zestaw dostępnych ikon zależy od właściwości BorderStyle Programowanie w środowiskach RAD 27

Właściwości: Position, WindowState, Color, FormStyle Programowanie w środowiskach RAD 28

Właściwości: TransparentColor i TransparentColorValue Właściwości te pozwalają na określenie koloru, który w ramach okna zostanie uznany za przeźroczysty. Przeźroczystość może dotyczyć całego okna lub wybranych jego elementów. Uwaga, przeźroczystość nie oznacza klikalności przez dziurę. Programowanie w środowiskach RAD 29

Właściwości: AlphaBlend i AlphaBlendValue Właściwość AlphaBlend pozwala na włączenie/wyłączenie ustawiania stopnia przeźroczystości całego okna. Właściwość AlphaBlendValue pozwala na ustawianie stopnia przeźroczystości całego okna: 0 pełna przeźroczystość, 255 brak przeźroczystości. Programowanie w środowiskach RAD 30

Właściwości komponentów a kod programu Właściwości (ang. properties) komponentów Można zmieniać za pośrednictwem Inspektora Obiektów w trakcie projektowania. Właściwości komponentów można zmieniać programowo w trakcie działania programu: Form1->Height Form1->Height == 100; 100; Form1->Width Form1->Width == 300; 300; Form1->Caption Form1->Caption == "Okienko"; "Okienko"; Form1->BorderStyle Form1->BorderStyle == bsdialog; bsdialog; Właściwości Właściwości komponentów komponentów wyglądają wyglądają pozornie pozornie jak jak pola pola obiektów. obiektów. Właściwości Właściwości nie nie są są jednak jednak zwykłymi zwykłymi polami polami odczyt odczyt jak jak ii zmiana zmiana wartości wartości właściwości właściwości realizowane realizowane są są przez przez niejawnie niejawnie wywoływane wywoływane funkcje. funkcje. Dzięki Dzięki temu, temu, np. np. zmiana zmiana właściwości właściwości Height Height powoduje powoduje natychmiastową natychmiastową zmianę zmianę wysokości wysokości okna okna wyświetlanego wyświetlanego na na ekranie. ekranie. Programowanie w środowiskach RAD 31

Właściwości komponentów a kod programu Właściwości (ang. properties) komponentów Można zmieniać za pośrednictwem Inspektora Obiektów w trakcie projektowania. Właściwości komponentów można zmieniać programowo w trakcie działania Tylko gdzie tu wpisywać programu: kod programu...? Form1->Height Form1->Height == 100; 100; Form1->Width Form1->Width == 300; 300; Form1->Caption Form1->Caption == "Okienko"; "Okienko"; Form1->BorderStyle Form1->BorderStyle == bsdialog; bsdialog; Właściwości Właściwości komponentów komponentów wyglądają wyglądają pozornie pozornie jak jak pola pola obiektów. obiektów. Właściwości Właściwości nie nie są są jednak jednak zwykłymi zwykłymi polami polami odczyt odczyt jak jak ii zmiana zmiana wartości wartości właściwości właściwości realizowane realizowane są są przez przez niejawnie niejawnie wywoływane wywoływane funkcje. funkcje. Dzięki Dzięki temu, temu, np. np. zmiana zmiana właściwości właściwości Height Height powoduje powoduje natychmiastową natychmiastową zmianę zmianę wysokości wysokości okna okna wyświetlanego wyświetlanego na na ekranie. ekranie. Programowanie w środowiskach RAD 32

VCL a programowanie sterowane zdarzeniami Wstawienie przycisku klasy TButton na formę: Programowanie w środowiskach RAD 33

VCL a programowanie sterowane zdarzeniami Dla każdego komponentu wizualnego określono zdarzenia (ang. event), na jakie może on reagować. Reakcja na zdarzenie polega na przypisaniu do konkretnego zdarzenia procedury jego obsługi (ang. event handler). Inspektor obiektów prezentuje zdarzenia na które może zareagować obiekt. Można określić, jaka funkcja będzie stanowiła reakcję na zdarzenie. Programowanie w środowiskach RAD 34

VCL a programowanie sterowane zdarzeniami Procedura obsługi zdarzenia przyjmuje postać funkcji składowej klasy okna, jej nazwa zawiera nazwę obiektu reagującego na zdarzenie oraz typ zdarzenia. Parametr Sender identyfikuje obiekt reagujący na zdarzenie (odbierający zdarzenie i uaktywniający procedurę obsługi) i czasem bywa bardzo użyteczny. Programowanie w środowiskach RAD 35

Dziękuję za uwagę Pytania? Polemiki? Teraz, albo: roman.siminski@us.edu.pl