Programowanie w środowisku DELPHI

Slides:



Advertisements
Podobne prezentacje
Katarzyna Szafrańska kl. II ti
Advertisements

Język C/C++ Funkcje.
Programowanie Wizualne WYKŁAD 1
Wzorce.
Programowanie w języku Visual Basic
Język ANSI C Funkcje Wykład: Programowanie komputerów
PASCAL (3) dr Anna Kwiatkowska.
PROGRAMOWANIE STRUKTURALNE
Projektowanie i implementacja programów obsługujących gniazdka Wykład II Zbigniew Brożbar Paweł Baranowski.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 3: Podstawowe elementy języka.
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.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 6: Tablice, rekordy, zbiory.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 2: Wstęp do programowania w Pascalu © Jan Kaczmarek.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Kurs Pascala – spis treści
Czytanie numerów puktów i ich współrzędnych z mapy.
Ogólne jednostki programowe 1
Wykład 2 struktura programu elementy języka typy zmienne
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
DELPHI.
PASCAL Dr Anna Kwiatkowska.
Wprowadzenie do programowania w języku Turbo Pascal
Pliki. Pliki Pliki jako pamięć nieulotna Pliki jako pamięć nieulotna Nazwy, atrybuty i prawa dostępu Nazwy, atrybuty i prawa dostępu atrybuty atrybuty.
Podprogramy.
PROGRAMOWANIE STRUKTURALNE
PROGRAMOWANIE STRUKTURALNE WYKŁAD 2
Programowanie w języku Fortran 95
Podstawy programowania
Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do.
Podstawy programowania
Obiekty dynamiczne Tworzenie klas 3 MPDI Programowanie obiektowe W4.
Programowanie strukturalne i obiektowe
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
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.
Algorytmy z przykładami w Turbo Pascal 7.0
Struktura programu w Turbo Pascalu.
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Procedury i funkcje.
Definicja pliku tekstowego Operacje wykonywane na plikach tekstowych
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
Pliki tekstowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików tekstowych. Pliki takie zawierają informację niezakodowaną
Janusz ROŻEJ GENERATORY APLIKACJI Generatory aplikacji Janusz ROŻEJ
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.
Programowanie obiektowe – zastosowanie języka Java SE
PROGRAMOWANIE KOMPUTERÓW
Wykład 1 Języki programowania Środowisko Delphi Komponenty
Visual Basic w Excelu.
Wykład 10 typ zbiorowy rekurencja.
Wykład 3 przykłady operacje na tekstach wyrażenia logiczne
1 Wykład 7 sortowanie BitButton format tekstu rysunki typ rekordowy.
Projektowanie stron WWW
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1.
Visual Basic w Excelu - podstawy
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Projektowanie postaci formularza:
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
Visual Basic for Applications
Programowanie obiektowe – zastosowanie języka Java SE
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Zapis prezentacji:

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

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

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

Pliki projektu

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

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

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

Widok środowiska

Inspektor obiektów

Plik modułu

Budowa pliku programu

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

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

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

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;

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);

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));

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

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;

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.

Proste typy danych (wybrane)

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ą

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);

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

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;

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

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

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:=',';