Ver Mensaje Individual
  #7 (permalink)  
Antiguo 10/12/2003, 10:48
paisano
 
Fecha de Ingreso: mayo-2002
Ubicación: Tijuana
Mensajes: 201
Antigüedad: 23 años
Puntos: 1
Disculpa la tardanza, mira eso fuciona asi:

1; Elijes el ancho que deseas para la cadena, por ejemplo 70
letras por renglon, entonces
AnchoDeseado = 70

2;Solicitas la cadena que vas a formatear:
Enun = Request.QueryString("enun")

3;Como mi caso se iba formar el enunciado como pregunta necesitaba agregarle un numero:
Enun = NoPreg & ";" & Enun
Donde: NoPreg lo saco de una base de datos y al final nos debia quedar asi:
"1;Viva Mexico"

4;Saco el tamano de la cadena a formatear y genero una cadena auxiliar vacia
TamCad = Len(Enun) 'Checa lo que hace la funcion Len
NewEnun = ""

5;Pongo mi bandera igual a Falso
Band = False

6;Genero un ciclo que termina cuando mi TamCad a formatear sea menor a AnchoDeseado, si el tamano es menor no entra al ciclo, de lo contrario entra para empezar a romper la cadena en trozo de 70 letras + 1 por renglon.
Do While TamCad > AnchoDeseado

7;Una vez entrando al ciclo mi bandera la igualo a TRUE lo que me indica que la cadena a formatear es mayor a mi ancho deseado y por lo tanto debo romperla.

8;Iniciamos la primera particion por llamarlo asi utilizando una cadena auxiliar llamada NewEnun
NewEnun = NewEnun & Left(Enun,AnchoDeseado)
A esa nueva cadena le agrego un retorno de carro VbCr para cuando yo la despligue en la pagina se produzca el retorno e inicie en otro renglon este es el truco principal, checalo heee
NewEnun = NewEnun & VbCr

9;Ahora vamos a disminuir el TamCad ya que le acabamos de quitar un ancho deseado
TamCad = TamCad - AnchoDeseado

10; Ahora sacamos la cadena restante, vamos a sacar la cadena del lado derecho ya que los primeros 70 caracteres fueron de la izquierda por eso sacamos los caracteres de la derecha
Enun = Right(Enun,TamCad) 'Checa que hace esta funcion

11; Inicamos el ciclo con la cadena nueva
Loop

12; Una vez que sale del ciclo checamos la bandera, esta bandera solo sirve para saber si el enunciado a romper es mayor al ancho deseado:
Si Bandera es True me indica que la cadena era mayor por lo tanto si salio del ciclo posiblemente le quedo alguna cadena menor al ancho deseado y solo la agregamos a la cadena
NewEnun = NewEnun & Enun
Si No nos indica que le cadena es menor y solo le asignamos a la cadena nueva la original
NewEnun = Enun

Donde NewEnun va a ser la cadena nueva a desplegar, podemos tener quede asi:

"Hola Me Llamo Pedro Moreno y Vivo en Tijuana Baja Califo VbCr"
"rnia Mexico."

o Nomas asi:
"Hola Me Llamo Pedro Moreno"

El ultimo caso no utilizo un VbCr ya que la cadena es menor a lo deseado y por lo tanto se desplegara sin problemas. Yo le agrege numero a la cadena pero eso es por mi situacion, eso ya dende de tu problema.

Cuando el navegador le despligue el reconocera los Saltos de Linea no te preocupes.

Bueno espero te quede claro pero hazle una corridas para que le entendas mejor y lo puedas adaptar a tu problema, suerte y animo. Ha si te queda alguna duda ya sabes que por aqui andamos.