Programování v jazyku C# II. 1.kapitola

Rozměr: px
Začít zobrazení ze stránky:

Download "Programování v jazyku C# II. 1.kapitola"

Transkript

1 Programování v jazyku C# II. 1.kapitola

2 Obsah Windows forms Formuláře Kontrolky Prostředí 2/33

3 Windows forms Shrnující název pro množinu tříd umožnující tvorbu grafických uživatelských rozhraní Součást.NET Frameworku Součást standardu 3/33

4 Jmenné prostory System.Windows.Forms obsahuje formuláře, kontrolky, dialogy System.Drawing Kreslení, GDI+ System.Drawing.Imaging rozšířené možnosti práce s grafikou Nutno pridat reference dělá automaticky vývojové prostředí 4/33

5 Aplikace Třída Application poskytuje statické metody a události pro událostmi řízené programování Application.Run(Form) zobrazí formulář a zahájí smyčku událostí blokuje, dokud nedojde k uzavření formuláře Application.Exit() ukončí smyčku událostí zavře všechny okna aplikace Application.[User Common]AppData[Path Registry] vrátí cesty k adresářum s uživatelskými daty C:/Documents and Settings/All users/data aplikací/<company name>/<product name>/<product version> 5/33

6 Aplikace příklad namespace Jcu.Pjc2.Lekce2 class Program static void Main (string [] args) Form form = new Form(); Application.Run (form); 6/33

7 Třída Form Třída Form reprezentuje formulář (okno) Obvykle se dědí od Windows.Forms.Form přidají se ovládací prvky přidají se reakce na události 7/33

8 Třída Form - metody Show zobrazí formulář (program pak pokračuje v běhu) ShowDialog zobrazí formulář (ceká dokud se formulář nezavře) Close zavře formulář Hide skryje formulář Activate zobrazí skrytý formulář 8/33

9 Třída Form - události Load při zobrazení pomocí Show, ShowDialog Activated když se stane aktivní Activate Deactivate když se stane neaktivní Hide FormClosing okno se zavírá lze zrušit pomocí CancelEvenArgs FormClosed okno se definitivně zavírá 9/33

10 Příklad namespace Jcu.Pjc2.Lekce2 class NonClosingForm : Form public NonClosingForm() this.formclosing += new FormClosingEventHandler (NonClosingForm_FormClosing); void NonClosingForm_FormClosing (object sender, FormClosingEventArgs e) e.cancel = true ; class Program static void Main (string [] args) NonClosingForm form = new NonClosingForm(); form.showdialog(); 10/33

11 Nemodální formulář Zobrazí se metodou Show Vlastní smyčka zpráv žije si vlastním životem v aplikaci jich muže být několik Muže mít vlastníka při skrytí, uzavření či aktivaci vlatníka udělá totéž kreslí se přes vlastníka 11/33

12 Modální formulář - dialog Zobrazí se metodou ShowDialog Dokud není uzavřen, nedovolí uživateli manipulovat s rodičem Matoda ShowDialog vrací hodnotu výctový typ DialogResult Yes, No, Abort... 12/33

13 Modální formulář předání hodnoty Nastavení hodnoty v property DialogResult způsobí uzavření formuláře Nastavení hodnoty DialogResult u některého z tlačítek formuláře není třeba psát obsluhu pro tlačítko funguje automaticky 13/33

14 Třída Control Třída Control je předek všech vizuálních prvku včetně formuláře Umožňuje zobrazení a skrytí nastavení pozice a velikosti vnořování kontrolek reakce na události práci ve vláknech 14/33

15 Některé kontrolky 15/33

16 Pozice a velikost Jednotlivé veličiny pozice horní hrany Top pozice levé hrany Left šířka kontrolky Width výška kontrolky Height dolní a pravá hrana pouze pro čtení (Right, Bottom) Velikost a pozice dvojice výška, šířka Size (SizeF) dvojice levý, horní Point (PointF) Kompletní určení velikosti struktura Rectangle (RectangleF) 16/33

17 Velikost kontrolky a klientská oblast Velikost kontrolky celková velikost Width, Height, Size Klientská oblast vnitrek kontrolky bez rámecku, rolovacích lišt, menu... ClientWidth, ClientHeight, ClientSize 17/33

