Informatyka. dr inż. Paweł A. Mazurek



Podobne dokumenty
Delphi podstawy programowania. Środowisko Delphi

Delphi podstawy programowania. Podstawowe Komponenty

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Wprowadzenie do systemu Delphi

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

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

KROK 17 i 18. Cel: Tworzymy oddzielne okno - O autorze. 1. Otwórz swój program. 2. Skompiluj i sprawdź, czy działa prawidłowo.

PROGRAM: WYSZUKANIE LICZBY MAKSYMALNEJ

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

PROGRAMOWANIE W SYSTEMIE WINDOWS

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

BAZY DANYCH Panel sterujący

Programowanie w środowisku graficznym GUI

Ćwiczenie 6 Proste aplikacje - podstawowe komponenty.

Edytor tekstu OpenOffice Writer Podstawy

Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS

16) Wprowadzenie do raportowania Rave

Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5. Ćwiczenie 5 Aplikacja wielo-okienkowa

Język programowania PASCAL

Dodanie nowej formy do projektu polega na:

W tym odcinku zajmiemy się przeglądem palety komponentów.

MS Access formularze

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

Tworzenie bazy danych na przykładzie Access

Programowanie obiektowe

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Podstawy Programowania 2

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

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

W kolejnym odcinku zajmiemy się umieszczaniem w naszym projekcie zestawu ikon służących szybkiemu korzystaniu z opcji programu.

Król Łukasz Nr albumu:

Tworzenie własnych komponentów

Program powinien otworzyć się z pierwszym formularzem. Jeśli nie, otwórz pierwszy formularz, wybierając go z listy - Shift+F12.

Gdy z poziomu programu Delphi otworzysz folder pierwszy program, zauważysz tylko dwa pliki [rys.1]:

Programowanie w języku Python. Grażyna Koba

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Spis treści TRYB GRAFICZNY SYSTEMU WINDOWS - PODSTAWY OBSŁUGI WYBRANEGO ŚRODOWISKA PROGRAMISTYCZNEGO, TWORZENIE INTERFEJSU UŻYTKOWNIKA.

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

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

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

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Kompendium wiedzy dla programistów aplikacji bazodanowych w C++

Spis treści. Rzut okiem na środowisko...m... 9 Projektant formularzy...m... 11

Tworzenie prezentacji w MS PowerPoint

Lazarus dla początkujących, część II

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Pamiętałeś o kopiowaniu i zapisywaniu swojego programu do kolejnych folderów? Jeżeli tak, to:

1. Przypisy, indeks i spisy.

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Visual Studio instalacja

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Kolory elementów. Kolory elementów

Informatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018

Język programowania. Andrzej Bobyk

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

Dodawanie grafiki i obiektów

Laboratorium 1 - Programowanie proceduralne i obiektowe

Edytor tekstu MS Word podstawy

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

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

Programowanie obiektowe zastosowanie języka Java SE

wstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek

Temat: Organizacja skoroszytów i arkuszy

Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Programowanie obiektowe

Rozdział II. Praca z systemem operacyjnym

Programowanie Obiektowe GUI

Programowanie Wizualno Obiektowe - zajęcia 2 (PWO_BCPP_2_2) Tworzenie i kompilowanie projektów Programowanie Wizualno Obiektowe Zajęcia 2, część 2

Obszar Logistyka/Zamówienia Publiczne

Zadanie 11. Przygotowanie publikacji do wydrukowania

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

5.4. Tworzymy formularze

Kalkulator. Programowanie komputerów. Kalkulator możliwe udoskonalenia. Kalkulator. Kalkulator. Kalkulator możliwe udoskonalenia

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Zasady Programowania (Projektowanie) C++ - część 6 1/9 Programowanie Wizualno Obiektowe (3)

Praca w środowisku Visual Studio 2008, Visual C

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Programowanie w języku C++ Grażyna Koba

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

C++ Builder. Programowanie komputerów. C++ Builder: OOP. C++ Builder: EDP. C++ Builder: EDP. C++ Builder: EDP

Zastanawiałeś się może, dlaczego Twój współpracownik,

