3 Wprowadzenie do Object Pascal

background image

Wprowadzenie do Object

Pascal

W środowisku Delphi

background image

Programowanie

(powtórka)

Asembler

Zalety i wady

Języki wysokiego poziomu

Delphi, C++, Basic, Java

Przyczyny popularności C++ (Microsoft Visual

Studio, Borland C++ Builder)

Przyczyny popularności języka Basic (Visual Basic)

Przyczyny popularności języka Java (JDK, Visual

Café)

Czemu Delphi?

Może PHP lub Pearl?

background image

Czym jest Delphi?

Przyczyny popularności Pascala (od lat 80tych)

Object Pascal

Delphi – środowisko tworzenia i uruchamiania

programów w Object Pascalu

Narzędzie klasy RAD

Środowisko wizualne

Wersje

Personal Edition (

www.borland.pl

) - 85 komponentów

Professional – 255 komponentów

Enterprise (obsługa baz danych) – ponad 300

komponentów

background image

Komponenty

Komponent – obiekt (graficzny) do budowy

interfejsu, z biblioteki VCL

Interfejs – najważniejszy czy nie?

Projektant formularzy

Inspektor obiektów

Właściwości (wygląd i zachowanie komponentów)

Zdarzenia (akcje podejmowane po zajściu

określonych wydarzeń)

Edytor kodu

PROJEKT == APLIKACJA

background image

Pliki Delphi

*.pas – pliki zawierające kod źródłowy modułów

(w szczególności formularzy)

*.dfm – informacje o formularzach (np. o ich

komponentach i usytuowaniu)

*.dcu – skompilowane pliki modułów

*.dpr – plik główny aplikacji

*.cfg – opcje Delphi (ustawienia kompilatora)

*.dof – opcje projektu

*.res – pliki z zasobami (ikona dla pliku

wykonywalnego, obrazy graficzne zawarte w

komponentach, multimedia)

background image

Struktura aplikacji

Program główny

W praktyce nieograniczona liczba modułów

zapisanych w niezależnych plikach, w

szczególności odpowiadających formularzom

Rola programu głównego

Podział kodu na moduły

Reguły podziału

Zalety

Moduł Windows.pas – WinAPI

Istota i zalety korzystania z WinAPI

background image

Komunikacja w trybie

DOS

Dyrektywy kompilatora
{$dyrektywa parametr}

Dyrektywa {$APPTYPE
CONSOLE}

Konwencja Turbo Pascala

Komunikacja: readln, writeln

Przykład: Project1

background image

Plik projektu

Plik projektu (głównego modułu aplikacji) ma rozszerzenie .dpr

Jest punktem startowym i końcowym aplikacji

Składnia

