La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

VBScript © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto in italiano: © 2002 Prentice.

Presentazioni simili


Presentazione sul tema: "VBScript © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto in italiano: © 2002 Prentice."— Transcript della presentazione:

1 VBScript © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto in italiano: © 2002 Prentice Hall H. M. Deitel, P. J. Deitel, T. R. Nieto Internet & World Wide Web – How To Program (Second Edition) Stefano Clemente s.clemente@ei.unibo.it

2 26 Ottobre 2004Stefano Clemente2 Introduzione VBScript sta per Visual Basic Script È un sottoinsieme di Microsoft Visual Basic I browser MSIE contengono un interprete VBScript Le possibilità di VBScript per lo scripting lato client sono simili a quelle di JavaScript − dal lato client l’uso permette di “migliorare” i documenti XHTML VBScript è usato con i Server Web Microsoft per creare ASP − VBScript è lo standard de facto per ASP

3 26 Ottobre 2004Stefano Clemente3 Operatori VBScript è case-insensitive È dotato di operatori − aritmetici − logici − di concatenazione − di confronto − relazionali

4 26 Ottobre 2004Stefano Clemente4 Operatori Aritmetici OperazioneOperatore Espressione Algebrica EspressioneVBScript Addizione+ x + y Sottrazione– z – 8 Moltiplicazione* yb y * b Divisione (virgola mobile)/ v ÷ u v / u Divisione (intera)\ v \ u Esponenziazione^ q p q ^ p Negazione- -e-e ModuloMod q mod r q Mod r

5 26 Ottobre 2004Stefano Clemente5 Operatori Logici OperazioneOperatore Espressione Logica EspressioneVBScript And LogicoAnd a ⋀ b a And b Or LogicoOr a ⋁ b a Or b Negazione LogicaNot ¬ a Not a

6 26 Ottobre 2004Stefano Clemente6 Operatori Relazionali Operatore di relazione Operatore VBScript Esempio == a = b ≠<> a <> b >> a > b << a < b ≥>= a >= b ≤<= a <= b

7 26 Ottobre 2004Stefano Clemente7 Operatori di concatenazione stringhe Gli operatori di concatenazione di stringhe sono − + − & Es: il risultato delle due operazioni − "Pro" + "gram" Pro" & "gram" − “ Pro" & "gram" "Program" è sempre la stringa "Program" Gli operatori sono equivalenti se usati su stringhe, mentre se uno dei due argomenti è, per esempio, di tipo numerico − "Stringa" + 2 "Stringa" produce un errore di violazione dei tipi, perché VBScript cercherà di convertire "Stringa" in un numero per eseguire una somma.

8 26 Ottobre 2004Stefano Clemente8 Tipi di dati variantVBScript ha un solo tipo di dato, il variant variantIl variant contiene gli altri tipi (stringhe, interi, numeri in virgola mobile, …) variantIl variant è trattato in base all’informazione che contiene variantLe variabili variant − non possono essere parole riservate di VBScript − devono cominciare con una lettera − devono avere nomi con lunghezza massima di 255 caratteri − i nomi possono contenere lettere, cifre e underscore Una variabile è dichiarata nel momento in cui viene utilizzata Option ExplicitSi può costringere a dichiarare una variabile prima di utilizzarla attraverso l’istruzione Option Explicit

9 26 Ottobre 2004Stefano Clemente9 Sottotipi di Variant SottotipoIntervallo/Descrizione Boolean True o False Byte0..255 Currency–922337203685477,5808..922337203685477,5807 Date/Time 1/1/100..31/12/9999 / 0:00:00..23:59:59. Double –1.79769313486232E308..–4.94065645841247E–324 (-) 4.94065645841247E–324..1.79769313486232E308 (+) EmptyNon inizializzato: 0 per i tipi numerici, False per I boolean e "" per le stringhe Integer–32768..32767 Long–2147483648..2147483647 ObjectQualsiasi tipo oggetto Single –3.402823E38..–1.401298E–45 (-) 1.401298E–45..3.402823E38 (+) String0..~2000000000 caratteri

10 26 Ottobre 2004Stefano Clemente10 Strutture di controllo JavaScriptVBScript ifIf/Then/EndIf if/elseIf/Then/Else/EndIf while While/Wend Do While/Loop While/Wend o Do While/Loop forFor/Next do/while Do/Loop While switch Select Case/End Select Do Until/Loop Do/Loop Until

