Foros del Web » Programando para Internet » ASP Clásico »

¿Porqué no me funciona este código?

Estas en el tema de ¿Porqué no me funciona este código? en el foro de ASP Clásico en Foros del Web. Function Recorta (Texto) If Len(Texto) > MaxLetras Then Texto = Mid(Texto,1,MaxLetras) Texto = Texto & "..." End if Recorta = Texto End Function Lo llamo ...
  #1 (permalink)  
Antiguo 22/12/2005, 16:51
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
¿Porqué no me funciona este código?

Function Recorta (Texto)
If Len(Texto) > MaxLetras Then
Texto = Mid(Texto,1,MaxLetras)
Texto = Texto & "..."
End if
Recorta = Texto
End Function

Lo llamo de la siguiente manera:

<%=Recorta(Rs("Descripcion"))%>

No funciona, MaxLetras es una variable con valor 10 y el largo de los textos es mayor que 10...

Muchas gracias
  #2 (permalink)  
Antiguo 22/12/2005, 17:03
Avatar de tomchat  
Fecha de Ingreso: septiembre-2005
Mensajes: 231
Antigüedad: 19 años, 7 meses
Puntos: 0
Debes asignarle a Maxletras un valor si no lo tiene, o crear un else en caso que maxletras sea mayor que el texto.
  #3 (permalink)  
Antiguo 22/12/2005, 17:08
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
Es que el problema es que ha Texto le paso el valor que recojo de la base de datos, pero parece que cuando hago el IF el Len siempre devuelva cero.

Es extraño, ¿puede ser porque está en una función?, es que parece que no recoge bien el valor que le envío.

Gracias.
  #4 (permalink)  
Antiguo 22/12/2005, 17:22
Avatar de tomchat  
Fecha de Ingreso: septiembre-2005
Mensajes: 231
Antigüedad: 19 años, 7 meses
Puntos: 0
Function Recorta(Texto)
MaxLetras = 10
If Len(Texto) > MaxLetras Then
Texto = Mid(Texto, 1, MaxLetras)
Texto = Texto & "..."
End If
Recorta = Texto
End Function

Recorta (variable)

Este el el codigo espero te sirva lo revice y esta bien
  #5 (permalink)  
Antiguo 23/12/2005, 04:39
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
Pues no va, ¿puede ser que sea porque la función está en una página que es un include de otra?

Saludos
  #6 (permalink)  
Antiguo 23/12/2005, 10:21
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 23 años, 2 meses
Puntos: 2
y no has hecho la prueba poniendo la funcion dentro de la misma pagina...
__________________
Manual de ASP Avanzado ;-)
  #7 (permalink)  
Antiguo 23/12/2005, 12:36
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 4 meses
Puntos: 6
Lo he probado pero no funciona, lo curioso es que hago un response.write de esos valores y son correctos, así que no devuelve cero, que extraño.
  #8 (permalink)  
Antiguo 23/12/2005, 13:00
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 23 años, 2 meses
Puntos: 2
a mi me funciona perfectamente dentro de la misma pagina

response.write recorta (texto)

Function Recorta(Texto)
MaxLetras = 10
If Len(Texto) > MaxLetras Then
Texto = Mid(Texto, 1, MaxLetras)
Texto = Texto & "..."
End If
Recorta = Texto
End Function
__________________
Manual de ASP Avanzado ;-)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:31.