Regresar   Foros del Web > Programación para sitios web > ASP

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 20/01/06, 05:41:21   #91 (permalink)
Muzztein tiene un saldo positivo de karma
 
Registrado: nov 2002
Ubicación: Hangar 18
Mensajes: 1.189
Muzztein is offline  
Funcion para normalizar decimales

Haciendo una mantencion de un sistema de 1999, encontré esta funcion ...

Código:
Function Recoge_Decimales(str)
	On Error resume next
   if CStr(1/10) = "0,1" then
      Recoge_Decimales = CDbl(Replace(str, ".", ","))
      exit function
   end if
   if CStr(1/10) = "0.1" then
      Recoge_Decimales = CDbl(Replace(str, ",", "."))
      exit function
   end if
   Recoge_Decimales = CDbl(str)
end function
__________________
On Error Resume Thinking
  Responder Con Cita
Antiguo 30/01/06, 12:47:07   #92 (permalink)
tammander tiene algunos puntos positivos de karma
 
Registrado: ene 2006
Ubicación: Torroles (Costa der Só)
Mensajes: 917
tammander is offline  
Alegría Copiar una imagen desde una dirección web externa

Copia desde una dirección web cualquiera una imagen a nuestro servidor y luego nos devuelve el path de la imagen.

Código:
<%@ Language=VBScript %>
<% Option Explicit

'***********************************************
'* Copia una Imagen desde una direccion, 
'* la graba en un directorio de nuestro equipo
'* y devuelve su direccion
'***********************************************

Function CopiaImagenDesde(URL)
On Error Resume Next
Err.Clear
'*
'* Toma la imagen
'*
Dim objXML
'Set objXML = Server.CreateObject("Msxml2.ServerXMLHTTP")
Set objXML = Server.CreateObject("Microsoft.XMLHTTP")
objXML.Open "GET",URL,False
objXML.Send
Dim binXML
binXML = objXML.ResponseBody
If Err.Number <> 0 Or objXML.Status <> 200 Then
	CopiaImagenDesde = False
	Exit Function
End If
Set objXML = Nothing
'*
'* Graba Imagen en images\ o en donde se quiera
'*
Dim strIMG
strIMG = "images\" & Mid(URL,InStrRev(URL,"/")+1)
Dim objADO
Set objADO = CreateObject("ADODB.Stream")
objADO.Type = 1
objADO.Open
objADO.Write binXML
objADO.SaveToFile Server.MapPath(strIMG),2
Set objADO = Nothing

CopiaImagenDesde = strIMG
End Function
%>
Y esta es su forma de utilizarlo

Código:
<html>
<body>
<img src="<%=CopiaImagenDesde("http://www.undominio.com/dir/imageness/archivo.gif")%>"
border="0" alt="">
</body>
</html>
Un saludo
  Responder Con Cita
Antiguo 29/03/06, 07:50:59   #93 (permalink)
Muzztein tiene un saldo positivo de karma
 
Registrado: nov 2002
Ubicación: Hangar 18
Mensajes: 1.189
Muzztein is offline  
Cool

Funcion super util


Código HTML:
<%
REM INC_FUNCIONES_FORMATO.ASP 
REM VERSION 1.0
REM 20030328
REM formatea(entrada,formato_esperado,valor_por_defecto,arreglo_de_parseos)
REM ENTRADA Contiene la variable a formatear
REM FORMATO_ESPERADO Indica el formato en el que deberia venir la variable
REM VALOR_POR_DEFECTO En caso de que la variable no cumpla el formato, asigna este valor
REM ARREGLO_DE_PARSEOS Contiene un string separado por comas que contiene las tranformaciones deseadas a una misma variable.
REM EJEMPLO DE EJECUCCION: FORMATEA("holas",3,false,"1,0,4,6,10,13")

REM FORMATO ESPERADO 1 NUMERICO
REM FORMATO ESPERADO 2 FECHA
REM FORMATO ESPERADO 3 CADENA

REM Parseo  0  FIX COMILLAS SIMPLES
REM Parseo  1  FIX TAG HTML 
REM Parseo  2  FIX PUNTOS Y COMA EXEL
REM Parseo  3  FIX SQL INJECTION
REM Parseo  4  FIX BLANK SPACE / UNDERSCORE						
REM Parseo  5  TRANSFORMACION CSNG
REM Parseo  6  TRANSFORMACION CINT
REM Parseo  7  TRANSFORMACION Cdate
REM Parseo  8  TRANSFORMACION trim
REM Parseo  9  TRANSFORMACION lcase
REM Parseo  10 TRANSFORMACION ucase
REM Parseo  11 TRANSFORMACION CSTR
REM Parseo  12 TRANSFORMACION CDBL
REM Parseo  13 ENCOMILLADO
REM Parseo  14 DESCOMILLADO