1. Wybierz File New Application. Pojawi się nowa aplikacja w Delphi.

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Aplikacje w środowisku VBA. Visual Basic for Aplications

Borland Developer Studio Autor: Radosław Bujak

E-geoportal Podręcznik użytkownika.

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

Procedury i funkcje - powtórzenie i uzupełnienia. Przykład funkcji potęgowanie przy wykładniku naturalnym

Transkrypt:

Informatyka Studia niestacjonarne EZ 2. dr inż. Paweł A. Mazurek

Delphi Pakiet Delphi jest zintegrowanym środowiskiem (ang. IDE Integrated Development Environment) programowania zorientowanego obiektowo (autorem jest firma Borland ). Delphi należy do grupy narzędzi szybkiego tworzenia aplikacji (ang. RAD - Rapid Application Development). W pakiecie Delphi znajduje zastosowanie język Object Pascal obiektowa odmiana języka programowania Pascal. Podstawowe zasady znanego języka Turbo Pascal (struktura programu, deklaracje i definicje, typy danych, instrukcje: przypisania, warunkowe, iteracyjne itd.) mają swoje niezmienione znaczenie w Delphi. 2

Charakterystyka Borland Delphi Kompilator języka Delphi Pascal jest 32-bitowym kompilatorem uwzględniającym kraj użytkownika (ang. native code 32-bit compiler) środowiska Windows. Oznacza to, że kody wynikowe programów uwzględniają specyficzne (zależne od kraju użytkownika) sposoby zapisu daty, czasu, liczb, waluty itp. Z faktu, że kompilator wykorzystuje 32-bitowe adresowanie pamięci wynika, że łączne rozmiary tablic, łańcuchów, rekordów i innych struktur danych mogą zajmować do 2 GB pamięci. (nie dotyczy najnowszych produktów!) 3

4

Elementy środowiska Delphi Podstawowe narzędzia to: formatka - to graficzny obraz widoku okna tworzonej aplikacji, na który można osadzać przy pomocy myszki dowolne komponenty pobrane z palety edytor kodu - to edytor tekstu, w którym pisze się ciało programu stosując identyczne operacje edycyjne jak w popularnych edytorach tekstowych komponenty - to obiekty, które przyśpieszają tworzenie aplikacji, można podzielić ja na wizualne i niewizualne, ich liczba może być rozbudowywana, programista sam może je tworzyć inspektor obiektów - to narzędzie służące do wizualnego ustawiania podstawowych właściwości aktywnego komponentu jak i do oprogramowania zdarzeń związanych z tym komponentem. 5

Elementy IDE - zintegrowanego środowiska programisty Główne okno IDE z rozwijalnym menu systemu. Menedżer projektów (Project Manager). Okno drzewa obiektów (Object TreeView). Inspektor obiektów (Object Inspector). Edytor kodu. Edytor graficzny. Debugger. Biblioteka komponentów (VCL - Visual Component Library). Generator baz danych. Generator raportów i wykresów. Generator help u aplikacji. Generator komponentów VCL oraz ActiveX programisty. Generator programu instalacyjnego aplikacji. 6

Programowanie obiektowe Programowanie obiektowe pozwala przedstawić problem w postaci logicznie powiązanych ze sobą struktur danych, które wymieniają pomiędzy sobą informacje. Struktury te, nazywane obiektami, odpowiadają zwykle pojęciom z dziedziny problemu, którym zajmuje się aplikacja. Obiekty reprezentują elementy rzeczywistości, które najczęściej są opisane rzeczownikami. Przykładowymi obiektami mogą być: samochód, pacjent, figura. W Delphi jest dostępnych wiele gotowych obiektów wizualnych (graficznych) i innych (zwanych komponentami). Istnieje także możliwość tworzenia własnych obiektów. Komponenty Delphi reprezentują: elementy interfejsu użytkownika np. przyciski, przełączniki, ikony i inne, proste pojęcia, takie jak: wektor, data, liczba zespolona, złożone struktury np. listy dynamiczne, tablice o zmiennym rozmiarze, macierze. 7

