280 likes | 608 Views
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)
E N D
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ů ObjectInspector, vlastnosti a události Codeeditor, 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é 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 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
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)
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 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.
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 malého varu)
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 Obecná procedura val (s,cislo,i) prevede string s na cislo, i pozice chyby 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 + +
Button - tlačítko • 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) 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 – • 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