function checa_formato_xp(entrada,formato)
	on error resume next
	err.Clear ()
	checa_formato_xp = false
	Select Case formato
	    Case 1
			if isnumeric(entrada) = true then 
				checa_formato_xp  = true
			end if
	    Case 2
			if isdate(entrada)   = true then 
				checa_formato_xp = true
			end if
	    Case 3
  			if len(entrada) <> 0   then 
				checa_formato_xp = true
			end if
	    Case Else 
				checa_formato_xp = true
	End Select
	if err.number <> 0 then	
		err.Clear ()
		checa_formato_xp = false
	end if	
end function


function fix_multiple_xp(cadena,parseo)
	on error resume next
	err.Clear ()
	dim aux 
	aux = cadena
	Select Case parseo
	    Case 0 ' FIX COMILLAS SIMPLES
			aux = replace(aux,"'","''")
	    Case 1 ' FIX TAG HTML 
			aux = replace(aux,"<","&lt;")
			aux = replace(aux,">","&gt;")
	    Case 2 ' FIX PUNTOS Y COMA EXEL
			aux = replace(aux,";","")
		Case 3 ' FIX SQL INJECTION
			aux = replace(aux,"--","")
			aux = replace(aux,"'","")
			aux = replace(aux,"=","")			
			aux = replace(aux,"&","")
		Case 4 'FIX BLANK SPACE / UNDERSCORE						
			aux = replace(trim(aux)," ","_")
		Case 5 'TRANSFORMACION CSNG
			aux = csng(aux)
		Case 6 'TRANSFORMACION CINT
			aux = cint(aux)
		Case 7 'TRANSFORMACION Cdate
			aux = cdate(aux)
		Case 8 'TRANSFORMACION trim
			aux = trim(aux)
		Case 9 'TRANSFORMACION lcase
			aux = lcase(aux)
		Case 10 'TRANSFORMACION ucase
			aux = ucase(aux)
		Case 11 'TRANSFORMACION CSTR
			aux = cstr(aux)
		Case 12 'TRANSFORMACION CDBL
			aux = cdbl(aux)
		Case 13 'ENCOMILLADO
			aux = "'" & aux & "'"
		Case 14 'DESCOMILLADO
			aux = replace(aux,"'","")			
	    Case Else 
			aux = aux
	End Select
	if err.number <> 0 then	
		err.Clear ()
		fix_multiple_xp = cadena
	else		
		fix_multiple_xp = aux
	end if	
end function	


function formatea(entrada,formato_esperado,valor_por_defecto,arreglo_de_parseos)
	on error resume next
	dim salida
	DIM arreglo
	formatea = valor_por_defecto
	salida	 = entrada
	if checa_formato_xp(salida,formato_esperado) = false then 
		exit function
	end if
	if arreglo_de_parseos <> false then 
		arreglo = split(arreglo_de_parseos,",")
		for y = 0 to ubound(arreglo)
		salida = fix_multiple_xp(salida,cint(arreglo(y)))
		next
	end if 
	if err.number <> 0 then 
		err.Clear ()
		exit function
	else
		formatea = salida
	end if
end function
%>
__________________
On Error Resume Thinking
  Responder Con Cita
Antiguo 02/06/06, 15:42:14   #94 (permalink)
cokete ha deshabilitado el Karma
 
Registrado: nov 2004
Mensajes: 173
cokete is offline  
Funciones para calcular ancho y alto de una imagen.

Código:
Private Function GetImageWidth(byVal strPath)
   dim myImg, fs 
   Set fs= CreateObject("Scripting.FileSystemObject") 
   if not fs.fileExists(strPath) then Exit Function 
   set myImg = loadpicture(strPath) 
   GetImageWidth = round(myImg.width / 26.4583) 
   set myImg = nothing 
End Function


Private Function GetImageHeight(byVal strPath)
   dim myImg, fs 
   Set fs= CreateObject("Scripting.FileSystemObject") 
   if not fs.fileExists(strPath) then Exit Function
   set myImg = loadpicture(strPath) 
   GetImageHeight = round(myImg.height / 26.4583) 
   set myImg = nothing 
End Function
  Responder Con Cita
Antiguo 29/06/06, 06:55:44   #95 (permalink)
trasgukabi no ha recibido karma de otros usuarios
 
Registrado: sep 2004
Mensajes: 2.095
trasgukabi is offline  
MD5 1ª parte

Pasar cadena por Md5.
Código:
'HASH MD5
Private Const S11	=	&H007
Private Const S12	=	&H00C
Private Const S13	=	&H011
Private Const S14	=	&H016
Private Const S21	=	&H005
Private Const S22	=	&H009
Private Const S23	=	&H00E
Private Const S24	=	&H014
Private Const S31	=	&H004
Private Const S32	=	&H00B
Private Const S33	=	&H010
Private Const S34	=	&H017
Private Const S41	=	&H006
Private Const S42	=	&H00A
Private Const S43	=	&H00F
Private Const S44	=	&H015

