Recebemos vários pedidos de clientes para fornecer a possibilidade de utilizar o modelo4D Write Pro com cabeçalhos e rodapés para criar outros documentos com base neste modelo. Bem, ouvimo-lo e isto está disponível em 4D v16 R5.
Um novo conjunto de comandos foi adicionado ao 4D Write Pro para satisfazer esta necessidade. Alguns destes comandos podem ser usados para obter referências de cabeçalhos, corpo e rodapés dentro de documentos. Outros são úteis para obter uma referência ao quadro (cabeçalho, rodapé, etc.) onde o cursor se encontra actualmente, ou para colocar o cursor num quadro específico.
Obter uma referência a cabeçalhos, rodapés ou corpo
Novos comandos 4D – WP Get header, WP Get body e WP Get footer – foram adicionados para que os programadores possam obter uma referência a qualquer cabeçalho ou rodapé para o documento ou para uma secção específica.
Estas referências podem então ser utilizadas para obter gamas associadas, criar documentos, etc. O objectivo final é copiar o conteúdo de qualquer moldura (total ou parcialmente) e colá-lo dentro de qualquer outra moldura do mesmo documento ou de qualquer outro novo ou existente.
Amostra de código
// Get the header from a template and put it in the header of the main document
$source:=WP Get header(myDocument;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)
Mova o cursor para uma moldura específica
Ao criar documentos elaborados por programação, poderá querer colocar sucessivamente algumas informações primeiro no cabeçalho, depois no rodapé, e finalmente voltar para preencher o corpo do documento. Isto significa basicamente que precisa de ter um meio para navegar nas diferentes molduras de documentos.
O WP Get frame é utilizado para obter a referência ao quadro onde o cursor se encontra actualmente: cabeçalho, primeiro cabeçalho, corpo, primeiro rodapé, etc. O WP SET FRAME o comando faz o trabalho oposto. Coloca o cursor dentro de um quadro específico, desde que este quadro exista no documento.
Amostras de código
Digamos que quer mover o cursor para o cabeçalho principal:
WP SET FRAME(*; "WParea";wk current section default header)
Se quiser ter a certeza que o utilizador colocou o cursor num cabeçalho ou rodapé:
$frame:=WP Get frame(*; "WParea")
If ($frame=wk body)
ALERT ("Por favor seleccione um cabeçalho ou um cabeçalho")
End if