Dichiarazioni varie di VBScript

VBScript ha alcune altre importanti istruzioni per aiutare gli sviluppatori a sviluppare uno script efficiente. La tabella seguente elenca una serie di dichiarazioni così importanti. In questo capitolo, discuteremo ciascuna di queste affermazioni in dettaglio con esempi.

Categoria Nome funzione / Nome istruzione
Opzioni Opzione esplicita
ID Script Engine ScriptEngine
varianti IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName
Espressione Eval, Execute
Dichiarazione di controllo Con ... Finisci con
Funzione matematica Rendi casuale

Opzione esplicita

Option Explicit obbliga lo sviluppatore a dichiarare le variabili utilizzando Dim prima che vengano utilizzati in qualche parte del codice.

Sintassi

Option Explicit

Esempio

Se usiamo Option Explicit e se non dichiariamo le variabili, l'interprete genererà un errore.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Option Explicit
         Dim x,y,z,a
         x = 10
         y = 20
         z = fnadd(x,y)
         a = fnmultiply(x,y)

         Function fnadd(x,y)
            fnadd = x+y
         End Function

      </script>
   </body>
</html>

ScriptEngine

ScriptEnginerappresenta i dettagli del linguaggio di scripting in uso. Viene anche utilizzato in combinazione conScriptEngineMajorVersion, ScriptEngineMinor Version, ScriptEngineBuildVersion che fornisce rispettivamente la versione principale del motore vbscript, la versione secondaria il motore vbscript e la versione build di vbscript.

Sintassi

ScriptEngine

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim scriptdetails
         scriptdetails =  " Version " & ScriptEngine & " - "
         'For getting Major version, use ScriptEngineMajorVersion'
        
         scriptdetails = scriptdetails &  ScriptEngineMajorVersion & "."
        
         'For getting Minor version, use ScriptEngineMinorVersion'
         scriptdetails = scriptdetails & ScriptEngineMinorVersion & "."
        
         'For getting Build version, use ScriptEngineBuildVersion'
         scriptdetails = scriptdetails & ScriptEngineBuildVersion 
        
         Document.write scriptdetails

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Version VBScript - 5.8.16996

È vuoto

La funzione IsEmpty viene utilizzata per verificare se l'espressione è vuota o meno. Restituisce un valore booleano.IsEmptyrestituisce True se la variabile non è inizializzata o è impostata esplicitamente su Vuoto. In caso contrario, l'espressione restituisce False.

Sintassi

IsEmpty(expression)

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, MyCheck
         MyCheck = IsEmpty(var)  
         Document.write "Line 1 : " & MyCheck & "<br />"
        
         var = Null   ' Assign Null.
         MyCheck = IsEmpty(var) 
         Document.write "Line 2 : " & MyCheck & "<br />"
         
         var = Empty   ' Assign Empty.
         MyCheck = IsEmpty(var)
         Document.write "Line 3 : " & MyCheck & "<br />"
        
      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Line 1 : True
Line 2 : False
Line 3 : True

È zero

La funzione IsNull viene utilizzata per verificare se l'espressione ha o meno dati validi. Restituisce un valore booleano.IsNull restituisce True se la variabile è Null altrimenti l'espressione restituisce False.

Sintassi

IsNull(expression)

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, res
         res = IsNull(var)
         document.write "Line 1 : " & res & "<br />"
         
         var = Null
         res = IsNull(var)
         document.write "Line 2 : " & res & "<br />"
         
         var = Empty
         res = IsNull(var)
         document.write "Line 3 : " & res & "<br />"

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Line 1 : False
Line 2 : True
Line 3 : False

IsObject

La funzione IsObject viene utilizzata per verificare se l'espressione ha o meno un oggetto valido. Restituisce un valore booleano.IsObject restituisce True se l'espressione contiene un sottotipo di oggetto altrimenti l'espressione restituisce False.

Sintassi

IsObject(expression)

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
        Dim fso,b
        b = 10
        set fso = createobject("Scripting.Filesystemobject")
        
        x = isobject(fso)
        Document.write "Line 1 : " &  x  & "<br />" 
        
        y = isobject(b)
        Document.write "Line 2 : " &  y  & "<br />" 

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Line 1 : True
Line 2 : False

IsNumeric

La funzione IsNumeric viene utilizzata per verificare se l'espressione ha o meno un sottotipo di numero. Restituisce un valore booleano.IsObject restituisce True se l'espressione contiene un sottotipo numerico altrimenti l'espressione restituisce False.

Sintassi

