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

#41 07.08.2013 21:39
Getsbi Van mreze
Moderator
Registrovan od:04.02.2009
Postovi:128



#42 07.08.2013 22:06
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


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.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#43 08.08.2013 07:12
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


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()
Pozdrav
Ovaj post je ureden 1 puta. Posljednja izmjena 08.08.2013 07:15 od strane pmiroslav. ↑  ↓

#44 08.08.2013 07:55
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Skola Vb-a za napredne
Hehe dobro pitanje.
Vidis ako je Private onda ima doseg samo u okviru modula.
Znaci mozemo je pozivati samo iz tog modula a to mozemo uraditei tako (samo ako nema ulazne parametre) sto cemo kursor pozicionirati negdje izmedju sub i end sub i pritisnuti funkcijski taster F5.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 1 puta. Posljednja izmjena 08.08.2013 07:57 od strane zxz. ↑  ↓

#45 08.08.2013 08:43
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Skola Vb-a za napredne
Ovo sa F5 radi.
Predlažem da u okviru ove teme raspravimo i o radu sa Visual basic editorim. Evo ja naprimjer nisam znao za ovaj štos sa F5, a tu ima još dosta stvari za naučiti. U menu-ima Visual basic Editora ima dosta ikonica za koje neznam za čega služe i kako se koriste.
Pozdrav
↑  ↓

#46 09.08.2013 10:08
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Skola Vb-a za napredne
Posto je sad izgleda svima jasno sto se tice naziva procedure i samog poziva iz druge onda idemo dalje.
Odma ispod naziva procedure dimenzionisaemo Variable (promjenjljive) koje cemo koristiti u samoj proceduri.
Naravno mozemo mi i bez dimenzionisanja koristiti variable ukoliko na vrhu tog modula ne pise onaj izraz:
Option explicit
Nebih nikome preporucio da radi bez ovoga odnosno da ne dimenzionise variable sem ako se ne radi samo o nekom primjeru a i tad se bolje navikavati da dimenzionisemo variable.

Sta znaci variabla pa dimenzionisanje iste?

variabla je nesto variabilno-promjeljivo.
To vam je skoro isto kao na digitronu memorija sem sto bi ih onda mogli imati neogranicen broj a kad ih imamo puno logicno je da im i ime mozemo nadjenuti tako da ih mozemo prepoznavati.
Ime variable mora biti jedna rijec ili bolje reci sve isto vazi kao sto smo naveli za ime procedure tako da ne opisujemo iste stvari ponovo.
Pored imena mozemo odrediti i tip variable. Ovo je neobavezno ali je veoma pozeljno.
Jer ukoliko ne odredimo tip variable ona ce poprimiti tip variant.
Variant zauzima i po najvise memorije a ima i drugih stvari zbog kojih je pozeljno odrediti tip variable.
O tipovima variabli cete procitati u helpu.
Sta mozemo zakljuciti?
Dimenzionisanje variabli znaci dodjeljivanje imena memorijskoj kao i tipa.
Kod stringa pored imena i tipa mozemo odrediti i broj karaktera.
Primjer:
Dim MojaVar as string *20

Znaci ova variabla moze prihvatiti samo 10 karaktera(Znakova)
Ukoliko proslijedimo ovoj variabli vise od 20 karaktera ona ce prihvatiti samo 20 slijeva na desno a ostale ce odbaciti.
Ukoliko pak proslijedimo manje od 20 karaktera ona ce ostatak do 20 zamijeniti preznim mjestima.

Variable mozemo dimenzionisati i na vrhu nekog modula i da nisu niti u jednoj proceduri.
Takva variabla se moze koristiti u svim procedurama koje se nalaze u tom modulu i posto je na nivou modula ona i zadrzava vrijednost i poslije izvrsenja procedure.
Ukoliko ovoj variabli dodamo prefix Global ili Public a ne nalazi se u modulu objekta(forme) onda takva variabla zadrzava svoju vriijednost citavim izvrsenjem aplikacije i moze se koristiti u bilo kojoj proceduri.
Znaci njen doseg je cijela app.

Mozda je ovdje dobro napomenuti da bilo kakav kod pisan u modulu forme vazi samo za tu formu.
Znaci njegov doseg je samo ta forma bez obzira na prefikse dosega.

Primjer dimenzionisanja variabli:
Dim Var1(6) As Integer, Var2 As String * 20, Var3 As Date
Dim MojaVar1(1 To 5) As Double
Static Mojavar2 As Integer
Dim Mojavar3 As Object
Dim MojaVar4(4, 4) As String
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 1 puta. Posljednja izmjena 10.08.2013 23:10 od strane zxz. ↑  ↓

#47 12.08.2013 08:47
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Skola Vb-a za napredne
Kako treba odrediti tip brojčane varijable. Kada je odrediti kao Integer, kada Single ili Double.
Naime nedavno sam pisao jednu proceduru gdje sam između ostalog imao

Dim Iznos As Integer
...
Do While Not rs.EOF
Iznos = rs.Fields(3) + Iznos
rs.MoveNext
Loop

Dobio sam grešku 'Overflow' i tek kada sam promjenio Dim Iznos As Double procedura radi kako treba.
Pozdrav
↑  ↓

#48 12.08.2013 09:36
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Skola Vb-a za napredne
Mislim da sam o ovome negdje napisao ali u svakom slucaju je pitanje na mjestu.
Upisivanje brojcane vrijednosti variavle iz jedne u drugu ne ide ako nisu istog tipa u stvari ako to zelimo uraditi onda ispred moramo dodati byval i val.
Primjer:
Function VariableD(ByVal UlaznaVar As Integer)
Dim a As Integer, C As String
C = "3.12345"
a = Val(C)
VariableD = a
End Function
Function PoziviD()
Dim B As Integer, U As Double
U = 1.12345
B = VariableD(U)
End Function

Ukliko u proceduri VariableD Ispred ulaznog parametra UlaznaVar ne dodamo Byval poziv iz procedure pozivd nece raditi iz razloga sto je pozivna i ulazna variabla razlicitog tipa.

a = Val(C)
Isto tako ni upis iz var string nebi islo.

E sad pitanje je bilo kada odabrati koju brojcanu variablu.
To moramo sami odrediti.
Imamo:
Integer
Lon ili lon integer
Single i double

Tip odredjujemo na osnovu onoga sta zelimo sacuvati u toj variabli.
Ukoliko zelimo sacuvari broj redova u bazi to nece sigurno biti Double nego vjerovatno integer.
Kao sto sam naveo u helpu imate opisano od do vrijednosti brojcanih variabli.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#49 12.08.2013 10:47
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Skola Vb-a za napredne
17 ljudi se prijavilo da su zaintetresirani za učešće u ovoj teme, a sada nigdje nikoga. Javljajte se malo šteta bi bilo da se ovo ugasi.
Pozdrav
↑  ↓

#50 12.08.2013 12:29
miro35 Van mreze
Clan
Registrovan od:05.01.2009
Postovi:608


Predmet:Re: Skola Vb-a za napredne
Pratim ovo i čini mi se da razumjem dobro.
Miro
↑  ↓

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


Sva vremena su GMT +02:00. Trenutno vrijeme: 9: 56 am.