DELPHI.

Slides:



Advertisements
Podobne prezentacje
PSZ wykład 2 > Przegląd komponentów biblioteki VCL
Advertisements

PROGRAMOWANIE STRUKTURALNE
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Kurs Pascala – spis treści
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Wykład 2 struktura programu elementy języka typy zmienne
Wzorce projektowe w J2EE
Tworzenie stron w języku WML jest zbliżone do tworzenia stron w HTML. W obydwu przypadkach używa się do tego celu znaczników (tagów). Zadaniem znaczników.
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład IV
Wprowadzenie do programowania w języku Turbo Pascal
C# Windows Forms Zastosowania Informatyki Wykład 3
C# Windows Forms Zastosowania Informatyki Wykład 2
Rozwój aplikacji przy wykorzystaniu ASP.NET
Instytut Tele- i Radiotechniczny WARSZAWA
Obiekty dynamiczne Tworzenie klas 3 MPDI Programowanie obiektowe W4.
Programowanie strukturalne i obiektowe
Andrzej Jędryczkowski Nie da się napisać większego programu bez podziału go na części zwane podprogramami. Podprogram to wyróżniona część programu.
Turbo Pascal Turbo Pascal - jedna z popularniejszych implementacji kompilatorów języka PASCAL, zintegrowane srodowisko programistyczne, produkt firmy Borland.
Poznaj bliżej program Microsoft Office Word 2007
Podstawy programowania II
Źródła: podręcznikopracował: A. Jędryczkowski.
Opracował : Przemysław Drzymała
Programowanie w środowisku DELPHI
Wprowadzenie do obsługi programu PowerPoint
ANNA BANIEWSKA SYLWIA FILUŚ
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Mechanizm OLE ang. Object Linking and Embedding źródła:
Programowanie obiektowe – zastosowanie języka Java SE
XML – eXtensible Markup Language
Wybrane zagadnienia relacyjnych baz danych
MICROSOFT Access TWORZENIE MAKR
Visual Basic w Excelu.
Prasek Aneta, Skiba Katarzyna. Funkcje stałe const to takie funkcje, które nie mogą modyfikować stanu obiektu. Oznacza to, że funkcja stała nie może zmieniać.
Programowanie w języku C++
Projektowanie stron WWW
Aplikacje internetowe
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
Formatowanie dokumentów
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
.NET i Bazy Danych Projekt: Wadim Grasza.
Obiekty COM Przemysław Buczkowski. Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Projektowanie postaci formularza:
Tworzenie wykresów część I
ASP.NET Kontrolki źródła danych i prezentacji danych w ASP.Net
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
ASP.NET Tworzenie i zarządzanie wyglądem aplikacji, tworzenie mapy witryny. Kontrolki nawigacyjne.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Moduł ECDL-AM5 Bazy danych, poziom zaawansowany Tabele, relacje.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Wykład 4 Dr Aneta Polewko-Klim
T. 18. E Proces DGA - Działania (operatorka).
Programowanie obiektowe – zastosowanie języka Java SE
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Aplikacje i usługi internetowe
Ms Access - formularze Marzena Nowakowska WZiMK, PŚk
JavaBeans by Paweł Wąsala
Zapis prezentacji:

DELPHI

Delphi jest zaliczany do narzędzi zwanych Rapid Application Development (RAD), co oznacza szybkie tworzenie aplikacji Delphi jest wizualnym, komponentowym i obiektowym środowiskiem programistycznym Delphi zawiera język programowania obiektowego: Object Pascal

Środowisko Delphi (menu, okna itd), w którym tworzymy aplikacje, jest zintegrowane (IDE - Integrated Development Environment) Język Object Pascal wchodzący w skład Delphi jest zgodny z językiem Borland/Turbo Pascal 7.0 i z wersjami wcześniejszymi dla systemu Dos.

Funkcje i procedury napisane za pomocą Borland Pascala 7 Funkcje i procedury napisane za pomocą Borland Pascala 7.0 i wersji wcześniejszych wykorzystywane w Delphi nie mogą korzystać z następujących modułów: Crt, Dos, Graph, Graph3, Overlay, Printer, Turbo3 Moduł System został znacznie rozwinięty w stosunku do Borland Pascala 7.0