program HelloWorld;
uses
Forms,
umain in ‘umain.pas’; {np. formularz}
{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

background image

Budowa pliku kodu

źródłowego

unit Unit1
interface
uses
windows, messages,

SysUtils, Classes, Graphics,

Controls, Forms, Dialogs;

type
TForm1 = class (TForm)
private
//private declarations
public
//public declarations
end;

var
Form1: TForm1;

implementation
{$R *.dfm}
initialization
//to musi wprowadzić

programista

finalization //j.w.
end.

background image

Przykład

Skrajne rozdrobnienie na moduły

Plik główny (projektu)

Trzy moduły

Sygnatury (nagłówki) udostępnianych
komponentów programu (aplikacji)

Implementacja tych komponentów

Przykład: Project2

background image

Struktura modułu

Instrukcja unit

Sekcja interface

Opisuje co w danym module „widzi” reszta aplikacji

Nie zwiera kodu wykonawczego lecz typy, stałe,

zmienne, nagłówki procedur i funkcji, interfejsy klas (!!)

Sekcja implementation

Fragment kodu wykonawczego całej aplikacji

Zmienne, typy, stałe, procedury i funkcje, klasy (!!) o

zasięgu lokalnym

Implementacje procedur, funkcji i metod klas (!!)

Uwaga: hermetyczność klas w ramach tego

samego modułu jest naruszana

background image

Klauzula uses

Informuje kompilator, że powinien dołączyć kod
znajdujący się w modułach wymienionych w tej
klauzuli

Może występować zarówno w części interfejsu jak
i implementacji

Występuje natychmiast za słowami: interface i
implementation

Jeśli dwa moduły odwołują się do siebie, to w celu
uniknięcia błędu cyklicznych odwołań, M1
powinien odwoływać się do M2 w sekcji interfejsu,
natomiast M2 do M1 – w sekcji implementacji

background image

Inicjalizacja i finalizacja

Sekcja initialization

Kod tej sekcji modułu jest uruchamiany przed pozostałą częścią

modułu

Innymi słowy, jest on wykonywany w momencie ładowania modułu

do pamięci operacyjnej

Typowo służy do inicjalizacji zmiennych (lokalnych, globalnych), w

szczególności do tworzenia zmiennych dynamicznych

(wskaźnikowych)

Sekcja finalization

Zwykle ma sens tylko wtedy, gdy w module występuje również sekcja

inicjalizacji

Stosowana do wykonywania kodu „porządkującego”, np.

zwalniającego pamięć przydzieloną do obiektów w sekcji inicjalizacji

Sekcje finalizacji wielu modułów są wykonywane w przeciwnej

kolejności niż wcześniej wykonane sekcje inicjalizacji

Przykład: Project3

background image

Testowanie

oprogramowania

Typy błędów

Leksykalne (nazewnicze)

Składniowe (syntaktyczne)

Semantyczne (błędny algorytm)

Wykonawcze (run time)

Błędy wykrywane przez kompilator (linker)

Leksykalne

Składniowe

Błędy wymagające korekty koncepcyjnej (pomocny w

ich identyfikacji debugger)

Semantyczne

Błędy wykrywane dzięki debuggerowi

wykonawcze

background image

Śledzenie ścieżek

wykonywania aplikacji

Praca „krokowa” („krok” o różnej długości)

Przykład: Project3

Instrukcja po instrukcji na tym samym poziomie architektury

aplikacji (tzn. bez zagnieżdżania w wywoływane procedury,

funkcje i metody), ang. step over

Instrukcja po instrukcji, ang. trace into

Do kolejnego wiersza kodu źródłowego, ang. trace into next

source line (bez względu na przepływ sterowania – przejście do

kolejnego wiersza)

Przejście do pozycji kursora w kodzie (ang. run to cursor)

Zatrzymanie po powrocie z procedury lub funkcji, ang. run until

return

Wskazanie miejsca zatrzymania, ang. show execution point

(istotne, gdy oglądamy inny fragment programu)

Dodawanie pułapek, ang. add breakpoint (wykonanie w czasie

rzeczywistym, aż do napotkania pułapki

background image

Podglądanie i modyfikacja

zmiennych

„Czujki”, ang. add watch, służą do bieżącej kontroli
stanu wybranych zmiennych w trakcie krokowego
(por. poprzedni slajd) wykonywania programu

Sprawdzanie wartości określonych wyrażeń, ang.
evaluate, zbudowanych na bazie dostępnych w
danym kontekście elementów (zmiennych)
programu

Modyfikacja wybranych zmiennych (pól obiektów)
programu, ang. modify, w celu sprawdzenia zmiany
jego zachowania (jednorazowa, bez modyfikacji
kodu)

background image

Podsumowanie

Zintegrowane środowisko typu RAD

Programowanie wizualne (VCL)

Styl programowania

Strukturalny

Obiektowy

Modułowy

Perspektywy rozwoju Object Pascal


Document Outline


Wyszukiwarka

Podobne podstrony:
Wykład 1 inżynierskie Wprowadzenie do zarządzania operacyjnego
Wprowadzenie do medycyny rozwojowej 1
PD W1 Wprowadzenie do PD(2010 10 02) 1 1
Wprowadzenie do psychologii
Sem II Transport, Podstawy Informatyki Wykład XXI Object Pascal Komponenty
Wprowadzenie do filozofii
(1) Wprowadzenie do nauki o finansach 1id 778 ppt
wprowadzenie do systemu win i podst sieci
wprowadzenie do psychologii społecznej
Wprowadzenie do cw1A
1 Wprowadzenie do psychologii pracy (14)id 10045 ppt
ref 2004 04 26 object pascal
MWB 1 Wprowadzenie do modelowania wymagań w bezpieczeństwie
Wprowadzenie do Kryptografii
Wprowadzenie do pomocy społecznej

więcej podobnych podstron