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

Contar saltos de linea

Estas en el tema de Contar saltos de linea en el foro de ASP Clásico en Foros del Web. Hola a todos Tengo el siguiente problema,a ver si me pueden ayudar: Tengo una base de datos SQL Server de la cual saco unos textos. ...
  #1 (permalink)  
Antiguo 26/10/2004, 02:29
Avatar de fueradejuego  
Fecha de Ingreso: abril-2003
Ubicación: Málaga - España
Mensajes: 94
Antigüedad: 21 años, 1 mes
Puntos: 0
Contar saltos de linea

Hola a todos

Tengo el siguiente problema,a ver si me pueden ayudar:

Tengo una base de datos SQL Server de la cual saco unos textos. Yo genero codigo xml desde el asp y necesito cortar los textos que saco de la base de datos en trozos de 16 lineas. Pero imagino que para ello aparte de contar el total de caracteres de la variable necesito tambien saber cuantos saltos de linea tiene. No se si me explico bien.

A ver si alguien me puede ayudar y decirme como puedo calcular los saltos de linea de una variable o alguna otra forma de hacer esto.

Yo en asp es que soy un poco novato, siempre programo en php pero en este caso no he tenido otra opcion.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 26/10/2004, 06:19
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
Exclamación

mmmmmmmmm si es por contar cuantos saltos de linea trae un texto, creo , que deberias usar una expresion regular que te busque por el caracter de salto de linea que es el chr(10).


chequea este ejemplo

Código:
Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches          ' Crea una variable.
   Set regEx = New RegExp             ' Crea una expresión regular.
   regEx.Pattern = patrn              ' Establece un modelo.
   regEx.IgnoreCase = True            ' Establece la no distinción de mayúsculas y minúsculas.
   regEx.Global = True                ' Establece la aplicabilidad global.
   Set Matches = regEx.Execute(strng) ' Ejecuta la búsqueda.
   For Each Match in Matches          ' Repite el conjunto de coincidencias.
      RetStr = RetStr & "Coincidencia encontrada en la posición "
      RetStr = RetStr & Match.FirstIndex & ". El valor de la coincidencia es '"
      RetStr = RetStr & Match.Value & "'." & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
  #3 (permalink)  
Antiguo 26/10/2004, 09:25
Avatar de fueradejuego  
Fecha de Ingreso: abril-2003
Ubicación: Málaga - España
Mensajes: 94
Antigüedad: 21 años, 1 mes
Puntos: 0
Hola,gracias por la respuesta pero no consigo hacer nada. Sera muy torpe pero si pongo un contador dentro del For Each siempre me saca el resultado "a 0a". Que es mas o menos lo mismo que me salia con este otro codigo :

cantidad = len(rs1("texto"))
num = InStr(rs1("texto"),vbCrLf)
response.write(num)

Me podeis decir en que me equivoco o alguna otra sugerencia?

Un saludo.
  #4 (permalink)  
Antiguo 26/10/2004, 10:04
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Para contar los saltos de línea se me ocurre que podés hacerle un split por el VBCrLf y ver cuál es el último índice + 1:

CantidadDeLineas = UBound(Split(rs1("texto"), VBCrLf)) + 1
__________________
...___...
  #5 (permalink)  
Antiguo 26/10/2004, 10:24
Avatar de fueradejuego  
Fecha de Ingreso: abril-2003
Ubicación: Málaga - España
Mensajes: 94
Antigüedad: 21 años, 1 mes
Puntos: 0
Pues he probado con esto

CantidadDeLineas = UBound(Split(rs1("texto"), VBCrLf)) + 1

y me sigue dando un resultado del estilo "a 66a" y la verdad que no me entero.
Necesitaria un resultado de tipo entero, vamos un 2, 3 o cualquier numero. Lo que necesito hacer a fin de cuentas es dividir una variable que contiene un texto en bloques de 12 lineas.

Asi que pense en contar los caracteres,dividirlos entre el total de caracteres por linea y sumarle el total de saltos de linea, asi tendria una idea de cuantas lineas en total puede tener dicha variable.

Y por mucho que pruebo no me aclaro con el asp.
Alguna otra sugerencia? es que es muy importante y no se que hacer.
Gracias.
  #6 (permalink)  
Antiguo 26/10/2004, 11:32
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
No sé que será eso de "a 66a", pero si hacés un response.write(CantidadDeLineas), debería mostrarte un número entero... no eso que decís que te muestra o_O
__________________
...___...
  #7 (permalink)  
Antiguo 26/10/2004, 11:50
Avatar de fueradejuego  
Fecha de Ingreso: abril-2003
Ubicación: Málaga - España
Mensajes: 94
Antigüedad: 21 años, 1 mes
Puntos: 0
Bueno, al fin ha funcionado. Sinceramente, me quedo con las ganas de saber el que fallaba.
He borrado la pagina entera y la he vuelto a programar y ha salido bien, para mi que tengo el mismo codigo que antes pero ahora sale bien.

Lo importante es que al fin funciona.

Muchas gracias por todo y siento haber sido tan pesado.
  #8 (permalink)  
Antiguo 26/10/2004, 12:26
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
el misterio es infinito
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 16:47.