Istnieją też różnice w nazewnictwie funkcji, np Istnieją też różnice w nazewnictwie funkcji, np. zamiast Close, jest CloseFile W Object Pascalu został zachowany (w celu zgodności z Borland Pascalem 7.0 i wersjami wcześniejszymi) typ obiektowy definiowany za pomocą słowa kluczowego object

Delphi W Object Pascalu został wprowadzony nowy model typu obiektowego definiowany za pomocą słowa kluczowego class Delphi nie akceptuje modułów i programów napisanych z wykorzystaniem bibliotek Turbo Vision lub Object Windows Library

Delphi Biblioteka VCL wchodząca w skład Delphi zawiera ponad 100 konfigurowalnych komponentów (są to określonego rodzaju typy obiektowe) wielokrotnego użycia Dzięki komponentom tworzenie aplikacji w Delphi jest bardzo szybkie Komponenty reprezentują elementy sterujące aplikacji takie jak: przyciski, pola edycyjne do wprowadzania tekstu i wiele innych

Delphi Tworzenie aplikacji w Delphi jest dwutorowe (ang. two-way-tools) pierwszym torem są narzędzia wizualne, drugim - pisanie kodu źródłowego wszystko co jest zrobione za pomocą narzędzi wizualnych jest automatycznie uwzględniane w kodzie źródłowym

Obydwie drogi są równie ważne: narzędzia wizualne służą do szybkiego projektowania interfejsu użytkownika jednak aby aplikacja robiła coś konkretnego, musimy to napisać za pomocą języka Object Pascal

32-bitowa architektura systemów Windows 95/NT pozwala na budowę struktur danych (np. tablic) i ciągów znaków o rozmiarze do dwóch gigabajtów (2 GB) dzięki temu możemy bez problemu przetwarzać pliki tekstowe i graficzne większe niż 64 KB

W listach obiektowych maksymalna liczba elementów wynosi ponad 130 mln, jeśli jest wystarczająca ilość pamięci wirtualnej Listy tworzymy za pomocą typów: TStringList - lista łańcuchów (tekstów), TList - lista elementów dowolnego typu (np. liczby, łańcuchy, rekordy, obiekty)

Programowanie wizualne programowanie (a właściwie projektowanie) kolejnych formularzy i raportów aplikacji metodą umieszczania na pustych formach wymaganych elementów (komponentów) komponenty wizualne (z interfejsem GUI) umieszczone na formie metodą drag & drop po skompilowaniu aplikacji wyglądają identycznie (WYSIWYG)

Programowanie wizualne zmiana niektórych własności komponentów (np. wielkość, położenie, kolor) oraz ich wzajemnego rozmieszczenia realizowana bez pisania kodu powiązania komponentów też mogą być realizowane wizualnie – wykorzystanie diagramów klas i encji (dla aplikacji bazodanowych), często bazujące na wcześniej zaprojektowanym modelu UML (Unified Model Language)

Programowanie wizualne zmiany dokonywane wizualnie automatycznie są zamieniane na odpowiedni kod – CASE (Computer Aided Software Engineering), często w kilku plikach jednocześnie, np. w specyfikacji klasy dodawana jest deklaracja metody, natomiast w ciele szablon definicji składowe projektu zarządzane za pomocą łatwo konfigurowalnych struktur hierarchicznych

Programowanie wizualne cechy obiektów (własności, metody i zdarzenia) dostępne za pomocą wygodnych tabelarycznych lub drzewiastych struktur oraz podpowiadane podczas tworzenia kodu (code completion) konfiguracja wartości złożonych i powiązań wspierana za pomocą licznych kreatorów (wizards)

Programowanie komponentowe składanie aplikacji „z klocków” - komponentów (kontrolek) dostępnych wraz z środowiskiem, doinstalowywanych lub pisanych na bieżąco – szybkie tworzenie aplikacji (RAD) programista oprogramowuje interakcję pomiędzy komponentami (glue)

Programowanie komponentowe hermetyzacja i wielokrotne użycie – cechy obiektowości podział komponentów na: wizualne – ich umieszczanie na formularzu wpływa na jego wizualną postać niewizualne – nie wpływają na wygląd formularza, umieszczane na formularzu (w kontenerze) w postaci specjalnych ikon-symboli, np. komponenty bazodanowe,