11 26 Ottobre 2004Stefano Clemente11 Strutture di controllo if ( s == t ) u = s + t; else if ( s > t ) u = r; else u = n;JavaScript if ( s == t ) u = s + t; else if ( s > t ) u = r; else u = n; If s = t Then u = s + t ElseIf s > t Then u = r Else u = n End IfVBScript If s = t Then u = s + t ElseIf s > t Then u = r Else u = n End If

12 26 Ottobre 2004Stefano Clemente12 Strutture di controllo switch ( x ) { case 1: alert(“1”); break; case 2: alert(“2”); break; default: alert(“?”); }JavaScript switch ( x ) { case 1: alert(“1”); break; case 2: alert(“2”); break; default: alert(“?”); } Select Case x Case 1 Call MsgBox(“1”) Case 2 Call MsgBox(“2”) Case Else Call MsgBox(“?”) End SelectVBScript Select Case x Case 1 Call MsgBox(“1”) Case 2 Call MsgBox(“2”) Case Else Call MsgBox(“?”) End Select

13 26 Ottobre 2004Stefano Clemente13 Strutture di controllo while ( !( x == 10) ) ++x; do { ++x; } while (!( x == 10 ));JavaScript while ( !( x == 10) ) ++x; do { ++x; } while (!( x == 10 )); Do Until x = 10 x = x + 1 Loop Do x = x + 1 Loop Until x = 10VBScript Do Until x = 10 x = x + 1 Loop Do x = x + 1 Loop Until x = 10

14 26 Ottobre 2004Stefano Clemente14 Strutture di controllo x = 8; for ( y = 1; y < x; y++ ) x /= 2;JavaScript x = 8; for ( y = 1; y < x; y++ ) x /= 2; x = 8 For y = 1 To x x = x \ 2 NextVBScript x = 8 For y = 1 To x x = x \ 2 Next ‘ VBScript For y = 2 To 20 Step 2 Call MsgBox( "y = " & y ) Next

15 26 Ottobre 2004Stefano Clemente15 Esempio 1 "http://www.w3.org/TR/xhtml1/DTD/xhtml1 -transitional.dtd"> Our first VBScript Our first VBScript

16 26 Ottobre 2004Stefano Clemente16 Esempio 1 --> cmdAdd è il nome del bottone della form OnClick è l’evento cmdAdd è il nome del bottone della form OnClick è l’evento", "description": "26 Ottobre 2004Stefano Clemente16 Esempio 1 --> cmdAdd è il nome del bottone della form OnClick è l’evento", "width": "800" }

17 26 Ottobre 2004Stefano Clemente17 Esempio 1 Click the button to add an integer to the total. Click the button to add an integer to the total. value = "Click Here to Add to the Total" />

18 26 Ottobre 2004Stefano Clemente18 Esempio 1

19 26 Ottobre 2004Stefano Clemente19 Esempio 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Select a site to browse Select a site to browse Select a site to browse Select a site to browse Deitel & Associates, Inc. Deitel & Associates, Inc. Prentice Hall Prentice Hall Prentice Hall Interactive Prentice Hall Interactive

20 26 Ottobre 2004Stefano Clemente20 Esempio 2

21 26 Ottobre 2004Stefano Clemente21 Esempio 2

22 26 Ottobre 2004Stefano Clemente22 Esempio 3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Using VBScript Procedures Using VBScript Procedures -->

25 26 Ottobre 2004Stefano Clemente25 Esempio 3 Enter a number Enter a number value = "0" /> Enter a number Enter a number value = "0" /> Enter a number Enter a number value = "0" /> value = "Enter" />

26 26 Ottobre 2004Stefano Clemente26 Esempio 3

27 26 Ottobre 2004Stefano Clemente27 Array Gli array sono strutture dati con elementi dello stesso tipo − array a dimensione fissa − array a dimensione fissa – la dimensione non cambia durante l’esecuzione Dim var_array ( )Dichiarazione Dim var_array ( ) redimmable array − array a dimensione variabile (redimmable array) – la dimensione può essere modificata durante l’esecuzione Dim var_array ( )Dichiarazione Dim var_array ( ) È possibile definire array multi-dimensionali semplicemente specificando più indici separati da virgole Dim var_array ( dimensione1, …, dimensionen ) − Es. Dim var_array ( dimensione1, …, dimensionen )

28 26 Ottobre 2004Stefano Clemente28 Array ReDimIl ridimensionamento dell’array di dimensione variabile può essere eseguito attraverso l’istruzione ReDim e può comportare − la riduzione della dimensione specificando una dimensione minore dell’attuale − l’ampliamento della dimensione specificando una dimensione maggiore dell’attuale ReDim var_array( )Es. ReDim var_array( ) ReDimIl comando ReDim è distruttivo e quando viene eseguito l’array perde gli elementi che contiene Preserve − i valori contenuti nell’array possono essere conservati specificando l’opzione Preserve ReDim Preserve var_array ( )es: ReDim Preserve var_array ( )

