Obdrželi jsme několik žádostí zákazníků o poskytnutí možnosti používat šablonu4D Write Pro se záhlavími a zápatími k vytváření dalších dokumentů založených na této šabloně. Vyslyšeli jsme vás a tato možnost je k dispozici ve verzi 4D v16 R5.
Do aplikace 4D Write Pro byla přidána nová sada příkazů, která tuto potřebu splňuje. Některé z těchto příkazů lze použít k získání odkazů na záhlaví, tělo a zápatí uvnitř dokumentů. Jiné se hodí k získání odkazu na rámeček (záhlaví, zápatí atd.), kde se právě nachází kurzor, nebo k nastavení kurzoru do konkrétního rámečku.
Získání odkazu na záhlaví, zápatí nebo tělo
Nové příkazy 4D – WP Get header, WP Get body a WP Get footer – byly přidány, aby vývojáři mohli získat odkaz na libovolné záhlaví nebo zápatí dokumentu nebo na konkrétní sekci.
Tyto odkazy pak lze použít k získání přidružených rozsahů, vytváření dokumentů atd. Konečným cílem je zkopírovat obsah libovolného rámečku (zcela nebo částečně) a vložit jej dovnitř libovolného jiného rámečku téhož dokumentu nebo libovolného jiného nového či existujícího.
Ukázka kódu
// Get the header from a template and put it in the header of the main document
$source:=WP Get header(mytemplate;1) // first section
$rangeSource :=WP Get range($source;wk start text;wk end text)
$tempoc :=WP New($rangeSource)
$target :=WP Get header(myDocument;1) // first section
$rangeTarget :=WP Get range($target;wk start text;wk end text)
WP INSERT DOCUMENT (
$rangeTarget;$tempoc;wk replace)
Přesunutí kurzoru na konkrétní snímek
Po vytvoření propracovaných dokumentů programováním můžete chtít postupně umístit některé informace nejprve do záhlaví, pak do zápatí a nakonec se vrátit zpět a vyplnit tělo dokumentu. V podstatě to znamená, že potřebujete mít k dispozici prostředky pro pohyb v různých rámech dokumentu.
Příkaz WP Get frame slouží k získání odkazu na rámeček, v němž se právě nachází kurzor: záhlaví, první záhlaví, tělo, první zápatí atd. Příkaz WP SET FRAME Příkaz slouží k opačnému účelu. Umístí kurzor do určitého rámce , pokud tento rámec v dokumentu existuje.
Ukázky kódu
Řekněme, že chcete přesunout kurzor do hlavního záhlaví:
WP SET FRAME(*; "WParea";wk current section default header)
Pokud chcete zajistit, aby uživatel nastavil kurzor do záhlaví nebo zápatí:
$frame:=WP Get frame(*; "WParea")
„)
If ($frame=wk body)
ALERT ("Vyberte prosím zápatí nebo záhlaví
End if