mercoledì 26 novembre 2008

[SQL] - [ASP] - SELECT COUNT

<%
CNN=Application("CNN")
set conn=server.createObject("ADODB.Connection")
conn.open CNN

set rs=server.createobject ("ADODB.Recordset")

qry="SELECT count(*) AS numero FROM nome_tabella WHERE campo = 'valore' ;"
rs.open qry,conn

'se non ci sono campi stampiamo 0
if rs.eof then
%>
<div>(0)</div>
<%
else
'altrimenti stampiamo il numero di record
%>
<div>(<%=rs.fields("numero")%>)</div>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing

end if
%>

[ASP] - Data in formato gg/mm/aaaa in campo nascosto Type Hidden

<input type="hidden" name="data" value="<%gg=day(Date())
if gg < 10 then gg="0" & gg end if
mm=month(Date())
if mm < 10 then mm="0" & mm end if
aa=year(Date())
data=gg &"/"& mm &"/"& aa

response.write (data)
%>">

lunedì 24 novembre 2008

[JAVASCRIPT] - Funzione Controllo Campo Email

Il modulo dovrà chiamarsi "info" (form name = info).
onBlur attiverà il controllo fin da subito, durante la compilazione dell'email.
Il campo dell'email sarà un semplice campo di testo.

<script>
function ControllaMail()
{
EmailAddr = document.info.email.value;
Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
if (Filtro.test(EmailAddr))
return true;
else
{
alert("Indirizzo Email non valido. Controllalo, per favore.");
document.info.email.focus();
return false;
}
}
</script>

onBlur="return ControllaMail()"

venerdì 21 novembre 2008

mercoledì 19 novembre 2008

[ASP] - Dimensione di un File

CALCOLARE LA DIMENSIONE DI UN FILE

Dim fname, fpath
'fname è il nome del file da controllare
fname = "percorso_file"
fpath = Server.MapPath(fname)
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(fpath)
'Formatto il numero senza alcuna cifra decimale
dimensione = FormatNumber(f.Size/1024, 0)&" KB"
'Visualizzo la dimensione tra parentesi
response.write "(" & dimensione & ")"
Set f = nothing
Set fso = nothing

venerdì 14 novembre 2008

[Javascript] - Riflesso in Immagini con REFLECTION

Grazie a questa Classe Javascript è possibile creare un effetto di riflesso nelle nostre immagini.

Basta includere il file JS nella pagina web dove si intende usarlo:

<script type=”text/javascript” src=”reflection.js”></script>

Quindi aggiungere all’immagine la classe “reflect”:

<img src=”image.jpg” alt=”image” width=”352&#8243; height=”258&#8243; class=”reflect” />

E’ possibile regolare alcuni parametri come l’opacità

Vai al link della documentazione

Guarda una dimostrazione dello script

[CSS] [HTML] - Eliminare Bordo da Immagine con Link

Mi è capitato utilizzando qualche funzione Javascript per le immagini (ad esempio per un riflesso) che non basti impostare il BORDER="0" nell'HTML affinchè il bordo scompaia da un'immagine che è anche un link.
O meglio, il bordo scompariva dall'immagine ma non dal riflesso creato da javascript.
Sono riuscito a risolvere il problema con i CSS.
Questo che sto per scrivere è quindi anche un modo "alternativo" per eliminare il bordo dalle immagini linkate ad una pagina.

Basta creare uno stile così:
<STYLE type="text/css">
<!--
a.noborder img{ border: 0px; }
-->
</STYLE>

E richiamare poi questa classe nell'Href dell'immagine.
<a href="link.ext" class="noborder"> ...</a>

In questo modo, modificando un pò quello stile, si possono anche cambiare i colori e il tipo di bordo.

mercoledì 12 novembre 2008

[ASP] - Forzare il Download di un File

CREARE UN FILE CHIAMATO download.asp e contenente:

<%@ Language=VBScript %>
<%
Response.Expires=0
Response.Buffer=0
Const CHUNK = 2048
strFilePath = Server.MapPath(Request.QueryString("file"))
Set fso = Server.CreateObject("Scripting.FileSystemObject")
' Controllo se esiste il file (qua si possono mettere altri controlli)
if fso.FileExists(strFilePath) then
set objFile = fso.GetFile(strFilePath)
Response.AddHeader "Content-Disposition", "attachment; filename=" & objFile.Name
Response.AddHeader "Content-Length", objFile.Size
Response.ContentType = "application/octet-stream"
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1 ' adTypeBinary
objStream.LoadFromFile strFilePath
lSize = objStream.Size
lBlocks = 1
For lBlocks = lBlocks To lSize \ CHUNK
If Response.IsClientConnected = False Then Exit For
Response.BinaryWrite objStream.Read(CHUNK)
Next
lSize = lSize Mod CHUNK
If lSize > 0 And Response.IsClientConnected = True Then
Response.BinaryWrite objStream.Read(lSize)
End If
objStream.Close
Set objStream = Nothing
else
%><html><body onLoad="self.close()"></body></html><%
end if%>


