Objektově orientované programování Programování řízené událostmi

Slides:



Advertisements
Podobné prezentace
Zoner Foto Studio Bohumil Bareš.
Advertisements

Vzdělávání v eGonCentru ORP Boskovice
Olomouc, únor 2012.
Microsoft Word 2010 I. Spuštění aplikace Wordu Popis prostředí Základní editace textu VY_32_INOVACE_52_MS_Word_ I.
Vypracovala: Mgr. Hana Toflová Dne: ICT2/1/3/16
Vytvoření dokumentu bylo financováno ze zdrojů Evropského sociálního fondu a státního rozpočtu ČR. Název projektu: Výuka programování na střední škole.
Tabulky v MS ACCESS Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Jiří Novák.
Ukázková data grafická jsou majetkem IMIP. Popisná data jsou fiktivní.
Úvod do programování v prostředí Windows
Buňka – typy buněk, formát buňky
MS Malování II. VY_32_INOVACE_58_MS_Malovani_II.
COREL DRAW SEZNÁMENÍ Úvod, seznámení se se systémem Pracovní plocha
Konstanty jsou datové objekty jejich hodnoty nelze v programu měnit Deklarace Const jméno = hodnota Příklad: Textový řetězec ZPRAVA Const ZPRAVA = “Zadej.
Vzhled prezentace - šablony
Word 2007 se na rozdíl od předcházejících verzí ovládá pomocí pásu karet, který najdete v horní části obrazovky. Pás je rozdělen na jednotlivé karty,
Programování v Pascalu Přednáška 7
Výpočetní technika Akademický rok 2011/2012 Letní semestr Novák Petr
IT začátečníci - Word Modul 3.
Maturitní otázka č. 12 Kristýna Kaňovská 4. A.
Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu „Učíme moderně“ Registrační číslo projektu:
Prezentační nástroj Open Office, Impress ZÁKLADY PRÁCE Předmět: Informatika Ročník: 6.ročník Klíčová slova: Nová prezentace, snímek, průvodce prezentací,
VYPRACOVALA: MGR. HANA TOFLOVÁ DNE: ICT2/1/3/13 WORD - tabulky.
MS PowerPoint Prezentační manažer Kapitola 4.0 (Text)
Anotace Žák dokáže v aplikací MS Word vytvořit tabulku Autor Petr Samec Jazyk Čeština Očekávaný výstup Dokáže v aplikaci MS Word vytvořit, upravit a formátovat.
TEXTOVÝ EDITOR.
Výukový program: Obchodní akademie Název programu: Práce s textem v objektech prezentace Vypracoval : Ing. Jiří Durďák Projekt Anglicky v odborných předmětech,
Formátováním textu se rozumí změna jeho vlastností jako velikost, barva, typ, podtržení atd. Pokud chceme změnit některou z vlastností již napsaného textu,
Tabulky, kreslení, diagramy, šablony
PictureBox u vkládání obrázků u vlastnost Picture pomocí příkazu LoadPicture u přiřazení obrázku mezi dvěma prvky PictureBox Auto.Picture = AutoCerv.Picture.
Vkládání kreslených útvarů
Základní škola a mateřská škola Bzenec Číslo projektu: CZ.1.07/1.4.00/ Číslo a název šablony klíčové aktivity: III/2: využívání ICT – inovace Vypracoval/a:
Název projektuInovace ŠVP na OA a JŠ Třebíč Číslo projektuCZ.1.07/1.5.00/ Číslo a název šablony klíčové aktivityIII/2 Inovace a zkvalitnění výuky.
Konstanty u jsou datové objekty u jejich hodnoty nelze v programu měnit u Deklarace Const jméno = hodnota Příklad: Textový řetězec ZPRAVA Const ZPRAVA.
Power Point– sestavujeme prezentaci
Power Point– popis prostředí
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Metody geoinženýrství Ing. Miloš Cibulka, Ph.D. Brno, 2015 Cvičení č. 3 Vytvořeno s podporou projektu Průřezová inovace studijních programů Lesnické a.
Algoritmizace a programování Úvod do Delphi - 04 Mgr. Josef Nožička IKT Algoritmizace a programování
POWER POINT 1 Základní pojmy Power Point - základní pojmy.
Aktivní škola - podpora, zlepšení kvality vzdělávání a výuky na základní škole Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem.
Střední škola živnostenská Sokolov, příspěvková organizace
Word – Tabulky a Grafika ve Wordu
Počítačová podpora konstruování I 7. přednáška František Borůvka.
Základní škola a mateřská škola Bzenec Číslo projektu: CZ.1.07/1.4.00/ Číslo a název šablony klíčové aktivity: III/2: využívání ICT – inovace Vypracoval/a:
Mgr. Karel FischerÚprava prezentace1 Změna použité šablony Ke změně šablony mohu použít jednu ze tří možností: a)Formát \ návrh snímku b)V panelu nástrojů.
ProgeCAD Základy kreslení.
TVORBA VÝUKOVÉ PREZENTACE I.
Základní škola a Mateřská škola, Šumná, okres Znojmo OP VK Tematický celek: Informatika Název a číslo učebního materiálu VY _32_INOVACE_04_10.
Delphi Objektově orientované programování Programování řízené událostmi.
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
Jednoduché zprávy funkce MsgBox MsgBox (prompt, buttons, title, helpfile, context): button funkce InputBox InputBox (prompt, title, default, xpoz, ypoz,
ProgeCAD Základy kreslení.
VYTVÁŘENÍ e-LEARNINGOVÝCH MATERIÁLŮ Přednáší Mgr. Jaromír Kozel
Databáze MS ACCESS 2010.
MS EXCEL Charakteristika
EXCEL – tisk a tvorba grafů Gymnázium a Jazyková škola s právem státní jazykové zkoušky Svitavy Ditta Kukaňová.
Delphi – práce se základními komponentami (1. hodina) OB21-OP-EL-KON-DOL-M-4-008A Orbis pictus 21. století.
Prezentace Powerpoint 1 Předmět:INFORMATIKA Ročník:7. Tematický okruh:Seznámení s programem MS Excel Název učiva:Návod na používání programu MS Excel Prezentace.
Ovládání a přizpůsobení prostředí AutoCADu uživatelské rozhraní možnosti nastavení profily.
Vývojová prostředí Objektově Orientované Programování OB21-OP-EL-KON-DOL-M Orbis pictus 21. století.
KIV/ZD cvičení 8 Tomáš Potužák.
PRACOVNÍ PLOCHA Vasyl Lutsak.
VY_32_ INOVACE_IKR5 - 4– POWERPOINT – PRÁCE S TEXTEM Název školy:
WORDPAD Textový dokument.
Vypracoval-Matěj Šmíd
Prezentační nástroj Open Office, Impress ZÁKLADY PRÁCE
Delphi – Práce s formuláři
VY_32_INOVACE_PR2_16 Grafika.
VY_32_INOVACE_PR2_15 Vybrané komponenty.
téma vyjádření Obrázek SmartArts obrázky na červeném pozadí
Transkript prezentace:

Objektově orientované programování Programování řízené událostmi Delphi Objektově orientované programování Programování řízené událostmi

Vlastnosti Delphi Delphi je objektově orientovaný jazyk Delphi umožňuje spojovat data a kód do tříd (zapouzdření, encapsulation) vytvářet odvozené třídy (dědičnost, inheritance) pracovat s odvozenou třídou jako s jejím předkem (polymorfismus, mnohotvárnost) problém chyb běhu řeší pomocí výjimek konstrukce try – except - end

Prostředí Delphi Delphi je také kompilátor jazyka Object Pascal s integrovaným vizuálním prostředím obsahuje menu s nápovědou knihovnu komponent členěnou do sekcí (Standard, Additional, System, Dialogs…) Object Tree View, stromová struktura objektů Object Inspector, vlastnosti a události Code editor, editor kódu, kde píšeme

Projekt aplikace v Delphi se nazývá projekt části projektu projektový soubor *.dpr popis formuláře *.dfm unita *.pas nastavení překladače *.dof ikona projektu *.res spustitelný soubor *.exe přeložená unita *.dcu

Rozdělení komponent vizuální, viditelné nevizuální, neviditelné většina prvků (label, edit, button…) základní komponenta je formulář, typ TForm nevizuální, neviditelné slouží pro speciální akce (timer, dialogy, menu) po spuštění na formuláři nejsou viditelné Umístěním komponenty na formulář se vytvoří její instance, v unitě se objeví nová proměnná

Přehled vizuálních komponent form základ projektu edit vstup i výstup jednořádkového textu Edit1.Text label popisek, Label1.Caption button tlačítko, provedení akce (události) memo víceřádkový text , položka Lines LoadFromFile, SaveToFile - soubor Clear, Add, Memo1.Clear; Memo1.Lines.Add(‘a‘) image, shape obrázek, automatický tvar Picture

Přehled vizuálních komponent spinedit číselník, lze použít i updown SpinEdit.value: integer posuvník, zadání číselných hodnot Scrollbar.Position: integer checkbox, radiobutton zatržítko, přepínač checked: boolean panel, groupbox tvorba skupin combobox, listbox rozbalovací seznam Items k naplnění dat, ItemIndex pořadí radiogroup skupina přepínačů, Items, ItemIndex

Přehled nevizuálních komponent timer časovač, měření časového intervalu událost OnTimer (uplynutí intervalu) mainmenu hlavní vysunovatelné menu - čára,ShortCut je nastavení klávesové zkratky (Ctrl+S) popupmenu kontextové menu (PT myši) opendialog, savedialog výběr jména souborů fontdialog výběr fontu (barva, řez, velikost) colordialog výběr barvy při použití dialogu se používá metoda .execute if OpenDialog1.execute then Memo1.LoadFromFile(OpenDialog1.Filename)

Práce se schránkou Schránka Windows = ClipBoard Ctlr + C – CopyToClipBoard Ctlr + X – CutToClipBoard Ctlr + V – PasteFromClipBoard Nejčastěji se používá v memu. memo1.CopyToClipboard; memo2.PasteFromClipboard;

Object inspector Zajišťuje spojení mezi vzhledem aplikace a jejím zdrojovým kódem nastavení vlastností komponent v době návrhu na listu properties manažer událostí na listu events seznam instancí v object selektoru vzhled Object inspectoru lze také nastavit

Object Tree View stromový diagram objektů hierarchicky seřadí všechny použité komponenty (vizuální i nevizuální) některé komponenty lze umístit do jiných (dědičnost) – např. label na panel základní komponenta je formulář typu TForm

Code editor editor kódu je textový editor zajišťuje přístup ke zdrojovému kódu nabízí našeptávače, code completion, nápovědu, (automaticky nebo po stisku Ctrl+mezera) šablony kódu, code templates Ctrl+J další prostředky pro pokročilé: gutter (ladění, hledání chyb), project manager

Vlastnosti komponent Vlastnosti přístupné (v době návrhu aplikace) v nejběžnějších komponentách: Align: zarovnání komponenty Caption: titulek komponenty Color: barva povrchu nebo pozadí Cursor: určuje kurzor myši nad komponentou Enabled: udává, zda je komponenta aktivní nebo nikoliv (je ale vždy viditelná) Font: určuje typ písma

Vlastnosti komponent Height: výška komponenty Hint: řetězec pro plovoucí nápovědu Left: vzdálenost levého horního rohu zleva Name: jedinečné jméno komponenty (jeho změna se musí projevit při všech použitích komponenty) ShowHint: je povolena plovoucí nápověda? Top: vzdálenost levého horního rohu zhora Visible: udává, zda je komponenta viditelná Width: šířka komponenty

Události komponent Nejpoužívanější události OnChange: dojde k ní při změně komponenty OnClick: při klepnutím levým tlačítkem OnDblClick: double-click OnEnter: aktivování komponenty (přijme focus) OnExit: komponenta ztrácí focus OnKeyPress: při stisku klávesy OnMouseDown: při stisku něj. tlačítka myši OnMouseMove: při pohnutí myší nad komp. OnMouseUp: uvolnění tlačítka myši nad komp. 10/04/2017

Programování událostí píšeme v editoru kódu po poklikání na komponentu nebo po výběru události na kartě events šablona unity se vytvoří automaticky název procedury, parametry begin … end; případné lokální proměnné doplníme (do varu uvnitř těla konkrétní procedury)

Konverzní funkce Pro převod mezi formáty IntToStr, StrToInt – mezi integer a string FloatToStr, StrToFloat – mezi real a string DateToStr, StrToDate – mezi date a string Val(s,a,c) – převede string na cislo Val (string,cislo,pozice chyby) c = 0 – převod bez chyby, c > 0 – na pozici c je chyba Příklady: x:=StrToInt(Edit1.text); Label1.Caption:=DateToStr(now);

Kreslení Kreslit lze pomocí vlastnosti Canvas s využitím Pen a Brush Canvas.MoveTo(X,Y) – počáteční bod Canvas.LineTo(X,Y) – koncový bod Canvas.Rectangle(xz, yz, xk, yk) Canvas.Ellipse(xz, yz, xk, yk) Canvas.Pen, Canvas.Brush canvas.Pen.Color:=ClRed; canvas.Pen.Width:=7; canvas.Rectangle(10,10,100,100);

Komponenty a jejich vlastnosti

Form – formulář BorderStyle – vzhled okraje okna BorderIcons – ikony v titulkovém pruhu Caption – titulek, v titulkovém pruhu Height, Width – výška a šířka vč. okrajů ClientHeight, ClientWidth – využitelná Font – výběr fontu (velikost, styl, barva…) Left, Top – souřadnice levého horního rohu Cursor – tvar kurzoru nad formulářem + +

Nelze změnit barvu tlačítka! Button - tlačítko Caption – popisek Enabled – tlačítko je-není stisknutelné WordWrap – zalomení textu (true, false) Left, Top – umístění levého horního rohu Hint – nápověda (text nápovědy) ShowHint – zobrazit nápovědu (true,false) Width, Height – šířka a výška tlačítka Visible – viditelné (true,false) Nelze změnit barvu tlačítka!

Label – textový popisek Alignment – zarovnání horizontální (vlevo, vpravo, na střed) Layout – zarovnání vertikální (nahoru, dolů, na střed) Autosize – automatické přizpůsobení velikosti danému textu (true, false) Transparent – průhledná barva

Edit – editační řádek VŽDY STRING !!! Text – obsah editu, zadaný text – vstupní i výstupní, pro čísla je nezbytná KONVERZE ReadOnly – jen ke čtení PasswordChar – znak pro zobrazení namísto zadávaného textu (hesla…) CopyToClipboard – metoda, která zkopíruje obsah editu do schránky

UpDown (Win32) Associate – propojení s prvkem Position – aktuální hodnota Min, Max – rozsah hodnot Increment – přírůstek ArrowKeys – šipkové klávesy (ano/ne) Orientation – vertikálně, horizontálně Thousands – oddělení tisíců

SpinEdit (Samples) Value – hodnota (celé číslo) Increment – přírůstek MaxValue, MinValue – minimální a maximální hodnota

Timer (Systém) - časovač Interval – milisekundy Enabled – zapíná a vypíná časovač

Image (Additional) Picture – jméno obr. nebo cesta k němu Autosize – rámeček se přizpůsobí (ano/ne) Stretch – obrázek se přizpůsobí (ano/ne) LoadFromFile, SaveToFile Image1.Picture.LoadFromFile(´H:\vlk.jpg´) Image1.Picture.LoadFromFile(Edit1.Text)

Animace obrázku (1) Button, image (obr1.bmp), globální proměnná p (do globální deklarace) – číslo načteného obrázku Procedure TForm1.Button1Click(Sender:Tobject); begin if p=1 then begin p:=2; Image1.Picture.LoadFromFile(´obr2.bmp´) end else begin p:=1; Image1.Picture.LoadFromFile(´obr1.bmp´) end; Procedure TForm1.FormCreate…. p:=1;

Animace obrázku (2) 2 image, každý se svým obrázkem, umístit přes sebe, u jednoho nastavit výchozí Visible False, button Procedure TForm1.Button1Click(Sender:Tobject) begin Image1.Visible:=not(image1.Visible); Image2.Visible:=not(image2.Visible); end;

Shape automatický tvar (Additional) Shape – tvar (round – kulaté rohy) Brush – štětec – výplň – barva, styl (bsSolid) Pen – pero – čára tvaru Shape – tvar – celý nebo 1 strana Style Bevel rámeček (Additional)

BitButton – tlačítko s obrázkem (Additional) Kind – druh tlačítka Glyph – název obrázku Layout – umístění Spacing – vzdálenost obr. od textu v bodech Style - styl tlačítka

InputBox (funkce) – jednořádkový vstup Funkce, kterou voláme z programu, přiřadíme proměnné typu string. Funcion InputBox(const Acaption, Aprompt, Adefault:string):string; Acaption – titulek dialogového okna Aprompt – titulek editačního pole Adefault – přednastavená hodnota v editačním poli prijmeni:=InputBox(´identifikace´,´zadejte svoje příjmení´,´Nováková´);

MaskEdit (Additional) omezení vstupního textu EditMask – předdefinovaná nebo vlastní maska (povinné: L písmeno, A písmeno nebo číslice, 0 číslice, C znak; nepovinné: l písmeno, a písmeno nebo číslice, 9 číslice,c znak), # číslice nebo + -, _ mezera Text – obsah komponenty EditText – text formátovaný aplikací masky IsMasked – maska nastavena (ano/ne)

Memo (Standard) víceřádkové textové okno výstupní obrazovka – více řádků typu string (pole textových řádků) WordWrap – zalamování řádků dle šířky okna Memo (true/false) ScrollBars – nastavení posuvníků Text – obsah Mema (vlastní text) Lines – řádky – obsah Mema (Add – přidá řádek na konec, Delete – vymaže řádek, Insert – vloží řádek na aktuální pozici) ReadOnly – lze/nelze měnit obsah Mema Clear – vymaže obsah Mema (ClearSelection – vymaže výběr) CopyToClipboard – zkopíruje výběr do schránky (Cut – vyjme, PasteFrom… - vloží obsah schránky) SelectAll – označí celý obsah Mema (SelText – obsahuje vybraný text, SelStart – pozice počátku výběru, SelLength – délka výběru) Modified – změněn obsah Mema (true/false) LoadFromFile – načte obsah textového souboru, SaveToFile – uloží obsah Mema do zadaného souboru Count – počet řádků Mema Př. Memo1.Lines.Add(´Ahoj´)

Panel, groupbox, RadioGroup (Standard) seskupování komponent do celku (panel je pro komponenty do něj vložené „rodičem“) Checkbox (zatržítko) – Caption, Checked (true/false) RadioButton (přepínač) – vkládá se do speciální skupiny pomocí RadioGroup (Items – obsah skupiny přepínačů, každý na somostatném řádku, ItemIndex – pořadí zvoleného přepínače – první=0, Columns – počet sloupců) využívají se často pro příkaz CASE

ScrollBar (Standard) - rolovací lišta Kind – orientace horizontální, vertikální Min, Max – nejmenší a největší hodnota Position – pozice jezdce SmallChange – o kolik se posune jezdec při stisku koncových šipek LargeChange - o kolik se posune jezdec při kliknutí na pruh ScrollBaru

Seznamy – ListBox, ComboBox (Standard) posloupnost hodnot podobného typu, umožňuje výběr jedné nebo více položek ListBox – Items – jednotlivé položky (Strings – přístup k jednotlivým řádkům) - ItemIndex – index položky, první=0, nevybráno nic = -1 - Columns – počet sloupců seznamu - Multiselect – lze/nelze vybrat najednou více položek - SelCount – počet najednou vybraných položek Selected – byla/nebyla vybrána položka Sorted – položky budou/nebudou setříděny (seřazeny)

ComboBox – výběr jediné položky ze seznamu - vlastnosti podobné jako u ListBoxu, navíc vlastnost Style – ovlivňuje vzhled a chování prvku

Menu – hlavní a kontextové komponenta MainMenu (Standard) – nevizuální poklikání = Menu Designer Caption– název položky Create Submenu – podmenu u položky (z kontextové nabídky) komponenta PopUp Menu = kontextové menu vytvořit tolikrát, kolika objektům je chceme přiřadit přiřazení k objektu – vlastnost PopupMenu

Dialogy nevizuální, umožňují volání připravených dialogových oken okno končí volbou OK nebo Cancel dialog spouští funkce Execute, má hodnotu true, pokud uživatel potvrdil OK, false, pokud uživatel stiskl Cancel OpenDialog – výběr souboru do FileName SaveDialog – uložení souboru z FileName OpenPictureDialog, SavePictureDialog – výběr a uložení – pro soubory typu bmp, ico FontDialog – zvolený Font ColorDialog – zvolená barva

Procedury, funkce a parametry ShowMessage – vlastní zpráva - procedura ShowMessage('text') - vložíme ji do tlačítka s popiskem Klikni... Sender – parametr – lze přetypovat - změníme jeho obecnou hodnotu z TObject na konkrétní, např. TButton Label1.Caption:=(Sender as TButton).Caption

Procedury, funkce a parametry Val, StrToInt, IntToStr, StrToFloat, FloatToStr,... - procedury InputBox – funkce

Výjimky k ošetření chybových stavů try...except...end;... s:string begin s:=InputBox(´načtení souboru´,´Jméno souboru: ´,´´); try Memo1.Lines.LoadFromFile(s); except Showmessage(´Soubor ´+s+´ neexistuje!´); end; a podobně pro Memo1.Lines.SaveToFile(s);

Postup tvorby programu rozepsat si zadání: algoritmus potřebné komponenty na formulář nachystat komponenty a pojmenovat je přiřadit komponentám vlastnosti přiřadit komponentám tělo procedur („naprogramovat je“) uložit program spustit program a odladit ho (uložit funkční verzi)