4D Write Pro y fórmulas

Traducido automáticamente de Deepl

Con 4D v18 R2, 4D Write Pro es capaz de gestionar objetos de fórmula dentro de los documentos. Para ello, se han creado cuatro nuevos comandos: WP Get formulas, WP Insert formula, WP Compute formulas, y WP Freeze formulas. Todos ellos pueden ser utilizados con objetivos intuitivos como documento, cuerpo, cabeceras, etc. Y como habrá adivinado por los nombres de los comandos, las fórmulas ya no son expresiones de texto sino potentes objetos de fórmula.

HDI: GetSetFormulas

Todo a la vez

El primer comando, WP Get formulas, permite obtener todas las fórmulas dentro de un objetivo específico. Por supuesto, el primer objetivo que nos viene a la mente es el documento completo, pero también podría ser una parte más específica del documento, como el cuerpo, la segunda sección, la cabecera izquierda, ¡sólo hay que nombrarlo! Este comando devuelve una colección de objetos que contienen el formula, el range (cuando la expresión está en línea), o el anchoredID cuando la expresión está unida a una imagen anclada.

Nota: El objeto formula tiene ahora un atributo legible llamado source. Este atributo es muy útil para encontrar y reemplazar acciones. (ver más abajo)

Los comandos WP Compute formulas y WP Freeze formulas pueden utilizarse de forma muy similar(es decir, utilizando un objetivo). Puede reevaluar todas las expresiones del documento, o puede decidir congelar sólo las expresiones pertenecientes a los pies de página. Es sencillo y lógico.

// find all expressions of the document
C_COLLECTION($_expressions)
$_expressions :=WP Get formulas(WParea)

uno a uno

El cuarto comando, WP Insert formula, permite insertar una expresión (como objeto de fórmula) dentro de un rango determinado. También puede utilizarse para sustituir expresiones existentes (una vez encontradas por el comando WP Get formulas ).

He aquí un sencillo ejemplo de sustitución: su documento contiene expresiones current date y desea sustituirlas todas por una cadena formateada como«Jueves 14 de noviembre de 2019«.

// define what to find
$find:=Formula(Current date)
// define the replacement
$formula :=Formula(String(Current date;System date long))
// find all expressions of the document
$_ expressions :=WP Get formulas(WParea)
// query the collection (could have been done on previous line, but easier to read this way!)
$_ expressions:=$_expressions .query("formula.source = :1";$find.source)
// then replace each expression with the new one
For each ($expression;$_ expressions )

WP INSERT FORMULA ($expression.range;$formula;wk replace
)
End for each

Más mejoras

También se han mejorado y simplificado algunas expresiones existentes. Las variables locales reservadas, como $wp_pageCount o $wp_author, se han declarado obsoletas aunque sigan siendo compatibles. Se han sustituido por el uso de la más legible y moderna This.property. Esta es la lista completa de propiedades disponibles:

$wp_subject -> This.subject
$wp_author -> This.author
$wp_company -> This.company
$wp_notes -> This.notes
$wp_dateCreation -> This.dateCreation
$wp_dateModified -> This.dateModified
$wp_pageNumber -> This.pageNumber
$wp_pageCount -> This.pageCount
$wp_title -> This.title

Más potente, más simple

Para concluir, estamos seguros de que el uso de estos comandos nativos realmente simplificará la forma de gestionar las fórmulas dentro de los documentos de 4D Write Pro. No dude en leer la documentación completa y echar un vistazo a la base de datos de HDI para obtener más información.

Roland Lannuzel
- Propietario de Producto y Experto en 4D - Después de estudiar electrónica, Roland se dedicó a la informática industrial como desarrollador y consultor, construyendo soluciones para clientes con una variedad de bases de datos y tecnologías. A finales de los años 80 se enamoró de 4D y lo ha utilizado para escribir aplicaciones de negocio que incluyen sistemas de contabilidad, facturación y correo electrónico.Eventualmente se unió a la compañía en 1997, las valiosas contribuciones de Roland incluyen el diseño de especificaciones, herramientas de prueba, demos, así como la formación y hablar con la comunidad 4D en muchas conferencias. Continúa dando forma activamente al futuro de 4D definiendo nuevas características y herramientas de desarrollo de bases de datos.