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

Poner un salto de línea para texto.

Estas en el tema de Poner un salto de línea para texto. en el foro de ASP Clásico en Foros del Web. Que tal Maestros: Yo recupero el valor de un campo de texto así: Código PHP: <%  Response . Write ( Request . form ( "contenido" ...
  #1 (permalink)  
Antiguo 25/04/2005, 10:21
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 6 meses
Puntos: 4
Poner un salto de línea para texto.

Que tal Maestros:

Yo recupero el valor de un campo de texto así:

Código PHP:
<% Response.Write(Request.form("contenido"))%> 
Es bastante texto, así que cuando la muestro rompe la tabla y sigue derecho deformandolo todo.

La pregunta es, como le pongo el salto de línea para se muestre envarias líneas y no dañle el diseño?


Gracias de antemano.
__________________
EL LIMITE ES EL UNIVERSO
  #2 (permalink)  
Antiguo 25/04/2005, 10:29
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
variable = replace(variable,chr(10),"<br />")


Para que estudies

Cita:
Función Replace
Devuelve una cadena en la que una subcadena se ha sustituido por otra subcadena un número de veces especificado.

Replace(expresión, buscar, reemplazarCon[, inicio[, número[, comparar]]])

Argumentos
expresión

Requerido. Expresión de cadena que contiene la subcadena que se va a reemplazar.

buscar

Requerido. Subcadena que se busca.

reemplazarCon

Requerido. Subcadena de reemplazo.

inicio

Opcional. Posición dentro de expresión donde va a comenzar la subcadena de búsqueda. Si se omite, se supone 1. Se debe utilizar junto con número.

número

Opcional. Número de sustituciones de subcadena que se va a realizar. Si se omite, el valor predeterminado es -1, que significa hacer todas las sustituciones posibles. Se debe utilizar junto con inicio.

comparar

Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen subcadenas. Consulte la sección Valores para ver los valores. Si se omite, el valor predeterminado es 0, que significa realizar una comparación binaria.

Valores
El argumento comparar puede tener los siguientes valores:

Constante Valor Descripción
vbBinaryCompare 0 Realiza una comparación binaria.
vbTextCompare 1 Realiza una comparación textual.


Valores de retorno
Replace devuelve los siguientes valores:

Si Replace devuelve
expresión es de longitud cero Cadena de longitud cero ("").
expresión es Null Un error.
buscar es de longitud cero Copia de expresión.
reemplazarcon es de longitud cero Copia de expresión con todas las apariciones de buscar eliminadas.
inicio > Len(expresión) Cadena de longitud cero.
número es 0 Copia de expresión.


Comentarios
El valor de retorno de la función Replace es una cadena, con sustituciones realizadas, que comienza en la posición especificada por inicio y termina al final de la cadena expresión. No es una copia de la cadena original de principio a fin.

El siguiente ejemplo utiliza la función Replace para devolver una cadena:

Dim MiCadena
MiCadena = Replace("XXpXXPXXp", "p", "Y") ' Una comparación binaria que comienza en el principio de la cadena. Devuelve "XXYXXPXXY".
MiCadena = Replace("XXpXXPXXp", "p", "Y", ' Una comparación textual que comienza en la posición 3. Devuelve "YXXYXXY". 3, -1, 1)
  #3 (permalink)  
Antiguo 25/04/2005, 10:38
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
un ejemplo
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #4 (permalink)  
Antiguo 25/04/2005, 15:29
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 6 meses
Puntos: 4
Muchas Gracias, una cosa más.

Gracias. Pero cómo puedo poner esto en una sola línea?


Código PHP:
<%Response.Write(Request.form("contenido"))%>



contenido replace(contenido,chr(10),"<br />"
Gracias.
__________________
EL LIMITE ES EL UNIVERSO
  #5 (permalink)  
Antiguo 25/04/2005, 17:33
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 6 meses
Puntos: 4
Gracias, me urge un poco.
__________________
EL LIMITE ES EL UNIVERSO
  #6 (permalink)  
Antiguo 25/04/2005, 17:47
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Nota:

Cuando abres un espacio de ASP en tu archivo, no siempre es para sacar algo, es decir, cuando habras un espacio de ASP no te preocupes por el resto, puedes tener algo como


<htm>
<body>


<input value="<% 'Aqui abir un espacio para ASP

'Linea 1 en ASP, recuperando el dato
contenido = Request.form("contenido")

'Linea 2 en ASP, dando formato al dato
contenido = replace(contenido,chr(10),"<br>")

'Linea 3 en ASP, escribiendo el dato en pantalla
Response.write contenido

'Cerrar el espacio de ASP, entonces inmediatamente sigo la estructura de mi HTML
%>">

</body>
</html>

Eso se traduce en tu HTML como


<htm>
<body>
<input value="VALOR_EN_CONTENIDO">
</body>
</html>

Es un ejemplo, seguramente estas usando un textarea para esa aplicacion, espero que te quede mas claro como lo puedes combinar.
  #7 (permalink)  
Antiguo 25/04/2005, 21:34
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
viendo el post de Neuron, me surgio una duda a lo mejor me puede ayudar.

Al abrir muchas <%%> en una pagina conbinada con etiquetas HTML no pierde rendimiento o hace mas lenta la pagina?

tengo claro que es mas rapido <%%> que un response.Write pero al abrir n Etiquetas ASP que pasa?
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #8 (permalink)  
Antiguo 26/04/2005, 06:52
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 ahorro de tiempo de ejecucion en micro nano segundos no se compara al costo de mantencion que genera la mala costumbre de programar asi con todo mezclado.
  #9 (permalink)  
Antiguo 26/04/2005, 07:08
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
muzztein la idea tuya es programar mas uniforme y con response.write?
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #10 (permalink)  
Antiguo 26/04/2005, 08:03
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 6 meses
Puntos: 4
Precisamente no logro ponerlo en una sola línea. Estoy programando en entor de Dreamweaver(Mucho diseño) y script sueltos dentro de la página.
__________________
EL LIMITE ES EL UNIVERSO
  #11 (permalink)  
Antiguo 26/04/2005, 08:15
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Cita:
Iniciado por dobled
Al abrir muchas <%%> en una pagina conbinada con etiquetas HTML no pierde rendimiento o hace mas lenta la pagina?

tengo claro que es mas rapido <%%> que un response.Write pero al abrir n Etiquetas ASP que pasa?
Mezclar ASP y HTML es lo más rápido que puedas utilizar. Prueba esto:
Cita:
<%
'MODO 1
tiempoinicio = Timer
For i = 1 To 800000
%>*<%
Next
tiempototal = FormatNumber(Timer - tiempoinicio, 3, True)
Response.Write "<br>MODO 1: " & tiempototal & "<br>"

'MODO 2
tiempoinicio = Timer
For i = 1 To 800000
Response.Write "*"
Next
tiempototal = FormatNumber(Timer - tiempoinicio, 3, True)
Response.Write "<br>MODO 2: " & tiempototal & "<br>"

'MODO 3
tiempoinicio = Timer
With Response
For i = 1 To 800000
.Write "*"
Next
End With
tiempototal = FormatNumber(Timer - tiempoinicio, 3, True)
Response.Write "<br>MODO 3: " & tiempototal & "<br>"
%>
y por lo colocar un response.write y un replace en una sola intrucción: , si es en una sola línea, pues separa cada instrucción con dos puntos (:)
  #12 (permalink)  
Antiguo 26/04/2005, 08:20
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
Gracias Myakire justamente en ese ejemplo se basa mi pregunta
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #13 (permalink)  
Antiguo 26/04/2005, 09:12
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 6 meses
Puntos: 4
No Funciona

Pongo:

Código PHP:
<% diagnostico replace(diagnostico,chr(10),"<br />") : Response.Write(Request.form("diagnostico"))%> 

Y rompe la tabla.
__________________
EL LIMITE ES EL UNIVERSO
  #14 (permalink)  
Antiguo 26/04/2005, 09:18
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
No se como estes diseñando la tabla, ya que no pones código ni nada, pero si el problema es que necesitas que cada celda tenga una anchura específica, puedes colocar dentro de cada celda un textarea son bordes y salto de linea, o implementarte una rutina que lee hasta cierto número de caracteres y si sobrepasa algún límite que tu ya hayas previsto, te regrese del inicio a la última palabra antes de dicho límite y así sucesivamente; o colocar en cada celda una capa formateada; etc. Cosa de ingeniárselas.

Saludos
  #15 (permalink)  
Antiguo 26/04/2005, 09:29
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 6 meses
Puntos: 4
Me suena mucho lo del text area sin bordes.


<textarea name="textarea"></textarea>


Como sería (Aunque esto ya es html o css) pero es la csolución más fácil.
__________________
EL LIMITE ES EL UNIVERSO
  #16 (permalink)  
Antiguo 26/04/2005, 09:44
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola!

<% diagnostico = replace(diagnostico,chr(10),"<br />") : Response.Write(Request.form("diagnostico"))%>

Oye ?? si es en un textarea entonces no debes necesitas el replace, ahi se escribe como texto normal, y bueno, lo que tienes esta mal, si eso acaso funcionara seria asi:

<% diagnostico = replace(diagnostico,chr(10),"<br>") : Response.Write(Request.form("diagnostico"))%>

Pero no funcionara en el textarea, para el textarea sigue manteniendo el chr(10) normal, pero bueno si no te funciona prueba con esto:

<% diagnostico = replace(diagnostico , chr(10), VbCrlf ) : Response.Write(Request.form("diagnostico"))%>

Y bien, como dice Myakire, el Response.write el lo mas rapido, pero ademas es lo mas eficiente, es cuestion de como se trata la memoria, de hecho por esa razon inicie el tema de "Sistemas de Templates", que ya nadie contesto, pero bueno eso es otro tema, les dejo esta liga para que vean mas claro a lo que me refiero:

http://msdn.microsoft.com/library/de...aspstrcatn.asp

Encontraran cosas muy interesantes ahi, y mis razones para iniciar el tema de Sistemas de Templates.

:( Pero naide me contesto ... bay
  #17 (permalink)  
Antiguo 26/04/2005, 10:26
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
Un momento... me parece que no tiene mucha lógica ésto:

Código:
<% diagnostico = replace(diagnostico,chr(10),"<br />") : Response.Write(Request.form("diagnostico"))%>
Que es lo mismo que..

Código:
<%
diagnostico = replace(diagnostico,chr(10),"<br />")
Response.Write(Request.form("diagnostico"))
%>
(lo coloco así porque me gusta más, nada más que por eso)

Fijate... a una variable llamada 'diagnostico' le estás asignando el resultante de un replace() de la misma variable, reemplazando los saltos de línea por el TAG de salto de línea de HTML (<br>)
Luego, en vez de mandar a "imprimir" (response.write) la variable llamada 'diagnostico ', "imprimís" lo que llega por formulario sin el replace.

Para mi, y sin saber exactamente lo que estás haciendo, debería quedar así:

Código:
<%
diagnostico = replace(Request.Form(diagnostico),chr(10),"<br />")
Response.Write(diagnostico)
%>
Saludos
__________________
...___...
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 01:01.