uvod u objektno programiranje b - vpts.edu.rs u... · visoka poslovno-tehnička škola - užice 2...

15
3/13/2013 Visoka poslovno-tehnička škola - Užice Uvod u objektno programiranje Introduction to O bject O riented P rogramming (OOP) mr Milovan Milivojević dipl. ing. Visoka poslovno-tehnička škola Užice 2012/13

Upload: vuonganh

Post on 05-Feb-2018

237 views

Category:

Documents


8 download

TRANSCRIPT

3/13/2013Visoka poslovno-tehnička škola - Užice

Uvod u objektno programiranje

Introduction toObject Oriented Programming (OOP)

mr Milovan Milivojević dipl. ing.

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice 2

VBA – Visual Basic for ApplicationNije potpuno objektno programiranjeNeophodnost postojanja HOST aplikacije(Excel)

Elementi Objektnog Programiranja objektni model, objekti

Svojstva

Događaji

Procedure

Klase

Moduli

Forme

Enkapsulacija, Nasledjivanje, Polimorfizam...

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice 3

Programiranje VBA u Excel-u

Rezultati investicionihistraživanja…

Software za mehaniku tla ifundirnaje…

Ekonomika biznisa Analiza stabilnosti tehnoloskih

procesa… Statističke metode za

upravljanje kvalitetom… Generatori finansijjskih ponuda Upravljanje projektima –Gantt GIS integracija ...

Analizaproblema

/ Ideje / Znanje /Algoritmi /

Programiranje /Umetnost

Zadovoljstvo klijenata

KONSALTING

Software-skakreativnost /Resavanjeproblema

Primeri aplikacija

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice 4

VBE – Visual Basic Editor

Razvojno okruženje

Alt + F11 – pokretanje

Default prozori

Project Window

Properties Window

Immediate Window

Windows

Floating – plivajući

Dockable – dokirani

Vidljivost

View – Project Explorer

Ostali prozori (debugging) Local

Watch

Call Stack

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice 5

Prozor – Project Explorer

Prikaz koda za svaki od objekata

Selekcija + View Code na paletiProject Explorera

Selekcija + DTM + View Code izpom. Menija

Selekcija + F7

Selekcija + View + View Code

MicrosoftExcel Object

Korisničkeforme

User formsFORMS

ModulesProgramski

moduli -Kontejneri zaprocedure iprogramski

kod

ClassModulesKlasni

modulii -KModuli kojiomogućujukreiranje

sopstvenihobjekata

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice 6

VBA – Visual Basic for Application

Pravila sintakse VBA programiranja Početni mentalni model Okvir za izvršavanje najrazličitijij programerskih

zadataka

Prostudirati problem 22 x Problem u objašnjavanju: Koncepti objašnjeni

pomoću koncepata koji još nisu objašnjeni Programiranje – Umetnost – Kreacija - Nauka

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice 7

Pro

ced

ure

,dis

kre

tne

sekcije

pro

gra

mskog

koda

Gradivni blokovi VBA

Pro

ject

MODULE 1

Subroutine 1

Function 1

Subroutine 2

MODULE 2

Subroutine 3

Function 2

Function 3

MODULE n

Subroutine n

MODULE

Subroutine

Function

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice 8

VBA - Moduli

Pro

ject

MODULE 1

Subroutine 1

Function 1

Subroutine 2

MODULE 2

Subroutine 3

Function 2

Function 3

MODULE n

Subroutine n

Kontejner programskog koda

Grupisanje srodnih procedura (potprograma ifunkcija)

Omogućuju mehanizam deklarisanjazajedničkih (deljenih) promenljivih za sveprocedure unutar modula

Omogućuju Private procedure koje se ne vide izdrugih projekata ili modula (Visibility)

Lakše održavanje i ponovna upotrebaprogramskog koda - PREDNOST

Kreiranje modula prema funkcionalnosti(primer)

1. Module 1- interakcija sa bazom podataka

2. Module 2 – formatiranje podataka

3. Module 3 – Interakcija sa korisnikom

Lakše pronalaženje koda za izmene imodifikacije

MODULE

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice 9

VBA - Subroutine , Function

Pro

ject

MODULE 1

Subroutine 1

