VBScript – Modularizacija često korišćenog koda

Modularizacija često korišćenog segmenta programskog koda nije ništa drugo do izdvajanje datog koda u posebne procedure/funkcije koje će moći da se pozivaju iz bilo kog dela skripta. Na ovaj način sam programski kod postaje pregledniji i daleko manji (u slučaju da je ponavljajući segment dugačak). Uočite u sledećem primeru određeni broj instrukcija koje se ponavljaju:


<SCRIPT LANGUAGE="VBScript">
<!–
strPrvi = InputBox( "Koja je trenutna temperatura
u stepenima Farenhajta?" )
strPrviCelzijus = (strPrvi – 32) / 1.8
MsgBox "To je " & strPrviCelzijus & " u stepenima Celzijusa."

strDrugi = InputBox( "Koja je jucerasnja temperatura
u stepenima Farenhajta?" )
strDrugiCelzijus = (strDrugi – 32) / 1.8
MsgBox "To je " & strDrugiCelzijus & " u stepenima Celzijusa."
–>
</SCRIPT>


Kao što vidite, imamo mali nemodularni skript koji preračunava stepene Farenhajta u stepene Celzijusa, gde se jedan te isti (ili sličan) programski kod dva puta ponavlja. Nakon preračunavanja prikazuje se poruka korisniku u vidu jedne rečenice.

Modularizaciju ovog skripta možemo izvršiti stavljanjem ponavljajućih instrukcija u posebnu podproceduru (podprogram). Potom, bilo kad, sa bilo kog mesta možete pozvati podproceduru kada vam je potrebno da temperaturu konvertujete iz Farenhajta u Celzijuse i prikažete rezultat korisnicima. Upravo takvu modularizaciju možete videti u sledećem listingu:


<SCRIPT LANGUAGE="VBScript">
<!–
Sub PrikaziCelzijuse( strTemperatura )
strCelzijus = (strTemperatura – 32) / 1.8
MsgBox "To je " & strCelzijus & " u stepenima Celzijusa."
End Sub

sngTemp = InputBox( "Koja je trenutna temperatura
u stepenima Farenhajta?" )
PrikaziCelzijuse( strTemp )

sngTemp = InputBox( "Koja je jucerasnja temperatura
u stepenima Farenhajta?" )
PrikaziCelzijuse( strTemp )
–>
</SCRIPT>


Skript prvo deklariše podproceduru nazvanu „PrikaziCelzijuse“. „PrikaziCelzijuse“, po pozivanju, prihvata argument „strTemperatura“, što je samo naziv za vrednost koja se prosleđuje sa prve pozicije prilikom poziva podprocedure. Proceduri možete proslediti bilo koju vrednost, a ona će konvertovati temperaturu u Farenhajtima u Celzijuse i prikazati rezultat korisnicima.

Nakon deklaracije podprocedure, imamo InputBox-ove koji od korisnika prihvataju unete vrednosti u varijable strTemp. Nakon toga skript poziva podproceduru sa prosleđenim argumentom, tj. vrednošću koju je uneo korisnik. Vrši se konverzija unete vrednosti i prikazuje se rezultat.

Pratite Krstaricu na www.krstarica.com