eseményvezérelt megoldások Vizuális programozás 5. előadás



Hasonló dokumentumok
Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

Széchenyi István Egyetem

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

A SZOFTVERTECHNOLÓGIA ALAPJAI

Bonobo: A GNOME CORBA alapú komponens-megoldása Unixokra

Osztott alkalmazások fejlesztési technológiái Áttekintés

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

.NET Microsoft.Net Framework

Mérési útmutató a Mobil Kommunikáció és Kvantumtechnológiák Laboratórium méréseihez

Tipp A Word makrók kimerítõ tárgyalását megtalálhatjuk az O Reilly gondozásában megjelent Writing Word Macros címû könyvben.

Komponens modellek. 3. Előadás (első fele)

Crawler.NET: Elosztott webrobotok koordinálása és vezérlése

Java programozási nyelv 8. rész Grafikus felhasználói felület

Operációs rendszerek. A Windows NT felépítése

KÉPZETT VILLANYSZERELŐ SZAKEMBER

Adatbázis-kezelés ODBC driverrel

Java felhasználói felület

Komponens alapú fejlesztés

Új bemutató diasor létrehozása

Models are not right or wrong; they are more or less useful.

ETR Pénzügyi közönségszolgálat

BYC08HE Fűtő termosztát programozása Használati útmutató

Szakmai program 2015

SZET GYAK1: Követelmények ellenőrzése

Summer of LabVIEW The Sunny Side of System Design

RIA Rich Internet Application

VI. Grafikus Java alkalmazások

Workflow és Petri hálók. Workflow fogalma

Számítógép labor V. Egyszer Web szerver. Dokumentáció. Készítette: Ács Gergely (K4C03M)

EMTP, EGY ÚJ LEVELEZÕ PROTOKOLL ÉS IMPLEMENTÁCIÓJA

El zetes Beállítások SL AUTOMATIKA KEZELÉSI ÚTMUTATÓ SL AUTOMATIKA KEZELÉSI ÚTMUTATÓ

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

SAP vállalatirányítási rendszer alapjai

1. mérés - LabView 1

LabVIEW Academy. 6. óra state machine

VBA. Visual Basic for Applications

A Java EE 5 plattform

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Kézikönyv Likviditás tervezés infosystem

Mechatronika II (BMEGEFOAMM2)

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

MDAC - Microsoft Data Access Components

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

Dr. Pétery Kristóf: CorelDRAW 9 testre szabás

Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread

Symbol P360/P460 Felhasználói kézikönyv v 1.0

IBM Business Monitor 7. változat 5. alváltozat. IBM Business Monitor telepítési kézikönyv

LabView Academy. 4. óra párhuzamos programozás

Modellalkotás UML-ben

ATM hálózatra épülő Interaktív Televízió Szolgáltatás

FELHASZNÁLÓI ÚTMUTATÓ

Tartalom Kontextus modellek Viselkedési modellek Adat-modellek Objektum-modellek CASE munkapadok (workbench)

A C++ öröklés. (Előfeltétel: 12. tétel ismerete)

TERC V.I.P. Összevont Épít ipari Költségvetés-készít Programrendszer

Objektumorientált programozás C# nyelven

Alkalmazások teljesítmény problémáinak megszűntetése

Adatbányászat és Perszonalizáció architektúra

Használati Utasítás KANMED Operatherm OP3

Osztott Objektumarchitektúrák

AC1600 intelligens WiFi router

Point of View Mobii 945 IPS Android 4.1 Tablet PC. Tartalomjegyzék Általános tudnivalók használathoz Jogi nyilatkozat...

Egy kattintás ikonok, fájlok megjelölése, menü megnyitása, linkek megnyitása, a tálcán programok megnyitása.

4. Példa: Másodfokú egyenlet megoldása (program2_1.vi)

Riak. Pronounced REE-ahk. Elosztott adattároló eszköz. Molnár Péter

Internet Club Manager (Használati útmutató)

MAGYAR POSTA BEFEKTETÉSI ZRT. e-befektetés. Felhasználói kézikönyv

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?

HP 23tm érintőképernyős monitor. Felhasználói útmutató

A HunPLUS-os AutoCAD Architecture 2010 teljesítményfokozása

Szervlet-JSP együttműködés

Mérés és adatgyűjtés Laboratóriumi jegyzet

