Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    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