Programowanie zdarzeniowe zgodne z architekturą obecnych systemów operacyjnych z bogatym GUI – użytkownik lub inna aplikacja (również zdalna) generuje zdarzenie, które system przekazuje do odpowiedniej aplikacji aplikacja może (nie musi) dokonać obsługi zdarzenia

Programowanie zdarzeniowe komponenty mają wyspecyfikowane określone, właściwe dla nich zdarzenia, dla których programista może zrealizować funkcje obsługi (event handler) funkcje obsługi zdarzeń mogą dynamicznie generować nowe komponenty lub zdarzenia jeżeli kilka zdarzeń ma być obsługiwanych identycznie, nie jest konieczne pisanie osobnych funkcji – możliwość wizualnego wyboru odpowiedniej funkcji obsługi

Wspierane technologie formularze i raporty - komponenty wizualne realizujące GUI relacyjne i obiektowo-relacyjne bazy danych SQL – dostęp przez ODBC, JDBC, OLE DB (ADO), ADO.NET, itp. programowanie client-server – protokoły sieciowe TCP,UDP, HTTP, SMTP i in. aplikacje wielowarstwowe – OLE/COM, ISAPI, EJB, JavaServlet aplikacje Web – ASP, JSP, XML przetwarzanie rozproszone – DCOM, CORBA, RMI, WebServices (protokoły WSDL, SOAP i UDDI oparte na XML)

Każdy formularz jest zdefiniowany jako klasa Fakt ten ma następujące konsekwencje: Formularz jest typem danych, a nie obiektem danych. Jeden z formularzy składających się na aplikację jest formularzem głównym Jest on tworzony automatycznie w momencie uruchomienia programu i służy jako okienko inicjacyjne Można utworzyć wiele obiektów tego samego typu formularza

Klasa Formularz Każda klasa formularza ma związane ze sobą własności: jedne z nich dotyczą postaci formularza widocznego na ekranie (kolor, wielkość itp.), inne z nich mają wpływ na zachowanie się – np. określają, czy wielkość formularza może być zmieniana projektując formularz określamy wartości początkowe jego własności zestaw wartości początkowych jest używany zawsze wtedy, gdy program tworzy nowy obiekt klasy formularz w czasie wykonywania programu wiele z tych własności można zmienić

Klasa Formularz każda klasa formularza ma zbiór związanych z nią metod metoda jest funkcją, dzięki której można wykonać akcję z użyciem formularza. formularz ma metody sprawdzania zmian własności formularza

Okienka komunikatów służą do wyświetlania informacji dla użytkownika okna komunikatów nie są dostępne z palety komponentów, nie można umieścic w trakcie projektowania formularza wyświetla się je podczas działania programu przez wywołanie odpowiedniej procedury lub funkcji

Okienka komunikatów można podzielić na dwie grupy: okienka wyświetlane za pomocą metody Message Box obiektu Application (Application.MessageBox) okienka wyświetlane za pomocą procedur i funkcji (ShowMessage, MessageDlg, MessageDlgPos)

Okienka komunikatów napisy w okienku MessageBox wyświetlane są w języku, który jest zainstalowany w systemie Windows (jeśli polski, to napisy polskie) napisy na przyciskach drugiej grupy są wyświetlane w języku ang. okienka komunikatów wyświetlane są w trybie modalnym

MessageBox wyświetlanie komunikatów z napisami stałymi w języku systemowym składnia: function MessageBox(const Text, Caption, Flags) gdzie Text – treść komunikatu, Caption – tytuł okienka na pasku nazwy Flags – określa typ okna, liczbę i rodzaje przycisków

Wybrane wartości parametru Flags Parametr Flags Znaczenie MB_OK Jeden przycisk Tak MB_OKCancel Dwa: Tak, Anuluj MB_YesNo Dwa: Tak, Nie MB_YesNoCancel Trzy: Tak, Nie, Anuluj MB_RetryCancel Dwa: Ponów próbę, Anuluj MB_AbortRetryIgnore Trzy: Przerwij, Ponów próbę, Anuluj

Wartości zwracane przez funkcję MessageBox Znaczenie - Po naciśnięciu przycisku IdOk OK IdCancel Anuluj IdAbort Przerwij IdRetry Ponów próbę IdIgnore Zignoruj IdYes Tak IdNo Nie

