Sei in: Per i Webmaster - Corso di ASP - Subroutime e funzioni
L'utilizzo di subroutine e funzioni è molto utile soprattutto quando si ha la necessità di ripetere più volte un certo pezzo di codice o di effettuare più volte lo stesso tipo di calcolo. Solitamente vengono scritte in file esterni e poi incluse nelle pagine nelle quali se ne fa uso (vedremo più avanti come fare) ma in alcuni casi si possono trovare all'interno della pagina stessa in cui se ne fa uso. Le subroutine eseguono azioni come per esempio scrivere del testo in una pagina mentre le funzioni eseguono calcoli e operazioni e restituiscono un valore.
Subroutine
Le subroutine, conosciute anche col nome
di procedure, si presentano nella loro forma più semplice come
segue:
Sub nomeDellaSubroutine
codice da eseguire
End Sub
Per richiamare la
procedura si utilizza l'istruzione Call seguita dal nome della
subroutine; è sufficiente comunque scrivere solo il nome della subroutine
evitando l'uso di Call. Vediamo un esempio:
<%
Sub SalesContactInfo
Response.Write "chiamate Mister X al numero
0522956842"
End Sub
%>
<p>Per prenotare un tavolo per una cena al sabato
sera,
<%
Call SalesContactInfo
%>
</p>
La chiamata ad una subroutine o ad una funzione all'interno
della stessa pagina può essere fatta tutte le volte che se ne ha
bisogno.
Si possono creare anche procedure alle quali vengono passati
degli argomenti:
Sub nomeDellaSubroutine(argomento1,
argomento2, ...)
codice da eseguire nel quale
si possono utilizzare gli argomenti
End Sub
<%
Sub NomeCognome(nome, cognome)
Response.Write "Il nome è: <b>" &
nome & "</b><br>"
Response.Write "Il cognome è: <b>" &
cognome & "</b><br><br>"
End Sub
%>
<p>Elenco dei partecipanti
<%
NomeCognome("Giovanni","Acerbi")
NomeCognome("Pinco","Pallino")
%>
</p>
Funzioni
Le funzioni vengono utilizzate per
effettuare dei calcoli. La loro struttura di base non differisce molto da
quella delle subroutine; al posto di Sub e End Sub metteremo Function e
End Function. L'unica cosa che è diversa è che il nome della funzione
diventa la variabile alla quale si deve abbinare il valore del risultato
ottenuto. Ecco come si presenta:
Function
NomeFunzione(argomento1, argomento2, ...)
codice da eseguire nel quale si possono utilizzare gli
argomenti
NomeFunzione =
valore
End Function
Per richiamare la funzione si utilizza la seguente
sintassi:
MiaVariabile = NomeFunzione(argomento1, argomento2,
...)
Vediamo un esempio che calcola l'elevamento a potenza di un
numero intero passato come primo argomento elevato al numero intero
passato come secondo argomento:
<%
Function ElevamentoAPotenza(intNumero, intEsponente)
Dim intRisultato
intRisultato = intNumero ^ intEsponente
ElevamentoAPotenza = intRisultato
End Function
%>
<p>4 elevato alla quinta dà
<%
Dim intPotenza
intPotenza = ElevamentoAPotenza(4,5)
Response.Write intPotenza
%>
</p>
Non è necessario assegnare ad una variabile il risultato di una funzione, il codice precedente si può anche scrivere come segue:
<%
Function ElevamentoAPotenza(intNumero, intEsponente)
Dim intRisultato
intRisultato = intNumero ^ intEsponente
ElevamentoAPotenza = intRisultato
End Function
%>
<p>4 elevato alla quinta dà
<%
Response.Write ElevamentoAPotenza(4,5)
%>
</p>
