Programozás MS Windows alatt

A tantárgy angol neve: Programming for MS Windows

Adatlap utolsó módosítása: 2013. március 25.

Tantárgy lejárati dátuma: 2016. január 31.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Villamosmérnöki Szak

Mérnök informatikus Szak

Szabadon választható tárgy

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIHVJV43   0/0/2/f 2  
3. A tantárgyfelelős személy és tanszék Dr. Csurgai-Horváth László,
A tantárgy tanszéki weboldala http://hvt.bme.hu/~csurgai/Mswin/mswin.htm
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Dr. Csurgai-Horváth László

egy. docens

HVT

   
5. A tantárgy az alábbi témakörök ismeretére épít C programozási nyelv ismerete.
6. Előtanulmányi rend
Kötelező:
NEM ( TárgyTeljesítve("BMEVIMH9143") )

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rendek grafikus formában itt láthatók.

Ajánlott:

A programozás alapjai 1. (VIEEA100 vagy VIHIA106)

A tárgyat nem vehetik fel azok a hallgatók, akik teljesítették a tárgy előd tantárgyát (VIMH9143)

7. A tantárgy célkitűzése Jelenleg az egyik legelterjedtebb PC-s operációs rendszer a Microsoft Windows. Az alatta futó applikációk programozása speciális programozói ismereteket igényel. A tantárgy bevezet a Microsoft Windows operációs rendszer alatti programozásba C/C++ nyelven és gyakorlati ismereteket nyújt a C/C++ fejlesztői környezet használatában. Ismertetésre kerülnek az API valamint korlátozott mértékben az MFC alapú programozási ismeretek.
8. A tantárgy részletes tematikája

Windows alapfogalmak
C/C++ fejlesztőrendszerek
GUI, felhasználói interface, multitasking, memóriakezelés, üzenetek
Egy egyszerű Windows program felépítése
Szövegek kezelése, GDI, handler fogalma, scroll bar
Grafikai elemek: vonalak, felületek, a mapping mode fogalma, négyszögek, útvonalak, bitmap, metafile, fontok
Billentyűzet és 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, common dialog box-ok
A clipboard
DLL-ek
Nyomtató-kezelés
Hálózati alkalmazások
Az MFC használata, a tanultak alkalmazása C++ környezetben

Heti bontásban:

1.hét: Windows alapfogalmak, a Windows kialakulása, különféle verziók. Az operációs rendszer előnyei és hátrányai.
C/C++ fejlesztőrendszerek, programozási segédeszközök.
2.hét: A grafikus felhasználói felület alapfilozófiája, a felhasználói interface. A multitasking for-mái. A memóriakezelés alapjai, célja. Hogyan működik egy Windows alatt futó program? Üzenetek.
3.hét: Egy egyszerű Windows program felépítése. Összehasonlítás a DOS verzióval. A kód fő részei. Újfajta adattípusok, azok elnevezései
4.hét: Szöveges információ kezelése, képernyő output. A GDI (Graphics Device Interface) hasz-nálata. A handler fogalma. Egy szöveges outputtal rendelkező program bemutatása. A scrollbar használata.
5.hét: Grafikai elemek: vonalak, felületek, négyszögek, útvonalak, bitmap, metafile, fontok. A mapping mode fogalma, használata. Egy grafikus outputtal rendelkező program felépítése.
6.hét: A billentyűzet és az egér kezelése Windows alatt. Keyboard és mouse üzenetek.
Karakterkészletek, font típusok, nemzetközi karakterek. ANSI és OEM karakterek. Egy billentyűzetet és egeret használó program struktúrája.
7.hét: Időzítés Windows programokban. A timer működésének alapja, beállítása, használhatósága. Példaprogram a timer használatával.
8.hét: A child-window fogalma. Nyomógombok, scrollbar, edit-box, list-box használata. Ezek különféle stílusai. Child-window üzenetek, azok lekezelése.
Példaprogram megírása, ami a fenti elemeket használja.
9.hét: Az erőforrások használata: ikon, cursor, bitmap. Resource file és a resource compiler. Egy erőforrás file-t használó program megírása.
10.hét: Menük és gyorsítógombok. Resource file használata a menük alkalmazásához. Menütípu-sok: system, main, popup. Floating popup menü. A resource editor működése
11.hét: Modális és nem-modális dialógusablakok. A dialógusablakok kezelése a programban. Message box-ok. A common dialog box library használata.
Példaprogram a dialógusablakok használatával
12.hét: Nagy ZH megírása
13.hét: Az MFC használata és az eddig tanultak kapcsolata a C++ fejlesztői környezettel. A clipboard és a nyomtató kezelése. Hálózati alkalmazások támogatása.
14.hét: A DLL-ek használata. Alkalmazási lehetőségek. A DLL és a library file. Egy DLL készíté-se és hívása egy alkalmazásból. DLL kompatibilitás más programozási nyelvekkel.

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) A tantárgyat számítógépteremben oktatjuk ahol minden egyes hallgató az oktató instrukcióinak megfelelően, önállóan végzi el a kitűzött feladatokat. Az órák elméleti bevezetőből és hozzá kapcsolódó programozási gyakorlati feladatokból állnak.
10. Követelmények

a.    A szorgalmi időszakban:

A hallgatók a tárgy sikeres elvégzése esetén félévi jegyet kapnak. A félévi jegy megszerzésének a feltételei:

- Egy nagy zárthelyi legalább elégségesre történő megírása a tanóra keretében. A ZH egy konkrét programozási feladat tényleges elvégzése.

- Házi feladat elkészítése, beadása és elfogadása a szorgalmi időszak végéig. A házi feladat egy az oktatóval egyeztetett C/C++ program elkészítése standard API vagy MFC használatával. A program közepes
terjedelmű, általában egy bizonyos Windows/grafikai funkciót kell demonstrálnia.
A házi feladat osztályzása ötfokozatú skálán, érdemjegyekkel történik.

- A félévi jegy a zárthelyire és a házi feladatra kapott jegyek átlaga, a hagyományos kerekítési szabályok szerint.

b.    A vizsgaidőszakban:

-

c.    Elővizsga:

-
11. Pótlási lehetőségek
Sikertelen zárthelyi a szorgalmi időszakban a pótzárthelyin pótolható. 
A sikertelen (pót)zárthelyi a pótlási héten különeljárási díj ellenében egy
további alkalommal pótolható.
A házi feladat különeljárási díj ellenében a pótlási héten pótolható.
12. Konzultációs lehetőségek Az oktatóval történő egyéni megbeszélés szerint.
13. Jegyzet, tankönyv, felhasználható irodalom Charles Petzold: Programming Windows
Microsoft Press, 1998
ISBN 1-57231-995-X

Sipos Mariann: A Visual C++ és az MFC
ISBN: 963640979

http://www.hvt.bme.hu/~csurgai/Bsc/WinProg.pdf

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra28
Félévközi készülés órákra5
Felkészülés zárthelyire5
Házi feladat elkészítése6
Kijelölt írásos tananyag elsajátítása8
Vizsgafelkészülés8
Összesen60
15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Dr. Csurgai-Horváth László

egy. docens

HVT