Programowanie obiektowe Delphi jest środowiskiem zorientowanym obiektowo, co oznacza, iż dostępne są dla programisty następujące mechanizmy: A. Tworzenie obiektów poprzez integrowanie powiązanych ze sobą danych i operującego na nich kodu. Typ obiektowy jest to złożona struktura danych o określonej liczbie elementów, które nazywamy składowymi. Składowe te dzielimy na pola i metody. Pole zmienna, która może być różnego typu. Metoda czynność wykonywana na obiekcie w postaci procedury lub funkcji. Metoda obiektu operuje z reguły na polach (danych) obiektu. Dodatkowymi składowymi typu obiektowego są właściwości i zdarzenia. Właściwość (ang. property l. mn. properties) jest rozwinięciem pola. Umożliwia ona wbudowanie kontroli zmian wartości oraz powiązanie ze sobą metody i pola. Metoda powiązana z właściwością jest automatycznie wykonywana przy odczycie lub zmianie wartości właściwości. Zdarzenie (ang. event l. mn. events) jest właściwością, która zawiera wskaźnik (adres) do metody. Po wystąpieniu w systemie zdarzenia, takiego jak np. kliknięcie przycisku myszy, informacja o nim jest wysyłana do odpowiedniego elementu sterującego. Jeśli w tym elemencie zdarzenie OnClick zawiera wskaźnik do metody, to metoda ta jest realizowana. Dzięki zdarzeniom tworzy się metody reagujące na polecenia użytkownika. 8

Programowanie obiektowe B. Tworzenie nowych typów (klas) obiektów na bazie klas już istniejących (dziedziczenie). Typ bazowy nazywamy przodkiem, a typ tworzony potomkiem. Potomek przejmuje wszystkie składowe przodka, tzn. wszystkie jego pola, właściwości i metody, oraz zawiera nowe, własne składowe. Jeśli jako przykład weźmiemy obiekt pojazd, to wśród tego typu obiektów można wyróżnić m.in. obiekty: spalinowy i mechaniczny. Następnie wśród obiektów spalinowych wyróżniamy obiekty: ciężarowy, osobowy, autobus i inne. Natomiast wśród obiektów mechanicznych wyróżniamy obiekty: rower, hulajnoga i inne. Określenie więzów dziedziczenia między obiektami prowadzi do powstania hierarchii obiektów. W naszym przykładzie na szczycie takiej hierarchii znajduje się obiekt pojazd. Dziedziczenie określa przynależność obiektu (np. osobowy) do innej klasy obiektu (np. spalinowy). pojazd Przykład hierarchii obiektów spalinowy mechaniczny ciężarowy osobowy autobus inne rower hulajnoga inne C. Wykorzystanie wspólnych elementów funkcjonalności klasy macierzystej i po-chodnej (polimorfizm). 9

Analogia - drukarka: Obiekt: Klasa: Metody: HP 959c drukarka druk czarno-biały druk kolorowy wydruk próbny Zdarzenia:... wysłanie wydruku wstrzymanie wydruku... 10

Aplikację tworzoną w Delphi nazywamy projektem. Nowy projekt tworzymy za pomocą polecenia File New Application. Każdy projekt składa się z co najmniej jednego pliku modułu i jednego pliku formatki (Form). Projekt zarządza swoimi składnikami. Tylko w wyniku kompilacji projektu otrzymamy gotową do uruchomienia aplikację. W projekcie aplikacji znajdują się następujące pliki zawierające kod w języku Object Pascal: plik projektu, który zawiera główny blok zaczynający się od słowa kluczowego program, pliki modułów, które zaczynają się od słowa kluczowego unit. 11

Pliki projektu Rozszerzenie pliku *.dpr *.pas *.dfm *.exe Przeznaczenie pliku Główny plik projektu, tworzony automatycznie Plik z modułem, zawiera kod źródłowy formularza Plik zawierający informacje o własnościach formularza i komponentów Plik wynikowy programu 12

Główne bloki projektu W projekcie aplikacji znajdują się plik zawierające kod w języku Object Pascal: pliki modułów (*.pas) zaczynają się od słowa kluczowego unit ; plików tych może być więcej niż jeden plik projektu (*.dpr), zawiera główny blok zaczynający się od słowa kluczowego program ; istnieje tylko jeden taki plik w obrębie danego projektu 13

