Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Programowanie w środowisku DELPHI

Podobne prezentacje


Prezentacja na temat: "Programowanie w środowisku DELPHI"— Zapis prezentacji:

1 Programowanie w środowisku DELPHI
Wstęp do środowiska Delphi Proste typy danych Funkcje i procedury- pojęcie podprogramu

2 Wstęp do środowiska Delphi
Elementy środowiska Delphi Pliki projektu Główne bloki projektu Etapy tworzenia aplikacji Podstawowe komponenty komunikacji :człowiek-program-człowiek Proste aplikacje

3 Elementy środowiska Delphi
Widok środowiska 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

4 Pliki projektu

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

6 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 jeżeli nie będzie ona co jakiś czas zapisywana. Kompilacja odbywa się za pomocą polecenia z menu Run\Run lub klawisza F9; sama kompilacja bez uruchomienia pliku *.exe to CTRL+F9; sprawdzenie czy moduły są prawidłowo zbudowane to menu Project\Syntax Check Na pracowni przed kompilacją zapisz swój projekt w utworzonym przez siebie folderze

7 Podstawowe komponenty komunikacji: człowiek-program-człowiek
TLabel- odpowiada Pascalowej instrukcji WRITE- wyświetla tekst TEdit- odpowiada Pascalowej instrukcji Read, służy do wprowadzania danych TButton- to komponent standardowego klawisza

8 Widok środowiska

9 Inspektor obiektów

10 Plik modułu

11 Budowa pliku programu

12 Proste aplikacje Zad 1: Standardowe zamknięcie programu
Zad 2: Zamknięcie programu z TButton Zad 3: Zamknięcie programu z klawisza ESC lub dowolnie innego Zad 4: Zamknięcie programu z komunikatem ostrzegawczym Zad 5: Suma dwóch liczb zapisanych w komponentach TEdit

13 Zad 1: Standardowe zamknięcie programu
Wybierz z menu File\New\Application Zapisz projekt Skompiluj i uruchom projekt (klawisz F9)- wynikiem będzie czyste okno aplikacji a w folderze gdzie zapisałeś projekt pojawi się plik z rozszerzeniem EXE, jest to Twój program Zamknij swój program kombinacją klawiszy ALT+F4

14 Zad 2: Zamknięcie programu z Tbutton
Wybierz z menu File\New\Application Zapisz projekt Dodaj do formatki komponent Tbutton W Inspektorze obiektów zmień właściwość CAPTION (zakładka Properties) komponentu TButton na : ZAMKNIJ W inspektorze obiektów przejdź do zakładki EVENTS. Odszukaj zdarzenia OnClick i dwa razy szybko kliknij na białym polu obok nazwy tego zdarzenia W edytorze kodu w pisz komendę close; procedure TForm1.Button1Click(Sender: TObject); begin close; end; Skompiluj projekt i kliknij myszką w obszarze klawisza

15 Zad 3: Zamknięcie programu z klawisza ESC lub dowolnie innego
Idea zadania to wykorzystanie tablicy kodów ASCII klawiszy do zamknięcia aplikacji przy pomocy wybranego klawisza oraz wykorzystaniu zdarzenia wciśnięcia klawisza wykrywanego przez formatkę aplikacji. Powtórz czynności z zadania 1 Możesz wykorzystać zdarzenie KeyPress lub KeyDown procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if key=#27 then close; end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); if key=27 then close; Jeżeli na formatce istnieje np komponent TButton to należy jego zdarzenie KeyPress lub KeyDown podpiąć do zdarzeń formatki używając inspektora obiektów w przypadku innych komponentów można wykorzystać „ogniskowanie”aktywności po ich wykorzystani używając właściwości SetFocus wskazanego komponentu tu Button1.SetFocus;

16 Zamknięcie programu z komunikatem ostrzegawczym
Powtórz czynności z zadania 2 Uzupełnij procedurę klikniecia klawisza na procedure TForm1.Button1Click(Sender: TObject); begin if MessageBox(handle,'Czy na pewno chcesz zamknąć','Komunikat',mb_OkCancel+mb_IconQuestion)=idOk then close else exit; end; Jeżeli w Twoim programie chcesz się odwoływać do powyższego zdarzenia to wystarczy że wywołasz procedurę tego zdarzenia przykładowo: if key=#27 then Button1Click(Sender);

