IZBORNIK HOME FORUM ACCESS EXCEL WORD KAZALO
   
  Kazalo Visual basic
1 Visual Basic 6.0 UVOD
2 Varijable i konstante
3 Prihvat i ispis podataka
4 Nizovi podataka
5 Upis i čitanje iz datoteke
6 Slučajni brojevi
7 Logička provjera
8 Pretvaranje i izdvajanje podataka
9 Programske petlje
10 Potprogrami i funkcije
11 Grafika u VB
12 Multimedija u VB
13 Razni primjeri
   
.17
.
AutoCad tutoriali

-

.
.

Adsense sponzor



VB - Visual Basic za početnike i neznalice - VBA for dummies

VB - VISUAL BASIC 6.0
POTPROGRAMI I FUNKCIJE

Search This Web Site

Adsense sponzor






OBJAŠNJENJE


Potprogrami i funkcije su zasebni dijelovi programa koji imaju svoja unikatna imena te mogu prihvatiti jednu ili više vrijednosti na obradu. Koriste se u slučaju kada program mora često izvoditi isti slijed naredbi ili izračunavati vrijednosti po istim formulama, kako se ne bi svaki puta morao pisati jedan te isti programski kod.

  

POTPROGRAMI (SUBRUTINE)


Potprogram započinje iskazom SUB iza kojega ide ime potprograma a završava iskazom END SUB.
Poziva se iskazom CALL iza kojega ide naziv potprograma koji se poziva (npr. CALL ObradiIme).
Nakon što pozvani potprogram završi s radom, kontrolu vraća iza iskaza CALL kojim je pozvan.


Primjer prijenosa vrijednosti u potprogram:

PROGRAMSKI KOD OBJAŠNJENJE
REM prijenos vrijednosti u potprogram
a$ = InputBox("Upiši svoje ime:")
IF LEN(a$) > 0 THEN
     CALL ObradiIme(a$)
END IF
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

SUB ObradiIme (ime$)
     msg1 = "
Prvo slovo:" & LEFT$(ime$,1)
     msg2 = "Zadnje slovo:" & RIGHT$(ime$,1)
     MsgBox msg1 & VbCrLf & msg2
END SUB
'(ovaj dio staviti unutar nekog događaja)
'prihvat imena u varijablu a$
'ako je upisani broj slova veći od 0
'... pozovi potprogram i prenesi mu a$

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

'POČETAK POTPROGRAMA ObradiIme
'     uzima prvo slovo prenesenog imena
'     uzima zadnje slovo prenesenog imena
'     ispis prvog i zadnjeg slova imena
'KRAJ POTPROGRAMA


Primjer izbora rada s pozivom potprograma:

PROGRAMSKI KOD OBJAŠNJENJE
REM izbor rada u glavnom programu
DO
   msg1 = "
IZBOR RADA:" & VbCrLf
   msg2 = "
1 - Ispis brojeva" & VbCrLf
   msg3 = "
2 - Ispis abecede" & VbCrLf
   msg4 = "
3 - Kraj rada"
   msg = msg1 & msg2 & msg3 & msg4
   x = VAL(InputBox(msg))
   IF x = 1 THEN
        CALL Brojevi
   ELSEIF x = 2 THEN
        CALL Abeceda
   END IF
LOOP WHILE x > 0 AND x < 3
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

SUB Brojevi
     FOR i =
1 TO 10
          msg = msg & i & "
, "
     NEXT i
     MsgBox msg
END SUB

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

SUB Abeceda
     FOR i =
65 TO 90
          msg = msg & CHR$(i) & "
, "
     NEXT i
     MsgBox msg
END SUB
'(ovaj dio staviti unutar nekog događaja)
'početak DO...LOOP petlje
'     upis izbora rada u varijable...
'
'
'
'     spajanje izbora rada u jednu varijablu
'     prihvat odgovora od korisnika
'     ako je korisnik izabrao broj 1
'     ... pozovi potprogram Brojevi
'     ako je korisnik izabrao broj 2
'     ... pozovi potprogram Abeceda
'
'vrti petlju sve dok je x = 1 ili x = 2
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

'POČETAK POTPROGRAMA Brojevi
'
'... prihvat brojeva kroz FOR...NEXT petlju
'
'... ispis brojeva
'KRAJ POTPROGRAMA
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

'POČETAK POTPROGRAMA Abeceda
'
'... prihvat slova kroz FOR...NEXT petlju
'     CHR$ vraća ASCII znak navedenog broja
'... ispis abecede
'KRAJ POTPROGRAMA
   

FUNKCIJE


Funkcija započinje iskazom FUNCTION iza kojega ide ime funkcije a završava s END FUNCTION.
Obzirom da funkcija uvijek vraća neku vrijednost, poziva se samo navođenjem njezinog imena.


Primjer poziva funkcije za pretvaranje slova u velika:

PROGRAMSKI KOD OBJAŠNJENJE
REM pretvaranje slova u velika
a$ = InputBox("Upiši svoje ime malim slovima:")
b$ = DajVelikaSlova$
(a$)
MsgBox "
Ime velikim slovima:" & b$
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

FUNCTION DajVelikaSlova$ (ime$)
     DajVelikaSlova$ = UCASE$(ime$)
END FUNCTION
'(ovaj dio staviti unutar nekog događaja)
'prihvat imena u varijablu a$
'poziv funkcije i prijenos imena (a$) u nju
'ispis pretvorenog imena
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

'POČETAK FUNKCIJE DajVelikaSlova$
'     pretvaranje imena u velika slova
'KRAJ FUNKCIJE


Primjer poziva funkcije za dijeljenje dva broja i prijenosa brojeva u funkciju:

PROGRAMSKI KOD OBJAŠNJENJE
REM dijeljenje dva broja
x = VAL(InputBox("Upiši djeljenik:"))
y = VAL(InputBox("
Upiši djelitelj:"))
r = Podijeli
(x, y)
MsgBox "
REZULTAT JE:" & r
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

FUNCTION Podijeli (a, b)
     IF b >
0 THEN
          Podijeli = a / b

     ELSE
          Podijeli =
0
     END IF
END FUNCTION
'(ovaj dio staviti unutar nekog događaja)
'prihvat prvog broja u varijablu x
'prihvat drugog broja u varijablu y
'poziv funkcije i prijenos x i y u nju
'ispis rezultata dijeljenja
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

'POČETAK FUNKCIJE Podijeli
'     ako je drugi broj veći od 0
'     ... vrijednost Podijeli = a / b
'     ako je drugi broj = 0
'     ... vrijednost Podijeli = 0
'    (da ne dođe do greške zbog dijeljenja s 0)!
'KRAJ FUNKCIJE

Adsense sponzor







Adsense sponzor



  Ova web stranica koristi COOKIES - COPYRIGHT - 2006 - 2017 - IvanC - ic.ims.hr