Class MD5
	' Public methods and properties
	
	' Text property
	Public Text

	' Text value in Hex, read-only
	Public Property Get HEXMD5()
		Dim lArray
		Dim lIndex
		Dim AA
		Dim BB
		Dim CC
		Dim DD
		Dim lStatus0
		Dim lStatus1
		Dim lStatus2
		Dim lStatus3

		lArray = ConvertToWordArray(Text)

		lStatus0 = &H67452301
		lStatus1 = &HEFCDAB89
		lStatus2 = &H98BADCFE
		lStatus3 = &H10325476

		For lIndex = 0 To UBound(lArray) Step 16
			AA = lStatus0
			BB = lStatus1
			CC = lStatus2
			DD = lStatus3

			FF lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 0),	S11,&HD76AA478
			FF lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 1),	S12,&HE8C7B756
			FF lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 2),	S13,&H242070DB
			FF lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 3),	S14,&HC1BDCEEE
			FF lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 4),	S11,&HF57C0FAF
			FF lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 5),	S12,&H4787C62A
			FF lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 6),	S13,&HA8304613
			FF lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 7),	S14,&HFD469501
			FF lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 8),	S11,&H698098D8
			FF lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 9),	S12,&H8B44F7AF
			FF lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 10),	S13,&HFFFF5BB1
			FF lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 11),	S14,&H895CD7BE
			FF lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 12),	S11,&H6B901122
			FF lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 13),	S12,&HFD987193
			FF lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 14),	S13,&HA679438E
			FF lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 15),	S14,&H49B40821

			GG lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 1),	S21,&HF61E2562
			GG lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 6),	S22,&HC040B340
			GG lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 11),	S23,&H265E5A51
			GG lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 0),	S24,&HE9B6C7AA
			GG lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 5),	S21,&HD62F105D
			GG lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 10),	S22,&H2441453
			GG lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 15),	S23,&HD8A1E681
			GG lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 4),	S24,&HE7D3FBC8
			GG lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 9),	S21,&H21E1CDE6
			GG lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 14),	S22,&HC33707D6
			GG lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 3),	S23,&HF4D50D87
			GG lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 8),	S24,&H455A14ED
			GG lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 13),	S21,&HA9E3E905
			GG lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 2),	S22,&HFCEFA3F8
			GG lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 7),	S23,&H676F02D9
			GG lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 12),	S24,&H8D2A4C8A
			        
			HH lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 5),	S31,&HFFFA3942
			HH lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 8),	S32,&H8771F681
			HH lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 11),	S33,&H6D9D6122
			HH lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 14),	S34,&HFDE5380C
			HH lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 1),	S31,&HA4BEEA44
			HH lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 4),	S32,&H4BDECFA9
			HH lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 7),	S33,&HF6BB4B60
			HH lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 10),	S34,&HBEBFBC70
			HH lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 13),	S31,&H289B7EC6
			HH lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 0),	S32,&HEAA127FA
			HH lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 3),	S33,&HD4EF3085
			HH lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 6),	S34,&H4881D05
			HH lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 9),	S31,&HD9D4D039
			HH lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 12),	S32,&HE6DB99E5
			HH lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 15),	S33,&H1FA27CF8
			HH lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 2),	S34,&HC4AC5665

			II lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 0),	S41,&HF4292244
			II lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 7),	S42,&H432AFF97
			II lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 14),	S43,&HAB9423A7
			II lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 5),	S44,&HFC93A039
			II lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 12),	S41,&H655B59C3
			II lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 3),	S42,&H8F0CCC92
			II lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 10),	S43,&HFFEFF47D
			II lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 1),	S44,&H85845DD1
			II lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 8),	S41,&H6FA87E4F
			II lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 15),	S42,&HFE2CE6E0
			II lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 6),	S43,&HA3014314
			II lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 13),	S44,&H4E0811A1
			II lStatus0,lStatus1,lStatus2,lStatus3,lArray(lIndex + 4),	S41,&HF7537E82
			II lStatus3,lStatus0,lStatus1,lStatus2,lArray(lIndex + 11),	S42,&HBD3AF235
			II lStatus2,lStatus3,lStatus0,lStatus1,lArray(lIndex + 2),	S43,&H2AD7D2BB
			II lStatus1,lStatus2,lStatus3,lStatus0,lArray(lIndex + 9),	S44,&HEB86D391

			lStatus0 = Add32(lStatus0,AA)
			lStatus1 = Add32(lStatus1,BB)
			lStatus2 = Add32(lStatus2,CC)
			lStatus3 = Add32(lStatus3,DD)
		Next
		  
		HEXMD5 = LCase(WordToHex(lStatus0) & WordToHex(lStatus1) & WordToHex(lStatus2) & WordToHex(lStatus3))
	End Property
__________________
SEO Hosting
  Responder Con Cita
Antiguo 29/06/06, 07:00:06   #96 (permalink)
trasgukabi no ha recibido karma de otros usuarios
 
Registrado: sep 2004
Mensajes: 2.095
trasgukabi is offline  
MD5 (y 2)

