VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STAVEBNÍ INFORMATIKA II MODUL 02 ALGORITMIZACE A PROGRAMOVÁNÍ V INŽENÝRSKÝCH ÚLOHÁCH

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

Download "VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STAVEBNÍ INFORMATIKA II MODUL 02 ALGORITMIZACE A PROGRAMOVÁNÍ V INŽENÝRSKÝCH ÚLOHÁCH"

Transkript

1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STAVEBNÍ INFORMATIKA II MODUL 02 ALGORITMIZACE A PROGRAMOVÁNÍ V INŽENÝRSKÝCH ÚLOHÁCH STUDIJNÍ OPORY PRO STUDIJNÍ PROGRAMY S KOMBINOVANOU FORMOU STUDIA

2 Informatika II Modul 02 Algoritmizace a programování Jiří Macur, Miroslav Menšík 2

3 Obsah OBSAH OBSAH 3 VSTUPNÍ INFORMACE K MODULU 5 Cíle 5 Požadované znalosti 5 Doba potřebná ke studiu 5 Klíčová slova 5 Použitá terminologie 5 Metodický návod na práci s textem 5 1 OBJEKTOVĚ ORIENTOVANÉ PROGRAMOVÁNÍ Třída jako zobecněný typ Instance třídy Atributy Metody Vznik a zánik objektu Zapouzdření, polymorfismus, dědičnost Programování řízené událostmi 12 2 APLIKAČNÍ MODELY Hierarchie objektů Kolekce objektů 15 3 DŮLEŽITÉ OBJEKTY APLIKACE MS EXCEL Sešity, listy, množiny buněk Kolekce a prvky kolekce Worbooks Procházení kolekce Kolekce a prvky kolekce Worksheets Kolekce buněk Range List jako kontejner pro vstup a výstup dat Využití grafu pro prezentaci dat 26 4 PRÁCE SE SOUBORY PROSTŘEDNICTVÍM FSO Metody pro práci se složkami a soubory 31 3

4 Informatika Modul 01 Počítačové a operační systémy 4.2 Výběrový objekt třídy FileDialog Zápis a čtení dat ze souboru 36 5 DŮLEŽITÉ OBJEKTY APLIKACE MS WORD Vybrané postupy programování textu Použití objektového modelu z jiné aplikace 41 4

5 Objektové modely Vstupní informace k modulu Cíle Čtenář by měl získat základní dovednost využívat aplikační objektové knihovny MS Office v prostředí jazyka Visual Basic při řešení inženýrských úloh. Text je určen pro studenty technicky orientovaných oborů mimo oblast informačních technologií. Požadované znalosti K přečtení a porozumění tomuto textu jsou potřebné znalosti uvedené v modulu CU01_M01 strukturované programování v jazyce Visual Basic, práce v prostředí VBA. Doba potřebná ke studiu Je velmi individuální podle znalostí čtenáře. Pro velmi skromné znalosti je uvedená doba cca 20 hodin. Klíčová slova Algoritmizace, programovací jazyk Visual Basic, strukturované programování, objektově orientované programování, objektový model aplikace, knihovny objektů, implementace inženýrských úloh Použitá terminologie Diskutovaná problematika se rychle vyvíjí, proto je česká terminologie značně neustálená. V textu je většinou uváděna i ekvivalentní anglická terminologie spolu s příslušnými zkratkami. Metodický návod na práci s textem Text je určen zejména pro osvojení základů algoritmického myšlení, získání všeobecné programátorské dovednosti a schopnosti využívat bohatých objektových knihoven v běžně používaných aplikacích. Je třeba si uvědomovat tvořivou podstatu programátorské práce, kdy lze dospět k cíli mnoha různými způsoby. Čtenář by se neměl nechat odradit zdánlivě složitou strukturou používaných objektových modelů. Jsou to jenom nástroje a vznikly proto, aby uživatelům usnadnily život. Jsou koncipovány tak, aby si každý mohl vybrat (většinou 5

6 Informatika Modul 01 Algoritmizace a programování relativně chudou) podmnožinu objektů pro své účely je zapotřebí se orientovat na logické souvislosti a nikoli na encyklopedické znalosti. 6

7 1 Objektově orientované programování Text v prvním modulu se týkal tzv. procedurálního programování. Od začátku tohoto století však dominuje metoda objektově orientovaného programování (OOP), která se postupně stala standardem. Pro efektivní programování není třeba zabíhat do teoretických podrobností hlavním aspektem je používání tzv. objektů, které mají následující rysy: Vnitřní struktura až dosud jsme používali skalární proměnné, později pole. Objekt je obecnější pojem: sestává z tzv. vlastností (atributů) a metod. Vlastnosti jsou v podstatě datové proměnné, svázané dohromady tím, že patří k témuž objektu. Popis objektu pomocí určitých jeho vlastností je přirozený chceme-li popsat objekt reálného světa, také používáme tento přístup (např. člověk může být popsán souborem svých fyzických a duševních vlastností). Okamžitý soubor hodnot vlastností vyjadřuje stav objektu (např. vlastnost "barva vlasů" člověka může postupně nabýt hodnot blond, brunet, šedivé, žádné). Objekt se tedy může v čase měnit prostřednictvím změn hodnot svých vlastností. Soubor vlastností objektu může být tvořen souborem proměnných tak, jak jsme se s nimi seznámili v části o procedurálním programování. Vlastností objektu však může být také jiný objekt, tj. vlastnost může být dále strukturovaná (např. vlastnost "inteligence" může být dále vnitřně členěna jako soubor inteligence sociální, logické, emoční ap.). Tímto způsobem vzniká určitá objektová hierarchie. Metody objektu představují jeho "vnitřní dovednosti". Jsou tvořeny obvykle podprogramy, které mj. pracují s vlastnostmi objektu. Např. člověk (zdravý) je schopen chůze, práce atd. Výsledkem procesu metody je změna stavu objektu (např. chůze člověka přemístí z jednoho místa vlastnost polohy na jiné). Uvedený přístup k programování podstatně mění celou metodiku: zatímco v případě procedurálního programování jsme tvořili algoritmus "shora dolů", tj. postupně jsme obecný problém dekomponovali až na jednotlivé příkazy, v případě OOP se spíše snažíme o "simulaci chování" navržených objektů. Výsledkem je pak spíše návrh "zdola nahoru". Řešení vzniká jako výsledek chování objektů. 1.1 Třída jako zobecněný typ Objekt má tedy svou strukturu a chování (něco "dovede"). Tato struktura a zmíněné chování jsou popsány v tzv. třídě objektu (class). Nejčastěji se třída ztotožňuje se "šablonou" objektu. Na třídu však můžeme nahlížet také jako na zobecnění datového typu. Např. datový typ Double určuje pravidla pro uložení reálného čísla v paměti a nelze ho zaměnit s konkrétním číslem. Stejně tak třída není vlastním objektem nezahrnuje stav objektu (hodnoty jeho vlastností). Tak, jako mají datové typy své názvy, mají názvy i třídy. V tomto případě jsou však názvy tvořeny programátory (nejsou součástí jazyka). U rozsáhlejších programů je velmi důležité, aby byly názvy tříd voleny pečlivě a byla pořizována dokumentace o jejich zamýšleném účelu (softwarová analýza). Objektové modely 7

8 Informatika Modul 01 Algoritmizace a programování Instance třídy Objekt dané třídy se nazývá také instance třídy. Jedná se o strukturovaná data v paměti obsahující konkrétní hodnoty (stav). Stav objektu se v čase mění, ať už prostřednictvím metod objektu nebo přímou změnou ze strany jiných programů a objektů v paměti. Současně můžeme používat libovolný počet objektů stejné třídy. Budou se lišit umístěním v paměti (budou mít různé identifikátory) a také stavem. Instance třídy se vytváří speciálním operátorem New (viz dále). Název (identifikátor) objektu se od názvu třídy liší (stejně jako nevytváříme proměnnou s názvem Integer). Identifikátor objektu obsahuje adresu umístění objektu v paměti obdobně jako u proměnné typu String. Důvodem je vnitřní struktura objektu a možnosti změny rozsahu objektu za doby jeho života v paměti počítače Atributy Třída je tvořena množinou vlastností objektu. Ve skutečnosti jsou zde atributy objektu deklarovány, tj. je uveden jejich název a datový typ. Třídu definujeme ve VB v modulu tříd, který musíme nejprve do projektu vložit: Následně musíme třídu vhodně pojmenovat postupem podle níže uvedeného obrázku, implicitní název Class1 rozhodně není vhodný: Nyní lze do modulu třídy vložit atributy: 8

9 Objektové modely Vidíme, že atributy mají charakter deklarace, pouze klíčové slovo Dim je nahrazeno klíčovým slovem Public (tím povolujeme přístup k atributům třídy z vnějšího prostředí; atributy lze také znepřístupnit klíčovým slovem Private, pro naše účely je však tato problematika nepodstatná). Nyní je již možné s třídou programově pracovat, např. takto: Deklarace proměnné zamestnanec třídy osoba pro práci s objektem nestačí. Musíme ještě vytvořit instanci třídy příkazem Set s použitím operátoru New (viz 3. řádek programu). Od této chvíle existuje v paměti objekt s názvem zamestnanec a lze pracovat s jeho atributy, které identifikujeme názvem objektu a atributu odděleným tečkou. Znak "." se někdy nazývá také selektor vybírá z objektu patřičnou část Metody Dále třída objektu obsahuje definici jeho metod soubor podprogramů. Původní myšlenka OOP byla založena na principu skrývání stavu objektu všechny vlastnosti definující stav měly být pro vnější prostředí (jiné objekty a programy) černou skříňkou, k nimž by byl přístup pouze prostřednictvím metod objektu. Význam tohoto opatření tkví zejména v bezpečnosti metody mohou ověřit oprávnění vnějšího objektu přistupovat (číst, či měnit) vlastnosti daného objektu. V dnešní době však toto pravidlo není rigidně dodržováno. Programátor (tvůrce třídy) určuje, zda lze obsah vlastnosti přečíst nebo změnit přímo, bez prostředníka v podobě metody objektu. K definici třídy přidáme metodu pro výstup atributů např. takto: 9