18 Vnořování kontrolek Property ControlCollectoin Controls metoda Add přidá kontrolku metoda Remove vyjme kontrolku indexer Controls[int/string] vrátí referenci na kontrolku Kontrolka se musí přidat, aby se zobrazila kontrolky se většinou vytváří jako private členy formuláře (nejsou přístupné zvenku) 18/33

19 Příklad class ButtonForm : Form private Button button ; public ButtonForm() button = new Button(); this.controls.add(button); 19/33

20 Chování vnořených kontrolek Pozice se vztahuje k levému hornímu rohu klientské oblasti rodiče Vykreslují se vždy pres rodičovskou kontrolku u sesterských kontrolek záleží na Z-poradí standardně podle poradí přdání do kolekce kontrolek BringToFront posune kontrolku nejblíž SendToBack odsune kontrolku nejdál Přebírají některé vlastnosti (ambientní vlastnosti) barva, font... 20/33

21 Události Jsou řešeny pomocí delegátů na metody, které danou událost zpracují button.click += new System.EventHandler(buttonClick); void buttonclick (object sender, System.EventArgs e) this. Close (); Událost je zaslána kontrolkou nad kterou k události došlo (sender) Odesílatel nezná příjemce Příjemce zná odesílatele Další informace jsou uloženy v EventArgs 21/33

22 Obsluha Události od více kontrolek muže obsluhovat jediná metoda V některých případech muže jedna metoda obsluhovat i různé události Příklad obsluhy button1.click += new System.EventHandler(button1_Click); button2.click += new Systém.EventHandler(button1_Click);... private void button1_click (object sender, System.EventArgs e) MessageBox.Show("kliklo se na "+((Button)sender).Text); 22/33

23 Klávesnice KeyDown, KeyUp argument události obsahuje scan kód klávesy funguje i pro neznakové klávesy modifikátory Control, Alt, Shift KeyPress jen pro znakové klávesy vrací kód znaku V případě stisknuté klávesy nastává střídavě události KeyDown a KeyPress, událost KeyUp nastane až při uvolnění klávesy 23/33

24 Myš Click a DoubleClick nemusí být nutně od myší, ale například po stisku klávesy ENTER pouze informuje, že událost nastala, argument nenese informaci o souřadnicích myši MouseClick a MouseDoubleClick až v.net 2.0 podobně jako Click, ale pouze pro myš MouseEnter, MouseHover a MouseLeave pouze informují o události MouseMove, MouseDown, MouseUp a MouseWheel argument události (MouseEventArgs) nese informaci o pozici myši a stavu tlačítek a kolečka 24/33

25 Vlákna Čtení či zápis dat kontrolky z jiného vlákna muže způsobit nekonzistenci v.net 2.0 vyhodí InvalidOperationException vláknově bezpečné metody: (Begin/End)Invoke přístup z jiného vlákna indikuje InvokeRequire Synchronní způsob blokující volání Invoke(delegate, object[]) zavolá delegáta vláknem, kterému patří kontrolka předá pole objektu jako argumenty vrátí hodnotu, kterou vrátil delegát 25/33

26 Synchronní způsob public ThreadForm() button1 = new Button(); thread1 = new Thread(new ThreadStart(CountingThread));... protected void CountingThread()... // slozity vypocet SetText (mezivysledek);... protected delegate void SetTextDelegate(string text); protected void SetText (string text) if(button1.invokerequired) SetTextDelegate settext = new SetTextDelegate(SetText); button1.invoke(settext,new object[] text); else button1.text = text ; 26/33

27 Asynchronní invoke BeginInvoke(delegate, object[]) požádá o zavolání delegáta není blokující zařadí požadavek do fronty a pokračuje v běhu vrátí instanci třídy implementující IAsyncResult EndInvoke(IAsyncResult) je blokující vrací návratou hodnotu metody predané v delegátu 27/33

28 Designér Wysiwyg editor formulářů Formulář musí být první třída deklarovaná v souboru Úpravy v designéru se projevují v kódu metoda InitializeComponent nedoporučuje se upravovat ručně! v MSVS 05 a SharpDevelop 2 je kód designéru uveden ve zvláštním souboru <formulář>.designer.cs 28/33