Zrzut nowego pliku programu 14

Plik modułu 15

Moduł Moduł to plik tekstowy, który może być kompilowany do programu wykonywalnego tzn. kod źródłowy kompilowany jest na język zrozumiały dla maszyny. Nazwa modułu wypisana jest w pierwszej linijce kodu i poprzedzona jest słówkiem Unit (od ang. Moduł). W Delphi każdej formatce projektu odpowiada jeden moduł, który zawiera definicje odpowiednich typów, deklaracje zmiennych, definicje procedur obsługi zdarzeń. Wszystkie elementy są umieszczane w odpowiednich częściach modułu. Modułów używamy również do dzielenia projektu aplikacji na logiczne składowe. Ogólna struktura modułu jest następująca: unit nazwa_modułu; interface {część opisowa } implementation {część implementacyjna } initialization {część inicjująca opcjonalna } finalization {część kończąca opcjonalna } End. 16

Struktura modułu Moduł rozpoczyna się od słowa kluczowego unit, po którym następuje identyfikator będący nazwą modułu. W części opisowej (interface): deklarujemy stałe, typy, zmienne, procedury i funkcje, które będą dostępne w innym module, deklarujemy inne moduły, jeśli we wszystkich częściach danego modułu chcemy używać elementy zdefiniowane w tych modułach. W części implementacyjnej (implementation): definiujemy procedury i funkcje, które zostały zadeklarowane w części opisowej lub w części implementacyjnej, deklarujemy stałe, typy, zmienne, procedury i funkcje, które będą dostępne tylko w tej części modułu (nie będą dostępne w innych modułach zawierających deklaracje danego modułu), możemy deklarować inne moduły, jeśli elementy zadeklarowane w tych modułach chcemy używać tylko w części implementacyjnej danego modułu (deklaracja modułów jest taka, jak w części opisowej) 17

Struktura modułu Część inicjująca (initialization) zawiera instrukcje, które będą wykonane w celu zainicjowania modułu. Moduły są inicjowane w takiej kolejności, w jakiej są zadeklarowane w pliku projektu (*.dpr). Część inicjująca jest opcjonalna i nie musi wystąpić. Część kończąca (finalization) zawiera instrukcje, które będą wykonane przed końcem działania aplikacji w celu zwolnienia zasobów. Części kończące w poszczególnych modułach będą wykonywane w odwrotnej kolejności niż części inicjujące. Część kończąca jest opcjonalna, ale może wystąpić tylko wówczas, jeśli moduł zawiera część inicjującą. 18

Etapy tworzenia aplikacji Wybrać z menu File\New\Application lub wykorzystać już istniejąca, która standardowo tworzona jest przy uruchomieniu środowiska Umieścić komponenty na formatce zgodnie z zapotrzebowaniem Oprogramować zdarzenia i właściwości związane z tymi komponentami Oprogramować własne procedury i funkcje związane z tworzonym projektem UWAGA nie ma reguły kiedy i w którym momencie tworzonego projektu należy go zapisać, ale należy pamiętać o możliwości stracenia całej swojej pracy. (od razu w laboratoriach!!) 19

Kompilacja Projekt jest automatycznie kompilowany przed każdorazowym jego uruchomieniem za pomocą polecenia Run Run. Delphi umożliwia dodatkowo wykonanie samego procesu kompilacji projektu za pomocą polecenia Project Compile (lub CTRL+F9). Polecenie to kompiluje wszystkie moduły wchodzące w skład projektu, plik projektu oraz dostępne moduły źródłowe, zadeklarowane po słowie uses. Każdy skompilowany moduł znajduje się w pliku o rozszerzeniu dcu, a po pomyślnym zakończeniu kompilacji wszystkich modułów zostaje wygenerowany plik wykonywalny exe o nazwie takiej, jak nazwa projektu. Ewentualne błędy kompilacji obejrzeć możemy w oknie komunikatów poniżej okna kodu. Uruchamianie Projekt uruchamiamy za pomocą polecenia Run Run, naciskając klawisz F9 (tak w Borland Pascalu program był kompilowany), lub przycisk na pasku narzędzi Run. Jeśli projekt nie został wcześniej skompilowany lub od ostatniego procesu kompilacji został zmodyfikowany, to przed uruchomieniem następuje jego kompilacja. Dość często tworzy się programy, które wymagają, aby podczas ich uruchamiania podać określone parametry. Uruchamiając aplikację z poziomu kompilatora, wpisujemy wymagane parametry w oknie, które otwieramy za pomocą polecenia Run Parameters. 20