10 Informatika Modul 01 Algoritmizace a programování Protože metoda bude součástí objektu, má k dispozici všechny jeho atributy. Proto při jejich používání nepoužíváme žádná bližší určení pomocí selektoru. Nyní lze použít novou metodu třídy v programu: Vidíme, že použití metody se ze syntaktického hlediska neliší od používání atributů opět používáme tečkový selektor pro výběr potřebné metody. Metoda však může mít parametry, pro které platí vše, co bylo uvedeno v modulu CU01_M01 v kapitole o předávání parametrů. Upravíme metodu naší třídy pro různé druhy tisku: Použití upravené metody pak může být následující: 1.2 Vznik a zánik objektu Vznik objektu (instance třídy) v našem případě vyvolal příkaz Set zamestnanec = New osoba Atributy zaměstnance však nejsou po vzniku objektu naplněny definovanými hodnotami, což může vést ke zmatkům při použití objektu. Proto bývá zvykem použít v definici třídy speciální metodu, která při vzniku objektu automaticky definuje jeho počáteční stav (naplní atributy počátečními hodnotami). Metoda takové inicializace objektu se nazývá konstruktor a v jazyce VB musí být nazvána Class_Initialize: 10

11 Objektové modely Nyní můžeme vyzkoušet automatické uplatnění konstruktoru: Pokud potřebujeme za běhu programu existenci objektu ukončit (uvolnit paměť), použijeme příkaz Set zamestnanec = Nothing Poznámka Klíčové slovo Nothing ve skutečnosti pouze odstraní ukazatel na objekt v paměti (objektová proměnná zamestnanec obsahuje speciální prázdnou adresu). V prostředí VB se periodicky aktivuje tzv. garbage collector, který likviduje takové objekty v paměti, na které neexistuje žádný odkaz. 1.3 Zapouzdření, polymorfismus, dědičnost Na stav objektu se lze dívat jako na černou skřínku, k níž máme pouze omezený přístup zejména pomocí metod objektu. Tento princip "zapouzdření" (encapsulation) dat i metod do jednoho kompaktního celku je pokládán za jednu z významných výhod OOP. V této souvislosti je uváděna také vlastnost polymorfismu operací s objekty. V podstatě jde o různé chování různých objektů ve stejných souvislostech. Na polymorfismus jsme již narazili např. při používání operátoru "+". Sečítáme-li celá čísla, je výsledkem celé číslo. Sečítáme-li reálná čísla, bude výsledkem reálné číslo operátor "+" tedy pracuje jinak pro různé datové typy. Nejvýraznější je však tato vlastnost při "sečítání" řetězců, kdy je výsledkem operace spojený řetězec (i když bychom měli v této roli používat raději operátor "&"). Stejně tak si můžeme představit např. objekt obsahující v podobě atributů koeficienty matice, který obsahuje metodu tisk pro výstup (zobrazení) vhodně zformátované matice. Stejnou metodu tisk však může obsahovat objekt obsahující vektor, nebo odstavec textu. Způsob provedení metody se stejným názvem tedy určuje objekt. Dědičnost je mechanizmus, kterým lze z definice jedné třídy odvozovat jiné podobné třídy. Používá se zejména v souvislosti s hierarchií obecnosti. Např. 11

12 Informatika Modul 01 Algoritmizace a programování třída osoba obsahuje obecné atributy člověka, avšak třída pacient obsahuje navíc atributy chorobopisu a metody léčení. Abychom nemuseli definovat pořád znovu stejné atributy a metody, nabízí OOP mechanizmus dědění (inheritance), kdy definujeme v podstatě pouze rozdíly mezi třídami. 1.4 Programování řízené událostmi Volání metod objektů je standardně dáno sekvenčním prováděním algoritmů. Objekt v paměti však podléhá určitému vývoji (evoluci), který často v algoritmu předvídat nemůžeme nejčastěji se jedná o asynchronní zásahy v době života objektu vyvolané operačním systémem nebo jinými objekty. Pro programovou reakci na vybrané změny stavu objektu máme k dispozici mechanizmus událostí (angl. events). Pozorný čtenář si jistě domyslel, k čemu tato kapitola směřuje: prakticky vše, s čím manipulujeme v aplikacích, lze považovat za objekty, které mají své vlastnosti a metody. Např. okno aplikace je objektem, který má své atributy (geometrii, barvu rámečku apod.) a metody (schopnost zobrazit se na obrazovce, změnit svůj tvar apod.). Některé z metod jsou však závislé na činnosti uživatele ten prostřednictvím myši okno přesune nebo minimalizuje; metody okna pak musí reagovat na požadavky, které oknu zasílá operační systém. Právě operační systém se totiž stará o zobrazení grafického kurzoru, sleduje polohu myši a jejích tlačítek a vyhodnotí, kterého objektu v paměti se vzniklá událost týká. Mechanizmus událostí je založen na vazbě mezi typem události a speciální metodou objektu, která je automaticky spuštěna při výskytu této události (tato metoda se někdy nazývá také událostní procedura). Ve VB je uvedená vazba realizována předepsaným názvem metody a my jsme se již s tímto mechanizmem setkali konstruktor s předepsaným názvem Class_Initialize lze také pokládat za událostní proceduru, která se automaticky spustí při události vzniku objektu. 12

13 Objektové modely V levém horním rohu obrázku vidíme seznam událostí, pro které lze vytvořit událostní procedury. Události se týkají objektu listu s názvem "Data". Lze tedy vytvořit metody tohoto objektu, které se spustí při aktivaci listu (za předpokladu, že list "Data" předtím nebyl aktivní), při změně dat v listu, při poklepání myší apod. Vytvořit událostní proceduru lze jednoduše výběrem názvu události (např. Change) v modulu listu je automaticky vytvořena prázdná metoda Worksheet_Change, do které zbývá vepsat kód: Pak otevřeme list a zapíšeme libovolný údaj do libovolné buňky listu. Po opuštění buňky se automaticky vykoná událostní procedura. Totéž se bude opakovat při jakékoli změně v obsahu listu: 13

14 Informatika Modul 01 Algoritmizace a programování Důležitá poznámka V našich příkladech nebudeme tvořit ani nové třídy, ani reakce na události. Budeme však používat třídy a objekty již hotových aplikací. Je proto nutné osvojit si stručné teoretické zázemí OOP. 14

15 Objektové modely 2 Aplikační modely Moderní aplikace jsou vyvíjeny tak, aby byly uživatelsky rozšiřitelné výrobce pak nemusí poskytovat různé mutace pro nejrůznější specializace, kde je trh příliš úzký, a přesto lze aplikaci přizpůsobit na míru nejrůznějším potřebám. Vzhledem k tomu, že objektový přístup je dnes při vývoji aplikací dominantní, je i prostředí pro rozšiřování a přizpůsobení programových produktů vytvořeno v podobě množiny objektů. Tato množina má obvykle hierarchickou strukturu a nazývá se objektovým modelem aplikace, někdy též objektové aplikační rozhraní nebo objektová knihovna. Kvalita návrhu struktury objektů rozhoduje o tom, zda bude možné tvořit rozšíření a nadstavby aplikace snadno, nebo bude tento proces průchodný jen pro hrstku profesionálů. Aplikační model obsahuje často desítky až stovky objektů, není proto možné, aby měl programátor detailní znalosti o všech jejich schopnostech a vazbách. Mnoho informací musí mít intuitivní charakter, aby se daly logicky odvodit a případně dohledat pouze detaily. 2.1 Hierarchie objektů Na vrcholu hierarchického modelu aplikace bývá tradičně objekt třídy Application, který reprezentuje běh aplikace. V podobě atributů pak obsahuje další podobjekty, které realizují dílčí činnosti aplikace. Objekt třídy Application je přímo k dispozici v době, kdy je aplikace spuštěna. V případě potřeby však můžeme objekt třídy Application také vytvořit většinou tehdy, když potřebujeme v programu použít objekty jiné aplikace (viz dále). Objekt, který v podobě vlastností obsahuje jiné objekty, se někdy nazývá také objektový kontejner. 2.2 Kolekce objektů Často je zapotřebí pracovat s "polem" objektů stejné třídy. Pro tyto účely se používá speciální objekt nazývaný kolekce. Kromě možnosti přistupovat k prvkům kolekce pomocí indexu má kolekce obvykle metody umožňující zejména přidat další prvek, odstranit prvek z kolekce apod. 15

16 Informatika Modul 01 Algoritmizace a programování 3 Důležité objekty aplikace MS Excel Objektový model aplikace MS Excel je poměrně složitý: Obr. 3.1 Začátek a konec první úrovně objektů, které obsahuje třída Application jako své vlastnosti Většina vlastností, za nimiž se skrývá kolekce jiných objektů, se nazývá množným číslem (-s na konci názvu). Některé podobjekty obsahují jako svou vlastnost z pragmatických důvodů opět nadřízený objekt (kruhové odkazy). Vzhledem k tomu, že vlastnost v podobě objektu obsahuje ve skutečnosti pouze adresu objektu, je tato konstrukce naprosto legitimní. Některé objekty jsou umístěny v hierarchii současně více způsoby, např. aktivní sešit ActiveWorkbook je vlastností Application, ale zároveň je členem kolekce Workbooks, která je také vlastností třídy Application. Naštěstí k našim účelům bude zapotřebí osvojit si práci jen s velmi malým počtem kolekcí a objektů. 16

17 Objektové modely 3.1 Sešity, listy, množiny buněk Naše programy spouštíme ve vývojovém prostředí MS Excel, který musí být v dané chvíli pochopitelně spuštěn. Zastupuje ho objekt třídy Application, který máme v našich programech k dispozici. K ostatním objektům aplikačního modelu se dostaneme prostřednictvím jeho vlastností Kolekce a prvky kolekce Worbooks V běžící aplikaci mohou být otevřeny různé soubory se sešity, které jsou přístupné pomocí kolekce Workbooks. Tato kolekce má (podobně jako většina ostatních kolekcí objektů) obecnou vlastnost Count, která obsahuje počet položek v kolekci (zde počet současně otevřených souborů v aplikaci MS Excel): Obr. 3.2 Programové určení počtu položek v kolekci Otevřeli jsme tedy tři soubory a krátkým programem zobrazili obsah vlastnosti Count. Všimněte si hierarchického zápisu: objekt Application má objektovou vlastnost Workbooks, která má vlastnost Count. Při výběru používáme posloupnost vnořených tříd s použitím tečky, není třeba používat žádné závorky. Vzhledem k tomu, že Application zastupuje samotnou aplikaci, lze ho při identifikaci vynechat v programu použijeme zkráceně Workbooks.Count Důležité metody objektu Workbooks jsou následující: Add vytvoří nový sešit Open otevírá existující soubor se sešitem Close zavře všechny otevřené sešity Na metodě pro vytvoření nového sešitu můžeme demonstrovat základní postupy práce s objektovou knihovnou. Metoda Add provede programově stejnou činnost, jako tlačítko "Nový" v základní nabídce aplikace, tj. vznikne nový sešit se třemi listy a implicitním názvem. Avšak metoda je funkcí vrací nově vytvořený objekt sešitu v paměti, který můžeme uložit do objektové proměnné správné třídy (Workbook) a dále pracovat s jeho vlastnostmi, aniž bychom byli svazováni vazbami na hierarchickou síť. Vytvořili jsme tedy nový objekt sešitu (instanci třídy Worbook) a nepotřebovali jsme žádný operátor New ani konstruktor metoda Add se o vše potřebné k vytvoření a inicializaci datové struktury postará. 17

