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

Mostar parte del contenido de una tabla

Estas en el tema de Mostar parte del contenido de una tabla en el foro de ASP Clásico en Foros del Web. Hola a todos. Lei una vez en uno de los boletines como hacer lo siguiente, pero no lo encuentro . En un campo MEMO, lo ...
  #1 (permalink)  
Antiguo 03/02/2006, 01:45
 
Fecha de Ingreso: febrero-2003
Mensajes: 3
Antigüedad: 21 años, 4 meses
Puntos: 0
Mostar parte del contenido de una tabla

Hola a todos. Lei una vez en uno de los boletines como hacer lo siguiente, pero no lo encuentro .
En un campo MEMO, lo que quiero es que en la pagina ASP, al mostrar el RecordSet con el contenido del campo, solo me muestre x caracteres de dicho campo, y no todo el campo entero, es decir, si el contenido del campo Descripcion del registro seleccionado es "Que bonito es el amor, mas que nunca en primavera, que mañana sale el sol y es que estamos en agosto", lo que quiero es decirle a la consulta que no me muestre todo el contenido, sino que me muestre, por ejemplo, los 20 primeros caracteres, entonces me devolveria: "Que bonito es el amo".
¿Se podria hacer tambien para que lo hiciese por palabras completas y no por caracteres? Gracias a todos por la ayuda!
  #2 (permalink)  
Antiguo 03/02/2006, 03:22
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Esta funcion te permite hacer eso:


Código:
	public Function cortaEnPalabras(Text, Length, Trail)
		dim Words, word, TextTemp
				'Solo trunca el texto si el tamaño de la cadena es mayor que la longitud deseada
		If Len(Text) > Length-Len(Trail) Then
				'Separa todas las palabras de la cadena 
			Words = Split(Text, " ")
		
			For each word in Words
				If Len(TextTemp) > Length-Len(Trail) Then
					Exit For
				End If
				TextTemp = TextTemp & word & " "
			Next
				
			cortaEnPalabras = Left(TextTemp, Len(TextTemp)-1) & Trail
		Else
				'Si la longitud es menor, visualiza la cadena completa
			cortaEnPalabras = Text
		End If
	End Function


Un saludo
  #3 (permalink)  
Antiguo 03/02/2006, 03:31
 
Fecha de Ingreso: febrero-2003
Mensajes: 3
Antigüedad: 21 años, 4 meses
Puntos: 0
¿Donde le pongo el numero de palabras? sustituyendo Length en "public Function cortaEnPalabras(Text, Length, Trail)"?
Luego otra duda... ¿como muestro la fundion en el recordset?
Thanks por la ayuda!
  #4 (permalink)  
Antiguo 03/02/2006, 03:40
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Lo del public lo puedes quitar ya que lo he tomado de una clase que tengo reutilizable de funciones con cadenas por lo que si solo vas a usar la funcion no tien sentido y puede dar error

El uso es el siguiente:

Response.Write cortaEnPalabras(textoacortar, 40, "...")

textoacortar --> Cadena a delimitar
40 -----------> Total de caracteres a visualizar (si la ultima palabra empieza en la posicion 38, la descarta y añadira el trail a partir de la ultima palabra completa)

"..." --------> Es el trail, o sea, lo que se añadirá al texto devuelto para indicar que hay más (lo siento, no se traducir trail. Esto de trabajar tanto en inglés destroza las neuronas ;-D )



Un saludo

Última edición por tammander; 03/02/2006 a las 03:51
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 00:38.