Ago
08
2008
0

En horario de oficina, función ASP

Función de asp que nos devuelve verdadero o falso, en el caso que estes en horario o no, útil para mostrar un contenido en algunas horas o no, por ejemplo un chat de empresa que sólo estará disponible en horario laboral ;)

function enHorarioOficina()‘devuelve si estamos en el horario de oficina o no
dim inicioMan,finMan,inicioTarde,finTarde,diaInicio,diaFin,hora,dia
dia=weekday(date())
hora=hour(time)’parametros para configurar según tu empresa
inicioMan=10′inicio en la mañana
finMan=14′fin de la mañana
inicioTarde=15′inicio trabajo tarde
finTarde=19′fin del trabajo
diaInicio=2′lunes inicio de la semana
diaFin=6′viernes fin de la semana laboral
enHorarioOficina=false’suponemos que no esta en horario

if (dia>=diaInicio and dia<=diaFin) and ((hora>=inicioMan and hora<finMan) or (hora>=inicioTarde and hora<finTarde)) then ‘ si esta en el intervalo
enHorarioOficina=true’esta en horario
end if

end function

Escrito por deambulando en: ASP, Programación | | Subir
Jul
28
2008
2

Función reemplazar para ASP

Pues para hoy otra función ASP, para esta antes necesitaremos la función que nos dice si algo esta vacío.

Pero para que es útil esta función si ya existe el replace?

Simple, trata hacer un replace sobre algo que es nulo o vacío, y ya vereís por que es util esta función ;)

Al grano!

function reemplaza(byref origen,byref cad,byref cadReemp)‘replace mejorado, comprueba si las variables estan vacias
‘1r param= cadena en la que se hace el reemplazo,
‘2º param, cadena a buscar
‘3º cadena por la que reemplazar
if not esVacio(origen) and not esVacio(cad) and not esVacio(cadReemp) then’si no estan vacias!!!
reemplaza=replace(origen,cad,cadReemp)’reemplazamos
end if
end function

Otra función de asp útil para coleccionar ;)

Jul
22
2008
1

Función ASP para saber si una variable esta vacía

Es una de estas funciones ASP que tengo que son chorras, pero a su vez muy útil

Con esta función nos ahorraremos hacer tres a la vez, comprobaremos que tenga un valor inicial (isEmpty), que no sea null (isNull), o que simplemente este vacía (=”") aquí  va:

function esVacio(byref var)’chequea que una variable tenga algun valor
esVacio=true’por defecto pensamos que esta vacia

if not isEmpty(var) and not isnull(var) and var<>”" then ’si esta declarada, no es null, y tiene valor
esVacio=false    ‘no esta vacia!!
end if

end function

Uso: (continua…)

Escrito por deambulando en: ASP, Programación | | Subir
Abr
08
2008
0

Object Moved – Asp

Otro problema con asp con solución encontrada aquí

SafeRedir "http://www.motobit.com"

Sub SafeRedir(ByVal URL)
  Response.Buffer = True
  Response.Status = "302 Object moved"
  Response.AddHeader "Location", URL
  Response.Write "<HTML><Head>"
  Response.Write "<META HTTP-EQUIV=Refresh CONTENT=""0;URL=" & URL & """>"
  Response.Write "<Script>window.location='" & URL & "';</Script>"
  Response.Write "</Head>"
'  Response.Write "<Body> This page was moved <A href=""" & URL & """>here</A>"
  Response.Write "</HTML>"
End Sub
Escrito por deambulando en: ASP, Programación, Software | | Subir
Mar
21
2008
5

De número a Letras, Number to words, ASP

Basado en http://www.forosdelweb.com/f15/funcion-para-convertir-numeros-letras-387197/

 

Modifico la función para que muestre también con palabras los decimales ;), y alguna optimización.

<%
response.Write number2word(1000.101)

output: mil con diez

function number2word(byval numero)’convierte un número a palabras
Dim decimales

number2word=oneNumberToWord(Cdbl(Int(numero)))’lo pasamos a palabras

decimales = (numero – Cdbl(Int(numero))) * 100′obtenemos si tenia decimales
If decimales <> 0 Then number2word = number2word & ” con ” & CStr(oneNumberToWord(Round(decimales))) ’si tiene decimales convertimos los decimales a palabras

end function (continua…)

Escrito por deambulando en: ASP, Internet, Software, Tecnologia | | Subir
Ene
23
2008
0

Obtener último día del mes – ASP

Pues eso!! le pasas una fecha y te devuelve el último día del mes que puede tener esa fecha ;)

Function lastMonthDay(byval sDate)'obtiene el ultimo dia del mes
dim nextMonth
sDate = DateSerial(Year(sDate), Month(sDate), "01")
nextMonth = DateAdd("m", 1, SDate)
lastMonthDay = Day(DateAdd("d", -1, nextMonth))
End Function

Ene
16
2008
2

Evita el SQL injection en ASP

Esta función ya os la presenté anteriormente pero ayer me decidí a mejorarla basándome en este pdf

function limpia(text,encode)
dim banned,i
limpia=text
banned = array("""","'","&","--","select","insert","update","delete","drop")
for i = 0 to uBound(banned)
limpia = replace(limpia, banned(i),"")
next
if encode=true then
limpia=server.htmlencode(limpia)
end if
end function

Escrito por deambulando en: ASP, Internet, Software, Tecnologia | | Subir
Ene
15
2008
0

Funciones para recoger datos ASP

Bueno otro golpe de genialidad como el response.write, pero ahora con el request.querystring y el request.form, harto estaba de escribir esto!! así que monto estas dos chorras/funciones, que ademas me limpian lo que me hayan pasado ;)

