sei sul sito di Giovanni Fraterno
Nel successivo esempio viene proposta una procedura con un costrutto condizionale:
<html>
<head><title>La
prima pagina</title></head>
<body>
<%
controllo=1
if controllo=1 then
messaggio="Buongiorno !"
else
messaggio="Buonasera !"
end if
response.write messaggio%>
</body>
</html>
In questo esempio
basta cambiare valore alla variabile di controllo per ottenere un altro
messaggio.
Si noti che quando dobbiamo
assegnare un valore numerico ad una variabile non vanno usate le virgolette, a
differenza di quanto visto in precedenza con un valore
alfanumerico dove dobbiamo usare obbligatoriamente
le virgolette.
In ASP, come in tutti gli
altri linguaggi di programmazione del resto, esistono delle funzioni predefinite che aiutano e facilitano
determinati compiti ricorrenti.
Ad esempio, se vogliamo
recuperare l'ora corrente e visualizzare un messaggio che ci dice “Buongiorno !”
o “Buonasera !” in base all'orario in cui viene
richiamata la pagina web, dobbiamo utilizzare le due funzioni NOW e HOUR, e nel
modo descritto di seguito:
<html>
<head><title>La
prima pagina</title></head>
<body>
<%
controllo=hour(now)
if
controllo<=12 then
messaggio=now & " - Buongiorno !"
else
messaggio=now & " - Buonasera !"
end if
response.write messaggio%>
</body>
</html>
La funzione NOW restituisce la data
e l’ora corrente del sistema, e la
richiamiamo all’interno della funzione HOUR()
perché vogliamo utilizzare solamente l’ora.
Tramite questo formalismo,
la variabile controllo creata assume un valore
numerico compreso fra 0 e 23 e corrispondente
all’ora attuale.
Non resta che controllare
attraverso il costrutto
if…then…else se l’ora è minore o superiore alle
12, e inviare di conseguenza al browser la frase più opportuna.
Si noti anche che l’operatore
& (e commerciale), e che abbiamo visto
anche nel precedente paragrafo, viene utilizzato in
ASP per unire più valori in una unica stringa.
Questo operatore risulterà di fondamentale
importanza quando vedremo le operazioni sui database.
Chiudiamo i costrutti
condizionali con un’istruzione di selezione più articolata, il SELECT CASE, istruzione che serve ad operare una scelta fra soluzioni multiple.
Si veda a tal fine il
successivo esempio:
<html>
<head><title>La prima
pagina</title></head>
<body>
<%
controllo=hour(now)
select case month(now)
case 1
mese="Gennaio"
case 2
mese="Febbraio"
case 3
mese="Marzo"
case 4
mese="Aprile"
case 5
mese="Maggio"
case 6
mese="Giugno"
case 7
mese="Luglio"
case 8
mese="Agosto"
case 9
mese="Settembre"
case 10
mese="Ottobre"
case 11
mese="Novembre"
case 12
mese="Dicembre"
end select
if controllo<=12 then
messaggio=now
& " – Buongiorno !<br>Siamo in " & mese
else
messaggio=now & " – Buonasera !
<br>Siamo in " & mese
end if
response.write
messaggio%>
</body>
</html>
Nell’esempio mostrato viene effettuata una selezione multipla che confronta il
valore restituito dalla funzione MONTH con
tutti i possibili casi all’interno della condizione.
La funzione MONTH restituisce un numero che varia da 1 a 12, e
corrisponde al mese incluso nella data ottenuta con NOW, data fornitagli come argomento.
E’ interessante notare:
- che la
variabile messaggio è composta
dall’insieme di una funzione, di un valore costante inserito fra virgolette, e di una variabile, il tutto concatenato attraverso
l’operatore &
- l’intervento
del tag BR all’interno del valore costante inserito
fra virgolette.