Język Visual Basic Script
Spis tresci:
1. Wprowadzenie
1. Co to jest VBScript?
2. Dodawanie kodu VBScript do stron HTML
2. Elementy jezyka
1. Typy danych
2. Zmienne
3. Stale
4. Operatory
5. Instrukcje warunkowe
6. Petle
7. Procedury
8. Komentarze
3. Wspolpraca VBScript z przegladarka
1. Metody i wlasciwosci obiektow
2. Obsluga zdarzen
3. Obiekty ActiveX
1. Wprowadzenie
1.1. Co to jest VBScript?
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.
2. Elementy jezyka
2.1. Typy danych
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:
Empty - zmienna jest niezainicjalizowana, jej wartoscia numeryczna jest zero, a wartoscia znakowa pusty napis
Null - zmienna nie zawiera zadnej wartosci
Boolean - wartosc True lub False
Byte - wartosc od 0 do 255
Integer - 16-bitowa wartosc calkowita ze znakiem
Long - 32-bitowa wartosc calkowita ze znakiem
Single - zmiennoprzecinkowa wartosc pojedynczej precyzji
Double - zmiennoprzecinkowa wartosc podwojnej precyzji
Date(Time) - data i czas
String - napis (ciag znakow)
Object - wartoscia jest obiekt
Error - kod bledu
VBScript posiada funkcje konwersji typu zmiennej. Do sprawdzenia aktualnego typu zmiennej sluzy funkcja:
VarType (zmienna)
2.2. Zmienne
Deklaracja zmiennych:
Dim zm1, zm2, ...
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:
zm = wartosc
Natomiast przypisanie wartosci obiektowej wyglada nastepujaco:
Set zm = obiekt
W VBScript mozna uzywac tablic wielowymiarowych:
Dim tab(rozmiar1, rozmiar2, ...)
2.3. Stale
Definiowanie stalej
Const stala = wartosc
2.4. Operatory
Operatory arytmetyczne
^ - potegowanie
- - minus unarny
* - mnozenie
/ - dzielenie
\ - dzielenie calkowite
Mod - dzielenie modulo
+ - dodawanie
- - odejmowanie
& - konkatencja ciagow
Operatory porownania
= - rownosc
<> - nierownosc
< - mniejsze niz
> - wieksze niz
<= - mniejsze lub rowne
>= - wieksze lub rowne
Is - identycznosc obiektow
Operatory logiczne
Not - negacja
And - koniunkcja
Or - alternatywa
Xor - alternatywa wylaczna
Eqv - rownosc
Imp - implikacja
2.5. Instrukcje warunkowe
W VBScript wyrozniamy nastepujace instrukcje warunkowe:
If warunek Then
[instrukcje]
ElseIf warunek Then
[elseif instrukcje]
.
.
.
Else
[else instrukcje]
End If
oraz:
Select Case wyrazenie
Case lista-wyrazen
[instrukcje]
.
.
.
Case Else lista-wyrazen
[else instrukcje]
End Select
2.6. Petle
VBScript udostepnia nastepujace instrukcje petli:
Do...Loop
Skladnia:
Do [{While|Until} warunek]
[instrukcje]
Loop
albo:
Do
[instrukcje]
Loop [{While|Until} warunek]
Wewnatrz petli mozna umiescic instrukcje Exit Do, ktora powoduje wyjscie z petli.
While...Wend
Skladnia:
While warunek
[instrukcje]
Wend
For...Next
Skladnia:
For licznik=poczatek To koniec [Step krok]
[instrukcje]
Next
For Each...Next
Skladnia:
For Each element In grupa
[instrukcje]
Next
element jest zmienna, ktora przebiega po kolekcji obiektow lub tablicy grupa. Podobnie, jak dla petli Do...Loop, mozna wyjsc z petli For przez umieszczenie instrukcji Exit For w srodku.
2.7. Procedury
VBScript posiada procedury i funkcje, skladnia definicji procedury jest nastepujaca:
Sub nazwa [([ByVal|ByRef] parametr1, [ByVal|ByRef] parametr2, ...)]
[instrukcje]
End Sub
natomiast skladnia funkcji:
Function nazwa [([ByVal|ByRef] parametr1, [ByVal|ByRef] parametr2, ...)]
[instrukcje]
nazwa = wyrazenie
End Function
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:
nazwa parametr1, parametr2, ...
i funkcji:
zmienna = nazwa (parametr1, parametr2, ... )
VBScript posiada dwie uzyteczne wbudowane funkcje. Pierwsza to MsgBox, sluzy do wyswietlania komunikatu i udostepniana stosownych przyciskow wyboru:
MsgBox (tekst, przyciski, tytul)
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:
InputBox (tresc, tytul, odpowiedz_domyslna, wspx, wspy)
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.
2.8. Komentarze
Komentarze umieszczamy po apostrofie:
'komentarz
lub 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.wlasciwosc
i
obiekt.metoda
VBScript udostepnia kilka uzytecznych obiektow i ich metod i wlasciwosci:
obiekt Document - dokument HTML zawierajacy VBScirpt
metoda write ("...kod HTML...") pozwala na umieszczanie kodu HTML z poziomu VBScript
Document.nazwaformularza
zwraca obiekt reprezentujacy formularz
obiektformularz
reprezentuje formularz strony HTML
metoda Submit przesyla dane z formularza
obiektformularz.nazwaelster
zwraca obiekt reprezentujacy element sterujacy
obiektelster
reprezentuje element sterujacy formularza
obiektelster.Value
udostepnia wartosc wybranego elementu sterujacego
Sa to tylko najwazniejsze obiekty i ich niektore metody wystepujace w jezyku VBScript.
3.2. Obsluga zdarzen
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:
<SCRIPT LANGUAGE="VBScript">
<!--
Sub nazwaprocedury
.
.
.
End Sub
-->
</SCRIPT>
<BODY LANG="VBScript" NAZWAZDARZENIA="nazwaprocedury">
.
.
.
</BODY></HTML>
W naglowku definiujemy procedure obslugi zdarzenia, a w tagu BODY przypisujemy ja do obslugi odpowiedniego zdarzenia.
Druga to zdarzenia zwiazane z obiektami, uzywamy wtedy takiego schematu:
<SCRIPT LANGUAGE="VBScript">
<!--
Sub obiekt_NAZWAZDARZENIA
.
.
.
End Sub
-->
</SCRIPT>
3.3. Obiekty ActiveX
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:
<OBJECT
CLASSID="identyfikator klasy"
id=identyfikator obiektu
width=szerokosc
height=wysokosc
align=wyrownanie>
<PARAM NAME="nazwa parametru" VALUE="wartosc">
.
.
.
</OBJECT>
Identyfikator klasy oraz parametry obiektu nalezy odszukac w dokumentacji obiektow.
Offline