miro35 07.08.2013 12:54
Predmet:Re: Skola Vb-a za napredne

Možda ne kužim ali StarostG ne vidim da je definirana?

zxz 07.08.2013 14:10
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.

miro35 07.08.2013 14:37
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.

zxz 07.08.2013 14:47
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.

miomir 07.08.2013 19:22
Predmet:Re: Skola Vb-a za napredne

Znaci ako sam shvatio gore moze da stoji i:

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

zxz 07.08.2013 19:37
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.

zxz 07.08.2013 20:17
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

Getsbi 07.08.2013 21:39
Predmet:Re: Skola Vb-a za napredne

Ukucao sam i radi korektno.

zxz 07.08.2013 22:06
Predmet:Re: Skola Vb-a za napredne

Ukoliko jos nekome nije jasno kako se prenose vrijednosti iz jedne u drugu proceduru neka se javi jer trebamo ici dalje.
Ovo je veoma bitno za daljni tok rada.

pmiroslav 08.08.2013 07:12
Predmet:Re: Skola Vb-a za napredne

Kod mene ovo ne radi.
U Immdiate Window napišem
?PozivR()
i dobijem poruku 'Compile Error: Expected Function or Variable'

Proradi tek kada Sub PozivR() preimenujem u Function PozivR().

Sličan je slučaj i sa prvim primjerom Mujo
Ne radi kada je Private Function Mujo(), a radi kada je samo Function Mujo()