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

ayuda leyendo un TextArea

Estas en el tema de ayuda leyendo un TextArea en el foro de ASP Clásico en Foros del Web. Tengo un problema al intentar usar los datos de un TextArea Primero hago un split, separando por salto de linea <% vector = split(TEXTO,vbLf) %> ...
  #1 (permalink)  
Antiguo 08/11/2005, 15:55
 
Fecha de Ingreso: noviembre-2005
Mensajes: 117
Antigüedad: 19 años, 5 meses
Puntos: 0
ayuda leyendo un TextArea

Tengo un problema al intentar usar los datos de un TextArea

Primero hago un split, separando por salto de linea

<% vector = split(TEXTO,vbLf) %>

Despues recorro el vector con un for hasta UBound(vector)

Mi problema es que al ingresar a una base de datos, input o lo que sea, el contenido de vector las palabras quedan con algo al final que no me sirve, no se si sera el enter o ni idea, trate de sacarselo con replace, trim o left pero sigue ahi. Cuando el textarea q leo tiene un solo renglon funciona todo de maravilla, son los enter los que provocan esto, que puedo hacer?
  #2 (permalink)  
Antiguo 08/11/2005, 16:23
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 19 años, 6 meses
Puntos: 3
Yo no uso nada de eso... solo escribo y con el enter me salto de linea... luego al recibir el textarea a otra pagina lo hago asi

DESCR_SOL = trim(request("DESCR_SOL"))

Lo complejo es ingresar textos superiores a 255; ya que hay que hacer un tratamiento muy especial para grabarlos y leerlos

Me funciona bien y me respeta todos los controles de carro sin tener que hacer nada
  #3 (permalink)  
Antiguo 08/11/2005, 17:04
 
Fecha de Ingreso: noviembre-2005
Mensajes: 117
Antigüedad: 19 años, 5 meses
Puntos: 0
el problema es que no necesito un string largo con todo el texto sino palabras sueltas, por esa razon uso Split
  #4 (permalink)  
Antiguo 08/11/2005, 17:19
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 19 años, 6 meses
Puntos: 3
Mira esto encontre que puede servirte :

Function ContarPalabras ( texto )

'Convierto los retornos de carro y las tabulaciones en espacios
texto = Replace (texto, VbCr, " ")
texto = Replace (texto, VbLf, " ")
texto = Replace (texto, VbCrLf, " ")
texto = Replace (texto, VbTab, " ")
'Elimino el espacio en blanco de antes y después
texto = Trim(texto)
'Recorro la cadena y voy reduciendo los múltiples espacios a uno solo
while InStr(1, texto, " ", 1)
texto = Replace(texto, " ", " ")
wend

'Para contar el número de palabras, convierto la cadena en un vector
'cortando en los espacios, y saco UBound (máximo índice disponible) + 1
'Sumo uno debido a que los vectores comienzan en 0

ContarPalabras = UBound( Split(texto, " ", -1, 1)) + 1

End Function 'ContarPalabras

Espero te sirva
  #5 (permalink)  
Antiguo 08/11/2005, 18:47
 
Fecha de Ingreso: noviembre-2005
Mensajes: 117
Antigüedad: 19 años, 5 meses
Puntos: 0
acabo de probarlo y sigue sin funcionar, tb probe con distintos split
split(texto,VbCr)
split(texto,VbLf)
split(texto,VbCrLf)

anda todo bien hasta que el textarea para a tener mas de un parrafo, despues de eso no lee bien la palabra.

Si comparo "Casa" con la seugnda posicion del vector haciendo split al textarea

Prueba
Casa
Gente

me dice que es diferente :S
  #6 (permalink)  
Antiguo 08/11/2005, 19:14
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Con split(texto,VbCrLf) (no VbLf como en tu mensaje inicial) debería andar de p. madre.

Cita:
Si comparo "Casa" con la seugnda posicion del vector haciendo split al textarea ... me dice que es diferente
¿Intentaste comparando If Trim(UCase("Casa")) = Trim(UCase(Array(1)))?

Si aun no compara bien, hacele un len() a Array(1) a ver que son 4 caracteres ("casa") o qué devuelve
__________________
...___...
  #7 (permalink)  
Antiguo 08/11/2005, 20:15
 
Fecha de Ingreso: noviembre-2005
Mensajes: 117
Antigüedad: 19 años, 5 meses
Puntos: 0
acabo de probar comprar el texto con strcmp y me decia que habia error de tipos :S , despues con = me dice que son iguales pero si grabo la info en una DB (toy usando access) al final de cada palabra aparece un ◙

EDIT: mil gracias, ya lo pude solucionar usando VbCrLf, parece que habia arreglado el problema pero sin querer modifique algo q no debia

Última edición por rkpost; 08/11/2005 a las 23:54
  #8 (permalink)  
Antiguo 09/11/2005, 10:45
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Pues claro, porque el "salto de línea" está compuesto de dos caracteres. Cr (carriage return) y Lf (line feed). Si hacías el split sólo por VbLf, te dejabas el VbCr (ese caracter extraño) al final de cada palabra.
__________________
...___...
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 09:27.