Arkadiusz Wojna

Jezyk 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:

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

Operatory porownania Operatory logiczne


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:

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:

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.