Código:
' Private methods and properties
	Private m_lMask()
	Private m_lPow()

	Private Function F(lX, lY, lZ)
		F = (lX And lY) Or ((Not lX) And lZ)
	End Function

	Private Function G(lX, lY, lZ)
		G = (lX And lZ) Or (lY And (Not lZ))
	End Function

	Private Function H(lX, lY, lZ)
		H = lX Xor lY Xor lZ
	End Function

	Private Function I(lX, lY, lZ)
		I = lY Xor (lX Or (Not lZ))
	End Function

	Private Sub FF(lA, lB, lC, lD, lX, lS, lAC)
		lA = Add32(lA,Add32(Add32(F(lB,lC,lD),lX),lAC))
		lA = RotateLeft32(lA,lS)
		lA = Add32(lA,lB)
	End Sub

	Private Sub GG(lA, lB, lC, lD, lX, lS, lAC)
		lA = Add32(lA,Add32(Add32(G(lB,lC,lD),lX),lAC))
		lA = RotateLeft32(lA,lS)
		lA = Add32(lA,lB)
	End Sub

	Private Sub HH(lA, lB, lC, lD, lX, lS, lAC)
		lA = Add32(lA,Add32(Add32(H(lB,lC,lD),lX),lAC))
		lA = RotateLeft32(lA,lS)
		lA = Add32(lA,lB)
	End Sub

	Private Sub II(lA, lB, lC, lD, lX, lS, lAC)
		lA = Add32(lA,Add32(Add32(I(lB,lC,lD),lX),lAC))
		lA = RotateLeft32(lA,lS)
		lA = Add32(lA,lB)
	End Sub

	Private Function ConvertToWordArray(sText)
		Dim lTextLength
		Dim lNumberOfWords
		Dim lWordArray()
		Dim lBytePosition
		Dim lByteCount
		Dim lWordCount
		  
		lTextLength = Len(sText)
		  
		lNumberOfWords = (((lTextLength + 8) \ 64) + 1) * 16

		ReDim lWordArray(lNumberOfWords - 1)
		  
		lBytePosition = 0
		lByteCount = 0
		
		Do Until lByteCount >= lTextLength
			lWordCount = lByteCount \ 4
			lBytePosition = (lByteCount Mod 4) * 8
			lWordArray(lWordCount) = lWordArray(lWordCount) Or ShiftLeft(Asc(Mid(sText,lByteCount + 1,1)),lBytePosition)
			lByteCount = lByteCount + 1
		Loop

		lWordCount = lByteCount \ 4
		lBytePosition = (lByteCount Mod 4) * 8

		lWordArray(lWordCount) = lWordArray(lWordCount) Or ShiftLeft(&H80,lBytePosition)

		lWordArray(lNumberOfWords - 2) = ShiftLeft(lTextLength,3)
		lWordArray(lNumberOfWords - 1) = ShiftRight(lTextLength,29)
		  
		ConvertToWordArray = lWordArray
	End Function

	Private Function WordToHex(lValue)
		Dim lTemp

		For lTemp = 0 To 3
			WordToHex = WordToHex & Right("00" & Hex(ShiftRight(lValue,lTemp * 8) And m_lMask(7)),2)
		Next
	End Function

	' Unsigned value arithmetic functions for rotating, shifting and adding
	Private Function ShiftLeft(lValue,iBits)
		' Guilty until proven innocent
		ShiftLeft = 0

		If iBits = 0 then
			ShiftLeft = lValue ' No shifting to do
		ElseIf iBits = 31 Then ' Quickly shift left if there is a value, being aware of the sign
			If lValue And 1 Then
				ShiftLeft = &H80000000
			End If
		Else ' Shift left x bits, being careful with the sign
			If (lValue And m_lPow(31 - iBits)) Then
				ShiftLeft = ((lValue And m_lMask(31 - (iBits + 1))) * m_lPow(iBits)) Or &H80000000
			Else
				ShiftLeft = ((lValue And m_lMask(31 - iBits)) * m_lPow(iBits))
			End If
		End If
	End Function

	Private Function ShiftRight(lValue,iBits)
		' Guilty until proven innocent
		ShiftRight = 0
		
		If iBits = 0 then
			ShiftRight = lValue ' No shifting to do
		ElseIf iBits = 31 Then ' Quickly shift to the right if there is a value in the sign
			If lValue And &H80000000 Then
				ShiftRight = 1
			End If
		Else
			ShiftRight = (lValue And &H7FFFFFFE) \ m_lPow(iBits)

			If (lValue And &H80000000) Then
				ShiftRight = (ShiftRight Or (&H40000000 \ m_lPow(iBits - 1)))
			End If
		End If
	End Function

	Private Function RotateLeft32(lValue,iBits)
		RotateLeft32 = ShiftLeft(lValue,iBits) Or ShiftRight(lValue,(32 - iBits))
	End Function

	Private Function Add32(lA,lB)
		Dim lA4
		Dim lB4
		Dim lA8
		Dim lB8
		Dim lA32
		Dim lB32
		Dim lA31
		Dim lB31
		Dim lTemp

		lA32 = lA And &H80000000
		lB32 = lB And &H80000000
		lA31 = lA And &H40000000
		lB31 = lB And &H40000000

		lTemp = (lA And &H3FFFFFFF) + (lB And &H3FFFFFFF)

		If lA31 And lB31 Then
			lTemp = lTemp Xor &H80000000 Xor lA32 Xor lB32
		ElseIf lA31 Or lB31 Then
			If lTemp And &H40000000 Then
				lTemp = lTemp Xor &HC0000000 Xor lA32 Xor lB32
			Else
				lTemp = lTemp Xor &H40000000 Xor lA32 Xor lB32
			End If
		Else
			lTemp = lTemp Xor lA32 Xor lB32
		End If

		Add32 = lTemp
	End Function

	' Class initialization
	Private Sub Class_Initialize()
		Text = ""
		
		Redim m_lMask(30)
		Redim m_lPow(30)
		
		' Make arrays of these values to save some time during the calculation
		m_lMask(0)	=	CLng(&H00000001&)
		m_lMask(1)	=	CLng(&H00000003&)
		m_lMask(2)	=	CLng(&H00000007&)
		m_lMask(3)	=	CLng(&H0000000F&)
		m_lMask(4)	=	CLng(&H0000001F&)
		m_lMask(5)	=	CLng(&H0000003F&)
		m_lMask(6)	=	CLng(&H0000007F&)
		m_lMask(7)	=	CLng(&H000000FF&)
		m_lMask(8)	=	CLng(&H000001FF&)
		m_lMask(9)	=	CLng(&H000003FF&)
		m_lMask(10)	=	CLng(&H000007FF&)
		m_lMask(11)	=	CLng(&H00000FFF&)
		m_lMask(12)	=	CLng(&H00001FFF&)
		m_lMask(13)	=	CLng(&H00003FFF&)
		m_lMask(14)	=	CLng(&H00007FFF&)
		m_lMask(15)	=	CLng(&H0000FFFF&)
		m_lMask(16)	=	CLng(&H0001FFFF&)
		m_lMask(17)	=	CLng(&H0003FFFF&)
		m_lMask(18)	=	CLng(&H0007FFFF&)
		m_lMask(19)	=	CLng(&H000FFFFF&)
		m_lMask(20)	=	CLng(&H001FFFFF&)
		m_lMask(21)	=	CLng(&H003FFFFF&)
		m_lMask(22)	=	CLng(&H007FFFFF&)
		m_lMask(23)	=	CLng(&H00FFFFFF&)
		m_lMask(24)	=	CLng(&H01FFFFFF&)
		m_lMask(25)	=	CLng(&H03FFFFFF&)
		m_lMask(26)	=	CLng(&H07FFFFFF&)
		m_lMask(27)	=	CLng(&H0FFFFFFF&)
		m_lMask(28)	=	CLng(&H1FFFFFFF&)
		m_lMask(29)	=	CLng(&H3FFFFFFF&)
		m_lMask(30)	=	CLng(&H7FFFFFFF&)

		' Power operations always take time to calculate
		m_lPow(0)	=	CLng(&H00000001&)
		m_lPow(1)	=	CLng(&H00000002&)
		m_lPow(2)	=	CLng(&H00000004&)
		m_lPow(3)	=	CLng(&H00000008&)
		m_lPow(4)	=	CLng(&H00000010&)
		m_lPow(5)	=	CLng(&H00000020&)
		m_lPow(6)	=	CLng(&H00000040&)
		m_lPow(7)	=	CLng(&H00000080&)
		m_lPow(8)	=	CLng(&H00000100&)
		m_lPow(9)	=	CLng(&H00000200&)
		m_lPow(10)	=	CLng(&H00000400&)
		m_lPow(11)	=	CLng(&H00000800&)
		m_lPow(12)	=	CLng(&H00001000&)
		m_lPow(13)	=	CLng(&H00002000&)
		m_lPow(14)	=	CLng(&H00004000&)
		m_lPow(15)	=	CLng(&H00008000&)
		m_lPow(16)	=	CLng(&H00010000&)
		m_lPow(17)	=	CLng(&H00020000&)
		m_lPow(18)	=	CLng(&H00040000&)
		m_lPow(19)	=	CLng(&H00080000&)
		m_lPow(20)	=	CLng(&H00100000&)
		m_lPow(21)	=	CLng(&H00200000&)
		m_lPow(22)	=	CLng(&H00400000&)
		m_lPow(23)	=	CLng(&H00800000&)
		m_lPow(24)	=	CLng(&H01000000&)
		m_lPow(25)	=	CLng(&H02000000&)
		m_lPow(26)	=	CLng(&H04000000&)
		m_lPow(27)	=	CLng(&H08000000&)
		m_lPow(28)	=	CLng(&H10000000&)
		m_lPow(29)	=	CLng(&H20000000&)
		m_lPow(30)	=	CLng(&H40000000&)
	End Sub
