Naziv predmeta | Napredno Windows programiranje |
Detalji | Kod VSITE131 Skr. NWP ECTS 5 Godina 3 Semester Ljetni semestar Vrsta izborni Razina HKO 6 Preddiplomski studij E-Learning 0% |
Aktivnosti | IT zg - Ljet 24/25 ECTS Jedinice Sati Svega P 1 15 2 30
A 0 15 1 0
L 1 12 1 30
S 0 0 0 0
KA 0 0 0 0
KP 0 1 1 0
PR 0 1 6 0
IP 0 0 0 0
IU 0 1 2 0
SU 3 1 90 90
|
Nastavnici | Nositelji: Nenad Čaklović, pred. |
Preduvjeti | Nema |
Sadržaj | 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.
|
Ciljevi učenja | 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
|
Ishodi učenja | 1. Razumjeti i objasniti principe rada Windows OS-a i platforme Win32; razliku između konzolne i Win32 aplikacije; način rada i komunikaciju aplikacija pod Windowsima; principe programiranja upravljanog događajima (event driven) u odnosu na proceduralno programiranje. 2. Koristiti ključne dijelove Win32 platforme sa i bez generatora koda; uključujući osnovne module za kreiranje i kontrolu prozora i dijaloga te napredne module za GUI, ispis ili ODBC pristup bazama podataka. 3. Samostalno dizajnirati, implementirati i testirati manje do srednje Win32 projekte - uključujući definiciju izgleda i ponašanja aplikacije na više jezika
|
Sposobnosti | 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
|
Preporučena literatura | 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.
|
Dodatna literatura | |
predavanja (P) | - 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
- Nije definirano
- Nije definirano
|
auditorne vježbe (A) | - 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
- Nije definirano
- Nije definirano
|
laboratorijske vježbe (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
|
kolokvij - teorija (KP) | - Nema kolokvija.
|
projekt (PR) | - Student mora specificirati, izraditi, dokumentirati, testirati i prezentirati Windows aplikaciju u jeziku C++ prema svom izboru.
|
ispit - teorija (IU) | - 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.
|
samostalno učenje (SU) | - kolokviji, konzultacije, samostalno učenje, samostalno rješavanje numeričkih zadataka, samostalni rad u laboratoriju
|