4D v16.3

Interacción de comandos genéricos con textos multiestilos

Inicio

 
4D v16.3
Interacción de comandos genéricos con textos multiestilos

Interacción de comandos genéricos con textos multiestilos  


 

Los comandos que se pueden utilizar para manipular los objetos texto por programación no aceptan ningún tipo de etiquetas de estilo integradas al texto. Actúan sobre el texto mostrado como en versiones anteriores de 4D. Se trata de los siguientes comandos:

Tenga en cuenta que al utilizar estos comandos con los comandos que manipulan cadenas de caracteres, es necesario filtrar los caracteres de formato utilizando el comando ST Get plain text:

 HIGHLIGHT TEXT([Productos]Notas;1;Length(ST Get plain text([Productos]Notas))+1)

  • Tema Objetos (Formularios)
    Los comandos que se pueden utilizar para modificar el estilo de los objetos (por ejemplo, OBJECT SET FONT) se aplican a todo el objeto y no a la selección.
    Tenga en cuenta que si el objeto no tiene el foco cuando se ejecuta el comando, la modificación se aplica simultáneamente al objeto (el área de texto) y a su variable asociada. Si el objeto tiene el foco, la modificación se lleva a cabo en el objeto, pero no en la variable asociada. La modificación sólo se aplica a la variable cuando el objeto pierde el foco. Recuerde este principio cuando programe las áreas de texto. 

Si la opción "Guardar las etiquetas por defecto"  está seleccionada para el objeto, el uso de estos comandos provocará una modificación de las etiquetas guardadas con cada objeto.

A partir de 4D v14, un nuevo modo de interacción se ha definido entre los comandos genéricos tales como OBJECT SET RGB COLORS o OBJECT SET FONT STYLE y las áreas de texto multi-estilo.

En las versiones anteriores de 4D, la ejecución de uno de estos comandos modificaba el contenido de las etiquetas de estilo personalizadas, insertadas en el área. A partir de ahora, sólo las propiedades por defecto se ven afectadas por estos comandos (así como las propiedades guardadas vía las etiquetas por defecto). Las etiquetas de estilo personalizadas se quedan como están.

Por ejemplo, dada un área multi-estilo, donde se guardan las etiquetas por defecto:

El texto plano del área es el siguiente:

<span style="text-align:left;font-family:'Segoe UI';font-size:9pt;color:#009900">This is the word <span style="color:#D81E05">rojo</span></span>

Si ejecuta el siguiente código:

 OBJECT SET COLOR(*;"myArea";-(Blue+(256*Yellow)))

Con 4D v14, el color rojo se mantiene:

4D v14versiones anteriores
<span style="text-align:left;font-family:'Segoe UI';font-size:9pt;color:#0000FF">This is the word <span style="color:#D81E05">red</span></span>
<span style="font-family:'Segoe UI';font-size:9pt;text-align:left;font-weight:normal;font-style:normal;text-decoration:none;color:#0000FF;"><span style="background-color:#FFFFFF">This is the red word</span></span>

Los siguientes comandos genéricos están relacionados:

OBJECT SET RGB COLORS
OBJECT SET COLOR
OBJECT SET FONT
OBJECT SET FONT STYLE
OBJECT SET FONT SIZE

En el contexto de las áreas de texto multiestilos, los comandos genéricos deben utilizarse sólo para definir estilos por defecto. Para administrar estilos durante la ejecución de las base, recomendamos utilizar los comandos del tema "Texto multiestilo".

Cuando se utiliza con un área de texto enriquecido, el comando Get edited text (tema Eventos de formulario) devuelve el texto del área actual incluyendo las posibles etiquetas de estilo. 

Para recuperar el texto "plano" (texto sin etiquetas) que se está editando, debe utilizar el comando ST Get plain text:

 ST Get plain text(Get edited text)

Las búsquedas y las ordenaciones efectuadas entre los objetos multiestilos tienen en cuenta las posibles etiquetas de estilo guardadas en el objeto. Si una modificación de estilo se ha hecho dentro de una palabra, la búsqueda de la palabra no tendrá éxito.

Para poder efectuar búsquedas y ordenaciones válidas, debe utilizar el comando ST Get plain text. Por ejemplo:

 QUERY BY FORMULA([MiTabla];ST Get plain text([MiTabla]MicampoEstilo)="muy bien")

Con el fin de asegurar una mayor compatibilidad multi-plataforma de los textos manipulados en la base de datos, a partir de v14, 4D normaliza automáticamente los finales de línea de forma que ocupen un solo carácter: '\r' (retorno de carro). Esta normalización se lleva a cabo a nivel de los objetos de formulario que alojan texto multiestilo  o texto bruto (variables o campos). Los finales de línea no nativos, o que utilizan una mezcla de varios caracteres (por ejemplo, '\r\n'), se consideran como una sola '\r'.

Tenga en cuenta conforme al estándar XML (formato de textos multi-estilos), los comandos de texto multiestilo también normalizan los finales de línea de las variables texto no asociadas a los objetos.

Este principio hace que sea más fácil de usar comandos de texto multiestilo o de tipo HIGHLIGHT TEXT en un contexto multi-plataforma. Sin embargo, debe tener esto en cuenta en sus procesos cuando se trabaja con textos de fuentes heterogéneas.



Ver también 

OBJECT SET COLOR
OBJECT SET FONT
OBJECT SET FONT SIZE
OBJECT SET FONT STYLE
OBJECT SET RGB COLORS

 
PROPIEDADES 

Producto: 4D
Tema: Texto multiestilo

 
HISTORIA 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)