Centar za edukaciju-BiH



#1 06.08.2013 08:53
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Procedure,funkcije,sub,argumenti,parametri
Rasprava u vezi termina koji se koriste za pojedine dijelove koda.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#2 06.08.2013 11:17
Getsbi Van mreze
Moderator
Registrovan od:04.02.2009
Postovi:128


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Razlika između parametara kod procedura i argumenata kod funkcija je Å¡to su parametri opcioni, a argumenti obavezni. Otuda i razlika u nazivima. Ovo napominjem zbog konvencije koje bi se trebalo pridržavati pri pisanju programskog koda. Procedure mogu da se pozovu na vrednosti parametara iz nekih drugih procedura i ne moraju.

Sub subname [( parameterlist )]
    statements
End Sub


Function functionname (argumentlist)
    statements
EndFunction

Funkciji najčeÅ¡će zadajete argument sa forme i iz tabele podataka. Mada verovatno ima i drugih načina.
Funkcija bez bar jednog argumenata ne postoji.

Ovako nešto ne postoji:

Function functionname ()
    statements
EndFunction


To Å¡to su inženjeri Microsofta u sintaksi dozvolili, ne mora da znači da je ispravno.
Neko bi mogao da se pozove na ugrađenu funkciju Now() i kaže da nema argument. Međutim i ona ima obavezni argument, a to je sistemski datum i vreme.

Ovo je važno kako bi smo znali kada da započnemo koje zaglavlje.
Ovaj post je ureden 1 puta. Posljednja izmjena 06.08.2013 11:19 od strane Getsbi. ↑  ↓

#3 06.08.2013 11:53
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Citiraj Getsbi:

Funkcija bez bar jednog argumenata ne postoji.
Ovako nešto ne postoji:

Function functionname ()
    statements
EndFunction



Ovo me zbunjuje. Ako funkcija bez argumenata ne postoji Å¡to je onda ovo u primjeru

PreuzmiIzvorni kôd (vbnet):
  1. Function UpisLog()
  2. '*******************************************
  3. 'Ime:      UpisLog   (Function)
  4. 'Sadržaj: Upisuje u tabelu A_Logovanje
  5.         'logovanja
  6. 'Autor:     ZXZ
  7. 'Datum:      listopad 15, 2007, 08:19:59
  8. 'Adresa: Tuzla BiH
  9. 'Email:     izonic@inet.ba
  10. 'Ulazni parametri:
  11. 'Izlazni parametri:
  12. '*******************************************
  13. Dim db As Database 'novo
  14. Dim rs As Recordset
  15.  
  16. 'Set Rs = Util.Db.OpenRecordset("A_Logovanje")
  17.  
  18. Set rs = db.OpenRecordset("A_Logovanje", dbOpenDynaset)
  19.  
  20. rs.AddNew
  21. rs!KorisnikID = M_Oper.OperID
  22. rs!VrijemeLog = M_Oper.VrijemeLog
  23. rs.Update
  24. rs.Close
  25. End Function
ili ovo
PreuzmiIzvorni kôd (vbnet):
  1. Function tkoRadiIme()
  2. tkoRadiIme = M_Oper.ImeO
  3. End Function

Pozdrav
↑  ↓

#4 06.08.2013 14:14
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Ovje je u stvari vise pitanje kako sta zvati.
Opet to dolazi po meni zbog loseg prevoda.
Wikipedija:
Citat:
Procedure su planovi koji utvrđuju neki nužan način postupanja u budućim aktivnostima. To je preciziranje kako određena aktivnost mora biti obavljena.
Cesto dolazi do zabune jer neki programski jezici kao sto je paskal(delphi) Imaju nazive Function i procedure.

E sad Variabla i argument.
variabla-znaci nesto variabilno promjenjljivo a argument nesto argumentovano.