End Class
Y para llamarlo
Código:
cadena="cadena a pasar"
Dim objMD5
Set objMD5 = New MD5
objMD5.Text = cadena
response.write objMD5.HEXMD5
__________________
SEO Hosting
  Responder Con Cita
Antiguo 27/08/06, 13:12:59   #97 (permalink)
Saruman tiene un saldo positivo de karma
 
Registrado: may 2003
Ubicación: Panamá
Mensajes: 1.144
Contactar con Saruman a través de MSN Contactar con Saruman a través de Yahoo
Saruman is offline  
Arbol de elementos

Hola... esta función es para generar un árbol de elementos, ideal para la creación de menú con opciones infinitas. Espero les sirva.
pd. Este script es original de mi amigo Vaalegk (gracias )

Utilizacion:

call CrearArbol(0, "|","")

Resultado:
|categoria1
||categoira2
|categoria3
||categoria4
|||categoria5


Código:
 
function CrearArbol(byVal ParentId, byVal Prefijo, byVal Current)
  sSQL = "select * from tabña where parentid=" & ParentId
  set RS = Master.Execute(sSQL)
  if RS.bof=false and RS.eof=false then
   while not RS.eof
    tmp_id = RS("codigo")
    nombre_menu = ucase(RS("nombre"))
 
    cadena = vbtab & vbtab & Current & nombre_menu & vbcrlf
    response.Write(cadena)
 
    call CrearArbol(tmp_id, Prefijo, Current & Prefijo)
 
    RS.movenext
   wend
  end if
 end function
 
 call CrearArbol(0, "|","")
saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  Responder Con Cita
Antiguo 19/10/06, 08:39:33   #98 (permalink)
biffly tiene un saldo positivo de karma
 
Registrado: jun 2005
Mensajes: 307
Contactar con biffly a través de MSN
biffly is offline  
Redireccionar a un frame

para redireccionar a un frame

ventana principal
Código:
Response.Write("<script>window.open('index.asp','_top');<" & chr(47) & "script>")
a un frame en especial
Código:
Response.Write("<script>window.open('index.asp','miframe');<" & chr(47) & "script>")
__________________
Sigue al indio desnudo... Pero con precaución, atendiendo las señales de transito y comentando todo lo que haces.
REM Hay que encontrar el camino de regreso y no siempre es facil....
  Responder Con Cita
Antiguo 14/02/07, 10:12:33   #99 (permalink)
Muzztein tiene un saldo positivo de karma
 
Registrado: nov 2002
Ubicación: Hangar 18
Mensajes: 1.189
Muzztein is offline  
Exclamación Re: Biblioteca de Clases,Funciones y Sub-rutinas.

MONTON DE FUNCIONES!

Código PHP:

<%
REM INC_FUNCIONES_BASICAS.ASP 
REM VERSION 1.1
REM 20051212 
REM 20061017

REM escribe
(str)
REM imprime(str)
REM mensaje(txt)
REM imprime_xml(xml_str)
REM termina()
REM cierra_y_recarga()
REM cierra_ventana()
REM redirecciona(url,target)
REM imprime_variables_del_form()
REM Imprime_Variables_servidor()
REM impide_almacenamiento_en_cache()
REM abre_xhtml(titulo,estilo)
REM cierra_xhtml()
REM configuracion_regional(region)
REM checa_error()
REM ruta_fisica_actual()
REM nombre_archivo_actual()
REM hola()
REM fuerza_dos_digitos(numero)

 


sub escribe(str)
    
response.write str chr(10)
end sub

sub imprime
(str)
    
escribe str "<br>"
end sub

sub mensaje
(txt)
    
dim aux
    aux 
txt
    aux 
replace(aux,"'","")
    
