La funzione Include permette di inserire file esterni all’interno di una procedura ASP.
Si possono inserire, file di testo, script e altro.
Un esempio per rendere l’idea e’ aggiungere ad un peso netto, il peso della confezione.
<%
‘il peso e’ Kg.10
Dim fpeso
fpeso = 10
‘Ora mostro il peso netto piu’ la confezione
Response.Write “Peso complessivo: ” & Adjustedpeso(fpeso)
%>
Per aggiungere il peso della confezione aggiungo un file di inclusione
chiamandolo peso.txt, cosi’ composto:
<%
function Adjustedpeso(totalpeso)
Adjustedpeso = totalpeso + 0.5
end function
%>
Quindi il file .asp diventa:
<!–#include file=”peso.txt”–>
<%
‘il peso e’ Kg.10
Dim fpeso
fpeso = 10
‘Ora mostro il peso netto piu’ la confezione
Response.Write “Peso complessivo: ” & Adjustedpeso(fpeso)
%>
Come posso aggiungere a folder specifici nuove path?
Un metodo che permette questo è FileSystemObject.CreateFolder.
<%
dim filetest, nuovadir
set filetest =CreateObject(“Scripting.FileSystemObject”)
nuovadir = filetest.CreateFolder(c:\inetpub\wwwroot, “nome_directory”)
%>
Per mezzo di questo script:
<html>
<head>
<title>Ordinare i record casualmente</title>
</head>
<body bgcolor=”#ffffff”>
<%
‘Connessione al database
Dim rs, cn, sql
sql = “SELECT * FROM tabella”
Set cn = Server.CreateObject(“ADODB.Connection”)
Set rs = Server.CreateObject(“ADODB.Recordset”)
cn.Open “DSN=nomeDSN;”
Set rs.ActiveConnection = cn
rs.CursorType = 3
rs.LockType = 3
rs.Open sql, cn
%>
<center>
<%
rs.moveLast
conta = rs.recordCount
conta1 = conta
max = conta
‘Necessario inserire un valore massimo
If 50 < conta Then
conta1 = 50
Else
If conta > 10 AND conta < 50 then conta1 = conta1 – 2
End If
str = “,”
str1 = “,”
Do Until conta1 = 0
‘Genero i valori random per la ricerca all’interno del recordSet
‘per estrapolare record casualmente
Randomize
RndNumber = Int(Rnd * max)
If (InStr(1, str1, “,” & RndNumber & “,” ) = 0) Then
str1 = str1 & RndNumber & “,”
conta1 = conta1 – 1
rs.moveFirst
rs.move RndNumber
str = str & rs(“ID”) & “,”
End If
Loop
rs.Close
Set rs=Nothing
Set rs = Server.CreateObject(“ADODB.Recordset”)
‘Genero la query random
If sql = “SELECT * FROM tabella” then
sql = “SELECT * FROM tabella WHERE (((InStr(1,'” & str & “‘,(‘,’ & [ID] & ‘,’)))<>0))”
Else
sql = sql & ” AND (((InStr(1,'” & str & “‘,(‘,’ & [ID] & ‘,’)))<>0))”
End if
Set rs.ActiveConnection = cn
rs.CursorType = 3
rs.LockType = 3
rs.Open sql, cn
%>
<% Do until (rs.eof) %>
<!– Visualizzo i risultati della query random –>
<%= rs(“nomeCampo”) %>
<!– ***************************************** –>
<% rs.MoveNext
Loop
rs.Close
Set rs=Nothing %>
</body>
</html>
è possibile ordinare casualmente i risultati della query effettuata sul database
Utilizzando un database, è possibile creare una mailing-list utilizzando questo semplice codice:
<%
‘Mi collego al db ed estraggo gli indirizzi email
Dim rs, conn, sql
Set rs = Server.CreateObject(“ADODB.Recordset”)
conn = “DSN=nomeDSN;”
sql = “SELECT email FROM tabella”
rs.Open sql, conn
‘Inserisco dentro la variabile bcc tutti i destinatari
x = 0
do until rs.eof
x = x + 1
if x = 1 then
bcc = rs(“email”)
else
bcc = bcc & “, ” & rs(“email”)
end if
rs.moveNext
loop
rs.close
Set rs = Nothing
‘Invio l’email
Dim miaMail
Set miaMail = CreateObject(“CDONTS.NewMail”)
miaMail.From = “mittente@della.mail”
miaMail.To = “destinatario@della.mail”
miaMail.bcc = bcc
miaMail.Subject = “Oggetto della mail”
miaMail.BodyFormat = 0
miaMail.MailFormat = 0
miaMail.Body = “Testo della mail”
miaMail.Send
Set miaMail = Nothing
%>
Utilizzando .bcc eviteremo di “intasare” il server di email (pensate ad un database con più di 1000 email!)
Per inviare file in attach in una mail, ecco uno script di esempio:
<%
Dim miaMail
Set miaMail = CreateObject(“CDONTS.NewMail”)
miaMail.From = “mittente@della.mail”
miaMail.To = “destinatario@della.mail”
miaMail.Subject = “Oggetto della mail”
miaMail.BodyFormat = 0
miaMail.MailFormat = 0
miaMail.Importance = 0
‘Invio il file
miaMail.AttachFile “c:\freeasp.txt”, “nuovoNome.txt”
miaMail.Body = “Testo della mail”
miaMail.Send
Set miaMail = Nothing
%>
E’ possibile scegliere un nuovo nome per il file inviato oppure no, inserendo esclusivamente il percorso del file:
<%
miaMail.AttachFile “c:\freeasp.txt”
%>
Per spedire email da pagine ASP è necessario utilizzare l’oggetto COM CDONTS. Questo oggetto ci permette di spedire email utilizzando il server SMTP del server.
E’ possibile impostare alcune proprietà per l’invio. Vediamo quali:
<%
Dim miaMail
Set miaMail = CreateObject(“CDONTS.NewMail”)
miaMail.From = “mittente@della.mail”
miaMail.To = “destinatario@della.mail”
miaMail.Subject = “Oggetto della mail”
miaMail.BodyFormat = 0
miaMail.MailFormat = 0
miaMail.Importance = 0
miaMail.Body = “Testo della mail”
miaMail.Send
Set miaMail = Nothing
%>
Nei formati Mail e Body è possibile impostare se inviare la mail in formato semplice testo oppure HTML. Per il testo utilizzare 1 al posto di 0.
Importance imposta la priorità della mail (1, priorità alta)
Per effettuare una connessione ODBC ad un database, è necessario innanzitutto impostare il DSN da pannello di controllo del server, poi, all’interno della pagina asp, inserire questo codice:
<%
Dim rs, cn, sql
sql = “SELECT * FROM tabella”
Set rs = Server.CreateObject(“ADODB.Recordset”)
Set cn = Server.CreateObject(“ADODB.Connection”)
cn.Open “DSN=nomeDSN”
Set rs.ActiveConnection = cn
rs.Open sql, cn
%>
Verrà così generato un RecordSet con i valori restituiti dall’istruzione SQL scritta
Ecco come eliminare tutte le variabili di sessione ed il loro valore:
<% Session.Contents.RemoveAll() %>
Così facendo, il valore ID di sessione rimane uguale, in quanto vengono solo scaricate le variabili utilizzate
Per eliminare un variabile di sessione, si utilizza questa sintassi:
<% Session.Contents.Remove( nomeVariabile/indice ) %>
E’ possibile specificare direttamente il nome della variabile da eliminare, oppure l’indice di riferimento. Indicando l’indice ovviamente, il server eliminerà la voce corrispondente dall’inizio dell’insieme Session
La proprietà LCID dell’oggetto Session, permette di configurare le impostazioni internazionali di una pagina asp.
In questo modo, è possibile visualizzare output come il formato valuta o data, nella forma indicata:
<%
‘Imposto il formato inglese
Session.LCID = 2057
‘Visualizzo nel formato inglese, la data odierna
%>
<%= formatDateTime(Date(), vbShortDate) %>
La tabella con i codici internazionali per questa proprietà la puoi trovare a questo indirizzo:
http://msdn.microsoft.com/scripting/default.htm?/scripting/vbscript/doc/vsmscLCID.htm