function rf(s)'hace el request form
rf=limpia(request.form(s),false)
end function


function rq(s)'hace el request query
rq=limpia(request.QueryString(s),false)
end function

Ene
07
2008
0

Meta keywords ASP

El otro día expliqué como hacer el meta description de html con ASP (por cierto mejorado), el de keywords no lo he puesto aún por que lo estaba mejorando ;)

Lo ideal es pasar le un texto no demasiado largo, yo le paso el description, ya que el meta keyword, cuanto mas parezca al contenido de la web, mucho mejor ;)

function getKeywords(texto)'convierte un texto a keywords
dim i,banned
getKeywords=lcase(texto)'todo a minusuclas
getKeywords=quitarHtml(getKeywords)'quitamos el html
banned = array(";",":","."," from "," ante " , " bajo "," cabe "," contra "," desde "," entre "," hacia "," hasta "," para "," según "," sobre "," tras ",",,"," ")'palabras de mas de 3 caracteres que no queremos y los espacios los substituimos por comas
for i = 0 to uBound(banned)
getKeywords = replace(getKeywords, banned(i),",")'reemplazamos
next
getKeywords=delMenoresDe(3,getKeywords,",")'quitamos palabras menores de 3, esto es configurable
getKeywords=delDuplicados(getKeywords,",")'eliminamos las palabras duplicadas
end function

También necesitareis estas tres funciones, la primera elimina todas las palabras menores de X, la segunda las palabras duplicadas, y la tercera te dice si un elemento esta en un array (continua…)

Dic
27
2007
1

Meta description ASP

El otro día ya os presente el limpiador de html…pues mas que nada era para hacer el meta description como dios manda ;)

function getDescriptionMeta(desc)'le pasas un texto y te lo formatea para la descripcion del meta
dim i,banned
getDescriptionMeta = left(desc,200)
getDescriptionMeta = limpia(getDescriptionMeta,false)
getDescriptionMeta = quitarHtml(getDescriptionMeta)
end function

Dic
20
2007
1

Quitar etiquetas Html de un texto ASP

Muy útil!

Imaginad tenéis un texto con multitud de etiquetas html…pero claro…no siempre deben de ser buenas para insertar y mantener una estructura de una web.

Pues con esto lo arreglamos :D


function quitarHtml(str)'con regex nos cargamos todos los tags html
quitarHtml=replaceExpresion(str,"","<[^>]*?>")
end function


function replaceExpresion(str,reem,pat)'hace un regExp
dim oER:set oER = New RegExp
oER.Pattern = pat
oER.IgnoreCase = True
oER.Global = True
replaceExpresion = oER.replace(str, reem)
set oER = nothing
end function

Nov
04
2007
2

La paradoja Python – ASP

Primero mi experiencia: Mas vale malo conocido que malo por conocer….

Y no me refiero a que ASP sea malo, pero en mi caso, es el que mejor conozco y mas rendimiento le saco, de que me serviría programar en otro lenguaje si resulta que no podré sacar el mismo rendimiento, con la perdida de tiempo que conlleva?

Y esto la paradoja:

A falta de un nombre mejor lo llamaré la paradoja Python: si una compañía decide escribir su software en un lenguaje poco utilizado comparativamente, serán capaces de contratar a mejores programadores, porque atraerán sólo a aquellos que se molestaron en aprenderlo…