18 Informatika Modul 01 Algoritmizace a programování Proto nemusíme konstruovat nové objekty, obvykle nám nabídka poskytovaná aplikačním modelem stačí. Obr. 3.3 Programové přidání nové sešitu V příkladu nejprve deklarujeme objekt třídy Workbook. Dalším příkazem zavoláme metodu Add a výsledek přiřadíme naší objektové proměnné. V tomto přiřazení se obsahem proměnné stane ve skutečnosti adresa datové reprezentace (objektu) sešitu. Příkaz je rozšířen o klíčové slovo Set, které zatím nelze vynechat a zdůrazňuje jiný vnitřní mechanizmus operací s objekty, než se skalárními proměnnými. Nový objekt sesit má již velmi mnoho vlastností a metod v příkladu jsme použili pouze obecnou vlastnost Name obsahující název sešitu (po uložení to bude jméno souboru). Metoda Open pracuje obdobně jako metoda Add, používá se však s parametrem označujícím jméno souboru, v němž je sešit uložen: Obr. 3.4 Programové otevření sešitu a zjištění jeho vlastnosti Kolekce nám tedy pomáhá při vytváření a zavírání nových sešitů. Potřebujeme ještě mechanizmus, jak pracovat s konkrétním prvkem v kolekci. Nejjednodušeji můžeme použít vlastnost Workbooks.Item(index), která si nese index analogicky jako při práci s polem. 18

19 Objektové modely Obr. 3.5 Člen kolekce určený pomocí indexu Členy kolekce jsou objekty třídy Workbook, s nimiž lze pracovat pomocí jejich indexu (postupně otevírané soubory jsou číslovány od jedničky výše). Tento způsob se však používá zřídka. Indexy jsou přiřazovány postupně, takže po sérii zrušení a otevření souborů již nevíme, který sešit má který index. Častěji hledáme objekt kolekce pomocí jména (vlastnost Name bývá k dispozici ve všech objektech, kde má smysl). Zobrazování vlastnosti jména v našich programech tedy nebylo samoúčelné. Vidíme, že vlastnost jména je naplněna názvem souboru (bez cesty). Toto jméno může sloužit rovněž v roli indexu. Vlastnost Item lze v této souvislosti navíc vynechat a dostáváme se k nejčastěji používanému způsobu zpřístupnění objektu z kolekce: Set sesit = Workbooks("sesit.xls") Poznámky Zavádět objektovou proměnnou bychom v posledním příkladu nemuseli, protože instance Workbook existuje. Programátor VB by patrně použil bez deklarací přímo příkaz: MsgBox("Nový sešit má jméno: " & Workbooks(2).Name) Dále je zapotřebí striktně rozlišovat mezi kolekcí a jejími prvky. Kolekce je objekt, který má obvykle úplně jiné vlastnosti než mají objekty, které jsou v kolekci obsaženy. Tyto techniky je zapotřebí vstřebat, budou nás doprovázet prakticky ve všech programech Procházení kolekce Velmi často potřebujeme provést nějakou operaci se všemi prvky kolekce. K tomu máme k dispozici variantu počítaného cyklu For Each <objekt vhodné třídy> In <kolekce> tělo Next V těle takového cyklu používáme název proměnné, do které je postupně dosazován další a další prvek kolekce, dokud zpracováním v těle neprojdou všechny prvky. Pohodlí, které tento druh cyklu poskytuje v souvislosti s procházením kolekcí, přivedlo vývojáře k implementaci tohoto cyklu i v jiných, rigidnějších programovacích jazycích. 19

20 Informatika Modul 01 Algoritmizace a programování Obr. 3.6 Procházení všech členů kolekce Cyklus procházení kolekce. Proměnná sesit postupně reprezentuje všechny prvky v kolekci. V těle cyklu tak můžeme použít metody a vlastnosti ve skutečnosti různých objektů, i když jsou pojmenovány stejně Kolekce a prvky kolekce Worksheets V otevřeném souboru máme k dispozici kolekci pracovních listů Worksheets, která má obdobnou strukturu jako kolekce Workbooks. Obsahuje také vlastnost Count s počtem listů v sešitu a metodu Add pro přidání nového pracovního listu. Spektrum metod kolekce je samozřejmě bohatší, v našich programech však s nimi pracovat nebudeme. Prvky kolekce jsou pracovní listy (třída Worksheet). Pokud potřebujeme pracovat s konkrétním listem, můžeme ho identifikovat stejně jako v předcházejícím případě indexem nebo názvem. Nejčastěji použijeme konstrukci: Dim list As Worksheet Set list = Worksheets("List1") kde řetězec "List1" obsahuje název listu. Vidíme, že mnoho údajů lze při identifikaci objektu v objektovém modelu vynechat, ve skutečnosti by celý identifikátor objektu listu mohl vypadat následovně: Application.Workbooks.Item("mujSesit.xls").Worksheets.Item("List1") 20

21 Objektové modely (aplikace obsahuje kolekci sešitů, z nichž jeden s požadovaným názvem obsahuje kolekci listů, z nichž jeden s požadovaným názvem je list, s nímž chceme pracovat) Vynechání objektů Application a Item jsme již diskutovali, jak ale můžeme vynechat identifikaci sešitu? Při zamlčeném nadřízeném objektu v celé hierarchii doplní VB automaticky tzv. aktivní objekt. V tomto případě sešit, s nímž pracujeme (jeho okno je aktivní). Stejně tak může být aktivní jeden list v rámci sešitu, buňka v listu apod. Takové objekty obvykle obsahují metodu Activate, kterou lze objekt prohlásit za aktivní programově (samozřejmě lze při interaktivní práci dosáhnout téhož výběrem myší). Při tvorbě programů, které využívají v identifikátorech metodu zamlčených objektů, musíme být opatrní pokud nevíme, zda uživatel programu nebude používat více prvků kolekce současně, měli bychom používat co nejúplnější část hierarchie. Třída pracovního listu Worksheet obsahuje desítky vlastností a desítky metod. Výběr užitečných vlastností: Cells kolekce všech buněk v listu (má dva indexy: řádek, sloupec) Rows kolekce všech řádků v listu Columns kolekce všech sloupců v listu Range vybraný soubor buněk v listu Name název listu Index index listu v rámci kolekce sešitu Visible vlastnost určující, zda je list viditelný nebo skrytý Uvedené vlastnosti budou blíže diskutovány při použití v programech. Výběr užitečných metod: Activate nastaví list jako aktivní Copy zkopíruje list na jiné místo v sešitu Delete odstraní list i s daty z kolekce Move přesune list na jiné místo v kolekci PrintOut vytiskne list SaveAs uloží list i s daty do souboru Metody mohou mít mnoho parametrů, my však programovou práci s listy provádět nebudeme. Zájemce si snadno dohledá příklady použití Kolekce buněk Range Objekty této třídy, které budeme používat prakticky v každém programu, reprezentují soubor buněk v listu. Objekt této třídy není dále dělen na jednotlivé buňky každá buňka je opět kolekcí buněk, i když obsahuje pouze jedinou. Tuto koncepci tvůrců objektového modelu si musíme osvojit i když budeme pracovat pouze s jednou buňkou, bude to objekt třídy Range. Pokud tedy budeme potřebovat údaje uložené v určité buňce nebo souboru buněk, identifikujeme je prostřednictvím kolekce Range. Kolekce má opět vlastnosti Count a Item (a mnoho dalších), indexovat prvky v kolekci lze pomo- 21

22 Informatika Modul 01 Algoritmizace a programování cí dvojice čísel řádku a sloupce, nebo názvem, který je zadán standardně podle konvencí aplikace MS Excel: Obr. 3.7 Vytvoření kolekce buněk v listu Z listu s indexem 1 tedy vybereme pravoúhlou oblast buněk 3 x 3, která se stane naší kolekcí rozsah. Pokud v našem příkladu potřebujeme, aby rozsah obsahoval jedinou buňku, můžeme použít příkaz Set rozsah = Worksheets(1).Range("C2") Pro určení jediné buňky můžeme použít ještě jednu možnost: Set rozsah = Worksheets(1).Cells(2,3) Tímto způsobem určíme tutéž buňku v notaci Cells(číslo řádku, číslo sloupce). Tento způsob je užitečný zejména tam, kde potřebujeme určit souřadnice buňky pomocí výpočtu. Vybrat do rozsahu celý sloupec lze např. takto: Set rozsah = Worksheets(1).Range("C:C") analogicky řádek Set rozsah = Worksheets(1).Range("2:2") Existuje mnoho dalších možností, jak vytvořit množinu buněk třídy Range, množina se může skládat z více oblastí, dokonce může být rozložena na více listech apod. Pro naše programy budou však výše uvedené postupy dostačující. Z desítek vlastností obsažených ve třídě Range nám v programech většinou postačí jediná: Value vlastní obsah objektu. Vlastnosti určující velikost buněk, font a barvu písma, pozadí apod. budeme používat jen zřídka. V tomto případě lze totiž vše potřebné obvykle nastavit interaktivně přímo v listu. Naše použití programů bude orientováno zejména na výpočty orientující se na obsah buněk. Obr. 3.8 Nastavení obsahu buněk v kolekci Range 22

