Saltar al contenido principal
Versión: Siguiente

ST GET ATTRIBUTES

ST GET ATTRIBUTES ( {* ;} objeto ; inicioSel ; finSel ; nomAtrib ; valorAtrib {; nomAtrib2 ; valorAtrib2 ; ... ; nomAtribN ; valorAtribN} )

ParámetroTipoDescripción
*Operador🡒Si se especifica, objeto es un nombre de objeto (cadena). Si se omite, objeto es una variable o un campo
objetoObjeto de formulario🡒Nombre del objeto (se se especifica *) o Variable o campo (si se omite *)
inicioSelEntero largo🡒Inicio de la selección de texto
finSelEntero largo🡒Fin de la selección de texto
nomAtribEntero largo🡒Atributo a leer
valorAtribVariable🡘Valor actual del atributo

Descripción

El comando ST GET ATTRIBUTES se utiliza para recuperar el valor actual de un atributo de estilo en una selección de texto del objeto de formulario designado por objeto.

Si pasa el parámetro opcional *, indica que el parámetro objeto es un nombre de objeto (cadena). Durante la ejecución, si el objeto tiene el foco, el comando devuelve información sobre el objeto que está siendo editado, sin embargo, cuando el objeto no tiene el foco, el comando devuelve información sobre la fuente de datos (campo o variable) del objeto.
Si omite el parámetro *, indica que el parámetro objeto es un campo o una variable. En este caso, pase una referencia campo o variable en lugar de una cadena y durante la ejecución, el comando devuelve información sobre este campo o variable.

Los parámetros inicioSel y finSel se utilizan para designar la selección de texto de la cual leer el atributo de estilo. Pase la posición del primer carácter de la selección en inicioSel y la posición más uno del último carácter de la selección en finSel. Puede pasar 0 en finSel para designar automáticamente el último carácter del texto (pase 1 en inicioSel para designar el primer carácter del texto).
Si los valores de inicioSel y finSel son iguales o si inicioSel es mayor que finSel, se devuelve un error (excepto si finSel vale 0).
Los valores inicioSel y finSel no tienen en cuenta ningún tipo de etiquetas de estilo ya presentes en el área. Se evalúan sobre la base de texto sin formato (texto del cual se han filtrado las etiquetas de estilo). 4D

4D ofrece constantes predefinidas para que pueda designar automáticamente los límites de selección en los parámetros inicioSel y finSel. Estas constantes se encuentran en el tema "Texto multiestilo":

ConstanteTipoValorComentario
ST End highlightEntero largo-1001Designa el último carácter de la selección actual de texto en el objeto (*)
ST End textEntero largo0Designa el último carácter del texto contenido en el objeto
ST Start highlightEntero largo-1000Designa el primer carácter de la selección actual de texto en el objeto (*)
ST Start textEntero largo1Designa el primer carácter del texto contenido en el objeto

(*) Debe pasar un nombre de objeto en objeto para poder utilizar esta constante. Si pasa una referencia a un campo o variable, el comando se aplica a todo el texto del objeto.

Pase en el parámetro nomAtrib el nombre del atributo a leer y pase en el parámetro valorAtrib una variable que debe recuperar el valor actual del atributo. Para definir el parámetro nomAtrib, debe utilizar una de las constantes del tema Atributos de texto multiestilo.

ConstanteTipoValorComentario
Attribute background colorEntero largo8attValue=Valor hexadecimal o nombre del color HTML (Windows únicamente)
Attribute bold styleEntero largo1attValue=0: elimina el atributo negrita de la selección
attValue=1: aplica el atributo negrita a la selección
Attribute font nameEntero largo5attValue=nombre de la familia de la fuente (cadena)
Attribute italic styleEntero largo2attValue=0: elimina el atributo itálica de la selección
attValue=1: aplica el atributo itálica a la selección.
Attribute strikethrough styleEntero largo3attValue=0: elimina el atributo tachado de la selección
attValue=1: aplica el atributo tachado a la selección
Attribute text colorEntero largo7attValue=valores hexadecimales o nombre de color HML
Attribute text sizeEntero largo6attValue=número de puntos(número)
Attribute underline styleEntero largo4attValue=0: elimina el atributo subrayado de la selección
attValue=1: aplica el atributo subrayado a la selección

Puede pasar tantos pares de atributos/valores como quiera.

Si el valor del atributo nomAtrib es el mismo para toda la selección, se devuelve en valorAtrib. Si este valor es diferente o si objeto no contiene etiquetas SPAN, se devuelven los siguientes valores:

nomAtribvalorAtrib si atributo heterogéneo en la selección o no etiquetas SPAN
Attribute background colorFFFFFFFF
Attribute bold style2
Attribute font name"" (empty string)
Attribute italic style2
Attribute strikethrough style2
Attribute text colorFFFFFFFF
Attribute text size-1
Attribute underline style2

Ejemplo

Dado un campo [Table_1]StyledText mostrado en un formulario. El objeto tiene la propiedad Multiestilo y se llama "StyledText_t". Usted quiere obtener el texto resaltado así como también el estado de atributo de estilo Negrita. Puede proceder de dos formas diferentes dependiendo de si utiliza el nombre del objeto o la referencia del campo.

  • Utilizando el nombre del objeto:
 $text:=ST Get text(*;"StyledText_t";ST Start highlight;ST End highlight)
 ST GET ATTRIBUTES(*;"StyledText_t";ST Start highlight;ST End highlight;Attribute bold style;$bold)
  • Utilizando el nombre del campo:
 GET HIGHLIGHT([Table_1]StyledText;$Begin_l;$End_l)
 $text:=ST Get text([Table_1]StyledText;$Begin_l;$End_l)
 ST GET ATTRIBUTES([Table_1]StyledText;$Begin_l;$End_l;Attribute bold style;$bold)

Variables y conjuntos del sistema

Después de ejecutar este comando, la variable OK toma el valor 1 si no se presenta ningún error; de lo contrario, toma el valor 0. Este es el caso particularmente cuando las etiquetas de estilo no se evalúan correctamente (etiquetas incorrectas o faltantes).

En caso de error, no cambia la variable. Cuando ocurre un error en una variable cuando se está evaluando el texto, 4D transforma el texto en texto plano; como resultado, los caracteres <, > y & se convierten en entidades HTML.

Ver también

ST SET ATTRIBUTES