Pagina di sintassi per asp. Sorgente guida html.it
Variabili
Convenzioni di nomi per le variabili di tipo variant
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 |
Dichiarazione di variabili
' per dichiarazioni non tipizzate dim mia_variabile ' per dichiarazioni tipizzate int mia_variabile ' per dichiarazioni non tipizzate dim mia_variabile ' per dichiarazioni tipizzate int mia_variabile ' per array dim intDati(2) 'array di 3 elementi: da 0 a 2 intDati(0) = 0 'inizizzazione dei tre elementi intDati(1) = 1 intDati(2) = 2
Strutture condizionali
IF semplice
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
ELSEIF
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
SELECT CASE
dim strNome
strNome = "innovatel"
select case strNome
case "pippo"
response.write "Ciao pippo"
case "tizio"
response.write "Ciao tizio"
case else
response.write "Ciao innovatel"
end select
Si possono valutare più valori nello stesso campo usando questa sintassi
dim strNome
strNome = "innovatel"
select case strNome
case "pippo", "tizio"
response.write "Non sei innovatel."
case else
response.write "Ciao innovatel"
end select
DO WHILE
dim intValore
intValore = 1
do while intValore<11
response.write intValore & "<br>"
intValore = intValore + 1
loop
& serve per concatenare due parti di stringa
Dim intValore
intValore = 1
do
response.write intValore & "<br>"
intValore = intValore + 1
loop while ( intValore < 11 )
FOR
dim intInizio, intFine, ctCiclo
' Inizializzazione delle variabili
intInizio = 1
intFine = 10
for ctCiclo = intInizio to intFine
'Corpo del ciclo
response.write ctCiclo & "<br>"
next
CHIAMATE
Le procedure non restituiscono nessun valore, mentre le funzioni si.
PROCEDURA
sub nomeSubroutine(argomentiSubroutine)
'Corpo della subroutine
End Sub
sub mostraFrase
response.write("Sono la procedura mostraFrase"&<br>)
end sub
mostraFrase
mostraFrase
mostraFrase
FUNZIONI
function nomeFunzione(argomentiFunzione)
' Corpo della funzione
end
'Dichiarazione della funzione
function conta(intValore)
response.write "Siamo al numero ->" & intValore &"<br>"
end function
'Dichiarazione delle variabili globali
dim intInizio,intFine,ctCiclo
'Inizializzazione delle variabili globali
intInizio = 1
intFine = 10
ctCiclo = 1
'Codice di chiamata funzione
for ctCiclo= intInizio to intFine
call conta(ctCiclo)
next
E' possibile interromperle dal loro interno in qualunque momento immettendo la riga di codice exit function (se siamo nel caso di una funzione) oppure exit subroutine (se siamo nel caso di una procedura).
OGGETTI
DICHIARAZIONE OGGETTO
Class bicicletta
public Colore
public Peso
public Costo
End Class
Class bicicletta
public Colore
public Peso
public Costo
public sub mostraFoto(nomeImmagine)
response.write "<img src=" & nomeImmagine & ">"
End Sub
End Class
USO OGGETTO
' Creazione oggetto
dim miaBicicletta
Set miaBicicleta = new bicicletta
' Impostazione proprietà
miaBicicletta.colore = "Rosso"
miaBicicletta.peso = "12 Kg"
miaBicicletta.costo = "Non Dichiarato."
'Eliminazione Oggetto
Set miaBicicleta = nothing
'Creazione oggetto
dim miaBicicletta
Set miaBicicleta = new bicicletta
' Utilizzo Metodo Interno
miaBicicletta.mostraFoto("image.gif")
'Eliminazione Oggetto
Set miaBicicleta = nothing
OGGETTO RESPONSE
Per ottenere a video la scritta "Ciao Mondo"
response.write "Ciao Mondo"
response.write my_var
oppure per scrivere in maniera stringata
=my_var
Oggetto Response: Buffer
Per attivare il buffer
response.buffer = True
Per quanto riguarda l'istruzione precedente, bisogna fare una sola nota in merito: l'istruzione va posizionata all'inizio della pagina prima di qualunque altra istruzione.
'Attivo il buffer del processo Asp
response.buffer = true
for ctInd = 1 to 1000
response.write "<br> Frase numero --> " & ctInd
next
Questo script compone 1000 frasi e una volta composte tutte quante le invia a video per poterle visionare.
Response redirect
response.redirect pagina_di_destinazione
Response exspire
Non memorizzare mai in cache la pagina nel browser
response.expires = - 1500
OGGETTO SESSION
' Attivazione di una variabile di sessione
session("nome_variabile") = valore_da_assegnare
response.write session.sessionId
'Impostiamo la vita di sessione a n minuti
session.timeout = n
'Cancellazione di una variabile di sessione desiderata
session("nome_variabile") = Null
Oggetto Application
' Bloccare la variabile di tipo Application
Application.lock
' Inserimento del valore 5 nella variabile mio_numero
Application("mio_numero") = 5
' Sblocco della variabile di tipo Application
Application.unlock
' Prosecuzione dello scripting di pagina Asp
' Abbandono di tutte le variabili di sessione
session.abandon
Oggetto Server
Visualizza un messaggio di errore se lo script super il numero di secondi impostato.
Server.ScriptTimeout = 10
dim ctInt
ctint = 1
' il ciclo non finisce mai perchè la condizione matcha solo valori dispari e il contatore prende solo valori pari
do while( ctInt Mod 2 <> 0 )
ctInt = ctInt + 2
loop
Grazie al metodo HTMLEncode possiamo visualizzare sul nostro browser caratteri e simboli che altrimenti non saremmo in grado di vedere.
dim strTestoDaVisualizzare
strTestoDaVisualizzare = " °°° Ciao °°° "
response.write server.HTMLEncode(strTestoDaVisualizzare)
URLEncode serve solo quando bisogna passare stringhe che contengono caratteri particolari nella creazione delle collection
valore=server.URLEncode "°°° Nome & Cognome °°°"
<a href="pagina2.asp?Id=<%=valore%>">Link</a>
Nelle collection, il simbolo & ha un valore ben definito. In questo caso verrà quindi ignorato.
Usando MapPath si ottiene dal persorso virtuale di un oggetto come per esempio
http://www.mio_sito.it/percorso/virtuale.gif
quello reale
c:\inetpub\www\rootmio_sito\percorso\virtuale.gif
la sintassi è
Response.Write(Server.MapPath("/percorso/virtuale.gif"))
Response.Write "Sono prima del Server.Transfer <br />"
Server.Transfer "pagina_di_destinazione.asp"
Response.Write "Sono dopo il Server.Transfer <br />"
Execute permette di eseguire il codice scritto su un'altra pagina come se fosse presente nella pagina corrente.
Response.Write "Sono prima del Server.Execute <br />"
Server.Execute "pagina_di_destinazione.asp"
Response.Write "Sono dopo il Server.Execute <br />"
Cookies
Creazione
'Creazione fisica del cookies
response.cookies("nome_forum")="innovatel"
'Impostazione data di scadenza del cookies
response.cookies("nome_forum").expires = DateSerial(2002,5,15)
Nel caso NON dovessimo assegnare il valore di scadenza tramite la proprietà expires, il cookies muore quando la sessione di navigazione viene interrotta. Col termine sessione non si intende il tipo di variabile illustrata in precedenza, ma il tempo in cui il browser di navigazione resta aperto
Modifica
'Dichiarazione variabile
dim strNome
'Lettura fisica del cookies
strNome=request.cookies("nome_forum")
'Realizzazione del saluto personalizzato
response.write "Ciao " & strNome & " ! "
Array di cookies
Creazione fisica del cookies
response.cookies("visitatore")("nome_forum")="innovatel"
response.cookies("visitatore")("nome_reale")="Andrea"
response.cookies("visitatore")("cognome_forum")="Carratta"
'Impostazione data di scadenza del cookies
response.cookies("visitatore").expires = DateSerial(2002,5,15)
come si può osservare, la scadenza del cookies è globale. Infatti NON è possibile impostare una scadenza possibile per chiave. Ora vedremo il codice di lettura e genereremo il saluto personalizzato.
'Dichiarazione variabile
dim strNomeForum
dim strNomeReale
dim strCognomeReale
'Lettura fisica del cookies
strNomeForum=request.cookies("visitatore")("nome_forum")
strNomeReale=request.cookies("visitatore")("nome_reale")
strCognomeReale=request.cookies("visitatore")("cognome_forum")
'Realizzazione del saluto personalizzato
response.write "Ciao "&strNomeReale&" "&strCognomeReale" !<br>"
response.write "Sei identificato come "&strNomeForum&" all'interno del forum."