Seconda Lezione
Sommario:
- Le Variabili in VBScript
- Gli Array
- Gli Operatori Matematici
- Concatenazione di Stringhe
- Operatori di confronto
- Operatori Logici
- Funzioni interne di VBScript
- Esercizi Lezione 2
______________________
Le Variabili in VBScript>
La variabile è una parte di memoria a cui viene assegnato un nome. E' come una scatola in cui inserire numeri, lettere, date, e altro.
<%
a = "Pippo"
b = 1
Response.Write a & "<BR>" & b
%>
Output:
Pippo
1
Notate che il
valore stringa Pippo è dentro virgolette. E' opportuno, nello sviluppare, (ma non obbligatorio) mettere dei prefissi alle variabili per comprenderne il tipo a prima vista come:
str - per le stringhe
i - per i numeri interi
dt - per le date
bol - per i valoi booleani
cur - per le date
cur - per gli oggetti
Es:
strNome = Pippo
iNumero = 12 ecc...
Prima di assegnare un valore a una variabile è opportuno dimensionarla:
<% Dim strNome, INumero %>
perchè, se nel listato sbagliate, ad esempio, la digitazione scrivendo strNme (dove manca la o) = Pippo, vi verrà segnalato l'errore
"Variabile non dimensionata".
Gli array
Un array è una sequenza di variabili che hanno lo stesso nome ma un indice diverso.
Esaminiamo questo script:
<%
Dim arrGiorno(6), iCoefficiente
%>
<HTML>
<BODY>
<%
iCoefficiente = 4
arrGiorno(0) = "Lunedì"
arrGiorno(1) = "Martedì"
arrGiorno(2) = "Mercoledì"
arrGiorno(3) = "Giovedì"
arrGiorno(4) = "Venerdì"
arrGiorno(5) = "Sabato"
arrGiorno(6) = "Domenica"
%>
<BR>
iCoefficiente ha il valore di
<%
Response.Write iCoefficiente
%>
<BR>
arrGiorno(0) ha il valore di
<%
Response.Write arrGiorno(0)
%>
<BR>
arrGiorno(1) ha il valore di
<%
Response.Write arrGiorno(1)
%>
<BR>
arrGiorno(iCoefficiente) ha il valore di
<%
Response.Write arrGiorno (iCoefficiente)
%>
<BR>
arrGiorno(2+3)ha il valore di
<%
Response.Write arrGiorno(2+3)
%>
<BR>
arrGiorno(iCoefficiente + 1) ha il valore di
<%
Response.Write arrGiorno(iCoefficiente + 1)
%>
</BODY>
</HTML>
Questo è l'output;
Ricordiamo che un array può essere scritto anche varArrayNomi = array("Pippo", "Mario", "", "Carlo")
Sapreste ora dire, senza guardare il risultato, qual'è il valore delle due variabili dopo questo listato?
<%
Dim iPrimaVar, iSecondaVar
iPrimaVar = 3
iSecondaVar = iPrimaVar
iPrimaVar = 5
%>
Risposta:
iPrimaVar = 5
iSecondaVar = 3
Gli operatori matematici
Addizione
<%
Dim iSomma
iSomma = 2+3
Response.Write iSomma
%>
Output:
iSomma = 5
<%
Dim iSomma, iValore
iValore = 1.5
iSomma = iValore + 2.1%>
Response.Write iSomma
%>
Output:
iSomma = 3,6
<%
Dim iContatore
iContatore = 4
iContatore = iContatore + 1
Response.Write iContatore
%>
Output:
iContatore = 5
Sottrazione
<%
Dim iContatore
iContatore = 4
iContatore = iContatore + 1
iContatore = iContatore - 2
Response.Write iContatore
%>
Output:
iContatore = 3
Moltiplicazione
Se ho 3 * 4 + 2 ottengo 14 perchè c'è una priorità nelle operazioni: moltiplicazione e divisione vengono prima di addizione e sottrazione.
Però se ho 3 * (4 + 2) ottengo 18 perchè quello che è tra parentesi è prioritario su tutto.
Divisione
5\3 dà 1
0\8 dà 0
1\2 dà 0
Modulo
Restituisce il resto della divisione.
5 mod 3 dà 2
0 mod 8 dà 8
1 mod 2 dà 1
Potenza
2^3 = 8
3^3^2 = 64
Concatenazione di stringhe
<%
iPrimoValore = 2
iSecondoValore = 3
strFinale = "Occorre fare la somma fra " & iPrimoValore & " e " & iSecondoValore
Response.Write strFinale
%>
Output:
Occorre fare la somma fra 2 e 3
Importante: avrete notato che, per concatenare i valori stringa o numerici, in Asp ci si serve del carattere &; come detto, le stringhe
vanno dentro le virgolette ma bisogna fare molta attenzione che siano in numero pari [la virgoletta semplice (') equivale a quelle doppie].
Infatti, se, ad esempio, all'interno della stringa devo scrivere il cognome D'Angelo, Asp interpreta l'apostrofo come virgolette di stringa e restituisce un errore.
Facciamo un caso pratico:
stringa= "Abbiamo incontrato D'Angelo" non va bene; andrà scritto:
stringa="Abbiamo incontrato D" & "'" & "Angelo".
C'è anche un altro sistema per scrivere in Asp un carattere:
<%=chr(65)%> restituisce A perchè il codice ASCI di A è 65. Quindi: <%=chr(39)%> restituirà ".
Allora la stringa precedente può anche essere scritta:
stringa="Abbiamo incontrato D" & chr(39) & "Angelo". Va da sè che le variabili non vanno entro virgolette.
Operatori di confronto
A = B
A > B A maggiore di B
A <B A minore di B
A >= B A maggiore o uguale a B
A <= B A minore o uguale a B
A <> B A diverso da B
Quindi, ad esempio:
3 > 4 dà False
5 > 4 dà True
3 < 3 dà False
4 >= 4 dà True
4 >= 3 dà True
Operatori Logici
AND, OR, NOT, XOR
A AND B dà True se entrambe hanno valore True; dà False se una delle due è False
A OR B dà True se una delle due è True; dà False se una delle due è False
NOT A dà True se A è False; dà False se A è True
A XOR B dà True se A o B è True ma non entrambe; dà False se sono entrambe True o entrambe False
Esempi:
(3 < 4) AND (4 < 5) dà True
(4 <> 4) OR (6 < 7) dà True
/b><Funzioni interne di VBScript
Elencare tutte le funzioni interne di VBScript sarebbe lunghissimo. Vi rimandiamo, pertanto, alla guida di riferimento che vi abbiamo fatto scaricare nella lezione 1 limitandoci qui a descrivere le principali.
Funzioni di Conversione
Il typecasting è l'operazione con la quale si trasforma il tipo di una variabile in altro tipo. Le più note funzioni relative sono:
Cint(espressione): restituisce il valore numerico intero di espressione
Es.: Cint ("44") restituisce 44
Cstr(espressione): restituisce il valore stringa di espressione
Es.: Cstr(2.8) resituisce "2.8"
Int(Numero): restituisce il valore intero di Numero
Es.: Int(4.5) restituisce 4
Ubound(array): trova il più alto numero di indice di un array
Funzioni di formattazione
Le principali sono:
FormatDateTime(): formatta i dati di tipo data e ora
FormatCurrency(): formatta i valori monetari
Funzioni matematiche
La più nota è:
RND() che restituisce numeri causali. Viene sempre inizializzata dall'istuzione Randomize()
Funzioni relative alle date
Le principali sono:
Date(): restituisce la data corrente
Time(): restituisce l'ora corrente
Now(): restituisce la data e l'ora correnti
Funzioni stringa
Mid (stringa, parametro, parametro) estrae un numero specifico di caratteri, iniziando da un punto specifico.
Esempio: Mid ("Paolo Rossi Roma", 7, 5) restituisce Rossi (inizia dal settimo carattere - compreso lo spazio - e procede per cinque caratteri).
Len (stringa) restituisce la lunghezza di una stringa. Esempio: Len("Paolo Rossi") restituisce 11.
Trim(stringa) rimuove gli spazi a destra e sinistra di stringa
StrComp(stringa1, stringa2, tipoconfronto) è utilizzata per raffrontare due stringhe. Si pensi, ad esempio, al caso in cui si vuole verificare se la password inserita corrisponde a quella già esistente nel database
Replace(elementi) si comprende con un esempio:
Replace("Mario si sta recando a scuola", "scuola", "casa"): restituisce Mario si sta recando a casa.
Split suddivide una stringa in un array di stringhe
Join trasforma un array di stringhe in una sola stringa
isNumeric controlla se la stringa contiene un valore numerico.
Esercizi Lezione 2
- Qual'è il risultato di 5 mod 9 e di 7 mod 2?
- Qual'è il risultato di 2*5 + 3^2 -4?
- A quale scopo si inserisce <%Option Explicit%> all'inizio del listato Asp?
- Qual'è il risultato di ("Pippo"<"pippo") And (6<6)?
- Scrivere un'istruzione che consenta di calcolare l'ipotenusa di un triangolo rettangolo
Se vi sono problemi su questa o su successive lezioni, comunicatecelo nel
forum oppure scriveteci
Stampa questa pagina
|