Arkadiusz Wojna
Jezyk Visual Basic Script
Spis tresci
Visual Basic Script jest jezykiem tworzenia skryptow dla przegladarek internetowych, opracowanym w firmie Microsoft, opartym na Visual Basicu. Obecnie tylko jedna przegladarka Microsoft Internet Explorer obsluguje VBScript. Skrypty jezyka umieszcza sie, podobnie jak JavaScript, w plikach HTML. Jezyk VBScript umozliwia dostep do obiektow OLE zwanych ActiveX, udostepnianych przez system na lokalnym serwerze przegladarki. Mozliwosc korzystania z obiektow ActiveX uniemozliwia kontrole bezpieczenstwa wykonywanych skryptow ze wzgledu na dowolnosc dzialania obiektow ActiveX.
1.2. Dodawanie kodu VBScript do stron HTML
Do umieszczania kodu na stronie HTML sluzy tag <SCRIPT>:
<SCRIPT LANGUAGE="VBScript"> <-- ukryj skrypt . . . tresc skryptu . . . // koniec skryptu --> </SCRIPT>
Mozna go umieszczac zarowno w naglowku strony jak i w jej tresci. W naglowku warto umieszczac kod funkcji i procedur, z ktorych zamierzamy korzystac, natomiast w tresci kod, ktory ma byc wykonany przy ladowaniu strony.
VBScript posiada tylko jeden typ danych Variant. Jest to specjalny typ danych, ktory moze zawierac rozne typy informacji zaleznie od tego, jak jest uzywana. Variant rozpoznaje typ wyrazenia zaleznie od kontekstu, w jakim jest uzyty. Rozpoznaje nastepujace podtypy:
VarType (zmienna)
Deklaracja zmiennych:
Deklaracja zmiennej nie jest wymagana, miejsce na zmienna jest rezerwowane w momencie pierwszego przypisania wartosci, mozemy zazadac jawnej deklaracji zmiennej przez umieszczenie dyrektywy Option Explicit na poczatku skryptu. Zmienne zadeklarowane w procedurze sa widoczne wewnatrz niej, a zmienne zadeklarowane poza procedurami sa widoczne w calym skrypcie. Przypisanie wartosci nieobiektowej ma nastepujaca skladnie:Dim zm1, zm2, ...
Natomiast przypisanie wartosci obiektowej wyglada nastepujaco:zm = wartosc
W VBScript mozna uzywac tablic wielowymiarowych:Set zm = obiekt
Dim tab(rozmiar1, rozmiar2, ...)
Definiowanie stalej
Const stala = wartosc
Operatory arytmetyczne
W VBScript wyrozniamy nastepujace instrukcje warunkowe:
oraz:If warunek Then [instrukcje] ElseIf warunek Then [elseif instrukcje] . . . Else [else instrukcje] End If
Select Case wyrazenie Case lista-wyrazen [instrukcje] . . . Case Else lista-wyrazen [else instrukcje] End Select
VBScript udostepnia nastepujace instrukcje petli:
albo:Do [{While|Until} warunek] [instrukcje] Loop
Wewnatrz petli mozna umiescic instrukcje Exit Do, ktora powoduje wyjscie z petli.Do [instrukcje] Loop [{While|Until} warunek]
While warunek [instrukcje] Wend
For licznik=poczatek To koniec [Step krok] [instrukcje] Next
For Each element In grupa [instrukcje] Next
VBScript posiada procedury i funkcje, skladnia definicji procedury jest nastepujaca:
natomiast skladnia funkcji:Sub nazwa [([ByVal|ByRef] parametr1, [ByVal|ByRef] parametr2, ...)] [instrukcje] End Sub
Wewnatrz procedur i funkcji mozna umieszczac instrukcje wyjscia odpowiednio Exit Sub i Exit Function. ByVal okresla przekazanie parametru przez wartosc, natomiast ByRef przez referencje. Wywolanie procedur:Function nazwa [([ByVal|ByRef] parametr1, [ByVal|ByRef] parametr2, ...)] [instrukcje] nazwa = wyrazenie End Function
i funkcji:nazwa parametr1, parametr2, ...
zmienna = nazwa (parametr1, parametr2, ... )
VBScript posiada dwie uzyteczne wbudowane funkcje. Pierwsza to MsgBox, sluzy do wyswietlania komunikatu i udostepniana stosownych przyciskow wyboru:
Parametr tekst okresla tresc komunikatu, przyciski okreslaja zbior przyciskow, natomiast tytul okresla tytul okna dialogowego. Funkcja zwraca kod nacisnietego przycisku. Druga uzyteczna funcja jest InputBox, sluzaca do pobierania wartosci od uzytkownika:MsgBox (tekst, przyciski, tytul)
Parametr tresc okresla tresc okna, tytul to tytul okna, odpowiedz_domyslna definiuje domyslna wartosc, wspx, wspy definiuja lewy gorny rog okna. Funkcja zwraca wartosc wpisana przez uzytkownika.InputBox (tresc, tytul, odpowiedz_domyslna, wspx, wspy)
Komentarze umieszczamy po apostrofie:
'komentarzlub po dwoch kreskach
// komentarz
3. Wspolpraca VBScript z przegladarka
3.1. Metody i wlasciwosci obiektow
W jezyku VBScript mozemy odwolywac sie do obiektow wystepujacych na
stronie zmieniajac ich wlasciwosci i wywolujac dla nich metody.
Odwolanie do wlasciwosci i metod wyglada podobnie:
obiekt.wlasciwosci
obiekt.metoda
VBScript udostepnia kilka uzytecznych obiektow i ich metod i wlasciwosci:
Document.nazwaformularzazwraca obiekt reprezentujacy formularz
obiektformularzreprezentuje formularz strony HTML
obiektformularz.nazwaelsterzwraca obiekt reprezentujacy element sterujacy
obiektelsterreprezentuje element sterujacy formularza
obiektelster.Valueudostepnia wartosc wybranego elementu sterujacego
W jezyku VBScript wyrozniamy takze zdarzenia, ktore mozemy definiowac. Mozemy podzielic je na dwie kategorie.
Pierwsza to zdarzenia zwiazane ze strona, ktore definiujemy wedlug nastepujacego schematu:
W naglowku definiujemy procedure obslugi zdarzenia, a w tagu BODY przypisujemy ja do obslugi odpowiedniego zdarzenia.<SCRIPT LANGUAGE="VBScript"> <!-- Sub nazwaprocedury . . . End Sub --> </SCRIPT> <BODY LANG="VBScript" NAZWAZDARZENIA="nazwaprocedury"> . . . </BODY></HTML>
Druga to zdarzenia zwiazane z obiektami, uzywamy wtedy takiego schematu:
<SCRIPT LANGUAGE="VBScript"> <!-- Sub obiekt_NAZWAZDARZENIA . . . End Sub --> </SCRIPT>
VBScript udostepnia nowa technologie ActiveX. Jest to biblioteka klas zawierajaca zestaw funkcji wykonywanych na obiektach, zawarta w plikach z rozszerzeniem .OCX. Zawiera ona tzw. obiekty OLE. System posiada spis udostepnianych obiektow, przegladarka przy definicji siega do tego spisu, znajduje go w odpowiedniej bibliotece i umieszcza na stronie. Definicja obiektu na stronie HTML wyglada nastepujaco:
Identyfikator klasy oraz parametry obiektu nalezy odszukac w dokumentacji obiektow.<OBJECT CLASSID="identyfikator klasy" id=identyfikator obiektu width=szerokosc height=wysokosc align=wyrownanie> <PARAM NAME="nazwa parametru" VALUE="wartosc"> . . . </OBJECT>