23 Objektové modely 3.2 List jako kontejner pro vstup a výstup dat List Excelu lze využít jako prostředí pro vstup a výstup dat z našich programů. Dále je často výhodné do listu zařadit graf, který ihned interpretuje vypočítané výsledky. Jak programy, tak uvedené listy lze uložit do jednoho souboru, který pak lze chápat jako interaktivní aplikaci: Obr. 3.9 List jako výpočetní miniaplikace Příklad předpokládá vložení koeficientů rovnice do naformátovaných vstupních polí B1:B3. Po kliknutí na tlačítko "výpočet kořenů" se z vložených koeficientů zformuluje tvar rovnice, který se zapíše do buňky D1. Nakonec se vypočítá hodnota kořenů a uloží do buněk B7 a B8. Hodnoty vložené do listu načteme do proměnných programu například takto: Obr Vložení dat z listu do proměnných Pokud uživatel do patřičných buněk vloží nevhodné znaky, program zhavaruje: (hodnotu buňky nelze vložit do proměnné deklarovaného typu Single). 23

24 Informatika Modul 01 Algoritmizace a programování Pokud potřebujeme uvedený typ havárií ošetřit, můžeme použít např. následující konstrukci: If IsNumeric(Worksheets("QE").Range("B1").Value) Then a = Worksheets("QE").Range("B2").Value Else MsgBox ("V poli B2 musí být číselný údaj!") Exit Sub End If Vestavěná funkce isnumeric testuje, zda lze parametr převést na číselnou hodnotu. Vrací logickou hodnotu. Příkazy Exit umožňují násilně ukončit prováděnou část programu, v níž jsou zařazeny (např. Exit Do, Exit Function, Exit For). Program pak pokračuje až za touto částí. Zde jsme příkaz použili pro ukončení celého programu. Výstupní hodnoty kořenů vložíme do předformátovaných buněk listu analogickým způsobem: Obr Vložení dat do listu Při vkládání obsahu proměnné do buňky listu není třeba provádět žádná přizpůsobení, obsah se automaticky naformátuje stejně, jako bychom data do buňky vkládali interaktivně. Pro vložení tlačítka, spouštějícího program z listu, použijeme nabídku interaktivních formulářových prvků v záložce Vývojář: 24

25 Objektové modely Obr Vložení tlačítka pro spuštění programu Vložené tlačítko lze přizpůsobit pomocí pravého tlačítka myši (umístění, velikost, text na tlačítku). Obr Manipulace s tlačítkem Nejdůležitější je však nastavení vazby mezi aktivací tlačítka a spuštěním potřebného programu: Obr Přiřazení podprogramu k události aktivace tlačítka V zobrazeném formuláři vybereme program, který se má spustit (pokud bychom vytvořili v sešitu více programů, nabídnou se všechny). Uvedený postup ve skutečnosti není nic jiného, než vytvoření vazby mezi událostní procedurou 25

26 Informatika Modul 01 Algoritmizace a programování a událostí "kliknutí na tlačítko". V tomto případě se stane událostní procedurou náš program. 3.3 Využití grafu pro prezentaci dat Pro vizualizaci programově generovaných dat lze s výhodou využít nástroje pro vytváření grafů. V rámci aplikačního modelu odpovídá grafu objekt třídy Chart. Třída obsahuje vlastnosti a podobjekty, které umožňují programově zkonstruovat všechny prvky grafu, nastavit popisky os, legendy apod. Většinou je však zbytečné vytvářet graf programově. Pro zobrazení dat totiž používáme většinou pouze jeden graf, který můžeme zkonstruovat v listu interaktivně a programově přizpůsobíme pouze data, která jsou v grafu prezentována. V našich programech budeme pracovat výhradně s bodovými X-Y grafy, tj. takovými, které prezentují datové řady se dvěma částmi: řadou hodnot nezávisle proměnné X a řadou závisle proměnné Y: Obr Vložení bodového grafu do pracovního listu Je výhodné vložit graf do téhož listu, v němž vkládáme parametry programu, resp. spouštíme program tak, aby uživatel při prohlížení vypočtených dat nemusel přepínat mezi listy. Při tvorbě grafu můžeme použít libovolnou oblast dat pro vytvoření potřebné datové řady (může to být jediná buňka). Naše programy tuto oblast při svém běhu automaticky aktualizují. Po vložení grafu do listu je objekt grafu přístupný pomocí hierarchie Worksheets(1).ChartObjects(1).Chart neboli v listu je k dispozici kolekce grafů ChartObjects, s nimiž pracujeme pomocí indexu (v případě jediného grafu v listu má index hodnotu 1). Samotný graf (objekt Chart) je vlastností prvku této kolekce. 26

27 Objektové modely Poznámka Graf není přímo členem kolekce ChartObjects proto, že může být uložen také ve speciálním samostatném listu sešitu (kolekce těchto listů se nazývá Charts). Pokud je graf uložen samostatně, má poněkud jiné geometrické vlastnosti než v případě, že je jedním z vložených grafů v pracovním listu. V rámci objektu grafu budeme obvykle pracovat pouze s datovou řadou, která je uložena jako prvek v kolekci SeriesCollections (datových řad může být více) a má vlastnosti Chart.SeriesCollections(1).XValues Chart.SeriesCollections(1).Values Chart.SeriesCollections(1).Name První z nich označuje řadu hodnot nezávisle proměnné, druhý hodnoty závisle proměnné (pozor, název této vlastnosti je Values, nikoli YValues). Třetí uvedená vlastnost umožňuje změnit název datové řady, což se projeví v případné legendě grafu apod. Hodnotu vlastnosti s obsahem datové řady lze zadat několika způsoby. Jednoduše lze použít rozsah buněk Range obsahující potřebná data. Např. With Worksheets("vstup").ChartObjects(1).Chart.SeriesCollection(1).XValues = Worksheets("data").Range("A1:A" & i).values = Worksheets("data").Range("B1:B" & i) End With V tomto případě graf v listu s názvem "vstup" použije data v listu "data" ve sloupci A pro nezávisle proměnnou X a data ve sloupci B pro proměnnou Y počínaje prvním řádkem pracovního listu. Počet bodů bude dán obsahem proměnné i. Tento způsob použijeme v případě, že program předtím uvedené sloupce naplnil relevantními hodnotami. V roli hodnot datové řady lze však použít také pole, jehož prvky bude objekt grafu automaticky považovat za hodnoty bodů v grafu. Jedná se o jeden z mála případů, kdy lze pracovat s polem jako celkem: Dim polex(100) as Single, poley(100) as Single naplnění prvků polí With Worksheets("vstup").ChartObjects(1).Chart.SeriesCollection(1).XValues = polex.values = poley End With Uvedený způsob je elegantní a rychlý pokud program nemusí plnit obsah listu, ušetří se množství času. Poznámka Bohužel, je tento postup omezený na malý rozsah polí (max. několik set prvků). Je to dáno tím, že pole jsou grafu předávána v podobě textového řetězce seznamu hodnot, jehož délku tvůrci aplikace omezili na 4096 znaků. Pokud nechceme do grafu v listu interaktivně vkládat "prázdné" datové řady, můžeme po vytvoření prázdného grafu (bez dat) použít metodu Add kolekce SeriesCollection: With Worksheets("vstup").ChartObjects(1).Chart.SeriesCollection.Add Range("A1:B1").SeriesCollection(1).XValues = Worksheets("data").Range("A1:A" & i).seriescollection(1).values = Worksheets("data").Range("B1:B" & i) End With 27

28 Informatika Modul 01 Algoritmizace a programování Příkazy automaticky přidají do grafu datovou řadu s irelevantním rozsahem dat (uvedený rozsah buněk A1:B1 lze zvolit libovolně). Rozsah buněk (zdroj dat pro graf) totiž vzápětí program přepíše na relevantní vypočtené hodnoty. 28

29 Objektové modely 4 Práce se soubory prostřednictvím FSO Všechny programovací jazyky mají nástroje pro práci se složkami a soubory v podobě nejrůznějších příkazů a knihoven. V prostředí VB jsou k dispozici příkazy Open, Close, Seek apod., s jejichž pomocí lze pracovat se vstupněvýstupními zařízeními a tedy i se soubory. Tento přístup je však z programátorského hlediska náročný, výhodnější je použít univerzální objektovou knihovnu firmy Microsoft, poskytující mj. přístup k souborovému systému počítače. Knihovna poskytuje objekt třídy FileSystemObject, jejíž model umožňuje programově provádět prakticky všechny operace se systémem souborů (vytvářet, rušit a kopírovat složky a soubory, číst, zapisovat a měnit jejich atributy apod.). Zároveň lze na použití knihovny ilustrovat postup při používání tzv. ActiveX komponent z prostředí VB. Vytvořit objekt, který není součástí VB ani aplikace s vývojovým prostředím, lze dvěma způsoby: Způsob časné vazby (early binding) Dim fso As FileSystemObject Set fso = New FileSystemObject Deklarujeme objektovou proměnnou patřičné třídy. Dále vytvoříme objekt (instanci třídy) pomocí operátoru New, kterému předáme název třídy. Od této chvíle lze s objektem a jeho vlastnostmi a metodami pracovat. Uvedený způsob má však jednu nevýhodu: abychom mohli pracovat s knihovnou tříd, musíme ji v prostředí VB zaregistrovat. V nabídce "Tools References " vyhledáme a zatrhneme potřebnou knihovnu s názvem Microsoft Scripting Runtime podle obrázku: Obr. 4.1 Registrace knihovny v prostředí VB pro práci s jejími objekty. 29

