LA C++ programozás Windows környezetben Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./0. lA Windows üzenetvezérelt működése.

Slides:



Advertisements
Hasonló előadás
Melyiket válasszam? Windows VS. Linux Készítette: Uher Bertalan.
Advertisements

Skultéti Attila március 24.
A felhasználói interfész A felhasználói interfész az a felület, amellyel a szoftver az ember felé „fordul”; amellyel a felhasználó nap mint nap találkozik.
1 Számítógép Hálózatok A hálózatok kialakulása, alapfogalmak Készítette: Csökmei István Péter ( CsIP ) Szegedi Tudományegyetem Természettudományi Kar levelező.
Követelményelemzés – követelményspecifikáció A szoftverfejlesztés kapcsán az elemzés speciálisan egy kezdeti szakaszt jelöl, amelynek alapvető feladata.
A szoftver mint komplex rendszer (folyt.) A SunTone módszertan 3 dimenziós osztályozási sémája kifinomultabb osztályozást tesz lehetővé.
Az IKER önértékelő IKER társadalmasítás workshop Budapest, április 12.
Manhertz Gábor; Raj Levente Tanársegéd; Tanszéki mérnök Budapesti Műszaki és Gazdaságtudományi Egyetem Mechatronika, Optika és Gépészeti Informatika Tanszék.
Hogyan teljesíthetjük a HpT 13§B követelményeit Egy vállalati Compliance Adatbázis terve Dr Lőrincz István Associator Kft.
BINARIT TIMESHEET Több, mint munkaidő nyilvántartás Virág Zsolt (BINARIT Informatikai Kft.)„Hogyan legyek milliomos?” konferencia – BKIK ( )
Dr. Szűcs Erzsébet Egészségfejlesztési Igazgatóság Igazgató Budapest, szeptember 29. ÚJ EGÉSZSÉGFEJLESZTÉSI HÁLÓZATOK KIALAKÍTÁSA ÉS MŰKÖDTETÉSE.
CÉLCÉLCSOPORT  Egészségügyi szakmai tájékoztatás és betegtájékoztatás, az egészséges életvitelhez szükséges információk szolgáltatása, publikálása, áttekint-
2. A szoftverek csoportosítása: a. Rendszerszoftverek: A számítógép zavartalan mûködését biztosítják: BIOS (alapvetõ bemeneti/kimeneti rendszer): olyan.
Informatikai rendszerek általános jellemzői 1.Hierarchikus felépítés Rendszer → alrendszer->... → egyedi komponens 2.Az elemi komponensek halmaza absztrakciófüggő.
Iskolai információs rendszer. Alapkövetelmények Oktatási, nevelési intézmények részére fejlesztett Oktatási, nevelési intézmények részére fejlesztett.
EU pályázati programok A szervezet / változások 1.A pályázók adminisztrációs terheinek csökkentése a projektfejlesztési, pályázati szakaszban.
Microsoft Photo Story. Mi is ez?  A Microsoft Photo Story egy alkalmazás, amelyet a Microsoft, a világ egyik legnagyobb szoftvergyártó cége készített.
KÉPZŐ- ÉS IPARMŰVÉSZET ISMERETEK ÁGAZATI SZAKMAI ÉRETTSÉGI VIZSGA (középszintű) május-június.
Internet tudományos használata
ERASMUS+ DISSZEMINÁCIÓS PLATFORM
Gazdasági informatika - bevezető
Üzleti modell központú fejlesztés
11/2/2017 Horváth Botond, Dunaújvárosi Főiskola, Informatika Biztonság Labor Konzulens Dr. Leitold Ferenc, Hadarics Kálmán “Nemcsak azokkal a sebezhetőségekkel.
vizuális megismerés – vizuális „nyelv” vizuális kultúra
Számítógépek jellemzői, ügyfél - kiszolgálók jellemzői, számítógépházak, tápegységek elnevezései, funkciói, főbb jellemzői Elmélet 1.
Operációs rendszerek.
Térkép készítése adataiból
A CMMI modell alkalmazása SOA-környezetben
Mezőgazdasági kisüzemek fejlesztése
Scilab programozás alapjai

