Aplikace 4D Write Pro již řadu let umožňuje vytvářet jednoduché nebo složité dokumenty, a to buď programováním pomocí šablon, nebo jednoduše vytvářením nových dokumentů od začátku. Počínaje verzí 4D v19 budou vývojáři i koncoví uživatelé rádi využívat nové možnosti vyhledávání (a nahrazování) v aplikaci 4D Write Pro. Používání nejen rozhraní… ale také kódu!
Pojďme se ponořit do podrobností!
HDI: 4D Write Pro – Najít a nahradit
Pozdravte WP Find All
Vyhledávání (a nahrazování) textu uvnitř dokumentu 4D Write Pro je již možné pomocí základních příkazů, jako je např. WP Get text a WP Set text. S touto verzí funkce je k dispozici nový příkaz, který umožňuje rychlejší postup než kdy dříve, a to s volitelnými kritérii!
Vyhledejte libovolný výskyt slova
Vyhledávání a nahrazování textu v dokumentu je poměrně typická operace a musí se jednat o jednoduchou akci.
Někdy je však nutné zohlednit určité typografické nebo jazykové zvláštnosti. Například v latinských jazycích mohou být některá písmena psána s velkým písmenem nebo s diakritikou. Můžete si také přát vybrat pouze celá slova, a nikoli jejich části apod. Naproti tomu v japonštině má způsob psaní (stejně jako šířka znaků) svůj význam a někdy je třeba jej zohlednit, nebo naopak ignorovat.
Je také užitečné určit, aby se vyhledávání provádělo buď v celém dokumentu, nebo se omezilo na určitou část dokumentu (např. odstavec, oddíl, záhlaví, zápatí atd.).
Všechny tyto úvahy, od nejjednodušších až po nejsložitější, lze pomocí tohoto nového příkazu konfigurovat.
Nahrazení a úpravy
Pokud je účelem vyhledávání nahrazení jednoho slova (nebo více slov), lze to nyní provést jedinou operací. Nahrazovací řetězec stačí předat jako parametr příkazu! Třešnička na dortu? Můžete si vybrat, zda se má při nahrazování zachovat styl znaků v nahrazovaném řetězci, nebo ne. To může být velmi výhodné, například pokud je první písmeno tučné, barevné nebo má prostě jinou velikost. Můžete například nahradit„Romeo“ za„Julie“ 😉
Pokud nejde o úpravu obsahu, ale spíše o tvar nalezených výskytů, stačí použít kolekci vrácenou příkazem, kde každý prvek je rozsah. Lze je použít jako parametr obecných funkcí aplikace 4D Write Pro, jako např. WP Set attributes.
Ukázka kódu
V níže uvedeném textu chceme nahradit „Alpha“ za „Bravo“. Na diakritických znaménkách a velkých písmenech nám nezáleží, takže je budeme ignorovat. Chceme však zachovat typografii jednotlivých písmen původního slova (Alpha):
Před…
$find:="Alpha"
;
$replace:="Bravo"
$options:=wk case insensitive+wk diacritic insensitive +wk keep character style
$_ranges:=WP Find all([SAMPLE]WP $find; $options; $replace)
…Po
Další podrobnosti o příkazu najdete v dokumentačním centru!
Rozhraní 4D Write Pro
Tato nová funkce byla přidána do widgetů rozhraní 4D Write Pro Interface:
Widget panelu nástrojů
Widget postranního panelu
Nezapomeňte, že zdrojový kód je k dispozici na GitHubu. Neváhejte si ho upravit podle svých potřeb!