30 Informatika Modul 01 Algoritmizace a programování Registrace se bohužel netýká sešitu, ale nastavení vývojového prostředí jako celku. V příštích programech používajících knihovnu již nic registrovat nemusíme, ale pokud soubor s programy použije jiný uživatel, který knihovnu ve své verzi registrovánu nemá, dojde k chybě. Proto častěji používáme metodu zvanou pozdní vazba (late binding): Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") V tomto případě použijeme vestavěnou funkci VB CreateObject, která vyhledá potřebnou knihovní třídu až při běhu programu, a poté vytvoří instanci knihovního objektu stejně jako v případě včasné vazby. Knihovnu nyní již nemusíme registrovat a vše bude funkční i při přenosu souboru s aplikací na jiný počítač. Malá nevýhoda je v tomto případě v zanedbatelném zpomalení a v absenci kontextové nápovědy VB pro použité třídy knihovny (prostředí "neví", že v programu jsou použity knihovní objekty). Všimněme si také obecné deklarace objektové proměnné, kterou lze použít, pokud třída objektu není v době překladu k dispozici. Třídu FileSystemObject v deklaraci použít nemůžeme, neboť nebyla zaregistrována. Obě uvedené metody použití cizí knihovny nebo aplikace v programu VB lze použít jen u produktů, které podporují technologii tzv. rozhraní Automation (také ActiveX) u produktů Microsoft jsou to prakticky všechny. Třída FileSystemObject obsahuje jedinou vlastnost kolekci připojených svazků Drives. Kolekce má pouze vlastnosti Count a Item (jako všechny dosud probírané kolekce). Prvky kolekce jsou dle očekávání objekty třídy Drive, jejíž atributy popisují připojené disky, např.: AvailableSpace použitelný prostor na disku DriveLetter přiřazené písmeno disku DriveType typ disku (číselník rozlišující např. optický, síťový, pevný disk apod.) FileSystem instalovaný souborový systém na disku (NTFS, FAT32 apod.) FreeSpace volný počet bajtů IsReady logická hodnota určující, zda lze s diskem pracovat SerialNumber sériové číslo disku ShareName název síťového svazku v případě, že je připojen jako sdílený TotalSize celková kapacita disku v bajtech VolumeName název disku 30

31 Objektové modely Příklad Obr. 4.2 Využití objektu FileSystemObject pro výpis připojených disků Program vypíše pro připojené a aktivní disky vybrané atributy a shromáždí je v řetězci seznam, který nakonec zobrazí. Neaktivní disky je třeba při zjišťování jejich vlastností vyloučit (pomocí atributu IsReady), jinak dojde k chybě za běhu programu. 4.1 Metody pro práci se složkami a soubory Spektrum metod třídy FileSystemObject je na rozdíl od jediného atributu bohatší. Pomocí klávesy F2 si můžeme ve vývojovém prostředí zobrazit prohlížeč objektů (object browser), který všechny metody objektu souhrnně uvádí takto: 31

32 Informatika Modul 01 Algoritmizace a programování Obr. 4.3 Vlastnost a metody třídy FileSystemObject Činnost většiny uvedených metod je zřejmá z jejich názvu. Strukturu jejich základního použití znázorňuje následující tabulka: Správa souborů a složek CopyFile MoveFile DeleteFile CopyFolder MoveFolder DeleteFolder Vytvoření souboru a složky CreateTextFile CreateFolder Práce s existujícím souborem a složkou GetFile GetFolder Testy na existenci souboru a složky FileExists FolderExists Práce s textovým souborem OpenTextFile 32

33 Objektové modely Použití metod ozřejmíme na několika příkladech: Kopírování souboru Program ověřuje, zda soubor a cílová složka existují, potom vytvoří vlastní kopii souboru. Metoda CopyFile má tři parametry: určení zdrojového souboru, určení cílové složky; třetí parametr určuje, zda bude přepsán soubor v cílové složce, pokud již existuje. Uvedeme-li hodnotu False u třetího parametru, dostaneme při pokusu o další kopii téhož souboru do stejné cílové složky následující chybové ukončení programu: Program samozřejmě skončí chybou také v případě, že k operaci se soubory chybí dostatečné oprávnění: Při kopírování lze použít v názvech souborů rovněž zástupné znaky. Příkaz fso.copyfile "C:\pracovni\*.doc", "C:\dopisy\", True zkopíruje všechny dokumenty ze složky pracovni do složky dopisy. Uživatelské vkládání názvů souborů včetně cesty je pracné; později si ukážeme komfortnější metodu výběru souboru či složky. 33

34 Informatika Modul 01 Algoritmizace a programování Odstranění složky Metoda DeleteFolder je značně destruktivní odstraní složku i s případnými soubory a podsložkami. Proto je v programu vložen jednoduchý dotaz na potvrzení požadované operace. Konstanty VB modifikující funkci MsgBox jsou vysvětleny v modulu CU01_M Výběrový objekt třídy FileDialog Pro uživatelsky komfortní výběr programu nebo složky máme k dispozici objekt třídy FileDialog, který je k dispozici ve všech aplikacích MS Office. Při použití objektu se zobrazí standardní panel, v němž lze procházet souborovým systémem počítače a vybrat požadovaný prvek. Výsledkem je kolekce názvů souborů (resp. složek), které uživatel vybral (může označit i více prvků než jeden). Pro vytvoření objektu použijeme metodu Application.FileDialog(<typ panelu>) která vrací požadovaný objekt (instance třídy FileDialog). Parametr určuje typ panelu k dispozici je číselník konstant: msofiledialogfilepicker panel umožní vybrat soubor msofiledialogfolderpicker panel umožní vybrat složku msofiledialogopen panel umožní otevření souboru msofiledialogsaveas panel umožní uložení souboru Vytvořený objekt se zobrazí až při volání jeho metody Show, která vrátí logickou hodnotu, zda uživatel výběr provedl, nebo stiskl tlačítko "Storno" (resp. "Cancel"). Po provedení výběru panel na obrazovce zanikne, ale objekt je dále k dispozici a názvy vybraných souborů (resp. složek) jsou včetně cesty uloženy v kolekci SelectedItems. Použití objektu je zřejmé z následujícího příkladu: 34

35 Objektové modely Po vytvoření objektu fd můžeme nastavit jeho vlastnosti. V této fázi objekt ještě není zobrazen, jeho rozkreslení provede až metoda Show. Program nyní čeká na výběr souborů uživatelem a pokračuje až po uzavření panelu. Po převzetí názvů vybraných souborů můžeme objekt zrušit (v paměti existuje, i když není žádný panel zobrazen) šetříme tím zdroje (paměť) počítače. Obr. 4.4 Panel objektu FileDialog Obr. 4.5 Procházení kolekce SelectedItems 35

36 Informatika Modul 01 Algoritmizace a programování 4.3 Zápis a čtení dat ze souboru Programové čtení dat ze souboru použijeme zejména při zpracování textových dat z různých typů automatizovaných měření apod. Prostředí VB není příliš vhodné pro přímou práci s binárními soubory tam používáme spíše aplikace, v nichž byly souboru vytvořeny. Abychom mohli s textovým souborem pracovat, musíme ho nejdříve vytvořit nebo otevřít (pokud existuje). K tomu používáme metodu CreateTextFile, resp. OpenTextFile třídy FileSystemObject. Obě metody vyžadují jako parametr název otevíraného souboru a vracejí nový objekt třídy TextStream, který obsahuje potřebné nástroje pro práci s textovým souborem. V našich úlohách budeme potřebovat následující metody tohoto objektu: Read přečte ze souboru zadaný počet znaků ReadLine přečte ze souboru jeden řádek Write zapíše do souboru zadaný počet znaků WriteLine zapíše do souboru jeden řádek Close uzavře soubor Z vlastností objektu použijeme pouze AtEndOfStream logická hodnota vyjadřuje, zda jsme při čtení dosáhli konec souboru. Příklad vytvoření souboru a vložení znaků do souboru: Vidíme, že metoda CreateTextFile má ještě další parametr s logickou hodnotou. Hodnota True povolí přepsání souboru, pokud vytváříme soubor se jménem, které už v dané složce existuje. Metoda soubor vytvoří a otevře nyní do něj lze zapisovat znaky metodami Write nebo WriteLine. Metoda WriteLine se od metody Write liší pouze tím, že za vložené znaky přidá ještě znak konce řádku (již zmiňovaná konstanta vbcrlf). Po ukončení zápisu musíme soubor zavřít metodou Close. V opačném případě riskujeme, že po ukončení programu zůstane soubor poškozený. Pokud program v pořádku proběhne, nalezneme v patřičném adresáři nový soubor, jehož obsah si můžeme prohlédnout libovolným textovým editorem. Programové čtení souboru provedeme podle následujícího příkladu: 36

37 Objektové modely Program načítá jednotlivé řádky ze souboru a zapisuje jejich obsah do buněk v prvním sloupci listu. Vlastní čtení ze souboru probíhá následovně: metoda ReadLine přečte znaky ze souboru až po řídící znak nového řádku (vbcrlf). Při dalším volání metody ReadLine pokračuje čtení od tohoto znaku dále. Soubor si tedy udržuje informaci o počtu přečtených znaků a volání metody ReadLine vždy pokračuje ve čtení dalších znaků od této pozice. Atribut AtEndOfStream objektu informuje, zda jsme při čtení již dosáhli konce souboru. Pokud bychom se po dosažení konce souboru pokusili o další volání metody ReadLine, dojde k chybě. Alternativní méně užívané metody Read (resp. Write) vyžadují jako parametr číslo určující počet přečtených znaků. 37

38 Informatika Modul 01 Algoritmizace a programování 5 Důležité objekty aplikace MS Word Vývojové prostředí VB je k dispozici rovněž v aplikaci MS Word. Objektový model textového procesoru je pochopitelně odlišný od MS Excel, určité logické souvislosti zde nicméně nalezneme. Na vrcholu hierarchie pod objektem Application je zde kolekce dokumentů Documents se zcela obdobnými vlastnostmi a metodami, jako má kolekce sešitů Worksheets v aplikaci MS Excel. Prvky této kolekce tvoří objekty třídy Document. V rámci dokumentu hraje stejně jako v Excelu důležitou roli objekt třídy Range tentokrát však neodpovídá množině buněk, ale spojité oblasti znaků. Kromě toho máme k dispozici důležité kolekce odstavců (Paragraphs), vět (Sentences), slov (Words) a znaků (Characters). Aplikace si pochopitelně vytváří uvedené kolekce podle oddělovacích znaků v případě odstavců je oddělovačem znak nového řádku, v případě vět tečka, v případě slov mezera (resp. čárka, tečka apod.). Programová práce v rámci zpracování textů není tak častá jako v případě sešitů tabulkových kalkulátorů, někdy je však užitečná a může ušetřit hodiny času zejména při speciálních úpravách rozsáhlých dokumentů. Použití si ukážeme na několika jednoduchých příkladech, komplexnější program nalezne čtenář v modul CU01_M03. Většinu programových změn v dokumentu provádíme tak, že nejprve vybereme oblast znaků Range, s níž pak provedeme zamýšlené operace. Objekt třídy Range lze vytvořit mnoha způsoby. Nejjednodušeji lze použít metodu Range(<Start>,<End>) třídy Document (všimněme si polymorfismus stejného názvu, označujícího jak třídu Range, tak metodu vedoucí k její instanci): Dim oblast As Range Set oblast = ActiveDocument.Range(0, 100) Rozsah oblasti v dokumentu zde definujeme počáteční a koncovou pozicí znaků, které vytvoří danou oblast. Poznámka Objekt ActiveDocument zde označuje aktivní dokument aplikace. Objekt třídy Document lze samozřejmě zpřístupnit i pomocí kolekce, například: Documents("mujDokument.docx"), Documents(1) apod. Vytvořit instanci Range lze také pomocí prvků kolekce odstavců: Set oblast = ActiveDocument.Paragraphs(1).Range V tomto případě ovšem identifikátor Range neznamená metodu, ale objekt, který zahrnuje celý první odstavec dokumentu. Zmíněné kolekce vět, slov, znaků lze použít v rámci oblasti např. takto Dim oblast As Range, slovo As Range Set oblast = ActiveDocument.Paragraphs(2).Range Set slovo = oblast.words(2) 38