29 Program.cs using System; using System.Collections.Generic; using System.Windows.Forms; namespace WindowsApplication static class Program [STAThread] static void Main() Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1 ()); 29/33

30 Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication public partial class Form1 : Form public Form1() InitializeComponent(); 30/33

31 Form1.Designer.cs namespace WindowsApplication partial class Form1 private System.ComponentModel.IContainer components = null ; protected override void Dispose(bool disposing) if( disposing && ( components!= null )) components.dispose(); base.dispose(disposing); private void InitializeComponent() this.button1 = new System.Windows.Forms.Button(); this.suspendlayout(); // // button1 // this.button1.location = new System.Drawing.Point (13, 13); this.button1.name = " button1 "; this.button1.size = new System.Drawing.Size (75, 23); this.button1.tabindex = 0; this.button1.text = " button1 "; this.button1.usevisualstylebackcolor = true; // // Form1 // this.autoscaledimensions = new System.Drawing.SizeF (6F, 13F); this.autoscalemode = System.Windows.Forms.AutoScaleMode.Font; this.clientsize = new System.Drawing.Size(292, 273); this.controls.add(this.button1); this.name = " Form1 "; this.text = " Form1 "; this.resumelayout(false); private System.Windows.Forms.Button button1; 31/33

32 Form1.cs [Design] 32/33

33 Konec Konec 33/33

Programování v prostředí.net

Programování v prostředí.net Programování v prostředí.net Winforms 1 / 60 Obsah přednášky Windows forms Formuláře Kontrolky Prostředí Validace vstupů Tooltipy Menu Standardní dialogy 2 / 60 Windows forms Shrnující název pro množinu

Více

Nejzajímavější jsou události MouseDown a KeyDown.

Nejzajímavější jsou události MouseDown a KeyDown. Myš a klávesnice Nejzajímavější jsou události MouseDown a KeyDown. Z objektu e, který je parametrem obslužné metody MouseDown a KeyDown, lze zjistit, které tlačítko myši bylo stisknuto a pozice myši, a

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Visual Studio Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 35-40 Číslo: V/5 Programování

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Učební praxe Téma: Visual Studio Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 71-78 Číslo: V/5 Programování

Více

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); TŘÍDY POKRAČOVÁNÍ Události pokračování public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); class Bod private int x; private int y; public event ZmenaSouradnicEventHandler ZmenaSouradnic;

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Učební praxe Téma: Visual Studio Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 31-33 Číslo: V/5 Programování

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Učební praxe Téma: Program Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 19-21 Číslo: V/5 Programování v jazyce

Více

Jazyk C# a platforma.net

Jazyk C# a platforma.net Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 2. část BI-DNP Evropský sociální fond

Více

01. HODINA. 1.1 Spuštění programu VB 2010. 1.2 Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start.

01. HODINA. 1.1 Spuštění programu VB 2010. 1.2 Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start. 01. HODINA 1.1 Spuštění programu VB 2010 - pomocí ikony, z menu Start. - po spuštění si můžeme vybrat, zda chceme vytvořit nový Projekt a jaký nebo zda chceme otevřít již existující Projekt. 1.2 Prvky

Více

