Vytváøení sí ového diagramu z databáze: pøíklad



Podobné dokumenty

1.2 Realizace èekání pomocí jednoduché programové smyèky Pøíklad 3: Chceme-li, aby dítì blikalo baterkou v co nejpøesnìjším intervalu, øekneme mu: Roz


11 Elektrické specifikace Mezní parametry* Okolní teplota pøi zapojeném napájení 40 C až +125 C Skladovací teplota 65 C až +150 C Napájecí napìtí na V


VLASTNOSTI PLOŠNÝCH SPOJÙ

Obsah. ÈÁST I Vývojové prostøedí Visio



Spínaèe jsou elektrické pøístroje, které slouží k zapínání, pøepínání a vypínání elektrických obvodù a spotøebièù. Podle funkce, kterou vykonávají, je


:5$ =islv GDW V DOWHUQDFt QHMY\ããtKRELWX


Skládaèka Obr 48 G15 VBP Co to dìlá: Naète vybraný obrázek (vybraný pomocí CommonDialog1), vytvoøí MxN komponent PictureBox obsahujících odpovídající

CTR pro optoèlen s LED a tranzistorem:,& &75 = [%] U, CE = const ) Obvykle CTR urèíme pøi I F = 10 ma a U CE = 5 V. Hodnoty zjistíme z tabulky.,& &75

12 15 Instalace mikroturbíny v blokové plynové výtopnì " ZADÁNO: Instalace mikroturbíny v blokové plynové výtopnì Zjistìte: 1 Zda je ekonomicky výhodn

NULOROVÉ MODELY Spokojíme-li se pouze se základní analýzou elektronického obvodu s ideálními prvky, osvìdèuje se èasto užití nulorových modelù aktivní

3/ %,1'(& 83'1 &( &3 )XQNFH. + ; ; ; ; / ; ; + ; EH]H]PuQ\

9. Harmonické proudy pulzních usměrňovačů


0RW\O3LFWXUH%R[ 7LPHU7LPHU






Izolaèní zesilovaèe s IL300 Zapojení izolaèních zesilovaèù s IL300 se liší pøedevším režimem v nichž pracují interní fotodiody Podle toho zda interní

kap..2 Plochy (Surfaces) Plochy jsou rozšíøením NURBS køivek. Zatímco køivka NURBS používala jednorozmìrnou interpolaci (U), u ploch je navíc pøidán d


3.1 Útlum atmosférickými plyny Rezonance molekul nekondenzovaných plynù obsažených v atmosféøe zpùsobuje útlum šíøících se elektromagnetických vln. Ab


([FHQWULFLWD 6WUPRVW


PESexcl. PODPORA PRO VÝMÌNU DAT S APLIKACÍ MICROSOFT EXCEL s využitím DDE serveru PESdde




]PHQãLWIRQW ]Y WãLWIRQW QDVWDYLWIRQW XORåLWVRXERU Y\WLVNQRXWVRXERU Y\WYR LWQRYêVRXERU




nažhavováním elektronek, takže nedochází k neúmìrnému pøetìžování filtraèních kondenzátorù pøi nábìhu anodového proudu. Polovodièový usmìròovaè vytvoø




OHGHQ ~QRU E H]HQ GXEHQ NY WHQ þhuyhq. SROROHWt


NOiYHVQLFH SVDFtKR VWURMH Í (Q Ï Á. (VF ) )SURJUDPRYDWHOQpNOiYHV\) ) 3VF 6F/ 3DX NRQWURON\ ,QV +RPH 3J8S 7DE 'HO (QG 3J'Q &DSV/ (QWHU Í 6KLIW


NOtþRYiQt. YêE U ign

4 GUIDE nástroj pro interaktivní tvorbu grafického rozhraní Kapitola 3 byla vìnována ruèní tvorbì grafických objektù Všechny grafické objekty vaší apl


Øízený pøeklad - make


Body celkem. Øešitel. GP - LOGICKÉ ÚLOHY jednotlivci (90 minut) Brno

2.4 Cykly 2. ZÁKLADY JAZYKA C




Otevøený výukový program. Interaktivní výuka. 4.2 Professional. Pøíruèka správce programu

PDWHULiO FS>-NJ ±. FS>NFDONJ ± ƒ& VW teur åhoh]r FtQ KOLQtN N HPtN. OHG DONRKRO ROHM FFD FFD SHWUROHM UWX YRGD Y]GXFK YRGQtSiUD KHOLXP


Obsah. Windows 95 je vaše. Windows si pamatují, kam co patøí. O knize 1

