Questo tipo di logica, dopo aver valutato una condizione, determina quali sono le istruzioni da eseguire.
Osservando l'immagine è possibile notare come il normale flusso del programma venga deviato dalla valutazione della condizione sul ramo opportuno a seconda della verifica della condizione stessa.
Possiamo anche provare a stabilire una semplice regola per tradurre l'operazione condizionale dall'italiano al Visual Basic utilizzato con ASP.
Lingua Italiana | ASP - Visual Basic |
---|---|
Se la CONDIZIONE è vera | if CONDIZIONE then |
Altrimenti | else |
e alla fine | End if |
Adesso finalmente arriva il codice ASP:
<% dim strNome 'Dichiarazione delle variabili strNome="innovatel" if strNome="innovatel" then 'Verifica condizione 'Blocco di istruzione se la condizione è vera response.write "Il visitatore èinnovatel." else 'Blocco di istruzione se la condizione è falsa response.write "Visitatore Anonimo." end if %>
In questo caso viene mostrata a video la scritta "Il visitatore è innovatel." in quanto la condizione è vera. Se provate a variare il contenuto della stringa strNome
con un qualunque valore diverso da "innovatel"
, verrà mostrata a video l'altra stringa "Visitatore Anonimo".
Dopo questo semplice esempio di condizione, voglio complicare la situazione. Supponiamo che nel blocco di azioni del ramo falso voglia mettere un'altra condizione. Come posso fare? Esistono due modalità. La prima consiste nel nidificare un secondo if
all'interno del primo. Nidificare, o annidare, significa proprio "inserire" una struttura in un'altra. Ecco un esempio:
<% dim strNome strNome = "innovatel" if strNome="pippo" then response.write "ciao pippo" else if strNome="tizio" then response.write "Ciao tizio" else response.write "Ciao innovatel" end if end if %>
Dopo l'esempio dell'uso di condizioni nidificate, vediamo l'altra possibilità che ci viene offerta dal linguaggio per eseguire lo stesso codice asp.
<% dim strNome strNome="innovatel" if strNome="pippo" then response.write "ciao pippo" elsif strNome="tizio" then response.write "Ciao tizio" else response.write "Ciao innovatel" end if end if %>
In questo codice notiamo che dalla "fusione" di else
ed if
abbiamo il costrutto elsif. Naturalmente, dopo elsif
, va posta una condizione. Prima di "abbandonare" il costrutto if per mostrarne uno simile devo specificare una cosa non detta il precedenza: il ramo della condizione vera è OBBLIGATORIO, mentre quello della condizione falsa è facoltativo.
Composizione if:
if CONDIZIONE then 'Ramo vero '-- Inizio Parte Opzionale else 'Ramo Falso '-- Fine Parte Opzionale end if