Centar za edukaciju-BiH



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

#21 05.08.2013 14:53
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Sub Procedure se koriste svuda ne samo na formama.
Na formama moraju biti private sub zbog automatkog kreiranja.
primjer:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Privatna mora biti jer pod istim nazivom mozemo je imati i na drugoj formi.
Sub mora biti jer vraca podatke koji je taster pritisnut i polozaj misa.

Isto tako pravimo mi neku proceduru kao funkciju ukaze se potreba da napravimo neku sub proceduru koja ce obradivati neki odredjeni sklop podataka i vracati vise rezultata.
Sub procedura vraca vrijednosti kroz ulazne parametre odnosno ulazne variable.
Ti cesto koristis pretragu iz solution koja je kreirana sa jednom procedurom i jednom sub procedurom.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#22 05.08.2013 17:47
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Molio bih one koji prate ovu temu da na vrhu teme topic Option odaberu instant obavijest tako da dobijaju stalna obavjestenja te samim tim prate temui budu aktivni.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 1 puta. Posljednja izmjena 05.08.2013 17:48 od strane zxz. ↑  ↓

#23 05.08.2013 17:56
dex Van mreze
Super Moderator
Registrovan od:23.02.2012
Postovi:625


Predmet:Re: Skola Vb-a za napredne
Hteo bih jos da dodam da Access od logickih operacija prepoznaje jos i ekvivalenciju obelezava se sa Eqv

aba Eqv b
FalseFalseTrue
FalseTrueFalse
TrueFalseFalse
TrueTrueTrue

kao i implikaciju obelezava se sa Imp

aba Imp b
FalseFalseTrue
FalseTrueTrue
TrueFalseFalse
TrueTrueTrue
↑  ↓

#24 05.08.2013 19:15
Getsbi Van mreze
Moderator
Registrovan od:04.02.2009
Postovi:128


Predmet:Re: Skola Vb-a za napredne
Da ne ostane maglovita situacija kada pisati funkciju, a kad procedure evo mog priloga.

Funkcija ili D= f(X) je neÅ¡to Å¡to traži argument i vraća vrednost. Elementi skupa X se nazivaju argumenti. Оsnоvnа kаrаktеristikа funkciје је dа zа јеdnu ulаznu vrеdnоst dоbiја nајviÅ¡е јеdnа izlаznа vrеdnоst.

Prоcеdurа је sеriја аktivnоsti, zаdаtаkа, kоrаkа, оdlukа, kаlkulаciја i drugih prоcеsа, kоја kаdа sе prеduzimа u zаdаtоm rеdоslеdu, dаје prоpisаni rеzultаt. Procedura nema argumente već ulazne parametre neophodne za njeno izvrÅ¡enje.

Osnovna razlika između procedura i funkcija je u tome Å¡to funkcija vraća vrednost, tj. poziv funkcije može da se tretira kao izraz određenog tipa i da se kao takav koristi u okviru drugih izraza istog tipa.

Na vama je da na osnovu gornjeg odlučite kada da piÅ¡ete :

Function (argument1, argument2….)
……
End Function


a kada

Sub ime procedure (paramer1, parameter2…)
……
End Sub


Ako i dalje niste sigurni pogledajte ovaj link sa primerima: http://arhimed.matf.bg.ac.rs/...i.html#fun
Ovaj post je ureden 1 puta. Posljednja izmjena 05.08.2013 19:18 od strane Getsbi. ↑  ↓

#25 05.08.2013 20:56
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Ovom Raspravom sigurno cemo mnogima pomutiti mozak ali eto.
Prvo se moramo pitati sta poimamo pod rijecju procedura.
Po meni procedura je postupak rjesavanja nekog zadatka.
I ovo tvoje je dobro
Citat:
Prоcеdurа је sеriја аktivnоsti, zаdаtаkа, kоrаkа, оdlukа, kаlkulаciја i drugih prоcеsа, kоја kаdа sе prеduzimа u zаdаtоm rеdоslеdu, dаје prоpisаni rеzultаt. Procedura nema argumente već ulazne parametre neophodne za njeno izvrÅ¡enje.
E sad se pitam zasto funkcija nije procedura a sub jeste.