29 26 Ottobre 2004Stefano Clemente29 Array PreserveL’opzione Preserve comporta, nel caso di riduzione della dimensione dell’array, la perdita dei dati eccedenti la nuova dimensione e la conservazione degli altri var_array( indice ) 0 (Re)DimPer accedere agli elementi di un array si usa la sintassi var_array( indice ) e il primo elemento ha indice 0 mentre l’ultimo ha indice uguale alla dimensione specificata nel comando (Re)Dim Esistono due funzioni − LBound (sempre 0) LBound ( var_array ) LBound (var_array, numero_dimensione) − LBound – restituisce il più piccolo indice dell’array (sempre 0) es: LBound ( var_array ) per array mono-dimensionali LBound (var_array, numero_dimensione) per multi-dim. − UBound UBound (var_array ) UBound (var_array, numero_dimensione) − UBound – restituisce il più grande indice dell’array es: UBound (var_array ) per array mono-dimensionali UBound (var_array, numero_dimensione) per multi-dim. Erase var_arrayLa memoria allocata per gli array dinamici può essere rilasciata Erase var_array − in questo caso l’array dovrà essere ridimensionato prima di essere usato nuovamente

30 26 Ottobre 2004Stefano Clemente30 Esempio 4 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Using VBScript Arrays Using VBScript Arrays -->

32 26 Ottobre 2004Stefano Clemente32 Esempio 4

33 26 Ottobre 2004Stefano Clemente33 Manipolazione di stringhe Una delle caratteristiche più potenti di VBScript è la manipolazione di stringhe Le stringhe sono case-sensitiveLe stringhe sono case-sensitive I caratteri di una stringa sono numerabili per mezzo di indici − Il primo carattere ha indice 1 VBScript dispone di diverse funzioni per la manipolazione di stringhe La maggior parte di queste funzioni non modificano la stringa, ma restituiscono come risultato una stringa corrispondente alla stringa modificata