A mozgóképi közlésmód sajátosságai
LabVIEW bevezetéstől a feszültség-áram karakterisztikáig Vida Andrea
T.R. Adatbázis-kezelés - Alapfogalmak Adatbázis:
Követelményelemzés Cél: A rendszer tervezése, a feladatok leosztása.
Az Országos Egészségfejlesztési Intézet fejlesztési projektjei az iskolai egészségfejlesztés területén DR. TÖRÖK KRISZTINA.
A kiváltást tervezők / megvalósítók és Az fszk TÁRS projektje közti együttműködés rendszere EFOP VEKOP TÁRS projekt.
Adatbázis-kezelés (PL/SQL)
KATRIN 2D DWG SZIMBÓLUMOK ÉS GDL KÖNYVTÁR
A számítógép operációs rendszere
Közigazgatási alapvizsga a Probono rendszerben
Adatbázis alapfogalmak
A Hálózat és Az internet
Rendszerfejlesztés gyakorlat
CONTROLLING ÉS TELJESÍTMÉNYMENEDZSMENT DEBRECENI EGYETEM
Rendszerfejlesztés gyakorlat
3. A robot képernyőmenüje
Tájékoztató az Önkormányzati ASP Projektről
Cash flow A vállalat működése, befektetései és pénzügyi tevékenysége által genarált pénzáramlásokat tartalmazó kimutatás. Az eredménykimutatásban és a.
Informatikai gyakorlatok 11. évfolyam
Környezeti Kontrolling
Új pályainformációs eszközök - filmek
Oracle Adatbázisok kezelése c#-ban
A Microsoft SharePoint testreszabása Online webhely
Sebők Sándor projektvezető MKT IG2 fórum, február 8.
A számítógép operációs rendszere
Erasmus+ hallgatói mobilitásra jelentkezéshez
SQL jogosultság-kezelés
Tájékoztató az EPER pályázati folyamatáról
SZAKKÉPZÉSI ÖNÉRTÉKELÉSI MODELL I. HELYZETFELMÉRŐ SZINT FOLYAMATA 7
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Access alapok Táblák, kapcsolatok, űrlapok.
Erasmus+ hallgatói mobilitásra jelentkezéshez
LIA Alapítványi Ált. Isk. és Szki. Piliscsabai Tagintézménye
A részekre bontás tilalma és annak gyakorlati alkalmazása
A POWERPOINT 2007 újdonságai
Algoritmusok.
OpenBoard Kezelő Tananyag közzététele a KRÉTA rendszerben.
Kórházi és ágazati gazdálkodást érintő informatikai fejlesztések és az azokban rejlő lehetőségek Horváth Tamás Vezérigazgató CompuTREND Zrt.
Az operációs rendszer definíciója
Előadás másolata:

