ASP: qualche utile funzione

Purtroppo sto sistemando alcuni siti ancora in ASP / Vbscript. Penso che per un programmatore Coldfusion non ci sia passaggio peggiore. Per semplificarmi la vita mi sono creato alcune funzioni simpatiche che mi velocizzano il lavoro. Tanto per non sentirmi troppo solo mi sono creato anche il file Application.asp, che includo in ogni pagina.

Chi è programmatore Coldfusion, o lo era, penso possa capirmi.

Giochiamo con le date

Qualche funzione per avvicinarci al concetto di date di coldfusion, rispettando la sintassi di scrittura delle date odbc, come fa la funzione cf CreateOdbcDateTime.

Function createOdbcDateTime(d,t)
stringa = "CONVERT(DATETIME, '" & year(d) & "-" & month(d) & "-" & day(d) & " " & hour(t) & ":" & minute(t) & ":" & second(t) & "', 102)"
createOdbcDateTime = stringa
End Function
Function createDate(d,m,y)
dateTmp = d & "/" & m & "/" & y
if isDate(dateTmp) then
createDate=dateTmp
else
createDate=null
end if
End Function
Function createTime(h,m,s)
if isEmpty(m) then m = 0
if isEmpty(s) then s = 0
timeTmp = h & "." & m & "." & s
if (h>=0 and h<24 and m>=0 and m<60 and s>=0 and s<60) then
createTime=timeTmp
else
createTime=null
end if
End Function

Database

Quando passiamo una stringa in un database bisogna che stiamo attenti al carattere ‘ che in SQL è il marcatore di inizio e fine di un testo. Per essere sicuri delle nostre stringhe possiamo usare:

Function r(s)
'rimpiazzio i simboli ' con '' per le query

On Error Resume Next
r = Replace(s,"'","''")
if err.number <> 0 then
r = ""
end if
Err.Clear
End Function

Form, Query String e …

Ora sfruttiamo la precedente funzione per essere facilitati nell’estrarre i parametri che ci arrivano via form (put) e url / query string (get).

Function f(s)
'estraggo un elemento dal form
f = Request.Form(s)
End Function
Function fr(s)
fr = r(f(s))
End Function
Function q(s)
'estraggo un elemento dal query string
q = Request.QueryString(s)
End Function
Function qr(s)
qr = r(q(s))
End Function
Function u(s)
'estraggo elemementi da un upload form (aspupload.com)
'catturo eventuale errore
On Error Resume Next
u = Upload.Form(s)
If Err.Number <> 0 then
u = ""
end if
Err.Clear
End Function
Function ur(s)
ur = r(u(s))
End Function

Alla quale aggiungiamo una funzioncina per convertire il tutto in formato stringa. VBScript ha una gestione del tipo dato molto particolare. Quasi sempre tutto è automaticamente castabile su altro tipo. Però quando i dati arrivano dal DB fa il "fastidioso". Con questa funzione passiamo tutto in stringa:

Function ToString(s)
'converto in stringa
if (isNull(s)) then
ToString = ""
else
ToString = CStr(s)
end if
End Function

Chiudiamo in bellezza con la croce si ASP il debug. Chi è abituato a coldfusion sa che il debugger è eccezionale. Su Vbscript si cambia un po’ abitudini. Con questa funzione ricorrete al vecchio metodo di debug con facilità!

Function debug(s)
'butta fuori l'output e blocca la pagina

response.Write(s)
response.end
End Function

Signori e signori… buona serata. Se ci sono dubbi, proverò a rispondere, non per mancata voglia, ma per presunte incapacità 🙂

 

Loading Facebook Comments ...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *