Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica » html
Script-uri la nivel client - limbajul VBScript

Script-uri la nivel client - limbajul VBScript


Script-uri la nivel client - limbajul VBScript

VBScript este o versiune a limbajului Visual Basic, conceputa de Microsoft ca un concurent pentru limbajul JavaScript, cu scopul de a insera elemente interactive in documentele HTML. Ca limbaj proprietar al Microsoft, VBScript nu poate fi interpreat decat de Internet Explorer, navigatorul Web al aceleiasi companii. Datorita acestui fapt, acest limbaj nu are portabilitatea JavaScript, de exemplu, recunoscut de majoritatea navigatoarelor existente (inclusiv de Internet Explorer).

Raportat la ansamblul tehnologiilor propuse de Microsoft, VBScript poate fi utilizat in mai multe contexte, cum sunt:

  • Windows Scripting Host (WSH) : este vorba despre un interpretor de script-uri dezvoltat pentru sistemele Microsoft Windows, permitand, de exemplu, scrierea de script-uri destinate facilitarii administrarii lor. Aceste fisiere VBScript au in general extensia de fisier .vbs
  • Microsoft Internet Explorer : limbajul VBScript poate fi integrat in paginile HTML, la fel ca si JavaScript, cu scopul de a oferi functionalitati interactive.
  • Microsoft Internet Information Services (IIS) : in cazul serverului Web al Microsoft, VBScript este limbajul privilegiat pentru programarea paginilor Active Server Pages (ASP), adica pentru crearea de pagini Web dinamice, construite pe partea server a unui site/aplicatie Web.

Ca orice limbaj de script, VBScript este un limbaj interpretat, ceea ce inseamna ca script-urile scrise cu ajutorul lui nu necesita compilare inainte de a fi executate. In schimb, este necesar ca masina destinata sa le execute sa posede un interpetor. Dupa contextul de utilizare, diferitele «interpretoare» sunt :



  • ASP asp.dll) intr-un context Web ;
  • wscript.exe intr-un context Windows ;
  • cscript.exe intr-un context cu linie de comanda.

In cele ce urmeaza se considera utilizarea VBScript in paginile HTML, adica pentru script-uri la nivel client, interpretate de catre componenta adecvata a navigatorului Internet Explorer.

In HTML, un script este un ansamblu de comenzi incadrate de marcajele <SCRIPT> si </SCRIPT>. Navigatorul are nevoie sa cunoasca limbajul folosit (JavaScript sau VBScript), care poate fi specificat cu atributul language al marcajului de inceput al script-ului :

<SCRIPT LANGUAGE='JavaScript'> sau <SCRIPT LANGUAGE='VBScript'>

Se prezinta in continuare un prim exemplu, utilizand VBScript :

<HTML>
   <BODY>
      <SCRIPT LANGUAGE='VBScript'>
         Document.Write Now
      </SCRIPT>
   </BODY>
</HTML>

Se poate introduce codul sursa utilizand, de exemplu, Notepad si salvand fisierul ca pagina HTML normala (*.htm), a carei deschidere in navigator are ca efect afisarea pe ecran a datei curente. Se poate regasi textul sursa al paginii cu comanda View Source a meniului contextual al paginii deschise cu navigatorul Internet Explorer. In cadrul textului sursa HTML script-urile pot fi plasate:

  • Inainte de <HTML> daca script-ul trebuie sa se execute inainte de compunerea paginii;
  • In zona de antet a paginii (delimitata de <HEAD> .</HEAD>), daca se doreste predeclararea unor proceduri sau regruparea script-urilor;
  • In corpul paginii (delimitat de <BODY> .</BODY>), in functie de necesitati, pe masura aparitiei acestora;
  • In interiorul unui marcaj, daca script-ul nu este prea lung :

<A href='vbscript:' onclick='vbscript:MsgBox('Salut !')'>Buna ziua</A>

da hiperlegatura Buna ziua.

  • Dupa </HTML> daca script-ul are nevoie sa astepte pentru ca pagina sa fie complet construita pentru a fi executat;
  • In marcajul <BODY> se poate, de asemenea, apela un script in functie de producerea unui eveniment, situatiile uzuale fiind:

<BODY onload='start( )'> va apela functia start( ) la incheierea incarcarii paginii;

<BODY onunload='quit( )'>va apela functia quit( ) cand vizitatorul paraseste pagina.

  • Intr-un fisier separat, pentru tot ceea ce poate fi utilizat repetat, din diverse pagini.

Pentru a evita rescrierea de mai multe ori a acelorasi linii de cod, se poate recurge la apelul unor proceduri de tip subrutina (Sub) sau functie (Function), construite aplicand aceleasi reguli ca in Visual Basic:

  • O procedura poate returna n >= 0 rezultate, prin intermediul parametrilor si este apelata printr-o instructiune distincta;
  • O functie returneaza uzual un singur rezultat, asociat cu numele ei, si se apeleaza ca un operand intr-o expresie.

Exemplul urmator propune o dezvoltare a exercitiului dat anterior, folosind o procedura pentru calculul uni decalaj fata de data curenta cu afisarea pe ecran a datei obtinute pentru diversele apeluri :

<HTML>
   <HEAD>
      <SCRIPT LANGUAGE='VBScript'>
         Sub DoData(decalaj)
    Dim d
    d = DateAdd('d',decalaj,now)
    Document.Write d
         End Sub
      </SCRIPT>
   </HEAD>
   <BODY>
      Azi suntem pe data <SCRIPT>DoData 0</SCRIPT>

<BR><BR>
      Ieri am fost pe data <SCRIPT>DoData -1</SCRIPT>

<BR><BR>
      Maine vom fi pe data <SCRIPT>DoData 1</SCRIPT>

   </BODY>
</HTML>

Procedura DoData apeleaza o functia interna a VBScript, DateAdd care, pornind de la rezultatul returnat de functia Now, respectiv data curenta, calculeaza o noua data in functie de valoarea parametrului decalaj: data curenta pentru decalaj = 0, data de ieri pentru decalaj = -1, respectiv data de maine pentru decalaj = 1.

Se remarca faptul ca script-ul continand procedura DoData a fost inclus in zona de antet a paginii HTML, de unde poate fi apelat in mod repetat in corpul paginii. Instructiunile pentru apelul procedurii DoData sunt tot cod VBScript, ceea ce explica constructiile <SCRIPT> </SCRIPT> din corpul paginii. In absenta atributului LANGUAGE, limbajul de script considerat implicit este VBScript.

Presupunand ca acest cod sursa a fost introdus in Notepad si salvat ca fisier cu extensia .htm, la deschiderea paginii respective in Internet Explorer se va obtine o forma de tipul celei date in figura 1.

Pentru ilustrarea utilizarii unei functii, se considera exemplul urmator, in care se determina ora curenta, cu precizarea orei minutului si secundei, obtinute tot prin apelul functiei Now, urmata de afisarea pe ecran:

<HTML>

<HEAD>

<META HTTP-EQUIV='refresh' CONTENT='10'>

<SCRIPT LANGUAGE='VBScript'>

Function DoOra()

Dim d

d=Now

DoOra = 'Este ' _

& Hour(d) & 'h ' _

& Minute(d) & '' ' _

& Second(d) & ''''

End Function

</SCRIPT>

</HEAD>

<BODY>

<SCRIPT>document.write DoOra()</SCRIPT>

</BODY>

</HTML>

In acest caz, prin folosirea in zona de antet a marcajului <META .>, pagina este reimprospatata automat (HTTP-EQUIV='refresh' ) la fiecare 10 secunde (CONTENT='10')

Presupunand ca si in cazul anterior ca acest cod sursa a fost introdus in Notepad si salvat ca fisier cu extensia .htm, la deschiderea paginii respective in Internet Explorer se va obtine o forma de tipul celei date in figura 2.

Intr-o pagina HTML pentru a afisa textul «Ziua» se scrie textul ca atare, dar acest lucru poate fi facut si prin script, cu metoda Write a obiectului Document:

<SCRIPT LANGUAGE='VBScript'>
   Document.Write 'Ziua '

</SCRIPT>

Pentru a crea o succesiune de sapte linii, se poate folosi un script cu o structura For .Next :

<SCRIPT LANGUAGE='VBScript'>
   For i = 1 to 7
      document.write 'Ziua ' & i & '<BR>'

Next
</SCRIPT>

Este, de asemenea, posibil sa se creeze tablouri cu diverse structuri si cu un continut in functie de necesitati. De exemplu, script-ul :

<SCRIPT LANGUAGE='VBScript'>
   Document.Write '<TABLE WIDTH=100% BORDER=1>'
   For i = 1 to 7
      Document.Write '<TR>'
      For j = 1 to 7
         document.write '<TH>' & i*j & '</TH>'
      Next
      Document.Write '</TR>'
   Next
   Document.Write '</TABLE>'
</SCRIPT>

va avea ca efect afisarea in fereastra navigatorului a tabelului prezentat in figura 3.

Evident, posibilitatile de a interveni prin script-uri client in controlul modului de construire a paginilor HTML si a modului lor de manifestare, dupa afisarea in navigator, sunt mult mai numeroase, dar acest lucru presupune cunoasterea aprofundata a limbajului VBScript.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.