Po meni to ide ovako:
function ImeProcedure(variabla1,variabla2)
Sam naziv promjenjljive jeste variabla jer je promjenjljiva a kada pozivamo:
dim a
a=Imeprocedure(argument1,argument2)
ovdje dodjeljujemo vrijednost variabli i to je argument ili vrijednost.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 06.08.2013 19:48
Getsbi Van mreze
Moderator
Registrovan od:04.02.2009
Postovi:128


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Kao Å¡to reče ZXZ, ovo je stvar kako Å¡ta zvati, a onda kako Å¡ta pisati.
Po meni su oba gornja primera procedure. Prva za punjenje tabele "A_Logovanje", a druga puni promenljivu "tkoRadiIme". Pretpostavljam da su vrednosti koje se tamo spominju neke Public varijable napunjene prilikom logovanja na aplikaciju.

Da bi ispunilo uslov za funkciju trebalo bi da potražuje argument i vraća vrednost. Recimo ona čuvena
Function slovima(broj)
---- ' [Namerno neću pisati ceo kod
--- ' da nebih opteretio poruku
End Funtion


Pa onda u Reportu napišeš u Control Source nevezanog text boxa, recimo u podnožju strane:
=slovima([ukupno])
Rezultat je slovni ispis nekog novčanog iznosa. To bi bila prava funkcija.

Ovo je kako i sama tema kaže Rasprava u vezi termina koji se koriste za pojedine dijelove koda.

Ja sam za uvođenje konvencije (dogovora) u pisanju koda, kad već Microsoftovi inženjeri nisu to reÅ¡ili kroz sintaksu.
Ovaj post je ureden 1 puta. Posljednja izmjena 06.08.2013 19:50 od strane Getsbi. ↑  ↓

#6 06.08.2013 19:53
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Da Kao sto je Getsbi naveo bitno je da mi prihvatimo isti termin ili pak da razumijemo jedni druge.
Na internetu je to saroliko cak i od jednog programskog jezika do drugog.
Neki programski jezici imaju samo funkcije i klase.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#7 07.08.2013 06:18
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Opet meni nešto nije jasno.
Na početku teme ZXZ kaže:
Citiraj ZXZ:

Tip procedure može biti:
-Sub
-Function (Funkcija)
A ovdje gore Getsbi kaže:
Citiraj Getsbi:

Po meni su oba gornja primera procedure.
Jasno mi je da su procedure ali dali su sub procedure ili Funkcije. Jer ja nešto što može biti Sub mogu nazvati i Function. Da li sam u pravu?
Pozdrav
↑  ↓

#8 07.08.2013 07:59
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Da u pravu si, neki to i tako kazu.
Procedura je postupak rjesavanja nekog problema a funkcija je rjesenje problema.
Naj bitnije je znati u cemu se sub razlikuje od Function a to je da sub nemoze u imenu vratiti neku vrijednost.
U nekim jezicima n i ne postoje sub kako sam vec negdje naveo ne sjecam se gdje.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#9 07.08.2013 11:25
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Bit ću dosadan dok ne bude potpuno jasno.
Sub procedura ne može vratiti vrijednost i npr:
PreuzmiIzvorni kôd (vbnet):
  1. Private Sub Dugme_Click()
  2.     Dim stDocName As String
  3.     stDocName = "NarivReporta"
  4.     DoCmd.OpenReport stDocName, acPreview
  5. End Sub
I isto to možemo napisati i kao funkciju:
PreuzmiIzvorni kôd (vbnet):
  1. Function OtvoriReport()
  2.     Dim stDocName As String
  3.     stDocName = "NarivReporta"
  4.     DoCmd.OpenReport stDocName, acPreview
  5. End Function

I sada to pozvati sa istog dugmeta sa
Call OtvoriReport()

Dok obrnuto ako neka funkcija treba vratiti neku vrijednost to ne možemo napisati kao Sub
Pozdrav
Ovaj post je ureden 1 puta. Posljednja izmjena 07.08.2013 11:47 od strane pmiroslav. ↑  ↓

#10 07.08.2013 12:50
zxz Na mrezi
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Procedure,funkcije,sub,argumenti,parametri
Samo je razlika sto sub mouze vratiti vrijednost u imenu.
Function Moja()
Moja=2
end function

sub Mojasub()
Mojasub=2
end sub
Ovo drugo nemece raditi,

Nemozes biti dosadan samo pitaj.
Forum sluzi za to i pitanja su na mjestu.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 11: 24 am.