17 Suma dwóch liczb zapisanych w komponentach Tedit
Powtórz czynności z zadania 2 lub 3 dodaj 2 komponenty TEdit, 1 Tlabel i 1 Tbutton W inspektorze obiektów ustaw TEdit.Text na 0; Tlabel.Caption na puste, TButton na + Zdarzenie OnKeyPress Edit1 i Edit2 procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (key=#8)or(key='-') then exit; if key=#27 then Button1Click(Sender);//skok do proc. wyjscia if (key<'0')or(key>'9')then key:=#0; end; Procedurę kliknięcia w klawiszu Button2 oprogramuj jak poniżej procedure TForm1.Button2Click(Sender: TObject); Label1.Caption:=IntToStr(StrToInt(Edit1.Text)+StrToInt(Edit2.Text));

18 Podstawowe informacje
Deklaracja danych Proste typy danych Funkcje konwersji Konwersja- proste zadanie

19 Deklaracja danych Nie zależnie od rodzaju danych obowiązują ścisłe reguły ich deklaracji. W zależności od miejsca deklaracji zmienna może mieć zasięg globalny, lokalny lub istnieć tylko w wybranej procedurze bądź funkcji. Sposób deklaracji Przykład Rodzaj zmiennej stała zmienna const g=9.81; s=‘szkola’; var a:real; t:word;

20 Przykład lokalizacji zapisu zmiennych
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; const s:string=‘Szkoła’; //zasięg globalny var Form1: TForm1;//zasięg globalny implementation i:integer;//zasięg tylko w obrebie unitu, czyli lokalny {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); const //zasięg tylko wewnatrz procedury g=9.81; a, t :real; i:word; begin end.

21 Proste typy danych (wybrane)

22 Wybrane funkcje konwersji
Konwersja to proces zamiany jednego typu danych w drugi. Najczęściej wykonywana jest przy zwracaniu wyników ( liczby zamieniane są na tekst) Wybrane funkcje konwersji Val(tekst:string,var zmienna,kod błędu:integer);-zamiana tekstu na liczbę Str(liczba,tekst:string); można tez podac dokładność po przecinku Str(t:8{długość w znakach }:3{liczba znaków po przecinku},s); FloatToStr- z liczby rzeczywistej na tekst; StrToFloat- z tekstu na liczbę rzeczywistą IntToStr- z liczby całkowitej na tekst; StrToFloat- z tekstu na liczbę całkowitą

23 Konwersja- proste zadanie
Utwórz aplikacje, która zamieni wczytany nr z klawiatury na znak z tablicy kodów ASCII (zakres liczbowy od 0 do 255) Przykładowa funkcja wykonująca zadaną konwersję: procedure TForm1.Button1Click(Sender: TObject); var i:byte; kodBledu:integer; begin Val(Edit1.Text,i,kodBledu); if kodBledu<>0 then Messagebox(handle,'Podaj liczbę z zakresu 0-255','Komunikat',mb_IconError); exit; end; Label1.Caption:=Char(i);

24 Funkcje i procedury- pojęcie podprogramu
Podprogram jest to ciąg instrukcji mogący zawierać własne deklaracje zmiennych określony jednym identyfikatorem (nazwą). W programie głównym jedna instrukcja pozwala wykonać podprogram. Podprogram może być wywoływany kilka razy w programie głównym. Ważną właściwością podprogramu są parametry - czyli pewne wartości (lub zmienne) dla których zostaje wykonany ciąg instrukcji w podprogramie. W Pascalu istnieją dwa typy podprogramów: funkcje i procedury. Funkcje różnią się od procedur tym, że można je traktować jako wartość określonego typu (inaczej określa się to że funkcje zwracają wartość) - oznacza to że mogą występować w wyrażeniach. Przykładem funkcji są funkcje SIN, COS, ORD itp. Procedury traktowane są jako nowa instrukcja języka - nie mogą być używane w wyrażeniach. Funkcje i procedury mogą mieć lub nie mieć parametrów. Ewentualne parametry przekazuje się w wywołaniu podprogramu w nawiasach okrągłych (np. x:= SIN(2*y)). Uwaga: Funkcja zwraca wynik przez nazwę lub przez słowo kluczowe result:= Patrz zadanie ZADANIE

25 Postać procedury i funkcji
A)Bez parametrów FUNCTION nazwa:typ funkcji; VAR część deklaracyjna BEGIN instrukcje funkcji END B) Z parametrami FUNCTION nazwa(parametr1:typ;parametr2:typ;...):typ funkcji; VAR część deklaracyjna BEGIN instrukcje funkcji END A) Bez parametrów PROCEDURE nazwa ; VAR część deklaracyjna BEGIN instrukcje procedury END; B) Z parametrami PROCEDURE nazwa (parametr1:typ; parametr2 : typ;...); VAR część deklaracyjna BEGIN instrukcje procedury END;

26 Uwagi Parametry przekazywane do funkcji lub procedury mogą być przekazywane na kilka sposobów: procedure nazwa(x,y:integer); procedure nazwa(const x,y:integer); to samo dotyczy funkcji procedure nazwa(var x,y:integer); Procedury jak i funkcje mogę mieć własne podprocedury lub podfunkcje procedure nazwa1(var x:integer); begin end; Var

27 Zasięg procedury lub funkcji
O zasięgu działania procedury lub funkcji decyduje miejsce jej deklaracji Zasięg globalny ..... procedure a1; //deklaracja nagłówka procedury implementation {$R *.DFM} procedure a1; // implementacja procedury, zasięg lokalny uzyska się w tedy jeżeli nie zastosuje się deklaracji nagłówka begin end; Zasięg wewnątrz klasy i poza klasą tMapa=class (TOmegaSurface) private procedure Rysuj;// wewnątrz klasy public procedure Ruch(const AVX,AVY:single);//Dostępna poza klasą Uwaga : w części implementacyjnej należy opisać cała tych procedur

28 Zadanie Utwórz aplikację, która przy pomocy 4 funkcji wykonujących podstawowe działania matematyczne (+, -, *, /) na dwóch zmiennych pokaże wynik tych działań (z dokładnością do 3 miejsca po przecinku) po wciśnięciu odpowiedniego klawisza działań. Funkcje działań zadeklaruj jako funkcje globalne z parametrem, na przykład : function Dodaj(a,b:real):real; var wynik:string; Form1: TForm1; function Dodaj(a,b:real):real; implementation {$R *.DFM} begin result:=a+b; end; procedure TForm1.Button1Click(Sender: TObject); str(Dodaj(StrToFloat(Edit1.Text),StrToFloat(Edit2.Text)):0:3,wynik); LAbel3.Caption:=wynik; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); if key='.' then key:=',';


Pobierz ppt "Programowanie w środowisku DELPHI"

Podobne prezentacje


Reklamy Google