34 26 Ottobre 2004Stefano Clemente34 Funzioni per la manipolazione di stringhe FunzioneDescrizione Asc Restituisce il codice ASCII di un carattere. Es. Asc("x") = 120. Chr Restituisce il carattere relativo a un codice ASCII. Es. Chr(120) = “x” L’argomento deve essere un intero compreso tra 0 e 255, altrimenti viene restituito un errore. InStr Verifica se una stringa (primo argomento) contiene una sottostringa (secondo argomento). La ricerca è fatta da sinistra verso destra. In caso di successo restituisce l’indice del primo carattere della stringa corrispondente al primo della sottostringa, altrimenti restituisce 0. Es. Instr("sparrow","arrow") = 3, Instr("japan","wax") = 0. Len Restituisce il numero di caratteri della stringa. Len("hello") = 5. LCase Restituisce la stringa passata come argomento, ma con soli caratteri minuscoli. Es. LCase("HELLO@97[") = “hello@97[” UCase Restituisce la stringa passata come argomento, ma con soli caratteri maiuscoli. Es. UCase("hello@97[") returns “HELLO@97[” Left Restituisce i primi n (secondo argomento) caratteri più a sinistra di una stringa (primo argomento). Es. Left("Web",2) = “We”

35 26 Ottobre 2004Stefano Clemente35 Funzioni per la manipolazione di stringhe FunzioneDescrizione Mid Restituisce gli n (terzo argomento) caratteri di una stringa (primo argomento) a partire dalla posizione m (secondo argomento). Es. Mid("abcd",2,3)= “bcd” Right Restituisce i primi n (secondo argomento) caratteri più a destra di una stringa (primo argomento). Es. Right("Web",2) returns “eb” Space Restituisce una stringa di n (argomento) spazi. Es. Space(4)restituisce una stringa di 4 spazi StrComp Verifica l’uguaglianza di due stringhe e restituisce 1 se la prima stringa è maggiore della seconda, -1 se la prima stringa è minore della seconda, 0 se le stringhe sono equivalenti. Il confronto di default è binario (=, case-sensitive). Passando come terzo argomento vbTextCompare è possibile eseguire un confronto case-insensitive. Es. StrComp("bcd", "BCD") = 1, StrComp("BCD", "bcd")= -1, StrComp("bcd", "bcd") = 0, StrComp("bcd", "BCD", vbTextCompare)= 0 String Restituisce una stringa in cui un carattere (primo argomento) è ripetuto n volte (secondo argomento). Es. String(4,"u")= “uuuu” Trim Restituisce una stringa senza spazi all’inizio e alla fine. Es. Trim(" hi ")= “hi” LTrim Restituisce una stringa senza spazi all’inizio. Es. LTrim(" yes")= “yes”

36 26 Ottobre 2004Stefano Clemente36 Funzioni per la manipolazione di stringhe FunzioneDescrizione RTrim Restituisce una stringa senza spazi alla fine. Es. RTrim("no ") = “no” Filter Restituisce un array di stringhe contenente il risultato dell’operazione di filtraggio Es. Filter(Array("A","S","D","F","G","D"),"D") restituisce un array di due elementi contenente "D" e "D", mentre Filter(Array("A","S","D","F","G","D"),"D",False) restituisce un array contenente "A", "S", "F" e "G" Join Restituisce una stringa contenente la concatenazione di elementi Array separati da un delimitatore, eventualmente passato come secondo argomento opzionale (default = spazio). Es Join(Array("one","two","three")) = “one two three.”, Join(Array("one","two","three"),"$^") = “one$^two$^three” Replace Restituisce una stringa. Richiede tre argomenti, la stringa nella quale si vogliono sostituire dei caratteri, la sottostringa da cercare e la sottostringa con la quale si vuole sostituire (è case-sensitive). Es. Replace("It's Sunday and the sun is out","sun","moon") = “It's Sunday and the moon is out”

37 26 Ottobre 2004Stefano Clemente37 Funzioni per la manipolazione di stringhe FunzioneDescrizione Split Restituisce un array di sottostringhe della stringa passata come argomento. La stringa viene divisa considerando per default lo spazio come separatore, un carattere separatore diverso può essere passato come secondo argomento (opzionale). Es. Split("I met a traveller") restituisce "I", "met", "a" e "traveller" Split("red,white,and blue", ",") restituisce "red", "white" e "and blue" StrReverse Restituisce una stringa (argomento) in ordine inverso. Es. StrReverse("deer") = “reed” InStrRev Verifica se una stringa (primo argomento) contiene una sottostringa (secondo argomento). La ricerca è fatta da destra verso sinistra. In caso di successo restituisce l’indice del primo carattere della stringa corrispondente al primo della sottostringa, altrimenti restituisce 0. es. InstrRev("sparrow","arrow") = 3 InstrRev("japan","wax") = 0 InstrRev("to be or not to be","to be") = 14

38 26 Ottobre 2004Stefano Clemente38 Esempio 5 "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"> Using VBScript String Functions Using VBScript String Functions -->

41 26 Ottobre 2004Stefano Clemente41 Esempio 5 Enter a sentence Enter a sentence Pig Latin Pig Latin value = "Translate" />

42 26 Ottobre 2004Stefano Clemente42 Esempio 5

43 26 Ottobre 2004Stefano Clemente43 Classi e Oggetti ClassIn VBScript l’unità della programmazione OO è la classe ( Class ) dalla quale gli oggetti sono creati (istanziati) I metodi sono procedure VBScript incapsulate all’interno delle classi insieme ai dati che esse elaborano Le classi sono un modo attraverso il quale gli utenti possono creare nuovi tipi di dati, definendo − i dati (le variabili) − le operazioni permesse sui dati (i metodi)

44 26 Ottobre 2004Stefano Clemente44 Classi e Oggetti information hidingLe classi nascondono la loro implementazione all’utente (information hiding) − l’utente può anche conoscere alcuni dettagli implementativi della classe, ma l’unico modo per interagire con essa è attraverso i metodi che la classe mette a disposizione Class dispone di Private − dati privati ( Private ) – dati modificabili solo dalla classe Public Private − metodi richiamabili dall’utente ( Public ) – permettono all’utente di modificare/visualizzare i dati Private Property LetProperty Let – modifica dati che non sono sottotipi dell’oggetto (interi, stringhe, ecc.) Property SetProperty Set – modifica dati che sono sottotipi dell’oggetto Property GetProperty Get – restituisce il valore dei dati

45 26 Ottobre 2004Stefano Clemente45 Esempio 6 "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"> Using a VBScript Class Using a VBScript Class -->

50 26 Ottobre 2004Stefano Clemente50 Esempio 6 Enter first name Enter first name Enter age Enter age Enter social security number Enter social security number value = "Enter" />

51 26 Ottobre 2004Stefano Clemente51 Esempio 6

52 26 Ottobre 2004Stefano Clemente52 Esempio 6


Scaricare ppt "VBScript © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto in italiano: © 2002 Prentice."

Presentazioni simili


Annunci Google