IsNumeric(expression)

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, chk
         var = 20
         chk = IsNumeric(var)
         Document.write "Line 1 : " &  chk  & "<br />" 
        
         var = "3.1415935745"   
         chk = IsNumeric(var)   
         Document.write "Line 2 : " &  chk  & "<br / >" 
        
         var = "20 Chapter 23.123 VBScript"   
         chk = IsNumeric(var)
         Document.write "Line 3 : " &  chk  & "<br / >" 

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Line 1 : True
Line 2 : True
Line 3 : False

TypeName

La funzione TypeName viene utilizzata per restituire le informazioni sul sottotipo di variante della variabile.

Sintassi

TypeName(varname)

La funzione Typename può restituire uno dei seguenti valori.

  • Byte - Valore byte

  • Intero: valore intero

  • Long - Valore intero lungo

  • Single: valore a virgola mobile a precisione singola

  • Double: valore a virgola mobile e precisione doppia

  • Valuta - Valore della valuta

  • Decimale: valore decimale

  • Data: data o ora

  • String - Valore stringa di caratteri

  • Boolean: valore booleano

  • Vuoto: valore non inizializzato

  • Null - Nessun dato valido

  • Oggetto: nome del tipo di oggetto

  • Nothing - Variabile oggetto che non fa ancora riferimento a un'istanza di oggetto

  • Error

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim ArrVar(2), vartype
         NullVar = Null   ' Assign Null value.

         vartype = TypeName(3.1450)     
         Document.write "Line 1 : " &  vartype  & "<br />" 
         
         vartype = TypeName(432)         
         Document.write "Line 2 : " &  vartype  & "<br />" 
         
         vartype = TypeName("Microsoft")
         Document.write "Line 3 : " &  vartype  & "<br />" 
         
         vartype = TypeName(NullVar)   
         Document.write "Line 4 : " &  vartype  & "< br />" 
         
         vartype = TypeName(ArrVar)    
         Document.write "Line 5 : " &  vartype  & "<br />"

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Line 1 : Double
Line 2 : Integer
Line 3 : String
Line 4 : Null
Line 5 : Variant()

Eval

La funzione Eval esegue un'espressione e restituisce il risultato come stringa o come numero.

Sintassi

Eval(expression)

L'argomento Expression può essere un'espressione stringa o un numero. Se si passa alla funzione Eval una stringa che non contiene un'espressione numerica o un nome di funzione ma solo una semplice stringa di testo, si verifica un errore di runtime. Ad esempio, Eval ("VBScript") restituisce un errore.

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Document.write Eval("10 + 10") & "<br />"
         Document.write Eval("101 = 200") & "<br />" 
         Document.write Eval("5 * 3") & "<br />" 

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

20
false
15

Eseguire

L'istruzione Execute accetta un argomento che è un'espressione stringa contenente una o più istruzioni per l'esecuzione.

Sintassi

Execute(expression)

In VBScript, a = b può essere interpretato in due modi. Può essere trattato come un'istruzione di assegnazione in cui il valore di x è assegnato a y. Può anche essere interpretato come un'espressione che verifica se aeb hanno lo stesso valore. Se lo fanno, il risultato è Vero; se non lo sono, il risultato è Falso. L'istruzione Execute utilizza sempre la prima interpretazione mentre l'istruzione Eval utilizza sempre la seconda.

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim x
         x = "Global" 
         y = "VBScript"
         Execute("x = y")
         
         msgbox x
         msgbox y
        
      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

VBScript
VBScript

Con ... Termina con

L'istruzione With ci consente di eseguire una serie di operazioni su un oggetto specificato senza menzionare esplicitamente il nome dell'oggetto più e più volte.

Sintassi

With (objectname)
   statement 1
   statement 2
   statement 3
   ...
   ...
   statement n
End With

Esempio

Dopo aver eseguito il seguente script, Winword viene aperto e viene inserito il testo specificato.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Msg =  "Vbscript" & vbCrLf & "Programming"
         Set objWord = CreateObject("Word.Application")
         objWord.Visible = True
       
         ' Objects methods are accessed without requaliyfying the objects again.'
         With objWord
            .Documents.Add
            .Selection.TypeText Msg
            .Selection.WholeStory
         End With
         
      </script>
   </body>
</html>

Rendi casuale

L'istruzione Randomize inizializza il generatore di numeri casuali che è utile per gli sviluppatori per generare un numero casuale.

Sintassi

Randomize [number]

Esempio

Dopo aver eseguito il seguente script, Winword viene aperto e viene inserito il testo specificato.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim MyValue
         Randomize   
         MyValue = Int((100 * Rnd) + 1)   ' Generate random value between 1 and 100.
         MsgBox MyValue
        
      </script>
   </body>
</html>

Salva lo script sopra come HTML e dopo aver eseguito lo script in IE, viene mostrato il seguente output.

42