Utasítások. Excel VII. Visual Basic programozás alapok. A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok

SA-GPCOM. Telepítési leírás. Ipari GPRS átjelző. Dokumentum verzió szám: v1.0 HUN. SA-GPCOM telepítési leírás

Gyakorla( útmutató és demonstrációk a SZTAKI Felhő használatához

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Symbol MC3000 Felhasználói kézikönyv v 1.0

URL-LEL ADOTT OBJEKTUM LETÖLTÉSE (1) URL-LEL ADOTT OBJEKTUM LETÖLTÉSE

DNX7230DAB DNX5230DAB DNX5230BT DNX4230DAB DNX4230BT DNX4230TR

Külső oldal: Hírek menü

Kari Adminisztrátor. Funkcionális leírás

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül

HQ ELİHÍVÓ KÉSZÜLÉKEK (HQ-350XT HQ-450XT HQ- 450XM)

- láda- vagy játékleírásból láda/játéklistába visszatérve nem a lista elejére ugrik, hanem ugyanoda, ahol voltunk a listában

Mérési útmutató. A/D konverteres mérés. // Első lépésként tanulmányozzuk a digitális jelfeldolgozás előnyeit és határait.

4. Programozási nyelvek osztályozása. Amatőr és professzionális

IBM Business Monitor telepítési kézikönyv

Objektum orientált alapelvek

Programozás III GRAFIKA RAJZOLÁS SWING FELÜLETEN RAJZOLÁS GRAFIKA HASZNÁLATA. Rajzolni az awt csomag Graphics osztályának metódusaival tudunk.

JAVA webes alkalmazások

Információ-architektúra

Előzmények

Rövidített felhasználói kézikönyv. H.264 ( 4/8/16 csatornás) Digitális video rögzítő

Dr.Varga Péter János HÍRKÖZLÉSTECHNIKA. 10.ea

Felhasználói Kézikönyv GSM Mobiltelefon Maxcom MM461BB

Poszeidon (EKEIDR) Irat és Dokumentumkezelő rendszer webes felület

Eddig még nem használt vezérlőket is megismerünk: PlaceHolder, RadioButtonList.

BI modul a lízing üzletágban márc. 21. Előadó: Salamon András

Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok

Átírás:

Programozási architektúrák, eseményvezérelt megoldások Vizuális programozás 5. előadás

Komponens-alapú programozás Kezdelteges formája, az első komponensek: DLL-ek Black box ujrahasznosítható kód Függvényeket definiál API (Application Programming Interface) WINDOWS/SYSTEM vagy fix útvonal Nincs verziókövetés Inkonzisztencia problémák (ua. a program másik DLL verzió, új alkalmazással telepített DLL már nem jó egy régihez) COM : Component Object Model Komponens alapú fejlesztés lehetősége Származtatott technológiák: OLE, ActiveX

Alkalmazások közötti adatcsere Clipboard (Win 3.1) Nagyon korlátozottak a lehetőségek DDE (Dynamic Data Exchange) OLE (Object Linking and Embedding) Egy alkalmazás használja egy másik adatait ActiveX/COM Flexibilisebb működés Az alkalmazások egymás funkcióit is használhatják Fejlesztőkörnyezettől függetlenül képesek eggyüttműködni COM objektumok

ActiveX/COM Egy programból egy másik programot vezérlünk, használjuk bizonyos funkcióit Kliens szerver kapcsolat A COM objektumok funkcionalitása az un. Interfaceeken keresztül érhető el Interfészek Tulajdonságok Metódusok

ActiveX pl. Property Node Invoke Node Interface Property (tulajdonság) Method (metódus / tagfüggvény )

Property Node (tulajdonságok...) Az objektum tulajdonságai beállíthatók / lekérdezhetők

Invoke Node (metódusok...) Az objektum metódusai (tagfüggvényei) meghívhatók

LabView mint ActiveX kliens Open Automation reference Set / Get Properties and Invoke Methods Close Automation reference Pl.: PPT slideshow lejátszása

LabView mint ActiveX konténer AcitveX Control / objektum beillesztése Set / Get Properties and Invoke Methods Pl.: MS Web Browser kontrol beillesztése (web böngésző LabView-ban)

ActiveX Container

Eseményvezérelt programozás Események a LabView-ban Dinamikus események Felhasználói események Eseményvezérelt programok

LabVIEW 6i és régebben A front panel folyamatos lekérdezése CPU-idő igényes Nem garantált, hogy minden eseményt lekezel Ha több dolog változik egyszerre, nem tudjuk a sorrendet

LabVIEW 6.1: Az esemény struktúra User Interface Események (statikusan regisztrált) Egérkattintás Billentyű lenyomás Kontrolok értékváltozása (nem programból) A felhasználó csinál valamit a front panelen

Az esemény struktúra használata ált Alapvetően egy While ciklusban használjuk Iterációnként pontosan egy eseményt kezel Billenő kapcsolókat az esemény struktúrán belül célszerű elhelyezni A stop gombhoz rendelt esemény állítja le az alkalmazást l Pl. prg

Az esemény struktúra használatának előnyei Nincs folyamatos lekérdezés: kevésbé CPU-idő igényes Minden eseményt lekezel Az események a bekövetkezésük sorrendjében kerülnek lekezelésre

Demo 1: LabVIEW 61 6.1 Esemény struktúra Egyszerű program az esemény struktúra használatával

Notify és Filter Események Notify Events ( Jelző események) Jelzi a LabView-nak, hogy egy felhasználói esemény történt Filter Events ( Szűrő események) Elfogadthatjuk, vagy megváltoztathatjuk az eseményhez tartozó adatokat mielőtt lekezelnénk az eseményt

A 6.1-es esemény struktúra korlátai Csak statikus tik események (az egész futásidőre előre definiálva) Nem tudunk programból új eseményeket definiálni (register event) Csak a user interface eseményeit tudjuk kezelni (nem tudunk eseményt rendelni egy érték programból való változtatásához) Nem tudunk programból eseményeket generálni Csak az a VI tudja kezelni az eseményeket, amihez azok statikusan definiálva lettek (nincs modularitás pl. egy sub VI nem kezelheti a szülőjének eseményét)

További lehetőségek Új objektum események Mouse Enter (Mouse over) Mouse Leave Új ActiveX Esemény struktúra Új érték (Value) tulajdonság Property Node-al való értékbeállítás is eseményt generál

Gyakori hibák eseménystruktúránál Billenőkapcsoló terminálja egy, a kapcsoló által triggerelt eseményben Egymásba ágyazott eseménystruktúrák holtpont alakulhat ki óiá óriási iköült körültekintés ki té kell

Alkalmazásfejlesztés LabView-banban Az alkalmazásfejlesztés fő lépései Programozási architektúra kiválasztása User interface fejlesztése Moduláris kód fejlesztése Sub VI-ok alkalmazása Vál á k kö é Változások követése Disztribúció

Programszerkezet (architektúra) kiválasztása Állapotgép (Automata, State machine) Párhuzamos ciklusok (Parallel loop VI) Végrhajtási sor / üzenetkezelés User interface interakció (eseménykezelés) Felhasználó akciók kezelése Producer / Consumer (Adatok) Producer / Consumer (Események)

Tervezési sablonok (design templates) File New...

State machine Az egyik leggyakrabban használt tervezési sablon Állapotokból és állapotátmenetekből áll Mikor használjuk? Folyamatosan fut a programunk Egyértelműen meghatározhatók az állapotátmenetek (pl. állapotdiagram) Pl. Üdítőautomata, Bankjegykiadó automata, stb.

State machine (szerkezete) While ciklus - folyamatosan végrehajtódik Shift regiszter - tartalmazza az állapotátmenetre vonatkozó információt Case struktúra az egyes állapotokhoz tartozó kód

Állapot diagram eszköz Állapotdiagramban tervezhető a kód A sablon automatikusan készül a diagram alapján

Ital automata (state machine) Egyszerű példa az állapotokkal és állapotátmenetekkel megoldható feladatra Vár a pénzre Ital választás Ital kiadás

Végrehajtási sor / üzenetkezelés

UI események kezelése Gombok lenyomása Sliderek kezelése Grafikonok nagyítása Grafikonok nagyítása, mozgatása

Producer / Consumer (data)

Producer / Consumer (events)

Architektúra választás szempontjai Folytonosan fut majd a program? Lesznek párhuzamosan futó folyamatok? A User interface egyszerű vagy összetett? Milyen gyakran van szükség felhasználói interakcióra? Mik a teljesítménnyel kapcsolatos elvárások? stb.