Hasta ahora sólo unas pocas compañías han sido suficientemente inteligentes para darse cuenta de esto. Pero hay una especie de selección natural trabajando: son exactamente las mismas compañías en las que a los programadores les gustaría trabajar. Google, por ejemplo. Cuando ofertan puestos para programar en Java, también piden experiencia con Python.

– Paul Graham

vía mundogeek

Escrito por deambulando en: ASP, Varios | | Subir
Oct
08
2007
2

Averiguar fechas de Semana Santa – ASP

Bueno una función de estas útiles , extraído de la wikipedia y reprogramado por mí xD

se usa  isSemanaSanta(”23/04/2008″)

function isSemanaSanta(Fecha)‘le pasas una fecha y te dice si cae en semana santa
dim FechaDomingoSanto,FechaInicio,FechaFin

Fecha=cdate(Fecha)
FechaDomingoSanto=cdate(obtenerDomingoSanto(year(fecha)))
‘para barcelona
FechaInicio=dateadd(”d”,-2,FechaDomingoSanto)’acaba en el lunes de pascua
FechaFin=dateadd(”d”,1,FechaDomingoSanto)’comienza en viernes santo
‘resto españa
‘FechaInicio=dateadd(”d”,-3,FechaDomingoSanto)’comienza en jueves santo
‘FechaFin=FechaDomingoSanto’acaba el mismo domingo
‘rw FechaInicio & FechaFin
if Fecha>=FechaInicio and Fecha<=FechaFin then
isSemanaSanta=true’es semana santa
else
isSemanaSanta=false’sino esta en rango no es semana santa
end if

end function (continua…)

Escrito por deambulando en: ASP, Programación, Software | | Subir
Jul
31
2007
5

Ordenar Matriz

Una función que he desarrollado, supongo que muy útil, se le pasa una matriz, el campo por el que lo queremos ordenar, y el orden, et tachán!!!

uso: matriz=orderMatrixBy(matriz,1,”asc”)

function orderMatrixBy(matriz,campo,orden)’se pasa una matriz, el campoa ordenar, y el tipo de orden, y nos devuelve el array ordenado!!

if isarray(matriz)=true and isnumeric(campo)=true then
dim i,j,aux,total,totalCampos
total=ubound(matriz,2)-1′total registros a recorrer, el -1 es por que se evita a llegar hasta el ultimo
totalCampos=Ubound(matriz, 1)’total de campos
redim aux(totalCampos)’el vector auxiliar para guardar la posicion de la matriz
dim desordenado:desordenado=true

if cint(campo)<=totalCampos then’si el campo que se le pasa es menor que o igual al total de campos

while desordenado’mientras este desordenado….
desordenado=false’le decimos que se ha ordenado

for i= 0 to total’recorremos todo el array
if (orden=”asc” and matriz(campo,i)>matriz(campo,i+1)) or (orden=”desc” and matriz(campo,i)<matriz(campo,i +1)) then’si se tiene que ordenar
for J = 0 to totalCampos’movemos toda la posicion de la matriz a un vector auxilias
aux(j)=matriz(j,i)
next

for J = 0 to totalCampos’la posicion + 1 a la anterior
matriz(j,i)=matriz(j,i+1)
                       next

for J = 0 to totalCampos’la posicion anterior guardada en aux en la posicion mas 1
matriz(j,i+1)=aux(j)
next
desordenado=true’sigue desordenado
end if
next
wend

end if

redim aux(0)’no lo usaremos mas

end if

orderMatrixBy=matriz’devolvemos la matriz

end function

Escrito por deambulando en: ASP, Programación | | Subir
Jul
26
2007
0

PrinttableXML ASP

Lo prometido es deuda, una función que pasandole el sql te devuelve el xml, así de fácil, ademas optimizado mega rápido!!! fium fium

function printtableXml(sql)’se le pasa un string sql, e devuelve en
Response.ContentType = “text/xml”

dim rs,i,j,tabla,campos
set rs = openRS (”", sql)

response.write “”
if not rs.eof then
redim campos(rs.fields.Count – 1)
for i = 0 to rs.fields.Count – 1
campos(i)=rs.fields(i).name
next
tabla=rs.getrows

i=0:j=0
for I = 0 to UBound(Tabla,2)
response.write ”
for J = 0 to Ubound(Tabla, 1)’Imprimo una celda para
cada campo
Response.Write campos(j) & “=”"” & Tabla(J, I) & “”" ”
next
response.write “/>”
next

end if
response.write “”

closeRS(rs)
end function

Escrito por deambulando en: ASP, Programación | | Subir

Deambulando.com 2006-2009 by Chema | LSSI | Subir

Deja un comentario ya! Ir Abajo Ir Arriba