Windows native programozás
A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
Windows native programozás
Windows Native Programming
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIHVAV09 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | félévközi érdemjegy | ||||||||||||
| Tantárgy kreditértéke | 2 | ||||||||||||
| Tantárgyfelelős |
DR. Csurgai-Horváth László
beosztás: egyetemi docens
elérhetőség:
csurgai-horvath.laszlo@vik.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
Szélessávú Hírközlés és Villamosságtan Tanszék
|
||||||||||||
| Kar | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Tantárgy weboldala | http://hvt.bme.hu/~csurgai/Mswin/mswin.htm | ||||||||||||
| Tantárgy elsődleges mintatantervi jellege | — | ||||||||||||
| Közvetlen előkövetelmények – Erős előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Gyenge előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Párhuzamos előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Mérföldkő előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Kizáró feltétel | nincs |
Célkitűzés
Windows alapfogalmak és programozói fejlesztőrendszerek.
GUI, az egységes felhasználói felület, multitasking, memóriakezelés, üzenet alapú működés.
Egy egyszerű Windows program felépítése API használatával. Több ablakos applikációk.
Szövegek kezelése, GDI, handler fogalma, scrollbar.
Grafikai elemek: vonalak, felületek, a mapping mode fogalma, régiók és útvonalak, bitmap, metafile, betűtípusok.
A billentyűzet és az egér kezelése.
A Windows timer.
A child window fogalma, nyomógombok, scrollbar, edit-box, list-box használata.
Erőforrások: ikon, cursor, bitmap, menük és gyorsítógombok, modális és nem-modális dialógusablakok, message box-ok, közös dialógusablakok.
Dynamic Link Library (DLL).
A WinRT (Windows Runtime Library) és az UWP (Universal Windows Platform).
A driverfejlesztés software eszközei.
A fentiek mérnöki alkalmazásokon keresztül történő bemutatása.
Heti bontásban:
1.hét: Windows alapfogalmak, a Windows kialakulása, különféle verziók. Programozói fejlesztőrendszerek. A grafikus felhasználói felület alapfilozófiája, felhasználói interface és üzenetvezérelt működés. Memóriakezelés és multitasking. Egy egyszerű Windows API program felépítése. A kód fő részei. Típusok, elnevezési konvenciók, handlerek.
2.hét: Szöveges információ kezelése, képernyő output. A GDI (Graphics Device Interface) használata. Egy szöveges outputtal rendelkező program megírása, kiegészítése scrollbar használattal. Grafikai elemek: vonalak, felületek, régiók, útvonalak, színek kezelése. Egy konkrét alkalmazás: függvény ábrázolása, illetve mérési adatsor beolvasása fileból és annak megjelenítése.
3.hét: A mapping mode fogalma, használata. Egy grafikus outputtal rendelkező program felépítése. Logikai és eszközkoordináták: példaprogram nagyméretű ábra átméretezésére és megjelenítésére. A Windows API által támogatott képformátumok. Képek létrehozása, használata; beolvasás és megjelenítés fileból. Nem konvencionális ablakformák.
4.hét: Beviteli eszközök: a billentyűzet és az egér kezelése. Karakterkészletek, betűtípusok, nemzetközi karakterek. A Windows API használata ábrák és felirataik megjelenítésében.
5.hét: Időzítés Windows programokban. Az időzítő működésének alapja, beállítása, használhatósági korlátai. Példaprogram a timer használatával: változó adatok megjelenítése szöveges és grafikus formában.
6.hét: A felhasználói felület javítása a child-window segítségével. Nyomógombok fajtái, görgetősáv, edit-box, list-box használata és ezek különféle stílusai. Egy összetett felhasználói felületű program elkészítése.
7.hét: Az erőforrások használata, a resource editor működése. Resource file és resource compiler. Alkalmazási példa: erőforrások használata a program grafikus elemeinek és adattömbjeinek tárolására.
8.hét: Menük és típusaik: system, main, popup, floating popup. A resource editor használata a menük létrehozásához. Menühasználat ábrák egyedi ablakokban történő megjelenítésére.
9.hét: Modális és nem-modális dialógusablakok. A dialógusablakok kezelése a programban. Message box-ok és a common dialog box library használata. Példaprogram a dialógusablakok használatára: paraméterbeállítás és átadás.
10.hét: A DLL-ek felépítése, használata és alkalmazási lehetőségei. Programozási gyakorlat: egy DLL megírása és hívása egy alkalmazásból. Team munka és feladatmegosztás nagyobb projektek esetén.
11.A Windows Runtime Library és a Universal Windows Platform: platformfüggetlen programfejlesztés. Áttekintés: a Win32 API továbbfejlesztése.
12.hét: Nagy ZH megírása.
13.Egy Metro-stílusú applikáció elkészítése Windows 10 platformon.
14.Hardware eszközök támogatása Windows alatt: eszközmeghajtók. Fejlesztőeszközök ismertetése; a Windows Driver Kit, egy példaprogram bemutatása.
Tanulmányi eredmények
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Tudás
Nincsenek rögzített tanulási eredmények.
Képességek
Nincsenek rögzített tanulási eredmények.
Attitűd
Nincsenek rögzített tanulási eredmények.
Autonómia és felelősség
Nincsenek rögzített tanulási eredmények.
Oktatási módszertan
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Szorgalmi időszakban végzett teljesítményértékelések részaránya
Nincs megadva részarány.
Vizsgaidőszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Vizsgarészek részaránya
Nincs megadva részarány.
Érdemjegy megállapítása
Nincs megadva érdemjegy határ.
Jelenléti és részvételi követelmények
Nincs megadva jelenléti követelmény.
Javítás, ismétlés és pótlás különös szabályai
Nincs megadva.
Rövid leírás
Nincs megadva.
Részletes leírás
Nincs megadva.
Ajánlott tantárgyak
A tantárgy elvégzéséhez szükséges tanulmányi munka
Nincs megadva munkaidő bontás.
Tantárgykövetelmények hatályossága
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.