4D v16.3

Interação de comandos genéricos com textos multi estilos

Página Inicial

 
4D v16.3
Interação de comandos genéricos com textos multi estilos

Interação de comandos genéricos com textos multi estilos  


 

Os comandos que podem ser utilizados para manipular os objetos texto por programação não aceitam nenhum tipo de etiquetas de estilo integradas ao texto. Atuam sobre o texto mostrado como em versões anteriores de 4D. Se trata dos seguintes comandos:

Considere que ao utilizar estes comandos com os comandos que manipulam cadeias de caracteres, é necessário filtrar os caracteres de formato utilizando o comando ST Get plain text:

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

  • Tema Objetos (Formulários)
    Os comandos que podem ser utilizados para modificar o estilo dos objetos (por exemplo, OBJECT SET FONT) se aplicam para o objeto todo e não à seleção. Lembre que se o objeto não tem o foco quando se executa o comando, a modificacão se aplica simultaneamente ao objeto (a área de texto) e a sua variável associada. Se o objeto tem o foco, a modificação se realiza no objeto, mas não na variável associada. A modificação só se aplica à variável quando o objeto perde o foco. Lembre este princípio quando programar as áreas de texto. 

Se a opção "Guardar as etiquetas como padrão"  estiver selecionada para o objeto, o uso de estes comandos provocará uma modificação das etiquetas guardadas com cada objeto.

A partir de 4D v14, um novo modo de interação foi definido entre os comandos genéricos tais como OBJECT SET RGB COLORS ou OBJECT SET FONT STYLE e as áreas de texto multi estilo.

Nas versões anteriores de 4D, a execução de um destes comandos modificava o conteúdo das etiquetas de estilo personalizadas, inseridas na área. A partir de agora, só as propriedades por padrão são vistas afetadas por estes comandos (assim como as propriedades guardadas sob as etiquetas por padrão). As etiquetas de estilo personalizadas ficam como estão.

Por exemplo, dada uma área multi estilo, onde se guardam as etiquetas por padrão:

O texto plano da área é o seguinte:

<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>

Se executa o seguinte código:

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

Com 4D v14, a cor vermelho se mantém:

4D v14versões 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>

Os seguintes comandos genéricos estão relacionados:

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

No contexto das áreas de texto multi estilos, os comandos genéricos devem ser utilizados só para definir estilos por padrão. Para administrar estilos durante a execução da base, recomendamos utilizar os comandos do tema "Texto multi estilo".

Quando se utiliza com uma área de texto enriquecido, o comando Get edited text (tema Eventos de formulário) devolve o texto da área atual incluindo as possíveis etiquetas de estilo. 

Para recuperar o texto "plano" (texto sem etiquetas) que se está editando, deve utilizar o comando ST Get plain text:

 ST Get plain text(Get edited text)

As pesquisas e as ordenações efetuadas entre os objetos multiestilo consideram as possíveis etiquetas de estilo guardadas no objeto. Se uma modificação de estilo foi feita dentro de uma palavra, a pesquisa da palavra não terá sucesso

Para poder efetuar pesquisas e ordenações válidas, deve usar o comando ST Get plain text. Por exemplo:

 QUERY BY FORMULA([MinhaTabela];ST Get plain text([MinhaTabela]MeucampoEstilo)="muito bem")

Com o propósito de garantir uma maior compatibilidade multi plataforma dos textos manipulados na base de dados, a partir de v14, 4D normaliza automaticamente os finais de linha de forma que ocupem um só caractere: '\r' (retorno de carro). Esta normalização é levada a cabo a nível dos objetos de formulário que alojam texto multi estilo ou texto bruto (variáveis ou campos). Os finais de linha não nativos, o que utilizam uma mistura de vários caracteres (por exemplo, '\r\n'), se consideram como uma só '\r'.

Tenha em conta conforme ao padrão XML (formato de textos multi estilos), os comandos de texto multi estilo também normalizam os finais de linha das variáveis texto não associadas aos objetos.

Este princípio faz com que seja mais fácil de usar comandos de texto multi estilo ou de tipo HIGHLIGHT TEXT em um contexto multi plataforma. No entanto, deve ter isto em conta em seus processos quando se trabalha com textos de fontes heterogêneas.



Ver também 

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

 
PROPRIEDADES 

Produto: 4D
Tema: Texto multi estilo

 
HISTÓRIA 

 
ARTICLE USAGE

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