1 / 44

Delphi

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)

mari
Download Presentation

Delphi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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ů ObjectInspector, vlastnosti a události Codeeditor, editor kódu, kde píšeme

  4. 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

  5. Rozdělení komponent vizuální, viditelné 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á

  6. 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

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

  8. Přehled nevizuálních komponent timer časovač, měření časového intervaluudá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ěrjména souborů fontdialog výběr fontu (barva, řez, velikost) colordialog výběr barvypři použití dialogu se používá metoda .executeif OpenDialog1.execute then Memo1.LoadFromFile(OpenDialog1.Filename)

  9. 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;

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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.

  16. 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)

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

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

  19. Komponenty a jejich vlastnosti

  20. 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 + +

  21. 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!

  22. 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

  23. 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

  24. 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ů

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

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

  27. 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)

  28. 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; end; • Procedure TForm1.FormCreate…. p:=1;

  29. 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;

  30. 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 Bevelrámeček (Additional)

  31. 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

  32. 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á´);

  33. 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)

  34. 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´)

  35. 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

  36. 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

  37. 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)

  38. 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

  39. 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

  40. 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

  41. 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

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

  43. 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; end; a podobně pro Memo1.Lines.SaveToFile(s);

  44. 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)

More Related