lA C++ programozás Windows környezetben Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./0. lA Windows üzenetvezérelt működése lAz üzenetközvetítés folyamata lProgramtervezési eszközök lProgramozás Borland C++ Builder környezetben lA Borland C++ Builder integrált fejlesztő környezete

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./1. lProgramtervezési eszközök Az objektum orientált programozás kifejlesztésének egyik célja a nagyméretű programok (akár 1 millió sor is!) fejlesztéséhez eszközt adni. Ez az eszköz, az objektum orientált programozási nyelv, illetve integrált fejlesztő környezetben megtestesülő formái a szoftverek fejlesztésének nem minden lépését támogatják. A szoftverfejlesztési folyamat szokásos lépései a következők: feladatspecifikáció feladatelemzés architekturális tervezés részletes tervezés implementálás egy programnyelven tesztelés A fenti, úgynevezett vízesés modellben az utolsó két lépést támogatja egy korszerű objektum orientált programfejlesztő környezet, pl. a Microsoft Visual C++, vagy a Borland Builder C++. Mivel nagy rendszerek esetében a megelőző lépések is legalább ennyire fontosak, támogatásukra is létrehoztak eszközöket. Ezek a CASE (Computer Aided Software Engineering), számítógéppel segített szoftverfejlesztési eszközök.

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./2. A legismertebb CASE szoftver a Rational Corporation által készített Rational Rose Modeler, mely a Booch, Rumbaugh és Jacobson által kidolgozott elvek egyesítésével létrehozott UML (Unified Modeling Language), Egyesített Modellező Nyelv szoftveres realizálása. Az UML nyelv célja szoftverrendszerek összetevőinek, kapcsolatrendszerüknek megadása, megkonstruálása, ábrázolása és dokumentálása. Ehhez különféle nézetek és diagramok állnak rendelkezésre. Fontosak az osztályhierarchiára, a külső felhasználókra, az objektumok együttműködésére, a tevékenységek, események időbeliségére, az objektumok állapotára, a rendelkezésre álló szoftverkomponensekre és a rendszerbe betervezett hardverelemek telepítésére vonatkozó nézetek, diagramok. Gyakran alkalmazzák a fejlesztett rendszer modellezésénél a különféle modelleket: az objektummodellt (osztályhierarchia, öröklés), a funkcionális modellt (adatfolyam ábrák, források, tárolók, adatnyelők) és a dinamikus modellt (kommunikációk, események, állapotok).

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./3. A Windows operációs rendszer alatt futó programok jelentősen különböznek az eddigi programjaink által reprezentált DOS-os programoktól. Windows környezetben több alkalmazás futhat egyidejűleg: folyamat (process) alapú multitasking, és egy alkalmazásban több tevékenység folyhat egyidőben: többszálú (multi threads) multitasking. A felhasználói interakciók (egér, billentyű) hatásának eljuttatása az egyidőben futó processzek, ill. szálak egyikéhez az üzenetvezérelt működés révén valósul meg. Az alkalmazások ablakokban futnak és az aktuális felhasználói interakció címzettje az aktív ablakhoz tartozó alkalmazói program, illetve azon belül az ablakban érintett vezérlő (nyomógomb, input mező, stb.) objektum megfelelő tagfüggvénye. Egy nyomógomb megnyomása úgy is felfogható, hogy az operációs rendszer értesíti az aktív ablakot az adott nyomógomb lenyomása eseményről. Az üzenetvezérelt működés az operációs rendszer és az alkalmazói program kapcsolattartásának formája. lA Windows üzenetvezérelt működése

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./4. Üzenetvezérelt működés esetén bármelyik ablak bármelyik kezelőelemének mindig készen kell állnia arra, hogy használják, azaz a kezelőelem objektum egy üzenetet kapjon. A Windows operációs rendszer objektum orientált felépítésű. Objektumainak jelentős része a felhasználói kapcsolattartást szolgálja: ablakok, nyomógombok, listák, menük, ikonok, szövegablakok, stb. Ezen objektumok működését többszáz tagfüggvény biztosítja, melyek az operációs rendszer Alkalmazásprogramozói interfészének (API, Application Programming Interface) részei. Az operációs rendszer a felhasználótól érkező üzeneteket a Bemeneti várakozó sorban (System Queue) fogadja, ahonnan átkerülnek azon futó program várakozó sorába, amelyiknek az ablakából származnak. Mindegyik futó programnak saját input várakozó sora van. Az alkalmazói programok innen veszik ki a nekik szóló következő üzenetet és válaszolnak rá.