Citat:
Aplikacija u Visual Basicu sastoji se od manjih logičkih dijelova
nazvanih procedurama (potprogramima)
• Dvije su velike prednosti programiranja s procedurama:
• dopuÅ¡taju razbijanje aplikacija u zasebne logičke cjeline
• mogu se upotrijebiti kao blokovi za izgradnju drugih aplikacija
Vrste procedura:
• Sub procedure - ne vraćaju vrijednost
• Function procedure - vraćaju vrijednost
• Property procedure - vraćaju i dodjeljuju vrijednosti i postavljaju
pokazivače prema objektima

Citat:
Procedura nema argumente već ulazne parametre neophodne za njeno izvrÅ¡enje.
E sad i ovo je pitanje sta je argument a sta ulazni parametar.
I funkcija i sub imaju ulazne parametre ili ulazne argumente kako hoces i tu nema nikakve razlike stim sub ne vraca vrijednost u imenu nego samo kroz ulazne parametre.

Ovo sam napisao samo zato da bi se bolje razumjelo a kako ce ko sta zvati to je druga stvar.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#26 06.08.2013 08:47
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Ako je ovo jasno onda idemo dalje.
E sad da bi napisali dobru proceduru (Funkciju ili sub) morali bi ukloniti sve moguce greske koje se mogu javiti prilikom izvrsenja koda.
Tokom pisanja i testiranja koda mogu se javiti tri vrste gresaka:
sintaktičke greÅ¡ke (otkriva ih kompajler),
greške povezivanja (otkrivamo ih pri pokretanju programa),
logičke pogreÅ¡ke (mora ih otkriti sami).

Ukoliko moze doci do greske zbog ulaznih parametara onda bi te greske trebali presresti u samoj proceduri i napisati upute za daljni rad.
Sam Vb ima biblioteku gresaka koje su oznacene brojevima i opisom.
Njegove greske su uopstene i cesto nama ne daju dovoljno dobro objasnje a i druga stvar je sto nisu na nasem jeziku.
Iz ovoga Proizilazi da bi bolje bilo da opis gresaka radimo sami.
Primjer:
PreuzmiIzvorni kôd (Visual Basic):
  1. Function ImeProcedure(Argument1, argument2)
  2. On Error GoTo Greska
  3.  
  4. DoCmd.OpenForm "Imenekeforme"
  5. If Argument1 > 100 Then
  6. Err.Number = 1024
  7. GoTo Greska
  8. Else
  9. Err.Number = 7000
  10. GoTo Greska
  11. End If
  12. Izlaz:
  13. Exit Function
  14. Greska:
  15. Select Case Err.Number
  16. Case 1024
  17. MsgBox "Argument1 nije u okviru dozvoljenog"
  18. Case 2102
  19. MsgBox "Trazeni podaci nisu nadjeni"
  20. Case Else
  21. MsgBox "Nepoznata greska u proceduri " & "Ime procedure"
  22. End Select
  23. Kraj:
  24. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 1 puta. Posljednja izmjena 06.08.2013 08:57 od strane zxz. ↑  ↓

#27 06.08.2013 09:32
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Eh sad smo ovdje nakucali bezbroj nepoznatih stvari pa idemo redom.
Function ImeProcedure(Argument1, argument2)
Function-Govori nam da je to funkcijska procedura odnosno funkcija.
Moglo je biti ispred function napisano Public ili Private Ili pak Static.
Private (Privatno)- (neobavezno) označava da je procedura dostupna samo procedurama u istom modulu.
Public (Javna)- (neobavezno) označava da je procedura dostupna svakoj drugoj u bilo kojem modulu svih aktivnih Workbook i nju se može pozvati.
Static (Statična)- (neobavezno) pokazuje da su u proceduri varijable sačuvane kada postupak zavrÅ¡i.
Ukoliko se ne navede niti jedan od ova tri argumenta onda je procedura Public.