39 Objektové modely Vidíme, prvky kolekce slov (jako i dalších výše uvedených kolekcí) jsou přímo objekty typu Range. Výběr druhého slova v druhém odstavci lze samozřejmě provést také přímo příkazem Set oblast = ActiveDocument.Paragraphs(2).Range.Words(2) (bez vytváření objektu odstavce). 5.1 Vybrané postupy programování textu Třída Range obsahuje množství vlastností a metod, jejich použití ilustrují následující příklady: Sub triodstavce() Dim oblast As Range Set oblast = ActiveDocument.Range( _ ActiveDocument.Paragraphs(1).Range.Start, _ ActiveDocument.Paragraphs(3).Range.End) oblast.font.name = "Times New Roman" oblast.font.italic = True oblast.font.size = 12 End Sub Pro definici oblasti jsme zde využili vlastnosti Start a End třídy Range, které obsahují aktuální pozici začátku a konce objektu této třídy. Z pozice začátku prvního odstavce a konce třetího odstavce jsme tedy zkonstruovali novou oblast třídy Range. Z objektu oblasti využijeme podobjekt Font, jehož vlastnosti určují formát písma podle příkladu. Analogií třídy Font pro nastavení vlastností písma je třída ParagraphFormat určena pro nastavení vlastností odstavce (např. řádkování, zarovnání, ohraničení, stínování apod.): Sub formatodstavce() Dim oblast As Range Set oblast = ActiveDocument.Paragraphs(1).Range oblast.paragraphformat.alignment = wdalignparagraphcenter oblast.paragraphformat.spacebefore = 12 End Sub Uvedený příklad zarovná první odstavec na střed a před první řádek vloží vertikální odsazení 12 bodů (pointů). V rámci dokumentu lze programově pracovat ještě s jedním typem oblasti, který reprezentuje výběr při interaktivní práci. Odpovídající třída Selection má podobné vlastnosti jako Range, lze ji dále použít pro kopírování, vkládání a jiné operace prováděné pomocí schránky (clipboard) obsahuje metody Copy, Cut a Paste, jejichž použití je zřejmé. Jak ve třídě Range, tak i Selection je k dispozici vlastnost Text, která zhruba odpovídá vlastnosti Value, s níž jsme pracovali dříve. Jedná se o textový obsah oblasti: 39

40 Informatika Modul 01 Algoritmizace a programování Sub obsahvyberu() MsgBox "Vybraný text: " & Selection.Text End Sub V jednoduchém případě lze tuto vlastnost použít pro změnu obsahu oblasti prostým přiřazením: Selection.Text = "toto je text vložený programem" Vybraný text je pak programem nahrazen textem na pravé straně přiřazení. Častěji se však pro dynamické vložení textu do dokumentu používají metody InsertBefore(<řetězec>) a InsertAfter(<řetězec>), které definovanou oblast rozšíří na začátku, resp. na konci o zadaný text v podobě parametru. Formátování v oblasti se zachová. Následující příklad před každý odstavec vloží řádek s obsahem n, kde n je číslo odstavce: Sub vlozpredodstavce() Dim odstavec As Paragraph Dim i As Integer i = 0 For Each odstavec In ActiveDocument.Paragraphs i = i + 1 odstavec.range.insertbefore (" " & i & vbcrlf) Next End Sub Velmi krátkým programem jsme dosáhli úpravy dokumentu, která by se manuálně prováděla pracně. Výsledek běhu programu je změněný dokument, který lze dále běžně upravovat včetně programem vložných částí. Navzdory různým metodám automatických oprav v aplikaci MS Word je často jednodušší vytvořit program řešící náš problém přesně tak, jak potřebujeme. Následující program odstraní krátké sekvence znaků na konci řádku (např. osamělé předložky): Sub osamelepredlozky2() Dim slovo As Range, znak As Range, Dim obsah As String, delka As Integer For Each slovo In Selection.Words delka = slovo.end - slovo.start If delka <= 3 Then Set znak = slovo.characters(delka) If slovo.text <> ". " _ And slovo.text <> ", " _ 40

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

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

8 Makra Příklad 4 Excel 2007

8 Makra Příklad 4 Excel 2007 TÉMA: Úprava maker rozhodování, příkaz If..Then..Else Sekretářka společnosti Naše zahrada potřebuje upravit makra vytvořená pomocí záznamu tak, aby vyhovovala jejím požadavkům. Pro úpravy využije Editor

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

MS Excel makra a VBA

MS Excel makra a VBA Autor: RNDr. Obsah: MS Excel makra a VBA 1 Využití, ukázky, výhody a nevýhody... 2 2 Makra a zabezpečení... 2 2.1 Nastavení zabezpečení Excelu... 2 2.2 Uložení maker do sešitu a osobního sešitu maker...

Více

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: vzdělávací

Více

Excel 2007 praktická práce

Excel 2007 praktická práce Excel 2007 praktická práce 1 Excel OP LZZ Tento kurz je financován prostřednictvím výzvy č. 40 Operačního programu Lidské zdroje a zaměstnanost z prostředků Evropského sociálního fondu. 2 Excel Cíl kurzu

Více

Tematický celek 05. 5.1 Práce ze soubory. 5.2 Objektový model FSO. - slouží pro ukládání záznamů, - každý ze záznamů obsahu jedno nebo více polí.

Tematický celek 05. 5.1 Práce ze soubory. 5.2 Objektový model FSO. - slouží pro ukládání záznamů, - každý ze záznamů obsahu jedno nebo více polí. Tematický celek 05 5.1 Práce ze soubory - slouží pro ukládání záznamů, - každý ze záznamů obsahu jedno nebo více polí. Definice typu záznamu - musíme definovat datový typ, který bude sloužit k uložení

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

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout.   tel: Skripta ke školení Základy VBA vypracoval: Tomáš Herout e-mail: herout@helpmark.cz tel: 739 719 548 2016 Obsah TROCHA TEORIE VBA...2 ZPŮSOB ZÁPISU VE VBA...2 CO JE TO FUNKCE...2 CO JE TO PROCEDURA...2

Více

9 Úprava maker Příklad 4 Word 2007/ VBA

9 Úprava maker Příklad 4 Word 2007/ VBA TÉMA: Úprava maker, vstup z/výstup do dokumentu Makra vytvořená pomocí záznamu ne vždy zcela vyhovují našim představám. Lze je dále upravovat v prostředí editoru jazyka Visual Basic for Applications. Tento

Více

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování Vypracování bude ve formě ručně napsaného zdrojového textu programu na papír se zadáním. Program dle zadání si

Více

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina 5a. Makra Visual Basic pro Microsoft Escel Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty Zde bude stránka o cyklických odkazech a iteracích.

Více

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody 4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty

Více

MS Excel 2010. Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU

MS Excel 2010. Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS Excel 2010 Základy maker Operační program Vzdělávání pro konkurenceschopnost Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU Registrační číslo: CZ.1.07/2.2.00/15.0224, Oblast podpory:

Více

DUM 06 téma: Tvorba makra pomocí VBA

DUM 06 téma: Tvorba makra pomocí VBA DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie

Více

1. Průběh funkce. 1. Nejjednodušší řešení

1. Průběh funkce. 1. Nejjednodušší řešení 1. Průběh funkce K zobrazení průběhu analytické funkce jedné proměnné potřebujeme sloupec dat nezávisle proměnné x (argumentu) a sloupec dat s funkcí argumentu y = f(x) vytvořený obvykle pomocí vzorce.

Více

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

Více

Programujeme v softwaru Statistica - příklady

Programujeme v softwaru Statistica - příklady Programujeme v softwaru Statistica - příklady Newsletter Statistica ACADEMY Téma: Programování, makra, skripty Typ článku: Návody, příklady V předchozích článcích bylo vyřčeno mnoho teorie k problematice

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 25 Název materiálu: Ovládací prvky formuláře a makra Ročník: 2. ročník Identifikace materiálu:

Více

Visual Basic for Application

Visual Basic for Application Visual Basic for Application Leopold Bartoš 1 Začátek 1.1 Úvod Visual Basic for Application (VBA) je programové prostředí pro produkty, které jsou zahrnuty do balíku, který dostal jméno Microsoft Office.

Více

Postupy práce se šablonami IS MPP

Postupy práce se šablonami IS MPP Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence

Více

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU KAPITOLA 3 - ZPRACOVÁNÍ TEXTU KLÍČOVÉ POJMY textové editory formát textu tabulka grafické objekty odrážky a číslování odstavec CÍLE KAPITOLY Pracovat s textovými dokumenty a ukládat je v souborech různého

Více

Pracovní prostředí Excel 2010

Pracovní prostředí Excel 2010 Zdokonalování ICT gramotnosti v rámci projektu IMPACT Pracovní prostředí Excel 2010 Inovace a modernizace studijních oborů FSpS Obsah Co je to Excel a k čemu slouží... 3 Co nabízí nová verze Excel 2010:...

Více

BALISTICKÝ MĚŘICÍ SYSTÉM

BALISTICKÝ MĚŘICÍ SYSTÉM BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD

Více

Formátování pomocí stylů

