4D Write Pro a vzorce

Automaticky přeloženo z Deepl

Aplikace 4D v18 R2 umožňuje ve 4D Write Pro spravovat objekty vzorců uvnitř dokumentů. Za tímto účelem byly vytvořeny čtyři nové příkazy: WP Get formulas, WP Insert formula, WP Compute formulas, a WP Freeze formulas. Všechny lze použít s intuitivními cíli, jako je dokument, tělo, záhlaví atd. A jak jste možná uhodli z názvů příkazů, vzorce již nejsou textové výrazy, ale výkonné objekty vzorců!

HDI: GetSetFormulas

Vše najednou

První příkaz, WP Get formulas, umožňuje získat všechny vzorce v rámci určitého cíle. Prvním cílem, který vás napadne, je samozřejmě celý dokument jako takový, ale může to být i konkrétnější část dokumentu, například tělo, druhý oddíl, levé záhlaví, prostě si řekněte! Tento příkaz vrací kolekci objektů obsahující formula, range (pokud je výraz inline) nebo anchoredID , pokud je výraz připojen k ukotvenému obrázku.

Poznámka: Objekt formula má nyní čitelný atribut nazvaný source. Tento atribut je velmi užitečný pro vyhledávání a nahrazování akcí. (viz níže)

Příkazy WP Compute formulas a WP Freeze formulas lze použít velmi podobným způsobem(tj. , pomocí cíle). Můžete znovu vyhodnotit všechny výrazy dokumentu, nebo se můžete rozhodnout zmrazit pouze výrazy patřící do zápatí. Je to jednoduché a logické.

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

jeden po druhém

Čtvrtý příkaz, WP Insert formula, umožňuje vložit výraz (jako objekt vzorce) v rámci libovolného zadaného rozsahu. Lze jej také použít k nahrazení existujících výrazů (jednou nalezených příkazem WP Get formulas ).

Zde je jednoduchý příklad nahrazení: Váš dokument obsahuje výrazy current date a vy byste je chtěli všechny nahradit formátovaným řetězcem, například„čtvrtek 14. listopadu 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

Další vylepšení

Vylepšeny a zjednodušeny byly také některé stávající výrazy. Vyhrazené lokální proměnné jako $wp_pageCount nebo $wp_author byly nyní prohlášeny za zastaralé, i když jsou stále podporovány. Byly nahrazeny použitím čitelnější a modernější This.property. Zde je kompletní seznam dostupných vlastností:

$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

Výkonnější, jednodušší

Na závěr bychom chtěli říci, že používání těchto nativních příkazů vám skutečně zjednoduší správu vzorců v dokumentech 4D Write Pro. Neváhejte si přečíst celou dokumentaci a podívat se do databáze HDI, kde najdete další informace!

Roland Lannuzel
- Product Owner & 4D Expert - Po studiu elektroniky se Roland věnoval průmyslovým IT jako vývojář a konzultant, který vytvářel řešení pro zákazníky s různými databázemi a technologiemi. Koncem 80. let se zamiloval do 4D a používal jej při psaní podnikových aplikací, které zahrnovaly účetní, fakturační a e-mailové systémy. nakonec se připojil ke společnosti v roce 1997 a Rolandův cenný přínos zahrnuje návrh specifikací, testovacích nástrojů, demoverzí a také školení a přednášky pro komunitu 4D na mnoha konferencích. Nadále aktivně utváří budoucnost 4D definováním nových funkcí a nástrojů pro vývoj databází.