4D Write Pro e fórmulas

Tradução automática de Deepl

Com 4D v18 R2, 4D Write Pro é capaz de gerir objectos de fórmula dentro de documentos. Para o fazer, foram criados quatro novos comandos: WP Get formulas, WP Insert formula, WP Compute formulas, e WP Freeze formulas. Todos eles podem ser utilizados com alvos intuitivos como documento, corpo, cabeçalhos, etc. E como já deve ter adivinhado a partir dos nomes dos comandos, as fórmulas já não são expressões de texto mas objectos de fórmula poderosos!

HDI: GetSetFormulas

Tudo de uma só vez

O primeiro comando, WP Get formulas, permite obter todas as fórmulas dentro de um alvo específico. Claro que o primeiro alvo que me vem à mente é o próprio documento completo, mas também poderia ser uma parte mais específica do documento, como o corpo, a segunda secção, o cabeçalho à esquerda, basta nomeá-lo! Este comando devolve uma colecção de objectos contendo o formula, o range (quando a expressão está em linha), ou o anchoredID quando a expressão está anexada a uma imagem ancorada.

Nota: O objecto formula tem agora um atributo legível chamado source. Este atributo é muito útil para encontrar e substituir acções. (ver abaixo)

Os comandos WP Compute formulas e WP Freeze formulas podem ser utilizados de forma muito semelhante(isto é, utilizando um alvo). Pode reavaliar todas as expressões do documento, ou pode decidir congelar apenas as expressões pertencentes aos rodapés. Simples e lógico.

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

um a um

O quarto comando, WP Insert formula, permite a inserção de uma expressão (como objecto de fórmula) dentro de um determinado intervalo. Também pode ser utilizada para substituir expressões existentes (uma vez encontrada pelo comando WP Get formulas ).

Eis um exemplo simples de substituição: o seu documento contém expressões current date e gostaria de substituir todas elas por uma cadeia formatada, tal como“Thursday 14 November 2019“.

// define what to find
$find// query the collection (could have been done on previous line, but easier to read this way!):=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)

$_ expressions:=$_expressions .query("fórmula.fonte = :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

Mais melhorias

Algumas expressões existentes foram também melhoradas e simplificadas. Variáveis locais reservadas como $wp_pageCount ou $wp_author foram agora declaradas obsoletas, mesmo que ainda sejam suportadas. Foram substituídas pela utilização da propriedade mais legível e moderna This. Aqui está a lista completa de propriedades disponíveis:

$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

Mais poderoso, mais simples

Para concluir, estamos certos de que a utilização destes comandos nativos irá realmente simplificar a forma como gere as fórmulas dentro dos documentos 4D Write Pro. Sinta-se à vontade para ler a documentação completa e dar uma vista de olhos na base de dados do HDI para mais informações!

Roland Lannuzel
- Proprietário do produto & Especialista 4D - Depois de estudar electrónica, a Roland entrou nas TI industriais como desenvolvedor e consultor, construindo soluções para clientes com uma variedade de bases de dados e tecnologias. No final dos anos 80, apaixonou-se pela 4D e utilizou-a para escrever aplicações comerciais que incluem sistemas de contabilidade, facturação e correio electrónico. Juntando-se à empresa em 1997, as valiosas contribuições de Roland incluem a concepção de especificações, ferramentas de teste, demonstrações, bem como formação e palestras para a comunidade 4D em muitas conferências. Ele continua a moldar activamente o futuro da 4D, definindo novas características e ferramentas de desenvolvimento de bases de dados.