Formuláře. Takto se zobrazí modálně: void button1_click(object sender, System.EventArgs e) { JinyFormular formular = new JinyFormular()

Formuláře. Takto se zobrazí modálně: void button1_click(object sender, System.EventArgs e) { JinyFormular formular = new JinyFormular() 2 Formuláře V technologii, která se jmenuje Formuláře Windows WinForms se dá očekávat, že stěžejní roli bude hrát formulář. V této kapitole prozkoumáme základy, tedy jak se formuláře zobrazí, co je to

Více

Objekty jako zapozdření dat. začneme vytvářet vlastní objekty a třídy

Objekty jako zapozdření dat. začneme vytvářet vlastní objekty a třídy Objekty jako zapozdření dat začneme vytvářet vlastní objekty a třídy Rekapitulace Každý objekt obsahuje: (např. okno programu) proměnné polejméno, tlačítkoodeslat vlastnosti Text, MinimizeBox, BackColor

Více

Jazyk C# (seminář 7)

Jazyk C# (seminář 7) Jazyk C# (seminář 7) Pavel Procházka KMI 5. listopadu 2014 WindowsForms basics Windows forms je abstrakce nad WinApi napsaném v C Hello world aplikace ve WinAPI má 114! řádků podle http: //msdn.microsoft.com/cs-cz/library/bb384843.aspx

Více

Druhy souborů. textové. binární. nestrukturované txt strukturované - ini, xml, csv. veřejné bmp, jpg, wav proprietární docx, cdr, psd

Druhy souborů. textové. binární. nestrukturované txt strukturované - ini, xml, csv. veřejné bmp, jpg, wav proprietární docx, cdr, psd Soubory Druhy souborů textové nestrukturované txt strukturované - ini, xml, csv binární veřejné bmp, jpg, wav proprietární docx, cdr, psd Základy zápisu using System.IO; nutné pro odkázání na jmenný prostor,

Více

Pokročilá práce s proměnnými

Pokročilá práce s proměnnými Pokročilá práce s proměnnými Protokolování Př. program, který bude protokolovat věty zadané uživatelem. polevěta, poleprotokol, tlačítkoodešli poleprotokol: ReadOnly na True Multiline na True ScrollBars

Více

Cvičné příklady Tematický celek 01

Cvičné příklady Tematický celek 01 Cvičné příklady Tematický celek 01 Cvičný 1A Handles Button1.Click 'Procedura pro tlačítko "Původní velikost" Me.Width = 400 'Výchozí hodnotu vlastnosti Width-šířka (byla 343) Me.Height = 400 'Výchozí

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Učební praxe Téma: Visual Studio Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 50-60 Číslo: V/5 Programování

Více

Podmíněné vykonávání

Podmíněné vykonávání Podmíněné vykonávání Řídící konstrukce if příkaz se provede, je-li podmínka splněna if (podmínka) příkaz if (podmínka) příkaz1 příkaz2 příkaz3 Rozvětvení programu if-else pokud je podmínka splněna, provede

Více

Cvičné příklady Hodina 2

Cvičné příklady Hodina 2 Cvičný 1 Textové pole (TextBox) Cvičné příklady Hodina 2 Handles Button1.Click 'Procedura pro tlačítko "Předej hodnotu zapsanou v poli Text1 do pole Text2" TextBox2.Text = TextBox1.Text 'Předání hodnoty

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

Indexové seznamy. známe už pole, kde ale musí být předem známa velikost indexové seznamy umí růst dynamicky

Indexové seznamy. známe už pole, kde ale musí být předem známa velikost indexové seznamy umí růst dynamicky Indexové seznamy známe už pole, kde ale musí být předem známa velikost indexové seznamy umí růst dynamicky Viz nedávný příklad s převodem souboru na velká písmena. Řešení pomocí pole: private void tlačítkoprocházetvýchozí_click(object

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

Klíčové pojmy: Události, handlery, třída Graphics, pera, stětce, kreslení vyplněných a nevyplněných objektů.

Klíčové pojmy: Události, handlery, třída Graphics, pera, stětce, kreslení vyplněných a nevyplněných objektů. Kreslení v C# Obsah Vlastnosti třídy Form... 3 Třída Graphics... 4 Události a handlery událostí... 5 Pojem událost... 5 Handler události... 6 Metody, začínající On... 7 Kreslení vyplněných útvarů... 12

Více

Programování v jazyku C# II. 4.kapitola

Programování v jazyku C# II. 4.kapitola Programování v jazyku C# II. 4.kapitola Obsah GDI + Vlastní kontrolky 2/37 GDI+ Graphics Device Interface Služba Windows framework poskytuje obalující třídy Umožňuje programování 2D grafiky bez znalosti

Více

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 12: Algebra Lineární transformace MATEMATIKA Lineární transformace, neboli přeet hodnoty x podle

Více

24-2-1 UŽIVATELSKÉ ROZHRANÍ WINDOWS-FORM DESKTOPOVÉ APLIKACE - CVIČENÍ

24-2-1 UŽIVATELSKÉ ROZHRANÍ WINDOWS-FORM DESKTOPOVÉ APLIKACE - CVIČENÍ 24-2-1 UŽIVATELSKÉ ROZHRANÍ WINDOWS-FORM DESKTOPOVÉ APLIKACE - CVIČENÍ AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ

Více

IRAE 07/08 Přednáška č. 7. Začátek (head)

IRAE 07/08 Přednáška č. 7. Začátek (head) Fronta (Queue) FIFO First In First Out (první dovnitř první ven) Vložení položky (Enqueue) Vyjmutí položky (Dequeue) Přidávání prvků Konec (Tail) Začátek (head) na jedné straně (konec) Odebírání prvků

Více

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 5: Náhoda Původ a význam Gaussova rozdělení MATEMATIKA O pravděpodobnostech při hodu jednou kostkou

Více

PROGRAMOVÁNÍ PRO MS WINDOWS 1

PROGRAMOVÁNÍ PRO MS WINDOWS 1 Jazyk C# je moderní jazyk z rodiny jazyků podporovaných aplikačním prostředím.net. Cílem předmětu je seznámit posluchače s tímto objektovým jazykem, a s programováním aplikací pro MS Windows. V průběhu

Více

POLE. - datová struktura ze složek stejného typu, ke kterým se přistupuje pomocí indexů

POLE. - datová struktura ze složek stejného typu, ke kterým se přistupuje pomocí indexů POLE - datová struktura ze složek stejného typu, ke kterým se přistupuje pomocí indexů Deklarace pole a přístup k položkám typ[] název = new typ[velikost]; např. string[] nájemníci = new string[13]; přístup

Více

PŘETĚŽOVÁNÍ OPERÁTORŮ

PŘETĚŽOVÁNÍ OPERÁTORŮ PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako

Více

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 8: Analytická geometrie Polární souřadnice, kružnice, elipsa, spirála MATEMATIKA Pro úlohy aplikované

Více

Používáme Visual Studio

Používáme Visual Studio 1 Používáme Visual Studio Okenní klient knihovny KvadrRovLib Založíme-si nový projekt podle obrázku. Bude se jednat o okenní aplikaci, která nám zp ř ístupní práci s naší knihovnou v p ř íjemném GUI prost

Více

Jazyk C# - přístup k datům

Jazyk C# - přístup k datům Jazyk C# - přístup k datům Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Data Reader BI-PCS Evropský sociální fond Praha & EU:

Více

Tvorba programů s GUI v C#

Tvorba programů s GUI v C# Tvorba programů s GUI v C# Obsah Obsah... 1 Pojem grafické uživatelské rozhraní (GUI)... 2 Okna se zprvou... 5 Vlastnosti formulře... 10 Udlosti formulře... 16 Ovldací prvky... 19 Umisťovní ovldacích prvků

Více

Metodický list k didaktickému materiálu

Metodický list k didaktickému materiálu Metodický list k didaktickému materiálu Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací

Více

2 Tvorba interaktivních grafických programů

2 Tvorba interaktivních grafických programů 2 Tvorba interaktivních grafických programů Studijní cíl Tento blok je věnován vytváření interaktivních grafických programů. Podrobně bude vysvětleno, jakým způsobem je možno programově reagovat na události

Více

Jazyk C# - přístup k datům

Jazyk C# - přístup k datům Jazyk C# - přístup k datům Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Entity Framework BI-PCS Evropský sociální fond Praha

Více

Pro kontrolu správného formátu hodnoty N použijeme metodu try-catch.

Pro kontrolu správného formátu hodnoty N použijeme metodu try-catch. 1. ŘEŠENÉ PŘÍKLADY 1.2 PŘÍKLAD 24-2-8-2_DOKONALÉ ČÍSLO Napište program, který má na vstupu přirozené číslo N > 1. Výstupem je informace o tom, zda toto číslo je/není dokonalé. (Dokonalé číslo je takové

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

Osnova přednášky. Programové prostředky řízení Úvod do C# II. Přístup ke členům. Členy (Members)

Osnova přednášky. Programové prostředky řízení Úvod do C# II. Přístup ke členům. Členy (Members) Osnova přednášky Programové prostředky řízení Úvod do C# II. Členy (Members) Jmenné prostory (Namespaces) Třídy (Classes) Struktury (Structs) Pavel Balda Západočeská univerzita v Plzni, FAV, KKY 2 Členy

Více

PROGRAMOVÁNÍ PRO MS WINDOWS 1

PROGRAMOVÁNÍ PRO MS WINDOWS 1 Cílem předmětu je seznámit posluchače s moderními prostředky pro tvorbu aplikací pro Windows jmenovitě s programovou platformou.net a programovacím jazykem C#. V průběhu budou vysvětlena následující témata:

Více

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39 Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy

Více

Programování v jazyku C# II. 3.kapitola

Programování v jazyku C# II. 3.kapitola Programování v jazyku C# II. 3.kapitola Obsah Dokování a kotvení Panely, splittery a jiné kontajnery Složitejší kontrolky MDI aplikace 2/20 Vnější a vnitřní okraje Umožňují snažší rozmisťování prvku automatické

Více

Jazyk C# (seminář 6)

Jazyk C# (seminář 6) Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí

Více

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33 Objekt jako proměnná Objekty a metody Objekt = proměnná referenčního typu vznik pomocí new, chování viz pole jako referenční proměnná minulý semestr Stack Heap objekt ref this 10 20 atr1 atr2 jinyobjekt

Více

Dělení a vlastnosti komponent

Dělení a vlastnosti komponent Dělení komponent Komponenty lze dělit podle dvou hledisek: Dělení a vlastnosti komponent heirarchické dělí komponenty podle toho, co jsou funkční dělí komponenty podle použití Hierarchie Komponenty Nevizuální

Více

Tabulková data. budeme pracovat s CSV soubory položky oddělené středníkem, např.

Tabulková data. budeme pracovat s CSV soubory položky oddělené středníkem, např. Tabulková data budeme pracovat s CSV soubory položky oddělené středníkem, např. Číslo zákazníka;příjmení;jméno;datum narození 17;Novotná;Bohdana;25.11.1982 22;Kender;David;24.12.1986 29;Čihák;Jan;18.3.1969

Více

Jazyk C# a platforma.net

Jazyk C# a platforma.net Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond

Více

Komponenty v.net. Obsah přednášky

Komponenty v.net. Obsah přednášky doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Rozdíl mezi COM a.net Distribuce komponent Programování

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu EU-OPVK-VT-III/2-ŠR-303 Druh didaktického materiálu DUM Autor RNDr. Václava Šrůtková Jazyk čeština

Více

Programování v jazyce JavaScript

Programování v jazyce JavaScript Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Události (events) BI-JSC Evropský sociální fond

Více

Jazyk C# (seminář 9)

Jazyk C# (seminář 9) Jazyk C# (seminář 9) Pavel Procházka KMI 19. listopadu 2014 Motivace proč GTK# Moderní přístup k psaní GUI Základ (GTK+) je napsaný v C, ale podporuje celou řadu jazyků (Vala, Python, JavaScript, C#,...

Více

Předdefinované dialogy

Předdefinované dialogy Předdefinované dialogy 1032 OpenFileDialog, zobrazení dialogu pro otevření souboru Chceme-li zobrazit dialog vyzývající uživatele k otevření souboru, vytvoříme nejprve instanci třídy SystemWindowsFormsOpenFileDialog

Více

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox 02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

Jazyk C# - přístup k datům

Jazyk C# - přístup k datům Jazyk C# - přístup k datům Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Zpracování dat po částech ( stránkování DataSetu) BI-PCS

Více

Tematický celek 03 - Cvičné příklady

Tematický celek 03 - Cvičné příklady Tematický celek 03 - Cvičné příklady Cvičný 1 Dim a As Object Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Proceruda tlačítka "Vlož obsah

Více

Jazyk C# (seminář 3)

Jazyk C# (seminář 3) Jazyk C# (seminář 3) Pavel Procházka KMI October 8, 2014 Motivace Největší využití v programování okenních aplikací a GUI knihoven. Data reprezentujeme pomocí objektů (tříd), máme tedy ucelený pohled na

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

1. Programování proti rozhraní

1. Programování proti rozhraní 1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní

Více

Úvodem... 9 Kapitola 1 Karetních

Úvodem... 9 Kapitola 1 Karetních Úvodem... 9 Základní znalosti o programovacích jazycích...10 Jazyk C# a platforma.net...10 Visual C# 2010 Express...11 Instalace platformy.net 4.0 a Visual C# 2010 Express...11 Zdrojový kód aplikací...12

Více

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 26.3.

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 26.3. Základy programování 4 - C# - 7. cvičení Radek Janoštík Univerzita Palackého v Olomouci 26.3.2018 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 26.3.2018 1 / 12 Reakce na

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu EU-OPVK-VT-III/2-ŠR-311 Druh didaktického materiálu DUM Autor RNDr. Václava Šrůtková Jazyk čeština

Více

Dialogy a základy GUI pro.net KIV / WIN

Dialogy a základy GUI pro.net KIV / WIN Dialogy a základy GUI pro.net VI Obsah uživatelem definované dialogy standardní dialogy a dialogy shellu základy GUI v.netu 2 Dialogy speciální případ okna komunikace s uživatelem základní vlastnosti zpravidla

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Př. program s popojíždějícím autíčkem o 50 pixelů při každém stisku Popojeď

Př. program s popojíždějícím autíčkem o 50 pixelů při každém stisku Popojeď Animace a pohyb Př. program s popojíždějícím autíčkem o 50 pixelů při každém stisku Popojeď namespace Autíčko public partial class oknoprogramu : Form int x = 10, y = 10; public oknoprogramu() InitializeComponent();

Více

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)

Více

Objektově orientované programování

Objektově orientované programování 10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh

Více

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9 Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií

Více

Delphi popis prostředí

Delphi popis prostředí Delphi popis prostředí Delphi je komplexní vývojové prostředí, které slouží pro tvorbu aplikací. Řadí se mezi objektově orientované jazyky, protože podporuje koncepci skutečného objektového programování.

Více

Konfigurace PPPoE připojení v OS Microsoft Windows XP

Konfigurace PPPoE připojení v OS Microsoft Windows XP Konfigurace PPPoE připojení v OS Microsoft Windows XP Předmluva Tento návod slouží k nastavení připojení k síti Internet prostřednictvím služby Internet ONE, která využívá připojení pomocí protokolu PPPoE.

Více

Popis rozšířujících funkcí JScriptu

Popis rozšířujících funkcí JScriptu Popis rozšířujících funkcí JScriptu Tato příloha obsahuje stručný popis funkcí, které rozšiřují základní funkce JScriptu. Ty usnadňují komunikaci s jádrem programu, takže není potřeba pokaždé sestavovat

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

vjj 1. events, triggers.net

vjj 1. events, triggers.net 13.12.18 vjj 1 events, triggers.net 13.12.18 vjj 4 Triggers Umožňují definovat reakci na vzniklou situaci Event Trigger invoked when a RoutedEvent is raised "

Více

Dědičnost (inheritance)

Dědičnost (inheritance) Dědičnost (inheritance) Úvod Umožňuje objektům převzít (zdědit) členy jiných objektů a pouze je rozšířit o Auto: lze odvodit Vztah je osobní auto, cisterna jsou auta Základní pojmy Bázová třída (rodič)

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Java GUI události. Událostmi řízené programování. Zpracování = obsluha událostí

Java GUI události. Událostmi řízené programování. Zpracování = obsluha událostí Java GUI události Cílem kapitoly je přiblížit hlavní princip událostmi řízeného programování a ukázat na příkladu způsob řešení pro konkrétní případ. Soubor obsahuje také tabulku s přehledem nejčastěji

Více

Takto chápanému druhu objektů se říká TŘÍDA.

Takto chápanému druhu objektů se říká TŘÍDA. Objekty a třídy Každý objekt obsahuje: vlastnosti události metody např. Panel z předchozích příkladů: vlastnost BorderStyle událost Paint metoda Refresh Neplatí co objekt, to originál. V programu se často

Více

Reaktivní programování v.net

Reaktivní programování v.net Reaktivní programování v.net Tomáš Petříček http://tomasp.net/blog tomas@tomasp.net Co je reaktivní programování? Psaní aplikací které regaují na události» Klasické.NET eventy Například MouseDown, KeyPress,

Více

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans. 1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými

Více

Abstraktní datové typy: zásobník

Abstraktní datové typy: zásobník Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní

Více

Středoškolská technika 2017 PROGRAM NA GENEROVÁNÍ PRVOČÍSEL

Středoškolská technika 2017 PROGRAM NA GENEROVÁNÍ PRVOČÍSEL Středoškolská technika 2017 Setkání a prezentace prací středoškolských studentů na ČVUT PROGRAM NA GENEROVÁNÍ PRVOČÍSEL Vojtěch Pchálek Střední škola technická Kouřílkova 8, Přerov ANOTACE Bratr, který

Více

Zapouzdření. Tomáš Pitner, upravil Marek Šabo

Zapouzdření. Tomáš Pitner, upravil Marek Šabo Zapouzdření Tomáš Pitner, upravil Marek Šabo Co je zapouzdření Naprosto zásadní vlastnost objektového přístupu, možná nejzásadnější Jde o spojení dat a práce s nimi do jednoho celku - objektu Data jsou

Více

IRAE 07/08 Přednáška č. 1

IRAE 07/08 Přednáška č. 1 Úvod do předmětu OOP Objekt Proč OOP? Literatura, osnova předmětu viz. cvičení Základní prvek OOP sw inženýrství = model reálných objektů (věcí) člověk, auto, okno (ve windows), slovník, = model abstraktní

Více

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

Třídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue.

Třídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue. 23. Třídy, generické třídy, instance, skládání, statické metody a proměnné. Zapouzdření, konstruktory, konzistence objektu, zpřístupnění vnitřní implementace, modifikátory public a private. Polymorfismus,

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++

Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Globální konstantní proměnné Konstantní proměnné specifikujeme s klíčovým slovem const, tyto konstantní proměné

Více

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní Základy jazyka C# doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Architektura.NET Historie Vlastnosti

Více

PREPROCESOR POKRAČOVÁNÍ

PREPROCESOR POKRAČOVÁNÍ PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

Seminář Java II p.1/43

Seminář Java II p.1/43 Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii

Více

Projekt Obrázek strana 135

Projekt Obrázek strana 135 Projekt Obrázek strana 135 14. Projekt Obrázek 14.1. Základní popis, zadání úkolu Pracujeme na projektu Obrázek, který je ke stažení na http://java.vse.cz/. Po otevření v BlueJ vytvoříme instanci třídy

Více

Česká příručka. Obsah Balení. Systémové Požadavky. Instalace a podpora. Roccat Isku klávesnice Rychlá instalační příručka

Česká příručka. Obsah Balení. Systémové Požadavky. Instalace a podpora. Roccat Isku klávesnice Rychlá instalační příručka Česká příručka Obsah Balení Roccat Isku klávesnice Rychlá instalační příručka Systémové Požadavky Windows XP, Vista 32/64, Windows 7 32/64 USB 2.0 port Internetové připojení pro stažení ovladačů Instalace

Více

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro

Více

Java Výjimky Java, zimní semestr

Java Výjimky Java, zimní semestr Java Výjimky 1 Výjimky (exceptions) hlášení a ošetření chyb výjimka signalizuje nějaký chybový stav výjimka = instance třídy java.lang.throwable dvě podtřídy java.lang.error a java.lang.exception konkrétní

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu EU-OPVK-VT-III/2-ŠR-319 Druh didaktického materiálu DUM Autor RNDr. Václava Šrůtková Jazyk čeština

Více

Kurz Databáze. Obsah. Formuláře. Práce s daty. Doc. Ing. Radim Farana, CSc.

Kurz Databáze. Obsah. Formuláře. Práce s daty. Doc. Ing. Radim Farana, CSc. Kurz Databáze Práce s daty Doc. Ing. Radim Farana, CSc. Obsah Formuláře, typy formulářů, sekce formuláře. Objekty formuláře. Vytváření formulářů pomocí průvodce. Výběr dat, virtuální položky, agregace

Více