Subject name | Advanced Windows Programming |
Details | Code VSITE131 Abbrev. NWP ECTS 5 Year 3 Semester Summer semester Type elective NQF Level 6 Bachelor study E-Learning 0% |
Activities | IT zg - Sum 24/25 ECTS Units Hours Total T 1 15 2 30
N 0 15 1 0
L 1 12 1 30
S 0 0 0 0
PN 0 0 0 0
PT 0 1 1 0
PR 0 1 6 0
EN 0 0 0 0
ET 0 1 2 0
AL 3 1 90 90
|
Teachers | Leaders: Nenad Čaklović, pred. |
Prerequisits | None |
Content | Win32 arhitektura: Windows operacijski sustav, DLL-ovi, Win32 API, Kernel, Win32 upravljanje memorijom. Win32 programiranje: Win32 programski tok, SDK windows programi, windows verzije, MFC. Dinamički vezane biblioteke: razlika dinamičkog i statičkog povezivanja, eksplicitno i implicitno povezivanje. Niti (threads): Win32 procesi i niti, enkapsulacija niti, nitna sinkronizacija, sigurnost niti. Win 32 procesi: kreiranje, sinkronizacija, terminiranje procesa. Standardne windows kontrole: Win32 standardne kotrole, MFC klase standardnih kontrola. Windows sistemski registar, Win32 registry API. Napredna Document/View arhitektura. Document obrasci, višestruke document i view klase. Napredni izbornici i alatne trake: dinamički izbornici i alatne trake. Napredni GDI: transformacija koordinata, skroliranje, ispis, metafiles, bitmape.
|
Learning objectives | Opća.
Programiranje upravljano događajima. Višejezično programiranje, Unicode. GUI. MDI aplikacije. Pristup bazama podataka.
Posebna.
Win32: kreiranje aplikacija; komunikacija prema OS-u i drugim aplikacijama; resursi; GDI.
MFC: osnove rada i korištenja; generatori koda, podrška u MS Visual Studio; podrška za ispis
|
Learning outcomes | 1. Understand and explain the working principles of Windows OS and Win32 platform; the difference between console and Win32 application; the way of working and the communication of application under Windows; principles of event driven programming in relation to procedural programming. 2. Use the key parts of Win32 platforms with and without code generator; including basic modules for creating and controlling the window and dialog and advanced modules for GUI, printing or ODBC database access. 3. To design, implement and test minor to middle Win32 projects, independently- including the definition of the appearance and the application behaviour in more languages.
|
Competencies | Kolegij pruža specijalistička znanja s područja programiranja kao nadogradnju jezgre računarstva i osposobljava polaznika za generiranje složenih korisničkih programa za operacijski sustav Windows
|
Recommended Literature | 1. Richter, Jeffrey: «Programming Application for Microsoft Windows», Microsoft Press, 1999.2. Petzold, Charles: «Programming Windows», Fifth edition, Microsoft Press, 1999. 3. Prosise, Jeff: «Programming Windows with MFC», Second edition, Microsoft Press, 1999. 4. Kruglinski, David J; Wingo, Scot; Sheperd, George: «Programming Microsoft Visual C++», Fifth edition, Microsoft Press, 1998.
|
Additional Literature | |
lectures (T) | - 1. UVOD
1.1. Glavni program
1.2. Tipovi podataka
- 2. PROZORI
2.1. Klase prozora
2.2. Kreiranje prozora
2.3. Procedura prozora
2.4. Poruke, petlja poruka
- 3. RESURSI
3.1. Vrste resursa
3.2. Datoteka sa resursima
3.3. Kreiranje i učitavanje resursa: ikona, kursor, tekst, prečica, izbornik, novi tip
- 4. DIJALOZI
4.1. Procedura dijaloga
4.2. Modalni dijalog
4.3. Kontrole, upotreba kontrola
4.4. Nemodalni dijalog
4.5. Standardni dijalozi
- 5. SETOVI ZNAKOVA
5.1. Unicode
5.2. Tip wchar_t, korištenje TCHAR-a
- 6. PORUKE SA ULAZNIH UREĐAJA
6.1. Tipkovnica
6.2. Miš
6.3. Mjerač vremena
- 7. GRAFIKA
7.1. Poruka WM_PAINT
7.2. Device context, svojstva, spremanje
7.3. Selektiranje objekata
7.4. Grafički objekti: olovka, četka, font, regija
7.5. Funkcije za crtanje: linija, područja, teksta
7.6. Načini punjenja, crtanja, preslikavanja
- 8. MFC BIBLIOTEKA
8.1. Povijesni razvoj
8.2. Osnovne klase: CWnd, CWinApp
8.3. Mapa poruka
8.4. Čarobnjaci u VisualStudiu
- 9. DIJALOZI U MFC-U
9.1. Klasa CDialog
9.2. Modalni i standardni dijalozi
9.3. Klase CPropertyPage i CPropertySheet
9.4. Kontrole, upotreba kontrola, DDX, DDV
9.5. Poruka WM_NOTIFY
- 10. ARHITEKTURA DOKUMENT-POGLED
10.1. Osnove arhitekture
10.2. Klase CDocument, CView; izvedene klase
10.3. Predlošci, klasa CSingleDocTemplate
10.4. MDI arhitektura, klasa CMultiDocTemplate
- 11. ŠTAMPANJE
11.1. Podrška za štampanje u MFC-u
- 12. DINAMIČKO KONFIGURIRANJE PROGRAMA
12.1. Registrar
12.2. Konfiguracijska datoteka
- 13. PRISTUP BAZAMA PODATAKA
13.1. Pristup preko ODBC-a
13.2. Klasa CDatabase, CRecordset
13.3. Iteriranje, filtriranje, RFX
- Not defined
- Not defined
|
numeric exercises (N) | - 1. UVOD 1.1. Glavni program 1.2. Tipovi podataka
- 2. PROZORI 2.1. Klase prozora 2.2. Kreiranje prozora 2.3. Procedura prozora 2.4. Poruke, petlja poruka
- 3. RESURSI 3.1. Vrste resursa 3.2. Datoteka sa resursima 3.3. Kreiranje i učitavanje resursa: ikona, kursor, tekst, prečica, izbornik, novi tip
- 4. DIJALOZI 4.1. Procedura dijaloga 4.2. Modalni dijalog 4.3. Kontrole, upotreba kontrola 4.4. Nemodalni dijalog 4.5. Standardni dijalozi
- 5. SETOVI ZNAKOVA 5.1. Unicode 5.2. Tip wchar_t, korištenje TCHAR-a
- 6. PORUKE SA ULAZNIH UREĐAJA 6.1. Tipkovnica 6.2. Miš 6.3. Mjerač vremena
- 7. GRAFIKA 7.1. Poruka WM_PAINT 7.2. Device context, svojstva, spremanje 7.3. Selektiranje objekata 7.4. Grafički objekti: olovka, četka, font, regija 7.5. Funkcije za crtanje: linija, područja, teksta 7.6. Načini punjenja, crtanja, preslikavanja
- 8. MFC BIBLIOTEKA 8.1. Povijesni razvoj 8.2. Osnovne klase: CWnd, CWinApp 8.3. Mapa poruka 8.4. Čarobnjaci u VisualStudiu
- 9. DIJALOZI U MFC-U 9.1. Klasa CDialog 9.2. Modalni i standardni dijalozi 9.3. Klase CPropertyPage i CPropertySheet 9.4. Kontrole, upotreba kontrola, DDX, DDV 9.5. Poruka WM_NOTIFY
- 10. ARHITEKTURA DOKUMENT-POGLED 10.1. Osnove arhitekture 10.2. Klase CDocument, CView; izvedene klase 10.3. Predlošci, klasa CSingleDocTemplate 10.4. MDI arhitektura, klasa CMultiDocTemplate
- 11. ŠTAMPANJE 11.1. Podrška za štampanje u MFC-u
- 12. DINAMIČKO KONFIGURIRANJE PROGRAMA 12.1. Registrar 12.2. Konfiguracijska datoteka
- 13. PRISTUP BAZAMA PODATAKA 13.1. Pristup preko ODBC-a 13.2. Klasa CDatabase, CRecordset 13.3. Iteriranje, filtriranje, RFX
- Not defined
- Not defined
|
laboratory exercises (L) | - minimalni Win32 program, kreiranje prozora, poruke
- C++ klase za male Win32 aplikacije
- dijalozi, proširenje biblioteke sa klasama za dijaloge
- obrada poruka miša i tipkovnice, jednostavna igra sa vođenjem broda
- osnove GDI-a, aplikacija za crtanje isprekidanih linija
- Win32 aplikacija koja iscrtava šahovnicu; konfigurabilni broj i boja polja
- Win32 aplikacija koja iscrtava tablicu množenja; konfigurabilna veličina tablice i font
- Win32 aplikacija koja iscrtava sinusoidu; konfigurabilni interval i legenda
- Win32 aplikacija koja crta cvijet iscrtavajući uzastopne krugove u XOR načinu crtanja; konfigurabilni broj i boja krugova
- Win32 aplikacija koja iscrtava bitovnu reprezentaciju teksta; konfigurabilni tekst i font
- MFC dijalog aplikacija sa upravljanjem standardnim kontrolama
- MFC MDI aplikacija sa više vrsta pogleda na dokument;
- MFC aplikacija koja pristupa bazi podataka preko ODBC-a sa podrškom za štampanje
|
preliminary exam - theory (PT) | - Nema kolokvija.
|
project (PR) | - Student mora specificirati, izraditi, dokumentirati, testirati i prezentirati Windows aplikaciju u jeziku C++ prema svom izboru.
|
exam - theory (ET) | - Ispit se polaže preko projekta. Konačna ocjena se formira na osnovu ocjene laboratorijskih vježbi, ocjena stečenih tijekom nastave na osnovu kratkih testova te ocjene praktičnog rada.
|
autonomus learning (AL) | - kolokviji, konzultacije, samostalno učenje, samostalno rješavanje numeričkih zadataka, samostalni rad u laboratoriju
|