10. Poverimo izbor funkciji. Setite se koliko smo puta do sada upotrebili funkciju SayString. Jednom kada smo naucili cemu ona sluzi i kakav joj parametar moramo posluziti, nije nas bilo briga o tome kako ona taj svoj posao radi. Jednostavno, mi smo znali da ona to radi i struktura njenog koda nas vise nije interesovala. Da se svaki put na mestu gde smo upisali njeno ime, nalazio njen izvorni kod, bila bi to prava guzva. Iako postoji zaista veliki broj ovakvih vec gotovih funkcija u Jaws-u, nama stoji na raspolaganju mogucnost da i sami napravimo funkcije koje ce izvrsavati neku jasno definisanu operaciju. Kao i svi dosadasnji primeri, ni ovaj nece imati neku vecu prakticnu vrednost sem da nam pokaze svrhu i konkretnu upotrebu funkcija u praksi. 1. Svedite nasu skriptu na ovih nekoliko jednostavnih redova: Script PozdravnaPoruka () Var string Poruka Let Poruka = "Pozdrav svima" SayString (Poruka) EndScript Kompilirajte skriptu i isprobajte je u Notepadu. Za sada nista novo. 2. Prepravite skriptu tako sto cete dva reda za deklarisanje promenljive izvuci izvan skripte i upisati ih u vrhu fajla da stoji ovako: ;Pocetak fajla Globals string Poruka Script PozdravnaPoruka () Let Poruka = "Pozdrav svima" SayString (Poruka) EndScript Primetili ste da smo pri deklarisanju promenljive za pocetnu rec upotrebili "Globals", a ne "Var". Znamo da se nasa string promenljiva "Poruka", do sada mogla koristiti samo u okviru nase skripte jer je unutar nje i bila deklarisana i zato smo je nazivali lokalnom promenljivom. Sada kada smo upotrebili ovaj novi nacin deklarisanja promenljivih, sve promenljive koje budemo naveli ispod reci Globals, zvacemo globalnim promenljivama i moci cemo da ih koristimo u bilo kojoj skripti ili funkciji naseg skript fajla, pa tako i u nasoj za sada jedinoj "PozdravnaPoruka". Kompilirajte skriptu. Kompajler se ne buni, i znaci da je do sada sve u redu. 3. Na prethodnim casovima smo u nasoj skripti birali poruku u zavisnosti od doba dana, odnosno sata. Poverimo sada taj zadatak posebnoj funkciji koju cemo nazvati "OdaberiPoruku". Pomerimo se na kraj naseg fajla i napravimo jedan prazan red izmedju reda EndScript i kursora koji cemo postaviti na kraju fajla. Pritisnimo "control+e" da udjemo u prozor za pravljenje skripti ili funkcija. Upisimo ime OdaberiPoruku bez razmaka i sa velikim slovom "P". Pritisnimo enter da izadjemo iz prozora jer vise nista nije potrebno upisati da bismo dobili pocetni izavrsni red nase funkcije. Sada nas fajl izgleda ovako: ;Pocetak fajla Globals string Poruka Script PozdravnaPoruka () Let Poruka = "Pozdrav svima" SayString (Poruka) EndScript Function OdaberiPoruku () Var EndFunction Upisimo u funkciju redove koji ce izvrsavati ono za sta smo je namenili. Funkcija treba da izgleda ovako: Function OdaberiPoruku () Var int Sat Let Sat = StringToInt (SysGetTime ("HH")) If Sat < 18 Then Let Poruka = "Dobar dan" Else Let Poruka = "Dobro vece" EndIf EndFunction Sve sto smo u ovu skriptu upisali, poznato nam je vec sa proslih casova. Zato kompilirajmo nas skript fajl, i pokrenimo nasu skriptu. Zasto jos uvek izgovara "Pozdrav svima"? Jasno, zato sto smo mi samo pozvali onu nasu vec prethodno napravljenu skriptu i ona radi kao i do sada. Posto je cilj nase funkcije da izvrsi odabir poruke i dodeli je globalnoj string promenljivoj Poruka, upotrebicemo je na mestu u nasoj skripti gde toj promenljivoj direktno dodeljujemo vrednost "Pozdrav svima". Izbacicemo red: Let Poruka = "Pozdrav svima" i na njegovo mesto upisati poziv nase funkcije: OdaberiPoruku () Tako ce konacno nas skript fajl izgledati ovako: ;pocetak skript fajla Globals string Poruka Script PozdravnaPoruka () OdaberiPoruku () SayString (Poruka) EndScript Function OdaberiPoruku () Var int Sat Let Sat = StringToInt (SysGetTime ("HH")) If Sat < 18 Then Let Poruka = "Dobar dan" Else Let Poruka = "Dobro vece" EndIf EndFunction Kompilirajte skript fajl i isprobajte skriptu. Da li radi kako ste predvideli? Posto smo funkciju definisali sami,, znamo njene karakteristike i bez konsultovanja dokumentacije. Ime funkcije: OdaberiPoruku Namena: Odabir poruke u zavisnosti od sata. Parametri: Nema parametara. Povratna vrednost: Nema povratnu vrednost. Cestitke! Napravili ste prvu svoju, korisnicku funkciju. Mozete je pozivati iz bilo koje skripte ili druge funkcije koje bi mogle da se kreiraju u nasem skript fajlu. "Sledecih 10 Lekcija" "Skok na sadrzaj"