Component Object Model
|
|
- Tereza Pavlíková
- před 6 lety
- Počet zobrazení:
Transkript
1 vjj 1 Component Object Model COM = SW stavebnice jazykově nezávislé objekty Win32 API extension
2 vjj 2 Drag and Drop sada COM protokolů
3 vjj 3 Drag-and-Drop Klient SYSTEM Server Okno DoDragDrop IDropSource IDropTarget IDataObject Dokument mujdatovyobjekt
4 vjj 4 Drag-and-Drop target: pro okno které by mělo být schopno přijímat COM objekty prostřednictvím Drag-and-Drop RegisterDragDrop (hwindow, pidroptarget);
5 vjj 5 Drag-and-Drop source: nejčastěji v reakci na specifickou činnost uživatele pro odstartování Drag-and-Drop, od té chvíle patří myš i klávesnice funkci DoDragDrop!!! case WM_LBUTTONDOWN : pidataobject = new mujdatovyobjekt(...) ; DoDragDrop (pidataobject, pidropsource,..
6 vjj 6 Drag-and-Drop DoDragDrop - systémová knihovna OLE2 (naštěstí to nemusím programovat já!!!!!) zjistí, nad kterým oknem kurzor zrovna je case WM_MOUSEMOVE :... WindowFromPoint (... ) ;... podle svých tabulek zjistí, jestli má toto okno zaregistrovaný interface IDropTarget pokud ano, zahájí komunikaci s objekty IDropSource a IDropTarget
7 vjj 7 vzhled kurzoru zobrazení správného informačního kurzoru např. pro okamžik, kdy kurzor přenášející COM objekt přijde nad zaregistrované okno: DoDragDrop zavolá: pidroptarget->dragenter( pidataobject, KeyState, point, peffect ) ; aplikace, které okno patří, se podívá na pidataobject a odpoví do peffect, co by byla ochotna s takovým objektem provést source aplikace rozhoduje o vzhledu kurzoru pro danou akci pidropsource->givefeedback( peffect ) ; GiveFeedback (... ) { return DRAGDROP_S_USEDEFAULTCURSORS ; }
8 vjj 8 DoDragDrop při pohybu kurzoru nad zaregistrovaným oknem IDropTarget -> DragOver když kurzor opouští zaregistrované okno IDropTarget -> DragLeave
9 vjj 9 při změně stavu klávesnice nebo tlačítek myši DoDragDrop se zeptá zdrojové aplikace, jak na to má reagovat IDropSource -> QueryContinueDrag odpověď S_OK znamená "nic se neděje", tj. že danou změnu stavu klávesnice nebo tlačítek myši má funkce DoDragDrop prostě ignorovat a v Drag-and-Drop se má pokračovat. pro zaregistrované okno to znamená jen obyčejný pohyb kurzoru na oknem: IDropTarget -> DragOver pokud je odpověď DRAGDROP_S_DROP uvědomí funkce DoDragDrop zaregistrované okno o tom, že na ně byl položen datový COM objekt IDropTarget -> Drop (pidataobject pokud je odpověď DRAGDROP_S_CANCEL uvědomí funkce DoDragDrop zaregistrované okno prostě jen o tom, že kurzor s COM objektem z něho zmizel IDropTarget -> DragLeave
10 .NET Drag-and-Drop vjj 10
11 vjj 11.NET využívá COM implementaci Drag-and-Drop objekty, u kterých uživatel oprávněně očekává podporu Drag-and-Drop, např. TextBox, ji mají vesměs již standardně zabudovánu pro ostatní vizuální objekty, např. Rectangle, jsou k dispozici drag source: metoda DragDrop.DoDragDrop a události GiveFeedback, QueryContinueDrag drag target: vlastnost AllowDrop a události DragEnter, DragOver, DragLeave, Drop
12 vjj 12 XAML rectangle as a drag source <Rectangle Fill="Green" Stroke="Black" Height="200" Width="400" Margin="10" MouseMove="my_MouseMove" />
13 vjj 13 { } drag source: MouseMove private void my_mousemove( object sender, MouseEventArgs e) Rectangle rctngl = sender as Rectangle; if (rctngl!= null && { } e.leftbutton == MouseButtonState.Pressed) DragDrop.DoDragDrop( rctngl, // drag source object rctngl.fill.tostring(), // dragged data object DragDropEffects.Copy); // first value for GiveFeedback query
14 vjj 14 defaults for drag source GiveFeedback event handler missing => default system feedback for user during entire drag-and-drop process QueryContinueDrag event handler missing => default reactions on key/button states during entire drag-and-drop process
15 vjj 15 XAML rectangle as a drag target <Rectangle Fill="Green" Stroke="Black" Height="200" Width="400" Margin="10" /> AllowDrop ="True" DragEnter ="my_dragenter" DragOver ="my_dragover" DragLeave ="my_dragleave" Drop ="my_drop"
16 vjj 16 drag target: AllowDrop property true:.net runtime zaregistruje (RegisterDragDrop) objekt do seznamu objektů schopných reagovat na události vyvolávané funkcí DoDragDrop jako případný drag target.net runtime volá event handlery DragEnter, DragOver, DragLeave, Drop objektu ve své implementaci COM rozhraní IDropTarget
17 vjj 17 Drag target: DragEnter private void my_dragenter( object sender, DragEventArgs e ) { Rectangle rctngl = sender as Rectangle; if ( rctngl!= null ) { // Save the current Fill brush so that you can revert back to this value in DragLeave. _previousfill = rctngl.fill; // If the DataObject contains string data, extract it. if( e.data.getdatapresent( DataFormats.StringFormat ) ) { string datastring = (string)e.data.getdata( DataFormats.StringFormat ); } } } // If the string can be converted into a Brush, convert it. BrushConverter converter = new BrushConverter( ); if( converter.isvalid( datastring ) ) { Brush newfill = (Brush)converter.ConvertFromString( datastring ); rctngl.fill = newfill; }
18 vjj 18 Drag target: DragOver private void my_dragover( object sender, DragEventArgs e ) { e.effects = DragDropEffects.None; // If the DataObject contains string data, extract it. if( e.data.getdatapresent( DataFormats.StringFormat ) ) { string datastring = (string)e.data.getdata( DataFormats.StringFormat ); } } // If the string can be converted into a Brush, allow copying. BrushConverter converter = new BrushConverter(); if( converter.isvalid( datastring ) ) { e.effects = DragDropEffects.Copy DragDropEffects.Move; }
19 vjj 19 Drag target: DragLeave private void my_dragleave( object sender, DragEventArgs e ) { Rectangle rctngl = sender as Rectangle; if( rctngl!= null ) { rctngl.fill = _previousfill; } }
20 vjj 20 Drag target: Drop private void my_drop( object sender, DragEventArgs e ) { Rectangle rctngl = sender as Rectangle; if( rctngl!= null ) { // If the DataObject contains string data, extract it. if( e.data.getdatapresent( DataFormats.StringFormat ) ) { string datastring = (string)e.data.getdata( DataFormats.StringFormat ); } } } // If the string can be converted into a Brush, // convert it and apply it to the rectangle. BrushConverter converter = new BrushConverter( ); if( converter.isvalid( datastring ) ) { Brush newfill = (Brush)converter.ConvertFromString( datastring ); rctngl.fill = newfill; }
21 IDataObject vjj 21
22 vjj 22 COM metody SetData GetFormats GetData GetDataPresent
23 vjj 23 { }.NET implementace private void my_mousemove( object sender, MouseEventArgs e) Rectangle rctngl = sender as Rectangle; if (rctngl!= null && { } e.leftbutton == MouseButtonState.Pressed) DragDrop.DoDragDrop( rctngl, // drag source object rctngl.fill.tostring(), // dragged data object DragDropEffects.Copy); // first value for GiveFeedback query
24 vjj 24 stavebnicové soubory Compound Documents (složený, skládaný)
25 vjj 25 NTFS - Stream C:\> ECHO "text" > SOUBOR.txt:myStream C:\> MORE < SOUBOR.TXT C:\> MORE < SOUBOR.TXT:myStream "text"
26 vjj 26 NTFS - Stream C:\> COPY 500GB.mp4 > SOUBOR.txt:myStream
27 vjj 27 stavebnicový soubor soubor na disku myfile.dat CreateStream Stream CreateStorage Storage Root Storage Stream CoCreateDocFile CreateStorage Storage Storage cizí objekt Stream Stream
28 vjj 28 vytvoření objektu souboru CoCreateDocFile (, &prootstorage) ;
29 vjj 29 základ vytvoření "podadresáře" na libovolné úrovni pstorage->createstorage (, &psubstorage) ; vytvoření datového "souboru" na libovolné úrovni pstorage->createstream (, &pnewsubstream) ;
30 vjj 30 práce s "podadresářem" psubstorage->enumelements (... ) ; psubstorage->openstorage ("Name",, &pnewsubstream) ; psubstorage->openstream ("Name",, &pnewsubstream) ;
31 vjj 31 práce s "podsouborem" psubstream->write (... ) ; psubstream->read (... ) ;
32 COM structured storage vjj 32
33 vjj 33 Object in Structured Storage Klient Dokument Server pidataobject IDataObject Soubor IRootStorage IPersistStorage IStorage Object IStream
34 vjj 34 PersistStorage klient: má ukazatel pidataobject na cizí datový objekt zeptá se ho, jestli se umí uložit do stavebnicového souboru pidataobject->queryinterface (IID_PersistStorage, &ppersiststorage) ; server implementace IDataObject: QueryInterface (... ) { ppersiststorage = this ; return S_OK ; }
35 InitNew klient: pstorage->createstorage (.., &psubstorage) ; ppersiststorage->initnew (&psubstorage) ; server - implementace IDataObject: InitNew (&psubstorage) { psubstorage->createstream (.., &pnewsubstream) ; } pnewsubstream->write ( psubstorage->createstorage (.., &pnewsubstorage ) ;... return S_OK ; vjj 35
36 vjj 36 klient: File Save ppersiststorage->save (&psubstream,...) ; server - implementace IPersistStorage:... Save (&psubstream,... ) { psubstream->write (... ) ; // psubstream->commit (... ) ; psubstream->release (... ) ; psubstorage->commit (... ) ; psubstorage->release (... ) ; return S_OK ; } klient: prootstorage->commit (... ) ;... ppersiststorage->savecompleted (... ) ;
37 vjj 37 klient: File Close ppersiststorage->save (&psubstream,...) ; server - implementace IPersistStorage:... Save (&psubstream,... ) { psubstream->write (... ) ; // psubstream->commit (... ) ; psubstream->release (... ) ; psubstorage->commit (... ) ; psubstorage->release (... ) ; return S_OK ; } klient: prootstorage->commit (... ) ; prootstorage->release (... ) ;
38 vjj 38.NET & Compound File
39 vjj 39 konec (?) to byly jen dva jednoduché protokoly, COM jich má celkem dost
40 COM protokoly vjj 40
41 COM backgrounds vjj 41
42 vjj 42 rodokmen DDE OLE (Dynamic Data Exchange through GlobalAlloc) (Object Linking and Embedding) OLE (OLE 2) COM (Component Object Model) ActiveX DCOM (Distributed COM) COM+.NET
43 vjj 43 literatura Kraig Brockschmidt: Inside OLE 2, Microsoft Press 1994, ISBN stran Guy Eddon, Henry Eddon: Inside Distributed COM Microsoft Press 1998, ISBN X
44 vjj 44 COM objekt objekt = set of interfaces Interface - sada metod realizujících jednu stranu, nebo její autonomní část, jednoho COM protokolu vícenásobná dědičnost prvotní představa byla udělat něco, jako je v současnosti.net, ale kompletní informace o objektech nebyly zveřejňovány prostřednictvím manifestu v assembly, ale byly ukládány v Registry COM dll: Register Component by regsvr32.net dll: Register Assembly by gacutil
45 vjj 45 mydllreg.reg volání Regsvr32 přímo do lokálního menu dll knihoven Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\dllfile\shell\ Register \"%1\"" [HKEY_CLASSES_ROOT\dllfile\shell\ Unregister \"%1\" /u"
46 vjj 46 UUID, GUID, CLSID, IID celý svět vs. celý vesmír
47 vjj 47 GUID objekty a rozhraní identifikovány ne jmény, ale pomocí 128-bitových konstant Globally Unique IDentifier formát podle standardu Open Software Foundation (OSF) { ABCDEF} Microsoft: Universally Unique IDentifier typedef struct { DWORD Data1 ; WORD Data2 ; WORD Data3 ; BYTE Data4[8] ; } GUID ;
48 vjj 48 Pojmenování GUID const IID IID_IMujPokus = { 0x , 0x1234, 0x1234, {0x12, 0x34, 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB}}; DEFINE_GUID (IID_IMujPokus, 0x , 0x1234, 0x1234, 0x12, 0x34, 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB) ;
49 GUIDGEN.EXE GUI Generování (dříve i UUIDGEN.EXE - B/W prompt) GUID v potřebném formátu pro copy-and-paste C:\Program Files (x86)\microsoft Visual Studio 14.0\Common7\Tools // pgm - kompatibilní verze: RPC_STATUS RPC_ENTRY UuidCreateSequential ( UUID *Uuid ); // pgm - bezpečná verze (bez MAC) RPC_STATUS RPC_ENTRY UuidCreate ( UUID *Uuid ); UuidToString, UuidFromString GUID *pguid; HRESULT hr; hr = CoCreateGuid( &pguid ); vjj 49
50 GUIDgen.exe vjj 50
51 vjj 51 je jich dost každý člověk na Zemi může vygenerovat cca 100 miliard hodnot každou vteřinu po dobu cca 10 až 20 miliard let (budoucnost sluneční soustavy se odhaduje na cca 4,5 miliardy let) [lidí] * [hodnot/sec] * 31, [sec/rok] * [roků]
52 struktura COM objektu vjj 52
53 vjj 53 struktura COM object DATA FUNCTIONS FUNCTIONS FUNCTIONS
54 interface vjj 54
55 vjj 55 Interface abstraktní třídy ("pure virtual" metody) předdefinované vs. vlastní (jen výjimečně) předdefinovaných je přes 60 IUnknown povinně implementované rozhraní všechna ostatních rozhraní jsou od něj odvozena
56 vjj 56 struktura COM object FUNCTIONS FUNCTIONS FUNCTIONS DATA IUnknown IDataObject IDropSource e.g. text
57 vjj 57 COM objekt class mujobjekt : public IRozhraniA, //metody A1, A2 public IRozhraniB //metody B1, B2 { private : DWORD m_cref ; public : MujObjekt( void ); ~MujObjekt( void ); // IUnknown STDMETHODIMP QueryInterface(REFIID,PPVOID); STDMETHODIMP_(ULONG) AddRef(void); STDMETHODIMP_(ULONG) Release(void); // IRozhraniA STDMETHODIMP A1(DWORD); STDMETHODIMP_(DWORD) A2(void); // IRozhraniB STDMETHODIMP B1(void); STDMETHODIMP_(DWORD) B2(DWORD); }
58 vjj 58 konstruktor, AddRef mujobjekt::mujobjekt( void ) { m_cref = 0L; return; } STDMETHODIMP_(ULONG) mujobjekt::addref( ) { return ++m_cref; }
59 vjj 59 Release STDMETHODIMP_(ULONG) mujobjekt::release( ) { if ( --m_cref == 0 ) { delete this ; g_cobj-- ; return 0 ; } return m_cref ; }
60 vjj 60 QueryInterface STDMETHODIMP mujobjekt::queryinterface (REFIID parm1, PPVOID parm2) { } if (parm1 == IID_IUnknown) *parm2 = (PUNKNOWN) this ; else if (parm1 == IID_IRozhraniA) *parm2 = (PROZHRANIA) this ; else if (parm1 == IID_IRozhraniB) *parm2 = (PROZHRANIB) this ; else { *parm2 = NULL ; return E_NOINTERFACE ; } (*parm2)->addref() ; return S_OK ; // nebo S_FALSE
61 vjj 61 vytvoření instance COM objektu kompletní COM objekt = COM objekt + ClassFactory
62 vjj 62 Vytvoření jediné instance CoCreateInstance ((REFCLSID) CLSID_objekt, (IUnknown*) punkouter, (DWORD) CLSCTX_typ_modulu, (REFIID) IID_rozhraní, (PPVOID) &pirozhraní) ;
63 vjj 63 Vytvoření více instancí CoGetClassObject (CLSID_objekt, CLSCTX_typ_modulu, NULL, IID_ClassFactory, (PPVOID) &piclassfactory) ; piclassfactory->createinstance (...
64 vjj 64 DLL pro každou třídu implementovaných COM objektů musí implementovat a exportovat funkci DllGetClassObject ( REFCLSID x_rclsid, REFIID x_riid, PPVOID x_ppv) nevrací pointer na požadovaný objekt!!!!! vrací pointer na objekt ClassFactory - proč????? funkce DllGetClassObject nemůže zavolat přímo konstruktor objektu, protože nezná individuální kombinaci jeho parametrů místo toho tedy zavolá univerzální ClassFactory příslušnou k danému objektu ClassFactory zná všechny parametry konstruktoru (např. pro C++ objekt, který COM objekt implementuje)
65 vjj 65 EXE musí pro každou implementovanou třídu objektů, zaregistrovat ClassFactory, tj. umožnit systému přístup ke ClassFactory pro objekt s požadovaným CLSID CoRegisterClassObject (CLSID_Obj, (PUNKNOWN) piclassfactory, CLSTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE, & dwregco) ;
66 ClassFactory 1/2 STDMETHODIMP ClassFactoryProMujObjekt::CreateInstance( PUNKNOWN parm1, REFIID parm2, PPVOID parm3) { PMUJOBJEKT pobj ; HRESULT hr ; if (parm1!= NULL &&!IsEqualIID(parm2, IID_IUnknown)) { *parm3 = NULL ; return E_NOINTERFACE ; } vjj 66
67 vjj 67 ClassFactory 2/2 pobj = new mujobjekt ( parm1 ) ; if (pobj == NULL) { *parm3 = NULL ; return E_OUTOFMEMORY ; } hr = pobj->queryinterface ( parm2, parm3 ) ; if ( FAILED(hr) ) delete pobj ; else g_cobj++ ; return hr ; }
68 skládání vjj 68
69 vjj 69 data + methods COM object FUNCTIONS FUNCTIONS FUNCTIONS DATA IUnknown IDataObject IDropSource e.g. text C++ object C# object C
70 vjj 70 data + methods COM object FUNCTIONS DATA IUnknown e.g. text C++ object COM object FUNCTIONS IDataObject C# object COM object FUNCTIONS IDropSource C
71 vjj 71 jednoduchý objekt IUnknown QueryInterface AddRef Release InterfaceC InterfaceD
72 vjj 72 skládání Řídící COM objekt : IUnknown QueryInterface AddRef Release Interface A Interface B Interface C Interface D Podřízený COM objekt : IUnknown QueryInterface AddRef Release InterfaceC InterfaceD
73 vjj 73 agregovatelný objekt Vnější C++ objekt : IUnknown QueryInterface AddRef Release Vnitřní C++ objekt : IUnknown QueryInterface AddRef Release InterfaceC InterfaceD
74 vjj 74 agregace Řídící COM objekt : Vnější C++ objekt : IUnknown QueryInterface AddRef Release Vnitřní C++ objekt : IUnknown QueryInterface AddRef Release InterfaceA InterfaceB Podřízený COM objekt : Vnější C++ objekt : IUnknown QueryInterface AddRef Release Vnitřní C++ objekt : IUnknown QueryInterface AddRef Release InterfaceC InterfaceD
75 vjj 75 RPC jak využít objekt získaný prostřednictvím Drag-and-Drop? jak dokáže Visual Studio ukázat metody objektu z právě staženého DLL?
76 vjj 76 Remoting, Automation Remoting Programability Automation
77 vjj 77 Remoting, Automation Remote Control Remoting Programability Automation
78 vjj 78 Remoting, Automation Remote Control dálkové ovládání Remoting Programability Automation
79 vjj 79 Remoting, Automation Remote Control dálkové ovládání Remoting používání dálkového ovládání Programability Automation
80 vjj 80 Remoting, Automation Remote Control dálkové ovládání Remoting používání dálkového ovládání Programability možnost naprogramovat dálkové ovládání, využití Remotingu v programu Automation dálkové ovládání programem
81 vjj 81 zpřístupnění objektu publikace informací o implementovaných metodách v implementovaných rozhraních IDispatch Type Library duální rozhraní
82 vjj 82 IDispatch rozhraní umožňující dynamické zjišťování vlastností objektu cf..net Manifest & Reflection
83 vjj 83 Pure Automation: IDispatch Přístup ke všem (nestandardním) metodám (nestandardních) rozhraní objektu implementace IDispatch byla nutná pro zobrazení vlastností objektu např. ve Visual Studiu GetTypeInfoCount GetTypeInfo LoadRegTypeLib GetTypeInfoOfGuid GetIDsOfNames DispGetIDsOfNames Invoke
84 vjj 84 Duální rozhraní duální rozhraní: IDispatch + Type Library dynamické zjišťování vlastností objektu: IDispatch statické zabudování využití objektu: slinkování s Type Library
85 vjj 85 Type Library informace o implementovaných (nestandardních) metodách lze publikovat v Type Library cf..net Manifest & Reflection
86 vjj 86 import "unknwn.idl" ; Type Library IDL Interface Description Language / soubor s popisem objektu [ object,uuid( ), oleautomation ] interface ImojeRozhrani : IUnknown { HRESULT mojemetoda ([in] int i, [out, retval] int* retval) ; } [ uuid( ), helpstring("type Library - muj pokus"), version(1.0) ] library mojekomponenta { importlib("stdole32.tlb") ; interface ImojeRozhrani ; [ uuid( ) ] coclass mujpokus { interface ImojeRozhrani ; } } ;
87 vjj 87 Type Library překladač MIDL vygeneruje "Type Library". je nutné zaregistrovat "Type Library" a všechna rozhraní v Registry. HKEY_CLASSES_ROOT\TypeLib \{ } GUID version number path to the library flags path to the directory with the help files HKEY_CLASSES_ROOT\Interface \{ } Base Interface Num Methods ProxyStubClsid32 TypeLib
Component Object Model
15.11.2018 vjj 1 Component Object Model COM = SW stavebnice jazykově nezávislé objekty Win32 API extension 15.11.2018 vjj 2 Drag and Drop sada COM protokolů 15.11.2018 vjj 3 Drag-and-Drop Klient SYSTEM
VíceArchitektura COM. Historie Component Object Model (COM) Komunikace s komponentami Rozhraní komponent COM komponenty v.net.
Architektura COM doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Historie Component Object Model (COM)
VíceSdílení dokumentů ve stávajícím informačním systému
VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra aplikované matematiky Sdílení dokumentů ve stávajícím informačním systému 2006 Prohlášení diplomanta Prohlašuji, že jsem
VíceKomponenty v.net. Obsah přednášky
doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Rozdíl mezi COM a.net Distribuce komponent Programování
VíceDiplomová práce Průmyslová automatizace s využitím OPC
České vysoké učení technické v Praze fakulta elektrotechnická katedra řídicí techniky Diplomová práce 2003 i Zadávací formulář ii Prohlášení Prohlašuji, že jsem svou diplomovou práci vypracoval samostatně
VíceGenerické programování
Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =
Více1 - Úvod do platformy.net. IW5 - Programování v.net a C#
1 - Úvod do platformy.net IW5 - Programování v.net a C# Strana 1 Obsah přednášky Objektově orientované paradigma.net Framework Základní rysy jazyka C# Strana 2 Objektová orientace C# implementuje základní
VíceTŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);
TŘÍDY POKRAČOVÁNÍ Události pokračování public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); class Bod private int x; private int y; public event ZmenaSouradnicEventHandler ZmenaSouradnic;
VíceRMI - Distribuované objekty v Javě
Vysoká škola báňská - Technická univerzita Ostrava 30. března 2009 Osnova Co je to RMI? 1 Co je to RMI? 2 Vnější pohled Vrstvy RMI Stub & Skeletons Layer Remote Reference Layer Transport Layer Pojemnování
VíceZáklady jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní
Základy jazyka C# doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Architektura.NET Historie Vlastnosti
VíceJazyk C# (seminář 3)
Jazyk C# (seminář 3) Pavel Procházka KMI October 8, 2014 Motivace Největší využití v programování okenních aplikací a GUI knihoven. Data reprezentujeme pomocí objektů (tříd), máme tedy ucelený pohled na
VíceJakub Čermák <jakub@jcermak.cz> http://www.jcermak.cz. Microsoft Student Partner
Jakub Čermák http://www.jcermak.cz Microsoft Student Partner Úvod, příklady použití, trocha teorie Struktura aplikace Typy obecně, primitivní typy, speciální typy Podmínky, cykly, namespaces
VíceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta
VícePREPROCESOR POKRAČOVÁNÍ
PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
Víceios Cvičení RSS čtečka
strana 1 ios Cvičení RSS čtečka Jiří Kamínek Kaminek.jiri@stoneapp.com strana 2 Vytvoření nového projektu v XCode Název RSSLesson Navigation-based Application use Core Data for storage nezaškrtávat strana
VíceNetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
NetBeans platforma Aplikační programování v Javě (BI-APJ) - 7 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme
VíceJak importovat profily do Cura (Windows a
Jak importovat profily do Cura (Windows a macos) Written By: Jakub Dolezal 2019 manual.prusa3d.com/ Page 1 of 10 Step 1 Stažení Cura profilů V tomto návodu se dozvíte, jak importovat a aktivovat nastavení
VíceÚvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39
Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy
VíceNPRG031 Programování II 1 / :25:46
NPRG031 Programování II 1 / 26 28. 2. 2018 11:25:46 Objekty Svět se skládá z objektů! konkrétní x abstraktní hmatatelné x nehmatatelné (letadlo) x (chyba v programu) Objekty mohou obsahovat jiné objekty
VíceNMIN201 Objektově orientované programování 1 / :36:09
NMIN201 Objektově orientované programování 1 / 26 8.10.2013 15:36:09 Objekty Svět se skládá z objektů! konkrétní x abstraktní hmatatelné x nehmatatelné (letadlo) x (chyba v programu) Objekty mohou obsahovat
Více14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
VíceSOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ
SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ Vstupy a výstupy pokračování Kódování textů Texty (řetězce nebo znaky) v jazyce C# jsou v paměti uloženy v kódování označovaném běžně Unicode (kódová stránka 1200).
VíceJazyk C# (seminář 6)
Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceČipové karty Lekařská informatika
Čipové karty Lekařská informatika Následující kód je jednoduchou aplikací pro čipové karty, která po překladu vytváří prostor na kartě, nad kterým jsou prováděny jednotlivé operace a do kterého jsou ukládány
Více20. Projekt Domácí mediotéka
Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server
ADMINISTRACE POČÍTAČOVÝCH SÍTÍ OPC Server Funkce a využití v průmyslové automatizaci Jiří NOSEK 2011 Co je OPC Server? OPC = Open Process Control (původně OLE for Process Control) sada specifikací průmyslového
VíceAbstraktní datové typy: zásobník
Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní
VíceOsnova přednášky. Programové prostředky řízení Úvod do C# II. Přístup ke členům. Členy (Members)
Osnova přednášky Programové prostředky řízení Úvod do C# II. Členy (Members) Jmenné prostory (Namespaces) Třídy (Classes) Struktury (Structs) Pavel Balda Západočeská univerzita v Plzni, FAV, KKY 2 Členy
VíceIntegrace OpenOffice.org a Javy. CZJUG, , Robert Vojta
Integrace OpenOffice.org a Javy CZJUG, 15.12.2008, Robert Vojta Obsah Část 1 - Teorie Úvodní informace, definice pojmů Dokumentace, Java Language Binding Pomocné nástroje Část 2 - Praktické ukázky Lokální
VíceEnterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)
Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Enterprise Java
VíceKonstruktory a destruktory
Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,
VíceStruktura třídy, operátory, jednoduché algoritmy, junit. Programování II 2. cvičení Alena Buchalcevová
Struktura třídy, operátory, jednoduché algoritmy, junit 2. cvičení Alena Buchalcevová Cíle cvičení seznámit se s rozhraním (interface) v Javě seznámit se s testováním při vývoji (makety, JUnit) naučit
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceJihočeská univerzita v Českých Budějovicích
Jihočeská univerzita v Českých Budějovicích Pedagogická fakulta Katedra informatiky Propojení.NET s MS Office Bakalářská práce Daniel Domin Vedoucí práce : Ing. Petr Vaněček, Ph.D. České Budějovice 2007
Více2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
VícePokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody
Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody Dynamická alokace paměti Jazyky C a C++ poskytují programu možnost vyžádat si část volné operační paměti pro
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceDynamicky vázané metody. Pozdní vazba, virtuální metody
Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:
VíceUJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/
UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok
VícePB161 Základy OOP. Tomáš Brukner
PB161 Základy OOP Tomáš Brukner Sylabus - Co je to OOP? Jaké jsou základní principy OOP? Jak se projevují v C++? https://cs.wikipedia.org/wiki/strahovská_knihovna SELECT * FROM books WHERE pages < 250
VíceZápis programu v jazyce C#
Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač
VíceIRAE 07/08 Přednáška č. 7. Začátek (head)
Fronta (Queue) FIFO First In First Out (první dovnitř první ven) Vložení položky (Enqueue) Vyjmutí položky (Dequeue) Přidávání prvků Konec (Tail) Začátek (head) na jedné straně (konec) Odebírání prvků
VícePlatforma.NET 4. hodina dnes to bude ideologické
Platforma.NET 4. hodina dnes to bude ideologické Aleš Keprt Ales.Keprt@upol.cz říjen 2006 Doporučená literatura 1. Duffy J. Professional.NET Framework 2.0. Wrox Press, 2006. 2. Wikipedia.NET Framework
VíceVytvoření.NET komponenty (DLL) ve Visual Studiu
Jak vytvořit.net komponentu (DLL, COM Class) pro Excel? A proč? A co k tomu budeme potřebovat? Velký Visual Basic (dnes VB.NET) se rozešel s Visual Basicem pro aplikace (VBA) před cca 16 lety. A i když
VíceZásuvný modul pro Microsoft Visual Studio. Pavel Plasz
České vysoké učení technické v Praze Fakulta elektrotechnická ČVUT FEL katedra počítačů Bakalářská práce Zásuvný modul pro Microsoft Visual Studio Pavel Plasz Vedoucí práce: Ing. Tomáš Zahradnický Studijní
VíceTřídy. Instance. Pokud tento program spustíme, vypíše následující. car1 má barvu Red. car2 má barvu Red. car1 má barvu Blue.
23. Třídy, generické třídy, instance, skládání, statické metody a proměnné. Zapouzdření, konstruktory, konzistence objektu, zpřístupnění vnitřní implementace, modifikátory public a private. Polymorfismus,
VíceRMI Remote Method Invocation
2. cvičení RMI Remote Method Invocation 2007/09 ver.2.0 1 RMI co to je? vyvolání metody z jiné JVM lokalizace vzdáleného objektu komunikace se vzdálenými objekty přenos objektu v bytecode typicky klient
VícePlatforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13
Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace
VíceMediator motivace. FontDialog. závislosti mezi jednotlivými ovládacími prvky jsou netriviální
Mediator Mediator motivace FontDialog závislosti mezi jednotlivými ovládacími prvky jsou netriviální Mediator - motivace zná pomůcky, koordinuje interakce místo distribuce chování do jednotlivých pomůcek
VíceIII/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu EU-OPVK-VT-III/2-ŠR-303 Druh didaktického materiálu DUM Autor RNDr. Václava Šrůtková Jazyk čeština
VíceStatické proměnné a metody. Tomáš Pitner, upravil Marek Šabo
Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)
VíceProjekty pro výuku programování v jazyce Java
JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Pedagogická fakulta Katedra informatiky Akademický rok: 2006/2007 TEZE BAKALÁŘSKÉ PRÁCE Projekty pro výuku programování v jazyce Java Jméno: František Přinosil
VíceDědění, polymorfismus
Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá
VícePoužití inteligentních značek s informačními službami
Použití inteligentních značek s informačními službami Jan Fransen Podokno úloh Zdroje informací v aplikacích sady Microsoft Office 2003 umožňuje uživatelům snadno prohledávat množství integrovaných či
VíceCAD library. Spuštění aplikace. Práce s aplikací. Popis okna
CAD library Aplikace CAD library je určena pro zobrazení schémat a pohledů na přístroje firmy Schneider Electric (obsahuje také knihovnu elektrotechnických značek pro všeobecné použití). Zobrazené výkresy
VíceSeminář Java IV p.1/38
Seminář Java IV Seminář Java IV p.1/38 Rekapitulace Deklarace tříd Proměnné, metody, konstruktory, modifikátory přístupu Datové typy primitivní, objektové, pole Dědičnost Řídící konstrukce Podmínky, cykly
VíceBridge. Známý jako. Účel. Použitelnost. Handle/Body
Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době
VíceState. Známý jako. Účel. Použitelnost. Stav, Object for States. umožňuje objektu měnit svoje chování v závislosti na stavu objekt mění svou třídu
State State Známý jako Stav, Object for States Účel umožňuje objektu měnit svoje chování v závislosti na stavu objekt mění svou třídu Použitelnost chování objektu závisí na jeho stavu, který se mění za
VícePočítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem
Vícetypová konverze typová inference
Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie
VíceSOUBORY, VSTUPY A VÝSTUPY
SOUBORY, VSTUPY A VÝSTUPY Soubory, adresáře a disky Soubory Pro práci se soubory slouží statická třída System.IO.File a nestatická třída System.IO.FileInfo. V prostoru jmen System.IO jsou také definovány
VíceProgramování v C++ 2, 4. cvičení
Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva
VíceOPC server pro úlohy automatické regulace. Bc. Jaroslav Gajzler
OPC server pro úlohy automatické regulace. Bc. Jaroslav Gajzler Diplomová práce 2006 ABSTRAKT Diplomová práce se zabývá technologií OPC, existujícími specifikacemi, konfigurací a použitím této technologie
VíceČÁST 1. Základy 32bitového programování ve Windows
Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25
VíceJazyk C++ I. Šablony
Jazyk C++ I Šablony AR 2013/2014 Jazyk C++ I Úvod Zatím známe programovací styly: Strukturované programování, Objektově orientované programovaní. AR 2013/2014 Jazyk C++ I 2 Příklady void Print(const int&
VícePŘETĚŽOVÁNÍ OPERÁTORŮ
PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako
VíceSoftwarové komponenty a Internet
Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty
Vícevjj 1. events, triggers.net
13.12.18 vjj 1 events, triggers.net 13.12.18 vjj 4 Triggers Umožňují definovat reakci na vzniklou situaci Event Trigger invoked when a RoutedEvent is raised "
VíceVýchozí a statické metody rozhraní. Tomáš Pitner, upravil Marek Šabo
Výchozí a statické metody rozhraní Tomáš Pitner, upravil Marek Šabo Výchozí a statické metody rozhraní Java 8 přidává ohledně metod v rozhraní nové možnosti. Neuvidíme je tedy ve starém kódu a mnozí vývojáři
VíceNovinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com
Novinky ve Visual Studio 2010 Tomáš Kroupa Tomas.Kroupa@hotmail.com O čem si dnes řekneme Visual studio 2010 (beta 2) Jazyk C# 4.0 ASP.NET 4.0.NET 4.0 Visual Studio 2010 Beta 2 Jak získat Testovací verze
VíceIRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33
Objekt jako proměnná Objekty a metody Objekt = proměnná referenčního typu vznik pomocí new, chování viz pole jako referenční proměnná minulý semestr Stack Heap objekt ref this 10 20 atr1 atr2 jinyobjekt
VíceDistribuované systémy a výpočty
Distribuované systémy a výpočty X36DSV Jan Janeček XML-RPC jednoduchá definice www.xmlrpc.com implementace obvykle opřené o XML parser X36DSV - Distribuované systémy a výpočty (3) 2 XML-RPC jednoduché
Více2. 3. 2009 Programátorské večery. Tomáš Herceg Microsoft Student Partner http://www.vbnet.cz
2. 3. 2009 Programátorské večery Tomáš Herceg Microsoft Student Partner http://www.vbnet.cz Představení služeb Praktické ukázky Messenger (Presence API) Search Writer (MetaWeblog API) Writer (Pluginy)
VíceÚvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25
Programování v C# Úvodní slovo 1 / 25 Obsah přednášky Seznámení s předmětem Co je.net Vlastnosti.NET 2 / 25 Kdo je kdo Petr Vaněček vanecek@pf.jcu.cz J 502 Václav Novák vacnovak@pf.jcu.cz?? Při komunikaci
VíceNové jazykové brány do Caché. Daniel Kutáč
Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM
VíceAbstract Factory úvod
Abstract Factory Abstract Factory úvod Problém potřebujeme vytvářet objekty ze skupiny souvisejících tříd skupin je více, chceme je snadno vyměňovat můžeme používat (v jednom kontextu) pouze jednu skupinu
VícePři studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.
1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými
VíceObjekty v PHP 5.x. This is an object-oriented system. If we change anything, the users object.
Objekty v PHP 5.x This is an object-oriented system. If we change anything, the users object. Objektové PHP Objekty se poprvé objevili v PHP ve verzi 4. Nepříliš zdařilý pokus. Programátoři získali nedůvěru
VícePantek Productivity Pack. Verify User Control. Uživatelský manuál
Pantek Productivity Pack Verify User Control Verze 2.5 29. října 2002 Obsah ÚVOD... 3 Charakteristika produktu... 3 Systémové požadavky... 3 Omezení... 3 Instalace... 4 Licencování... 4 KONFIGURACE...
Více1. Programování proti rozhraní
1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní
VíceProgramování ve Windows Dynamické knihovny. Andrea Číková Martin Osovský
Programování ve Windows Dynamické knihovny Andrea Číková Martin Osovský Agenda K čemu jsou dobré? Jaký mají vztah ke spustitelným souborům a procesům? Jak se sestavují? Jak se načítají? Jak se hledají?
VíceIII/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
VíceOPC komunikace a Wonderware software
18. Wonderware konference R/SR - 2012 OPC komunikace a Wonderware software Technické tipy pro používání OPC s Wonderware produkty Jaroslav Jarka Obsah prezentace Co je OPC OPC a Wonderware produkty Nastavení
VíceUživatelský manuál WEB SERVICE V3.0 IP kamer Dahua
WEB SERVICE V3.0 IP kamer Dahua Obsah 1. Úvod...1 2. Přihlášení...1 3 Nastavení (Setup)...3 3.1.1. Kamera Obraz (Conditions)...3 3.1.2.1 Kamera Video Video...3 3.1.2.2. Kamera Video snímek (Snapshot)...4
VíceAbstraktní datové typy
Karel Müller, Josef Vogel (ČVUT FIT) Abstraktní datové typy BI-PA2, 2011, Přednáška 10 1/27 Abstraktní datové typy Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky,
VíceJava GUI události. Událostmi řízené programování. Zpracování = obsluha událostí
Java GUI události Cílem kapitoly je přiblížit hlavní princip událostmi řízeného programování a ukázat na příkladu způsob řešení pro konkrétní případ. Soubor obsahuje také tabulku s přehledem nejčastěji
VíceAlgoritmizace a programování
Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém
VíceJava a XML. 10/26/09 1/7 Java a XML
Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis
VíceEFEKTIVNÍ NÁVRH FUZZY SYSTÉMŮ V PROSTŘEDÍ FUZZYDESIGNER, MATLAB A SIMULINK. Renata Pytelková, Jan Kolínský, Petr Horáček. ProTyS a.s.
EFEKTIVNÍ NÁVRH FUZZY SYSTÉMŮ V PROSTŘEDÍ FUZZYDESIGNER, MATLAB A SIMULINK Renata Pytelková, Jan Kolínský, Petr Horáček ProTyS a.s. Abstrakt: FuzzyDesigner je nový programový balík určený pro návrh a implementaci
VíceDavid Bednárek Jakub Yaghob Filip Zavoral. http://data.ksi.ms.mff.cuni.cz/svn/nprg051pub/html/nprg051.html
David Bednárek Jakub Yaghob Filip Zavoral http://data.ksi.ms.mff.cuni.cz/svn/nprg051pub/html/nprg051.html Interoperabilita C++ a C, dll, C++ a.net, C++/CLI Nové normy a knihovny C++11/14/17, lambda výrazy,
VíceALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)
ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK) Strom / tree uzel, vrchol / node, vertex hrana / edge vnitřní uzel
VíceOSGi. Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha
OSGi Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
VíceObsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth
Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
VíceOMO. 4 - Creational design patterns A. Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC
OMO 4 - Creational design patterns A Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC Ing. David Kadleček, PhD. kadlecd@fel.cvut.cz, david.kadlecek@cz.ibm.com 1 Creational
VíceTřídy, polymorfismus. A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické
Třídy, polymorfismus A0B36PR2-Programování 2 Fakulta elektrotechnická České vysoké učení technické Polymorfizmus ~ vícetvarost Polymorfizmus základní vlastnost objektového přístupu základní princip polymorfismu:
VíceProgramování v C++ 1, 5. cvičení
Programování v C++ 1, 5. cvičení konstruktory, nevirtuální dědění 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené
Více