Function 1

Subroutine 2

MODULE 2

Subroutine 3

Function 2

Function 3

MODULE n

Subroutine n

Predstavljaju najmanji elemenat programakoji može biti izvršen (executed)

Generalni izgled:

Sub Primer()

[Program statement]

End Sub

Predstavljaju korak napred u odnosu naSubroutine jer omogućuju povvratakodređene vredosti ka proceduri iz koje jefunkcija pozvana

Mogu se definisati Korisničke funkcije(User – defined) koje se potom mogukoristiti iz Excel-a kao i sve poznate funkcije

Pro

ce

du

re

Subroutine

Function

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice

Primer

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice

Elemnetarni Primer

Private Sub CommandButton1_Click()Call PrimerALG1

End Sub

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice

Elementarni Primer / strana 1

Option ExplicitOption Base 1'By Mr Milovan Milivojevic dipl. ing, Dj. Forst, P.Popovic,, M.Suljagic'ALT+F11 -pokretanje VBA editora'Insert ---Module - dodavanje modula'U Modeule1 uneti program i testirati sa F5Sub PrimerALG1()

'deklarisanje objektinih promenljivihDim wb As WorkbookDim rg As Range

'deklarisanje obicnih varijabliDim i As ByteDim j As ByteDim n As IntegerDim S As IntegerDim P As Double'deklarisanje Matrice ADim A(15, 15) As Integer

'Inicijalizacija promenljivihSet wb = ThisWorkbookSet rg = wb.Worksheets("Sheet1").Range("B2")S = 0P = 1

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice

Elementarni Primer / strana 2

'Brisanje sadrzaja radnog listaWorksheets(1).Cells.Clear

'Ispisivanje teksta u celiji B2rg.Value = "PRIMER ZADATAK-1 //M.Milivojevic, Dj.Forst"

With rg.Font.Bold = True.Color = RGB(255, 0, 0)

End WithSet rg = rg.Offset(2, 0)

'Ispisivanje teksta u celiji B4rg.Value = "MATRICA - A"

With rg.Font.Bold = True.Color = RGB(0, 0, 255)

End WithSet rg = rg.Offset(2, 0)

'Ucitavanje dimenzije matricen = InputBox("Uneti dimenziju MAtriceA, n<=15", "PROMETEJ")

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice

Elementarni Primer / strana 3

'generisanje MatriceA - a(i,j)- slucajni celi brojevi u intervalu -5 do +15For i = 1 To n

For j = 1 To nRandomizeA(i, j) = Round(Rnd * (15 - (-5)) + (-5), 0)rg.Value = A(i, j)With rg.Font

.Bold = True

.Color = RGB(0, 0, 255)End With'Bojenje podloge u zavisnosti da li je clan iznad, na ili ispod glavne dijagonaleIf i < j Then

rg.Interior.Color = 234'racunanje zbira za clanove IZNAD glavne dijagonaleS = S + A(i, j)

ElseIf i > j Then

rg.Interior.Color = RGB(0, 255, 255)'RAcunanje proiyvoda za clanove ISPOD glavne dijagonaleP = P * A(i, j)

Else'Uokviravanje clanova na glavnoj dijagonalirg.Borders.Color = 22

End IfEnd IfSet rg = rg.Offset(0, 1)

Next jSet rg = rg.Offset(1, -n)

Next i

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3

3/13/2013Visoka poslovno-tehnička škola - Užice

Elementarni Primer / strana 4

Set rg = rg.Offset(2, 0)

'Stampanje rezultatarg.Value = "Suma Clanova Iznad GLAVNE DIJAGONALE"

With rg.Font.Bold = True.Color = RGB(255, 0, 0)

End WithSet rg = rg.Offset(1, 0)rg.Value = S

Set rg = rg.Offset(2, 0)

rg.Value = "PROIZVOD Clanova Ispod GLAVNE DIJAGONALE"With rg.Font

.Bold = True

.Color = RGB(0, 0, 255)End With

Set rg = rg.Offset(1, 0)rg.Value = P

'Razdruzivanje promenljivihSet rg = NothingSet wb = Nothing

End Sub

Visoka

poslo

vno-t

ehnič

ka šk

ola U

žice 2

012/1

3