La ricetta al Pasticcere
ingredienti base:
Variabili VBScript
Una variabile è un segnaposto che fa riferimento a una posizione della memoria del computer e in cui è possibile memorizzare informazioni di programma soggette a modifiche durante l'esecuzione degli script. È possibile, ad esempio, creare la variabile ClickCount per memorizzare quante volte l'utente fa clic su un oggetto di una pagina Web specifica. La posizione delle variabili in memoria non è importante. Per visualizzarne o modificarne il valore, è sufficiente farvi riferimento in base al nome. In VBScript, le variabili sono sempre di tipo
Variant.
Dichiarazione di variabili
Le variabili vengono dichiarate in modo esplicito nello script utilizzando le istruzioni
Dim,
Public e
Private. Ad esempio:
Dim DegreesFahrenheit
Per dichiarare più variabili, è necessario separare i vari nomi con una virgola. Ad esempio:
Dim Top, Bottom, Left, Right
È inoltre possibile dichiarare le variabili in modo implicito specificandone semplicemente il nome in un punto qualsiasi dello script. È tuttavia consigliabile non adottare questo metodo, in quanto è possibile inserire errori di ortografia nel nome della variabile in una o più posizioni dello script e ottenere di conseguenza risultati imprevisti. È possibile utilizzare l'istruzione
Option Explicit per richiedere la dichiarazione esplicita di tutte le variabili. Tale istruzione deve essere la prima dello script.
Restrizioni relative ai nomi
I nomi delle variabili seguono gli stessi standard di denominazione validi in VBScript. Il nome di una variabile:
- Deve iniziare con una lettera dell'alfabeto.
- Non può includere punti.
- Non deve essere composto da più di 255 caratteri.
- Deve essere univoco nell'area di validità in cui la variabile è dichiarata.
Area di validità e vita utile delle variabili
L'area di validità di una variabile varia a seconda della posizione in cui la variabile viene dichiarata. Quando si dichiara una variabile in una routine, è possibile accedere o modificare il corrispondente valore solo tramite il codice di tale routine. Si tratta infatti di una variabile a livello di routine con area di validità locale. Se una variabile viene dichiarata all'esterno di una routine, essa sarà riconosciuta in tutte le altre routine dello script. A questo tipo di variabile, definita a livello di script, è associata un'area di validità a livello di script.
La
vita utile di una variabile corrisponde alla sua durata. Per una variabile a livello di script la vita utile è compresa tra la dichiarazione e la conclusione dell'esecuzione dello script. A livello di routine, le variabili esistono solo mentre è in esecuzione la routine in cui sono dichiarate. Al termine dell'esecuzione della routine la variabile viene eliminata. Le variabili locali rappresentano uno spazio di memorizzazione ideale quando si esegue una routine. In più routine è possibile includere variabili locali aventi lo stesso nome in quanto ciascuna di esse viene riconosciuta solo dalla routine in cui è dichiarata.
Assegnazione di valori alle variabili
Per assegnare valori alle variabili, è necessario creare un'espressione indicando a sinistra la variabile e a destra il valore che si desidera assegnare. Ad esempio:
B = 200
Variabili scalari e variabili matrice
Nella maggior parte dei casi alle variabili dichiarate viene assegnato un solo valore. Una variabile contenente un solo valore è definita variabile
scalare. A volte tuttavia risulta utile assegnare a una singola variabile più valori correlati. Una variabile contenente una serie di valori è definita variabile
matrice. La dichiarazione di queste variabili è simile a quella delle variabili scalari, con la sola differenza che, nelle dichiarazioni di variabili matrici, il nome della variabile è seguito da parentesi. Nell'esempio seguente, viene dichiarata una matrice a una sola dimensione contenente 11 elementi:
Dim A(10)
Anche se tra parentesi è indicato il numero 10, la matrice include in effetti 11 elementi. In VBScript infatti le matrici sono sempre in base zero e di conseguenza il numero degli elementi in esse contenuti corrisponde sempre al numero indicato tra parentesi più uno. Queste matrici sono definite
a dimensione fissa.
Per assegnare dati a ciascun elemento di una matrice, è necessario utilizzare un indice. Nell'esempio seguente vengono assegnati i dati da 0 a 10 ai vari elementi della matrice:
A(0) = 256
A(1) = 324
A(2) = 100
. . .
A(10) = 55
Per recuperare dati da un elemento della matrice, è possibile procedere nello stesso modo, ovvero inserire un indice nell'elemento desiderato. Ad esempio:
. . .
SomeVariable = A(8)
. . .
Le matrici non sono limitate a una sola dimensione. È infatti possibile specificare fino a 60 dimensioni, anche se nella maggior parte dei casi ne vengono specificate solo tre o quattro. Per dichiarare dimensioni multiple, è necessario separare con una virgola i valori delle dimensioni indicati tra parentesi. Nell'esempio seguente la variabile MyTable è una matrice a due dimensioni composta da 6 righe e 11 colonne:
Dim MyTable(5, 10)
In una matrice a due dimensioni il primo numero corrisponde sempre al numero di righe, il secondo al numero di colonne.
È inoltre possibile dichiarare matrici le cui dimensioni vengono modificate durante l'esecuzione dello script. Questo tipo di matrici sono definite matrici
dinamiche e vengono inizialmente dichiarate in una routine utilizzando l'istruzione
Dim come qualsiasi altra matrice, oppure l'istruzione
ReDim. La differenza è che tra parentesi non viene indicata alcuna grandezza o numero di dimensioni. Ad esempio:
Dim MyArray()
ReDim AnotherArray()
Per utilizzare una matrice dinamica, è necessario specificare più istruzioni
ReDim in modo da determinare il numero di dimensioni e la grandezza di ciascuna dimensione. Nell'esempio seguente l'istruzione
ReDim imposta la grandezza iniziale della matrice dinamica su 25. Una successiva istruzione
ReDim ridimensiona quindi la matrice impostandola su 30 e viene utilizzata la parola chiave
Preserve per mantenere il contenuto della matrice durante l'operazione di ridimensionamento.
ReDim MyArray(25)
. . .
ReDim Preserve MyArray(30)
Non esiste alcun limite alla frequenza delle operazioni di ridimensionamento delle matrici dinamiche. È tuttavia importante ricordare che quando si riducono le dimensioni di una matrice, i dati contenuti negli elementi eliminati vanno perduti.
alla fine mescolare ed infornare
vedrai che il pasticcino sarà ottimo