i.Program queue i-1.Program queue Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./5. Az üzenetközvetítés folyamata Windows A 'K' billentyú lenyomása K Az i. felhasználói program Rendszer queue Üzenetek olva- sása és továbbítása Megjelenítést végző API függvény Az i. program ablaka WinMain függvény Az üzenetközvetítő ciklus i. Program queue Ablakkezelő függvény üzenet értelmezése, feldolgozása Forrás: Benkő Tiborné - Kuzmina, Jekatyerina - Kiss Zoltán - Tamás Péter - Tóth Bertalan : Könnyű a Windowst programozni ComputerBooks K., Budapest

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./6. A Windows programokban nem main(){}, hanem WinMain(){} függvény van. Ez hozza létre az alkalmazói program főablakát és indítja az üzenetkezelő ciklust. // Borland Builder Project1.cpp #include #pragma hdrstop USERES("Project1.res"); USEFORM("Unit1.cpp", Form1); // WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try { Application->Initialize(); Application->CreateForm(__classid(TForm1), &Form1); Application->Run(); } catch (Exception &exception) { Application->ShowException(&exception); } return 0; } //

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./7. Az üzenetközvetítő ciklus csak egyszerű átalakítást hajt végre az üzeneten, majd átadja az operációs rendszernek. Azért nem közvetlenül az Ablakkezelő függvénynek, hogy az operációs rendszer rangsorolhasson a különböző alkalmazói programoktól visszakapott és végrehajtásra váró üzenetek között, felügyelhesse a programok futását. Ha az adott felhasználói program van soron, az operációs rendszer meghívja az Ablakkezelő függvényét az adott üzenettel, mint paraméterrel. Az Ablakkezelő függvény feladata az ablaknak címzett összes üzenet megfelelő kezelése. Emiatt egy switch többszörös elágaztató szerkezet van benne, ahol az egyes ágak egy-egy üzenetfajta kezeléséért felelősek. Az ablakkezelő függvény nem köteles minden kapott üzenettel foglalkozni. Az üzenetek lekezelése gyakran az operációs rendszer API függvényén keresztül történik. Fontos megjegyezni, hogy a Windows alkalmazói programokban sok közös rész van, mint pl. az előző Project1.cpp fájl teljes tartalma. Ezeket a közös részeket a korszerű integrált programozói környezetek, mint pl. a Borland C++ Builder, megírják helyettünk. Eszközkapcsolatok (Device Contexts): Az alkalmazói programnak az ablakba íráshoz, rajzoláshoz egy eszközmeghajtón keresztül az ablakhoz kapcsolatot kell létesítenie. Az eszközkapcsolat létrehozható és megszüntethető, akár programfutás közben többször is. Ez a működés is többnyire automatikus.

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./8. A Windows alatt futó alkalmazói programok sokféle erőforrást használnak. Az erőforrás olyan objektum, amelyeket a program használ, de előzetesen kellett a programon kívül definiálni. Pl.: menük, kurzorok, ikonok, bitképek, stb. A szükséges erőforrás-állományt általában a programozói környezet támogatásával, erőforrás szerkesztővel hozzuk létre, melyet a programozói környezet a programunk által közvetlenül használható.RES állományformára fordít automatikusan. A Windows operációs rendszer nem tárolja az alkalmazás ablakainak tartalmát. Az ablak átméretezése, elfedés megszüntetése, stb. után az alkalmazói programnak kell gondoskodni a tartalom megjelenítéséről egy Paint() tagfüggvényhívással. A Windows 32 bites verzióiban megszűnt a memória szegmens:offset tagolása, a teljes memória egybefüggően címezhető, továbbá a merevlemezen található virtuális memória a tényleges RAM memória folytatásaként használható. A 32 bites adatszélességből az következik, hogy az int típus 4 bájtos lett.

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./9. A C++ Builder jellemzői: lProgramozás Borland C++ Builder környezetben  Nagy termelékenységű drag and drop vizuális programfejlesztés vizuális   komponensekkel, gazdag komponenskönyvtárral (RAD)  Minimális programozói kód írását igényli  Kétutas fejlesztés: vizuális oldalon és programkód oldalon   Varázslókkal segíti az egyes programozói tevékenységeket  Példaprogramokat, oktatópéldákat, beépített kézikönyvet nyújt  Objektum és komponens alapú fejlesztés  Kliens/szerver alkalmazások fejlesztésének erőteljes támogatása  Nagy teljesítményű adatbázis fejlesztés  Hatékony nyomkövetés, hibakiszűrés, debug funkciók  és még nagyon sok más professzionális lehetőség.

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./10. lA Borland C++ Builder integrált fejlesztő környezete Ablaktervező Komponens paletta Szöveg- szerkesztő Objektum- kezelő Osztály- vizsgáló Főmenü Eszközsor

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 21./11.  Főmenü: A szoftver összes lehetőségének menüpontokon keresztüli   elérésére. Fontosabb főmenüpontok: File, View, Project, Run, Help.  Eszközsor: A legfontosabb funkciók gyors elérését szolgáló ikonok találhatók    rajta. Testre szabhatók,azaz az igényeknek megfelelően cserélhetők az ikonok.  Komponens paletta:  Elsősorban vizuális komponensek, program építőelemek   könnyű kiválasztására és a programba illesztésére. Pl. nyomógombok,         ablak-formok, menük, listák, görgetőlecek, input dobozok és még sok egyéb.  Ablaktervező: Az alkalmazói program különféle ablakainak megépítésére ad     kiinduló alapot, melyre a komponenseket elhelyezhetjük, ott beállíthatjuk, a      programunk kezelői interfészét, ablakainak megjelenését kialakíthatjuk.  Objektumkezelő: Az objektumok tulajdonságainak (az adattagok értékeinek)    megadására, megváltoztatására, valamint az objektumon bekövetkező         eseményeket lekezelő tagfüggvények kiválasztására ad kényelmes eszközt. Szövegszerkesztő: a C++ programkód írására, megjelenítésére,             szerkesztésére, a programfutás nyomkövetésére szolgál. Osztályvizsgáló: A programmodulban szereplő osztályok, változók,           függvények áttekintő megjelenítésére, azok közötti gyors mozgásra szolgál.