TERM 4MK. Univerzální regulaèní systém. Charakteristika. ZPA EKOREG s.r.o. Ústí nad Labem

P P P ) Mw Mj = = + ,P H,P H H,P H H. ww j ww j ww = + , P H j

Kapitola 3 UNIPOLÁRNÍ TRNZISTORY 3.1 Obecný popis Unipolární tranzistory s pøechodovým hradlem (JFET) MOSFET MOSFET zvláštní k

14 UKAZATELE A ØETÌZCE

než je cca 5 [cm] od obvodu LT1070, doporučuje se blokovat napětí U IN


4x kombinovaný analogový vstup s vysokou pøesností (0..10V, R, C)


Transpordéry pro pøístupové systémy RTS EM







2kapitola 2 ŠÍØENÍ VLN V ZÁSTAVBÌ PRO MOBILNÍ BUÒKOVÉ SYSTÉMY 2.1 Šíøení vln v pásmu UHF Mobilní spoj Šíøení v poloprostoru

/2*,.$ 5(6(7 Ë=(1Ë +$/7 *(1(5È ',129é & 6./ $/8. ' /,ý. ýë7$ý 5(*,675 5(*, é. 6e5,29é 5(*,675 * $.808/È725 5:0. %8',ý(/ 45(*,675 5(*


4.8 Jak jsme na tom v porovnání s jinými přístupy


PESprint. TISKOVÁ BRÁNA SYSTÉMU PES aplikace pro komunikaèní procesor - PES-CP24/PRINT


Roman Neruda a Tomáš Holan C++ BUILDER V PØÍKLADECH Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožo



8. ZÁKLADNÍ ZAPOJENÍ SPÍNANÝCH ZDROJŮ

MU-411/412 MU-811/812. 4x AIN (12 bitù), RS-485

Turnaj HALAS ligy v logických úlohách Brno


KOMUNIKAÈNÍ DDE SERVER PRO AUTOMATY MICROPEL VERZE 2.3 POPIS ROZHRANÍ A OVLÁDÁNÍ

2 PARALELNÍ ROZHRANÍ Paralelní rozhraní realizuje pøenos dat mezi vnitøní sbìrnicí øídicího systému a vnìjším prostøedím po znacích, neboli po slabiká

Redakèní systém - manuál


Ovládání a řízení kolejiště


Úvodní slovo po celou dobu dodržovali podmínky B. Charakteristika Spoleèného regionálního operaèního programu C. Pravidla pro užívání loga SROP

Úøad prùmyslového vlastnictví. s e ž á d o s t í o z á p i s d o r e j s ø í k u. Údaje o ochranné známce - oznaète køížkem

Transkript:

Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby ètenáø vidìl, jakým zpùsobem je titul zpracován a mohl se také podle tohoto, jako jednoho z parametrù, rozhodnout, zda titul koupí èi ne). Z toho vyplývá, že není dovoleno tuto ukázku jakýmkoliv zpùsobem dále šíøit, veøejnì èi neveøejnì napø. umis ováním na datová média, na jiné internetové stránky (ani prostøednictvím odkazù) apod. redakce nakladatelství BEN technická literatura redakce@ben.cz

Vytváøení sí ového diagramu z databáze: pøíklad Vzorový program popisovaný v tomto oddílu ukazuje pøíklad, jak lze vytvoøit jednoduchý sí ový diagram na základì obsahu externí databáze. Úplný zdrojový kód programu naleznete v modulu NetDB1, uloženém v souboru \DVS\VBA SOLUTIONS\NETDB.VST. Databáze NETWORK.MDB (ve Visio 5.0), resp. NETDB.MDB (Visio 2000) použitá v tomto pøíkladu byla vytvoøena v programu Microsoft Access a je rovnìž umístìna ve složce DVS. Program vytváøí výkres Visio tak, že nejprve otevøe zvolenou databázi a nastaví vlastnosti dokumentu a výkresové stránky. Poté na výkresovou stránku umístí vzorový obrazec Ethernet a pro každý záznam databáze vytvoøí jeden uzel sí ového diagramu. Pøed vytvoøením uzlu program zakáže obnovování obsahu obrazovky. Proces vytvoøení uzlu se skládá z umístìní vzorového obrazce uzlu do výkresové stránky, oznaèení instance obrazce a z pøipojení obrazce Ethernet do uzlu. Program rovnìž provádí formátování prvního øádku popisu obrazce. Obsah obrazovky se obnovuje až po vytvoøení každého uzlu diagramu, uživatel tedy uvidí celkový výsledek procesu vytvoøení uzlu sí ového diagramu, nikoli jeho jednotlivé etapy. Otevøení databáze Databázový soubor NETWORK.MDB (resp. NETDB.MDB) obsahuje jedinou tabulku pojmenovanou NetInfo. Každý záznam v tabulce obsahuje ètyøi textová pole: Name (název), Node (uzel), Dept (oddìlení) a Spec (dodatek). Pole Name a Dept se používají k oznaèení uzlù diagramu. Pole Node obsahuje název vzorového obrazce Visio uloženého v knihovnì NETDB.VSS, který má být použit pro grafické ztvárnìní daného uzlu ve výkresu. Pole Spec obsahuje další informace využitelné ve výkresu. Program Network Diagrammer (Visio 5.0 Program Network Diagrammer (NETDIAG.EXE) pøedstavuje složitìjší verzi programu popisovaného v tomto oddílu. Pokud vás zajímá, jak program Network Diagrammer pracuje, prostudujte si jeho zdrojový kód uložený v souboru MAIN.BAS ve složce \DVS\VB SOLUTIONS\ NETDIAG. Využitím metod objektù DAO (Data Access Objects), které zprostøedkovávají pøístup k externím datùm program otevøe databázi NETWORK.MDB a soubor záznamù uložený v databázi pøiøadí do objektové promìnné nazvané NetInfo: 246 KAPITOLA 12

Dim NetBase as DAO.Database Dim NetInfo as DAO.RecordSet Set NetBase = OpenDatabase(Visio.Application.Path _ & "dvs\vb solutions\netdb\network.mdb", True, True) Set NetInfo = NetBase.OpenRecordset("NetInfo", _ dpopenshapshot) Podrobnosti o pøistupování k datùm uloženým v databázi naleznete v dokumentaci Visual Basicu. Umístìní vzorového obrazce Ethernet Program zahajuje tvorbu sí ového diagramu pøevzetím vzorového obrazce Ethernet z kolekce Masters knihovního souboru a umístìním tohoto vzorového obrazce sí ového diagramu. Instance bude pozdìji umístìna s vìtší pøesností. Objekt Shape vrácený metodou Drop reprezentuje nový obrazec Ethernet ve výkresové stránce. Set Master = NetStencil.Masters("Ethernet") Set Ethernet = NetDiagram.Drop(Master, 1, 1) Obrazec Ethernet patøí do skupiny 1D obrazcù, obsahuje tedy poèáteèní a koncový bod namísto uchopovacích bodù výbìru. Program využívá metod SetBegin a SetEnd objektu reprezentujícího obrazec Ethernet k umístìní poèáteèního bodu obrazce na pozici [0.5, 2.0] a koncového bodu na pozici [7.5,2.0]. Ethernet.SetBegin.5, 2 Ethernet.SetEnd 7.5, 2 Obnovování obsahu obrazovky Po umístìní obrazce Ethernet do výkresové stránky prochází program smyèkou, v níž je pro každý záznam databáze vložen do výkresu jeden uzel sí ového diagramu. Nejprve se zamìøíme na øídicí èást smyèky, kód uvnitø smyèky bude podrobnì rozebrán pozdìji. Pøed vložením vzorového obrazce pro uzel diagramu je vypnuto automatické obnovování obsahu obrazovky, takže celý proces vytváøení uzlu probíhá skrytì a uživatel na obrazovce uvidí až celkový výsledek. Toto øešení navíc oproti režimu s povolenou volbou ScreenUpdating urychluje vykonávání pøíkazù programu. V pøípadì velmi složitých výkresù je dokonce možné vyjmout obnovu obrazovky i z této smyèky a snížit tak poèet obnovení obsahu obrazovky na minimum. TVORBA VÝKRESU VISIO Z PROGRAMU 247

NetInfo.MoveFirst XPos# = 1 Digit% = Asc("1") Visio.ScreenUpdating = False 'Umístit uzel diagramu 'Oznaèit uzel 'Pøipojit obrazec Ethernet do uzlu 'Zformátovat oznaèení uzlu Visio.ScreenUpdating = True NetInfo.MoveNext Umístìní uzlu sí ového diagramu Program provádí umístìní uzlu diagramu pomocí metody Drop. Pro každý uzel program umístí vzorový obrazec definovaný v poli Node pøíslušného databázového záznamu. Souøadnice pøedávané metodì Drop urèují umístìní pinu vzorového obrazce. V pøípadì obrazcù použitých v tomto pøíkladu pøedstavuje pin obrazce jeho støed. Pro vìtší srozumitelnost je v následujících pøíkladech zdrojových kódù opakovanì užíván poèáteèní a koncový pøíkaz øídicí smyèky. NodeType$ = NetInfo.Fields("Node") Set Master = NetStencil.Masters(NodeType$) Set Shape = NetDiagram.Drop(Master, XPos#,.875) XPos# = XPos# + 1.5 Oznaèení uzlu Program vytváøí štítek s oznaèením každého uzlu využitím polí Name a Dept databázové tabulky. Jakmile je oznaèení uzlu vygenerováno, je text pøiøazen do vlastnosti Text pøíslušného obrazce. 248 KAPITOLA 12

Label$ = NetInfo.Fields("Name") Label$ = Label$ & Chr$(13) & Chr$(10) Label$ = Label$ & NetInfo.Fields("Dept") Shape.Text = Label$ Pøipojení uzlu k obrazci Ethernet Pøímky obrazce Ethernet jsou opatøeny øídicími body, které mohou být pøipojeny k uzlùm. Program mùøe pøipojit libovolný øídicí bod obrazce Ethernet do pøipojovacího bodu uzlu. V uvedeném pøíkladu je v objektové promìnné ControlCell uložen odkaz na øídicí bod Controls.Xn obrazce Ethernet. Promìnná Digit% vybírá jeden øídicí bod pro každý uzel. Každý uzel je opatøen nìkolika pøipojovacími body, pátý pøipojovací bod je umístìn na vrcholu obrazce a použití tohoto øídicího bodu je tedy nejvýhodnìjší. Controls.X & Chr$(Digit%) Connections.X5. Pøipojení obrazce Ethernet k uzlu sí ového diagramu Program nastavuje objekt ConnectCell na buòku pátého pøipojovacího bodu obrazce pøedstavujícího uzel diagramu (Connections.X5). Poslední pøíkaz užívá metodu GlueTo k pøipojení øídicího bodu do tohoto bodu pøipojení. TVORBA VÝKRESU VISIO Z PROGRAMU 249

Set ControlCell = Ethernet.Cells("Controls.X" & _ Chr$(Digit%)) Digit = Digit + 1 Set ConnectCell = Shape.Cells("Connections.X5") ControlCell.GlueTo ConnectCell Formátování oznaèení uzlu V závìru program formátuje písmo v prvním øádku každého štítku uzlu jako tuèné. Tato akce vyžaduje ponìkud hlubší znalosti prostøedí Visio, nebo vyžaduje získání obrazce, který je souèástí skupiny, a navíc pracuje pouze s èástí textu zvoleného obrazce. Získání prvku skupiny. Obrazec uzlu diagramu pøedstavuje skupinu Visio. Pokud byl k uzlu pøiøazen štítek, nebyl pøiøazen skupinì, ale jistému èlenu skupiny, a to prvku skupiny uloženému zcela nahoøe. Aby mohl program pracovat s textem pøiøazeným k uzlu, musí získat pøístup k tomuto prvku skupiny. Skupina Visio je z pohledu Automation pøedstavována objektem Shape s kolekcí Shapes. Aby mohl program pracovat s obrazcem uloženým ve skupinì zcela nahoøe, musí nejprve získat informaci o poètu obrazcù v kolekci Shapes a poté získat odkaz na obrazec s nejvyšším poøadovým. Index = Shape.Shapes.Count Set TextShape = Shape.Shapes(Index) 250 KAPITOLA 12

Práce s èástí textu obrazce. Program potøebuje pro práci s urèitou èástí textu obdržet objekt Characters. Tento objekt je možné získat pomocí vlastnosti Characters. Hodnoty vlastností Begin a End objektu Character urèují poèáteèní a koncový znak vybrané èásti textu. V našem pøípadì je tøeba vybrat poèátek textu až do výskytu prvního znaku nového øádku. Inicializaèní hodnota vlastnosti Begin je rovna nule, takže tuto hodnotu není tøeba nastavovat, hodnota vlastnosti End je nastavena na jeden znak pøed znakem nového øádku (Chr$(13)). Po nastavení objektu Characters na požadovanou èást textu provede program formátování znakù na tuèné písmo. Konstanty vischaracterstyle a visbold jsou definovány v typové knihovnì Visio. Set Chars = TextShape.Characters Chars.End = InStr(TextShape.Text, Chr$(13)) - 1 Chars.CharProps(visCharacterStyle) = visbold Ethernet AndyJ Product Development CindyM Creative Services KeriD Technical Support MitchS Product Development JohnF Marketing Diagram vytvoøený z databáze NETWORK.MDB (Visio 5.0), resp. NETDB.MDB (Visio 2000). TVORBA VÝKRESU VISIO Z PROGRAMU 251