L'HREF dovrà essere qualcosa del tipo:

<a href="download.asp?file=percorso_file.ext"> SCARICA FILE</a>

lunedì 10 novembre 2008

[JAVASCRIPT] - Controllo Tipo File Upload

function preload(fil) {
// controllo il tipo di file
ext = fil.substr(fil.lastIndexOf("."))+".";
perm = ".pdf.gif."
if(perm.indexOf(ext.toLowerCase())<0){
alert("Attenzione! In Allegato puoi caricare solo file PDF");
//document.info.reset();
//rv = false;
} else {
//rv = true;
}
}

IL FORM:
<FORM NAME="info" METHOD="Post" enctype="multipart/form-data" ACTION="">
</FORM>

LA INPUT:
<input type="file" name="Allegato" id="Allegato" onchange="preload(this.value)" >

*** IN CASO VOLESSIMO CARICARE DUE FILE DI TIPO DIVERSO ***

//CONTROLLO CARICAMENTO SOLO FILE PDF
function preload_pdf(fil) {
// controllo il tipo di file
ext = fil.substr(fil.lastIndexOf("."))+".";
perm = ".pdf."
if(perm.indexOf(ext.toLowerCase())<0){
alert("Attenzione! In Allegato puoi caricare solo file PDF");
//document.info.reset();
//rv = false;
} else {
//rv = true;
}
}

//CONTROLLO CARICAMENTO SOLO FILE IMMAGINE
function preload_img(fil) {
// controllo il tipo di file
ext = fil.substr(fil.lastIndexOf("."))+".";
perm = ".gif.jpg.jpeg."
if(perm.indexOf(ext.toLowerCase())<0){
alert("Attenzione! In Immagine puoi caricare solo file GIF o JPG");
//document.info.reset();
//rv = false;
} else {
//rv = true;
}
}

IL FORM:
<FORM NAME="info" METHOD="Post" enctype="multipart/form-data" ACTION="">
</FORM>

LE 2 INPUT:
<input type="file" name="Allegato" id="Allegato" onchange="preload_pdf(this.value)" >

<input type="file" name="Allegato" id="Allegato" onchange="preload_img(this.value)" >

venerdì 7 novembre 2008

[ASP] - Visualizzare Immagini Casuali ad ogni Refresh

'-------------------VISUALIZZAZIONE IMMAGINI CASUALI----------------------------------'
'===============================================================================
'Prende automaticamente i file dalla cartella specificata in IMGS_DIR

IMGS_DIR = "./percorso_cartella/"

Randomize



' Variables for our FileSystemObject objects
Dim objFSO, objFolderObject, objFileCollection, objFile

' A pair of integers for our random image selection
Dim intFileNumberToUse, intFileLooper

' A "handle" to the file we choose to use
Dim objImageFileToUse

' A variable to build our image tag
Dim strImageSrcText

' Lets see what's in the directory:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolderObject = objFSO.GetFolder(Server.MapPath(IMGS_DIR))
Set objFSO = Nothing

Set objFileCollection = objFolderObject.Files
Set objFolderObject = Nothing

' Get a count of files and use it to generate a random
' number from 1 to the count.
intFileNumberToUse = Int(objFileCollection.Count * Rnd) + 1

' Set up loop control so we exit when we get to the random
' file number we just picked.
intFileLooper = 1
For Each objFile in objFileCollection
If intFileLooper = intFileNumberToUse Then
' Get a "handle" on the appropriate file
Set objImageFileToUse = objFile
Exit For
End If
intFileLooper = intFileLooper + 1
Next

Set objFileCollection = Nothing

' Build our img src tag text
strImageSrcText = IMGS_DIR & objImageFileToUse.Name

Set objImageFileToUse = Nothing

' Show the image:
%>
<img
src = "<%= strImageSrcText %>"
width = "614"
height = "70"
alt = "nome_img"
border = "0"
/>

mercoledì 5 novembre 2008

[JAVASCRIPT] - Aprire PopUp Centrata

Funzione per far aprire una popup al centro dello schermo.
Cambiando i valori di W e H possiamo modificare rispettivamente la larghezza e l'altezza della popup.

<script language=javascript>