PASCAL DELPHI Praca w konsoli Delphi daje Ci też możliwość pisania w konsoli prawie standardowym Pascalem. Wystarczy wybrać File New Other Console Application. Teraz możesz używać WriteLn, ReadLn, możesz korzystać z wszelkich pętli, warunków jak w Pascalu. Delphi nakłada jednak pewne ograniczenia -nie zezwala na operacje, które były specyficzne dla DOSu np. korzystanie z grafiki, muzyki, bezpośrednie odwołanie do wybranego adresu pamięci. Aplikacje konsolowe to programy uruchamiane w oknie tzw. konsoli. Ten, kto programował w Turbo Pascalu, już wie,że pisane w nim programy były wykonywane w środowisku MS DOS. Można było oczywiście uruchomić taki program pod kontrolą systemu Windows, wówczas otwierało się okno DOS-a, w którym był uruchamiany taki program. Okno to będziemy nazywać konsolą. 21

Po wybraniu Console Aplication pojawia się plik projektu -> 22

PASCAL DELPHI Praca w konsoli W skutek wykonania tych czynności Delphi powinno otworzyć nowy projekt bez formularza, składający się jedynie z edytora kodu. W edytorze kodu powinien znaleźć się kod podobny do tego z listingu poniżej: program Project1; {$APPTYPE CONSOLE} uses SysUtils; begin { TODO -ouser -cconsole Main : Insert code here } end. W rzeczywistości program działa jako konsolowy dzięki dyrektywie kompilatora {$APPTYPE CONSOLE}. Jest to specjalne oznaczenie dla kompilatora, lecz tym na razie nie trzeba sobie zaprzątać głowy. 23

Szybkie wprowadzenie operacje we/wy Właściwy kod programu umieszcza się pomiędzy słowami : begin i end. Wyświetlenie tekstu w okienku następuje za pomocą procedury Writeln lub Write. Jeżeli więc chcesz wyświetlić jakiś tekst np. Politechnika - piszesz: Write( Politechnika'); lub Writeln( Politechnika'); Write(); - powoduje wypisanie wartości wyrażenia zawartego w nawiasie. Writeln(); - powoduje wypisanie wartości wyrażenia zawartego w nawiasie i przejście do nowego wiersza. Jeżeli jednak uruchomisz program z tak wpisanym kodem to otworzy się okienko na sekundę, wyświetli tekst, a następnie zniknie. 24

Szybkie wprowadzenie operacje we/wy Druga bardzo ważna operacja to odczyt danych. Readln(zmienna); - odczytanie danej (zmiennej) z klawiatury i zakończonej naciśnięciem klawisza Enter. Read(); - odczytanie danej z dysku. Instrukcję Readln(); (bez parametru) stosujemy do zatrzymania programu. Naciśnięcie klawisza Enter powoduje dalszy ciąg programu. Żeby więc okno DOSowe było przez cały czas otwarte warto zastosować komendę Readln. Powoduje to, że program czeka na odpowiedź użytkownika i kontynuuje pracę po naciśnięciu przycisku ENTER. 25

Analiza pierwszego programu Program Program1; uses SysUtils; Const a=10; {bok prostokąta} b=5; {drugi bok prostokąta} var ob, pl:integer; begin Ob:=2*(a+b); Pl:=a*b; writeln( obwód prostokąta wynosi :,OB); write( pole prostokąta wynosi :,PL); end. Zdefiniowanie stałych Zdefiniowanie zmiennych Algorytm obliczeniowy (wzory) operacje wyświetlenia wyników 26

