Prima di spiegare quali sono e come si usano le variabili in ASP, è utile ricordare cosa si intende per variabile.
Definiamo con variabile una porzione di memoria volatile in grado di contenere un determinato valore in un determinato istante di tempo t
. Tale spazio verrà identificato tramite un nome, che il programmatore assegna nel codice.
Come il suo stesso nome rivela, la variabile è qualcosa che varia col tempo. Facciamo il classico esempio della variabile contatore
che memorizza il numeo di visite di un sito.
Se utente A
si collega all'istante t1
(un certo istante di tempo) vedrà che il contatore segna n
visite (n
è il numero dei visitatori precedenti, maggiore di zero). Se utente B
si collega all'istante t2=t1+k
(k
è l'intervallo tra le due visite) troverà un numero maggiore di visite (n+z
).
In istanti diversi, il contenuto della variabile identificata con il nome contatore
è cambiato.
Il linguaggio più utilizzato per realizzare pagine ASP è Visual Basic, per questo possiamo approfittare di una delle caratteristiche particolari di questo linguaggio: le variabili di tipo Variant. Se, dal punto di vista delle codifica questo può essere un vantaggio, dal punto di vista delle performance non sempre paga. Inoltre dobbiamo fare attenzione ai nomi che assegnamo alle variabili. È consigliabile stabilire una convenzione e rimanerle fedele per tutto il progetto. Ecco un esempio di nomi convenzionali, che tengono cono del tipo di dati.
Tipo Variabile | Nome Variabile |
---|---|
Numero Interi | intNome |
Numero in virgola mobile (singola precisione) | sngNome |
Numero in virgola mobile (doppia precisione) | dblNome |
Stringa | strNome |
Data | dtNome |
Booleano | blNome |
Valuta | vltNome |
I tipi di variabile
Numero Intero
Per numero intero, si intende un numero che non ha nessuna parte frazionaria. Per esempio, i numeri 0, 2, 4
e i numeri -5, -6, -20
sono numeri interi in quanto non hanno parte decimale. Al contrario i numeri 1.3, 2.9, -6.4
non possono rientrare in questa categoria in quanto hanno la parte decimale diversa da zero.
Numero in Virgola Mobile
Per numero in virgola mobile, si intendono tutti quei numeri che presentano una parte decimale. Ad esempio 4.6, -5.8
. Nella tabella abbiamo definito due nomenclature diverse per indicare lo stesso tipo di numero, poiché esistono due tipi diversi di numeri in virgola mobile: single (sng) e double (dbl). La differenza consiste nella precisione che servirà per rappresentare il numero in questione e quindi memoria necessaria. Il tipo double
, utilizzerà il doppio dello spazio per memorizzare il valore rispetto al tipo single
.
Stringa
Per variabile stringa si intende una qualunque sequenza di simboli, numeri, lettere concatenate tra loro. I valori sono tipicamente scritti tra doppi apici "
.
Data
Questo tipo serve a memorizzare le date. Il formato dipende dal contesto culturale dell'applicazione. Se il contesto è impostato in italiano avremo date rappresentate nel formato gg/mm/aa
oppure gg/mm/aaaa
(giorno, mese e anno). In ogni caso è possibile governare la rappresentazione delle date.
Boolean
Questo tipo di variabile può contenere solo due valori: True
e False
(vero e falso). Generalmente queste variabili vengono sfruttate nelle strutture di controllo e nelle operazioni condizionali.
Valuta (Currency)
Questo tipo di dato consente di memorizzare e gestire e rappresentare valuta, denaro. Anche in questo caso sono importanti, ma governabili le impostazioni di contesto culturale.
Dichiarare le variabili
Dopo aver spiegato le variabili bisogna spiegare come dichiararle e utilizzarle. Per dichiarazione di una variabile si intende un passaggio in cui avvisiamo la macchina che deve preparare (allocare) uno spazio di memoria per accogliere una variabile di un certo tipo.
La dichiarazione può avvenire in due modalità: non tipizzata e tipizzata. La prima sfrutta le possibilità delle variabili di tipo Variant, con una modalità simile alla seguente modalità:
dim mia_variabile
Se vogliamo indicare da subito il tipo di dato, invece, utilizziamo una sintassi simile a questa:
int mia_variabile
In questo caso la variabile mia_variabile
potrà memorizzare solo numeri interi.
Dichiarare una variabile non tipizzata ci permette di assegnare il tipo in modo implicito. In questo caso la variabile assume il tipo del primo valore che le assegnamo.
mia_variabile = 5 'in questo caso la variabile è un intero mia_variabile = "testo" 'in questo caso la variabile è una stringa
Array
Esiste un altro tipo di variabile, ma rispetto alle precedenti è un po' più complesso. Questo tipo viene definito Array
. Per array indichiamo una serie di variabili che fa riferimento allo stesso nome, ma riconoscibile tramite un indice.
Per capire meglio cos'è un array, paragoniamolo ad un armadio pieno di ante. Adesso assegniamo ad ogni anta un numero univoco (cioè senza ripetizioni) che va da 0
a n-1
(dove n
è il numero delle ante). Il concetto di array è più o meno questo. Per aprire l'anta numero K
(K
compreso tra 0
ed N-1
) basta indicare l'armadio ed il numero di anta. Adesso adattiamo questa "operazione di vita quotidiana" all'ambiente Asp. La variabile verrà dichiarata specificando il tipo dei dati.
dim intDati(2) 'array di 3 elementi: da 0 a 2 intDati(0) = 0 'inizizzazione dei tre elementi intDati(1) = 1 intDati(2) = 2
In conclusione, gli array non sono molto complessi da usare, basta solo sapere con esattezza la cella su cui bisogna puntare per accedere al dato specifico.