aux replace(aux,"""","")
    
escribe "<script>"
    
escribe "alert(""" aux """)"
    
escribe "</script>" 
end sub

sub imprime_xml
(xml_str)
    
imprime "<textarea rows=""7"" name=""test"" cols=""70"">"xml_str &"</textarea>"
end sub 

sub termina
()
    
response.end
end sub

sub cierra_y_recarga
()
    
escribe "<script>" chr(10)
    
escribe "window.opener.location.reload();"
    
escribe "window.close();"
    
escribe "</script>" chr(10)
end sub

sub cierra_ventana
()
    
escribe "<script>" chr(10)
    
escribe "window.close();"
    
escribe "</script>" chr(10)
end sub

sub redirecciona
(url,target)
    
escribe "<script>"
    
escribe "window.open("""url &""", """target &""");"
    
escribe "</script>"
end sub 

sub imprime_variables_del_form
()
    for 
each x in Request.Form 
        imprime 
"<strong>" "</strong> = " Request.Form(x
    
Next
end sub


Sub Imprime_Variables_servidor
()

    
escribe "<TABLE border=""1""><TR><TD><B>Nombre Varaible de servidor</B></TD><TD><B>Valor</B></TD></TR>"
    
For Each name In Request.ServerVariables 
        escribe 
"<TR><TD>" name "</TD><TD>" Request.ServerVariables(name) & "</TD></TR>"
    
Next
    escribe 
"</TABLE>"

end sub


sub impide_almacenamiento_en_cache
()
    
response.buffer true
    response
.expires 0
    response
.expiresabsolute now() - 1
    response
.addheader "pragma","no-cache"
    
response.addheader "cache-control","private"
    
response.cachecontrol "no-cache"
end sub

sub abre_xhtml
(titulo,estilo)
    
escribe "<meta http-equiv=""Content-Type"" content=""text/html; charset=ISO-8859-1"" />"
    
escribe "<html>"
    
escribe "<title>"titulo &"</title>"
    
escribe "<link href="""estilo &""" type=""text/css"" rel=""stylesheet"">"
    
escribe "<body leftmargin=""0"" rightmargin=""0"" topmargin=""0"" marginheight=""0"" marginwidth=""0"" onload=""window.defaultStatus='MP-NETWORK'"">" 
end sub


sub cierra_xhtml
()
    
escribe "</body>"
    
escribe "</html>"
end sub




Sub configuracion_regional
(region)
   
Select Case region
      
Case 0        
       execute
("session.lcid=1034"'CL
      Case 1        
       execute("session.lcid=1033") '
US
      
Case Else        
       
execute("session.lcid=1034"CL
   End Select
end Sub

sub checa_error
()
    if 
err.number <> 0 then
    call mensaje
("Error en tiempo de ejecucion")
    
call imprime("<b>Codigo Error: </b>" err.number
    
call imprime("<b>Glosa  Error: </b>" err.description)     
    
termina
    end 
if
end sub

function ruta_fisica_actual()
    
dim aux 
    dim arreglo
    dim nombre_pagina
    dim ruta_fisica
    aux                    
Request.ServerVariables("PATH_TRANSLATED")
    
arreglo                split(aux,"\")
    nombre_pagina        = arreglo(ubound(arreglo))
    ruta_fisica            = replace(aux,nombre_pagina,"")
    ruta_fisica_actual    = ruta_fisica
end function

function nombre_archivo_actual()
    dim aux 
    dim arreglo
    dim nombre_pagina
    aux                      = Request.ServerVariables("
PATH_TRANSLATED")
    arreglo                  = split(aux,"")
    nombre_pagina          = arreglo(ubound(arreglo))
    nombre_archivo_actual = nombre_pagina
end function

sub hola()
    call imprime("
hola mundo!")
    call termina
end sub

function fuerza_dos_digitos(numero)
    aux = "
00000" & cstr(numero)
    aux = right(aux,2)
    fuerza_dos_digitos = aux
end function



%> 
FELIZ DIA DEL



__________________
On Error Resume Thinking
  Responder Con Cita
Antiguo 15/06/07, 15:12:10   #100 (permalink)
Colaborador
Shiryu_Libra tiene algunos puntos positivos de karma
 
Registrado: feb 2007
Ubicación: Localhost/Pruebas....
Mensajes: 1.916
Contactar con Shiryu_Libra a través de MSN Contactar con Shiryu_Libra a través de Yahoo Send a message via Skype™ to Shiryu_Libra
Shiryu_Libra is offline  
Re: Biblioteca de Clases,Funciones y Sub-rutinas.

Amigos, encontre esta funcion(realmente no se donde ), pero creo que aki deberia estar

Funcion para reparar/compactar una base de datos

El codigo:
Código PHP:
Private Sub dbCompact(StrBaseDeDatos)
Const 
DriverConexion "Provider=Microsoft.Jet.OLEDB.4.0; Data source="
Dim strDatabasestrFolderstrFileName

'en caso de que requieras cambiar el PATH a la base de datos, 
'
modifica esta linea
StrCarpeta 
server.mappath("./")

if 
right(StrCarpeta,1) <> "\" then StrCarpeta = StrCarpeta & ""

Dim SourceConn, DestConn, oJetEngine, oFSO
SourceConn = DriverConexion & StrCarpeta & StrBaseDeDatos
DestConn = DriverConexion & StrCarpeta & "
Temp" & StrBaseDeDatos

Set oFSO = Server.CreateObject("
Scripting.FileSystemObject")
Set oJetEngine = Server.CreateObject("
JRO.JetEngine")

If Not oFSO.FileExists(StrCarpeta & StrBaseDeDatos) Then
       Response.Write ("
Base no encontrada" & StrCarpeta & StrBaseDeDatos)
else
       If oFSO.FileExists(StrCarpeta & "
Temp" & StrBaseDeDatos) Then
       Response.Write ("
ErrorIntente Nuevamente.")
          oFSO.DeleteFile (StrCarpeta & "
Temp" & StrBaseDeDatos)
    else
          oJetEngine.CompactDatabase SourceConn, DestConn
       oFSO.DeleteFile StrCarpeta & StrBaseDeDatos
       oFSO.MoveFile StrCarpeta & "
Temp"& StrBaseDeDatos, StrCarpeta& StrBaseDeDatos
          Response.Write ("
La base de datos <B'>" & Request.form("DBFileName") & "</B'fue compactada con exito.")
    End If
End If

Set oFSO = Nothing
Set oJetEngine = Nothing
End Sub 
la forma de llamado sera la siguiente
Código PHP:
dbCompact(nombre
logicamente donde Nombre, se nuestra base de datos

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  Responder Con Cita
Antiguo 25/08/07, 03:50:08   #101 (permalink)
TonyG ha deshabilitado el Karma
 
Registrado: may 2005
Mensajes: 33
TonyG is offline  
Tuve que hacer esto cuando al extraer los mensajes nuevos de un foro para hacer un "boletín" me encontré con que varios de ellos traían su "musiquilla de fondo". Cuando se ponían a sonar todos al tiempo... .

Con pequeñas modificaciones puede servir para quitar cualquier otra cosa.



Código:
Function QuitaRuidos(Mensaje)
Dim m1, m2, r1, r2

r1 = Instr(Mensaje, "<BGSOUND")
If r1 = 0 then
	QuitaRuidos = Mensaje
else
	m1 = Mid(Mensaje, 1, r1-1)
	m2 = Mid(Mensaje, r1) 
	r2 = Instr(m2, ">")
	m2 = Mid(m2, r2+1) 
	QuitaRuidos = m1 & m2
end if
End Function
Modo de empleo...
Código:
Response.Write(QuitaRuidos(MensajeRuidoso))
...o similar.
  Responder Con Cita
Antiguo 26/09/07, 05:37:39   #102 (permalink)
tammander tiene algunos puntos positivos de karma
 
Registrado: ene 2006
Ubicación: Torroles (Costa der Só)
Mensajes: 917
tammander is offline  
Hacer un captcher en ASP

Lo primero es hacer unas imágenes del 0 al 9 y llamarlas de forma extraña (o sea, nada de 1.gif ni uno.gif, hjree.gif es una buena solución )

Luego, en el archivo donde queremos verlo:
Código:
<form action="getData.asp">
<%
Dim des, num_captcher, arr_captcher(9)

' Yo les he puesto estos nombres :D
arr_captcher(0) = "mk_cer.gif"
arr_captcher(1) = "mk_un.gif"
arr_captcher(2) = "mk_do.gif"
arr_captcher(3) = "mk_tre.gif"
arr_captcher(4) = "mk_cua.gif"
arr_captcher(5) = "mk_cin.gif"
arr_captcher(6) = "mk_se.gif"
arr_captcher(7) = "mk_sie.gif"
arr_captcher(8) = "mk_och.gif"
arr_captcher(9) = "mk_nue.gif"

randomize()
' Esto para sacar numeros entre 10000 y 99999
num_captcher = Cstr(Int((99999 - 10000 + 1) * Rnd + 10000))

for des = 1 to len(num_captcher)
    if isNumeric(mid(num_captcher,des,1)) then
        response.Write("<img src='images/" & arr_captcher(mid(num_captcher,des,1)) & "' />")
    end if
next

session("captcher") = num_captcher
%>
<input type="text" name="captcher" />
</form>

En la página getData.asp, solo tendremos que comprobar si todo es ok

Código:
if request.form("captcher") = session("captcher") then
' Todo OK
else
' Marditos robots!! XD
end if


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  Responder Con Cita
Antiguo 02/03/08, 02:14:46   #103 (permalink)
a n g e l u s ha deshabilitado el Karma
 
Registrado: ene 2006
Ubicación: Chile
Mensajes: 178
a n g e l u s is offline  
Cool Funcion Redireccionar

Esta funcion me ayudo a solucionar un error de carga de encabezados que se me producia con response.redirect

FUNCION SALVADORA:

<%Function redirecciona(url_redireccion)
err.clear
%>
<script LANGUAGE="JavaScript">

var pagina="<%=url_redireccion%>"

function redireccionar(){

location.href=pagina

}
document.write("<br><br><br><br><br><center><font size=1 face=tahoma><b>Cargando P&aacute;gina</b></font><br><img src='<%=ruteador(1)%>programa/img/cargando.gif' width='200' height='20'></center>")

setTimeout ("redireccionar()", 100);

</script>
<%
End Function
%>

es sensillo es un javascripts que se llama con un delay
setTimeout ("redireccionar()", 100);
y redirecciona a la pagina que necesitas bueno bonito y barato.

espero que les sirva como le sirve todavia a mi.
__________________
Atte, :arriba:

A n g e l u s
Concepción - Chile
no hay preguntas tontas, solo respuestas inteligentes.
  Responder Con Cita
Respuesta


Califica este Tema - Biblioteca de Clases,Funciones y Sub-rutinas..