var i:integer; begin for i:=1 to 1000 do WriteLn(i); end. program imie; var imie: string; begin Write('Jak się nazywasz?'); Readln(imie); WriteLn('Witaj ', imie, '!'); end. program test_pelnoletnosci; var lat : Integer; begin Write('Ile Masz lat? '); ReadLn(lat); Write('Jesteś '); if lat<18 then Write('nie'); Write('pełnoletni'); end. var a, b: integer; begin WriteLn('Program mnożący a*b'); Write('Podaj liczbę a: '); ReadLn(a); Write('Podaj liczbę b: '); ReadLn(b); WriteLn(a, ' * ', b, ' = ', a * b); ReadLn; end. Przykładowe aplikacje konsolowe 27

Aplikacje okienkowe programowanie przy użyciu komponentów 28

Pojęcie komponentu Element programu realizujący konkretne zadanie (umożliwiający wprowadzenie danych, wyprowadzenie danych, obsługujący połączenie z serwerem WWW, odmierzający czas, wyświetlający zawartość folderu). Komponenty dostępne w narzędziach RAD firmy Borland są szczególnym przypadkiem obiektów. 29

Komponenty Komponent komunikuje się z otoczeniem (programem lub innym komponentem) poprzez metody, czyli procedury wykonujące określone zadania (nawiązanie połączenia, zapisanie pliku) oraz właściwości (np. kolor, rozmiar, nazwa) Właściwości mają charakter statyczny, tj. określają główne parametry obiektu, natura metod jest czynna służą do wykonania określonych akcji. Do realizacji wyznaczonych mu zadań komponent używa również własnych, wewnętrznych procedur, niewidocznych dla otoczenia i niewidocznych dla programisty - czarna skrzynka -realizująca obiektową zasadę hermetyzacji danych. 30

Komponenty W czasie tworzenia aplikacji komponenty są widoczne na formularzu w postaci ikon. Budując program można zmieniać większość właściwości komponentu, w tym także ustalać jego powiązania z innymi komponentami) oraz określać sposób, w jaki będzie reagować na zdarzenia - bądź to zewnętrzne, bądź pochodzące od innych elementów aplikacji. 31

Komponenty systemu Delphi (VCL Visual Component Library) Każdy komponent systemu (przycisk, menu, pole edycji, pole wyboru itd.) jest opisywany zbiorem: właściwości (property) oraz zdarzeń (event). Właściwości, metody i zdarzenia to trzy klucze do komunikowania się z komponentem i wpływanie na jego stan. Właściwości komponentu i zdarzenia związane z komponentem są wizualizowane w oknie Inspektora obiektów (Object Inspector). Można je korygować w tym oknie lub zmieniać programowo. 32

Komponenty niewidzialne W czasie pracy programu komponent może, lecz nie musi być widoczny stąd wyróżniamy komponenty widzialne i niewidzialne. Komunikacja z komponentami niewidzialnymi odbywa się w ten sam sposób jak z widzialnymi - poprzez zmianę ich właściwości, odwołania do metod oraz generowanie zdarzeń. 33

Inspektor obiektów 34

Paleta komponentów wersji Borland Delphi 7 Enterpise TLabel- odpowiada Pascalowej instrukcji WRITE- wyświetla tekst TEdit- odpowiada Pascalowej instrukcji Read, służy do wprowadzania danych TButton- to komponent standardowego klawisza

Grupy komponentów ogólne obsługi baz danych internetowe usług i serwerów dostępnych w systemie Windows Standardowe komponenty systemu są pogrupowane w poszczególne karty 36

Komponenty ogólne Obsługujące interfejs użytkownika mechanizmy aplikacji. Tworzą ją karty: oraz wewnętrzne Standard podstawowe elementy interfejsu użytkownika Additional komponenty zaawansowane, częściowo przeznaczone do realizacji wewnętrznych funkcji programu Win31- elementy interfejsu użytkownika charakterystyczne dla 32-bitowych systemów Windows System komponenty obsługujące funkcje wewnętrzne, jak pomiar czasu czy wymiana danych pomiędzy programami Dialogs komponenty odpowiedzialne za obsługę okien dialogowych 37