MessageBox Możemy także określić typ obrazka w oknie: MB_ICONWarning - żółty trójkąt z wykrzyknikiem. MB_ICONError - czerwone koło z iksem. MB_ICONInformation - biały dymek z literą i. MB_ICONQuestion - biały dymek ze znakiem zapytania Application.MessageBox('To jest moje okienko', 'Informacja', MB_OK + MB_ICONInformation);

procedure TForm1.Image1Click(Sender: TObject); begin if Application.MessageBox ( 'Czy zakonczyc?', 'tytul okna', MB_OKCancel)=IdOk then Application.Terminate; end;

Poniższe funkcje i procedury zostały zdefiniowane w module Dialogs ShowMessage ShowMessageFmt MessageDlg MessageDlgPos MessageDlgPosHelp

ShowMessage procedure ShowMessage(const Msg: string); Wyświetla okienko z pojedyńczym przyciskiem (OK - powodującym zamknięcie okienka), oraz tekstem (parametr Msg). Tytuł okienka jest taki sam jak aplikacji

ShowMessage procedure TForm1.Edit1DblClick(Sender: TObject); begin if Application.MessageBox ('Czy zakończyc?', 'zapytanie', MB_OkCancel)=IdOk then Application.Terminate; end;

ShowMessageFmt procedure ShowMessageFmt(const Msg: string; Params: array of const); Wyświetla okienko z pojedyńczym przyciskiem (OK - powodującym zamknięcie okienka), oraz tekstem (parametr Msg) Tytuł okienka jest taki sam jak aplikacji Pozwala na sformatowanie wyświetlanego tekstu na podstawie parametru Params:

MessageDlg Funkcja MessageDlg służy do wyświetlania komunikatów na środku ekranu monitora Jest ona bardzo podobna do funkcji MessageBox - obydwie służą do komunikacji użytkownik – program Różnica : MessageBox daje większe możliwości redagowania komunikatów, podczas gdy przy pomocy MessageDlg mamy ograniczoną swobodę ich tworzenia.

MessageDlg MessageDlg nie jest również składnikiem WinAPI Z tego powodu używa się w niej typowych dla Delphi typów danych By móc uzyć MessageDlg w programie, należy dodać Dialogs do sekcji uses

Funkcja MessageDlgPos okna wyświetlane za jej pomocą mogą zawierać więcej niż jeden przycisk umożliwiają wybranie odpowiedzi i na ich podstawie odpowiednią reakcję programu za pomocą parametru DlgType można określić rodzaj wyświetlanego okna okna różnią się m. in. napisem na pasku nazwy

Funkcja MessageDlgPos function MessageDlgPos(Msg, DlgType, Buttons, HelpCtx, X,Y): Word; gdzie: Msg – treść komunikatu DlgType – rodzaj okna dialogowego Buttons – rodzaje przycisków wyświetlanych w oknie dialogowym HelpCtx – łącze do systemu pomocy, wartość 0 oznacza brak łącza X, Y to współrzędne lewego górnego wierzchołka

Wartości parametru DlgType tytuł okna dialogowego mtConfirmation okno z tytułem Confirm (potwierdź) mtCustom z tytułem takim jak nazwa aplikacji mtError do wyświetlania komunikatu o błędzie mtInformation informacyjne mtWarning typu Warning (ostrzegajace)

Nazwy stałych typu TMsgDlgButtons nazwa stałej zbiór przycisków mbYesNoCancel [mbYes, mbNo, mbCancel] mbYesNoAllCancel [mbYes, mbYesToAll, mbNo, mbCancel] mbOKCancel [mbOK, mbCancel] mbAbortRetryIgnore [mbAbort, mbRetry, mbIgnore] mbAbortIgnore [mbAbort, mbIgnore]

procedure TForm1.Button3Click(Sender: TObject); var i:Word; begin i:=MessageDlgPos('Jestem wewnatrz',mtCustom,mbYesNoCancel, 0, Left+20,Top+20); case i of mrYes:Label1.Caption:='TAK'; mrNo:Label1.Caption:='NIE'; mrCancel:Label1.Caption:='CANCEL'; end;

ShowMessage procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Koniec pracy!'); Application.Terminate; end;

ShowMessage

MessageDlg procedure TForm1.Button2Click(Sender: TObject); begin if MessageDlg('Czy zakonczyc prace?', mtConfirmation,[mbYes,mbNo],0)=mrYes then Application.Terminate; end;

MessageDlg