Hemos recibido varias solicitudes de clientes para proporcionar la capacidad de utilizar la plantilla4D Write Pro con encabezados y pies de página para crear otros documentos basados en esta plantilla. Bien, le hemos escuchado y esto está disponible en 4D v16 R5.
Se ha añadido un nuevo conjunto de comandos a 4D Write Pro para satisfacer esta necesidad. Algunos de estos comandos pueden ser utilizados para obtener referencias de encabezados, cuerpo y pies de página dentro de los documentos. Otros son útiles para obtener una referencia al marco (cabecera, pie de página, etc.) donde el cursor se encuentra actualmente, o para poner el cursor en un marco específico.
Obtener una referencia a las cabeceras, pies de página o cuerpo
Nuevos comandos 4D – WP Get header, WP Get body y WP Get footer – se han añadido para que los desarrolladores puedan obtener una referencia a cualquier cabecera o pie de página del documento o de una sección específica.
Estas referencias pueden utilizarse para obtener rangos asociados, crear documentos, etc. El objetivo final es copiar el contenido de cualquier marco (total o parcialmente) y pegarlo dentro de cualquier otro marco del mismo documento o de cualquier otro nuevo o existente.
Ejemplo de código
// 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)
Mover el cursor a un marco específico
Al crear documentos elaborados mediante programación, es posible que quieras poner sucesivamente alguna información primero en el encabezado, luego en el pie de página y finalmente volver a llenar el cuerpo del documento. Esto significa básicamente que necesitas tener un medio para navegar en los diferentes marcos del documento.
El comando WP Get frame se utiliza para obtener la referencia al marco en el que se encuentra actualmente el cursor: cabecera, primera cabecera, cuerpo, primer pie de página, etc. El comando WP SET FRAME hace el trabajo contrario. Sitúa el cursor dentro de un marco específico siempre que este marco exista en el documento.
Ejemplos de código
Digamos que quieres mover el cursor a la cabecera principal:
WP SET FRAME(*; "WParea";wk current section default header)
Si quieres asegurarte de que el usuario ha colocado el cursor en una cabecera o pie de página
$frame:=WP Get frame(*; "WParea")
If ($frame=wk body)
ALERT ("Por favor, seleccione un pie de página o una cabecera")
End if