Variabili

Il VBScript è un derivato del Visual Basic, e le variablili si comportano quasi nello stesso modo. Per dichiararle si usa l’istruzione Dim. Ad esempio

Dim variabile1
Dim variabile2
ecc.

Oppure

Dim variabile1, variabile2, ecc.

Chi è abituato ad altri linguaggi sa che dichiarando una variabile bisogna anche definire il tipo, cioè se conterrà un numero, una stringa, una data ecc.

In VBScript questa distinzione non c’è: non è necessario dichiarare il tipo delle variabili. La gestione di un numero o di una stringa viene affidata all’interprete VBScript. Questo rende molto più semplice programmare, ma bisogna stare attenti, come nel prossimo esempio:

<script language=”VBScript”>
<!–
dim a,b,c
a=inputbox(“Primo Numero:”)
b=inputbox(“Secondo Numero:”)
c=a+b
document.write c
//–>
</script>

Nell’esempio, assegno i valori alle variabili a e b attraverso le InputBox, cioè finestre di dialogo che chiedono all’utente di inserire un valore. Se assegno il valore 3 la prima volta e 5 la seconda, ci si aspetta che la riga “document.write c” stampi il valore 8 ed invece visualizza 35.

Questo perché a e b vengono interpretate come stringhe, e il segno + invece di fare la somma concatena le 2 stringhe. Per risolvere il problema bisogna convertire le variabili da stringa a numerico.

Attenzione: i tipi non vanno dichiarati ma esistono e sono:

  • Boolean
    Può contenere True o False.
  • Byte
    Contiene un intero compreso tra 0 e 255.
  • Integer
    Contiene un intero compreso tra -32.768 e 32.767.
  • Currency
    Contiene un valore compreso tra -922.337.203.685.477,5808 e 922.337.203.685.477,5807.
  • Long
    Contiene un intero compreso tra -2.147.483.648 e 2.147.483.647.
  • Single
    Contiene un numero in virgola mobile e precisione singola compreso tra -3,402823E38 e 3,402823E38
  • Double
    Contiene un numero in virgola mobile e precisione doppia compreso tra -1,79769313486232E308 e 1,79769313486232E308
  • Date
    Contiene un numero che rappresenta una data compresa tra l’1 gennaio dell’anno 100 e il 31 dicembre del 9999.
  • String
    Contiene una stringa di lunghezza variabile composta da un massimo di circa 2 miliardi di caratteri.
  • Object
    Contiene un oggetto.

La conversione dei tipi viene gestita automaticamente dal VBScript quando è chiara. Nell’esempio precedente, se si facesse la sottrazione il risultato sarebbe corretto:

<script language=”VBScript”>
<!–
dim a,b,c
a=inputbox(“Primo Numero:”)
b=inputbox(“Secondo Numero:”)
c=a-b
document.write c
//–>
</script>

Nel primo esempio, si ha il + che è utilizzato sia per la somma che per la concatenazione. Quindi a e b non vengono convertite in tipo numerico, ma sono lasciate in tipo stringhe. Per forzare questa conversione si utilizza la funzione Cint:

<script language=”VBScript”>
<!–
dim a,b,c
a=inputbox(“Primo Numero:”)
b=inputbox(“Secondo Numero:”)
c=Cint(a)+Cint(b)
document.write c
//–>
</script>

L’istruzione dim serve a dichiarare una variabile, ma questa dichiarazione non è obbligatoria: il programma funzionerebbe anche senza la riga “dim a,b,c”. Ciò rende la programmazione ancora più veloce perché non bisogna dichiarare le variabili, quando occorrono basta definirle.

Quando si realizza un programma complicato è consigliabile usare il comando “Option Explicit” all’inizio del programma Questo comando obbliga la dichiarazione delle variabili ed è utile se si sbaglia a scrivere il nome di una variabile. Infatti, se sbaglio il nome questa non esiste e si ha un errore.

<script language=”VBScript”>
<!–
Option Explicit
dim a,b,c
a = inputbox(“Primo Numero:”)
b = inputbox(“Secondo Numero:”)
c = Cint(a)+Cint(b)
document.write c
//–>
</script>

Quando si sceglie il nome di una variabile bisogna tener presenti le seguenti regole:

  • Deve iniziare con una lettera dell’alfabeto.
  • Non può includere punti e spazi.
  • Non deve essere composta da più di 255 caratteri.
  • Non c’è differenza tra lettere maiuscole e minuscole.

C’è poi la regola non obbligatoria di dare dei nomi logici alle variabili e così una variabile che deve contenere la data di nascita si potrà chiamare dtData_Di_Nascita, dove dt indica che è di tipo data. Questo permette di realizzare programmi più leggibili.

Both comments and pings are currently closed.

Comments are closed.