Grandamakulo   30-01-2024, 13:38
#1
Hola, compañeros:
Asocio el siguiente texto a la propiedad .Text de una TextLabel:
Código:
<!DOCTYPE html>
<html>
  <head>
    <style>p{
      font-family:'Ubuntu';
      font-size:12px;
      text-align:justify;
      text-indent:25px;
      line-height:100%;
      margin-bottom:0;
      }
    </style>
  </head>
  <body>
    <p>En un lugar de La Mancha de cuyo nombre no quiero acordarme, no ha mucho que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor.</p>
  </body>
</html>

Pues resulta que text-align: no funciona con la opción justify —en concreto queda por defecto, es decir a la izquierda, como si no admitiese esta opción—, pero sí con cualquiera de las otras tres.
¿Alguna ayudita?
Gracias de antemano.
Última modificación: 01-02-2024, 23:33 por Grandamakulo.

En un lugar de La Mancha de cuyo nombre me acuerdo perfectamente...
jguardon   30-01-2024, 17:37
#2
Eso que escribes es CSS3 puro y duro, que creo que no se soporta en su totalidad.

Prueba escribiendo directamente en el texto las etiquetas "inline" de esta manera:

[code]

Ahora no recuerdo si para escapar las comillas dobles se usa una o dos contrabarras, prueba y nos cuentas.

Espero que te sirva, escribo desde el móvil.

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
Grandamakulo   30-01-2024, 19:14
#3
(30-01-2024, 17:37)jguardon escribió: Eso que escribes es CSS3 puro y duro, que creo que no se soporta en su totalidad.

Prueba escribiendo directamente en el texto las etiquetas "inline" de esta manera:

[code]

Ahora no recuerdo si para escapar las comillas dobles se usa una o dos contrabarras, prueba y nos cuentas.

Espero que te sirva, escribo desde el móvil.

Saludos

Fek!, pues no me vale, porque tiene que dar preformato al texto completo previo a la introducción del texto. En cualquier caso, muchas gracias.

En un lugar de La Mancha de cuyo nombre me acuerdo perfectamente...
vuott   30-01-2024, 20:08
#4
Propongo:
Código:
Public Sub Form_Open()

  TextLabel1.Background = Color.SoftYellow
  TextLabel1.Text = "<P align=justify>En un lugar de La Mancha de cuyo nombre no quiero acordarme, no ha mucho que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor."

End
o tambien:
Código:
Public Sub Form_Open()

  TextLabel1.Background = Color.SoftYellow
  TextLabel1.Text = "<DIV align=justify>En un lugar de La Mancha de cuyo nombre no quiero acordarme, no ha mucho que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor."

End

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
Grandamakulo   31-01-2024, 11:48
#5
Frater Vuott:
Muchas gracias por el aporte. Sin embargo, y tal cual le comento a Pater Abbatis Jguardon, el problema que tengo es que debo «preformatear» la etiqueta antes, ya que su contenido es dinámico y externo, es decir, mejor no tocarlo.
En cualquier caso, reitero el agradecimiento.

En un lugar de La Mancha de cuyo nombre me acuerdo perfectamente...
jguardon   31-01-2024, 19:05
#6
Cuando dices "preformatear", ¿ te refieres a los saltos de línea?

En ese caso prueba usando <br> donde exista un 'crln' o similar. He encontrado un artículo interesante respecto a la etiqueta <br>.

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
Grandamakulo   01-02-2024, 13:43
#7
No, no, con «preformatear» me refiero a tener un CSS que me permita colocar y quitar los textos del TextLabel sin tener que tocar nada de ellos. Esto es, tal cual lo coloco en el ejemplo del primer mensaje. Vamos, como si fuera una página HTML.
Última modificación: 01-02-2024, 13:44 por Grandamakulo.

En un lugar de La Mancha de cuyo nombre me acuerdo perfectamente...
jguardon   01-02-2024, 19:35
#8
Entonces crea una variable de texto crudo a la que asignas tu texto y la intercalas entre las etiquetas de párrafo <p> usando la función Subst():

Código:
Dim vartxt, myTxtLabel as String

vartxt = En un lugar de La Mancha de cuyo nombre no quiero acordarme, no ha mucho que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor.

myTxtLabel = Subst("<p style=\"text-align:justify;font-size:12px;\">&1</p>", vartxt)

https://gambaswiki.org/wiki/lang/subst?l=es

De esa manera, puedes asignar todo el texto que quieras a la variable antes de mostrarla en el Label ya formateada. Si conviertes lo de arriba en una función que reciba la cadena de texto crudo y devuelva el texto formateado, ya lo tienes.
 


Me corrijo en cuanto a la sintaxis CSS: https://gambaswiki.org/wiki/doc/richtext

Parece que los estilos CSS no están soportados, por lo tanto, hay que usar etiquetas html de tipo font, align, etc. como ha hecho vuott. Pero la forma de intercalar el texto entre las etiquetas es la misma, usando la función Subst() con su comodín &n.

[code]

Yo soy partidario de cerrar las etiquetas html, aunque vuott no lo hace nunca, no sé por qué...

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
Grandamakulo   01-02-2024, 23:33
#9
Sí, no es lo que buscaba, pero a falta de pan, buenas son tortas.  Smile
Muchas gracias.

En un lugar de La Mancha de cuyo nombre me acuerdo perfectamente...
vuott   02-02-2024, 00:00
#10
(01-02-2024, 19:35)jguardon escribió: Yo soy partidario de cerrar las etiquetas html, aunque vuott no lo hace nunca, no sé por qué...

...porque de todos modos funciona. Big Grin

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.