Centar za edukaciju-BiH


Stranice (8):1,2,3,4,5,6,7,8

Anketa:Dali ste zainteresovani za ucesce u ovoj temi
Kandidat sam za ucesce u ovoj temi
 
12 92.3%
Nisam zainteresovan
 
1 7.7%
Broj glasova:13

#31 06.08.2013 18:22
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Ulazni parametri.
Ulazni parametri mogu uticati na sam tok procedure.
Naravno procedure mogu biti bez ulaznih parametara.
Preko ulaznijh parametara mozemo i vratiti neke vrijednosti ako nam trebaju.
Primjer:
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Function Osoba(Ime As String, DatumRodjenja As Date, Optional Godina As Integer) As Integer
  2. Dim Dani As Integer
  3. Dani = Date - DatumRodjenja
  4. Godina = Dani / 365
  5. Osoba = Dani Mod 365
  6. End Function
  7. Private Function Mujo()
  8. Dim StarostG As Integer
  9. Dim JosDana As Integer
  10.  
  11. JosDana = Osoba("Mujo", "01.01.1957", StarostG)
  12. MsgBox " Mujo ima: " & StarostG & " godina i " & JosDana & " Dana"
  13. End Function

Kao prvo ove dvije procedure se moraju nalaziti u istom modulu da bi ovo radilo zato sto su obadvije privatne.
Ukoliko proceduri osoba umjesto private stavimo Public ili pak ne stavimo nista onda se ona moze nalaziti u drugom modulu i sve ce opet raditi.
Ovdje je ocevidno da se radi o procedurama koje pozivaju jedna drugu, medjutim pored toga procedura Mujo dobija od procedure osoba godine i dane starosti na osnovu datuma rodjenja koji dobija iz prve procedure.

Sad bih volio da ovo dobro proucite te da postavljate pitanja za sve nejasnoce jer ovo je veoma bitno za dalji tok teme.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#32 06.08.2013 19:36
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Skola Vb-a za napredne
Me interesita ovaj vlezen parametar Optional Godina As Integer kazuva kolku sto razbiram jas deka moze da se koristi ili ne mora no dokolku se ostavi nepotpolneto nas funkcijata ke ni vrati deka ima greska odnosno fali vlezen parametar ?
↑  ↓

#33 06.08.2013 19:50
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Ja sam htio sve da napravim u jednoj proceduri ali ideja mi nije bas neka.
Mogli smo mi kroz optional godina i poslati neki parametar i opet da vratimo godine, takodje smo mogli vratiti godine kroz neki drugi parametar ulaza.
PreuzmiIzvorni kôd (Visual Basic):
  1. Public Function Osoba(Ime As String, DatumRodjenja As Date, Optional Godina As Integer) As Integer
  2. Dim Dani As Integer
  3.  
  4. Dani = Date - DatumRodjenja
  5. Godina = Dani / 365
  6. Ime = Dani / 365
  7. Osoba = Dani Mod 365
  8. End Function
  9. Private Function Mujo()
  10. Dim StarostG As Integer
  11. Dim JosDana As Integer
  12. Dim Ime As String
  13.  
  14. Ime = "Mujo"
  15. JosDana = Osoba(Ime, "01.01.1957", StarostG)
  16. MsgBox " MujoIma: " & Int(Ime) & " godina i " & JosDana & " Dana"
  17. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#34 07.08.2013 11:54
miro35 Van mreze
Clan
Registrovan od:05.01.2009
Postovi:608


Predmet:Re: Skola Vb-a za napredne
Možda ne kužim ali StarostG ne vidim da je definirana?
Miro
↑  ↓

#35 07.08.2013 13:10
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Ako gledamo StarostG variablu koja se nalazi u funkciji mujo i ona je ulazna variabla pri pozivu funkcije osobe.
Ona kao ulazna variabla ima naravno vrijednos nula i ta vrijednost se nigdje ne koristi u funkciji osoba koja priuvata tu vrijednost kroz varijablu godina.
Sada u proceduri osoba u variablu Godina upisuje se broj godina te samim tim taj broj godina se prenosi u variablu StarostG.

Ovo je dobro pitanje samo neznam jesam li ja dobro uspio objasniti.
Ja cekam na jos vasih pitanja jer mislim da ovo napr. vecini nije bilo jasno.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#36 07.08.2013 13:37
miro35 Van mreze
Clan
Registrovan od:05.01.2009
Postovi:608


Predmet:Re: Skola Vb-a za napredne
Dim StarostG As Integer...Ovo je zadano
Zatim imamo ovo: JosDana = Osoba("Mujo", "01.01.1957", StarostG)
Definirana je Osoba iz prethodne funkcije ali StarostG nije.
Miro
↑  ↓

#37 07.08.2013 13:47
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Citat:
Dim StarostG As Integer...Ovo je zadano
Zatim imamo ovo: JosDana = Osoba("Mujo", "01.01.1957", StarostG)
Definirana je Osoba iz prethodne funkcije ali StarostG nije.

Da StarostG Je dimenzionisana kao integer i samim tim poprima vrijednos 0.
I ona znaci ima vrijednost 0 sve dok se ne izvrsi procedura osoba gdje iz nje preko variable Godina poprima vrijednost te veraiable.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#38 07.08.2013 18:22
miomir Van mreze
Clan
Registrovan od:04.02.2009
Postovi:7


Predmet:Re: Skola Vb-a za napredne
Znaci ako sam shvatio gore moze da stoji i:

16. MsgBox " MujoIma: " & StarostG & " godina i " & JosDana & " Dana"
↑  ↓

#39 07.08.2013 18:37
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Citiraj miomir:
Znaci ako sam shvatio gore moze da stoji i:

16. MsgBox " MujoIma: " & StarostG & " godina i " & JosDana & " Dana"
Da da upravo tako.

Pozdrav miomiru i dobro dosao.
Miomir je jedan od najstarih clanova ovoga foruma.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 1 puta. Posljednja izmjena 07.08.2013 18:39 od strane zxz. ↑  ↓

#40 07.08.2013 19:17
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Evo jos jedan primjer.
U njemu mijenjajte vrijednost z od 1 do 3.
Pokrecite sub PozivR
PreuzmiIzvorni kôd (Visual Basic):
  1. Function Izracun(a As Integer, b As Integer, Optional c As Integer = 3)
  2. If c = 1 Then
  3. Izracun = a + b
  4. ElseIf c = 2 Then
  5. Izracun = a * b
  6. Else
  7. Izracun = (a + b) + (a * b)
  8. a = a + b
  9. b = a * b
  10. c = 100
  11. End If
  12. End Function
  13. Sub PozivR()
  14. Dim X As Integer, Y As Integer, Z As Integer, V As Integer
  15.  
  16. X = 2
  17. Y = 3
  18. Z = 1
  19. V = Izracun(X, Y, Z)
  20. MsgBox "V=" & V & vbCr & "X=" & X & vbCr & "Y=" & Y & vbCr & "Z=" & Z
  21. 'vbcr je prelazak u novi red
  22.  
  23. End Sub

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (8):1,2,3,4,5,6,7,8


Sva vremena su GMT +01:00. Trenutno vrijeme: 1: 36 pm.