Komponenty przeznaczone do obsługi baz danych karty Data Access i Data Controls zawierają podstawowe komponenty udostępniające zawartość bazy danych oraz bazodanowe elementy interfejsu użytkownika dbexpress, DataSnap, BDE, ADO oraz InterBase- udostępniają narzędzia do obsługi wielowarstwowych, rozproszonych baz danych wykorzystujących m.in.. język SQL oraz interfejsy BDE (Borland Database Engina) i ADO (Active Data Objects) Do prezentacji danych wykorzystywane są komponenty zawarte na kartach Decision Cube i Rave 38

Komponenty internetowe Komponenty ogólnointernetowe pogrupowano na kartach Internet i FastNet Karty z grup Indy Servers, Indy Clients, Indy Misc, Indy Intercepts, Indy i/o Handlers zawierają obszerny zbiór komponentów ogólnego zastosowania znany pod nazwą Internet Direct Karty IW Standard, IW Data, IW Client Side oraz IW Control skupiają komponenty przeznaczone do tworzenia serwerów WWW Karta WebServises zawiera kilka komponentów realizujących standardowy protokół internetowy SOAP Karty InternetExpres i Web Snap udostępniają narzędzia do tworzenia internetowych aplikacji obsługujących bazy danych i wykorzystujących język XML 39

Otoczka dla usług i serwerów dostępnych w systemie Windows COM +, Serwers Samples przykładowe komponenty ActiveX- wyspecjalizowane wykorzystujące interfejs ActiveX komponenty Win3.1- elementy sterujące typowe dla 16-bitowych wersji Windows Programista może komponenty. też wygenerować własne 40