Formátování pomocí stylů Styly a šablony Styly, šablony a témata Formátování dokumentu pomocí standardních nástrojů (přímé formátování) (Podokno úloh Zobrazit formátování): textu jsou přiřazeny parametry (font, velikost, barva,

Více

Excel tabulkový procesor

Excel tabulkový procesor Pozice aktivní buňky Excel tabulkový procesor Označená aktivní buňka Řádek vzorců zobrazuje úplný a skutečný obsah buňky Typ buňky řetězec, číslo, vzorec, datum Oprava obsahu buňky F2 nebo v řádku vzorců,

Více

1 Tabulky Příklad 3 Access 2010

1 Tabulky Příklad 3 Access 2010 TÉMA: Vytvoření tabulky v návrhovém zobrazení Pro společnost Naše zahrada je třeba vytvořit databázi pro evidenci objednávek o konkrétní struktuře tabulek. Do databáze je potřeba ještě přidat tabulku Platby,

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,

Více

Hromadná korespondence

Hromadná korespondence Hromadná korespondence Teoretická část: Typickým příkladem použití hromadné korespondence je přijímací řízení na školách. Uchazeči si podají přihlášku, škola ji zpracuje a připraví zvací dopis k přijímací

Více

3MA481 Propojení Accessu a Excelu David Hach

3MA481 Propojení Accessu a Excelu David Hach Popis práce Tato práce se zabývá propojením aplikací MS Office s pomocí kódů ve VBA. V tomto konkrétním příkladě je znázorněn případ komunikace mezi programy MS Access 2007 a MS Excel 2007. Díky možnostem

Více

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM Manuál pro administrátory Verze 1.0 2012 AutoCont CZ a.s. Veškerá práva vyhrazena. Tento

Více

František Hudek. duben 2013

František Hudek. duben 2013 VY_32_INOVACE_FH11_WIN Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek duben 2013 6.

Více

FORMÁTOVÁNÍ 2. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika

FORMÁTOVÁNÍ 2. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika Autor: Mgr. Dana Kaprálová FORMÁTOVÁNÍ 2 Datum (období) tvorby: září, říjen 2013 Ročník: sedmý Vzdělávací oblast: Informatika a výpočetní technika 1 Anotace: Žáci se seznámí se základní obsluhou tabulkového

Více

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již

Více

3 Makra Příklad 4 Access 2007. Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

3 Makra Příklad 4 Access 2007. Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker. TÉMA: Vytváření a úprava maker Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker. Zadání: Otevřete databázi Makra.accdb. 1. Vytvořte makro Objednávky,

Více

Práce se styly 1. Styl

Práce se styly 1. Styl Práce se styly 1. Styl Styl se používá, pokud chceme, aby dokument měl jednotný vzhled odstavců. Můžeme si nadefinovat styly pro různé úrovně nadpisů, jednotlivé popisy, charakteristiky a další odstavce.

Více

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R Velmi stručný návod jak dostat data z Terminálu Bloomberg do R Ondřej Pokora, PřF MU, Brno 11. března 2013 1 Terminál Bloomberg Klávesou Help získáte nápovědu. Dvojím stisknutím Help Help spustíte online

Více

Excel tabulkový procesor

Excel tabulkový procesor Pozice aktivní buňky Excel tabulkový procesor Označená aktivní buňka Řádek vzorců zobrazuje úplný a skutečný obsah buňky Typ buňky řetězec, číslo, vzorec, datum Oprava obsahu buňky F2 nebo v řádku vzorců,

Více

Příloha 6. Palety nástrojů

Příloha 6. Palety nástrojů Příloha 6. Palety nástrojů Palety nástrojů v IDE poskytují zkrácení pro příkazy nabídky. Příkazy jsou rozděleny do několika palet nástrojů, které mohou být nezávisle přeskupeny nebo vloženy do plovoucích

Více

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28. Zdokonalování gramotnosti v oblasti ICT Kurz MS Excel kurz 6 1 Obsah Kontingenční tabulky... 3 Zdroj dat... 3 Příprava dat... 3 Vytvoření kontingenční tabulky... 3 Možnosti v poli Hodnoty... 7 Aktualizace

Více

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové

Více

2. Numerické výpočty. 1. Numerická derivace funkce

2. Numerické výpočty. 1. Numerická derivace funkce 2. Numerické výpočty Excel je poměrně pohodlný nástroj na provádění různých numerických výpočtů. V příkladu si ukážeme možnosti výpočtu a zobrazení diferenciálních charakteristik analytické funkce, přičemž

Více

Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou...

Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou... Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou... 7 Jak se formulář vytváří... 8 Návrh formuláře... 8 Co jsou ovládací

Více

HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT

HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT Funkce Najít a nahradit slouží k rychlému vyhledávání určitých slov a jejich nahrazování jinými slovy. Lze hledat i určité varianty slov a nahrazovat je buď hromadně (všechny

Více

Tabulkový procesor. Základní rysy

Tabulkový procesor. Základní rysy Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních

Více

MS SQL Server 2008 Management Studio Tutoriál

MS SQL Server 2008 Management Studio Tutoriál MS SQL Server 2008 Management Studio Tutoriál Vytvoření databáze Při otevření management studia a připojením se ke konkrétnímu sql serveru mám v levé části panel s názvem Object Explorer. V tomto panelu

Více

MS Word 2007 Šablony programu MS Word

MS Word 2007 Šablony programu MS Word MS Word 2007 Šablony programu MS Word Obsah kapitoly V této kapitole se seznámíme s: Možností využití šablon při vytváření nových dokumentů Vytvářením vlastních šablon Studijní cíle Po absolvování této

Více

Předmluva 11 Typografická konvence použitá v knize 12. 1 Úvod do Excelu 2003 13

Předmluva 11 Typografická konvence použitá v knize 12. 1 Úvod do Excelu 2003 13 Předmluva 11 Typografická konvence použitá v knize 12 1 Úvod do Excelu 2003 13 Spuštění a ukončení Excelu 14 Spuštění Excelu 14 Ukončení práce s Excelem 15 Přepínání mezi otevřenými sešity 16 Oprava aplikace

Více

VISUAL BASIC. Práce se soubory

VISUAL BASIC. Práce se soubory VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit

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

MS OFFICE POWER POINT 2010

MS OFFICE POWER POINT 2010 MS OFFICE POWER POINT 2010 Program Power Point patří do rodiny programů Microsoft Office a slouží ke tvorbě prezentací. Prezentace je tvořena snímky, které jsou postupně zobrazovány a to buď po nějaké

Více

Základní vzorce a funkce v tabulkovém procesoru

Základní vzorce a funkce v tabulkovém procesoru Základní vzorce a funkce v tabulkovém procesoru Na tabulkovém programu je asi nejzajímavější práce se vzorci a funkcemi. Když jednou nastavíte, jak se mají dané údaje zpracovávat (některé buňky sečíst,

Více

Dokument a jeho části oddíly, záhlaví, zápatí

Dokument a jeho části oddíly, záhlaví, zápatí Dokument a jeho části oddíly, záhlaví, zápatí Nejčastějším úkolem bývá ukončení stránky a pokračování textu na další stránce nebo vložení stránky před napsaný text. Podobným úkolem je jiné svislé zarovnání

Více

Microsoft Office. Word hromadná korespondence

Microsoft Office. Word hromadná korespondence Microsoft Office Word hromadná korespondence Karel Dvořák 2011 Hromadná korespondence Hromadná korespondence je způsob, jak určitý jeden dokument propojit s tabulkou obsahující více záznamů. Tímto propojením

Více

Registrační číslo projektu: Škola adresa: Šablona: Ověření ve výuce Pořadové číslo hodiny: Třída: Předmět: Název: MS Excel I Anotace:

Registrační číslo projektu: Škola adresa: Šablona: Ověření ve výuce Pořadové číslo hodiny: Třída: Předmět: Název: MS Excel I Anotace: Registrační číslo projektu: CZ.1.07/1.4.00/21.3712 Škola adresa: Základní škola T. G. Masaryka Ivančice, Na Brněnce 1, okres Brno-venkov, příspěvková organizace Na Brněnce 1, Ivančice, okres Brno-venkov

Více

Kontingenční tabulky v MS Excel 2010

Kontingenční tabulky v MS Excel 2010 Kontingenční tabulky v MS Excel 2010 Autor: RNDr. Milan Myšák e-mail: milan.mysak@konero.cz Obsah 1 Vytvoření KT... 3 1.1 Data pro KT... 3 1.2 Tvorba KT... 3 2 Tvorba KT z dalších zdrojů dat... 5 2.1 Data

Více

UniLog-D. v1.01 návod k obsluze software. Strana 1

UniLog-D. v1.01 návod k obsluze software. Strana 1 UniLog-D v1.01 návod k obsluze software Strana 1 UniLog-D je PC program, který slouží k přípravě karty pro záznam událostí aplikací přístroje M-BOX, dále pak k prohlížení, vyhodnocení a exportům zaznamenaných

Více

Hromadná korespondence

Hromadná korespondence Kapitola dvanáctá Hromadná korespondence Učební text Mgr. Radek Hoszowski Hromadná korespondence Hromadná korespondence Představíme si jednoduchý nástroj, který nám může ušetřit velké množství práce. Je

Více

Word 2007 praktická práce

Word 2007 praktická práce Word 2007 praktická práce 1 Word OP LZZ Tento kurz je financován prostřednictvím výzvy č. 40 Operačního programu Lidské zdroje a zaměstnanost z prostředků Evropského sociálního fondu. 2 Word Cíl kurzu

Více

METODICKÝ POKYN PRÁCE S MS PowerPoint - ZAČÁTEČNÍCI. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

METODICKÝ POKYN PRÁCE S MS PowerPoint - ZAČÁTEČNÍCI. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. METODICKÝ POKYN PRÁCE S MS PowerPoint - ZAČÁTEČNÍCI Základní rozložení plochy Výchozím stavem při práci je normální zobrazení. pás karet - základní nabídka příkazů Pořadí jednotlivých snímků Základní plocha

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

PRÁCE S DOKUMENTEM. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: srpen 2013. Ročník: šestý. Vzdělávací oblast: Informatika a výpočetní technika

PRÁCE S DOKUMENTEM. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: srpen 2013. Ročník: šestý. Vzdělávací oblast: Informatika a výpočetní technika PRÁCE S DOKUMENTEM Autor: Mgr. Dana Kaprálová Datum (období) tvorby: srpen 2013 Ročník: šestý Vzdělávací oblast: Informatika a výpočetní technika 1 Anotace: Žák se orientuje v prostředí aplikace WORD.

Více

Tvorba kurzu v LMS Moodle

Tvorba kurzu v LMS Moodle Tvorba kurzu v LMS Moodle Před počátkem práce na tvorbě základního kurzu znovu připomínám, že pro vytvoření kurzu musí být profil uživatele nastaven administrátorem systému minimálně na hodnotu tvůrce

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

Začínáme pracovat s tabulkovým procesorem MS Excel

Začínáme pracovat s tabulkovým procesorem MS Excel Začínáme pracovat s tabulkovým procesorem MS Excel Nejtypičtějším představitelem tabulkových procesorů je MS Excel. Je to pokročilý nástroj pro tvorbu jednoduchých i složitých výpočtů a grafů. Program

Více

Styly odstavců. Word 2010. Přiřazení stylu odstavce odstavci. Změna stylu odstavce

Styly odstavců. Word 2010. Přiřazení stylu odstavce odstavci. Změna stylu odstavce Styly odstavců V textu, který přesahuje několik stránek a je nějakým způsobem strukturovaný (což znamená, že se dá rozdělit na části (v knize jim říkáme kapitoly) a jejich podřízené části (podkapitoly),

Více

Pravidla a plánování

Pravidla a plánování Administrátorský manuál TTC TELEKOMUNIKACE, s.r.o. Třebohostická 987/5 100 00 Praha 10 tel.: 234 052 111 fax.: 234 052 999 e-mail: ttc@ttc.cz http://www.ttc-telekomunikace.cz Datum vydání: 7. května 2013

Více

1. D Y N A M I C K É DAT O V É STRUKTUR Y

1. D Y N A M I C K É DAT O V É STRUKTUR Y 1. D Y N A M I C K É DAT O V É STRUKTUR Y Autor: Petr Mik Abychom se mohli pustit do dynamických datových struktur, musíme se nejdřív podívat na datový typ ukazatel. 1. D AT O V Ý TYP U K A Z AT E L Datové

Více

Osnova kurzu OBSLUHA PC ZÁKLADNÍ ZNALOSTI. pilotního projektu v rámci I. Etapy realizace SIPVZ

Osnova kurzu OBSLUHA PC ZÁKLADNÍ ZNALOSTI. pilotního projektu v rámci I. Etapy realizace SIPVZ Střední průmyslová škola a Střední odborné učiliště, Trutnov, Školní 101, tel.: +420 499 813 071, fax: +420 499 814 729, e-mail: skola@spssoutu.cz, URL: http://www.spssoutu.cz Osnova kurzu OBSLUHA PC ZÁKLADNÍ

Více

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako.

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Otevře se tabulka, v které si najdete místo adresář, pomocí malé šedočerné šipky (jako na obrázku), do kterého

Více

Microsoft Word - Styly, obsah a další

Microsoft Word - Styly, obsah a další Microsoft Word - Styly, obsah a další Definice uživatelských stylů Nový - tzv. uživatelský styl - se vytváří pomocí panelu Styly a formátování stiskem tlačítka Nový styl. Po stisknutí tlačítka se objeví

Více

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace. Popis ovládání 1. Úvod Tento popis má za úkol seznámit uživatele se základními principy ovládání aplikace. Ovládání je možné pomocí myši, ale všechny činnosti jsou dosažitelné také pomocí klávesnice. 2.

Více

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem Vzorce Vzorce v Excelu lze zadávat dvěma způsoby. Buď známe přesný zápis vzorce a přímo ho do buňky napíšeme, nebo použijeme takzvaného průvodce při tvorbě vzorce (zejména u složitějších funkcí). Tvorba

Více

MS PowerPoint ZÁKLADY

MS PowerPoint ZÁKLADY MS PowerPoint ZÁKLADY UKÁZKA ŠKOLÍCÍCH MATERIÁLŮ Centrum služeb pro podnikání s.r.o. 2014, I. Verze, TP OBSAH 1. Úvod do PowerPointu... 1 2. Otevření PowerPointu... 1 3. Pracovní prostředí PowerPointu...

Více

Prezentace (Presentation) - ECDL / ICDL Sylabus 6.0

Prezentace (Presentation) - ECDL / ICDL Sylabus 6.0 Prezentace (Presentation) - ECDL / ICDL Sylabus 6.0 Upozornění: Oficiální verze ECDL / ICDL Sylabu verze 6.0 je publikovaná na webových stránkách ECDL Foundation - www.ecdl.org a lokalizovaná verze na

Více

ZSF web a intranet manuál

ZSF web a intranet manuál ZSF web a intranet manuál Verze pro školení 11.7.2013. Návody - Jak udělat...? WYSIWYG editor TinyMCE Takto vypadá prostředí WYSIWYG editoru TinyMCE Jak formátovat strukturu stránky? Nadpis, podnadpis,

Více

RELAČNÍ DATABÁZE ACCESS

RELAČNÍ DATABÁZE ACCESS RELAČNÍ DATABÁZE ACCESS 1. Úvod... 2 2. Základní pojmy... 3 3. Vytvoření databáze... 5 4. Základní objekty databáze... 6 5. Návrhové zobrazení tabulky... 7 6. Vytváření tabulek... 7 6.1. Vytvoření tabulky

Více

Obsah. Několik slov o Excelu 2007 a 2010 9. Operace při otvírání a ukládání sešitu 15. Operace s okny 27. Kapitola 1

Obsah. Několik slov o Excelu 2007 a 2010 9. Operace při otvírání a ukládání sešitu 15. Operace s okny 27. Kapitola 1 Obsah Kapitola 1 Několik slov o Excelu 2007 a 2010 9 Nové uživatelské rozhraní 9 Pás karet 10 Panel nástrojů Rychlý přístup 11 Tlačítko Office 11 Pracovní plocha 12 Nápověda 13 Kapitola 2 Operace při otvírání

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748

Více

Studijní skupiny. 1. Spuštění modulu Studijní skupiny

Studijní skupiny. 1. Spuštění modulu Studijní skupiny Studijní skupiny 1. Spuštění modulu Studijní skupiny 2. Popis prostředí a ovládacích prvků modulu Studijní skupiny 2.1. Rozbalovací seznamy 2.2. Rychlé filtry 2.3. Správa studijních skupin 2.3.1. Seznam

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 5 4 6 U k á z k a k n i h

Více

o o Autor karty a všech jejích součástí, není-li uvedeno jinak, je: Bc. Pavel Janíček

o o Autor karty a všech jejích součástí, není-li uvedeno jinak, je: Bc. Pavel Janíček Název (téma) Oblast zařazení do RVP Ročník, věková kategorie Učivo Word Test znalostí Informační a komunikační technologie IKT textové editory 14-15 let Všeobecné znalosti o Wordu Cíle (kompetence) Žák

Více

MS Excel 2007 Kontingenční tabulky

MS Excel 2007 Kontingenční tabulky MS Excel 2007 Kontingenční tabulky Obsah kapitoly V této kapitole se seznámíme s nástrojem, který se používá k analýze dat rozsáhlých seznamů. Studijní cíle Studenti budou umět pro analýzu dat rozsáhlých

Více

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec StatSoft Vzorce Jistě se Vám již stalo, že data, která máte přímo k dispozici, sama o sobě nestačí potřebujete je nějak upravit, vypočítat z nich nějaké další proměnné, provést nějaké transformace, Jinak

Více

OFFICE MS EXCEL SEZNÁMENÍ S PROGRAMEM

OFFICE MS EXCEL SEZNÁMENÍ S PROGRAMEM Škola: Autor: DUM: Vzdělávací obor: Tematický okruh: Téma: Masarykovo gymnázium Vsetín Mgr. Petr Koňařík MGV_VT_SS_1S2-D12_Z_OFF_EX_UVOD Informatika MS Office MS Excel - úvod OFFICE MS EXCEL SEZNÁMENÍ

Více

Excel - databáze. Opakování. Soubor, který jsme upravovali. Upravený soubor. Hrubá mzda = počet kusů * Kč za kus B6=B4*B5

Excel - databáze. Opakování. Soubor, který jsme upravovali. Upravený soubor. Hrubá mzda = počet kusů * Kč za kus B6=B4*B5 Excel - databáze Opakování Soubor, který jsme upravovali Podklady pro výpočty Upravený soubor B6=B4*B5 H4=SUMA(B4:G4) I4 =PRŮMĚR(B4:G4) B7= B6*$M$4 B10 =B6-B7-B8-B9 B13=KDYŽ(C4>=450;"přes";KDYŽ(C4>=380;

Více

Spuštění a ukončení databázové aplikace Access

Spuštění a ukončení databázové aplikace Access Spuštění a ukončení databázové aplikace Access Aplikaci Access spustíte tak, že vyhledáte její ikonu v nabídce "Start" a klepnete na ní. Najdete ho v Sekci Všechny programy/mircosoft Office. Po výběru

Více

MS Word základy. Úvod do MS Word. Nový dokument. Vytvoření zástupce programu na ploše. Otevření dokumentu a popis prostředí: Ukládání souboru:

MS Word základy. Úvod do MS Word. Nový dokument. Vytvoření zástupce programu na ploše. Otevření dokumentu a popis prostředí: Ukládání souboru: MS Word základy Úvod do MS Word. Vytvoření zástupce programu na ploše. Start Programy PK na Microsoft Word Odeslat Plocha Vytvořit zástupce Otevření dokumentu a popis prostředí: Spuštění programu Start

Více

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML ROZHRANÍ ESA XML Ing. Richard Vondráček SCIA CZ, s. r. o., Thákurova 3, 160 00 Praha 6 www.scia.cz 1 OTEVŘENÝ FORMÁT Jednou z mnoha užitečných vlastností programu ESA PT je podpora otevřeného rozhraní

Více

Programujeme v softwaru Statistica

Programujeme v softwaru Statistica Programujeme v softwaru Statistica díl první Newsletter Statistica ACADEMY Téma: Programování, makra, skripty Typ článku: Návody Jistě jste se při práci v softwaru Statistica dostali do situace, kdy bylo

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

Makra. Orámování oblasti

Makra. Orámování oblasti Makra Původně bylo makro chápáno jako posloupnost příkazů, kterou lze automaticky a opakovaně vykonávat. Sloužilo k automatickému provádění často se opakujících akcí. Nahráli jste posloupnost příkazů,

Více

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

Více

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází Tiskové sestavy Tiskové sestavy se v aplikaci Access používají na finální tisk informací z databáze. Tisknout se dají všechny objekty, které jsme si vytvořili, ale tiskové sestavy slouží k tisku záznamů

Více

Reliance 3 design OBSAH

Reliance 3 design OBSAH Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních

Více