function PopupCentrata(page, name) {
var w = 750;
var h = 530;
var l = Math.floor((screen.width-w)/2);
var t = Math.floor((screen.height-h)/2);
var resizable = "yes";
var toolbar = 0;
var menubar = 0;
var scrollbars = 1;
window.open(page, name,"width=" + w + ",height=" + h + ",toolbar=" + toolbar + ",menubar=" + menubar + ",top=" + t + ",left=" + l+",resizable="+resizable+",scrollbars="+scrollbars);
}

</script>

Nell'HREF basterà inserire questo codice sostituendo a "pagina_web.ext" l'indirizzo della pagina web da visualizzare.

javascript:PopupCentrata('pagina_web.ext','nome_pag')

Parametri:

toolbar=0|1 Specidifca se mostrare la TOOLBAR o no
location=0|1 Specifica se mostrare la linea dell'indirizzo URL
directories=0|1 Specifica se mostrare i èpulsanti di directory di Netscape
status=0|1 Specifica se mostrare la Status Bar del Browser
menubar=0|1 Specifica se mostrare il Menu Bar del browser
scrollbars=0|1 Specifica se la finestra debba avere o no le Scrollbars
resizable=0|1 Specifica se la finestra sia ridimensionabile
width=pixels Larghezza nuova finestra
height=pixels Altezza nuova finestra
top=pixels Specifica la coordinata Y rispetto al margine superiore sinistro della nuova finestra
left=pixels Specifica la coordinata Y rispetto al margine superiore sinistro della nuova finestra

martedì 4 novembre 2008

Visualizzare TUTTI i post del blog di BLOGSPOT

Per visualizzare TUTTI i post inseriti sul proprio blog, sostituire a "nome_blog" il nome del proprio blog e ad "N" un numero che sarà sicuramente maggiore dei post inseriti (ad esempio 1000).

http://nome_blog.blogspot.com/search?max-results=N

lunedì 3 novembre 2008

[ASP] [SQL] - Piccolo motore di ricerca

Se ricevo una variabile di nome "TUTTI I CAMPI" (vedi Passaggio di Variabili) effettuo la ricerca su tutti i campi, scrivendo al posto di "nome_campo1", "nome_campo2", etc, TUTTI i nomi dei miei campi.
Altrimenti riceverò una variabile col nome del campo in cui cercare.

if nome_campo = "TUTTI I CAMPI" then
qry="SELECT * FROM nome_tabella WHERE nome_campo1 LIKE '%"&parola&"%' OR nome_campo2 LIKE '%"&parola&"%' ORDER BY nome_campo DESC ;"

else
qry="SELECT * FROM nome_tabella WHERE "& nome_campo &" LIKE '%"&parola&"%' ORDEER BY "& nome_campo &" asc ;"
end if

[ASP] - IF, AND, ELSE IF

In questo pezzo di codice, in base ad alcune medie ed alcuni calcoli assegno un diverso numero di "stelle" ad un tipo di corso.

'Calcolo delle medie per domanda ARROTONDATE a 2 cifre decimali con FormatNumber e conversione in NUMERO double con CDbl (altrimenti media_domanda rimane una stringa non sommabile)

media_domanda1 = CDbl(FormatNumber (somma1/numero_campi,2))

'IF AND ELSE IF
if media_corso >= 0 And media_corso <= 1 Then
stelle_corso = stella1
elseIf media_corso > “1,34” AND media_corso <=2 Then
stelle_corso = stella2
elseIf media_corso > 2 AND media_corso <=”3,5” Then
stelle_corso = stella3
elseIf media_corso > 3 AND media_corso <=4 Then
stelle_corso = stella4
elseIf media_corso > 4 AND media_corso <=5 Then
stelle_corso = stella5
elseIf media_corso > 5 AND media_corso <=6 Then
stelle_corso = stella6
end if

[ASP] - Passaggio Variabili

Immaginiamo un form con una Action che indirizza alla pagina "azione.asp" e un campo di testo di nome "campo1".

Il contenuto di questo campo sarà richiamato nella pagina azione.asp con:

nome_variabile = Request.Form("campo1")

Se invece la variabile viene passata alla pagina azione.asp con l'HREF azione.asp?campo2='nome_variabile'

allora questa variabile verrà richiamata con:

nome_variabile = Request.QueryString("campo2")

[SQL] [ASP] - UPDATE

UPDATE in SQL e ASP.
Il carattere & _ permette di andare a capo in ASP.

CNN=Application("CNN")
set conn=Server.CreateObject("ADODB.Connection")
conn.open CNN
Set rs = Server.CreateObject("ADODB.Recordset")
qry="UPDATE nome_tabella "& _
"SET nome_campo = '"& valore_variabile &"', nome_campo2 = '"& valore_variabile2 &"'" & _
"WHERE nome_campo = "& valore_variabile &" ;"
conn.execute(qry)

rs.close
set rs=nothing
conn.close
set conn=nothing