Frames (ramka zgrupowania komponentów; MainMenu (główne menu aplikacji - rozwijalne); PopupMenu (menu kontekstowe - nierozwijalne, normalnie niewidoczne - wizualizowane prawym klawiszem myszy); Label (etykieta - napis, nagłówek pola); Edit (pole edycyjne dla edycji jednego wiersza tekstu); Memo (pole memo - pole edycyjne dla edycji wielu wierszy tekstu); Button (przycisk); CheckBox (pole wyboru o 2 stanach: włączone, wyłączone. Kilka takich pól może służyć do wyboru opcji nie wyłączających się wzajemnie); 41

RadioButton (pole opcji służące do wyboru jednej z kilku wzajemnie wyłączających się opcji); ListBox (lista elementów, które użytkownik może zaznaczać lub wybierać); ComboBox (jak komponent ListBox, lecz z możliwością dopisywania elementów przez użytkownika); ScrollBar (pasek przewijania); GroupBox (komponent stanowiący grupę innych komponentów, najczęściej typu RadioButton lub CheckBox); RadioGroup (grupa komponentów typu RadioButton); Panel (komponent stanowiący grupę innych komponentów, najczęściej typu pasek narzędzi lub linia statusu). ActionList (lista odpowiedzi aplikacji na akcje użytkownika). 42

BitBtn (przycisk na którym jest umieszczony napis i/lub rysunek); SpeedButton (przycisk umieszczany w pasku narzędzi, o 4 wyróżnionych stanach oraz z rysunkiem zmieniającym się w poszczególnych stanach); MaskEdit (maskowane pole edycji, umożliwiające filtrację i formatowanie danych wprowadzonych przez użytkownika); StringGrid (arkusz, którego elementami są stringi); DrawGrid (arkusz do wyświetlania danych nie tekstowych); Image (komponent wyświetlający element graficzny - mapę bitową, ikonę lub metaplik); Shape (figura geometryczna: prostokąt, koło, elipsa); Bevel (zagłębiony lub wybrzuszony prostokąt); 43

ScrollBox (przewijalne okienko); CheckListBox (komponent będacy połączeniem listy i pola wyboru); Splitter (komponent słuący do podziału okna); StaticText (komponent jak Label, lecz zaopatrzony w ramkę); ControlBar (pasek narzędzi); ApplicationEvents (lista zdarzeń aplikacji); ValueListEditor (edytor listy danych); LabeledEdit (komponent Edit z etykietami); ColorBox (komponent ComboBox dla wyboru koloru); 44

Wspólne właściwości komponentów Name nazwa komponentu. Każdy komponent ma swoją nazwę przez którą jest identyfikowany w programie. Caption etykieta. Nazwa widoczna na komponencie. Własność tę mają niektóre komponenty widoczne Left, Top położenie lewego górnego rogu komponentu względem lewego górnego rogu ekranu Width, Height szerokość i wysokość komponentu Visible widoczność. Po ustawieniu tej właściwości na False komponent staje się niewidoczny Hint podpowiedź w chmurce. Tekst podpowiedzi pojawiający się po przytrzymaniu myszy na komponencie ShowHint uwidacznia podpowiedź ustawioną w polu właściwości Hint 45

Wspólne zdarzenia komponentów OnClick przy kliknięciu, to zdarzenie istnieje dla komponentów mogących przechwytywać aktywność OnDoubleClick przy podwójnym kliknięciu dla etykiet, formularza, panelu, pola Edit OnResize przy zmianie rozmiaru dla panelu, formularza OnMouseDown przy przytrzymaniu myszy na komponencie 46

Wspólne zdarzenia komponentów OnMouseMove przy przemieszczaniu komponentu myszą OnMouseUp przy zwolnieniu przycisku myszy OnChange przy zmianie w polu, istnieje dla komponentów wprowadzających dane, np. Edit, ComboBox, ListBox OnKeyDown przy wciśnięciu klawisza na klawiaturze OnKeyPress przy trzymaniu klawisza OnKeyUP przy zwolnieniu trzymanego klawisza 47

Podstawowe właściwości formularzy ActiveControl wskazuje na tę kontrolkę formularza która w danej chwili jest kontrolką aktywną. Właściwość tę można zarówno odczytywać jak i modyfikować. 48

Podstawowe właściwości formularzy BorderStyle określa rodzaj obrzeża formularza i związane z nim możliwości manipulowania formularzem w czasie wykonywania programu. bsdialog obrzeże typowe dla okien dialogowych bez możliwości zmiany rozmiaru bssingle zwykłe obrzeże bez możliwości zmiany rozmiaru bsnone brak obrzeża bssizeable zwykłe obrzeże z możliwością zmiany rozmiaru bstoowindow obrzeże typowe dla okienka palety narzędziowej bez możliwości zmiany rozmiaru bssizetoowin - jak bstoowindow z możliwością zmiany rozmiaru 49

Podstawowe właściwości formularzy BorderIcon definiuje zestaw ikon widocznych na obrzeżach formularza bisystemmenu oznacza ikonę z lewej strony paska tytułowego, za pomocą której wyświetla się menu systemowe, biminimize oznacza przycisk minimalizacji bimaximize oznacza przycisk maksymalizacji bihelp oznacza przycisk oznaczony znakiem zapytania 50

Podstawowe właściwości formularzy FormStyle określa styl formularza fsmdichild oznacza wielodokumentowej fsmdiform oznacza wielodokumentowej formularz formularz potomny główny aplikacji aplikacji fsstayontop oznacza formularz pozostający zawsze na wierzchu fsnormal określa wszystkie zdefiniowane wcześniej formularze inne niż 51

Podstawowe właściwości formularzy WindowState określa postać okna powstającego z formularza wsnormal wsminimized wsmaximized 52

Wybrane komponenty karty Dialogs ColorDialog komponent wyświetla okno dialogowe wyboru koloru Komponent jest niewidoczny Do uaktywnienia komponenty służy metoda Execute. Metoda ta zwraca wartość True lub False w zależności czy dokonano wyboru koloru czy nie Właściwość komponentu Color udostępnia wybrany kolor 53

Wybrane komponenty karty Dialogs FontDialog - komponent wyświetla okno dialogowe wyboru parametrów czcionki Komponent jest niewidoczny Do uaktywnienia komponenty służy metoda Execute.. Metoda ta zwraca wartość True lub False w zależności czy dokonano wyboru parametrów czcionki czy nie Właściwość komponentu Font udostępnia wybraną czcionkę 54

Komentarze W Delphi komentarze możemy wstawiać do programu na trzy sposoby: {To jest komentarz} (*To też jest komentarz*) //I to też jest komentarz, ale tylko do konca linii 55