ImeProcedure-O njemu smo vec pisali to je samo ime procedure i ukoliko se radi o funkciji onda mozemo vratiti neku vrijednost a i nemoramo.
Znaci ukoliko se radi o funkciji i samo ime procedure je jedna variabla kojoj mozemo dodijeliti vrijednost.
E posto se radi o variabli onda joj isto mozemo odrediti i tip.
Tip imena procedure pise se na kraju iza zatvorene zagrade koja oivicava ulazne parametre.
Primjer:
Function ImeProcedure((Argument1, argument2, argument3) as String
U predhodnom primjeru smo dimenzionisali variablu imena procedure kao string.

Pozeljno je uvijek dimenzionisati sve variable iako je to neobavezno u VB-u.
Ukoliko to ne radimo program ce nam raditi sigurno sporije.

Argument1,Argument2...
Argument1,argument2... su ulazni parametri pri pokretanju procedure.
Od njih zavisi sam tok procedure.
Pozeljno je da i ulazni parametri budu dimenzionisani.
Ukoliko ispred ulaznog parametra dodamo rijec optional onda taj parametar nije obavezan pri pozivu procedure.
Primjer:
Function UlazniParametri(Par1 As Integer, Optional Par2 As Integer = 7) As Integer
UlazniParametri = Par1 + Par2
End Function


Ovu proceduru mozemo pozvati ovako:
Sub PozivP()
Dim a
a = UlazniParametri(2, 10)
End Sub

Ili Ovako:
Sub PozivP()
Dim a
a = UlazniParametri(2)
End Sub

Kako vidite ukoliko je ulazni parametar neobavezan opnda mu mozemo dodijeliti vrijednost u samom nazivu.
U nekim drugim programskim jezicima to je moguce svim variablama.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#28 06.08.2013 11:58
miro35 Van mreze
Clan
Registrovan od:05.01.2009
Postovi:608


Predmet:Re: Skola Vb-a za napredne
Da li ovo znači:
Citat:
Sub PozivP()
Dim a
a = UlazniParametri(2, 10)
End Sub
Da je a = 12
Misli miz ove funkcije:
PreuzmiIzvorni kôd (Text):
  1. Function UlazniParametri(Par1 As Integer, Optional Par2 As Integer = 7) As Integer
  2. UlazniParametri = Par1 + Par2
  3. End Function

Miro
Ovaj post je ureden 1 puta. Posljednja izmjena 06.08.2013 12:00 od strane miro35. ↑  ↓

#29 06.08.2013 13:12
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Da u tvom slucaju je a= 12 zato sto si u pozivu vrijednost par2 stavio 10.
Znaci ako ga ispustimo pri pozivu on ce imati vrijednost 7
U tvom slucaju je to a=2+10=12
a da si u pozivu imao napr:
a = UlazniParametri(7, 6)
a=7+6=13
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#30 06.08.2013 14:25
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Skola Vb-a za napredne
Poziv procedure

Jednu i vise procedura mozemo pozvati iz druge procedure bez obzire dali i te procedure imaju poziv prema nekim procedurama i tako dalje.
Sam postupak poziva ima dva nacina:
NazivProcedure ulazniparametar1,ulazniparametar2...
i u drugom slucaju ako procedura u imenu vraca vrijednost tada ide:
dim a
a=ImeProcedure(UlazniParametar1;ulazniParametar2...)

Postoji itreci nacin a to je:
call ImeProcedure(UlazniParametar1;ulazniParametar2...)
U ovom slucaju nemamo ili nam netreba izlazni parametar a nismo se odrekli zagrade.
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: 11: 55 am.