Sunteți pe pagina 1din 783

Manual de Diseo

Introduccin
Gestin de archivos 4D
Preferencias
Propiedades de la base
Explorador
Explorador de ejecucin
Buscar y reemplazar
Arrastrar y soltar objetos
Definir la estructura de la base de datos
Gestin de formularios
Creacin de formularios
Trabajar con objetos activos
Propiedades de los objetos activos
List boxes
Subformularios y widgets
Formularios de salida e informes
Formularios de usuario
Editar mtodos
Usuarios y grupos
Mens y barras de mens
Librera de imgenes
Mensajes de ayuda
Listas
Hojas de estilo
Filtros y formatos
Explorador de recursos
Gestin de recursos
Buscar registros
Ordenar registros
Editor de frmulas
Informes rpidos
Editor de etiquetas
Exportar e importar datos
Publicacin y uso de servicios web
Backup y restauracin de la aplicacin
Centro de seguridad y mantenimiento
Compilacin
Terminar y desplegar aplicaciones finales
Desarrollar e instalar componentes 4D
Anexos

-1-
Introduccin

Bienvenido
Entornos de trabajo
Servidores integrados
Novedades de 4D v12
Principales novedades de 4D v13
Principales nueva funcionalidades de 4D v14

-2-
Bienvenido

4D combina una poderosa base de datos relacional, un motor SQL, una herramienta de desarrollo RAD multi-plataforma y un
servidor web dinmico.
Puede utilizar 4D para administrar sus propios datos o para desarrollar aplicaciones personalizadas para diferentes tipos de
tareas de gestin de datos.
Por ejemplo, con 4D puede:
Crear una estructura de base de datos de tablas y campos,
Disear formularios para la entrada, modificacin y visualizacin de los registros,
Buscar y ordenar registros,
Crear informes y etiquetas con la informacin de su base de datos,
Importar y exportar datos entre bases 4D y otras aplicaciones,
Publicar su base de datos en la World Wide Web.
Con 4D, puede mejorar las tareas ms comunes de gestin de datos gracias a las siguientes funcionalidades:
Un poderoso asistente de creacin de formularios permite crear formularios e informes sofisticados con tan slo unos
pocos clics,
Un sistema de contraseas permite proteger datos sensibles y jerarquizar los accesos,
La posibilidad de crear aplicaciones personalizadas con sus propios mens, cajas de dilogo, barras de herramientas
y botones; estas aplicaciones
se pueden compilar y distribuir a otros usuarios,
La posibilidad de utilizar en su base innumerables servicios web publicados en la Web,
Un lenguaje de programacin altamente funcional, que permite integrar comandos o funciones desarrolladas en otros
lenguajes.
Un motor SQL conforme a los estndares permite crear tablas, campos, manipular y buscar los datos de la base.
Una ventana centralizada de administracin y de control de la aplicacin.
Los usuarios principiantes pueden crear rpidamente bases de datos y comenzar a administrar sus datos. Los usuarios
experimentados pueden personalizar sus bases de datos con las herramientas de desarrollo de 4D. Los usuarios con ms
experiencia pueden utilizar el poderoso lenguaje de programacin de 4D o SQL para aadir funcionalidades sofisticadas a
sus bases de datos, tal como la transferencia archivos o la publicacin web.

-3-
Entornos de trabajo

4D puede utilizarse en dos entornos diferentes: el entorno Diseo y el entorno Aplicacin.

Entorno Diseo

El entorno Diseo se utiliza para disear, desarrollar y probar su aplicacin. Todos los aspectos del diseo de su base de
datos estn en el entorno Diseo. El entorno Diseo se utiliza para crear tablas y campos; definir relaciones entre las tablas,
crear formularios para la entrada de datos, manejar la visualizacin e impresin, implementar un sistema de acceso por
contraseas; crear mens personalizados o asociar mtodos a los objetos de la base.
Por ejemplo, si quiere hacer seguimiento a la informacin de cada empleado de una empresa. En el entorno Diseo, cree
una tabla [Empleados] y aada los campos necesarios para almacenar datos de los empleados tales como nombre, cargo,
fecha de ingreso, y salario. Tambin podra aadir una tabla [Departamentos] que contenga la informacin de cada uno de
los departamentos en su empresa. Luego, podra crear una relacin entre estas dos tablas que le permita determinar en qu
departamento trabaja un empleado y cules empleados trabajan en cada departamento.
El entorno Diseo le da acceso a varias ventanas y editores permitindole efectuar operaciones estndar en los datos de su
base. Puede introducir datos, buscar un registro particular, importar y exportar datos, imprimir informes o generar etiquetas
para un envo de correo. Puede probar el funcionamiento de su base, por ejemplo introduciendo o importando registros o
ejecutando sus mtodos. Los
editores son los mismos disponibles para los usuarios en el entorno Aplicacin.
El entorno Diseo le permite realizar las siguientes operaciones:
Crear las tablas y campos que almacenarn los datos,
Definir relaciones entre los campos,
Crear formularios para la entrada, visualizacin, impresin o publicacin de datos,
Crear listas de seleccin para facilitar y controlar la entrada de datos,
Escribir y ejecutar mtodos para automatizar operaciones en su base de datos,
Crear mens personalizados y asociarlos con mtodos o acciones automticas,
Crear y administrar mltiples procesos, permitindole realizar varias operaciones simultneamente en la base de
datos,
Definir un sistema de contraseas para controlar el acceso a la informacin,
Lanzar un servidor web o un servidor SQL con el fin de usar los datos va aplicaciones externas,
Llamar servicios web y publicar mtodos como servicios web,
Compilar la base de datos para acelerar su ejecucin,
Fusionar la base y el motor de 4D para generar aplicaciones autnomas.
Introducir y modificar datos,
Visualizar e imprimir datos,
Buscar y ordenar registros,
Crear informes, etiquetas y grficos,
Importar y exportar datos,
Trabajar con todos los plug-ins 4D instalados en la base.

Entorno Aplicacin

El entorno Aplicacin es el entorno que usted utiliza para ejecutar una aplicacin personalizada, una aplicacin que utiliza 4D
pero que tiene su propio sistema de mens y su propia interfaz. Este es el entorno en el cual por lo general se distribuyen las
aplicaciones creadas en el entorno Diseo. Para acceder desde el entorno Diseo, slo debe seleccionar el comando
Probar la aplicacin en el men Ejecutar.

En el entorno Aplicacin, usted controla todo el funcionamiento de la aplicacin, de los mens y de los formularios que utiliza
hasta los mtodos utilizados para validar, procesar y visualizar los datos. Usted debe definir los comandos de mens y
asociar los mtodos o acciones automticas que administran tareas estndar tales como la entrada y la edicin de datos,
las bsquedas, las ordenaciones y los informes. Puede utilizar algunos o todos los editores estndar ofrecidos por 4D
(ordenar por, etiquetas, etc.) o crear sus propias pantallas y editores.
El entorno Aplicacin puede ser completamente diferente para cada aplicacin que cree. Desde el punto de vista del
usuario, el entorno Aplicacin es una aplicacin completa para una gestin de datos particular.

-4-
La barra de mens generada por defecto por 4D incluye un men Entorno permitindole Volver al modo Diseo.
Cuando los dos modos estn abiertos al mismo tiempo, puede cambiar de entorno haciendo clic en sus respectivas
ventanas. Al hacer clic en una ventana, 4D pasa esta ventana al primer plano y selecciona su entorno.

-5-
Servidores integrados

4D tiene tres servidores integrados: un servidor de datos y de aplicacin (4D Server), un servidor web y un servidor SQL.
Por lo genera, la administracin de estos servidores es muy simple y slo necesita un mnimo de parmetros. Hay comandos
de administracin que permiten controlar su ejecucin. Note que para activar estos servidores, debe tener las licencias
apropiadas.
La implementacin y administracin de estos servidores se cubre en los siguientes manuales:

Servidor de datos y de aplicacin: manual 4D Server, seccin OBJECT SET ENTERABLE


Servidor web 4D: manual Lenguaje, seccin Configuracin del servidor web y gestin de conexiones
Servidor SQL 4D: manual 4D - Referencia SQL, seccin Configuracin del servidor SQL de 4D

-6-
Novedades de 4D v12

Totalmente orientada a las tecnologas ms extendidas y ms utilizadas, llena de nuevas caractersticas destinadas a
aumentar la productividad y la creatividad de los desarrolladores, 4D v12 es un nuevo gran paso en la evolucin de la lnea
de productos 4D.

Se integraron numerosas funciones muy solicitadas por los desarrolladores de la comunidad 4D, tanto a nivel de
arquitectura, del taller de desarrollo, as como tambin respecto al lenguaje: nuevo editor de cdigo, optimizacin de las
funciones de bsqueda y reemplazo, posibilidad de ejecutar scripts PHP, gestin de nmeros UUID, gestin de los
metadatos en las imgenes, mejora de los comandos de gestin de las propiedades de los objetos y soporte extendido de
XML y SVG.

La nueva posibilidad de instalar componentes en la aplicacin 4D permite tenerlos a su disposicin de forma automtica en
todas las bases.
Adems, el mecanismo de las bases externas SQL permite a los componentes crear y utilizar las tablas y los campos.

Las funciones de impresin se han enriquecido con el nuevo comando PRINT OBJECT, as como tambin con la
posibilidad de imprimir list boxes y el soporte extendido de las impresiones PDF.

Los nuevos objetos de formularios y widgets aceleran la creacin de interfaces modernas y sofisticadas: steppers, textos con
estilos, selectores de fecha (datepicker) o de hora, rea de bsqueda textual y tambin los list boxes jerrquicos forman
parte de estas nuevas caractersticas. Los subformularios se benefician de muchas mejoras, particularmente para hacerlos
ms fciles de usar como componentes. La nueva librera de objetos pre configurados ofrece rpido acceso a estas
funcionalidades.

Por ltimo, el lenguaje SQL de 4D ofrece nuevas funciones, como la replicacin y sincronizacin de datos y la capacidad de
abrir y cerrar diferentes bases 4D durante la misma sesin.

-7-
Principales novedades de 4D v13

4D v13 est totalmente centrado en la apertura, mientras mantiene una compatibilidad mxima con las bases existentes:
Apertura a otras bases de datos y a Internet gracias a un servidor HTTP totalmente reescrito, un cliente HTT
completamente nuevoP, as como tambin un driver ODBC de 64 bits,
Apertura a otras herramientas de desarrollo con el nuevo source toolkit, un conjunto de comandos completo (tema ) que
ofrece un acceso en lectura y escritura a todos los mtodos de la base, permitiendo por ejemplo exportar y
gestionar todo su cdigo en forma de archivos texto estndar.
Apertura a las interfaces de nueva generacin con el uso del nuevo motor grfico Direct2D y del previsualizador de
impresin XPS (en Windows), una seleccin de motores de renderizacin para las reas web, numerosas nuevas
opciones de list box y la posibilidad de indexar los metadatos de los campos imagen,
Por ltimo, 4D v13 tambin ofrece muchas nuevas funcionalidades destinadas a optimizar y mejorar el desarrollo
de sus aplicaciones 4D: almacenamiento externo de datos voluminosos, as como tambin un nuevo conjunto
de comandos complementarios del tema Objetos (Formularios) que puede utilizar para acceder a los objetos de
formulario por programacin.

-8-
Principales nueva funcionalidades de 4D v14

Mientras mantiene la mxima compatibilidad con las aplicaciones 4D existentes, 4D v14 se caracteriza por importantes
adelantos en su arquitectura, as como tambin numerosas adiciones que permiten enriquecer las interfaces de sus
aplicaciones.
Modernizacin del ncleo 4D: internamente, la reescritura del cdigo utilizando las antiguas libreras carbon permite a
4D v14 superar las limitaciones de rendimiento impuestas por estas libreras, y por otra parte, las tecnologas de
generaciones anteriores, como QuickTime, 4D Chart o el formato de imagen Pict ya no son compatibles.
Los formularios en 4D v14 tienen muchas caractersticas nuevas, en particular en los objetos en lista (list box, listas
jerrquicas, combo box, etc.), las reas web (nuevas pasarelas JavaScript, depurador), as como en las reas de texto
(rotacin de textos estticos, extensin de la funcin de texto con estilo).
El taller de desarrollo tambin se ha mejorado mediante la simplificacin del procedimiento para la actualizacin de
versiones, de nuevas cajas de dilogo de consulta, ayuda extendida en la depuracin y el nuevo Mtodo base On
Host Database Event.
Se implementaron funciones especificas en el ncleo de 4D para permitir a las aplicaciones Wakanda utililizar
directamente los datos en bases 4D.
Y finalmente, El lenguaje de programacin de 4D se ha enriquecido con numerosos nuevos comandos, en particular
para permitir un mayor control sobre las propiedades de los objetos, tambin da la bienvenida a un nuevo tipo de
datos: objetos (ver el comando C_OBJECT) as como tambin datos de tipo "JSON" (tema nuevo).

-9-
Gestin de archivos 4D

Comenzar
Arquitectura local/remota
Crear una nueva aplicacin
Abrir una aplicacin local
Conexin a una aplicacin remota
Instalacin de plugins o componentes
Cambiar el archivo de datos
Descripcin de los archivos de 4D
Conversin de bases de versiones anteriores

- 10 -
Comenzar

Una vez instalada y registrada su versin de 4D como se describe en la Gua de instalacin, puede iniciar la aplicacin.
Para hacer esto, puede seleccionar el icono de la aplicacin y elegir el comando Abrir en el men Archivo del sistema
operativo, o hacer doble clic directamente en este icono.

Aparece el asistente de bienvenida:

Este asistente est destinado principalmente a guiar a los nuevos usuarios de 4D al iniciar el programa. Brinda acceso a
todas las acciones posibles, concernientes al uso y/o activacin de la aplicacin.
Por defecto, el asistente se muestra cada vez que se inicia 4D. Puede ocultarlo seleccionando la opcin No mostrar esto al
lanzar 4D. Puede hacer que aparezca nuevamente en cualquier momento seleccionando el comando Asistente de
bienvenida en el men Ayuda:

En este caso, al iniciar 4D se mostrar directamente la caja de dilogo de apertura de archivos o la opcin seleccionada en
las Preferencias (ver el prrafo Pgina General).
Haga clic en la accin a efectuar o en el botn asociado con el fin de obtener informacin adicional. Si cierra la ventana del
asistente, la aplicacin 4D permanece lanzada pero no se abre la base de datos.
En este caso, puede abrir una base va el Centro de seguridad y mantenimiento (ver Visualizacin en modo
mantenimiento) o crear/abrir una base utilizando los comandos del men Archivo o la barra de herramientas. Para mayor
informacin sobre la creacin y apertura de una base, consulte Crear una nueva aplicacin y Abrir una aplicacin local.

- 11 -
Arquitectura local/remota

La aplicacin 4D permite abrir indiferentemente bases locales o remotas ejecutadas por 4D Server. En el primer caso, la
aplicacin trabaja en modo local (monopuesto). En el segundo caso, trabaja en modo remoto (cliente/servidor).

La seleccin del modo de uso se efecta al abrir la base, de acuerdo al tipo de base a abrir:

Abrir > Base de datos: muestra la caja de dilogo estndar de apertura de documentos, permitiendo seleccionar un
archivo de base 4D (ver el siguiente prrafo Abrir una aplicacin local).
Abrir > Base de datos remota: muestra la caja de dilogo de conexin a 4D Server, permitiendo seleccionar una
base de datos publicada. Para mayor informacin sobre esta caja de dilogo y la apertura de bases de datos remotas,
consulte el prrafo Conexin a una base 4D Server en el manual de 4D Server.

- 12 -
Crear una nueva aplicacin

Puede crear una base de datos vaca o puede crear una base de datos a partir de una definicin de estructura previamente
exportada.

La creacin de una base de datos se efecta de manera idntica desde la aplicacin 4D o desde la aplicacin 4D Server.

Crear una base vaca

Puede crear una base vaca, es decir que no contenga tablas, campos o formularios. Es el equivalente de una hoja vaca
para las bases de datos.
Para crear una base vaca:
1. Seleccione Nueva > Base de datos... del men Archivo o del men asociado con el botn Nuevo" en la barra de
herramientas de 4D. Tambin puede hacer clic directamente en el botn Nuevo de la barra de herramientas.
Aparece una caja de dilogo estndar de guardar archivos de manera que pueda elegir el nombre y la ubicacin de la
base 4D:

2. Introduzca el nombre de su base y haga clic en Guardar.


Puede elegir todo nombre de archivo aceptado por su sistema operativo. Atencin: si su base est destinada para
trabajar en otros sistemas, debe tener en cuenta las restricciones especficas para cada una de ellas. Por ejemplo, los
caracteres "backslash" (\) son aceptados bajo OS X pero no son permitidos bajo Windows.
Cuando valida la caja de dilogo, 4D cierra la base actual (si la hay), crea una carpeta en la ubicacin indicada (el nombre
de la carpeta es el nombre de la base) y pone todos los archivos necesarios para la operacin adecuada de la base en
ellos. Para mayor informacin sobre la arquitectura de bases 4D, consulte Arquitectura de las bases .
La ventana de la aplicacin 4D se muestra entonces en el Explorador en el primer plano. Luego, puede por ejemplo, crear
formularios proyecto, mostrar el editor de estructura y aadir tablas, campos, etc.

Crear una base a partir de una definicin de estructura

Las definiciones de estructuras exportadas al formato XML pueden utilizarse para crear nuevas bases de datos idnticas. En
este caso, la definicin de estructura puede considerarse como una plantilla de estructura, que es posible duplicar con toda
tranquilidad. Para mayor informacin consulte la seccin Exportar e importar las definiciones de estructura.
Una definicin de estructura XML puede utilizarse como tal o puede modificarse previamente por medio de un editor XML.
Este principio permite contemplar todo tipo de mecanismo utilizado para generar estructuras por programacin.
- 13 -
Adems, como el formato interno de los archivos XML de descripcin de las estructuras 4D es pblico (ver el prrafo
Formato de una definicin de estructura 4D), es posible crear este tipo de archivo desde otros entornos de bases de
datos o toda aplicacin de diseo para generar automticamente bases de datos 4D.
Para crear una base de datos desde una definicin de estructura:
1. Seleccione el comando Nuevo > Base de datos a partir de una definicin de estructura... en el men Archivo de
4D o del men asociado al botn Nuevo en la barra de herramientas de 4D.
Aparece una caja de dilogo estndar de apertura de documentos de manera que pueda especificar el archivo de
descripcin a abrir. Debe seleccionar un archivo en formato XML que respete la gramtica de las descripciones de
estructura 4D (el programa valida el archivo va la DTD).
2. Seleccione un archivo XML de descripcin de estructura y luego haga clic en Aceptar.
4D muestra una caja de dilogo que le permite elegir el nombre y la ubicacin de la base de datos a crear.
3. Elija el nombre y la ubicacin de la base a crear y luego haga clic en Guardar.
Si el archivo XML es vlido, 4D cierra la base actual (si aplica) y crea una nueva estructura basada en la definicin de
estructura. Se crea una carpeta en la ubicacin definida (el nombre de la carpeta es el nombre de la base) que contiene
todos los archivos necesarios para el funcionamiento de la nueva base y aparece la ventana del Explorador.

- 14 -
Abrir una aplicacin local

Caja de dilogo de apertura

La caja de dilogo estndar de apertura puede utilizarse para abrir toda base 4D local y ofrece varias opciones de apertura.
Para abrir una base de datos existente va la caja de dilogo de apertura:
1. Seleccione Abrir > Base de datos... en el men Archivo de 4D o Base local... en el men asociado al botn Abrir
de la barra de herramientas de 4D.
Aparece la siguiente caja de dilogo:

2. Seleccione la base a abrir.


Bajo Windows, debe seleccionar el archivo de estructura de la base (sufijo .4DB o .4DC).
Bajo Mac OS, puede seleccionar el paquete de la base (sufijo.4dbase), o el archivo de estructura de la base
(sufijo .4DB o .4DC). Para mayor informacin sobre la arquitectura de los paquetes, consulte el prrafo
Extensin .4dbase .
Tambin puede seleccionar un archivo de acceso de tipo .4DLink. Los archivos de este tipo guardan los
parmetros necesarios para la apertura de las bases (direccin, identificadores...). Los archivos 4DLink
funcionan con las bases locales y las bases remotas. Para ms informacin sobre la creacin y uso de los
archivos 4DLink, consulte la seccin Conexin a una base 4D Server en el manual 4D Server.
3. Elija una opcin de apertura (ver el prrafo siguiente) o haga clic en Abrir para abrir la base.
Nota: puede utilizar las funciones arrastrar y soltar o doble clic con un paquete .4dbase o un archivo de estructura .4DB o
.4DC con el fin de lanzar una aplicacin 4D sin pasar por la caja de dilogo de apertura.

Opciones de la caja de dilogo de apertura

Adems de las opciones estndar del sistema, la caja de dilogo de apertura de 4D ofrece dos mens de opciones
especficas, accesibles va el botn Abrir y el men Archivo de datos.
Abrir: el men asociado a este botn permite definir el modo de apertura de la base. Incluye las opciones Base de
datos interpretada y/o Base de datos compilada, as como el Centro de Mantenimiento y Seguridad:

Base de datos interpretada y Base de datos compilada: estas dos opciones se ofrecen cuando la base
seleccionada contiene a la vez cdigo interpretado y cdigo compilado. Si uno de estos modos no est
disponible (base no compilada o no recompilada, archivo compilado nicamente, etc.), no aparece la opcin
correspondiente.
- 15 -
Centro de Mantenimiento y Seguridad: apertura en modo seguro permite acceder a una base de datos
daada para llevar a cabo las reparaciones correspondientes. Para mayor informacin, consulte el prrafo
Visualizacin en modo mantenimiento.
Cuando hace clic directamente en el botn Abrir, la base se abre en el ltimo modo de apertura utilizado.
Archivo de datos: este men permite definir el archivo de datos a utilizar con la base. Por defecto, la opcin Archivo
de datos actual est seleccionada. La base se abre con este archivo si hace clic en Abrir. Puede ver la ubicacin de
este archivo en el disco en una ventana sistema haciendo clic en el botn .
Este men incluye dos opciones adicionales ya que 4D le permite utilizar el mismo archivo de estructura con archivos
de datos diferentes.
Seleccionar otro archivo de datos: esta opcin permite abrir la base con un archivo de datos existente
diferente al archivo actual. Cuando selecciona esta opcin y luego hace clic en Abrir, aparece la caja de dilogo
estndar de apertura de archivos de manera que pueda designar un archivo de datos.
Crear un archivo de datos nuevo: esta opcin permite crear un archivo de datos en blanco para la base.
Cuando selecciona esta opcin y luego hace clic en Abrir, aparece la caja de dilogo estndar de guardar
archivos, permitindole nombrar y designar la ubicacin del archivo de datos a crear.
Una vez haya cambiado el archivo de datos actual, 4D lo abrir por defecto posteriormente, a menos que encuentre un
archivo con el mismo nombre que el archivo de estructura seguido por .4DD ubicado en el mismo directorio que el
archivo de estructura. Si mueve o renombra el archivo de datos, necesitar localizarlo una vez ms.
Es posible cambiar el archivo de datos utilizando un atajo de teclado durante el lanzamiento de la base. Para mayor
informacin, consulte la seccin Cambiar el archivo de datos.
Puede visualizar en cualquier momento el archivo de datos actual de la base en la Pgina Informacin del Centro de
seguridad y mantenimiento.

Atajos de apertura de las bases

4D ofrece varias funciones que permiten abrir directamente las bases, sin pasar por la caja de dilogo de apertura: arrastrar
y soltar, el men Abrir bases recientes y la apertura automtica de la ltima base utilizada.
Para abrir una base utilizando arrastrar y soltar:
1. Seleccione el archivo de la base a abrir y sultelo en el icono de la aplicacin 4D.
Bajo Windows, debe seleccionar el archivo de estructura de la base (sufijo .4DB o .4DC).
Bajo Mac OS, puede seleccionar el paquete de la base (sufijo.4dbase), o el archivo de estructura de la base
(sufijo .4DB o .4DC). Para mayor informacin sobre la arquitectura de los paquetes, consulte el prrafo
Extensin .4dbase .
En ambas plataformas, puede seleccionar un archivo de acceso .4DLink.
Para abrir una base reciente:
1. Seleccione el comando Abrir bases recientes > Nombre de la base en el men Archivo de 4D o en el men
asociado al botn Abrir de la
barra de herramientas de 4D.
La primera vez que se lanza la aplicacin, este men est vaco. Se llenar gradualmente a medida que se utilicen
bases locales o remotas; 4D memoriza automticamente los nombres de todas las bases que se abren.
Seleccione el comando Borrar lista de recientes (accesible va el men Archivo nicamente) para borrar los
nombres de las bases del men.
Para abrir automticamente la ltima base utilizada:
1. Muestre la pgina General de las Preferencias.
Para mayor informacin sobre la visualizacin de las Preferencias, consulte el Acceso a las Preferencias.
2. En el rea Al inicio, elija la opcin Abrir la ltima base utilizada.

4D abrir entonces automticamente la ltima base utilizada cada vez que se lance la aplicacin.
Nota: para forzar la visualizacin de la caja de dilogo de apertura cuando esta opcin est seleccionada, mantenga
presionada la tecla Alt (Windows) u Opcin (Mac OS) durante la apertura de la aplicacin.

- 16 -
Conexin a una aplicacin remota

Hay tres formas para conectarse a una base 4D Server va un 4D remoto:


Utilizar la caja de dilogo de conexin
Utilizar el men Abrir bases recientes
Utilizar un archivo 4DLink de atajo con los parmetros de acceso a la base.

Utilizar la caja de dilogo de conexin

Para mostrar la caja de dilogo de conexin a 4D Server, primero lance la aplicacin 4D.
El comando Abrir del men Archivo (o el botn correspondiente en la barra de herramientas de 4D) permite seleccionar el
modo de apertura de la base:

Elija el comando Abrir>Base de datos remota...


Aparece la caja de dilogo de conexin a 4D Server. Esta caja de dilogo tiene tres pginas, accesibles por medio de
pestaas: Reciente, TCP/IP y Personalizado:

- 17 -
Si selecciona la opcin Mostrar este dilogo en el prximo inicio, esta caja de dilogo se mostrar automticamente al
inicio de la aplicacin 4D.
Nota: puede igualmente mostrar esta caja de dilogo haciendo clic en el enlace Conectarse a 4D Server en el dilogo de
bienvenida de 4D.
Pgina Reciente

Esta pgina memoriza la lista de bases 4D server utilizadas recientemente. La lista est en orden alfabtico. Para
conectarse a un servidor de la lista, haga doble clic en su nombre o seleccinelo y haga clic en el botn Aceptar.

Pgina Disponible

- 18 -
4D Server incluye un sistema de publicacin TCP/IP integrado que publica por defecto el nombre de la bases 4D Server
disponibles en la red. Estos nombres aparecen en la pgina TCP/IP de la caja de dilogo de conexin.
La lista est por orden de aparicin y se actualiza dinmicamente. Para conectarse a un servidor de esta lista, haga doble
clic sobre el nombre o seleccinelo y haga clic en el botn Aceptar.

Notas:

Un acento circunflejo (^) aparece delante del nombre de bases publicadas con la opcin de cifrado. Para obtener ms
informacin, consulte la seccin Encriptar las conexiones cliente-servidor.
Es posible prohibir la publicacin dinmica del nombre de la base en red (ver la seccin Configuracin IP). En este
caso, la conexin slo puede efectuarse manualmente en la pgina "Personalizado".

Pgina "Personalizado

La pgina Personalizado permite designar, va la direccin IP del servidor, una base publicada en la red y darle un nombre
personalizado.
- 19 -
Puede personalizar el sistema de publicacin TCP/IP de 4D Server para que los nombres de las bases servidor no se
publiquen automticamente en la red (vea la seccin Configuracin IP). En este caso, este nombre no aparece en la pgina
"Disponible". Sin embargo, si conoce la direccin IP del servidor de una base cuyo nombre no est publicado, puede
introducir manualmente la direccin IP.
Nombre de base: permite definir el nombre de la base 4D Server. Este nombre se utiliza en la pgina Recientes al
referirse a la base.
Direccin de red: permite introducir la direccin IP de la mquina donde se lanza 4D Server. Si dos servidores se
ejecutan simultneamente en la misma mquina, la direccin IP debe estar seguida de dos puntos y del nmero de
puerto, por ejemplo: 192.168.92.104:19814.
Por defecto, el puerto de publicacin de un 4D Server es el 19813. Este nmero se puede modificar en las Preferencias de
la aplicacin (ver la seccin Opciones red y cliente-servidor).
Nota: si una base fue seleccionada en las pginas Reciente o TCP/IP en el momento en que hizo clic en la pgina
Personalizado, los dos campos muestran la informacin correspondiente.

Una vez que esta pgina designa un servidor, hacer clic en el botn Aceptar le permitir conectarse al servidor. El servidor
se mostrar en la pgina Recientes.

Nota: si la base se publica utilizando la opcin de cifrado, debe agregar un acento circunflejo (^) delante del nombre, de lo
contrario la conexin ser rechazada. Para obtener ms informacin, consulte la seccin Encriptar las conexiones cliente-
servidor.
Forzar la actualizacin de los recursos locales
Esta opcin causa la actualizacin sistemtica de los recursos locales en el equipo cliente al momento de la conecin. Los
recursos locales son la informacin estructural relacionada con la base que est almacenada en cada mquina cliente.

Por regla general, la actualizacin de los recursos locales es automtica en el equipo remoto cada vez que se conecta,
cuando la estructura de la base se ha modificado entre dos conexiones. La mayora de las veces, esta opcin no es
necesaria. No obstante, en determinados casos, puede ser necesaria para forzar la actualizacin.

Utilizar el men Abrir bases recientes

El elemento de men Abrir bases recientes permite conectarse directamente a una base 4D Server a la cual se ha
conectado anteriormente.
Este comando se encuentra en el men Archivo de 4D. Si utiliza la aplicacin 4D para abrir las bases locales y para
conectarse a las bases remotas, este men lista los dos tipos de bases. Las bases remotas se ubican en la parte inferior del
men:

La direccin IP del servidor se indica junto al nombre de la base.


El comando Borrar lista de recientes permite reinicializar el men.

Usar un archivo 4DLink


- 20 -
Puede generar archivos de acceso a las bases que contienen parmetros destinados a automatizar y simplificar la apertura
o la conexin a las bases 4D. Por lo general, un archivo de acceso puede guardar la direccin de una base 4D Server
remota as como tambin los identificadores de conexin, evitando as varias operaciones a los usuarios.
Los archivos de acceso pueden igualmente utilizarse para la apertura de bases locales.

Creacin de archivos
Los archivos de acceso a las bases de 4D son los archivos XML que tienen la extensin ".4DLink". 4D genera y utiliza este
tipo de archivo para construir el submen de "bases recientes": un archivo .4DLink es generado automticamente por 4D
cuando una base local se abre por primera vez o cuando se conecta a un servidor por primera vez.

Los archivos .4DLink creados automticamente por 4D se ponen en la carpeta de las preferencias locales del usuario. En
esta carpeta, se crean dos directorios: Local y Remoto. La carpeta Local contiene los archivos ".4DLink" que se pueden
utilizar para conectarse a bases locales y la carpeta Remota contiene los archivos ".4DLink" que se pueden utilizar para
conectarse a bases remotas.

Las carpetas de preferencias locales se encuentran en:

Windows 7 y posteriores: C:\Users\NomUsuario\AppData\Roaming\4D\Favorites vXX\


OS X: Users/NomUsuario/Library/Application Support/4D/Favorites vXX/

... donde XX representa el nmero de versin de la aplicacin (por ejemplo, "Favorites v14" para 4D v14).
Los archivos que se encuentran en estos directorios son mostrados por 4D en el submen Abrir bases recientes del men
Archivo:

Los archivos ".4DLink" tambin pueden crearse con un editor XML y contener informacin personalizada, como los
identificadores de conexin (nombre de usuario y contrasea) o el modo de apertura de la base.

4D ofrece una DTD describiendo las llaves XML que se pueden utilizar para construir un archivo ".4DLink". Este DTD se
denomina database_link.dtd y se encuentra en la subcarpeta \Resources\DTD\ de la aplicacin 4D.

Uso de los archivos


Un archivo de acceso .4DLink permite lanzar la aplicacin 4D y abrir la base 4D Server objetivo. Hay dos formas de usarlo:
Va un doble clic o un arrastrar y soltar en la aplicacin 4D,
Via el submen Abrir bases recientes (archivo ubicado en la carpeta de preferencias local).
Un mismo archivo .4DLink de tipo "base remota" puede copiarse y utilizarse en los diferentes equipos.
Nota: tambin es posible seleccionar un archivo 4DLink en la caja de dilogo de aperutra de 4D y de 4D Server (apertura de
bases locales nicamente).

- 21 -
Instalacin de plugins o componentes

Los plug-ins aportan funcionalidades adicionales a sus aplicaciones.


Los plug-ins son programas externos, generalmente desarrollados en C, que dan acceso a diferentes funcionalidades.
Por ejemplo, el plug-in 4D Write aporta funciones de un software de procesamiento de texto. Algunos plug-ins tales
como 4D Internet Commands son gratuitos, otros pueden necesitar de la compra de una licencia especfica. Los plug-
ins pueden ser desarrollados por 4D SAS o por terceros.
Los componentes son programas independientes desarrollados con 4D que ofrecen funcionalidades adicionales de
alto nivel. Por ejemplo, el componente 4D SVG ampla las capacidades estndar de 4D relacionadas con el trabajo
con SVG.
Los plug-ins y los componentes se integran en su entorno 4D y 4D Server. Para poder utilizarlos en sus bases de datos,
debe instalarlos en lugares adecuados. Diferentes ubicaciones son posibles dependiendo de cmo se van a utilizar y de su
sistema operativo.

Nota: para obtener ms informacin sobre el desarrollo y la distribucin de componentes, consulte el captulo Desarrollar e
instalar componentes 4D.

Procedimiento de instalacin

La instalacin de plug-ins y componentes en el entorno 4D se efecta al copiar los archivos de los plug-ins o de los
componentes en las carpetas apropiadas. Los plug-ins deben copiarse en una carpeta llamada Plugins. Los componentes
deben copiarse en una carpeta llamada Components. Estas carpetas pueden ubicarse en dos lugares diferentes
dependiendo de sus necesidades (ver la siguiente seccin).
Estos son los elementos a ubicar en las carpetas:
Las carpetas NombrePlugin.bundle (llamadas paquetes en Mac OS) contienen las versiones Windows y Mac OS de
los plug-ins 4D. Su arquitectura interna especfica permite a 4D Server cargar la versin apropiada de acuerdo con la
plataforma de ejecucin de 4D Client. Para instalar un plug-in en su entorno, es suficiente con ubicar la carpeta o
paquete NombrePlugin.bundle correspondiente en la carpeta Plugins deseada.
Los componentes estn formados por bases matrices cuyos archivos tengan el sufijo .4db (base matriz interpretada),
.4dc (base matriz compilada) o .4dbase (base matriz de tipo paquete, ver el prrafo Extensin .4dbase ). Puede
utilizar alias (Mac OS) o atajo (Windows) a estas bases matrices. La carpeta Components puede contener todos los
archivos y carpetas necesarias para el funcionamiento del componente (xliff, imgenes, etc.). Por otra parte, no puede
contener archivos de datos, los archivos de estructura usuario (.4DA). Si estos elementos estn presentes, son
ignorados por 4D. Para mayores detalles sobre la arquitectura de los componentes, consulte Presentacin).

Los plug-ins y los componentes son cargados por 4D durante el lanzamiento de la aplicacin. Por lo tanto, debe salir de su
aplicacin 4D antes de copiar archivos o carpetas. Luego abra su base de datos con 4D. Si el uso de un plug-in requiere
una licencia especfica, el plug-in se cargar pero no se activar.

Ubicacin de las carpetas Plugins y Components

Puede poner las carpetas Plugins y Components en dos partes diferentes:


A nivel de la aplicacin 4D ejecutable:
Bajo Windows: junto al archivo .exe
Bajo Mac OS: al primer nivel de la carpeta Contents, al interior del paquete de la aplicacin.
En este caso, los plug-ins y los componentes estn disponibles para todas las bases de datos abiertas por esta
aplicacin.
Al mismo nivel que el archivo de estructura de la base.
En este caso, los plug-ins y componentes slo estn disponibles en esta base.
La eleccin de la ubicacin depende del modo de utilizacin del plug-in o componente.
Si un mismo plug-in o un mismo componente est ubicado en ambas partes, 4D carga nicamente el ubicado junto a la
estructura.
En el caso de una aplicacin compilada y fusionada con 4D Volume Desktop, la presencia de varias instancias de un mismo
plug-in o de un mismo componente evitar la apertura de la aplicacin.
- 22 -
Soporte de plug-ins 64-bits en Windows

A partir de la v14, los plug-ins 4D estn disponibles en versiones Windows de 64 bits. De esta manera usted puede tomar
ventaja de la arquitectura de 64 bits en una configuracin utilizando la versin de 64 bits Windows de 4D Server.

Las versiones 64 bits se incluyen en los paquetes plug-in. No se requiere ninguna instalacin especfica.

Los siguientes plug-ins estn disponibles en una versin Windows de 64 bits:


4D Write
4D View
4D Internet Commands
4D Pack
4D ODBC Pro
4D for OCI (Debe instalar el OCI de 64 bits antes del plug-in 4D For OCI de 64 bits. Puede obtener esta versin de OCI
de Oracle, Inc.)
El funcionamiento de los plug-ins de 32 bits y 64 bits es idntico. Sin embargo, tenga en cuenta que el comando Open
external window no se puede utilizar en un 4D Server de 64 bits.

- 23 -
Cambiar el archivo de datos

Puede cambiar de archivo de datos si lo prefiere (puede utilizar una misma estructura con diferentes archivos de datos).
Los archivos de datos y de estructura deben corresponder. Con el fin de preservar la integridad de los datos, 4D no autoriza
la apertura de un archivo de datos que no haya sido creado por el archivo de estructura actual. El programa asigna
automticamente los nmeros de enlace internos (UUID) a los archivos de datos y de estructura en el momento de la
creacin o de la conversin de las bases. Estos nmeros se verifican al abrir el archivo de datos.
Para cambiar el archivo de datos, puede:
Al abrir la base, elija la opcin Elegir otro archivo de datos o Crear un nuevo archivo de datos en el men
"Archivo de" de la caja de dilogo de apertura de la base. Puede especificar un archivo existente o crear uno nuevo
(ver la seccin Abrir una aplicacin local).
Durante el lanzamiento de la base, presione la tecla Alt (en Windows) o la tecla Opcin (en Mac OS). Aparece la
siguiente caja de dilogo:

Seleccione Elegir otro archivo de datos o Crear un nuevo archivo de datos y clic en Aceptar.
Despus de abrir la base, elija Nuevo > Archivo de datos... o Abrir > Archivo de datos... en el men Archivo de
4D o en el men asociado con el botn Nuevo o Abrir de la barra de herramientas de 4D.
En todos los casos, una caja de dilogo permite seleccionar un archivo de datos existente o crear uno nuevo. Si elige crear
un nuevo archivo de datos, 4D abrir la base con la estructura original pero sin registros.
Cuando utiliza un archivo de datos diferente o cuando crea uno nuevo, ste se convierte en el archivo de datos actual y se
utilizar automticamente la prxima vez que se abra la base.
Si mueve o renombra el archivo de datos, tendr que ubicarlo manualmente.

- 24 -
Descripcin de los archivos de 4D

4D crea por defecto varios archivos y carpetas para cada aplicacin. Los archivos adicionales tambin se utilizan cuando la
base ha sido convertida de una versin anterior.

Arquitectura de las bases

Cuando crea una base de datos, los siguientes archivos y carpetas se generan por defecto en el disco:
Un archivo de estructura (extensin .4DB)
El archivo de estructura contiene todas las especificaciones asociadas a la estructura de la base (tablas, campos,
propiedades de los campos), a los formularios, a los mtodos, a los mens, a las contraseas y a las listas de
seleccin. El archivo de estructura toma el nombre que introduce en la caja de dilogo de creacin de base, seguido
por .4db.
Un archivo de datos (extensin .4DD)
El archivo de datos contiene los datos introducidos en los registros y todos los datos que dependen de los registros. El
archivo de datos toma el nombre que introdujo en la caja de dilogo de creacin de la base, seguido por .4DB.
Cuando abre un archivo de estructura de 4D, la aplicacin abre por defecto el archivo de datos actual. Si cambia el
nombre o la ubicacin de este archivo, aparece la caja de dilogo de apertura de archivos de manera que pueda
seleccionar el archivo de datos que quiere utilizar o crear uno nuevo (ver Cambiar el archivo de datos).
Un archivo de datos se asocia automticamente al archivo de estructura que lo creo para evitar una manipulacin
incorrecta.
Un archivo de ndice de estructura (extensin .4DIndy) y un archivo de ndice de datos (extensin .4DIndx)
Los ndices creados en una base 4D se almacenan como archivos separados. Estos archivos se ubican
automticamente junto al archivo de estructura. No deben moverse o renombrarse, de lo contrario, 4D tendr que
crearlos nuevamente.
NombreBase.4DIndx contiene los ndices de datos y NombreBase.4DIndy contiene el ndice de la estructura (utilizado
particularmente cuando se realizan bsquedas en la estructura). Una de las principales ventajas es que en caso de
corrupcin del ndice, es posible suprimir fsicamente el archivo antes de lanzar 4D de manera que se cree
automticamente uno nuevo.
Un archivo de historial de datos (extensin .journal), archivo creado nicamente si la base utiliza un archivo de
historial.
El archivo de historial permite asegurar la seguridad de los datos de la base entre dos backups. Todas las
operaciones efectuadas en los datos de una base se guardan secuencialmente en este archivo. De manera que cada
operacin en los datos cause dos acciones simultneas: la primera en los datos de la base (la instruccin se ejecuta
normalmente) y la segunda en el archivo de historial (se registra la descripcin de la operacin). El archivo de historial
se construye de manera independiente, sin afectar o volver lento el trabajo del usuario. Una base slo puede trabajar
con un archivo de historial a la vez.
El archivo de historial registra operaciones tales como adiciones, modificaciones, o eliminaciones de registros,
transacciones, etc. El archivo de historial se genera por defecto cuando se crea una base. Para mayor informacin,
consulte Gestin del archivo de historial.
Una carpeta Resources, contiene los recursos externos.
La carpeta Resources, debe estar ubicada junto al archivo de estructura de la base (.4db o .4dc), est destinada a
agrupar todos los archivos externos necesarios para la interfaz de la base.
En esta carpeta, puede ubicar todos los archivos necesarios para la traduccin o personalizacin de la interfaz de la
aplicacin (archivos de imagen, texto, XLIFF, etc.). 4D utiliza mecanismos automticos para utilizar los contenidos de
esta carpeta, en particular para la gestin de archivos XLIFF (ver ) y de imgenes (ver el prrafo .
En el contexto de uso en modo remoto, la carpeta Resources permite compartir archivos entre el equipo servidor y
todos los equipos cliente. Para mayor informacin, consulte Gestin de la carpeta Resources en el manual de 4D
Server.
Una carpeta Preferences, contiene los archivos de configuracin especficos de la base, carpeta creada nicamente
cuando es necesario. La carpeta Preferences almacena los archivos de configuracin de la base, generalmente en
formato XML. Se crea automticamente, ms especficamente cuando se utiliza la funcin de backup (archivo
Backup.xml file) o del generador de aplicaciones (archivo BuildApp.xml).
Una carpeta Logs contiene los archivos de historial de la base actual. Esta carpeta se encuentra al mismo nivel que el
archivo de estructura. Rene los siguientes archivos de historial:
conversin de la base,
peticiones del servidor web,
verificacin y reparacin de datos,
verificacin y reparacin de la estructura,
diario de actividades de backup/restauracin,
- 25 -
depuracin de los comandos,
peticiones 4D Server (generadas en los equipos cliente y en el servidor).
Estos archivos y carpetas inicialmente se ubican en la misma carpeta cuando se crea la base; se recomienda no
moverlos para no afectar los mecanismos automticos de 4D.

Archivos adicionales (bases convertidas)


Cuando utiliza una base creada con una versin de 4D anterior a la v11, los archivos adicionales estn presentes:
Un archivo de recursos de estructura (extensin .RSR)
Este archivo contiene los antiguos recursos de tipo Macintosh asociados a la estructura de la base.
Los archivos .4DB y .RSR siempre deben ubicarse en el mismo directorio y tener el mismo nombre, de lo contrario no
podr abrir la base de datos.
Un archivo de recursos de datos (extensin .4DR)
Contiene los antiguos recursos asociados a los datos de la base.
Para mayor informacin sobre la conversin de bases, consulte el prrafo Conversin de bases de versiones anteriores.

Extensin .4dbase

Por defecto, las bases de datos 4D se crean automticamente en una carpeta con el sufijo .4dbase. Por ejemplo, una base
llamada Facturas se crear en la carpeta [Facturas.4dbase]. Esta carpeta almacena todos los elementos necesarios para
el correcto funcionamiento de la base.
Gracias a este principio, bajo Mac OS las carpetas de las bases aparecen como paquetes. Es posible hacer doble clic en el
paquete para lanzar directamente 4D, la base y el archivo de datos actual. Tambin es posible arrastrar y soltar el paquete
en el icono de la aplicacin 4D. Esto tambin significa que la base puede ubicarse en una herramienta de gestin de
versiones.
Bajo Windows, este funcionamiento no tiene un impacto particular.
Puede desactivar este funcionamiento por defecto deseleccionando la opcin Crear un paquete para las nuevas bases
en la Pgina General de las Preferencias.

- 26 -
Conversin de bases de versiones anteriores

Las bases de datos creadas con las versiones anteriores de 4D son compatibles con 4D v13 (archivo de estructura y archivo
de datos).
Los archivos de bases de datos en versin 11 o 12 se convierten directamente a la versin 13. Una vez convertidos, el
archivo de estructura no podr abrirse en versin 12; sin embargo, el archivo de datos puede abrirse nuevamente en
versin 12 bajo las condiciones descritas a continuacin.
Los archivos de bases de datos en versin 6.x, 2003.x o 2004.x se convierten por medio de un asistente y no pueden
abrirse con su versin original.
Nota: puede convertir todo archivo de estructura interpretado. El archivo puede contener el cdigo compilado; en este caso,
ser necesario recompilar la base luego de su conversin.
Si va a convertir una base de datos anterior a la versin 14 que no tiene llaves primarias, aparecer una caja de dilogo de
alerta. Este punto se detalla en el prrafo "Ventana de error de llaves primarias" a continuacin.

Bases en versin 13

La conversin de una base en versin 13 se efecta directamente al abrirlo con 4D v14. Aparecer una caja de dilogo de
alerta que indica que el archivo de estructura va a ser convertido, y que ya no se puede abrir con una versin anterior.

Los archivos de datos, sin embargo, se abren sin necesidad de conversin por lo que todava se pueden abrir de nuevo en
versin 13.

Bases en versiones 11 o 12

La conversin de una base v11 o v12 se efecta directamente al abrir el archivo de estructura con 4D v14.
Dos cajas de dilogo de alerta sucesivas le indican que los archivos se estn convirtiendo y que ya no se pueden abrir con
una versin anterior.
Note que al convertir el archivo de datos, su ndices se reconstruyen.
Nota: para obtener informacin acerca de cmo convertir bases de una versin anterior, consulte la seccin Conversin de
bases en versiones anterioress en la documentacin 4D v13.

Ventana de error de llaves primaria

A partir de 4D v14, el uso de un archivo de historial requiere que todas las tablas tengan una llave primaria vlida (ver
Gestin del archivo de historial).

Se muestra una caja de dilogo de error cuando al menos una tabla en la base no tiene una llave primaria vlida.

- 27 -
Este dilogo puede aparecer:
despus de la conversin a V14 de una base,
despus de la activacin de la opcin Utilizar archivo de historial en una base v14.

Nota: si el historial no est activado en la base, la caja de dilogo de error le ofrece la opcin de abrir la base a pesar del
error de llave primaria.

Si tiene acceso a la estructura de la base, la caja de dilogo ofrece varias opciones y muestra, cuando se expande el rea
inferior, la lista de tablas que no tienen una llave primaria:

A continuacin, tiene las siguientes opciones:


Copiar: copia la informacin de la ventana en el portapapeles para su anlisis.
Cerrar la base: cierra la base de datos sin modificarla.
Continuar: abre la base sin procesar los errores. En este caso, el historial est desactivado para la base (si la opcin
Utilizar archivo de historial estaba seleccionada, est desmarcada) y la base funciona a la perfeccin en v14. Puede
utilizar esta opcin si no desea utilizar el archivo de historial con su base.
Utilizar el asistente: muestra la ventana del Gestor de llaves primaria, que se utiliza para actualizar todas las tablas de
la base. Le recomendamos que elija esta opcin con el fin de desarrollar la base. Este asistente se describe en la
seccin Definir la estructura de la base de datos.
Si no tiene acceso a la estructura de la base, no es posible activar el historial y 4D mostrar un mensaje que recomienda
contactar al administrador de la base.

Componentes en versin 11, 12 o 13


- 28 -
4D v14 puede abrir directamente los componentes v13, v12 o v11 (compilados o interpretados) sin conversin ni caja de
dilogo de confirmacin. Recuerde que los componentes siempre estn abiertos en modo slo lectura.
No es necesario recompilar los componentes pero la conversin to v14 slo es posible para los archivos .4DB y no para los
.4DC.

- 29 -
Preferencias

Presentacin
Pgina General
Pgina Estructura
Pgina Formularios
Pgina Mtodos
Pgina Atajos

- 30 -
Presentacin

Las preferencias del usuario especifican las opciones de comportamiento por defecto de su entorno de trabajo, por ejemplo,
los colores del editor de mtodos, la opcin de creacin de formularios automtica, la visualizacin por defecto en los
formularios, etc. La preferencias del usuario aplican a todas las bases abiertas con su aplicacin 4D o 4D Server.

4D Server: los objetos se bloquean cuando dos o ms usuarios intentan modificar los parmetros en la caja de dilogo
Preferencias, al mismo tiempo. Slo un usuario a la vez puede utilizar la caja de dilogo Preferencias.

Nota: 4D ofrece un conjunto diferente de parmetros especficos a la base abierta: las propiedades de la base. Para mayor
informacin, consulte el captulo MissingRef.

Acceso

Puede acceder a la caja de dilogo de las Preferencias desde el men Edicin >Preferencias (Windows) o desde el men
Aplicacin (Mac OS) de 4D:

Esta opcin de men est disponible incluso cuando ninguna base est abierta.

Tambin puede mostrar la caja de dilogo Preferencias en el modo Aplicacin va la accin estndar "Preferencias"
(asociada a un elemento de men o un botn) o el comando OPEN SETTINGS WINDOW.

Almacenamiento

Los ajustes realizados en la caja de dilogo Preferencias se guardan en un archivo de Preferencias en formato XML. Este
archivo se llama 4D vXX Preferences.4DPreferences y se almacena en la carpeta de preferencias del usuario actual:

Windows XP: {disk}:\Documents and Settings\{NombreUsuario}\Application Data\4D


Windows Vista/Windows 7: {disk}:\Usuarios\{NombreUsuario}\AppDataRoaming\4D\
Mac OS: {disk}:Users:{NombreUsuario}:Library:Preferences:4D

Nota: XX indica el nmero de versin principal de 4D. En versin 12 por ejemplo, el archivo se llama 4D v12
Preferences.4DPreferences.

Personalizacin de los parmetros y "Reglas de uso"

En las cajas de dilogo de Preferencias y de Propiedades, los parmetros cuyos valores se han modificado aparecen en
negrita:

- 31 -
La modificacin pudo haber sido efectuada en la caja de dilogo o en el caso de una base convertida, provenir de una
preferencia modificada previamente.

Un parmetro todava aparece en negrita, incluso cuando su valor se sustituye de forma manual con los valores por defecto.
De esta manera, siempre es posible identificar visualmente los parmetros que se han personalizado.

Para reinicializar los parmetros a sus valores por defecto y suprimir el estilo negrita que indica que se han personalizado,
haga clic en el botn Configuracin por defecto:

Este botn reinicializa todos los parmetros de la pgina actual. Se activa cuando al menos un parmetro ha sido
modificado en la pgina actual.

- 32 -
Pgina General

Esta pgina contiene varias opciones que permiten configurar el funcionamiento general de su aplicacin 4D.

Opciones

Las opciones de esta rea permiten configurar varias funciones utilizadas al inicio y al cambiar el modo de la aplicacin.

Al inicio
Esta opcin permite configurar la visualizacin por defecto ofrecida por 4D al inicio cuando el usuario lanza nicamente la
aplicacin.
No hacer nada: slo aparece la ventana de la aplicacin, vaca.
Dilogo de apertura de base de datos local: 4D muestra una caja de dilogo estndar de apertura de documentos,
que permite designar una base de datos local.
Abrir la ltima base utilizada: 4D abre directamente la ltima base utilizada; no aparece ninguna caja de dilogo de
apertura.
Nota: para forzar la visualizacin de la caja de dilogo de apertura cuando se selecciona esta opcin, mantenga
presionada la tecla Alt (Windows) u Opcin (Mac OS) mientras se lanza la base.
Dilogo de apertura de base de datos remota: 4D muestra la caja de dilogo estndar de conexin con 4D Server,
que puede ser utilizada para designar una base de datos publicada en la red.
Dilogo Asistente de bienvenida (regla de uso): 4D muestra la caja de dilogo del asistente de bienvenida.
Creacin automtica de formularios
Este men le permite configurar el funcionamiento de 4D cuando se crea una tabla en el editor de estructura y luego abra,
por ejemplo, la ventana de visualizacin de los registros. Por defecto, 4D le indica que ningn formulario se ha creado para la
nueva tabla y luego le da la opcin de crear automticamente un formulario de entrada y de salida:

Hay tres opciones disponibles:


Nunca: la caja de dilogo de alerta no aparece ms y no se crea ningn formulario por defecto.
Preguntar: aparece sistemticamente la caja de dilogo de alerta cuando no se ha creado formulario para la tabla
(configuracin por defecto).
Siempre s a todo: la caja de dilogo de alerta no aparece ms, los formularios por defecto se crean para todas las
tablas de forma automtica.

Salir del modo Diseo al pasar al modo Aplicacin


Si esta opcin est activa, cuando el usuario cambia al entorno Aplicacin utilizando el comando de men Probar la
aplicacin, todas las ventanas del entorno de Diseo se cierran. Si esta opcin no est activa (configuracin por defecto),
las ventanas del entorno Diseo permanecer visibles en el fondo del entorno Aplicacin.

Durante la creacin de una nueva base

Este grupo de opciones permite definir los parmetros a aplicar durante la creacin de una nueva aplicacin.

Activar la estrategia de backup automtico para cada nueva base de datos


Puede seleccionar esta opcin para implementar un conjunto de parmetros de backup (backup automtico, archivo de
historial, etc.) asegurando una seguridad mnima. Para mayor informacin sobre esta opcin, consulte la seccin Estrategia
de backup automtico.
- 33 -
Crear un paquete para las nuevas bases
Cuando esta opcin est seleccionada, las bases de datos 4D se crean automticamente en una carpeta con el sufijo
.4dbase.
Gracias a este principio, bajo Mac OS las carpetas de bases aparecen como paquetes con propiedades especficas. Bajo
Windows, este funcionamiento no tiene un impacto particular. Para mayor informacin, consulte Descripcin de los
archivos de 4D.
Lenguaje de comparacin de texto
Este parmetro configura el idioma predeterminado que se utiliza para el procesamiento y comparacin de las cadenas de
caracteres en las nuevas bases. La eleccin del lenguaje de comparacin tiene una influencia directa en la ordenacin y
bsqueda de textos, como tambin en las maysculas o minsculas, pero no tiene efecto en la traduccin de textos o en los
formatos de fecha, hora o moneda, que permanecen en el lenguaje del sistema. Por defecto, 4D utiliza el lenguaje actual del
usuario definido en el sistema.
Una base 4D por lo tanto puede operar en un lenguaje distinto al del sistema. Cuando se abre una base, el motor de 4D
detecta el lenguaje utilizado por el archivo de datos y lo ofrece al lenguaje (intrprete o modo compilado). Las
comparaciones de texto, independientemente de que sean efectuadas por el motor de base de datos o por el lenguaje, se
hacen en el mismo lenguaje.
Al crear un nuevo archivo de datos, 4D utiliza el lenguaje definido previamente en este men. Al abrir un archivo de datos que
no est en el mismo lenguaje que la estructura, se usa el lenguaje del archivo de datos y el cdigo del lenguaje se copia en la
estructura.

Nota: puede modificar este parmetro para la base abierta utilizando las Propiedades de la base (ver el prrafo
Comparacin de texto).

Ubicacin de la documentacin

Esta rea configura el acceso a la documentacin HTML de 4D mostrada en el navegador actual:


Cuando el usuario hace doble clic en un comando en la pgina de comandos del Explorador;
Cuando el usuario hace clic en una ventana del editor de mtodos y presiona la tecla F1 (ver el prrafo )

Puede elegir acceder directamente al sitio de documentacin (4D Doc Center) o a una versin esttica almacenada
localmente.
Carpeta local
Indica la ubicacin de la versin esttica de la documentacin HTML. Por defecto, esta ubicacin corresponde a la
subcarpeta \Help\Command\language. Puede ver la ubicacin haciendo clic en el men asociado al rea. Si esta
subcarpeta no est presente, la ubicacin se muestra en rojo.
Puede modificar esta ubicacin como prefiera, por ejemplo, si desea mostrar la documentacin en un lenguaje distinto al de
la aplicacin. La documentacin HTML esttica se puede ubicar en otro volumen, un CD-Rom, etc. Para designar una
ubicacin diferente, haga clic en el botn [...] ubicado junto al rea de entrada y elija una carpeta raz de documentacin
(carpeta correspondiente al lenguaje: fr, en, es, de o ja).

Nota: para mayor informacin sobre la descarga de versiones estticas de documentacin HTML, consulte la pgina de
inicio del 4D Doc Center.
Sitio web
URL de acceso a la documentacin en lnea de la versin en 4D Doc Center. 4D crea las llamadas a las pginas de la
documentacin basado en esta URL. Puede modificar el URL, por ejemplo, si desea mostrar la documentacin en un idioma
diferente del idioma de la aplicacin. El botn de prueba ubicado a la derecha del rea lanza el navegador por defecto para
ir a la URL especificada.

Buscar primero en la carpeta local


Esta opcin (seleccionada por defecto), permite configurar la secuencia de bsqueda de una pgina de documentacin
llamada va el explorador o la tecla F1.
Cuando est activada, 4D busca primero la pgina en la carpeta local. Si la pgina se encuentra en la ubicacin
definida, 4D muestra la pgina en el navegador actual. En caso contrario, 4D automticamente lo buscar en el sitio
web de la documentacin en lnea. Esto hace que sea posible acceder a la documentacin, incluso cuando no est
conectado accediendo a una versin local.
Cuando no est seleccionada, 4D busca directamente la pgina en el sitio web de la documentacin en lnea y la
muestra el navegador actual. Si no la encuentra, 4D muestra un mensaje de error en el navegador. Esta opcin acelera
el acceso, pero slo puede utilizarse cuando 4D est en modo conectado.

- 34 -
Pgina Estructura

Llave primaria

Estas opciones de las preferencias permiten modificar el nombre y el tipo por defecto de los campos llave primaria que se
agregan automticamente por 4D cuando se crean nuevas tablas o va el Definir la estructura de la base de datos).

Las siguientes opciones estn disponibles:


Nombre ("ID" por defecto): define el nombre por defecto de los campos llave primaria. Puede utilizar el nombre que
desee, siempre y cuando se respeten las reglas de denominacin para las tablas estndar de 4D (ver [Reglas de
nombres de tablas y campos).
Tipo (Entero largo por defecto): define el tipo de los campos llaves primaria por defecto. Puede elegir el tipo UUID. En
este caso, los campos llaves primaria creados por defecto son del tipo Alfa y tienen las propiedades Formato UUID y
Auto UUID seleccionadas.

Editor de estructura

Este grupo de opciones configura la visualizacin del editor de estructura de 4D.


Calidad grfica de la estructura
Esta opcin permite variar el nivel de detalle grfico del editor de estructura. Por defecto, la calidad es Alta. Puede
seleccionar la calidad Estndar para dar prioridad a la rapidez de la visualizacin. El efecto de este parmetro es
principalmente perceptible durante el uso de la funcin zoom (ver el prrafo Zoom en la seccin Editor de estructura.

Cuando una carpeta est oculta, sus contenidos son:


Esta opcin permite configurar la apariencia grfica de las tablas ocultas en el editor de estructura, cuando efecta las
selecciones por carpeta (ver el prrafo Resaltar/atenuar tablas por carpetas). Las opciones posibles son Atenuado (una
sombra reemplaza la imagen de la tabla) e Invisible (la tabla desaparece completamente).

- 35 -
Pgina Formularios

Esta pgina permite definir las opciones de funcionamiento y visualizacin del editor de formularios de 4D.

Trasladar

Este grupo de opciones permite definir los parmetros para mover objetos utilizando el teclado o el ratn en el editor de
formularios.

Tamao del paso utilizando el teclado


Esta opcin permite definir el valor (en puntos) del paso utilizado para mover o redimensionar un objeto utilizando el teclado y
la tecla Mays.

Al moverse fuera de los lmites de la ventana


Esta opcin permite definir el modo de funcionamiento del editor de formularios cuando se mueve un objeto con el ratn ms
all de los lmites de la ventana del formulario.
Desplazamiento automtico: cuando esta opcin est seleccionada, esta accin provoca el desplazamiento del
formulario en la ventana, como cuando se hace clic en las barras de desplazamiento. Este funcionamiento es til para
mover objetos en formularios de gran tamao.
Empezar arrastrar y soltar: cuando esta opcin est seleccionada, esta accin se interpreta como un arrastrar y
soltar. La ventana del formulario no cambia y el objeto se puede llevar a otra ventana (si su contenido es compatible),
por ejemplo, en otro formulario. Este funcionamiento es til para reciclar objetos entre varios formularios o utilizar
libreras de objetos (ver la seccin Crear y utilizar las libreras de objetos personalizadas).

Puede configurar esta opcin en funcin de sus hbitos de trabajo y necesidades de desarrollo.

Activar alineacin automtica por defecto


Esta opcin activa la alineacin automtica por defecto en cada nueva ventana del editor de formularios. Es posible
modificar esta opcin individualmente en cada ventana (consulte el prrafo Utilizar la alineacin magntica).

Visualizacin por defecto

Estas opciones permiten definir los elementos que se deben mostrar u ocultar por defecto en cada nueva ventana del editor
de formularios. Es posible definir la visualizacin de cada ventana individualmente utilizando el men jerrquico Mostrar del
editor de formularios.
Marca a mostrar por defecto: esta opcin permite definir las marcas a mostrar por defecto en cada nueva ventana
del editor de formularios. Para mayor informacin sobre marcas, consulte la seccin Utilizar las marcas.
Color de las lneas de marcadores: esta opcin permite modificar el color de las lneas utilizadas en el editor de
formularios para definir las diferentes reas (encabezado, rupturas, cuerpo y pie de pgina, etc.). Para mayor
informacin sobre los marcadores, consulte la seccin Utilizar lneas de control de salida.

- 36 -
Pgina Mtodos

Esta pgina permite definir la interfaz, la visualizacin por defecto y las opciones de funcionamiento del editor de mtodos.
Se divide en dos partes, accesibles por las pestaas Estilos y Opciones.

Estilos

Fuente
Estos mens permiten definir el tipo de fuente y el tamao de los caracteres a utilizar en el rea de entrada del editor de
mtodos:
Fuente: nombre de la fuente utilizada.
Tamao: tamao de lo caracteres.
Es posible definir el estilo de fuente para cada tipo de objeto.
Estilos de sintaxis
Las opciones de esta rea le permiten asignar un color y un estilo especfico a cada tipo de elemento del lenguaje 4D
(campos, tablas, variables, parmetros, SQL, etc.) y tambin para cada elemento del lenguaje SQL (palabras claves,
funciones, etc.). La combinacin de colores y de estilos diferentes para los elementos de los mtodos es bastante til para el
mantenimiento del cdigo.
Lenguaje: este men permite elegir el lenguaje para el cual quiere definir los estilos en el editor de mtodos. Puede
elegir el lenguaje 4D o el lenguaje SQL. La lista de tipos de elementos se actualiza en funcin del lenguaje
seleccionado en el men.
Listas de tipos de elementos: seleccione las opciones de estilo correspondientes en la tabla. Puede combinar varias
opciones para un mismo elemento. La etiqueta del elemento refleja las modificaciones efectuadas. Para definir un
color, haga clic en el cono de color y aparecer una paleta de colores donde podr elegir un nuevo color.
Notas:
En el lenguaje 4D, el tipo de elemento "Texto estndar" designa todos los textos que no pertenecen a ninguno de
los otros tipos definidos (es decir los smbolos, puntuacin, las constantes literales, etc.).
En el lenguaje 4D, el tipo de elemento "Palabras claves" designa las estructuras de programacin (If/End if, Case
of/End case, etc.) accesibles va Macros. En SQL, designa todos los comandos y sus palabras claves asociadas.

Opciones

Opciones
Esta rea permite configurar las opciones de visualizacin del editor de mtodos:
Indentacin: cambia el valor de indentacin del cdigo 4D en el editor de mtodos. El ancho debe ser definido en
puntos (10 por defecto).
El cdigo 4D es indentado automticamente con el fin de mostrar su estructura:

Modificar este valor por defecto puede ser muy til si sus mtodos contienen algoritmos complejos con muchos niveles
- 37 -
de anidamiento. Una indentacin ms angosta permite limitar los desplazamientos horizontales.
Mostrar nmeros de lneas: permite mostrar los nmeros de las lneas en cada ventana del editor de mtodos. Es
posible mostrar u ocultar los nmeros de las lneas para la ventana actual directamente desde el editor de mtodos.
Mostrar las listas: permite mostrar u ocultar por defecto las listas de objetos (Comandos, Tablas y campos, etc.)
cuando la ventana del editor de mtodos est abierta. Puede mostrar u ocultar cada lista directamente desde el editor
de mtodos.
Parntesis correspondientes: modifica la sealizacin grfica de los parntesis correspondientes en el cdigo. Esta
sealizacin aparece cuando un parntesis est seleccionado. Las siguientes opciones estn disponibles:
Ninguno: sin sealizacin
Rectngulo: parntesis rodeado por una lnea negra
Background Color: parntesis resaltados (el color se define en el rea "Colores", ver el prrafo Colores ms
adelante)
Negrita: parntesis mostrados en negrita.
Por defecto, la opcin rectngulo est seleccionada:

Resaltar la lnea actual: resalta la lnea en ejecucin en el _o_During, adems de la flecha amarilla.

Si deselecciona esta opcin, slo se muestra la flecha amarilla.


Resaltar la lnea en ejecucin: resalta la lnea que se est ejecutando actualmente en el depurador (ver Depurador),
adems del indicador de flecha amarilla regular.

Si deselecciona esta opcin, slo se muestra la flecha amarilla.


Utilizar la configuracin del sistema regional: permite desactivar/activar los parmetros del cdigo
"internacionales" para la aplicacin 4D local:
Cuando esta opcin est desactivada (valor predeterminado en 4D v15 y superior), los parmetros "Ingls-US" y
y el lenguaje ingls de programacin se utilizan en los mtodos 4D.
Si se activa esta opcin, la configuracin regional se utiliza en los mtodos 4D, como en las versiones anteriores
de 4D.
Si modifica esta opcin, es necesario reiniciar la aplicacin 4D para que se tenga en cuenta el cambio.
Para una descripcin detallada de los efectos de esta opcin, consulte la seccin Introduccin al lenguaje 4D.

Sugerencias
Esta rea permite configurar los mecanismos de entrada predictiva en el editor de mtodos para adaptarlos a sus propios
hbitos de trabajo.
Apertura automtica de la ventana para: dispara la visualizacin automtica de la ventana de sugerencias para las
constantes, las variables interproceso y locales y las tablas.
Por ejemplo, cuando la opcin "Las variables interproceso y locales" est seleccionada, la ventana aparece cuando
digita el carcter $:

Puede desactivar este funcionamiento para ciertos elementos del lenguaje deseleccionando la opcin
correspondiente.
Validacin de una sugerencia en: define el contexto de entrada que permite al editor de mtodos validar
automticamente la sugerencia mostrada en la ventana de ayuda.
Tabulacin y delimitadores: cuando esta opcin est seleccionada, puede validad la seleccin actual con la
tecla Tab o cualquier delimitador pertinente en el contexto. Por ejemplo, si introduce "ALE" y luego "(", 4D escribe
automticamente "ALERT(" en el editor. Esta es la lista de delimitadores que se tienen en cuenta: ( ; : = < [ {
Tabulacin nicamente: cuando esta opcin est seleccionada, slo la tecla Tab permite insertar la sugerencia
actual. Este funcionamiento puede utilizarse particularmente para facilitar la entrada de caracteres delimitadores
en los nombres de los elementos, por ejemplo ${1}.
Nota: tambin puede hacer doble clic en la ventana o presionar la tecla Retorno de carro para validar una
sugerencia.

Colores

- 38 -
Este grupo de opciones configura los diferentes colores utilizados en la interfaz del editor de mtodos.
Lnea donde est el cursor (ventana activa) / Lnea donde est el cursor (ventana inactiva): color de fondo de la
lnea que contiene el cursor.
Resaltado de las palabras encontradas: color de resaltado de las palabras encontradas en una bsqueda.
Resaltado del parntesis: color del resaltado de los parntesis correspondientes (utilizado cuando los pares de
parntesis son sealados por el resaltado, ver el prrafo Opciones arriba).
Fondo de rea de edicin: color de fondo de la ventana del editor de mtodos.
Texto sugerido: color del texto de autocompletar sugerido por el editor de mtodos.

- 39 -
Pgina Atajos

Esta pgina muestra la lista de todos los atajos utilizados en entorno Diseo de 4D (excepto los atajos "sistema", tales como
Ctrl+C/Comando+C para el comando Copiar). Para modificar un atajo, puede seleccionar/deseleccionar el elemento a
modificar (Mays, Alt o letra) en la lista. Tambin puede hacer doble clic en un atajo para configurarlo utilizando una caja de
dilogo especfica:

Note que cada atajo incluye implcitamente la tecla Ctrl (Windows) o Comando (Mac OS).
La lista de atajos est basada en el archivo 4DShortcutsvXX.xml ubicada en la subcarpeta 4D Extensions (4D v12) o
Resources (4D v13). Si personaliza esta lista en la caja de dilogo, este archivo se duplica en la carpeta Preferencias y se
utiliza en lugar del archivo estndar. Por lo tanto, cada vez que 4D se actualiza usted conserva sus preferencias de atajos de
teclado.

- 40 -
Propiedades de la base

Presentacin
Utilizar las propiedades usuario
Pgina General
Pgina Interfaz
Pgina Compilador
Pgina Base de datos/Almacenamiento de datos
Base de datos/Memoria
Pgina Traslado
Pgina Backup/Periodicidad
Pgina Backup/Configuracin
Backup/Backup y restauracin
Pgina Cliente-Servidor/Opciones de red
Pgina Cliente-Servidor/Configuracin IP
Pgina Web/Configuracin
Pgina Web/Opciones (I)
Pgina Web/Opciones (II)
Pgina Web/Historial (formato)
Pgina Web/Historial (periodicidad)
Pgina Web/Web Services
Pgina Web/REST
Pgina SQL
Pgina PHP
Pgina Seguridad
Pgina Compatibilidad

- 41 -
Presentacin

Las propiedades de la base configuran el funcionamiento de la base de datos actual. Estos parmetros pueden ser diferir
entre cada base. Se incluyen los puertos de escucha, los derechos de acceso al entorno de diseo, las configuraciones
SQL, etc.
4D ofrece dos modos de funcionamiento para estas propiedades:
Modo estndar, en el cual todos los parmetros se guardan en el archivo de estructura de la base y se aplican en
todos los casos (modo por defecto).
Modo "Propiedades usuario", en el cual parte de los parmetros personalizados se guardan en un archivo externo
que se utiliza en lugar de las propiedades de la estructura. Usted activa este modo utilizando una opcin ubicada en la
Pgina Seguridad de las propiedades de la base.
Este captulo describe cada pgina de las propiedades como se muestra en modo estndar. El modo "propiedades
usuario" se detalla en la seccin Utilizar las propiedades usuario.

La mayora de los parmetros se aplican inmediatamente. Sin embargo, algunos de ellos (tales como el ajuste del entorno
de inicio) slo tienen efecto cuando se reinicia la base. En este caso, aparece una caja de dilogo para informarle que el
cambio tomar efecto la prxima vez que reinicie.
4D Server: los objetos se bloquean cuando dos o ms usuarios intentan modificar las propiedades al mismo tiempo. Slo
un usuario a la vez puede utilizar la caja de dilogo de las Propiedades de la base.
Nota: ofrece otro conjunto de parmetros que se aplican a la aplicacin 4D: las preferencias usuario. Para obtener ms
informacin, consulte el captulo Preferencias.

Acceso

Puede acceder a la caja de dilogo de las Propiedades de la base de estas maneras:


utilizando el comando Propiedades de la base.... del men Diseo,
utilizando el botn correspondiente de la barra de herramientas de ,

con 4D Server, usando el comando Propiedades de la base... del men Edicin.

Nota: en modo "propiedades usuario", dos comandos de men estn disponibles en cada ubicacin:
- Propiedades estructura... equivale al comando Propiedades de la base... en modo estndar
- Propiedades usuario... permite acceder a las propiedades que se pueden almacenar externamente en un archivo
usuario y que se utilizan en lugar de las propiedades estructura si son modificadas.
Para mayor informacin, consulte la seccin Utilizar las propiedades usuario.

Personalizacin de los parmetros y "Reglas de uso"

En las cajas de dilogo de Preferencias y de Propiedades, los parmetros cuyos valores se han modificado aparecen en
negrita:

La modificacin pudo haber sido efectuada en la caja de dilogo o en el caso de una base convertida, provenir de una
preferencia modificada previamente.

Un parmetro todava aparece en negrita, incluso cuando su valor se sustituye de forma manual con los valores por defecto.
De esta manera, siempre es posible identificar visualmente los parmetros que se han personalizado.

Para reinicializar los parmetros a sus valores por defecto y suprimir el estilo negrita que indica que se han personalizado,
haga clic en el botn Configuracin por defecto:

- 42 -
Este botn reinicializa todos los parmetros de la pgina actual. Se activa cuando al menos un parmetro ha sido
modificado en la pgina actual.

- 43 -
Utilizar las propiedades usuario

A partir de 4D v13, usted puede generar un archivo externo con las propiedades personalizadas. Cuando esta funcin est
activa, las propiedades definidas contenidas en el archivo externo (llamadas "propiedades usuario") se utilizan en lugar de
las propiedades almacenadas en el archivo de estructura de la base (llamadas "propiedades estructura").
Esto significa que usted puede guardar la configuracin personalizada entre las actualizaciones de sus aplicaciones 4D, o
que puede gestionar diferentes configuraciones de la misma aplicacin 4D desplegada en varios sitios diferentes. Tambin
hace posible administrar por programacin los archivos de propiedades utilizando XML.

Activar el modo Propiedades usuario

Para poder utilizar la funcionalidad de externalizacin de las propiedades usuario, debe seleccionar la opcin Activar las
preferencias de usuario en un archivo externo, que se encuentra en la Pgina Seguridad de las Propiedades de la
base.
Cuando se selecciona esta opcin, las propiedades de la base se dividen en dos cajas de dilogo: Preferencias de la
estructura y Preferencias de usuario. Puede acceder a estas cajas de dilogo va el men Diseo/Propiedades de la
base> o el botn Propiedades de la barra de herramientas:

Caja de dilogo Propiedades usuario

Cuando el modo externo est activo, las propiedades de la base son accesibles va dos cajas de dilogo: "Preferencias de
la estructura" y "Preferencias de usuario".
La caja de dilogo "Preferencias de la estructura" es idntica a la de las propiedades de la base en modo estndar y
ofrece acceso a todas sus propiedades. La caja de dilogo "Preferencias de usuario" contiene una seleccin de las
propiedades relevantes que se pueden externalizar:

- 44 -
Conforme al principio de prioridad de las propiedades usuario, si una opcin se modifica en esta caja de dilogo, su valor
se tiene en cuenta en lugar del valor almacenado en las propiedades de la estructura.
La siguiente tabla lista las pginas de preferencias presentes en la caja de dilogo "Preferencias de usuario" y describe
sus principales diferencias con respecto a las propiedades estndar:

- 45 -
Pgina de las Propiedades de la base Pginas de las Propiedades usuario
Pgina General No disponible
Pgina Interfaz Idntico a las propiedades estndar
Pgina Compilador No disponible
Pgina Base de datos/Almacenamiento de datos No disponible
Base de datos/Memoria Idntico a las propiedades estndar
Pgina Traslado No disponible
Pgina Backup/Periodicidad No disponible
Pgina Backup/Configuracin No disponible
Backup/Backup y restauracin No disponible
Pgina Cliente-Servidor/Opciones de red Idntico a las propiedades estndar
Pgina Cliente-Servidor/Configuracin IP Idntico a las propiedades estndar
Pgina Web/Configuracin Idntico a las propiedades estndar
Pgina Web/Opciones (I) Idntico a las propiedades estndar
Pgina Web/Opciones (II) Idntico a las propiedades estndar
Pgina Web/Historial (formato) Idntico a las propiedades estndar
Pgina Web/Historial (periodicidad) Idntico a las propiedades estndar
Pgina Web/Web Services Opcin de prefijo de los mtodos no disponible
Pgina SQL Idntico a las propiedades estndar
Pgina PHP Idntico a las propiedades estndar
Pgina Seguridad No disponible
Pgina Compatibilidad No disponible

Archivo de las propiedades usuario

Cuando la opcin Activar preferencias de usuario en archivo externo est seleccionada en las Propiedades de la base,
el archivo de propiedades usuario se crea automticamente y se coloca aqu:

[CarpetaBase]/Preferences/settings.4DSettings

... donde [CarpetaBase] es el nombre de la carpeta que contiene el archivo de estructura de la base.
El archivo de propiedades usuario, en formato XML, se puede leer y modificar mediante los comandos XML integrados de
4D o utilizando un editor XML. Esto significa que usted puede administrar las propiedades por programacin, especialmente
en el contexto de las aplicaciones compiladas y fusionadas con 4D Volume Desktop. Note que al modificar este archivo por
programacin, los cambios slo se tienen en cuenta la prxima vez que abra la base.

- 46 -
Pgina General

Esta pgina contiene varias opciones que permiten configurar los parmetros genricos de la base 4D.

Diseo

Esta rea contiene la opcin Mostrar la barra de herramientas. Cuando est seleccionada, la barra de herramientas de
4D se muestra en el entorno Diseo.

General

Esta rea permite personalizar diferentes opciones relativas al inicio y al funcionamiento de la base.

Modo de inicio
Seleccione el entorno en el cual quiere que la base se abra por defecto: Diseo o Aplicacin. A menos que especifique
otra cosa, por defecto 4D abre la base en el entorno Diseo si no hay contraseas para controlar el acceso.
Nota: la eleccin de apertura de una base en modo compilado o interpretado se efecta en la caja de dilogo de apertura
(consulte el prrafo Abrir una aplicacin local).

Activar comentarios automticos


Esta opcin le permite activar y definir el sistema de comentarios automticos en su base de datos. Estos parmetros se
describen en Utilizar los comentarios.
Nota de compatibilidad: a partir de la versin 12 de 4D, los comentarios insertados en el encabezado de un mtodo
utilizando los caracteres // se muestran como mensajes de ayuda cuando el mtodo se referencia en otro mtodo (ver
"Utilizar los mensajes de ayuda" en WA SET EXTERNAL LINKS FILTERS). Esta funcin, muy til para documentar
mtodos usuario, no es compatible con los comentarios ubicados en el Explorador. Si quiere utilizar los encabezados de los
mtodos para reas de documentacin, no active los comentarios automticos.

Prioridad CPU

La pgina Prioridad CPU permite optimizar el desempeo de la aplicacin 4D al modificar la frecuencia con la cual las
aplicaciones 4D deben cambiar a otras aplicaciones.
En efecto, 4D cohabita con el sistema operativo de la mquina que lo aloja como tambin posiblemente aloja a otras
aplicaciones. Como la arquitectura de los sistemas en los cuales se ejecuta 4D no son multitareas, el sistema pasa a una
aplicacin que luego pasa al sistema y as sucesivamente. Cuando una aplicacin pasa al sistema, indica el tiempo lmite
que quiere dejar a otras aplicaciones.
En funcin de su entorno de trabajo y sus necesidades especficas, puede poner el termmetro de prioridad asignado a la
aplicacin 4D con respecto a las otras aplicaciones que funcionan en la misma mquina. Para una base similar, es posible
definir la prioridad para 4D (modo local), 4D Server y 4D Client por separado. Estos parmetros se almacenan en el archivo
de estructura.
Por defecto, los valores corresponden a los parmetros promedio (cursor ubicado en el centro del termmetro). Los valores
por defecto dan como resultado un consumo de tiempo de mquina de alrededor del 20%. En algunos casos este porcentaje
podra no ser suficiente; si por ejemplo, destina una mquina exclusivamente a su 4D Server, sera un desperdicio utilizar
slo el 20% del tiempo de CPU y dedicar el 80% restante a no hacer nada. En este caso, lo mejor sera aumentar la
prioridad de 4D Server para mejorar su rendimiento. Mientras que en otros casos, podra ser mejor disminuir la prioridad
de 4D Server para dejar ms tiempo a otras aplicaciones.
Notas
Es posible conocer y definir cada parmetro por programacin utilizando los comandos Get database parameter y
SET DATABASE PARAMETER.
Atencin: modificar el valor de estos cursores de manera inapropiada puede conducir a un deterioro en el
desempeo de la aplicacin.

- 47 -
Pgina Interfaz

Utilice la pgina Interfaz para definir las diferentes opciones relacionadas con la interfaz de la base de datos.

General

Esta rea permite personalizar varias opciones de visualizacin en la base.

Fuente a utilizar con el comando MESSAGE


El botn Seleccionar... permite definir la fuente y el tamao de los caracteres utilizados por el comando MESSAGE.
La fuente y el tamao de fuente por defecto dependen de la plataforma de ejecucin de 4D.
Nota: esta propiedad tambin afecta a las siguientes partes de 4D:
ciertas reas de previsualizacin del Explorador,
la regla del El editor de formularios.

Las otras opciones permiten configurar la visualizacin de varias ventanas del modo Aplicacin.
Progresin de la impresin: permite activar o desactivar la visualizacin de la caja de dilogo de progresin de
impresin durante una impresin.
Pantalla de bienvenida: cuando esta opcin est deseleccionada, no aparece la ventana de bienvenida del men
actual en modo Aplicacin (ver la seccin Gestin de las barras de mens). Cuando oculta esta ventana, usted se
encarga de la gestin de visualizacin de todas sus ventanas por programacin, por ejemplo en el Mtodo base On
Startup .
Escritura de la cach: cuando esta opcin est seleccionada, la aplicacin 4D muestra una ventana en la parte
inferior izquierda de la pantalla durante la escritura en disco de la cach de datos "flush". Esta operacin bloquea
momentneamente las acciones de los usuarios, esta ventana les informa que la operacin est en curso:

Nota: puede definir la frecuencia de escritura de la cach en la Base de datos/Memoria de las Propiedades de la
base.

Atajos

El rea Atajos permite ver y modificar los atajos por defecto para tres operaciones bsicas de 4D: aceptar en formularios de
entrada, cancelar en formularios de entrada y aadir a un subformulario. Estos atajos son iguales para ambas plataformas.
Los conos en forma de teclas indican las teclas correspondientes en Windows y Mac OS.
Los atajos por defecto son los siguientes:
Aceptar en formulario de entrada: Intro
Cancelar en formulario de entrada: Esc
Aadir al subformulario: Ctrl+Mays+/ (Windows) o Comando+Mays+/ (Mac OS)

Para modificar el atajo de una operacin, haga clic en el botn Cambiar. Aparece la siguiente caja de dilogo:

- 48 -
Para modificar el atajo, introduzca la nueva combinacin de teclas en su teclado y haga clic en Aceptar. Si prefiere no tener
un atajo para una operacin, haga clic en el botn Borrar.

Lenguajes de derecha a izquierda

El trmino Lenguajes de derecha a izquierda hace referencia a los idiomas que se leen de derecha a izquierda, como los
idiomas rabes.
4D incluye un soporte extendido de los idiomas de derecha a izquierda bajo Windows. Cuando activa el modo derecha a
izquierda, la interfaz de la base de datos 4D (formularios y mens) se invierte automticamente en modo Aplicacin. Este
principio es vlido bajo Windows nicamente. No existe una funcin equivalente bajo Mac OS X.
Esta inversin hace referencia no slo a la direccin de lectura al interior de los objetos de texto, sino tambin a los objetos
grficos, la posicin de los objetos en los formularios, los ttulos y botones de las ventanas, la ubicacin de los mens, etc.
Nota: en las versiones actuales de 4D, el modo inverso no est disponible para la impresin de formularios.
La opcin Inversin de los objetos en entorno Aplicacin se utiliza para activar y configurar el modo derecha a
izquierda a nivel general de la base. Hay tres opciones que se pueden utilizar para configurar la activacin de este modo en
funcin del contexto de ejecucin de la base:
Nunca: cuando esta opcin est seleccionada, la base no pasa automticamente a modo derecha a izquierda,
incluso si el sistema operativo est configurado en este modo. Esta opcin est seleccionada por defecto.
Automtico: cuando esta opcin est seleccionada, la base pasa automticamente a modo derecha a izquierda
cuando el sistema operativo est configurado en este modo (este es el caso, por ejemplo, de la versin rabe de
Windows).
Siempre: cuando esta opcin est seleccionada, la base pasa inmediatamente a modo derecha a izquierda, incluso
si el sistema operativo est configurado en el modo estndar (izquierda a derecha).
Cuando modifica esta opcin, se aplica inmediatamente a la base (despus de validar las Propiedades).
Notas:
Esta preferencia global tambin puede tratarse por programacin utilizando el comando SET DATABASE
PARAMETER.
Cuando el modo derecha a izquierda est activo, es posible desactivar localmente cada formulario (ver el prrafo No
invertir objetos (Windows) en Propiedades de los formularios).
Por defecto, el modo derecha a izquierda no inversa los contenidos de las imgenes en los formularios. Una opcin
adicional permite invertir las imgenes si es necesario (ver el prrafo Efecto espejo para imgenes (Windows) en
Utilizar imgenes estticas).

- 49 -
Pgina Compilador

Esta pgina le permite definir los parmetros a utilizar para la compilacin de la base. Para mayor informacin, consulte el
captulo Compilacin.

Opciones de compilacin

Esta rea agrupa las opciones genricas utilizadas durante el proceso de compilacin.
Control de ejecucin: permite activar/desactivar el control de ejecucin. El control de ejecucin es un anlisis
adicional que permite controlar el cdigo y de acuerdo al estado de los objetos de la base en un momento dado. Para
mayor informacin sobre el control de ejecucin, consulte Control de ejecucin.
Generar el archivo de smbolos: esta opcin permite generar un archivo tipo ASCII que contiene la lista de variables,
su tipo y el mtodo del cual ha sido deducido el tipo. El archivo de smbolos contiene igualmente la lista de sus
mtodos y funciones junto con el tipo de parmetros y el tipo de un eventual resultado.
El archivo se ubica en la carpeta que contiene la estructura de la base y se llama automticamente
NombreBase_symbols.txt.
Para mayor informacin sobre del archivo de smbolos, consulte Archivo de smbolos.
Generar archivo de error: esta opcin permite generar el archivo de errores durante la verificacin de la sintaxis.
Este archivo lista los errores generales, los errores relacionados con una lnea especfica y las advertencias.
Los errores detectados por el compilador son accesibles automticamente en el men Mtodo de 4D. No obstante,
puede ser til tener un archivo de errores que puede ser transferido de una mquina a otra, especialmente cuando hay
varios desarrolladores trabajando en un sistema cliente-servidor.
El archivo de errores se genera en formato XML para facilitar el anlisis automtico de su contenido. Tambin permite
la creacin de interfaces personalizadas de presentacin de errores. El archivo de errores se llama automticamente
NombreBase.xml y se crea junto al archivo de estructura de la base.
Para mayor informacin sobre el archivo de errores, consulte Archivo de errores.
Compilar tambin para los procesadores 64 bits: esta opcin permite compilar la base para los procesadores 64
bits (adems de la compilacin 32 bits). Note que:
4D Server est disponible en versin 64 bits para Windows a partir de la versin 12.1. y para OS X desde la
versin 15.
No es posible compilar en 64 bits una base 4D no convertida a Unicode.
Inicializar las variables locales: esta opcin permite definir el modo de inicializacin de las variables locales al
principio de los mtodos:
a cero: las variables se reinicializan en cero por defecto (cadena vaca para las cadenas de caracteres, 0 para
nmeros...).
a un valor aleatorio: el compilador asigna un valor aleatorio, siempre el mismo, (1919382119 para enteros
largos, True para los booleanos...). Esta opcin permite ubicar variables locales que haya olvidado inicializar.
no: el compilador no inicializa las variables. De esta forma, usted gana tiempo durante la ejecucin de la base de
datos, siempre y cuando su inicializacin sea correcta.
Ruta de compilacin: esta opcin permite definir el nmero de pasadas efectuadas por el compilador y por
consiguiente la duracin de la compilacin.
Asignar tipo a las variables: pasar por todas las etapas que hacen posible la compilacin.
Asignar tipo a las variables de proceso e interproceso: no se efecta la pasada de digitacin para las
variables proceso e interproceso. Esta opcin puede utilizarse cuando haya asignado las variables de proceso e
interproceso bien sea manualmente o utilizando la funcin de la generacin automtica de los mtodos
compilador.
Asignar tipo a todas las variables: no se efecta la pasada de digitacin de las variables locales, proceso e
interproceso. Utilice esta opcin cuando todas las variables proceso, interproceso y locales hayan sido digitadas
claramente.

Digitacin por defecto

Esta rea permite definir el tipo por defecto de los objetos ambiguos de la base.
Numrico: esta opcin permite forzar la digitacin de numricos de una manera inequvoca, bien sea real o entero
largo. No tiene prioridad sobre las directivas que puedan haberse definido en su base. Puede optimizar la ejecucin
de sus bases si elije el tipo Entero largo.
Botn: esta opcin permite forzar la digitacin de los botones de una manera inequvoca, bien sea real o entero
largo. No tiene prioridad sobre las otras directivas que puedan haberse definido en su base. Concierne a los botones
- 50 -
estndar as como a los siguientes objetos: casillas de seleccin, casillas de seleccin 3D, botones inversos, botones
3D, botones imagen, rejilla de botones, botones radio, botones radio 3D, botones radio imagen, mens imagen, mens
desplegables jerrquicos y listas jerrquicas.

Mtodos Compilador para...

Esta rea le permite renombrar los mtodos Compilador generados automticamente por el compilador. Estos mtodos
renen todas las declaraciones de tipo de variables, arrays de proceso e interproceso, as como los mtodos de declaracin
de variables locales. Estos mtodos se generan desde la ventana del compilador. Para mayor informacin, consulte la
seccin Ventana de compilacin.
Se pueden generar hasta 5 mtodos compilador; un mtodo compilador se genera slo si la base contiene los elementos
correspondientes:
Variables: agrupa las declaraciones de variables de proceso;
Variables interproceso: agrupa las declaraciones de los arrays interproceso;
Arrays: agrupa las declaraciones de los arrays de proceso;
Arrays interproceso: agrupa las declaraciones de los arrays interproceso;
Mtodos: agrupa las declaraciones de variables locales designando los parmetros de los mtodos (por ejemplo,
C_LONGINT (mimetodo;$1)).
Puede renombrar cada uno de estos mtodos en las reas correspondientes.
No obstante, siempre estarn precedidos por la etiqueta Compiler_ (no-modificable). El nombre de cada mtodo
(incluyendo el prefijo) debe ser nico y no mayor a 31 caracteres. Los caracteres extendidos (caracteres acentuados,
smbolos tipogrficos, etc.) y los espacios no estn permitidos.

- 51 -
Pgina Base de datos/Almacenamiento de datos

Utilice esta pgina para configurar el almacenamiento de los datos de la base 4D en el disco.

Parmetros generales

No mostrar alerta cuando el archivo de estructura est en modo slo lectura: Cuando abre una base de datos
cuyo archivo de estructura est en modo de solo lectura, 4D muestra una caja de dilogo de alerta indicando el
bloqueo. Si abre la base, toda modificacin realizada al archivo de estructura no se guardar.
En algunos casos, usted podra querer que ninguna caja de dilogo aparezca, por ejemplo, en el caso de las bases de
consulta almacenadas en CD-ROM. En este caso, simplemente seleccione esta opcin.
Permitir slo lectura para el archivo de datos: esta opcin permite configurar el funcionamiento de la aplicacin en
caso de abrir un archivo de datos bloqueado a nivel del sistema operativo.
4D incluye un mecanismo que evita automticamente la apertura de una base de datos cuando su archivo de datos o
uno de sus segmentos, est bloqueado. En este caso, cuando la opcin de deteccin est activada, 4D despliega un
mensaje de alerta y no abre la base de datos:

A menos que esta opcin est seleccionada, no es posible abrir una base cuando su archivo de datos est bloqueado
(funcionamiento por defecto para las bases 4D).

Acerca de los archivos bloqueados: los archivos bloqueados pueden leerse, pero su contenido no es
modificable. Por ejemplo, los archivos estn bloqueados cuando estn almacenados en un medio no
reescribible (como un CD- Rom) o cuando fueron copiados desde uno de este tipo. 4D puede trabajar de
manera transparente con los archivos de datos bloqueados, lo que permite el uso de bases de datos
almacenadas en CD-Rom. Sin embargo, este funcionamiento corre el riesgo del uso involuntario de un
archivo de datos en el cual no se guardarn las modificaciones. Esta es la razn por la cual por defecto 4D no
permite abrir bases de datos con archivos de datos bloqueados.

Ubicacin de la carpeta temporal

Esta rea le permite modificar temporalmente la ubicacin de las carpetas temporales creadas durante la ejecucin de 4D.
La carpeta de archivos temporales es utilizada por la aplicacin, cuando es necesario, para guardar datos en el disco de
manera temporal.
La ubicacin actual de esta carpeta se muestra en el rea Actual:. Puede hacer clic en esta rea para mostrar la ruta de
acceso como una lista desplegable:

Se ofrecen tres opciones de ubicacin:


Sistema: cuando esta opcin est seleccionada, los archivos temporales 4D se crean en una carpeta ubicada en la
ubicacin especificada por Windows y/o Mac OS. Puede buscar la ubicacin actual definida por su sistema utilizando
- 52 -
el comando Temporary folder. Los archivos se ubican en una subcarpeta cuyo nombre est formado por el nombre
de la base y un identificador nico.
Carpeta de archivo de datos (opcin por defecto): cuando esta opcin est seleccionada, los archivos temporales
4D se crean en una carpeta llamada temporary files ubicada en el mismo nivel que el archivo de datos de la base.
Definido por el usuario: permite definir una ubicacin personalizada. En caso de modificacin de esta opcin, ser
necesario reiniciar la base para que se tenga en cuenta la nueva opcin. 4D verifica que la carpeta seleccionada sea
accesible para escritura. Si no es el caso, la aplicacin tratar otras opciones hasta que encuentre una carpeta vlida.
Nota: esta opcin est almacenada en las propiedades adicionales de la estructura, accesibles durante la exportacin
XML de la definicin de estructura (ver Exportar e importar las definiciones de estructura).

Comparacin de texto

Si modifica una de estas opciones, debe salir y reabrir la base para que los cambios se tengan en cuenta. Una vez reabierta
la base, todos los ndices de la base se reindexan automticamente.
Considere @ como comodn nicamente al inicio o al final de las cadenas de caracteres: esta opcin permite
definir cmo interpretar el carcter @ (arroba) cuando se utiliza en una bsqueda o en una comparacin de cadenas
de caracteres, cuando se encuentra en una palabra.
Cuando esta opcin no est seleccionada (valor por defecto), el carcter arroba se considera como un comodn, en
otras palabras, es decir, reemplaza cualquier carcter (ver Carcter comodn (@)).
Cuando la opcin est seleccionada, el carcter arroba se considera como un carcter simple si se encuentra dentro
de una palabra. Esta posibilidad es particularmente til para buscar direcciones de correo electrnico, donde el
carcter @ se utiliza internamente. Esta opcin tiene influencia en bsquedas, ordenaciones, comparaciones de
cadenas de caracteres, como tambin en los datos almacenados en las tablas o en memoria, como arrays. Campos y
variables de tipo alfa (indexados o no) y texto se ven afectados por cmo se interprete el carcter @ en
bsquedas y ordenaciones.
Notas:
En cuanto a las bsquedas, es importante notar que si el criterio de bsqueda comienza o termina con @, el
carcter @ se considerar como un comodn. Slo cuando el carcter @ aparece en el medio de una palabra
(por ejemplo: bill@cgi.com) 4D lo trata de manera diferente.
Esta opcin influye igualmente en el comportamiento de los comandos del tema Objetos (Formularios) que
permiten el uso del carcter (@) en el parmetro Objeto.
Por razones de seguridad, slo el Administrador o el Diseador de la base pueden modificar este parmetro.
Idioma del archivo de datos actual: esta opcin permite configurar el lenguaje utilizado para el procesamiento y
comparacin de las cadenas de caracteres para la base de datos abierta. La eleccin de un lenguaje de comparacin
influye en la ordenacin y la bsqueda de los textos as como tambin si los caracteres estn en maysculas o
minsculas, pero no tiene efecto en la traduccin de textos o en los formatos de las fechas, de hora o moneda, los
cuales permanecen en el lenguaje del sistema. Por defecto, 4D utiliza el lenguaje del sistema.
Una base 4D puede funcionar en un lenguaje diferente al lenguaje del sistema. Cuando una base se abre, el motor 4D
detecta el lenguaje utilizado por el archivo de datos y lo entrega al lenguaje (modo interpretado o compilado). Las
comparaciones de texto, son efectuadas por el motor de base de datos o por el lenguaje, en el mismo lenguaje.
Nota: puede modificar este parmetro en las Preferencias de la aplicacin (ver Pgina General). En este caso, esta
opcin se aplica a todas las nuevas bases creadas por 4D.
Considere slo caracteres no alfanumricos para las palabras claves: modifica el algoritmo utilizado por 4D
para identificar los separadores de palabras claves y crear sus ndices. Por defecto, cuando esta opcin no est
seleccionada, 4D utiliza un algoritmo sofisticado que tiene en cuenta las caractersticas lingisticas. Este algoritmo es
similar al utilizado por los softwares de procesamiento de palabras para determinar los lmites de una seleccin en
caso de doble clic en una palabra. Para mayor informacin sobre este algoritmo, consulte la siguiente direccin:
http://userguide.icu-project.org/boundaryanalysis.
Cuando esta opcin est seleccionada, 4D utiliza un algoritmo simplificado. En esta configuracin, todo carcter no
alfanumrico (es decir que no es ni una letra ni un nmero) se considera como un separador de palabras claves. Este
parmetro responde a las necesidades especficas asociadas a ciertos idiomas tales como el japons.

Soporte de Mecab (versin japonesa)


En sistemas japoneses, 4D soporta la librera Mecab, con un algoritmo de indexacin de palabras clave especialmente
adecuado para el idioma japons.

Este nuevo algoritmo es utilizado por defecto en las versiones japonesas a partir de 4D v14. Los archivos necesarios para la
librera Mecab se instalan en la carpeta mecab de la carpeta Resources para aplicaciones 4D (versiones en japons
nicamente).

Si lo desea, puede desactivar el uso del algoritmo Mecab y utilizar la librera ICU convencional.

Para desactivar Mecab, simplemente seleccione la opcin Considere slo caracteres no alfanumricos para palabras
clave:

- 53 -
Nota: tambin puede desactivar el uso de Mecab borrando o renombrando la carpeta Resources/Mecab de su aplicacin
4D japonesa.

- 54 -
Base de datos/Memoria

Esta pestaa permite configurar la memoria cach para los datos de la base.

Parmetros de la cach para la base

Clculo de la cach adaptativa: cuando esta opcin est seleccionada, la gestin de la memoria cach es
efectuada dinmicamente por el sistema, respetando los lmites definidos. Esto permite la configuracin de una
memoria cach de alto rendimiento que se adapta a la mayora de configuraciones. El tamao de memoria cach se
calcula dinmicamente de acuerdo a los parmetros definidos. Los valores ofrecidos por defecto corresponden a una
utilizacin estndar de 4D.

Memoria fsica a reservar para el sistema y las otras aplicaciones: parte de la memoria RAM a reservar
para el sistema y otras aplicaciones. Este valor puede aumentarse con el fin de optimizar cuando otras
aplicaciones se estn ejecutando en el mismo equipo que 4D.
Porcentaje de memoria disponible para la cach: porcentaje de memoria disponible destinado por defecto a
la memoria cach.
Para obtener el tamao reservado por defecto a la cach, simplemente efecte el siguiente clculo: (memoria
fsica memoria fsica a reservar) x Porcentaje de memoria usada para la cach. En el modo adaptativo, el
tamao de la memoria cach vara dinmicamente en funcin de las necesidades de la aplicacin y del sistema.
Puede definir lmites utilizando las siguientes dos opciones:
Tamao mximo: cantidad mxima de memoria que puede ser utilizada por la cach. Con una versin 32 bits
de 4D y 4D Server, este valor no puede ser superior a 2 000 MB (2 GB). Con 4D Server 64 bits, este valor es
virtualmente ilimitado.
Tamao mnimo: cantidad mnima de memoria que se debe reservar para la cach. Este valor no puede ser
menor de 4 MB.
La definicin de lmites es muy til en bases que se distribuyen sobre mquinas cuya configuracin de memoria no se
conoce a priori. En ese caso, los lmites permiten garantizar un desempeo mnimo en todos los casos. La siguiente
imagen ilustra este funcionamiento:
Ejemplo de clculo de memoria cach:
Memoria fsica a reservar = 256 MB
Porcentaje de la memoria disponible usada para la cach = 50%
Tamao mximo = 1 GB Tamao mnimo = 128 MB

Ejemplos de configuraciones en modo adaptativo


Los siguientes ejemplos muestran las ventajas de tener una memoria cach adaptativa en varias configuraciones de
programas y memoria.
Ordenador con 768 MB de RAM ejecutando un 4D Server nicamente. En este caso, vale la pena asignarle el
mximo de memoria cach:
Memoria fsica a reservar = 256 MB.
Porcentaje de memoria disponible usada para la cach = 100% ya que slo se ejecuta una aplicacin 4D
Server.
- 55 -
Tamao mnimo = 10 MB y Tamao mximo = 1GB (en esta configuracin, estos valores son intiles).
--> Tamao por defecto de la cach: (768 - 256) x 100% = 512 MB
La misma configuracin anterior pero ejecutando tres aplicaciones 4D Server en el ordenador. Usted quiere
asignar una cantidad de memoria cach igual para cada aplicacin.
Slo debe asignar el 33% del Porcentaje de memoria disponible usada para cach a cada servidor.
--> Tamao por defecto de la cach para cada aplicacin: (768 - 256) x 33% = 170 MB
Creacin de una aplicacin ejecutable de distribucin masiva en mltiples configuraciones. Despus de realizar
pruebas, se encontr que la aplicacin funciona mejor con memoria cach entre 20 y 100 MB.
Memoria fsica a reservar = 256 MB.
Porcentaje de memoria disponible usada para la cach = 50% con el fin de dejar memoria disponible para
otras aplicaciones.
Tamao mnimo = 20 MB y Tamao mximo = 100 MB.
--> En una mquina con 256 MB de RAM, 4D utiliza el mnimo de cach = 20 MB
--> En una mquina con 1 GB de RAM, 4D utiliza el mximo de cach = 100 MB
--> En una mquina con 384 MB de RAM, 4D utiliza (384 - 256) x 50% = 64 MB
Clculo de la cach adaptativa no seleccionado: en este modo, usted define el tamao de la memoria cach para
la base. 4D muestra un rea de entrada que permite definir la memoria cach a utilizar como tambin la informacin
relacionada con la memoria fsica (RAM disponible en la mquina), la cach actual y la cach despus de reiniciar
(teniendo en cuenta sus cambios).

El tamao de la memoria cach que introduce se reservar para la base 4D, sin tener en cuenta el estado de los
recursos de la mquina. Este parmetro puede utilizarse en ciertas configuraciones especficas o cuando la base est
diseada para utilizarse en diferentes sistemas en trminos de memoria. En la mayora de casos, la memoria cach
adaptativa ofrece mejor rendimiento.
Conservar la cach en memoria fsica para 4D Server y 4D Volume Desktop
Esta opcin avanzada permite forzar la cach a permanecer en la memoria fsica (RAM) de la mquina cuando la
base es ejecutada por 4D Volume Desktop o 4D Server.
Por defecto la cach puede ser descargada en parte o en totalidad en la memoria virtual de la mquina en caso de que
sea necesario (la memoria virtual es un rea reservada en el disco duro). Como
este mecanismo puede, en algunos casos, alterar sensiblemente el rendimiento de las aplicaciones desplegadas con
4D Server o 4D Volume Desktop, usted puede seleccionar esta opcin para que la cach se mantenga
permanentemente en memoria fsica. Por supuesto, la configuracin de la mquina (tamao de RAM, nmero de
aplicaciones ejecutadas simultneamente, etc.) debe ser compatible con este principio.
Nota: esta opcin no afecta el funcionamiento de las aplicaciones ejecutadas con la aplicacin 4D.
Escritura cach cada minutos: especifica la frecuencia de guardado automtico de la cach de datos, es decir
su escritura en el disco.
4D guarda los datos ubicados en la cach a intervalos regulares. Puede definir un intervalo de tiempo entre 1 y 500
minutos. Por defecto, 4D guarda sus datos cada 15 minutos. La aplicacin tambin guarda todos sus datos en el disco
cuando cambia de entorno o sale de la aplicacin.
Cuando espere la entrada de grandes cantidades de datos, considere definir un intervalo corto. En caso de una falla
de energa, slo perder los datos introducidos despus de la ltima vez que se grab (si la base funciona sin archivo
de historial).
Si cada operacin de escritura de la cach est acompaada de ralentizacin de la base de datos, debe ajustar la
frecuencia. Esa ralentizacin significa que una gran cantidad de datos est siendo guardada. Un intervalo ms corto
sera ms eficiente ya que cada vez habra menos registros que guardar y por lo tanto sera ms rpido.
Por defecto, 4D muestra una pequea ventana durante la escritura de la cach. Si no quiere este recordatorio visual,
puede deseleccionar la opcin Escritura de la cach en la Pgina Interfaz .

- 56 -
Pgina Traslado

La pgina Traslado de las MissingRef permite pre configurar los desplazamientos de objetos en la base en modo Diseo.
4D aplica estos parmetros al soltar/pegar objetos en la base, cuando se utiliza como base de destino.

Acciones por defecto durante la copia de objetos dependientes

Estas opciones permiten configurar el traslado de objetos dependientes, es decir los objetos asociados a los formularios
que se trasladan (ver Presentacin). Puede definir una accin para cada tipo de objeto dependiente.
Estas acciones por defecto se aplican automticamente si el desplazamiento de objetos no provoca conflictos y si la
opcin nicamente en caso de conflicto de nombre est seleccionada (ver la siguiente seccin). De lo contrario, se
seleccionarn por defecto en la caja de dilogo de desplazamiento.
Las acciones Ignorar, Crear (Renombrar si es necesario), Crear (Reemplazar si es necesario) como tambin Utilizar
otro objeto se proponen para cada tipo de objeto. Note que otras acciones contextuales ms especficas se proponen en la
caja de Dilogo de desplazamiento cuando se muestra. Esta es la descripcin de estas opciones:

Ignorar: un objeto dependiente de este tipo nunca se copia en la base de destino. En la caja de dilogo de
desplazamiento, la accin No crear se propone por defecto.
Crear (Renombrar si es necesario): un objeto dependiente de este tipo siempre se copia en la base de destino. En
la caja de dilogo de desplazamiento, la accin Crear se propone por defecto si el objeto no existe en la base de
destino.
En caso de conflicto de nombre con un objeto de la base de destino, el objeto copiado se renombra aadiendo el sufijo
_X, de acuerdo con el principio aplicado a los objetos principales. En este caso, la accin Renombrar se propone
por defecto en la caja de dilogo de desplazamiento.
Crear (Reemplazar si es necesario): un objeto dependiente de este tipo siempre se copia en la base de destino. En
la caja de dilogo de desplazamiento, la accin Crear se propone por defecto si el objeto no existe en la base de
destino.
En caso de conflicto de nombre con un objeto en la base de destino, el objeto copiado reemplaza el objeto existente.
En este caso, la accin Reemplazar se propone por defecto en la caja de dilogo de desplazamiento.
Utilizar otro objeto: esta opcin provoca la visualizacin sistemtica del dilogo de desplazamiento, incluso si la
opcin Mostrar slo en caso de conflicto de nombre est seleccionada. Durante el movimiento de objetos, debe
designar un objeto de la base de destino a utilizar en lugar del objeto dependiente copiado.
Nota: estas opciones slo se tienen en cuenta para los objetos dependientes. Para los objetos desplazados, la accin por
defecto es de tipo Crear (Reemplazar si es necesario).

Mostrar el dilogo de desplazamiento: este men configura la visualizacin de la caja de dilogo de


desplazamiento.
Cuando se selecciona la opcin Siempre, el dilogo aparece cada vez que se muevan objetos, lo cual permite
controlar con ms precisin la operacin. Si la opcin nicamente en caso de conflicto de nombre est
seleccionada, el dilogo slo aparece cuando un objeto trasladado (principal u objeto dependiente) tiene un conflicto
de nombre con un objeto de la base de destino.

- 57 -
Pgina Backup/Periodicidad

Las opciones que se encuentran en esta pestaa le permiten definir y configurar los backups peridicos automticos de la
base. Puede elegir un parmetro estndar rpido o personalizar completamente la periodicidad.
Aparecen diferentes opciones en funcin del valor definido en el men Backup automtico:

Nunca: la funcin de backup programado est inactiva.


Cada hora: programa un backup automtico cada hora, a partir del a prxima hora.
Cada da: programa un backup automtico cada da. Puede indicar la hora cuando el backup debe comenzar.
Cada semana: programa un backup automtico cada semana. Dos reas de entrada adicionales le permiten indicar
el da y la hora cuando debe comenzar el backup.
Cada mes: programa un backup automtico cada mes. Dos reas de entrada adicionales le permiten indicar el da del
mes y la hora cuando debe comenzar el backup.
Personalizado: permite configurar backups automticos "a la medida". Cuando selecciona esta opcin, aparecen
varias reas de entrada adicionales:
Cada X hora(s): permite programar los backups sobre una base horaria. Puede introducir un valor entre 1 y 24.
Cada X da(s) a las x: permite programar backups con una base horaria. Introduzca 1 si quiere efectuar un
backup diario. Cuando seleccione esta opcin, debe indicar la hora a la que debe iniciar el backup.
Cada X semana(s) da a las x: esta opcin permite programar los backups con base semanal. Introduzca 1 si
quiere efectuar un backup por semana. Cuando seleccione esta opcin, debe indicar el da (s) de la semana y la
hora a la que debe comenzar el backup. Puede seleccionar varios das de la semana. Por ejemplo, puede utilizar
esta opcin para definir dos backups semanales: uno el mircoles y otro el viernes.
Cada X meses, X da a las x: esta opcin permite programar backups con base mensual. Introduzca 1 si quiere
efectuar un backup mensual. Cuando seleccione esta opcin, debe indicar el da del mes y la hora a la que debe
comenzar el backup.

Notas sobre los backups en 4D

Para una descripcin detallada de los mecanismos de backup de 4D, consulte el captulo Backup y restauracin de la
aplicacin.
En modo cliente-servidor, los parmetros de backup slo pueden definirse desde el equipo 4D Server.

Gestin de las Propiedades va el archivo Backup.XML


Todas las preferencias de backup y de restitucin de 4D estn disponibles en forma de archivo XML independiente. 4D
utiliza los datos en este archivo para mostrar las opciones en la caja de dilogo de Preferencias y en el momento en que
cada backup comienza.
Es posible leer y modificar los parmetros de backup utilizando los comandos XML de 4D o va el editor XML. Esto permite
a los desarrolladores manejar por programacin los parmetros de backup, especialmente con aplicaciones compiladas y
fusionadas con 4D Unlimited Desktop.
El archivo XML de las preferencias de backup y de restitucin se llama Backup.XML. Se crea automticamente en la
siguiente ubicacin:
CarpetaBase/Preferences/Backup/Backup.XML
... donde CarpetaBase es la carpeta que contiene el archivo de estructura de la base. Las subcarpetas Preferences/Backup/
se crean automticamente si es necesario. La descripcin de las llaves XML asociadas a las preferencias de backup est
en el manual Llaves XML Backup.

- 58 -
Pgina Backup/Configuracin

Las pginas agrupadas en esta pestaa permiten designar los archivos backup y su ubicacin, as como la del archivo de
historial.

Contenido

Esta rea le permite definir cuales archivos y/o carpetas copiar durante la siguiente copia de seguridad.
Archivo de datos: archivo de datos de la base. Cuando esta opcin est seleccionada, el archivo de historial actual
de la base, si existe, se incluye en la copia de seguridad al mismo tiempo que los datos.
Archivo de estructura: archivo de estructura de la base. En casos de bases compiladas y fusionadas con 4D Volume
Desktop, esta opcin permite guardar el archivo .exe bajo Windows y el paquete bajo Mac OS.
Archivo de estructura usuario (opcional): archivo de estructura de usuario de la base, contiene los formularios de
usuario personalizados (donde aplica). Para mayor informacin, consulte el captulo Formularios de usuario.
Archivos adjuntos: esta rea permite especificar un conjunto de archivos y/o carpetas, a incluir en la copia de
seguridad al mismo tiempo que la base de datos. Estos archivos pueden ser de cualquier tipo (documentos o plantillas
plug-in, etiquetas, reportes, imgenes, etc.).
Puede definir archivos individuales o carpetas cuyo contenido har parte de la copia de seguridad. Cada elemento
adjunto aparece con su ruta de acceso completa en el rea Archivos adjuntos.
Borrar: borra el archivo seleccionado de la lista de archivos adjuntos.
Aadir carpeta...: muestra una caja de dilogo que le permite seleccionar un archivo, para adjuntarlo al backup.
En caso de una restauracin, la carpeta se recuperar con su estructura interna. Puede seleccionar toda carpeta
o volumen conectado a la mquina, con excepcin de la carpeta que contiene los archivos del la base.
Aadir archivo...: muestra una caja de dilogo que le permite seleccionar un archivo para aadir al backup.
Para mayor informacin sobre los archivos de bases 4D, consulte Descripcin de los archivos de 4D.

Ubicacin de las copias de seguridad

Esta rea permite ver y cambiar la ubicacin en la cual se almacenarn los archivos de backup as como los archivos de
backup del archivo de historial (si aplica).
Para ver la ubicacin de los archivos, haga clic en el rea con el fin de mostrar su ruta de acceso como men pop-up.
Para cambiar la ubicacin donde se guardan estos archivos, haga clic en el botn [...]. Aparece una caja de dilogo de
seleccin de carpetas, la cual permite seleccionar una carpeta o disco donde se ubicarn los backups. Las reas Espacio
utilizado y Espacio disponible se actualizan automticamente e indican el espacio de disco disponible en el disco de la
carpeta seleccionada.

Gestin del archivo de historial

La opcin Utilizar el archivo de historial, cuando est seleccionada, indica que la base utiliza un archivo historial. Su ruta
de acceso se encuentra debajo de esta opcin. Cuando esta opcin est
seleccionada, no es posible abrir la base de datos sin el archivo historial.
Por defecto, toda base creada con 4D utiliza un archivo de historial: la creacin de este archivo es parte de la estrategia de
backup automtico (consulte Estrategia de backup automtico). El archivo de historial se llama
NombreArchivoDatos.journal y se ubica en la carpeta que contenga la estructura de la base.
La activacin de un nuevo archivo de historial requiere que los datos de la base sean guardados antes en una copia de
seguridad. Cuando seleccione y valide esta opcin, aparecer una caja de dilogo de alerta para informarle que es
necesario realizar un backup:

- 59 -
Si hace clic en Aceptar, el backup comienza inmediatamente despus que el archivo de historial es activado. Si hace clic en
Cancelar, la solicitud se guarda pero la creacin del archivo de registro se posterga y se crear slo despus del siguiente
backup de la base de datos.

Notas sobre los backups en 4D

Para una descripcin detallada de los mecanismos de backup de 4D, consulte el captulo Backup y restauracin de la
aplicacin.
En modo cliente-servidor, los parmetros de backup slo pueden definirse desde el equipo 4D Server.

Gestin de las Propiedades va el archivo Backup.XML


Todas las preferencias de backup y de restitucin de 4D estn disponibles en forma de archivo XML independiente. 4D
utiliza los datos en este archivo para mostrar las opciones en la caja de dilogo de Preferencias y en el momento en que
cada backup comienza.
Es posible leer y modificar los parmetros de backup utilizando los comandos XML de 4D o va el editor XML. Esto permite
a los desarrolladores manejar por programacin los parmetros de backup, especialmente con aplicaciones compiladas y
fusionadas con 4D Unlimited Desktop.
El archivo XML de las preferencias de backup y de restitucin se llama Backup.XML. Se crea automticamente en la
siguiente ubicacin:
CarpetaBase/Preferences/Backup/Backup.XML
... donde CarpetaBase es la carpeta que contiene el archivo de estructura de la base. Las subcarpetas Preferences/Backup/
se crean automticamente si es necesario. La descripcin de las llaves XML asociadas a las preferencias de backup est
en el manual Llaves XML Backup.

- 60 -
Backup/Backup y restauracin

Utilice las opciones de esta pestaa para configurar los parmetros generales de los backups de la base y de las
restauraciones automticas.

Parmetros generales

Esta rea establece diferentes mecanismos a tener en cuenta durante los backups.
Conservar nicamente las ltimas X copias de seguridad: este parmetro permite activar y configurar el
mecanismo utilizado para borrar los archivos de backup ms antiguos, lo cual evita el riesgo de saturacin del disco
duro.
Esta caracterstica funciona as: una vez termina el backup actual, 4D borra el archivo ms antiguo si se encuentra en la
misma ubicacin del archivo al que se le hace backup y tiene el mismo nombre (puede pedir que el archivo ms
antiguo se borre antes del backup para ahorrar espacio).
Si, por ejemplo, el nmero de conjuntos se fija en 3, los primeros tres backups crean los archivos MiBase-0001,
MiBase-0002, y MiBase-0003 respectivamente. Durante el cuarto backup, se crea el archivo MiBase-0004 y se borra
MiBase-0001. Por defecto, el mecanismo para borrar juegos est activado y 4D conserva 3 conjuntos de backups.
Para desactivar el mecanismo, simplemente deseleccione la opcin.
Nota: este parmetro se refiere a los conjuntos de backup de la base y a los del archivo de historial.
Efectuar un backup slo si el archivo de datos ha sido modificado: cuando esta opcin est seleccionada, 4D
inicia los backups programados slo si se han aadido, cambiado o eliminado datos en la base desde el ltimo
backup. De lo contrario, el backup programado se cancela y pospone hasta el prximo backup programado. No se
genera error; sin embargo el diario de backup registra que el backup ha sido pospuesto.
Esta opcin tambin permite ahorrar tiempos de mquina en el backup de las bases principales utilizadas en
consultas. Note que la activacin de esta opcin no tienen en cuenta las posibles modificaciones realizadas al archivo
de estructura o a los archivos adjuntos.
Nota: este parmetro se refiere a los backups de la base y del historial.
Borrar el backup ms antiguo antes/despus del backup: esta opcin slo se utiliza si la opcin Conservar
nicamente las X ltimas copias de seguridad est seleccionada. Esto le permite especificar si 4D debe comenzar
por borrar el archivo ms antiguo antes de efectuar el backup (opcin antes) o si la eliminacin debe ocurrir una vez se
haya efectuado el backup (opcin despus). Para que este mecanismo funcione, el archivo ms antiguo no debe haber
sido renombrado o desplazado.
Si el backup falla: esta opcin permite definir el mecanismo utilizado para manejar backups fallidos (backup
imposible). Cuando no se puede realizar un backup, 4D permite hacer un nuevo
intento.
Nota: 4D considera un backup como fallido si la base no se lanza en el momento en que el backup automtico fue
programado.
Reintentar en la prxima fecha y hora programada: esta opcin slo tiene sentido cuando se trabaja con
backups automticos programados. Cancela el backup fallido y se genera un error.
Reintentar de nuevo dentro de X segundos, minutos u horas: cuando esta opcin est seleccionada, se
hace un nuevo intento de backup despus del periodo de espera. Este mecanismo permite anticipar ciertas
circunstancias que bloquean el backup. Puede definir un periodo de espera en horas, minutos o segundos
utilizando el men correspondiente. Si el nuevo intento tambin falla, se genera un error y la falla se anota en el
rea estado del ltimo backup y en el archivo de diario de backups.
Cancelar la operacin tras X intentos: este parmetro permite definir el mximo nmero de intentos de
backup fallidos.
Si el backup no se ha efectuado con xito despus de alcanzar el nmero mximo de intentos definido, se
cancela y se genera el error 1401 (El mximo nmero de intentos de backup se ha alcanzado; el backup
automtico est desactivado temporalmente). En este caso, no se intentar realizar un nuevo backup automtico
mientras la aplicacin no se reinicie, o se lleve a cabo con xito un backup manual.
Este parmetro es til para evitar un caso de un problema extendido (que necesita de intervencin humana) que
evita que se realice el backup y haga que la aplicacin intente repetidamente el backup en detrimento de su
rendimiento general. Por defecto, este parmetro no est seleccionado.

Archivo

Esta rea permite definir las opciones de generacin de los archivos. Estas opciones aplican a los archivos de backup
principales y a los archivos de backup del historial.

- 61 -
Tamao del segmento (Mb)
4D le permite segmentar archivos, es decir cortar un archivo en tamaos ms pequeos. Esto le permite, por ejemplo,
almacenar un backup en diferentes discos (CDs, ZIPs, etc.). Durante un proceso de restauracin, 4D fusionar
automticamente los segmentos. Cada segmento se llama MiBase[xxxx-yyyy].4BK, donde xxxx es el nmero de backup
y yyyy es el nmero de segmento. Por ejemplo, los tres segmentos del sexto backup de la base MiBase se llamarn
MiBase[0006-0001].4BK, MiBase[0006-0002].4BK y MiBase[0006-0003].4BK.
El men Tamao de segmento es un combo box que permite definir el tamao en MB de cada segmento del backup.
Puede elegir uno de los tamaos predefinidos o introducir un tamao especfico entre 0 y 2048. Si pone 0, no hay
segmentacin (este es el equivalente de poner Ninguno).

Factor de compresin
Por defecto, 4D comprime los backups para ahorrar espacio de disco. Sin embargo, la fase de compresin de
archivos puede volver muy lentos los backups cuando se manejan grandes volmenes de datos.
La opcin Factor de compresin le permite ajustar la compresin:
Ninguno: no se aplica ningn factor de compresin. El backup es ms rpido pero los ficheros son
considerablemente ms grandes.
Rpido (por defecto): esta opcin es constituye un compromiso entre velocidad del backup y tamao del archivo.
Compacto: el factor de compresin mximo se aplica a los archivos.
Los archivos toman el mnimo espacio posible en el disco, pero el backup es mucho ms lento.
Factor de entrelazamiento y Factor de redundancia
4D genera archivos utilizando algoritmos especficos basados en mecanismos de optimizacin (entrelazamiento) y
seguridad (redundancia). Puede establecer estos mecanismos de acuerdo a sus necesidades. Los mens para estas
opciones tambin contienen los factores Bajo, Alto y Ninguno (por defecto).
Factor de entrelazamiento: el entrelazamiento consiste en guardar datos en sectores no contiguos para limitar
los riesgos en caso de dao de los sectores. Entre ms alto el factor, en contraparte el procesamiento de los
datos consume ms memoria.
Factor de redundancia: la redundancia permite asegurar los datos presentes en un archivo al repetir la misma
informacin varias veces. Entre ms alto sea el factor de redundancia, mejor es la seguridad del archivo; sin
embargo, el almacenamiento es lento y el tamao del archivo mayor.

Restauracin Automtica

Estas opciones se utilizan para configurar los mecanismos automticos a tener en cuenta durante la apertura de una base de
datos daada.
Restaurar el ltimo backup si la base de datos est daada: cuando esta opcin est marcada, el programa inicia
automticamente la restauracin del archivo de datos del ltimo backup vlido de la base, si detecta alguna anomala
(por ejemplo un archivo corrupto) durante el lanzamiento de la base. No es necesaria ninguna intervencin por parte del
usuario; la operacin se registra en el diario del backup.
Nota: en el caso de una restauracin automtica, slo se restituye el archivo de datos. Si quiere recuperar los archivos
adjuntos o el archivo de estructura, debe realizar una restauracin manual.
Integrar el ltimo historial si la base est incompleta: cuando esta opcin est seleccionada, el programa integra
automticamente el historial durante la apertura o restauracin de una
base.
Cuando abre una base, el historial actual se integra automticamente si 4D detecta que las operaciones
guardadas en el historial no estn presentes en los datos. Esta situacin se presenta, por ejemplo, cuando ocurre
un corte de energa entonces las operaciones en la cach de datos no se escriben en el disco.
Cuando se restaura una base, si el archivo de historial actual o archivo de backup de historial tienen el mismo
nmero que el archivo de backup guardado en la misma carpeta, 4D examina su contenido. Si contiene
operaciones no presentes en el archivo de datos, lo integra automticamente.
No se le muestra ninguna caja de dilogo al usuario; la operacin es completamente automtica. La meta es hacer que el
uso sea lo ms fcil posible. La operacin se registra en el diario de backup.

Notas sobre los backups en 4D

Para una descripcin detallada de los mecanismos de backup de 4D, consulte el captulo Backup y restauracin de la
aplicacin.
En modo cliente-servidor, los parmetros de backup slo pueden definirse desde el equipo 4D Server.
Gestin de las Propiedades va el archivo Backup.XML
Todas las preferencias de backup y de restitucin de 4D estn disponibles en forma de archivo XML independiente. 4D
utiliza los datos en este archivo para mostrar las opciones en la caja de dilogo de Preferencias y en el momento en que
cada backup comienza.
Es posible leer y modificar los parmetros de backup utilizando los comandos XML de 4D o va el editor XML. Esto permite

- 62 -
a los desarrolladores manejar por programacin los parmetros de backup, especialmente con aplicaciones compiladas y
fusionadas con 4D Unlimited Desktop.
El archivo XML de las preferencias de backup y de restitucin se llama Backup.XML. Se crea automticamente en la
siguiente ubicacin:
CarpetaBase/Preferences/Backup/Backup.XML
... donde CarpetaBase es la carpeta que contiene el archivo de estructura de la base. Las subcarpetas Preferences/Backup/
se crean automticamente si es necesario. La descripcin de las llaves XML asociadas a las preferencias de backup est
en el manual Llaves XML Backup.

- 63 -
Pgina Cliente-Servidor/Opciones de red

Esta pgina agrupa los parmetros relacionados con el uso de la base en modo cliente-servidor. Estas propiedades slo se
tienen en cuenta cuando la base se utiliza en modo remoto.
Los parmetros se agrupan en dos pestaas: Opciones de red y Configuracin IP (Tabla de configuracin Autorizar-
Rechazar).

Red

Publicar la base al inicio


Esta opcin permite indicar si la base 4D Server debe aparecer o no en la lista de bases publicadas en la caja de dilogo
de conexin.
Cuando la opcin est seleccionada (opcin por defecto), la base se vuelve pblica y aparece en la lista de bases
publicadas (pgina TCP/IP).
Cuando la opcin no est seleccionada, la base no se vuelve pblica y no aparece en la lista de bases publicadas.
Para conectarse, los usuarios deben introducir manualmente la direccin de la base en la pgina Personalizado de la
caja de dilogo de conexin.
Nota: si modifica este parmetro, debe reiniciar la base servidor para que sea tenida en cuenta.
Nombre de publicacin
Esta opcin le permite cambiar el nombre de publicacin de una base publicada por 4D Server, es decir, el nombre que se
muestra en la pgina de publicacin dinmica TCP/IP de la caja de dilogo de conexin (ver la seccin Conexin a una
base 4D Server).
Por defecto, 4D Server utiliza el nombre del archivo de estructura de la base. Puede escribir cualquier nombre personalizado
que desee.

Nota: este parmetro no se tiene en cuenta en las aplicaciones cliente-servidor personalizadas. En teora, la aplicacin
cliente se conecta directamente a la aplicacin servidor, sin pasar por la caja de dilogo de conexin. Sin embargo, en caso
de error, esta caja de dilogo aparecer, en este caso, el nombre de publicacin de la aplicacin servidor es el nombre de la
base compilada.

Nmero de puerto
Esta opcin le permite cambiar el nmero de puerto TCP en el que 4D Server publica la base de datos. Esta informacin se
almacena en la estructura de la base y en cada mquina cliente. Por defecto, el nmero de puerto TCP utilizado por 4D
Server y 4D en modo remoto es el 19813.
Personalizar este valor es necesario cuando se desea utilizar varias aplicaciones 4D en el mismo equipo con el protocolo
TCP, en este caso, debe especificar un nmero de puerto diferente para cada aplicacin.
Al modificar este valor desde 4D Server o 4D, se transmite automticamente a todas las mquinas 4D conectadas a la
base. Para actualizar las otras mquinas clientes no conectadas, slo tiene que entrar el nuevo nmero de puerto (precedido
por dos puntos) despus de la direccin IP de la mquina servidor en la pgina Personalizado de la caja de dilogo de
conexin. Por ejemplo, si el nuevo nmero de puerto es 19888:

- 64 -
Nota: slo las bases publicadas en el mismo puerto que el definido en el cliente 4D son visibles en la pgina de publicacin
dinmica TCP/IP.

4D Server y los nmeros de puerto


4D Server utiliza tres puertos TCP para las comunicaciones entre los servidores internos y los clientes:
Servidor SQL: 19812 por defecto (modificable va la pgina "SQL/Configuracin" de las Preferencias).
Servidor de la aplicacin: 19813 por defecto (modificable va la pgina "Cliente-Servidor/Configuracin" de las
Preferencias, ver arriba).
Servidor DB4D (servidor de base de datos): 19814 por defecto. Este nmero de puerto no se puede modificar
directamente, sino que siempre es el nmero del puerto del servidor de la aplicacin + 1.
Cuando un cliente 4D se conecta a 4D Server, se utiliza el puerto TCP del servidor de la aplicacin (19813 o el puerto
indicado despus de los dos puntos ':' en la direccin IP que se muestra en la caja de dilogo de conexin). La
conexin a los otros servidores a travs de sus respectivos puertos es entonces automtica, ya no es necesario
especificarla.
Tenga en cuenta que en el caso de acceso a travs de un router o un firewall, los tres puertos TCP deben estar
abiertos en forma explcita.

Tiempo de inactividad cliente-servidor


Este termmetro permite definir el periodo de inactividad despus del cual la conexin se cierra entre 4D Server y los
equipos clientes conectados a l.
La opcin ilimitado elimina ese periodo. Cuando esta opcin est seleccionada, el control de inactividad del cliente se
desactiva.
Cuando se selecciona un periodo, el servidor cerrar la conexin de un cliente si no recibe ninguna peticin del cliente
durante el tiempo lmite especificado.

Comunicacin Cliente-Servidor

Inscribir los clientes al inicio para ejecutar en cliente


Cuando esta opcin est seleccionada, todos los equipos 4D remotos que se conectan a la base pueden ejecutar los
mtodos remotamente. Este mecanismo se detalla en la seccin Procedimientos almacenados en los equipos clientes.

Encriptar las conexiones cliente-servidor


Esta opcin permite activar el modo SSL (modo de seguridad) para la comunicacin entre el equipo servidor y los posibles
equipos 4D remotos. Esta opcin se detalla en la seccin Encriptar las conexiones cliente-servidor.

Actualizar la carpeta "Resources" durante una sesin


Esta configuracin permite definir globalmente el modo de actualizacin de la instancia local de la carpeta en las mquinas
4D conectadas cuando la carpeta de la base ha sido modificada durante la sesin (la carpeta se sincroniza
automticamente en el equipo remoto cada vez que una sesin se abre). Tres opciones estn disponibles:
- 65 -
Nunca: la carpeta local no se actualiza durante la sesin. La notificacin enviada por el servidor se pasa por alto. La
carpeta local se puede actualizar de forma manual utilizando el comando Update Local Resources.
Siempre: la sincronizacin de la carpeta local se lleva a cabo automticamente durante la sesin cada vez que se
enva la notificacin por el servidor.
Preguntar: cuando se enva la notificacin por el servidor, se muestra una caja de dilogo en las mquinas cliente,
indicando la modificacin. El usuario puede aceptar o rechazar la sincronizacin de la carpeta local.
La carpeta centraliza los archivos personalizados necesarios para la interfaz de la base (archivos de traduccin,
imgenes, etc.) Los mecanismos automticos o manuales permiten notificar a cada cliente cuando el contenido de
esta carpeta se ha modificado. Para mayor informacin, consulte la seccin Gestin de la carpeta Resources.

Abrir la estructura en modo


Esta opcin permite definir el modo de apertura de la estructura de la base para los equipos clientes. Por defecto, est
definido el modo Lectura/Escritura pero tambin puede configurar la apertura en modo Lectura nicamente para evitar
modificaciones en la estructura.

- 66 -
Pgina Cliente-Servidor/Configuracin IP

Tabla de configuracin Autorizar-Rechazar

Esta tabla permite establecer las reglas de control de acceso a la base en funcin de la direccin IP de los equipos 4D
remotos. Esta opcin permite reforzar la seguridad, por ejemplo, para aplicaciones estratgicas.

Nota: esta tabla de configuracin no controla las conexiones web.

El funcionamiento de la tabla de configuracin es el siguiente:


La columna "Autorizar-Rechazar" permite seleccionar el tipo de regla a aplicar (Autorizar o Rechazar) utilizando un
men pop-up. Para agregar una regla, haga clic en el botn Aadir. Una nueva lnea aparece en la tabla. El botn
Eliminar le permite eliminar la lnea actual.
La columna "Direccin IP" permite designar la o las direccin(es) IP, incluidas en la regla. Para especificar una
direccin, haga clic en la columna y escriba la direccin de la forma siguiente: 123.45.67.89.
Puede utilizar un caracter * (asterisco) para especificar las direcciones de tipo "comienza por". Por ejemplo, 192.168 .*
indica todas las direcciones que comienzan por 192.168.
La aplicacin de las reglas se efecta en el orden de visualizacin de la tabla. Si dos reglas son contradictorias, se da
prioridad a la regla ubicada ms arriba en la tabla.
Puede reordenar las lneas modificando la ordenacin actual (haga clic en el encabezado de la columna para alternar
el sentido de ordenacin).
Tambin puede mover lneas mediante arrastrar y soltar.
Por razones de seguridad, slo las direcciones correspondientes a una regla de autorizacin explcita podrn
conectarse.
En otras palabras, si la tabla slo contiene una o ms reglas Rechazar, todas las direcciones sern rechazadas porque
ninguna cumpli al menos una regla. Si desea rechazar slo determinadas direcciones (y permitir otras), aada una
regla Autorizar * al final de la tabla. Por ejemplo:
- Rechazar 192.168.* (rechazar todas las direcciones que comiencen por 192.168)
- Autorizar * (y autorizar todas las dems direcciones)
Por defecto, no se aplican restricciones de conexin por 4D Server: la primera lnea de la tabla contiene la etiqueta
Autorizar y el carcter * (todas las direcciones).

- 67 -
Pgina Web/Configuracin

Las pestaas de la pgina Web permiten configurar mltiples aspectos del servidor web integrado de 4D (seguridad, inicio,
conexiones, servicios web, etc.). Para mayor informacin sobre el funcionamiento del servidor web de 4D, consulte el
captulo Servidor Web del manual Lenguaje de 4D. Para mayor informacin sobre los servicios web de 4D, consulte el
captulo Publicacin y uso de servicios web.

Informacin de publicacin

Lanzar el servidor web al inicio


Indica si el servidor web debe iniciarse al lanzar la aplicacin 4D. Esta opcin se describe en la seccin Configuracin del
servidor web y gestin de conexiones.
Puerto TCP
Por defecto, 4D publica una base web en el puerto TCP estndar, el puerto 80. Si ese puerto ya est siendo utilizado por
otro servicio Web, debe cambiar el puerto TCP utilizado por 4D para esta base. La modificacin del puerto TCP le permite
iniciar el servidor Web 4D bajo Mac OS X sin ser el usuario raz de la mquina (ver la seccin Configuracin del servidor
web y gestin de conexiones).
Para hacer esto, vaya al rea de entrada Puerto TCP e indique el nmero de puerto TCP a utilizar (un nmero de puerto
TCP que no est siendo utilizado por otro servicio TCP/IP en la mquina).
Nota: si pasa 0, 4D utilizar el nmero de puerto TCP por defecto, es decir 80.
A nivel del navegador web, debe incluir ese nmero de puerto TCP personalizado en la descripcin de la direccin utilizada
para conectarse a la base Web. La direccin debe tener un sufijo que consiste en dos puntos seguidos por el nmero de
puerto. Por ejemplo, si utiliza el puerto TCP 8080, debe especificar en el navegador 123.4.567.89:8080.
Advertencia: si utiliza nmeros de puerto TCP diferentes de los nmeros por defecto (80 para el modo estndar y 443 para
el modo SLL), tenga cuidado de no utilizar nmeros de puerto que sean nmeros por defecto para otros servicios que pueda
utilizar simultneamente. Por ejemplo, si piensa utilizar tambin el protocolo FTP en su equipo servidor Web, no utilice los
puertos TCP 20 y 21, los cuales son los puerto por defecto para ese protocolo. Para conocer las asignaciones estndar de
nmeros de puerto TCP, consulte la seccin Anexo B: Nmeros de puertos TCP en la documentacin de 4D Internet
Commands. Los nmeros de puerto inferiores a 256 estn reservados para los servicios estndar y los nmeros 256 a 1 024
estn reservados para los servicios especficos originados en las plataformas UNIX. Para mxima seguridad, especifique un
nmero de puerto superior a estos intervalos, por ejemplo entre 2 000 3 000.
Direccin IP
Puede definir la direccin IP en la cual el servidor web debe recibir las peticiones HTTP. Por defecto, el servidor responde a
todas las direcciones IP (opcin Todos).
La lista desplegable "Direccin IP" lista automticamente todas las direcciones IP disponibles en el equipo. Cuando
selecciona una direccin especfica, el servidor slo responde a las peticiones enviadas a esta direccin.
Esta funcionalidad est destinada a los servidores web 4D ubicados en equipos con mltiples direcciones TCP/IP. Por
ejemplo, el caso de la mayora de los proveedores de alojamiento web (MultiHoming). La implementacin de un sistema
MultiHoming requiere configuraciones especficas en el equipo servidor web:
Configuracin MultiHoming en Mac OS
Para configurar un sistema MultiHoming bajo Mac OS:
1. Abra el panel de control TCP/IP.
2. Seleccione la opcin Manual del men Configuracin.
3. Cree un archivo de texto llamado "Direccin IP secundaria" y gurdelo en la subcarpeta Preferencias de su carpeta
Sistema.
Cada lnea del archivo "Direccin IP secundaria" debe contener una direccin IP secundaria y si es necesario, una
mscara de subred y una direccin de router para la direccin IP secundaria.
Para mayor informacin consulte la documentacin Apple.
Configuracin MultiHoming bajo Windows
Para configurar un sistema MultiHoming bajo Windows:
1. Seleccione las siguientes secuencias de comandos (o sus equivalentes en funcin de su versin de Windows):
- 68 -
Men Inicio > Panel de control > Conexiones de red e Internet> Conexin de rea local (Propiedades) >
Protocolo de Internet (TCP/IP) >
botn Propiedades > botn Opciones avanzadas... Se muestra la caja de dilogo de configuracin "Parmetros
avanzados TCP/IP).
2. Haga clic en el botn Agregar.... en el rea "Direcciones IP" y aada las direcciones IP adicionales.
Puede definir hasta 5 direcciones IP diferentes. Para esta operacin, puede necesitar de la ayuda de un administrador de
redes.

Activar SSL
Indique si el servidor web debe aceptar o no las conexiones seguras. Esta opcin se describe en la seccin Utilizar el
protocolo SSL.
Nmero de puerto HTTPS
Permite modificar el nmero de puerto TCP/IP utilizado por el servidor web para las conexiones HTTP seguras sobre SSL
(protocolo HTTPS). Por defecto, el nmero de puerto HTTPS es 443 (valor estndar).
Puede considerar modificar este nmero de puerto por dos razones principales:
por razones de seguridad, los ataques de piratas contra los servidores web se concentran generalmente en los puertos
TCP estndar (80 y 443).
bajo Mac OS X, para permitir a los usuarios estndar lanzar el servidor web en modo seguro, bajo Mac OS X, el uso
de puertos TCP/IP reservados a la publicacin web (0 a 1023) requiere de privilegios de acceso especficos: slo el
usuario "root" puede lanzar una aplicacin utilizando estos puertos. Para que los usuarios estndar puedan lanzar el
servidor web, una solucin es modificar el nmero de puerto TCP/IP (ver la seccin Configuracin del servidor web
y gestin de conexiones).
Puede pasar todo valor vlido (para evitar restricciones de acceso bajo Mac OS X, debe pasar un valor superior a 1023).
Para mayor informacin sobre los nmeros de puerto TCP, consulte el prrafo "Nmero de puerto TCP".

Autorizar el acceso a la base de datos va los URLs 4DSYNC


Esta opcin de la pgina "Web/Configuracin" de las Propiedades de la base permite controlar el soporte de peticiones que
contienen los URLs /4DSYNC. Estos URLs se utilizan para la sincronizacin de datos a travs de HTTP (para obtener ms
informacin sobre este mecanismo, consulte el prrafo URL 4DSYNC/).

Esta opcin habilita o deshabilita el procesamiento especifico de las peticiones que contienen /4DSYNC:
Cuando no est seleccionada, las peticiones /4DSYNC son considerados como peticiones estndar y no permiten el
procesamiento especfico (el uso de una peticin de sincronizacin provoca el envo de la respuesta tipo "404 - recurso
no disponible").
Cuando se activa, el mecanismo de sincronizacin est activado; las peticiones /4DSYNC se consideran como
peticiones especiales y son procesadas por el servidor HTTP de 4D.
Por defecto:
esta opcin no est seleccionada en bases de datos creadas con 4D a partir de la versin 13.
esta opcin est seleccionada en las bases de datos convertidas de una versin anterior a 4D v13, razones de
compatibilidad. Le recomendamos que la desactive si su aplicacin no utiliza la funcin de replicacin HTTP.
El alcance de esta opcin es local a la aplicacin y el servidor web se debe reiniciar para tenerla en cuenta.

Rutas

Raz HTML por defecto


Permite definir la ubicacin por defecto de los archivos del sitio web e indica el nivel jerrquico en disco sobre el cual no se
podr acceder a los archivos. Esta opcin se describe en la seccin Seguridad de las conexiones.

Pgina de inicio por defecto


Esta opcin permite designar la pgina de inicio por defecto para todos los navegadores que se conectan a la base. Esta
pgina puede ser esttica o semidinmica.
Por defecto, cuando el servidor web se lanza por primera vez, 4D crea una pgina de inicio llamada index.html y la coloca
en la carpeta raz HTML. Si no modifica esta configuracin, todo navegador que se conecte al servidor web obtendr la
siguiente pgina:

- 69 -
Para modificar la pgina web por defecto, puede reemplazarla simplemente por su propia pgina index.html en la carpeta
raz de la base o introducir la ruta de acceso relativa de la pgina que quiere definir el rea Pgina de inicio por defecto.
La ruta de accedo debe establecerse con relacin a la carpeta raz HTML por defecto.
Para asegurar la compatibilidad multiplataforma de sus bases, el servidor web 4D utiliza, para describir las rutas de acceso,
convenciones de escritura particulares. Las reglas de sintaxis son las siguientes:
Las carpetas se separan por una barra oblicua (/)
La ruta de acceso no debe terminar con una barra oblicua (/)
Para subir un nivel en la jerarqua de la carpeta, introduzca .. (Dos puntos) delante del nombre de la carpeta
La ruta de acceso no debe comenzar con una barra oblicua (/)
Por ejemplo, si quiere que la pgina de inicio por defecto sea la pgina MiCasa.htm, ubicada en la carpeta Web (ubicada
en la carpeta raz HTML de la base), introduzca Web/MiCasa.htm.
Nota: tambin puede definir una pgina de inicio por defecto para cada proceso web utilizando la rutina WEB SET HOME
PAGE.
Si no especifica una pgina de inicio por defecto, se llama al Mtodo de base On Web Connection. Es su decisin
procesar la peticin por programacin.

- 70 -
Pgina Web/Opciones (I)

Memoria Cach

El servidor web 4D dispone de una cach que permite cargar en memoria las pginas estticas, las imgenes GIF, las
imgenes JPEG (<100 kb) y las hojas de estilos (archivos .css), a medida en que son solicitadas.
La utilizacin de un cach permite aumentar de manera significativa el rendimiento del servidor web al enviar pginas
estticas.
La cach es comn para todos los procesos web. Puede definir el tamao de la cach en las Preferencias. Por defecto (a
partir de 4D v14 R5), la cach de las pginas estticas est activa para las nuevas bases de datos. Para desactivarla,
simplemente deseleccione la opcin Usar la cach Web de 4D.
Puede modificar el tamao de la cach en el rea Tamao cach de pginas. El valor a definir depende del nmero y
tamao de las pginas estticas de su sitio web, como tambin de los recursos de que dispone el equipo local.
Nota: durante la utilizacin de su base web, puede controlar el desempeo de la cach utilizando la rutina WEB CACHE
STATISTICS. Si por ejemplo, nota que la tasa de utilizacin de la cach es cercana al 100%, puede considerar aumentar el
tamao que se le ha adjudicado.
Los URLs /4DSTATS y /4DHTMLSTATS tambin le permiten obtener informacin sobre el estado de la cach. Consulte la
seccin Informacin sobre el sitio web.
Cuando la cach se activa, el servidor web 4D busca toda pgina esttica solicitada por un navegador primero en la cach.
Si encuentra la pgina, la enva de inmediato. De lo contrario, 4D carga la pgina del disco y la ubica en la cach.
Cuando la cach est llena y se necesita espacio adicional, 4D descarga las pginas menos utilizadas, por orden de
antigedad.

Vaciar la cach
En cualquier momento, puede vaciar la cach de las pginas y de las imgenes que contiene (por ejemplo, si modifica una
pgina esttica y quiere cargarla en la cach).
Para hacer esto, tiene que hacer clic en el botn Vaciar cach. La cach se vaca inmediatamente.
Nota: tambin puede utilizar la URL especial /4DCACHECLEAR.

Proceso web

Timeout de Procesos web


Permite definir el tiempo de espera mximo antes de cerrar (timeout) de los procesos web inactivos en el servidor.

Nmero mximo de procesos web concurrentes


Esta opcin indica el lmite estrictamente superior de procesos web concurrentes de todo tipo (procesos web estndar o
pertenecientes al "grupo de procesos") que se pueden abrir simultneamente en el servidor. Este parmetro permite la
prevencin de la saturacin del servidor 4D como resultado de un nmero masivo de peticiones.

Por defecto, este valor es 32 000. Puede definir el nmero entre 10 y 32 000.
Cuando se alcanza el nmero mximo de procesos web concurrentes (menos uno), 4D no crea ms nuevos procesos y enva
el siguiente mensaje Servidor no disponible (estado HTTP 503 Servicio no disponible) a cada nueva peticin.
Nota: tambin puede definir el nmero mximo de procesos web utilizando el comando WEB SET OPTION.
Cmo determinar el valor a pasar?
En teora, el nmero mximo de procesos web es el resultado de la divisin Memoria disponible/Tamao de la pila de un
proceso web. Otra solucin es visualizar la informacin de los procesos web mostrada en el Explorador de ejecucin: se
indican el nmero actual de procesos web y el nmero mximo alcanzado desde el inicio del servidor web.

Gestin automtica de las sesiones


Activa o desactiva el mecanismo interno para el control automtico de sesiones de usuario por el servidor HTTP de 4D. Este
mecanismo se describe en la seccin Gestin de las sesiones web.

Por defecto, este mecanismo se activa en las bases de datos creadas a partir de 4D v13. Sin embargo, por razones de
compatibilidad, est deshabilitado en bases de datos convertidas a partir de versiones anteriores de 4D. Usted debe
habilitarlo explcitamente para beneficiarse de esta funcionalidad.

Cuando esta opcin est seleccionada, la opcin "Reutilizacin de los contextos temporales" se selecciona
automticamente (y bloqueada).
- 71 -
Reutilizacin de los contextos temporales (4D en modo remoto)
Permite optimizar el funcionamiento del servidor web de 4D en modo remoto reutilizando procesos web creados para el
procesamiento de peticiones web anteriores.
De hecho, el servidor web de un 4D Client necesita un proceso web especifico para la administracin de cada peticin web;
cuando es necesario, este proceso se conecta al equipo 4D Server para acceder a los datos y al motor de la base de datos.
Luego genera un contexto temporal utilizando sus propias variables, selecciones, etc. Una vez procesada la peticin, el
proceso se aborta.
Cuando la opcin Reutilizacin de los contextos temporales est seleccionada, 4D mantiene los procesos web
especficos creados en 4D Client y los reutiliza para las peticiones posteriores. Al eliminar la etapa de creacin del proceso,
mejora el rendimiento del servidor web.
En contraparte, debe asegurarse en este caso de inicializar sistemticamente las variables utilizadas en mtodos 4D para
evitar obtener resultados incorrectos. Igualmente, es necesario borrar las selecciones o registros actuales definidos durante
la peticin anterior.

Contraseas web

Modo BASIC y Modo DIGEST


Puede definir en las preferencias de la base, el sistema de control de acceso que quiere aplicar a su servidor web. Se
ofrecen dos modos de autenticacin: Modo BASIC y modo DIGEST.
El modo autenticacin concierne a la manera como se colecta y procesa la informacin relativa al nombre de usuario y
contrasea.
En modo BASIC, el nombre y la contrasea introducida por el usuario son enviadas sin encriptar en las peticiones
HTTP. Este principio no asegura una seguridad total al sistema ya que la informacin puede ser interceptada y
utilizada por terceros.
El modo DIGEST ofrece un nivel mayor de seguridad ya que la informacin de autenticacin es procesada por un
proceso unidireccional llamado dispersin (hashing) que hace que su contenido sea imposible de descifrar.
Para el usuario, el uso de un modo de autenticacin u otro es transparente.
Notas:
Por razones de compatibilidad, el modo de autenticacin BASIC se utiliza por defecto en las bases 4D convertidas a
versin 11 (si la opcin Utilizar contraseas fue seleccionada en la versin anterior). Debe activar explcitamente el
modo Digest.
La autenticacin Digest es una funcin de HTTP1.1 y no es soportada por todos los navegadores. Por ejemplo, slo
las versiones 5.0 y superiores de Microsoft Internet Explorer aceptan este modo. Si un navegador no soporta esta
funcionalidad enva una peticin a un servidor web cuando se activa la autenticacin Digest, el servidor rechazar la
peticin y devolver un mensaje de error al navegador.
La eleccin del modo de autenticacin se efecta en la pgina Web/Opciones (I) de la caja de dilogo de Propiedades de
la base:

- 72 -
En el rea "Contraseas web", hay tres opciones disponibles:
Sin contraseas: ninguna autenticacin se lleva acabo para la conexin al servidor web. En este caso:
- Si existe el Mtodo de base On Web Authentication, se ejecuta y adems de $1 y $2, slo las direcciones IP del
navegador y del servidor ($3 y $4) son suministradas, el nombre de usuario y la contrasea ($5 y $6) estn vacos. En este
caso, puede filtrar las conexiones en funcin de la direccin IP del navegador y/o de la direccin IP pedida del servidor.
- Si el Mtodo de base On Web Authentication no existe, las conexiones son aceptadas automticamente.

Contraseas con protocolo BASIC: autenticacin estndar en modo BASIC. Cuando un usuario se conecta al
servidor, aparece una caja de dilogo en su navegador permitindole introducir su nombre y su contrasea. Estos dos
valores se envan al Mtodo On Web Authentication junto con los otros parmetros de la conexin (direccin y puerto
IP, URL...) de manera que usted los pueda procesar.
Este modo ofrece acceso a la opcin Incluir contraseas 4D que permite utilizar, en lugar de o en adicin a su
propio sistema de contraseas, el sistema 4D de contraseas de la base (definido en 4D).
Contraseas con protocolo DIGEST: autenticacin en modo DIGEST. Como en modo BASIC, los usuarios deben
introducir su nombre y contrasea cuando se conectan. Estos dos valores son enviados encripatados al Mtodo de
base On Web Authentication con los otros parmetros de la conexin. Debe autenticar un usuario utilizando el
comando Validate Digest Web Password.

Notas:
Debe reiniciar el servidor web para que las modificaciones efectuadas a estos parmetros sean tenidas en cuenta
Con el servidor web de 4D Client, recuerde que todos los sitios publicados por los equipos clientes 4D compartirn la
misma tabla de usuarios. La validacin de los usuarios/contraseas es llevada a cabo por la aplicacin 4D Server.

Modo BASIC: Combinacin de contraseas y del mtodo de base On Web Authentication


Si utiliza el modo BASIC, el sistema de filtro de las conexiones al servidor web de 4D depende de la combinacin de dos
- 73 -
parmetros:
Las opciones de contraseas web en la caja de dilogo de Propiedades de la base,
La existencia del Mtodo de base On Web Authentication.

Estas son las diferentes posibilidades de control de las conexiones:


La opcin Contraseas con protocolo BASIC est seleccionada y la opcin Incluir contraseas 4D no est seleccionada.
Si existe el Mtodo de base On Web Authentication, se ejecuta y todos sus parmetros son dados. Puede filtrar
ms precisamente las conexiones de acuerdo al nombre de usuario, contrasea, y/o a las direcciones IP del
navegador y del servidor web.
Si el Mtodo de base On Web Authentication no existe, la conexin se rechaza automticamente y se enva un
mensaje al navegador indicando que el mtodo de autenticacin no existe.
Nota: si el nombre de usuario enviado es una cadena vaca y si el Mtodo de base On Web Authentication no existe, se
enva al navegador una caja de dilogo de peticin de contrasea.
Las opciones Contraseas con protocolo BASIC e Incluir contraseas 4D estn seleccionadas.
Si el nombre de usuario enviado por el navegador existe en la tabla de usuarios 4D y la contrasea es correcta, la
conexin es aceptada. Si la contrasea es incorrecta, la conexin es rechazada.
Si el nombre de usuario enviado por el navegador no existe en 4D, dos resultados son posibles:
- Si existe el Mtodo de base On Web Authentication, se devuelven los parmetros $1, $2, $3, $4, $5, y $6. Por lo tanto
puede filtrar las conexiones de acuerdo con el nombre de usuario, contrasea, y/o las direcciones IP del navegador y del
servidor web.
- Si el Mtodo de base On Web Authentication no existe, la conexin se rechaza.

Modo DIGEST
A diferencia del modo BASIC, el modo DIGEST no es compatible con las contraseas 4D estndar: no es posible utilizar las
contraseas 4D como identificadores web. La opcin Incluir contraseas 4D est gris cuando se selecciona este modo.
Los identificadores de los usuarios Web deben ser administrados de manera personalizada (por ejemplo, va una tabla).
Cuando el modo DIGEST est activo, el parmetro $6 (contrasea) siempre se devuelve vaco en el Mtodo de base On
Web Authentication. De hecho, cuando se utiliza este modo, esta informacin no pasa por la red como texto claro (no
encriptado). Por lo tanto es imperativo en este caso evaluar la peticin de conexin con la ayuda del comando Validate
Digest Web Password.
El funcionamiento del sistema de acceso al servidor web 4D se resume en el siguiente diagrama:

- 74 -
Usuario web genrico

Puede designar un usuario, previamente definido en la tabla de contraseas de 4D, como Usuario Web Genrico. En este
caso, cada navegador que se conecta a la base puede utilizar las autorizaciones de acceso y las restricciones asociadas
con este usuario. De esta forma puede controlar fcilmente el acceso de los navegadores a las diferentes partes de la base.
Nota: no hay que confundir esta opcin, la cual permite restringir los accesos de los navegadores a las diferentes partes de
la aplicacin (mtodos, formularios, etc.), con el sistema de control de conexiones al servidor web, administrado por el
sistema de contraseas y el Mtodo de base On Web Authentication.
Para definir un Usuario web genrico:
1. En modo Diseo, cree al menos un usuario con el editor de usuarios de la caja de herramientas.
Si quiere puede asociar una contrasea con el usuario.
2. En los diferentes editores de 4D, autorice o restrinja el acceso a este usuario.
- 75 -
3. En la caja de dilogo de Propiedades, elija el tema Web, pgina Opciones (I).
El rea Contraseas Web contiene la lista desplegable Usuario web genrico. Por defecto, el Usuario web genrico es
el Diseador y los navegadores tienen acceso completo a
todas las partes de la base.
4. Elija el usuario en la lista desplegable y valide la caja de dilogo.

Todos los navegadores web autorizados a conectarse a la base se beneficiarn de las autorizaciones de acceso asociadas
al Usuario web genrico (excepto cuando el modo BASIC y la opcin
Incluir contraseas 4D estn seleccionados y el usuario que se conecta no existe en la tabla de contraseas 4D, ver a
continuacin).

Interaccin con el protocolo BASIC


La opcin "Contraseas con protocolo BASIC" no influye en cmo funciona el Usuario Web genrico. Sin importar el estado
de esta opcin, los privilegios y las restricciones de acceso asociados al Usuario Web genrico se aplicarn a todos los
navegadores Web que estn autorizados para conectarse a la base.
Sin embargo, cuando la opcin "Incluir contraseas 4D" est seleccionada pueden presentarse dos posibles resultados:
El nombre y la contrasea del usuario no existen en la tabla de contraseas de 4D. En este caso, si la conexin ha sido
aceptada por el Mtodo de base On Web Authentication, los derechos de acceso del usuario Web genrico sern
aplicados al navegador.
Si el nombre de usuario y contrasea existen la tabla de contraseas de 4D, el parmetro Usuario Web genrico se
ignora. El usuario se conecta con sus propios derechos de acceso.

- 76 -
Pgina Web/Opciones (II)

Conversin de texto

Enviar directamente los caracteres extendidos


Por defecto, el servidor web 4D convierte los caracteres extendidos presentes en las pginas web (dinmicas y estticas) a
los estndares HTML antes de enviarlas. Son interpretados por los navegadores.
Puede configurar el servidor web de manera que los caracteres extendidos sean enviados tal cual, sin convertirlos a
entidades HTML. Esta opcin permite ganar una velocidad importante en los sistemas operativos extranjeros
(especialmente en el sistema japons).
Para hacer esto, seleccione la opcin Enviar directamente los caracteres extendidos.

Juego estndar
La lista desplegable Juego estndar permite definir el juego de caracteres estndar utilizado por el servidor web 4D. Por
defecto, el juego de caracteres es UTF-8.

Conexiones persistentes

El servidor web de 4D puede utilizar conexiones persistentes. La opcin de conexiones persistentes mantiene abierta una
sola conexin TCP para el conjunto de cambios entre un navegador web y el servidor para economizar los recursos y
optimizar las transferencias.
La opcin Usar conexiones persistentes activa o desactiva las conexiones TCP persistentes para el servidor web. Esta
opcin est seleccionada por defecto. En la mayora de los casos, es recomendable conservar esta opcin seleccionada ya
que acelera los intercambios. Si el navegador web no soporta conexiones persistentes, el servidor web 4D automticamente
pasa a HTTP/1.0.

La funcin conexiones persistentes del servidor web de 4D concierne a todas las conexiones TCP/IP (HTTP, HTTPS). Note
sin embargo que las conexiones persistentes no siempre se utilizan para todos los procesos web 4D. En ciertos casos,
pueden invocarse otras funciones de optimizacin del servidor web. Las conexiones persistentes son tiles principalmente
durante el envo de pginas estticas.
Dos opciones le permiten definir el mecanismo de conexiones persistentes:
Nmero de peticiones por conexin: permite definir el nmero mximo de peticiones y respuestas que pueden viajar en
una misma conexin persistente. Limitar el nmero de peticiones por conexin permite evitar los riesgos de saturacin del
servidor va el envo masivo de peticiones (tcnica utilizada por los piratas).
El valor por defecto (100) puede aumentarse o disminuirse dependiendo de los recursos de la mquina que aloja al servidor
web 4D.
Tiempo lmite (segundos): este valor define el tiempo lmite de espera (en segundos) durante el cual el servidor web
mantiene abierta una conexin TCP sin recibir peticiones por parte del navegador web. Una vez terminado este periodo, el
servidor cierra la conexin.
Si el navegador web enva una peticin despus del cierre de la conexin, una nueva conexin TCP se crea
automticamente. Este funcionamiento es transparente para el usuario.

- 77 -
Pgina Web/Historial (formato)

Historial de las peticiones

4D le permite obtener un historial de peticiones.


Este archivo se llama logweb.txt y se ubica automticamente:
con 4D en modo local y 4D Server, en la carpeta Logs ubicada junto al archivo de estructura de la base.
con 4D en modo remoto, en la subcarpeta Logs de la carpeta de base del cliente 4D (carpeta cach).

Activacin y formato

La activacin y la configuracin del contenido del archivo de historial se efecta en las Propiedades de la base, pgina
Web/Historial (formato):

Nota: la activacin y desactivacin del archivo de historial de las peticiones puede igualmente realizarse por programacin
utilizando el comando SET DATABASE PARAMETER (4D v12) o WEB SET OPTION (4D v13 y posteriores).
El men de formato del log ofrece las siguientes opciones:
Sin historial: cuando esta opcin est seleccionada, 4D no generar un archivo de historial de las peticiones.
CLF (Common Log Format): cuando se selecciona esta opcin, el historial de peticiones se genera en formato CLF.
Con el formato CLF, cada lnea de archivo representa una peticin, tal como:
host rfc931 user [DD/MMM/YYYY:HH:MM:SS] "request" state length

Cada campo est separado por un espacio y cada lnea termina en la secuencia CR/LF (carcter 13, carcter 10).
- 78 -
host: direccin IP del cliente (ej. 192.100.100.10)
rfc931: informacin no generada por 4D, es siempre - (un signo menos)
usuario: nombre del usuario tal como se autentica, o de lo contrario - (signo menos). Si el nombre de usuario contiene
espacios, sern reemplazados por _ (un guin bajo)
DD: da, MMM: abreviacin de 3 letras del nombre del mes (Ene, Feb,...), YYYY: ao, HH: hora, MM: minutos, SS:
segundos
La fecha y hora son locales al servidor.
request: peticin enviada por el cliente (ej. GET /index.htm HTTP/1.0)
state: respuesta dada por el servidor.
length: tamao de los datos devueltos (excepto el encabezado HTTP) 0.
Nota: por razones de rendimiento, las operaciones se guardan en un buffer de memoria en paquetes de 1Kb antes de ser
escritas en el disco. Las operaciones tambin estn escritas en el disco si ninguna peticin ha sido enviado cada 5
segundos.
Los posibles valores del estado son los siguientes:
200: OK
204: Sin contenido
302: Redireccin
304: No modificado
400: Autenticacin incorrecta
401: Autenticacin necesaria
404: No encontrada
500: Error interno
El formato CLF no puede personalizarse.
DLF (Combined Log Format): cuando se selecciona esta opcin, el historial de peticiones se genera en el formato
DLF. El formato DLF es similar al formato CLF y utiliza exactamente la misma estructura. Simplemente contiene dos
campos HTTP adicionales al final de cada peticin: Referer y User-agent.
- Referer: contiene el URL de la pgina que apunta al documento solicitado.
- User-agent: contiene el nombre y la versin del navegador o del paquete cliente en el origen de la peticin.
El formato DLF no puedes personalizarse.
ELF (Extended Log Format): cuando esta opcin est seleccionada, el historial de peticiones se genera en formato
ELF. El formato ELF est ampliamente expandido en el mundo de los navegadores HTTP. Puede utilizarse para crear
historiales sofisticados, que respondan a necesidades especficas. Por esta razn, el formato ELF es personalizable:
es posible elegir los campos a grabar as como el orden de insercin en el archivo.
WLF (WebStar Log Format): cuando se selecciona esta opcin, el historial de peticiones se genera en formato WLF.
El formato WLF fue desarrollado especficamente por el servidor 4D WebSTAR. Es similar al formato ELF, con slo
unos pocos campos adicionales. Al igual que el formato ELF, es personalizable.
Configurar los campos
Cuando elige el formato ELF (Extended Log Format) o WLF (WebStar Log Format), el rea Formato personalizado del
historial Web muestra los campos disponibles para el formato. Debe seleccionar cada campo a incluir en el historial. Para
hacerlo, utilice los botones de flecha o simplemente arrastre y suelte los campos que quiere al rea Campos
seleccionados.
Nota: no es posible seleccionar el mismo campo dos veces.
La siguiente tabla lista los campos disponibles para cada formato (en orden alfabtico) y describe sus contenidos:

- 79 -
Campo ELF WLF Valor
BYTES_RECEIVED X Nmero de bytes recibidos por el servidor
BYTES_SENT X X Nmero de bytes enviados por el servidor al cliente
C_DNS X X Direccin IP del DNS (ELF: campo idntico al campo C_IP)
C_IP X X Direccin IP del cliente (por ejemplo 192.100.100.10)
CONNECTION_ID X Nmero nico de la conexin
CS(COOKIE) X X Informacin sobre las cookies contenidas en al peticin HTTP
CS(HOST) X X Campo Host de la peticin HTTP
CS(REFERER) X X URL de la pgina que apunta al documento solicitado
CS(USER_AGENT) X X Informacin sobre el software y el sistema operativo del cliente
CS_SIP X X Direccin IP del servidor
CS_URI X X URI en la cual la peticin se efecta
CS_URI_QUERY X X Parmetros de bsqueda de peticiones
CS_URI_STEM X X Parte de la peticin sin los parmetros de bsqueda
DATE X X DD: da, MMM: abreviacin de 3 letras para el mes (Ene, Feb, etc.), YYYY: ao
METHOD X X Mtodo HTTP utilizado para la peticin enviada al servidor
PATH_ARGS X Parmetros de la CGI: cadena ubicada despus del carcter $
STATUS X X Respuesta ofrecida por el servidor
TIME X X HH: hora, MM: minutos, SS: segundos
TRANSFER_TIME X X Tiempo solicitado por el servidor para generar la respuesta
USER X X Nombre del usuario si es autenticado; de lo contrario - (signo menos).
Si el nombre de usuario contiene espacios, se reemplazan por _ (guiones bajos)
URL X URL solicitada por el cliente
Nota: fechas y horas dadas en GMT.

- 80 -
Pgina Web/Historial (periodicidad)

Parmetros de los backups

Los parmetros de backup automtico del historial de peticiones se definen en la pgina Web/Historial (periodicidad) de las
Propiedades de la base:

Primero debe elegir la frecuencia (das, semanas, etc.) o el criterio de tamao limite del archivo haciendo clic en el botn
correspondiente. Luego debe especificar el momento preciso para realizar el backup si es necesario.
Sin backup: la funcin de backup programado est desactivada.
Todos los X hora(s): esta opcin se utiliza para programar backups a determinadas horas. Puede introducir un valor
entre 1 y 24 .
- a partir de: utilizado para definir la hora a la cual comenzar el primer backup.

Todos los X da(s) a las X: esta opcin se utiliza para programar backups diarios. Introduzca 1 si quiere realizar un
backup diariamente. Cuando esta opcin est seleccionada, debe indicar la hora a la cual debe comenzar el backup.
Todos los X semana(s), da a las X: esta opcin permite programar backups basados en semanas. Introduzca 1 si
quiere realizar un backup semanalmente. Cuando esta opcin est seleccionada, debe indicar el (los) da(s) de la
semana y la hora a la cual el backup debe comenzar. Puede seleccionar varios das de la semana si lo desea. Por
ejemplo, puede utilizar esta opcin para definir dos backups a la semana: uno el mircoles y el otro los viernes.
Todos los X mes(es), X da a las X: esta opcin se utiliza para programar backups basados en meses. Introduzca 1
si quiere realizar un backup mensual. Cuando esta opcin est seleccionada, debe indicar el da del mes y la hora a la
que el backup debe comenzar.

- 81 -
Todos los X MB: esta opcin se utiliza para programar backups basados en el tamao del archivo de historial de
peticiones actual. Un backup se dispara automticamente cuando el archivo alcanza el tamao definido. Puede definir
un tamao lmite de 1, 10, 100 o 1000 MB.
Nota: en el caso de los backups programados, si el servidor web no fue lanzado en el momento del backup programado, en
el siguiente inicio 4D considera el backup como fallido y aplica los parmetros apropiados, definidos en las Propiedades.

- 82 -
Pgina Web/Web Services

Las opciones de esta pgina permiten activar y configurar los servicios web de la base 4D, para su publicacin (servidor) y
suscripcin (cliente).
Para mayor informacin sobre el soporte de los servicios web en 4D, consulte el captulo Publicacin y uso de servicios
web.

Servidor

Esta rea muestra las opciones relacionadas con el uso de 4D como un servidor de servicios web, publicando mtodos
proyecto en forma de servicios web.
Permitir solicitudes de servicios web: esta opcin permite inicializar la publicacin de servicios web. Si esta
opcin no est seleccionada, 4D rechaza las peticiones SOAP y no genera un WSDL, an cuando los mtodos tengan
el atributo Ofrecido como Servicio web. Cuando esta opcin est seleccionada, 4D crea el archivo WSDL.
Nombre del servicio web: esta rea permite modificar el nombre genrico del servicio web. Este nombre diferencia
los servicios a nivel del servidor SOAP (cuando el servidor publica varios servicios web diferentes) as como en los
directorios de servicios web. Por defecto, 4D utiliza el nombre A_WebService.
Espacio de nombres de los servicios web: esta rea permite cambiar el espacio de nombres de los servicios web
publicados por 4D.
Cada servicio web publicado en Internet debe ser nico. La unicidad de los nombres de los servicios web se asegura
con el uso de espacios de nombres XML. Un espacio de nombres es una cadena de caracteres arbitraria utilizada
para identificar de forma nica un conjunto de etiquetas XML. Generalmente, el espacio de nombres comienza por el
URL de la empresa (http://miEmpresa.com/miEspacioDeNombres). En este caso, no es indispensable tener algo en
particular en la URL definida; lo que realmente importa es que la cadena de caracteres utilizada sea nica.
Por defecto, 4D utiliza el espacio de nombres: http://www.4d.com/namespace/default.
Nota: conforme a la norma XML estndar para nombres de etiquetas, a cadena de caracteres utilizada no debe
contener espacios ni comenzar por un nmero. Adems, para evitar todo riesgo de incompatibilidad se recomienda no
utilizar caracteres extendidos (tales como los caracteres acentuados).

Cliente

Esta rea contiene varias opciones relacionadas con el uso de 4D como cliente de servicios web, suscribindose a
servicios web publicados en la red.
Prefijo de los mtodos creados por el asistente: esta rea permite modificar el prefijo aadido automticamente
por 4D al nombre de los mtodos proxy generados por el asistente de servicios web. Los mtodos de proyecto proxy
constituyen un enlace entre la aplicacin 4D y el servidor de servicios web.
Por defecto, 4D utiliza el prefijo proxy_.

- 83 -
Pgina Web/REST

Esta pgina contiene las opciones que se utilizan para activar y controlar los accesos 4D Mobile (va REST) a la base 4D.

Los accesos 4D Mobile permiten a las aplicaciones Wakanda acceder directamente a los datos de su base.

Para obtener ms informacin, consulte el manual 4D Mobile.

Activar los servicios 4D Mobile

Por razones de seguridad, por defecto, 4D no responde a las peticiones 4D Mobile (va REST). Si desea utilizar esta
funcionalidad, se debe seleccionar la opcin Activar los servicios 4D Mobile para que las peticiones sean procesadas y el
conector 4D/Wakanda pueda implementarse.

Nota: los servicios 4D Mobileutilizan el servidor HTTP de 4D, por lo que necesita asegurarse de que el servidor Web de 4D
o 4D Server se haya iniciado.

El mensaje de advertencia "Precaucin, verifique los derechos de acceso" se muestra cuando se marca esta opcin para
llamar su atencin sobre el hecho de que cuando los servicios 4D Mobile se activan, por defecto el acceso a los objetos de
la base es libre, mientras que los accesos 4D Mobileno hayan sido configurados.

Acceso Lectura/Escritura

Esta opcin especifica el grupo de usuarios 4D que est facultado para establecer la conexin al servidor 4D desde la
aplicacin Wakanda.

Por defecto, el men muestra <Cualquiera>, lo que significa que los accesos 4D Mobile estn abiertos a todos los usuarios.
Una vez que haya especificado un grupo, slo una cuenta de usuario 4D que pertenezca a este grupo se puede utilizar para
acceder a 4D por medio de una solicitud 4D Mobile, en particular, para abrir una sesin en el servidor 4D utilizando el
mtodo mergeOutsideCatalog(). Si se utiliza una cuenta que no pertenece a este grupo, 4D devuelve un error de
autenticacin al remitente de la solicitud.

Tenga en cuenta que para que esta configuracin surta efecto:


el sistema de contraseas de 4D se debe activar (una contrasea que haber sido asignada al Diseador, ver Activar
el control de acceso),
el comando Mtodo base On 4D Mobile Authentication no debe definirse. Si existe, 4D no tiene en cuenta la
configuracin de acceso definidos en las Propiedades de la base.

- 84 -
Pgina SQL

Esta pgina permite configurar los parmetros de publicacin por defecto y los accesos del servidor SQL integrado de 4D,
como tambin las opciones relacionadas con el funcionamiento del motor SQL de 4D. Para mayor informacin sobre SQL
en 4D, consulte Utilizar SQL en 4D en el manual Reference SQL.

Preferencias de publicacin del servidor SQL

Es posible configurar los parmetros de publicacin del servidor SQL integrado de 4D. Estos parmetros se encuentran en
la pgina SQL de las Propiedades de la base:
La opcin Lanzar el servidor SQL al inicio permite iniciar el servidor SQL al inicio de la aplicacin.
Puerto TCP: por defecto, el servidor SQL de 4D responde a las peticiones en el puerto TCP 19812. Si este puerto ya
est siendo utilizado por otro servicio o si sus parmetros de conexin requieren de otra configuracin, puede cambiar
el puerto TCP utilizado por el servidor SQL de 4D.
Nota: si pasa 0, 4D utilizar el nmero de puerto TCP por defecto, es decir 19812.
Direccin IP: permite definir la direccin IP de la mquina en la que el servidor SQL debe procesar las consultas SQL.
Por defecto, el servidor responder a todas las direcciones IP (opcin Todas).
La lista desplegable "Direccin IP" contiene automticamente todas las direcciones IP presentes en la mquina.
Cuando se selecciona una direccin en particular, el servidor slo responder a las consultas enviadas a esta
direccin.
Esta funcionalidad est dirigida a las aplicaciones 4D alojadas en mquinas con varias direcciones TCP/IP.
Nota: en el lado del cliente, la direccin IP y el puerto TCP del servidor SQL para que la aplicacin se conecte deben
estar correctamente configurados en la definicin de la fuente de datos ODBC.
Activar SSL: esta opcin indica si el servidor SQL debe activar el protocolo SSL para el procesamiento de las
conexiones SQL.
Note que cuando este protocolo est activo, la palabra clave ":ssl" debe aadirse al final de la direccin IP del servidor
SQL cuando abra una conexin va el comando SQL LOGIN.
Por defecto, el servidor SQL utiliza los archivos internos para la llave y certificado SSL.
Sin embargo puede utilizar los elementos personalizados: para hacer esto, slo copie sus propios archivos
key.pem y cert.pem en la siguiente ubicacin: MiBase/Preferencias/SQL (donde "MiBase" representa la
carpeta/paquete de la base).
Autorizar las peticiones Flash Player: esta opcin permite activar el mecanismo de soporte a las solicitudes Flash
Player por el servidor SQL de 4D. Este mecanismo se basa en la presencia de un archivo, llamado "socketpolicy.xml,"
en la carpeta preferencias de la base (Preferencias/SQL/Flash/). Este archivo es requerido por Flash Player para
permitir conexiones entre dominios o conexiones por tomas de aplicaciones Flex (Web 2.0).
En la versin anterior de 4D, este archivo se tena que agregar manualmente. A partir de ahora, la activacin se realiza
utilizando la opcin Autorizar las peticiones Flash Player: al activar esta opcin, las peticiones Flash Player son
aceptadas y un archivo "socketpolicy.xml" genrico se crea para la base si es necesario.
Nota: es posible definir la codificacin utilizada por el servidor SQL para el procesamiento de solicitudes externas
utilizando el comando 4D SQL SET OPTION.

Control del acceso SQL para el esquema por defecto

Por razones de seguridad, es posible controlar las acciones que las consultas externas enviadas al servidor SQL pueden
realizar en la base de datos 4D. Este control se efecta en dos niveles:
A nivel del tipo de accin autorizada,
A nivel del usuario que efecta la consulta.
Estos ajustes se pueden hacer en la pgina SQL de las Propiedades de la base.
Nota: puede utilizar el Mtodo de base On SQL Authentication para controlar de manera personalizada las peticiones
externas al motor SQL de 4D.
Los parmetros definidos en esta caja de dilogo se aplican al esquema por defecto. El control de los accesos externos a la
base se basan en el concepto de esquemas SQL (ver la seccin Implementaciones del motor SQL de 4D). Si no crea
esquemas personalizados, el esquema por defecto incluye todas las tablas de la base. Si crea otros esquemas con los
derechos de acceso especficos y los asocia con las tablas, el esquema por defecto slo incluir las tablas que no estn
incluidas en los esquemas personalizados.
Puede configurar tres tipos distintos de acceso al esquema por defecto va el servidor SQL:
- 85 -
Slo lectura (datos): acceso ilimitado en lectura a todos los datos de las tablas de la base pero no est permitido
agregar, modificar o eliminar registros, ni modificar la estructura de la base.
Lectura/escritura (datos): acceso en lectura y escritura (aadir, modificar y borrar) a todos los datos de las tablas de
base, pero no la modificacin de la estructura de la base.
Completo (datos y estructura): acceso en lectura y escritura (aadir, modificar y borrar) a todos los datos de las
tablas de la base, as como a la modificacin de la estructura de la base (tablas, campos, relaciones, etc.).
Puede designar un conjunto de usuarios para cada tipo de acceso. Hay tres opciones disponibles para este propsito:
<Persona>: si selecciona esta opcin, el tipo de acceso ser rechazado para todas las consultas,
independientemente de su origen. Este parmetro se puede utilizar incluso cuando el sistema de gestin de acceso
por contraseas de 4D no est activo.
<Todos>: si selecciona esta opcin, el tipo de acceso se aceptar para todas las consultas (sin lmites).
Grupo de usuarios: esta opcin permite designar un grupo de usuarios autorizados a efectuar el tipo de acceso
asociado. Esta opcin requiere que la gestin de contraseas de 4D est activada. El usuario al origen de las
consultas da su nombre y contrasea durante la conexin al servidor SQL.
ADVERTENCIA: cada tipo de acceso est definido de forma independiente de los dems. Ms especficamente, si slo
asigna el tipo de acceso Slo lectura a un grupo esto no tendr ningn efecto ya que este grupo, as como tambin todos
los dems van a seguir beneficindose del acceso Lectura/escritura (asignado a <Todo el mundo> de forma
predeterminada). Con el fin de definir un acceso Slo lectura, tambin es necesario el acceso Lectura/escritura.
ADVERTENCIA: este mecanismo se basa en las contraseas de 4D. Para que el control de acceso al servidor SQL tenga
efecto, el sistema de contraseas de 4D debe estar activo (una contrasea debe asignarse al Diseador).
Nota: una opcin de seguridad adicional puede establecerse a nivel de cada mtodo de proyecto 4D. Para obtener ms
informacin, consulte el prrafo "Opcin Disponible va SQL" en la seccin Implementaciones del motor SQL de 4D

Opciones motor SQL

Transacciones Auto-commit: esta opcin permite activar el mecanismo de auto-commit en el motor SQL. El
propsito del modo auto-commit es preservar la integridad referencial de los datos. Cuando esta opcin est
seleccionada, toda bsqueda SELECT, INSERT, UPDATE y DELETE (SIUD) no efectuada dentro de una
transaccin se incluye automticamente en una operacin ad hoc. Esto garantiza que las consultas se ejecutarn en su
totalidad o en caso de error, se cancelarn por completo.
Las consultas incluidas en una transaccin (gestin personalizada de la integridad referencial) no se vern afectadas
por esta opcin.
Cuando esta opcin no est seleccionada, no se genera transaccin automtica (excepto para las consultas
SELECT... FOR UPDATE, consulte el comando SELECT). Por defecto, esta opcin no est seleccionada.
Tambin puede administrar esta opcin por programacin utilizando el comando SET DATABASE PARAMETER.
Nota: slo las bases locales consultadas por el motor SQL de 4D se ven afectadas por este parmetro. En el caso de
las conexiones externas a otras bases de datos SQL, el mecanismo de auto-commit es manejado por los motores
SQL remotos.
Tener en cuenta las maysculas y minsculas en las comparaciones de cadenas: esta opcin permite
modificar la sensibilidad a las maysculas y minsculas de los caracteres en las consultas SQL. Est seleccionada por
defecto, lo que significa que el motor SQL diferencia entre maysculas y minsculas, as como tambin entre
caracteres acentuados cuando se comparan cadenas (ordenaciones y bsquedas). Por ejemplo, "ABC" = "ABC", pero
"ABC" # Abc "."
En algunos casos, por ejemplo para alinear el funcionamiento del motor SQL con el del motor 4D, es posible que
desee que las comparaciones de cadenas no sean sensibles a las maysculas ("ABC" = "Abc"). Para ello, slo tendr
que deseleccionar esta opcin.
Tambin puede administrar esta opcin por programacin utilizando el comando SET DATABASE PARAMETER.

- 86 -
Pgina PHP

4D le permite ejecutar directamente scripts PHP configurando la pgina PHP de las Propiedades de la base (ver Ejecutar
scripts PHP en 4D en el manual Lenguaje 4D).

Intrprete

Direccin IP y Nmero de puerto


Por defecto, 4D ofrece un intrprete PHP compilado en FastCGI. Por razones relacionadas con la arquitectura interna,
las peticiones de ejecucin se envan al intrprete PHP a una direccin HTTP especfica. Por defecto, 4D utiliza la
direccin 127.0.0.1 y el puerto 8002. Puede cambiar esta direccin y/o puerto si ya estn siendo utilizados por otro
servicio o si tiene varios intrpretes en la misma mquina. Para hacer esto, modifique los parmetros Direccin IP y
Nmero de puerto.
Note que la direccin HTTP debe estar en la misma mquina que 4D.
Intrprete externo
Si utiliza un intrprete PHP externo, debe ser compilado en FastCGI y estar en la misma mquina que 4D (ver Uso de
otro intrprete PHP o de otro archivo php.ini file en Ejecutar scripts PHP en 4D).
Seleccione esta opcin con el fin de que 4D no intente una conexin con el intrprete interno cuando se ejecute una
peticin PHP. Note que esta configuracin necesita la ejecucin y control del intrprete externo.
4D Server: estosparmetros son compartidos entre 4D Server y los equipos remotos 4D, por lo tanto no es posible utilizar
un intrprete externo en el equipo servidor y simultneamente utilizar el intrprete interno en los equipos clientes (y
viceversa). Igualmente, si el servidor utilizar un intrprete externo en el puerto 9002, los equipos clientes deben tambin
utilizar un intrprete en este puerto.

Opciones

Estas opciones estn relacionadas con la gestin automtica del intrprete PHP de 4D y se desactivan cuando la opcin
Intrprete externo est seleccionada.
Nmero de procesos: el intrprete PHP de 4D dirige un conjunto de procesos de ejecucin sistema llamados
"procesos hijos". Por razones de optimizacin, por defecto puede lanzar y mantener hasta cinco procesos hijos
simultneamente. Puede modificar el nmero de procesos hijo de acuerdo a sus necesidades. Por ejemplo, puede
aumentar este valor si llama intensivamente al intrprete PHP. Para mayor informacin, consulte la seccin
Arquitectura en Ejecutar scripts PHP en 4D.
Nota: bajo Mac OS, todos los procesos hijos comparten el mismo puerto. Bajo Windows, cada proceso hijo utiliza un
nmero de puerto especfico. El primer nmero es el definido por el intrprete PHP; los otros procesos hijos
incrementan este nmero. Por ejemplo, si el puerto por defecto es 8002 y lanza 5 procesos hijos, utilizarn los puertos
8002 a 8006.
Reiniciar el intrprete despus de X peticiones: permite definir el nmero mximo de peticiones aceptadas por el
intrprete PHP de 4D. Cuando este nmero se alcanza, se reinicia el intrprete. Para mayor informacin sobre este
parmetro, consulte la documentacin de FastCGI-PHP.
Nota: en esta caja de dilogo, los parmetros se definen por defecto para todos los equipos conectados y para todas
las sesiones. Tambin puede modificarlos y leerlos por separado para cada equipo y cada sesin va los comandos
SET DATABASE PARAMETER y Get database parameter. Los parmetros modificados por el comando SET
DATABASE PARAMETER tienen prioridad para la sesin actual.

- 87 -
Pgina Seguridad

Esta pgina contiene las opciones relacionadas con el acceso y proteccin de los datos para su base.

Gestin de accesos

Acceso Diseo: permite al grupo de usuarios especificado acceder al modo Diseo de la base.
Note que:
La definicin de un grupo de acceso en el entorno Diseo tambin permite igualmente desactivar la opcin
Crear una tabla de la caja de dilogo de importacin de datos. Para mayor informacin sobre esta caja de
dilogo, consulte Importar datos de archivos.
El Diseador y el Administrador siempre tienen acceso al entorno Diseo, incluso si no forman parte explcita del
grupo de acceso especificado.
Para mayor informacin sobre los controles de acceso en 4D, consulte el captulo Usuarios y grupos.

Filtrado de los comandos y mtodos proyecto en el editor de frmulas:


Por razones de seguridad, 4D restringe por defecto el acceso a los comandos, funciones y mtodos de proyecto en el
en modo Aplicacin: slo se pueden utilizar algunas funciones 4D y mtodos proyecto que se han declarado
explcitamente utilizando el comando SET ALLOWED METHODS. Puede cancelar total o parcialmente este filtrado
utilizando las siguientes opciones.
Activado para todos: el acceso a los comandos, funciones y mtodos proyecto est restringido para todos los
usuarios en modo Aplicacin, incluyendo el Diseador y el Administrador.
Desactivado para el Diseador y el Administrador: esta opcin otorga al Diseador y al Administrador
nicamente acceso completo a los comandos 4D y a los mtodos en el editor de frmulas. Permite establecer un
modo de acceso ilimitado a comandos y mtodos mientras conserva el control de las operaciones efectuadas.
Durante la fase de desarrollo, este modo permite probar libremente todas las frmulas, informes, etc. Durante la
operacin, se puede utilizar para establecer soluciones seguras que permitan el acceso a comandos y mtodos
de manera temporal. El principio consiste en cambiar el usuario (con el comando CHANGE CURRENT USER)
antes de llamar una caja de dilogo o iniciar una impresin que requiera acceso total a los comandos, cuando la
operacin especfica haya terminado se regresa al usuario original.
Desactivado para todos: esta opcin permite desactivar el control de las acciones usuario en el editor de
frmulas. Cuando esta opcin est seleccionada, los usuarios tienen acceso a todos los comandos 4D y a los
plug-ins, as como tambin a los mtodos proyecto (excepto para los invisibles).
Nota: esta opcin es prioritaria en el comando SET ALLOWED METHODS. Cuando est seleccionada, el
comando no tendr efecto.
Usuario por defecto: cuando se define un usuario por defecto, cada usuario que abra o se conecte la base, tiene los
mismos privilegios y restricciones de acceso que el usuario por defecto. Un usuario por defecto no necesita escribir su
nombre de usuario. Adems, si no tiene una contrasea asociada al usuario por defecto, no aparece la caja de dilogo
de contraseas y la base se abre directamente.
Esta opcin simplifica el acceso a la base mientras mantiene un sistema completo de control de datos.
Si el usuario por defecto tiene una contrasea de acceso por defecto, cuando se abre la base aparece una caja
de dilogo y los usuarios deben introducir una contrasea:

- 88 -
Si el usuario por defecto no tiene asociada una contrasea de acceso no aparece la caja de dilogo anterior.
Nota: puede forzar la visualizacin de la caja de dilogo estndar de entrada de contraseas cuando el modo
Usuario por defecto est activo, por ejemplo para conectarse como Administrador o Diseador. Para hacerlo,
presione la tecla Mays mientras abre la base o se conecta a ella.

Mostrar lista de usuarios en la ventana de contraseas: si esta opcin est seleccionada, los usuarios deben
seleccionar su nombre de la lista de usuarios e introducir su contrasea en la caja de dilogo de identificacin del
usuario. Si esta opcin no est seleccionada, los usuarios deben introducir su nombre y contrasea. Para mayor
informacin sobre las dos versiones de la caja de dilogo de identificacin del usuario, consulte la seccin Vista
general del sistema de acceso en Presentacin del control de acceso.
Ordenar alfabticamente la lista de usuarios (opcin disponible nicamente si la casilla anterior est
seleccionada): cuando esta opcin est seleccionada, la lista de usuarios en la caja de dilogo de Identificacin
de usuario aparece ordenada alfabticamente.
Los usuarios pueden cambiar sus contraseas: cuando esta opcin est seleccionada, se muestra un botn
Cambiar en la caja de dilogo de identificacin del usuario. Este botn le permite al usuario acceder a la caja de
dilogo donde puede modificar su contrasea (para mayor informacin sobre esta caja de dilogo, consulte el prrafo
Modificacin de contrasea por el usuario en Mantenimiento del sistema). Si quiere, puede ocultar el botn
Cambiar de manera que los usuarios no puedan modificar sus contraseas. Para hacerlo, simplemente deseleccione
esta opcin.

Opciones

Autorizar las propiedades usuario en un archivo externo: debe seleccionar esta opcin si desea utilizar la
funcionalidad de externalizacin de las propiedades usuario. Cuando esta opcin est seleccionada, dos cajas de
dilogo estn disponibles para definir las propiedades: Propiedades estructura y Propiedades usuario. Para
mayor informacin, consulte la seccin Utilizar las propiedades usuario.

Ejecutar el mtodo "On Host Database Event" de los componentes: el Mtodo base On Host Database Event
facilita las fases de inicializacin y de copia de seguridad de los componentes 4D. Por razones de seguridad, debe
autorizar expresamente la ejecucin de este mtodo en cada base local. Para ello, debe seleccionar esta opcin. Por
defecto, no est seleccionada.
Cuando se selecciona esta opcin:
los componentes 4D se cargan,
cada Mtodo base On Host Database Event del componente (si existe) es llamado por la base local,
el cdigo del mtodo se ejecuta.

Cuando esta opcin no est seleccionada:


los componentes 4D se cargan, pero deben gestionar ellos mismos sus fases de inicializacin y de copia de
seguridad.
el desarrollador del componente debe publicar los mtodos del componentes que deben ser llamados por la
base local durante estas fases (inicio y cierre).
el desarrollador de la base local debe llamar a los mtodos apropiados del componente en el momento
adecuado (debe ser cubierto en la documentacin del componente).

- 89 -
Pgina Compatibilidad

La pgina Compatibilidad agrupa todos los parmetros relacionados con el mantenimiento de la compatibilidad con
versiones anteriores de 4D. Recuerde que el nmero de opciones mostradas depender de la versin de 4D con la cual se
cre la base de datos originalmente (2004.x, v11, v12).
Nota: esta pgina no aparece en bases creadas con una versin actual de 4D (bases no convertidas).
Los campos no son editables en los dilogos: en versiones anteriores de 4D, no era posible introducir valores
utilizando campos en cajas de dilogo (mostradas, por ejemplo, utilizando el comando DIALOG). Esta limitacin se
elimin desde 4D 2004.
Puede conservar el comportamiento anterior, especialmente si su base de datos utiliza campos en dilogos para
mostrar datos. Por defecto, esta opcin est seleccionada para las versiones antiguas convertidas a versin 2004 y no
est seleccionada para las bases de datos creadas a partir de la versin 2004.
Botones de opcin agrupados por nombre: en las versiones anteriores de 4D, el funcionamiento coordinado de un
grupo de botones de opcin se obtena dando una primera letra idntica a las variables asociadas con botones (por
ejemplo, m_boton1, m_boton2, m_boton3, etc.). A partir de 4D 2004 se cambi as: para funcionar de manera
coordinada, un conjunto de botones de
opcin simplemente debe estar agrupado en el editor de formularios. Para mayor informacin, consulte Botones
radio y botones radio imagen.
Este nuevo modo es vlido para botones radio, botones radio 3D y botones radio imagen. Por razones de
compatibilidad, el modo anterior se conserva por defecto en bases de datos convertidas. Sin embargo, puede forzar el
uso del nuevo modo deseleccionando esta opcin. Esta opcin slo aparece en bases convertidas de versiones
anteriores. Esta seleccionada por defecto. Las bases de datos creadas a partir de la versin 2004 utilizan el nuevo
modo.
Recargar el formulario para cada registro durante PRINT SELECTION: en versiones anteriores de 4D, el
formulario utilizado durante una impresin utilizando el comando PRINT SELECTION se recargaba para cada
registro. Esto permita reinicializar automticamente todos los parmetros de los objetos que el desarrollador hubiese
podido modificar con el lenguaje en el evento de formulario On printing detail.
Para optimizar el rendimiento, este mecanismo se elimin a partir de 4D 2004. El desarrollador 4D ahora debe
reinicializar l mismo los parmetros que quiere en el mtodo de formulario, este funcionamiento es idntico al de los
formularios listados con el evento On display detail. No obstante, puede conservar el mecanismo anterior utilizando
esta opcin. Las bases de datos creadas en versin 2004 utilizan el nuevo modo.
Usar los comentarios 4DVAR en vez de corchetes: esta opcin define la notacin a utilizar para insertar
expresiones 4D en pginas estticas. Cuando la opcin est seleccionada (valor por defecto), la sintaxis a emplear es
la notacin HTML estndar (<!--4DVAR MYVAR-->).
Cuando la opcin est deseleccionada, la sintaxis a emplear es la notacin con corchetes ([MYVAR]), solucin
propietaria utilizada en las versiones anteriores del servidor web de 4D.
No utilizar el nuevo modo de referenciar los contextos: cuando esta opcin no est seleccionada (valor por
defecto), el servidor web 4D pone el nmero del contexto en el URL de base de los documentos HTML enviados.
Con el sistema anterior (opcin seleccionada), el servidor web 4D enva al navegador el nmero del contexto por cada
elemento de una pgina, haciendo menos rpidos los procesos. No obstante esta opcin puede seleccionarse por
razones de compatibilidad. Recuerde que debe reiniciar la base de datos despus de modificar esta opcin para que
el nuevo funcionamiento tome efecto.
Borrar el / en las URLs desconocidas: en las versiones anteriores de 4D, las URLs desconocidas (URLs que no
corresponden a pginas existentes ni a URLs especiales) se devolvan en los mtodos base On Web Authentication y
On Web Connection ($1) y no comenzaban con el carcter /. Esta particularidad se elimin en 4D 2004. Sin embargo,
si implement algoritmos basados en este caso especial y quiere mantenerlos, deseleccione esta opcin.
Prohibir soltar datos que no provengan de 4D: a partir de la v11, 4D permite arrastrar y soltar selecciones de
objetos y/o archivos externos a 4D, como por ejemplo los archivos imagen, en el modo Aplicacin.
Esta posibilidad debe estar soportada por el cdigo de la base. En las bases de datos convertidas de versiones
anteriores de 4D, esta posibilidad puede traer problemas de funcionamiento si el cdigo existente no est adaptado
como corresponde.
Esta opcin permite anticiparse a estos posibles problemas de funcionamiento. Cuando esta opcin est
seleccionada, se rechaza el soltar objetos externos en formularios 4D. Note que insertar objetos externos an es
posible en los objetos que tienen la opcin Soltar automtico, cuando la aplicacin puede interpretar automticamente
los datos soltados (texto o imagen). Para mayor informacin, consulte Arrastrar y soltar.
Ejecutar QUERY BY FORMULA en el servidor y Ejecutar ORDER BY FORMULA en el servidor: a partir de 4D
v11, por razones de optimizacin, los comandos de bsquedas y de ordenacin por frmula se ejecutan en el
servidor; slo se devuelve el resultado al equipo cliente. Esto concierne a los siguientes comandos: QUERY BY
FORMULA, QUERY SELECTION BY FORMULA y ORDER BY FORMULA. En caso de llamada directa de variables
en la frmula, la bsqueda se calcula con el valor de la variable en el equipo cliente. Por ejemplo,
- 90 -
QUERY BY FORMULA([tabla];[tabla]campo=lavariable)

se ejecutar en el servidor pero con el contenido de la variable lavariable del cliente. Por otra parte, este principio no
aplica a la frmulas utilizando mtodos que, ellos mismos, llaman variables: en este caso el valor de las variables se
evala en el servidor.
En las bases de datos convertidas, este funcionamiento puede afectar los algoritmos existentes. Por lo tanto, por
defecto en este contexto, estos comandos continan siendo ejecutados en la mquina cliente. Si quiere tomar ventaja
del nuevo algoritmo v11 en una base convertida, puede simplemente seleccionar estas opciones.
Nota: esta opcin puede definirse utilizando el comando SET DATABASE PARAMETER.
QUERY BY FORMULA usa uniones SQL: a partir de 4D v11, los comandos QUERY BY FORMULA y QUERY
SELECTION BY FORMULA efectan uniones basados en el modelo de SQL. Esto significa que no es necesario que
exista una relacin estructural entre la tabla A y la tabla B para utilizar una frmula que contenga [Tabla_A ]campo_X=
[Tabla_B]campo_Y.
Como este mecanismo puede generar disfunciones en las aplicaciones existentes, est desactivado por defecto en
las bases de datos convertidas. Se recomienda activarlo (despus de revisar el cdigo de la base) seleccionando esta
opcin con el fin de beneficiarse de la optimizacin de los comandos de bsqueda por frmula.
Notas:
Cuando el modo "Uniones SQL" est activo, los comandos QUERY BY FORMULA y QUERY SELECTION BY
FORMULA utilizan sin embargo las relaciones automticas definidas en el editor de estructura en los siguientes
casos:
- Si la frmula no puede descomponerse en elementos de la forma {campo;comparador ;valor}
- Si se comparan dos campos de la misma tabla.
Esta opcin tambin puede definirse por proceso utilizando el comando SET DATABASE PARAMETER.
Autorizar las transacciones anidadas: activa el soporte de las transacciones multinivel. A partir de la v11, 4D
acepta las transacciones anidadas en un nmero de niveles ilimitado. Como esta nueva operacin puede generar
problemas en las bases desarrolladas con versiones anteriores de 4D, est desactivado por defecto en las bases
convertidas (las transacciones permanecen limitadas a un solo nivel). Si quiere tomar ventaja de las transacciones en
varios niveles en una base convertida, debe seleccionar esta opcin.
Por defecto, esta opcin no est seleccionada. Se especifica para cada base de datos.
Nota: esta opcin no tiene efecto en las transacciones efectuadas en el motor SQL de 4D. Las transacciones SQL
siempre son multinivel.
Modo Unicode: permite activar o desactivar el modo Unicode para la base actual. En modo Unicode, el motor de la
base de datos, el lenguaje y los mens manejan nativamente las cadenas de caracteres en Unicode. En modo no
Unicode (modo compatibilidad), se utiliza el conjunto de caracteres ASCII.
Esta opcin permite preservar la compatibilidad de las bases convertidas.
Est seleccionada por defecto para las bases creadas con 4D v11 y superiores y no est seleccionada en las bases
convertidas.
Notas:
Esta opcin es especfica para cada base. Por lo tanto es posible hacer cohabitar una base Unicode con los
componentes no Unicode (o viceversa) en modo interpretado.
Tambin es posible configurar el modo Unicode utilizando los comandos SET DATABASE PARAMETER.
Las caractersticas especficas del soporte Unicode en 4D se detallan en el manual Lenguaje. Para mayor informacin
consulte Cdigos ASCII.
Utilice los parmetros del sistema en formatos numricos: a partir de v11, 4D utiliza los parmetros sistema
regionales para los formatos de visualizacin numricos (ver Formatos de campos numricos en Formatos de
salida). 4D reemplaza automticamente los caracteres , y . en los formatos de visualizacin numrica por el
separador de miles y el separador decimal definido en el sistema operativo, respectivamente. El punto y la coma son
entonces considerados como los caracteres de marcadores de posicin, siguiendo el ejemplo de 0 o #. En las
versiones anteriores de 4D, los formatos de visualizacin numricos no tienen en cuenta los parmetros regionales del
sistema. Por ejemplo, el formato ###,##0.00 es un formato vlido para un sistema americano. Sin embargo, cuando
se aplica a un valor numrico mostrado en un sistema francs o suizo, el resultado es incorrecto.
En las bases de datos convertidas, por compatibilidad, este nuevo mecanismo no est activado. Para beneficiarse de
l, debe seleccionar esta opcin.
Asignacin automtica de variables: en versiones anteriores de 4D, un mecanismo estndar del servidor web
permite volver a copiar automticamente en las variables proceso 4D el valor de las variables enviadas por medio de
un formulario HTTP o un URL de tipo GET. En modo interpretado, el valor de toda variable recibida se copia
directamente en una variable proceso 4D con el mismo nombre, en modo compilado, las variables deben haber sido
previamente declaradas en un mtodo proyecto COMPILER_WEB.
A partir de 4D v13.4, este mecanismo es obsoleto y ya no est disponible en las nuevas bases de datos. Por razones
de compatibilidad, se mantiene en las bases convertidas, pero puede desactivarlo desmarcando esta opcin de
compatibilidad. Ahora se recomienda utilizar los comandos dedicados WEB GET VARIABLES o WEB GET BODY
PART.
Utilizar la capa de red antigua (ignorada en OS X de 64 bits): a partir del lanzamiento de v14 R5, las aplicaciones
4D contienen una nueva capa de red, llamada ServerNet, para manejar las comunicaciones entre 4D Server y las
mquinas 4D remotas (clientes). La capa de red antigua ha quedado obsoleta, pero se conserva para asegurar la
compatibilidad con las bases de datos existentes. Mediante esta opcin, puede activar o desactivar la capa de red
antigua en cualquier momento en las aplicaciones 4D Server convertidas en funcin de sus necesidades, por ejemplo,
- 91 -
al migrar las aplicaciones cliente (ver la seccin Opciones red y cliente-servidor). ServerNet se utiliza
automticamente para las nuevas bases y se desactiva por defecto en las bases convertidas (opcin seleccionada).
Tenga en cuenta que en caso de una modificacin, es necesario reiniciar la aplicacin para que el cambio se tenga en
cuenta. Todas las aplicaciones cliente que se han conectado tambin se deben reiniciar para poder conectar con la
nueva capa de red (la versin de cliente mnima para usar la capa ServerNet es 4D v14 R4, consulte la seccin
Opciones red y cliente-servidor).
Notas:
Esta opcin tambin se puede administrar por programacin utilizando el comando SET DATABASE
PARAMETER.
Tal como se especifica en su ttulo, esta opcin se ignora en la versin de 64 bits de 4D Server para OS X; slo
ServerNet se puede utilizar en esta plataforma.
Guardar los mtodos como Unicode: le permite guardar cadenas de mtodos 4D en Unicode. En las versiones de
4D anteriores a la v15, las cadenas presentes en el cdigo de los mtodos (frmulas, nombres de variables y de
mtodos, comentarios, etc.) se guardaban utilizando la codificacin local actual. Esta codificacin podra causar
problemas, sobre todo cuando se comparte cdigo 4D entre desarrolladores de diferentes pases: por ejemplo, si un
desarrollador francs escribi cdigo 4D con acentos y luego enva la base a un desarrollador ingls, se perderan los
acentos. Serios problemas tambin podran ocurrir con cdigo escrito en versiones en japons. El guardar los mtodos
en Unicode resuelve todos estos problemas y hace posible el intercambio de cdigo 4D con caracteres locales
especficos. Le recomendamos activar la opcin de modo Unicode para mtodos tan pronto como sea posible en sus
bases existentes, especialmente si trabaja en un entorno internacional.
Notas:
Esta funcionalidad se aplica al lenguaje y su interpretacin. Algunas ventanas del editor 4D, tales como Lista de
propiedades, an utilizan codificacin local actual y por lo tanto pueden mostrar ciertas cadenas incorrectamente.
Sin embargo, esto no afecta a la ejecucin del cdigo.
Si modifica esta opcin, es necesario reiniciar la aplicacin para que el cambio se tenga en cuenta. Puedes
activar o desactivar esta opcin en cualquier momento; slo los mtodos guardados posteriormente se ven
afectados.

- 92 -
Explorador

Presentacin y funcionamiento
Pgina Inicio
Pgina Tablas
Pgina Formularios
Pgina Mtodos
Pgina Comandos
Pgina Constantes
Pgina Plug-ins
Pgina Papelera
Utilizar los comentarios

- 93 -
Presentacin y funcionamiento

El Explorador es una ventana del entorno Diseo que centraliza los accesos a las tablas, formularios, mtodos, comandos,
constantes y plug-ins y ofrece informacin sobre estos elementos. Puede mostrar el Explorador en cualquier momento
eligiendo una de las pginas en el submen Diseo > Explorador o haciendo clic en el botn Explorador de la barra de
herramientas.

Los botones a la izquierda del Explorador le permiten acceder a las diferentes pginas de objetos del entorno Diseo. El
Explorador tiene pginas independientes para las tablas, formularios, mtodos, comandos, constantes y plug-ins.
Las pginas Inicio y Papelera ofrecen funciones especficas adicionales.
Cuando muestra una pgina especfica, los objetos correspondientes se listan en el Explorador. En cada pgina, los objetos
se muestran en listas jerrquicas. Un rea de control en la parte inferior de la lista tiene botones para aadir y borrar, as
como tambin un men opciones.

Renombrar un objeto

Si quiere renombrar una carpeta, una tabla, un campo, un formulario o un mtodo, mantenga presionada la tecla Alt (bajo
Windows) o la tecla Opcin (bajo Mac OS) y haga clic en el nombre del objeto. Tambin puede hacer clic dos veces en el
nombre (espere un momento entre los dos clics, de lo contrario ser un doble clic). El texto se vuelve editable.

Haga los cambios y luego haga clic fuera del rea de texto para guardar los cambios.
Nota: cambiar el nombre de un formulario invalida los mtodos y los formularios que utilizan el nombre anterior. Cada uno de
estos objetos debe actualizarse para que funcionen correctamente.
El Explorador muestra los objetos en orden alfabtico. Si el nuevo nombre no corresponde a este orden, 4D efecta una
nueva ordenacin y modifica el orden cuando usted hace clic fuera del rea
de entrada.
4D Server: el nombre del objeto se modifica en el servidor al hacer clic fuera del rea de entrada del nombre. Si varios
usuarios modifican al tiempo el nombre de un objeto, el nombre final ser el dado por el ltimo usuario que lo modific.
Puede definir un propietario para un objeto de manera que slo algunos usuarios puedan cambiar su nombre. Para mayor
informacin, sobre la definicin de privilegios de acceso, consulte el captulo Usuarios y grupos.
- 94 -
Mostrar y ocultar el rea de vista previa

Puede mostrar u ocultar el rea de vista previa del Explorador haciendo clic en el icono de desplegar o de contraer el rea
de vista previa . La ventana de vista previa le permite visualizar las tablas y campos, los formularios, los mtodos, la
documentacin de los comandos, los valores de constantes, as como tambin la informacin sobre los componentes y plug-
ins instalados en la base. Tambin puede utilizar el rea de vista previa para aadir y ver comentarios sobre ciertos objetos
de la base.
Para ocultar el rea de vista previa, haga clic nuevamente en el botn Desplegar/Contraer.

Mostrar comentarios

4D permite asociar comentarios a las carpetas, tablas, campos, formularios y mtodos (base, proyecto, triggers y formulario)
de su base de datos. La visualizacin y modificacin de los comentarios se efecta utilizando el Explorador (el rea de vista
previa debe estar desplegada).
Para mostrar y modificar los comentarios asociados a un objeto, seleccione el objeto en la lista del Explorador y haga clic en
el botn Comentarios ubicado debajo del rea de vista previa. El rea de vista previa es reemplazada por el rea de
comentarios:

La creacin y uso de los comentarios se describe en detalle en la seccin Utilizar los comentarios.

Uso de arrastrar y soltar

En muchos casos, puede utilizar arrastrar y soltar para aadir un objeto de la base de datos en la ventana de un editor. Por
ejemplo, puede aadir un campo en un formulario arrastrando el nombre del campo
desde la pgina Tablas del Explorador al editor de formularios. Cuando trabaje en el editor de mtodos, puede aadir
nombres de tablas, campos, formularios, mtodos de proyecto, constantes y comandos (incluyendo su sintaxis) en su cdigo.
Las secciones de este captulo que describen las pginas del Explorador tienen informacin especfica sobre las opciones
arrastrar y soltar de cada pgina. Cada pgina del Explorador se describe en las siguientes secciones.

Uso del men contextual y del men opciones

Puede utilizar los mens contextuales y los mens de opciones en las pginas Inicio, Formularios, Mtodos y Papelera del
Explorador. Estos mens dan acceso a funciones adicionales, descritas en las siguientes secciones de este captulo.

- 95 -
- 96 -
Pgina Inicio

La pgina Inicio permite definir y utilizar las carpetas de objetos del Explorador de 4D.

Al igual que las carpetas utilizadas en Windows y Mac OS, las carpetas de 4D agrupan diferentes objetos en funcin de
criterios personalizados (particularmente por funcionalidad) y no slo por tipo.
Por ejemplo, puede agrupar en una carpeta llamada E-mail los objetos relativos al envo de mensajes de correo electrnico
en su base.
Los objetos de tipo Tabla, Formulario y Mtodo proyecto pueden ubicarse en carpetas. Tambin es posible crear
subcarpetas en diferentes niveles.
Todos los objetos personalizados de la base (tablas, formularios, mtodos de proyecto) siempre se muestran en la pgina
Inicio. Observe que los objetos siguen apareciendo en las otras pginas del Explorador.
En esta pgina, puede aadir carpetas y subcarpetas, renombrar, mover y reorganizar carpetas y objetos. Tambin puede
crear directamente tablas, formularios y mtodos de proyecto. Como en las dems pginas del Explorador, puede abrir una
tabla, un formulario o un mtodo de proyecto en una ventana del editor correspondiente haciendo doble clic en su nombre, o
insertarlo utilizando arrastrar y soltar. Puede renombrar o borrar carpetas y objetos. Tambin es posible asignar una carpeta
a un objeto en el momento de su creacin.
4D Server: todos los equipos cliente conectados a una misma base comparten la misma configuracin de carpetas.
Cualquier modificacin realizada por un usuario desde una equipo cliente (movimiento, adicin, etc.), automticamente e
instantneamente repercute en todos los equipos clientes conectados.
Desde esta pgina, tambin puede arrastrar diferentes tipos de objetos (mtodos, formularios, etc.) a los editores de la base
o a otras bases en modo Diseo. Las opciones de arrastrar y soltar que estn disponibles para cada tipo de objeto se
describen en las secciones correspondientes de este tema. El arrastrar y soltar entre bases se describe en Arrastrar y
soltar objetos.

Crear carpetas o subcarpetas

Las carpetas son tiles para organizar sus bases por funcionalidades o por criterios personalizados (fechas, lenguajes, etc.).
As se facilita el acceso a los diferentes objetos desde el Explorador. Las carpetas tambin son asequibles en forma de
- 97 -
listas jerrquicas en el editor de mtodos de 4D. Esto facilita las llamadas a los objetos cuando se escriben los mtodos:

Tambin es posible utilizar las carpetas para filtrar la visualizacin de las tablas en el editor de estructura (ver el prrafo
Resaltar/atenuar tablas por carpetas).
Por defecto todos los objetos se ubican en el primer nivel. Puede aadir carpetas o subcarpetas en cualquier momento en la
pgina Inicio del Explorador. Para hacerlo, simplemente utilice el comando Nuevo>Carpeta del men de opciones de la
pgina o del men contextual del rea:

Tambin puede utilizar el men que aparece cuando hace clic en el icono aadir (+) ubicado en la parte inferior del rea.
La carpeta o subcarpeta se crea inmediatamente y su nombre por defecto es Carpeta_+nmero de carpeta. Puede
modificar este nombre, sin embargo, el nombre de la carpeta o subcarpeta debe ser nico y no tener ms de 31 caracteres.
Para crear una carpeta, asegrese de que no haya elementos seleccionados en el momento de efectuar la creacin.
Para crear una subcarpeta, seleccione la carpeta en la cual crear la subcarpeta.
antes de efectuar la creacin.
Luego, puede fcilmente transformar una carpeta en subcarpeta y viceversa, utilizando arrastrar y soltar o los comandos de
movimiento.
El comando Nuevo> de la pgina Inicio permite crear no slo las carpetas, sino tambin tablas, formularios y mtodos de
proyecto. Cuando elija un subcomando de este tipo, vaya directamente a la caja
de dilogo de creacin del objeto.
El men contextual y el men de opciones de la pgina Inicio ofrecen funciones adicionales en funcin del tipo del objeto
seleccionado. Las opciones disponibles por tipo de objeto se describen en las secciones correspondientes de este tema.

Borrar un objeto

El comando Borrar borra la seleccin. Si la seleccin contiene una carpeta o subcarpeta, todos los elementos que contienen
se eliminan.

Este comando puede utilizarse con todos los tipos de elementos (carpetas, subcarpetas, tablas, formularios y mtodos
proyecto) y con selecciones mltiples. Los objetos eliminados desaparecen de las listas y de los editores de la aplicacin.
Los elementos eliminados pasan a la Papelera del Explorador. Para mayor informacin sobre el funcionamiento de la
papelera del Explorador, consulte Pgina Papelera.
Para borrar uno o ms objetos desde la pgina Inicio del Explorador, puede seleccionarlo(s) y luego elegir Enviar a >
Papelera en el men contextual o utilizando el men de opciones de la pgina.

Enviar a

El comando Enviar a del men contextual de la pgina Inicio permite modificar el contenido de una carpeta sin tener que
desplegar previamente la carpeta destino.
Para hacer esto, haga clic derecho en el objeto, carpeta o seleccin. Aparece el men contextual. La opcin Enviar a ofrece
como destinos posibles todas las carpetas y subcarpetas existentes:

- 98 -
Simplemente seleccione la carpeta donde quiere ubicar la seleccin. Si selecciona Nivel superior, la seleccin se ubicar
en el primer nivel de la lista, fuera de cualquier carpeta (esta lnea aparece inactiva cuando intenta mover un objeto que ya
est en el primer nivel). Si elije Papelera, se elimina la seleccin (ver la seccin anterior).

Aadir un objeto a una carpeta durante su creacin

Puede poner directamente un nuevo objeto en una carpeta durante su creacin. El men "Carpeta", ubicado en las cajas de
dilogo de creacin de tablas, formularios y mtodos proyecto, permite seleccionar la carpeta en la cual crear el objeto. Por
defecto, los objetos se crean en el primer nivel (Nivel superior) o en la ltima carpeta seleccionada en el Explorador (si
aplica). El men de seleccin est por ejemplo presente en la caja de dilogo de creacin de tablas como se muestra en la
siguiente imagen:

Por supuesto, puede cambiar los objetos de carpeta una vez creados en la pgina de Inicio del Explorador.

Informacin sobre la carpeta

Cuando selecciona una carpeta en el Explorador, el rea de vista previa de la ventana muestra informacin sobre la carpeta:

Carpeta: Nombre de la carpeta: nmero de objetos presentes dentro de la carpeta


Tabla(s): nmero de tablas en la carpeta
Formulario(s): nmero de formularios en la carpeta
Mtodo(s) de proyecto: nmero de mtodos proyecto en la carpeta
Carpeta(s): nmero de carpetas (subcarpetas) en la carpeta
Si un tipo de objeto no est en una carpeta, no aparece en el rea de vista previa. Si la carpeta est vaca, el rea de vista
previa muestra nicamente Carpeta: Nombre de la Carpeta. Cuando hay varias carpetas y/u objetos seleccionados, la
informacin mostrada es sobre el elemento actual, es decir, el ltimo elemento donde hizo clic.

- 99 -
Pgina Tablas

La pgina Tablas contiene todas las tablas y campos de la base. Puede utilizarse para acceder a las propiedades de las
tablas y campos. Al desplegar una tabla aparece la lista de sus campos.
El tipo de campo es indicado por un icono al lado izquierdo de su nombre. Haga doble clic en el nombre de un campo para
mostrar sus propiedades en la ventana Inspector. Para mayor informacin consulte la seccin Get database parameter.

Uso de arrastrar y soltar

Puede aadir un campo a un formulario arrastrando su nombre desde la pgina Tablas del Explorador hasta el formulario.
Puede aadir un nombre de tabla o campo a un mtodo, arrastrando el nombre del mtodo en la ventana del editor de
mtodos. De esta forma se asegura de utilizar la sintaxis correcta. Por ejemplo, si arrastra el campo Nombre de la tabla
[Clientes] hacia un mtodo, aparecer en el mtodo como [Clientes]Nombre.

rea de previsualizacin

Tambin puede previsualizar la descripcin de las tablas en forma tabular en el rea de previsualizacin del Explorador.
Para hacer esto, seleccione un tabla y haga clic en el icono de previsualizacin . La siguiente imagen muestra la vista
previa de una tabla:

Esta rea es nicamente informativa, no es posible modificar sus valores.


Adems de los nmeros, nombres y tipos de campos de la tabla seleccionada, tambin se listan los ndices asociados a la
tabla (sin importar su tipo) como tambin las relaciones que se originan en la
tabla. Para cada campo en el origen de una relacin (campo Muchos), el campo de destino (Campo Uno) se indica en la
columna Relacin.
Igualmente puede visualizar el tipo de un campo cuando selecciona su nombre en la lista:

- 100 -
Centrar la imagen de una tabla en la ventana Estructura

Puede ver la imagen de una tabla haciendo doble clic en el nombre de la tabla. Cuando hace esto, 4D centra la vista de la
ventana de estructura en la imagen de la tabla y muestra sus propiedades en la ventana Inspector. Esta funcionalidad es
bastante til si la estructura de su base tiene muchas tablas diferentes, ya que evita tener que desplazarse en la ventana del
editor de estructura para ver una tabla en particular.

Aadir una tabla o un campo

Puede aadir una tabla o campo utilizando el botn aadir .

Para crear una tabla, seleccione un nombre de tabla (o asegrese de que ningn objeto est seleccionado) y haga clic en el
botn de adicin. Aparece la caja de dilogo estndar Nueva tabla (consulte la seccin Crear y modificar tablas). Para
crear un campo, seleccione un campo existente y haga clic en el botn de adicin. Aparece la ventana del Inspector, lista
para crear un campo en una tabla seleccionada (consulte el prrafo ).

Borrar una tabla

Puede borrar una tabla utilizando el botn borrar . Cuando selecciona una tabla y hace clic en este botn, la tabla se borra
del editor 4D y no puede utilizarse ms. Los formularios y mtodos asociados a ella tambin se borran.
Nota: no puede eliminar campos con el botn borrar.
En realidad, la tabla no se borra definitivamente, pasa a la Papelera y se oculta en 4D (consulte Pgina Papelera). Su
eliminacin slo se llevar a cabo cuando se vace la Papelera.
Es posible borrar permanentemente una tabla desde el editor de estructura (consulte el prrafo Borrar una tabla) o va el
lenguaje SQL.

- 101 -
Pgina Formularios

La pgina Formularios contiene dos listas de formularios: Formularios proyecto y Formularios tabla. La lista de los
formularios tabla muestra las tablas de la base y sus formularios asociados
Los formularios proyecto son formularios independientes que no estn asociados a tablas. Estos formularios son
particularmente tiles cuando desarrolla interfaces y componentes.
Los formularios tabla son formularios asociados a tablas. Se benefician de automatizaciones y de funciones adicionales
para el procesamiento de datos. Para mayor informacin sobre las diferencias entre estos dos tipos de formularios, consulte
el prrafo Formularios tabla y formularios proyecto.

Crear un nuevo formulario

La pgina Formularios permite crear un formulario (formulario proyecto o formulario tabla) de dos formas:
Utilizando el asistente de creacin de formularios: seleccione el ttulo Formularios proyecto (para crear un formulario
proyecto) o la tabla o un formulario de la tabla en la cual quiera aadir el formulario (para crear un formulario tabla) y
luego elija Nuevo formulario con Asistente... en el men de opciones de la pgina:

Aparece el asistente de creacin de formularios, listo para crear un nuevo formulario. Para mayor informacin sobre
este asistente, consulte la seccin Crear un formulario utilizando el asistente de formularios.
Creando un formulario vaco: seleccione el ttulo Formularios de proyecto (para crear un formulario proyecto) o la tabla
o un formulario de la tabla en la cual quiera aadir un formulario (para crear un formulario tabla) y luego haga clic en el
botn aadir . Aparece una caja de dilogo donde puede definir el nombre y la carpeta del formulario. Cuando
valida esta caja de dilogo, se crea el formulario vaco y se muestra en una ventana del editor de formularios. Para
mayor informacin, consulte la seccin Crear un formulario vaco.

Editar un formulario

Desde el Explorador, puede abrir directamente un formulario existente en el editor de formularios para editarlo. Para hacer
esto, puede:
Hacer doble clic en su nombre,
Seleccionar el formulario y luego Modificar el formulario... en el men contextual o en el men opciones de la pgina.

Para mayor informacin sobre la edicin de formularios, consulte el captulo Creacin de formularios.

Borrar un formulario

Para borrar un formulario, seleccione su nombre en la lista y haga clic en el botn borrar o utilice el comando Eliminar
formulario del men contextual. Tambin puede arrastrar y soltar el formulario en la Papelera.
No puede borrar un formulario tabla que se utiliza como formulario de entrada o de salida por defecto.

Previsualizar un formulario
- 102 -
Para mostrar el rea de vista previa, haga clic en icono de previsualizacin . Seleccione un formulario para
previsualizarlo.

Designar el formulario de entrada o de salida actual

Puede designar los formularios de entrada y de salida actuales para cada tabla desde el Explorador (formularios tabla
nicamente). Para hacerlo, haga clic en el nombre del formulario tabla y utilice los comandos Formulario de entrada o
Formulario de salida del men contextual:

Para mayor informacin sobre los formularios de entrada y de salida por defecto, consulte la seccin Designar los
formularios de entrada y de salida.

Modificar el mtodo del formulario

Puede abrir el mtodo de un formulario directamente desde la pgina Formularios del Explorador, seleccionando el
comando Modificar mtodo del formulario... en el men contextual o en el men de opciones. El mtodo del formulario se
abrir en una ventana del editor de mtodos.

Definir las propiedades de un formulario va el Explorador

Puede acceder a las principales propiedades de un formulario desde el Explorador. Haga clic en el nombre del formulario,
luego haga clic en el comando Propiedades del formulario... en el men contextual o en el men de opciones de la pgina.
Para mayor informacin, consulte el prrafo Propiedades del formulario (Explorador).

Ejecutar un formulario - 103 -


Ejecutar un formulario

Puede ejecutar un formulario en su contexto (lista de registros para un formulario tabla listado y registro actual en pgina para
un formulario tabla detallado) en la ventana de visualizacin de registros. Para hacerlo, elija Ejecutar formulario en el men
contextual o en el men opciones de la pgina. Para mayor informacin sobre cmo probar formularios, consulte el prrafo
Utilizar la barra de herramientas.

Uso de arrastrar y soltar

Puede insertar un nombre de formulario en un mtodo arrastrndolo. Al hacer esto, el nombre del formulario aparece
utilizando la sintaxis correcta. Por ejemplo, si arrastra el formulario Entrada de la tabla [Empresas], aparecer como
[Empresas]"Entrada".
Puede insertar un subformulario en un formulario arrastrando el nombre desde la pgina Formularios del Explorador al
formulario abierto en el editor de formularios. Para asociar un subformulario detallado al subformulario listado en pantalla,
manteniendo presionada la tecla Mays y arrastre el nombre de un formulario de entrada desde la pgina Formularios del
Explorador al rea del subformulario en el formulario. Para mayor informacin, consulte la seccin Subformularios y
widgets.

Copiar, pegar o duplicar un formulario

4D permite copiar/pegar o duplicar un formulario existente, va los comandos correspondientes del men contextual o en el
men de opciones de la pgina. Esto permite desarrollar rpidamente varios formularios con caractersticas comunes.
4D aade e incrementa automticamente un nmero al nombre del formulario si ya existe un formulario con el mismo nombre
en la ubicacin de destino.

- 104 -
Pgina Mtodos

La pgina Mtodos muestra las listas de mtodos de proyecto, mtodos base, mtodos formulario tabla, mtodos
formularios proyecto y triggers de la base de datos. Los tipos de mtodos se agrupan por categoras.
Nota: si se han instalado en la base los componentes con mtodos compartidos, la pgina muestra una categora adicional:
Mtodos componente. Este elemento lista los componentes instalados y sus mtodos compartidos. Este punto se detalla en
el prrafo Visualizacin de los componentes.

Crear un nuevo mtodo

Este prrafo describe cmo crear cada tipo de mtodo desde el Explorador.
Mtodos de proyecto: para crear un nuevo mtodo de proyecto, seleccione el elemento Mtodos proyecto en la lista
jerrquica o el nombre de un mtodo proyecto existente y haga clic en el botn aadir .
Tambin puede crear un mtodo proyecto por duplicacin o copiar/pegar (ver a continuacin).
Mtodos componente: se muestra esta categora cuando los componentes con mtodos compartidos se instalan en
la base. En l se enumeran los componentes instalados junto con sus mtodos compartidos. Este punto se describe en
Visualizacin de los componentes.
Mtodos base: no puede crear nuevos mtodos base. Simplemente puede aadir cdigo a uno de los mtodos
existentes (vacos por defecto). Para hacer esto, despliegue el elemento Mtodos
base y luego haga doble clic en el mtodo base a modificar o elija el comando Modificar mtodo... del men
contextual o del men de opciones de la pgina.
Triggers: para crear un nuevo trigger, despliegue la lista Triggers, seleccione la tabla que quiere y haga clic en el
botn aadir o doble clic en el nombre de la tabla. Tambin puede elegir Modificar mtodo... en el men contextual
o en el men de opciones de la pgina.
Mtodos formularios proyecto: para crear un nuevo mtodo para un formulario proyecto, despliegue la lista Mtodos
formularios proyecto, seleccione el formulario que quiere y haga clic en el botn aadir o doble clic en el nombre del
formulario o seleccione Modificar mtodos... en el men contextual o en el men de opciones de la pgina.
Mtodos formularios tabla: para crear un nuevo mtodo para un formulario tabla, despliegue la lista Mtodos
formularios tabla, seleccione la lista de tablas y el formulario que quiera y haga clic en el botn o doble clic en el
nombre del formulario o seleccione Modificar mtodos... en el men contextual o en el men de opciones de la
pgina.
Mtodos4D Mobile: esta categora enumera las tablas que se exponen en 4D Mobile y todos los mtodos proyecto
expuestos unidos a ellas. Para obtener ms informacin, consulte la seccin Configuracin de la base de datos 4D
en el manual 4D Mobile.
Nota: tambin puede crear un mtodo de formulario seleccionando Modificar mtodo de formulario... en el men
contextual o en el men de opciones de la pgina Formularios.

Crear un mtodo con el asistente de servicios web

Puede mostrar el asistente de servicios web desde la pgina Mtodos. Para hacerlo, seleccione Asistente de servicios
web... en el men de opciones de la pgina.

Aparece el asistente de servicios web, listo para ser utilizado para descubrir un servicio web y generar los mtodos proxy
correspondientes. Para mayor informacin sobre el uso de este asistente, consulte el prrafo Suscripcin a un servicio
web en 4D.

Borrar mtodos

Puede borrar todo mtodo seleccionndolo y haciendo clic en el botn Suprimir o seleccionando Suprimir mtodo... en
el men contextual.
La eliminacin depende del tipo de mtodo:
Mtodos base, triggers y mtodos formulario: el contenido del mtodo se borra de manera que el mtodo vuelve a su
- 105 -
estado vaco por defecto. Una caja de dilogo le indica que la eliminacin es definitiva.
Mtodos proyecto: el mtodo se borra de la lista de mtodos y pasa a la Papelera. Es posible recuperarlo de la
Papelera o borrarlo definitivamente (para mayor informacin, consulte la seccin Pgina Papelera).

Previsualizar un mtodo

Haga clic en el icono para mostrar el rea de previsualizacin y seleccione un mtodo. El contenido del mtodo aparece
como en el editor de mtodos. Puede seleccionar, copiar o arrastrar y soltar todo o parte del contenido del rea de
previsualizacin.

Propiedades de los mtodos proyecto

Puede mostrar y modificar las propiedades de los mtodos proyecto desde el Explorador seleccionando un mtodo y
elijiendo el comando Propiedades del mtodo... en el men contextual o en el men de opciones de la pgina.
Aparece la ventana Propiedades del mtodo, permitindole modificar el nombre as como las otras propiedades del
mtodo.

- 106 -
Para mayor informacin sobre las otras opciones de esta caja de dilogo, consulte Propiedades de los mtodos
proyecto.

Cambio global de atributos

El comando Cambio global de atributos... del men contextual o del men opciones (cuando un mtodo proyecto est
seleccionado nicamente) permite modificar en una misma operacin un atributo (Invisible, Disponible va 4DACTION,
4DMETHOD y 4DSCRIPT, etc.) para todos o parte de los mtodos proyecto de la base. Para mayor informacin, consulte el
prrafo Cambio global de atributos de mtodos, en la seccin Cambio global de atributos de mtodos.

Ejecutar un mtodo

Es posible lanzar la ejecucin de un mtodo base y de un mtodo proyecto desde el Explorador. Para hacerlo, seleccione el
mtodo y luego elija el comando Ejecutar el mtodo... en el men contextual o en el men de opciones de la pgina.
El mtodo se ejecuta en modo estndar. Para mayor informacin, consulte la seccin Ejecutar mtodos.

Copiar, pegar o duplicar mtodos proyecto

Es posible copiar, pegar y duplicar mtodos proyecto desde la lista de mtodos del Explorador. Estas funciones permiten
duplicar un mtodo en la misma base de datos o copiar nuevamentente un mtodo de una base a otra.
Para duplicar un mtodo, seleccinelo y elija el comando Duplicar en el men contextual o en el men opciones de la
pgina. Para copiar un mtodo, seleccinelo y elija el comando Copiar en el men contextual. Para pegar el mtodo, elija
Pegar en el mismo men contextual.
En caso de duplicacin o si ya existe un mtodo con el mismo nombre en el lugar donde peg el mtodo, se aade un
nmero al nombre del mtodo, por ejemplo MiMetodo1. Este nmero se incrementa si es necesario (MiMetodo2,
MiMetodo3, etc.).

Buscar las llamadas

Puede buscar desde el Explorador la lista de objetos que referencian un mtodo de proyecto (otros mtodos o mens). Esta
funcin est
disponible va el comando Buscar llamadas al mtodo en el men contextual o en el men opciones de la pgina:

- 107 -
Nota: el comando Buscar llamadas al mtodo... tambin est disponible en el men Mtodo del Editor de mtodos.
Este comando muestra una nueva ventana de resultados. Para mayor informacin sobre la ventana de resultados, consulte la
seccin Ventana de resultados.

Buscar las dependencias

Puede buscar automticamente desde el Explorador las dependencias de los mtodos proyecto, en otras palabras los otros
mtodos proyecto y los formularios utilizados directa o indirectamente por estos mtodos. Para ello, se selecciona un
mtodo proyecto en el Explorador y se selecciona el comando Buscar las dependencias del mtodo en el men
contextual o en el men de opciones de la pgina.

Todas las dependencias del mtodo seleccionado se muestran a continuacin en una Ventana de resultados estndar.
Usted puede abrirlos en sus respectivos editores o seleccionarlos y moverlos usando arrastrar y soltar. Esto facilita transferir
funcionalidades completas entre sus bases.

Tambin puede seleccionar varios mtodos proyecto a la vez y seleccionar Buscar las dependencias del mtodo. En
este caso, las dependencias de todos los mtodos se muestran en la ventana de resultados.
Anlisis de las dependencias
Para encontrar los mtodos proyecto dependientes, 4D analiza el cdigo del mtodo a detectar:
las llamadas directas en el cdigo,
los nombres de los mtodos pasados como parmetros a uno de los siguientes comandos:
Open window (parmetro controlMenuBox)
ON ERR CALL
ON EVENT CALL
New process
EXECUTE ON CLIENT
SET MENU ITEM METHOD
EXECUTE METHOD
Debe pasar un nombre de parmetro que sea una constante literal de tipo texto correspondiente a un nombre de mtodo
ejecutable vlido.
Para buscar un formulario dependiente en el cdigo, 4D busca un nombre de formulario pasado como un parmetro a uno
de los siguientes comandos:
Print form
DIALOG
FORM SET OUTPUT
FORM SET INPUT
PRINT SETTINGS
FORM GET PROPERTIES
Open form window
El parmetro tabla del formulario es reconocido pero debe especificarse explcitamente.
4D podra no detectar una dependencia en los siguientes casos:

//Caso de no deteccin

//mtodo por referencia


- 108 -
v:="myhandler"
ON ERR CALL(v)
//puntero a una tabla
DIALOG(Table(1)->;$formname)
// usuario de DEFAULT TABLE
DEFAULT TABLE([myTable])
DIALOG("myForm") // "myForm" ser evaluado como un formulario proyecto
// llamada de funcin utilizando FN en el cdigo SQL
Begin SQL
SELECT Film_Title, {FN How_Many_Actors(ID) AS NUMERIC}
...

- 109 -
Pgina Comandos

La pgina Comandos muestra todas las rutinas integradas de 4D, agrupadas por temas. Esta lista es la misma que la que
se muestra en el editor de mtodos.
Puede utilizar esta pgina para acceder a la documentacin en lnea de los comandos. El rea de vista previa tambin le
permite mostrar la informacin sobre la sintaxis de los comandos.

Acceso a la documentacin en lnea

Puede acceder a la documentacin en lnea (HTML) de 4D directamente desde la pgina de comandos: slo tiene que hacer
doble clic en el nombre del comando. La pgina de documentacin HTML correspondiente se muestra en su navegador.
Las pginas de documentacin HTML pueden guardarse en un CD o en un DVD, en su disco duro o puede provenir
directamente del sitio web de 4D Hispano (4D Doc Center). La ubicacin de donde la pgina se carga est definida por el
rea "Ubicacin de la documentacin" en las Preferencias usuario (ver la seccin Pgina General). Por defecto, 4D se
conectar al sitio web del 4D Doc Center.

Mostrar la sintaxis de los comandos

Cuando el rea de vista previa est abierta, muestra el nmero del comando seleccionado as como una descripcin de la
sintaxis del comando.
Nota: el nmero del comando es utilizado por la funcin Command name.
Si no quiere mostrar la sintaxis, presione la tecla Alt (Windows) u Opcin (Mac OS)mientras hace clic sobre el nombre del
comando.
El rea de lista del Explorador tambin muestra mensajes de ayuda que contienen el nmero y la sintaxis de los comandos:

Estos mensajes de ayuda son idnticos a los mostrados en el rea de edicin del Editor de mtodos.

Utilizar arrastrar y soltar

Puede insertar un comando en un mtodo utilizando arrastrar y soltar desde el Explorador. En este caso, el comando se
inserta con su sintaxis.

- 110 -
Pgina Constantes

La pgina Constantes contiene todas las constantes que pueden utilizarse en los mtodos. Puede visualizar el valor de la
constante seleccionada en el rea de vista previa cuando se despliega, o va los mensajes de ayuda mostrados en el rea
de lista.
Las constantes mostradas pueden provenir de 4D, plug-ins o recursos personalizados. Para mayor informacin sobre
constantes, consulte la seccin ARRAY TO SELECTION en el manual Lenguaje de 4D.

Utilizar arrastrar y soltar

Las constantes se utilizan con frecuencia en sus mtodos. Puede insertar una constante en un mtodo por arrastrar y soltar.
Seleccione la constante en el Explorador y arrstrela hacia la ventana del editor de mtodos. Por defecto, las constantes
aparecen subrayadas en el editor de mtodos.

- 111 -
Pgina Plug-ins

La pgina Plug-ins lista todos los plug-ins instalados en la base as como sus comandos, generalmente agrupados por
temas.
El rea de vista previa muestra informacin adicional sobre los plug-ins como tambin la ubicacin de los archivos activos.
Nota: Para mayor informacin sobre la instalacin de plug-ins en su aplicacin, consulte la seccin Instalacin de plugins
o componentes.

- 112 -
Pgina Papelera

La pgina Papelera del Explorador rene todos los objetos de tipo Carpeta, Tabla, Formulario o Mtodo proyecto borrados
de la base.
Igual que la papelera de Windows o de Mac OS, la Papelera de 4D es un elemento de seguridad de la interfaz, que reduce el
riesgo de eliminacin accidental de objetos.
Los objetos en la Papelera no aparecen ms en los editores o mens de 4D y no pueden modificarse, utilizarse, moverse,
etc. Se pueden crear otros objetos similares con el mismo nombre. Los objetos ubicados en la papela pueden recuperarse
siempre y cuando no se vace la papelera.
Tambin es posible mostrar los objetos en el rea de vista previa de la pgina Papelera. Adems, los posibles comentarios
asociados con los objetos borrados permanecen visibles.
4D Server: el contenido de la Papelera es idntico para todas las mquinas cliente.

Eliminar objetos

Se pueden eliminar objetos desde la pgina Inicio o desde las pginas Tablas, Formularios y Mtodos.

Para borrar un objeto desde el Explorador, simplemente seleccinelo y elija el comando Eliminar en el men contextual del
Explorador (clic derecho) o simplemente seleccinelo y elija el botn de eliminar .
En la pgina Inicio, tambin se puede seleccionar la papelera como destino de un objeto.

Tambin puede poner una tabla en la Papelera. La tabla desaparece de los editores de la base, incluyendo el editor de
Estructura. Cuando pone una tabla en la Papelera, los formularios de la tabla se eliminan automticamente (pasan a la
Papelera) y sus mens asociados se borran.

No es posible eliminar desde el Explorador un formulario tabla con el atributo E (formulario de entrada actual), S (formulario
de salida actual) o A (formulario con los dos atributos) excepto cuando se borra la tabla de este formulario. Igualmente, no es
posible eliminar las carpetas que contienen elementos no eliminables.

Recuperar un objeto

En cualquier momento puede recuperar uno o varios objetos ubicados en la Papelera (siempre y cuando no se haya
vaciado). Para hacerlo, simplemente seleccione el (los) objeto(s) y luego arrstrelos hacia el icono de la pgina apropiada al
lado izquierdo de la ventana o seleccione el comando Enviar a > en el men contextual de la lista:

El submen Enviar a > lista las carpetas presentes en la base (para mayor informacin, consulte la seccin ). Si la base de
datos no contiene carpetas, slo aparece disponible el Nivel superior. Cuando elige una opcin de este submen, la
seleccin de objetos se recupera y reemplaza en la carpeta elegida como destino. Si elige Nivel superior, la seleccin se
ubica en el primer nivel, no en otra carpeta
Si uno o ms objetos de la base tienen el mismo nombre de uno o ms objetos que quiere recuperar, 4D muestra una caja
de dilogo de alerta ofreciendo:
- 113 -
reemplazar el objeto en la base (formularios, mtodos, etc.).
renombrar nombre_1 el objeto a recuperar (tablas).
El botn S renombra el objeto en recuperacin o reemplaza el objeto existente. El botn S a todo renombra o reemplaza
todos los objetos de la seleccin (cuando aplica). Si hace clic en el botn No o No a todo, la recuperacin de objetos no se
efecta.
Slo se recupera el objeto designado. Especficamente, los formularios borrados con una tabla no se recuperan
automticamente con la tabla.

Vaciar la papelera

Por defecto, los objetos eliminados permanecen en la papelera hasta que sta se vace. Puede vaciar la papelera en
cualquier momento, por ejemplo, antes de compactar la base, con el propsito de reducir el tamao del archivo de
estructura. Todos los objetos de la papelera se eliminan definitivamente de la base de datos.
Para vaciar la papelera, elija el comando Vaciar la papelera en el men contextual (clic derecho) o en el men opciones de
la pgina:

Una caja de dilogo de alerta indica el nmero de objetos presentes en la Papelera le permite confirmar o cancelar la
operacin:

Haga clic en Aceptar para borrar todos los objetos de la Papelera.

- 114 -
Utilizar los comentarios

El Explorador le permite asociar comentarios a los objetos de su base de datos. El uso de comentarios es especialmente
apropiado para bases desarrolladas por varios programadores y generalmente es una buena prctica de programacin. Sus
comentarios son visibles en el rea de vista previa del Explorador.
Los siguientes tipos de objetos aceptan el uso de comentarios:
carpetas
mtodos (base, componentes, proyecto, triggers y formulario),
formularios,
tablas,
campos,
plug-ins
Un comentario 4D se presenta como texto, (los caracteres pueden tener diferentes estilos de fuentes o colores, etc.)
modificable y visualizable en cualquier momento en el entorno Explorador. Puede contener una descripcin del objeto al que
est asociado, as como tambin toda la informacin necesaria para entender el funcionamiento de la base. Los
comentarios se guardan en la estructura de la base.
Adicionalmente, puede generar comentarios automticos, es decir cuyo contenido es actualizado automticamente por
4D cuando un objeto se crea o modifica.
Nota de compatibilidad: desde la versin 12 de 4D, los comentarios insertados en el encabezado de un mtodo utilizando
los caracteres // se muestran como mensajes de ayuda cuando el mtodo es referenciado en otro mtodo (ver el prrafo
"Utilizar los mensajes de ayuda" en la seccin WA SET EXTERNAL LINKS FILTERS. Esta funcin, muy til para
documentar los mtodos usuario, no es compatible con los comentarios en el Explorador. Si quiere utilizar los encabezados
de los mtodos en esta forma, no introduzca comentarios en el Explorador.

Asociar un comentario a un objeto

Puede crear, ver y modificar comentarios desde el Explorador. Para aadir un comentario cuando se muestra el rea de
vista previa, seleccione el objeto en la lista del Explorador y luego haga clic en el botn Comentarios ubicado en la parte
inferior del rea vista previa.
Cuando la opcin Comentarios est seleccionada, el rea de vista previa es reemplazada por el rea Comentarios y puede
introducir o modificar el texto mostrado.

- 115 -
4D Server: el icono de bloqueo, ubicado en la esquina inferior izquierda del rea, indica si el comentario est siendo
editado por otro usuario. Si ese es el caso, el lpiz aparece con una barra diagonal y slo se puede ver el comentario.
El texto se guarda tan pronto como hace clic fuera del rea de entrada. Puede introducir hasta 32 700 caracteres de
comentarios por objeto.
Puede utilizar en el rea de comentarios los comandos estndar de edicin de texto (Copiar, Pegar, Seleccionar todo, etc.)
disponibles en el men contextual o utilizando los atajos de teclado. Tambin puede utilizar las teclas de navegacin para
desplazarse por el texto en el rea de comentarios.

Modificar el estilo de los comentarios

Puede enriquecer el estilo de los comentarios (colocando negrita o itlica) y cambiar la fuente de los caracteres o su color:
1. Seleccione el texto que quiere modificar en el rea Comentarios.
2. Haga clic derecho en el rea.
Aparece un men jerrquico desplegable:

3. Seleccione los atributos que quiere aplicar al texto.

Insertar comentarios Automticos

Es posible activar un sistema de comentarios automticos, slo para los mtodos y formularios de la base de datos. Cuando
este sistema est activo, un comentario se asocia automticamente a cada mtodo o formulario creado o modificado en la
base. Un comentario automtico puede contener texto esttico (como Modificado por) y elementos variables (fecha, hora y
usuario actual tal como estn definidos en la tabla de contraseas de 4D).
Los comentarios automticos se definen en la caja de dilogo de Propiedades de la base, Pgina General (ver el prrafo ).
- 116 -
Al igual que los comentarios estndar, usted puede verlos en el Explorador.
Para activar el sistema de comentarios automticos:
1. Muestre la caja de dilogo de Propiedades va el comando Propiedades de la base... del men Diseo o haciendo
clic en el botn Propiedades de la barra de herramientas de 4D.
2. En la pgina General, seleccione la opcin Activar los comentarios auto.
3. Introduzca el texto de los comentarios.
Puede insertar textos estticos y elementos variables utilizando los botones Fecha, Hora y Usuario ubicados en el
rea. Tambin puede introducir directamente las siguientes variables:
#D para la fecha
#H para la hora
#N para el usuario actual
Por ejemplo, si introduce los siguientes valores:

El comentario automtico se aadir a los comentarios para todos los nuevos mtodos y formularios, como tambin para
todos los mtodos y formularios existentes que se modifican dos despus de que se activan los comentarios automticos:

- 117 -
Nota: si la base no tiene un sistema de contraseas, #N devuelve la cadena Diseador.
4D Server: los comentarios automticos pueden ser modificados por todo equipo cliente con acceso a las Propiedades de
la base. Tambin puede modificar estos parmetros en las Propiedades de la base en el equipo servidor. Toda
modificacin efectuada en la pgina de comentarios automticos es tenida en cuenta de inmediato por cada equipo cliente
tan pronto como se modifica un objeto comentado.

- 118 -
Explorador de ejecucin

Acceder al Explorador de ejecucin


Pgina Seguimiento
Pgina Proceso
Pgina Punto de interrupcin
Pgina Captura

- 119 -
Acceder al Explorador de ejecucin

La ventana del Explorador de ejecucin le permite revisar el comportamiento de los diferentes elementos estructurales de su
base y verificar que los recursos disponibles funcionen correctamente. El Explorador de ejecucin es particularmente til
durante las fases de desarrollo y anlisis de una aplicacin.
La ventana del Explorador de ejecucin, puede mostrarse en los entornos Diseo y Aplicacin, en modo interpretado o
compilado.
En una base protegida por contraseas, solamente el Diseador y Administrador tienen acceso a la ventana del
Explorador de ejecucin.
El Explorador de ejecucin puede mostrarse en dos tipos de ventanas: en una ventana estndar o en una paleta flotante. La
paleta flotante siempre se muestra en el primer plano.
Para mostrar la ventana del explorador de ejecucin en una ventana estndar, seleccione el comando Explorador de
ejecucin del men Ejecucin.
Para mostrar la ventana del Explorador de ejecucin como una paleta flotante:
presione Ctrl+Mays+F9 (Windows) o Comando+Mays+F9 (Mac OS)
Mantenga presionada la tecla Mays y seleccione el comando Explorador de ejecucin en el men
Ejecucin.
La ventana del Explorador de ejecucin tiene cuatro pginas, accesibles va los botones ubicados a la izquierda:
Seguimiento, Proceso, Punto de interrupcin y Captura.

- 120 -
Pgina Seguimiento

La pgina Seguimiento es un depurador y muestra informacin sobre la ejecucin del cdigo relacionada con la aplicacin
y el proceso seleccionado.
Las reas ubicadas en la parte inferior de la ventana permiten configurar la informacin mostrada:
Proceso seleccionado: esta lista desplegable contiene todos los procesos que estn en ejecucin en la base,
permitindole seleccionar los procesos que quiere observar.
Actualizar cada: en esta rea puede definir un valor (en segundos) que indique la frecuencia de actualizacin de la
informacin en la pgina.
La columna Expresin muestra los nombres de los objetos y expresiones. La columna Valor muestra el valor actual de los
objetos y expresiones. Estas columnas pueden ser redimensionadas, una en relacin con la otra. Haciendo clic en un valor
en la columna derecha, puede modificar el valor del objeto, si es posible.

La lista jerrquica multiniveles est organizada por tema. Los temas son los siguientes:
Variables
Valores del formulario actual
Constantes
Semforos
Procesos
Tablas y campos
Conjuntos
Selecciones temporales
Informacin
Web
La informacin ofrecida en estos temas es idntica a la propuesta por el depurador de 4D. Para mayor informacin, consulte
la seccin Panel de expresinen el manual Lenguaje de 4D.
Para borrar una expresin o tema, seleccione la lnea correspondiente y presione la tecla Suprimir o Retroceso.
El men contextual permite efectuar varias operaciones:

Tambin puede aadir una Nueva expresin o insertar un Comando 4D o realizar operaciones globales como: Eliminar
todo, mostrar todas las Expresiones estndar, Contraer todo o Expandir todo.
Nota: puede aadir una nueva expresin haciendo doble clic en la columna Expresin.
Adicionalmente, hay varias opciones de despliegue disponibles en la parte inferior del men contextual:
Mostrar tipos: muestra u oculta los tipos de campos junto a sus nombres en la lista tablas y campos.
Mostrar nmeros de tablas y campos: muestra u oculta los nmeros de tablas y campos junto a sus nombres en la
lista tablas y campos. Para cada campo se aplica el siguiente formato: [NmeroTabla]NmeroCampo.
Mostrar iconos: muestra u oculta los iconos de los objetos en la lista jerrquica.
Tablas y campos ordenados: ordena alfabticamente la lista de tablas y campos (por defecto, estos objetos
aparecen en el orden en que fueron creados).
Mostrar enteros en hexadecimal: muestra las variables declaradas como de tipo Entero o Entero largo en su forma
hexadecimal.
- 121 -
Activar seguimiento de actividad: muestra informacin adicional relacionada con el planificador y la red de
comunicaciones. Esta informacin de bajo nivel, agrupada en los elementos Planificador y Red, permiten hacer un
seguimiento avanzado de la actividad interna de la aplicacin. Atencin, al activar esta opcin los procesos pierden
velocidad.

- 122 -
Pgina Proceso

La pgina Proceso permite visualizar el tiempo CPU consumido as como tambin diferente informacin sobre cada
proceso creado en la base.
Usted tambin dispone de varias herramientas para los procesos (excluyendo procesos sistema). Para mayor informacin
sobre procesos en 4D, consulte la seccin Procesos en el manual Lenguaje de 4D.
Nota 4D Server: la pgina Proceso del Explorador de ejecucin en un cliente 4D controla los procesos de este cliente 4D.
La Pgina Procesos de la ventana de administracin de 4D Server controla todos los procesos de los clientes conectados
al servidor.

Informacin sobre los procesos

Para cada proceso, la pgina da la siguiente informacin:


tipo del proceso
nmero del proceso (nmero de identificacin, idntico al nmero de proceso. Este nmero de identificacin es
utilizado por los comandos y funciones para designar un proceso particular).
nombre del proceso,
estado actual del proceso,
tiempo de ejecucin total del proceso en segundos desde su creacin,
el porcentaje de tiempo CPU consumido por el proceso.

Tipo de proceso
Cada proceso est identificado por un cono, cuyo color y forma indican su tipo:
Servidor de aplicacin
Servidor SQL
Servidor DB4D (motor de base de datos)
Servidor Web
Servidor SOAP
Proceso client 4D protegido (proceso desarrollo de un 4D conectado)
Proceso client 4D principal (proceso principal de un 4D conectado; proceso cooperativo, equivalente en el servidor
del proceso creado en el equipo cliente)
Proceso client 4D de base de datos (proceso paralelo a un proceso cliente 4D; proceso preemptive responsable de
controlar el proceso client 4D principal correspondiente)
Proceso Spare (anterior o futuro "Proceso client 4D de base de datos")
Proceso client 4D (proceso corriendo en el 4D conectado)
Procedimiento almacenado (proceso lanzado por un 4D conectado y ejecutado en el servidor)
Mtodo Web (lanzado por un 4DACTION por ejemplo)
Mtodo SOAP (lanzado por un Web Service)
Mtodo SQL (lanzado por una peticin SQL)

Nmero de proceso
Cada proceso tiene un nmero nico que corresponde al orden de creacin del proceso durante la sesin. Cuando se inicia
la aplicacin, los primeros nmeros se asignan a los procesos creados automticamente por 4D (su nmero vara de
acuerdo a los servidores ejecutados al inicio).
Cuando inicia su propio proceso, el proceso aparece como el siguiente proceso en la secuencia o toma el lugar de un
proceso que haya sido abortado. Por ejemplo, supongamos que se estn ejecutando los procesos 7 y 8. Si se aborta el
proceso 7, el siguiente proceso iniciado se convertir en el proceso 7.
Nota: Los procesos se abortan automticamente una vez terminan las tareas para las que fueron creados. Puede abortar un
proceso antes de que termine utilizando el Explorador de ejecucin. Para mayor informacin, consulte Abortar un proceso.

Nombre del proceso


Si inicia un nuevo proceso utilizando New process o Execute on server, puede definir su nombre como parmetro para la
funcin. El nombre especificado en el parmetro aparece como el nombre del proceso en la lista de procesos.
- 123 -
Si no especifica un nombre de proceso utilizando un comando, 4D asigna automticamente un nombre por defecto al
proceso. Los nombres por defecto estn basados en el mtodo utilizado para iniciar el proceso:
Procesos creados desde un comando de men: si crea un proceso desde un comando de men, el proceso
recibe por defecto el nombre M_NmeroProceso. Por ejemplo, si el proceso 7 se crea utilizando un comando de
men, el proceso recibe el nombre ML_7.
Procesos creados a partir de la ejecucin de un mtodo: si inicia un proceso desde la caja de dilogo Ejecutar
mtodo o directamente del editor de mtodos, el mtodo recibe por defecto el nombre P_ProcessNumber. Por
ejemplo, si el proceso 8 se inicia por programacin, el proceso recibe el nombre P_8.
Procesos creados utilizando un comando, pero no llamados explcitamente: si inicia un proceso utilizando un
mtodo pero no especifica el nombre como un parmetro para el comando New process, el nombre del proceso se
deja en blanco.
Nota para 4D Server: si el nombre de un proceso comienza por el carcter ($), es un proceso local que no tiene acceso a
las tablas o al servidor 4D. (ver Procesos globales y locales).

Estado de un proceso
El estado de un proceso es el estado actual de su ejecucin. Los estados siguientes pueden mostrarse en la lista de los
procesos:
Ejecutndose: el proceso se est ejecutando.
Suspendido: el proceso est detenido por un tiempo especifico. Durante el periodo que el proceso est suspendido,
el proceso no toma ningn tiempo de procesamiento. Para mayor informacin sobre cmo suspender un proceso,
consulte el manual de Lenguaje 4D.
Esperando evento: el proceso est esperando una accin del usuario tal como hacer clic a un botn, la seleccin de
un comando.
Esperando entrada/salida: el proceso est esperando a que ocurra una entrada o salida. Por ejemplo, un proceso
puede necesitar esperar mientras un grupo de registros est siendo actualizado en el disco.
Esperando semforo: el proceso est esperando que los procesos internos terminen de ejecutar las tareas de la
base 4D.
Detenido: el proceso est detenido hasta que se le indique que retome la ejecucin. Durante el perodo que el
proceso est suspendido, no aade tiempo de procesamiento. Para mayor informacin, consulte Suspender y
reactivar un proceso.
Abortado: el proceso se termina. Cuando un proceso se aborta, 4D libera todos los registros bloqueados, cancela
todas las transacciones abiertas por el proceso pero no validadas o canceladas y libera la seleccin actual as como el
registro actual. Los procesos se abortan automticamente una vez terminados. Igualmente puede abortar un proceso
antes de que haya sido completado utilizando el Explorador de ejecucin. Para mayor informacin sobre cmo abortar
un proceso, consulte Abortar un proceso.
Dilogo Modal Oculto: un proceso que mostraba una caja de dilogo modal se esconde de manera que el usuario no
pueda ver ms la caja de dilogo. El proceso permanecer en este estado hasta que la caja de dilogo se muestre
nuevamente.

Tiempo y porcentaje CPU de la ejecucin


El Explorador de ejecucin muestra los tiempo de proceso de cada proceso. Cuando se administran los procesos, 4D divide
el tiempo de procesamiento entre los diferentes procesos en ejecucin. De esta manera, la duracin de la ejecucin es el
tiempo total de ejecucin (en segundos) que un proceso ha tomado desde su creacin. Note que el tiempo de
procesamiento no corresponde a la cantidad total de tiempo que ha pasado desde que el proceso comenz a ejecutarse, ya
que en realidad, la ejecucin de los procesos alterna entre todos los procesos abiertos.
El radio CPU corresponde al porcentaje de tiempo que 4D dedica a este proceso. La frecuencia de refrescar puede
configurarse va un men contextual (clic derecho en la lnea):

Cuanto mayor sea el tiempo de actualizacin, ms tiempo de CPU es consumida por el proceso Runtime Explorer.

Acciones en los procesos

El Explorador de ejecucin le permite controlar la ejecucin de procesos suspendiendo, retomando o abortando un proceso.
Puede igualmente elegir ejecutar en modo depuracin. Por ltimo, en cualquier momento puede ocultar y volver a mostrar
sus ventanas. Estas operaciones se cubren en detalle en las secciones a continuacin.
Estas operaciones se llevan a cabo por medio de botones de control que se encuentran por debajo de la lista de procesos.
Estos botones afectan a la seleccin de procesos. Puede seleccionar ms de un proceso a la vez (Mays+clic para una
seleccin adyacente o Comando/Ctrl+ clic para una seleccin no adyacente).
Nota: puede suspender un proceso por un perodo de tiempo especfico. Para mayor informacin al respecto, consulte el
- 124 -
manual de Lenguaje 4D.

Suspender y reactivar la ejecucin de un proceso


Puede suspender temporalmente la ejecucin de un proceso. Suspender un proceso permite, por ejemplo, disponer de ms
tiempo de proceso para la ejecucin a otros procesos o permitir un evento del cual depende el proceso para que ocurra.
Por ejemplo, suponga que inicia un proceso que imprime una seleccin de registros. Luego se da cuenta de que quiere
modificar la informacin en uno de los registros de manera que primero suspende el proceso, realiza sus modificaciones y
luego reactiva el proceso para continuar imprimiendo los registros.
Para suspender un proceso, seleccinelo y haga clic en el botn Pausa . El estado del proceso en la ventana del
editor cambia automticamente a suspendido. El proceso permanece suspendido indefinidamente hasta que le
indique que reactive la ejecucin.
Para reactivar la ejecucin de un proceso, seleccinelo y haga clic en el botn Reactivar . El estado del proceso
regresa al estado que el proceso tenia antes de ser suspendido. Por ejemplo, si el proceso se estaba ejecutando
antes de ser suspendido, el proceso comienza nuevamente su ejecucin. Si el proceso estaba esperando por un
evento antes de ser suspendido, continua esperando por un evento.

Abortar un proceso
Un proceso se aborta automticamente una vez termina la tarea que realiza. Sin embargo, podra necesitar abortar un
proceso antes de que termine con fines de depuracin. Los procesos no deben abortarse por otras razones. Para detener la
ejecucin del proceso, se aborta el proceso en el Explorador de ejecucin.
Cuando se aborta un proceso, 4D libera todos los registros bloqueados, cancela todas las transacciones abiertas por el
proceso pero no validadas o canceladas y libera la seleccin y el registro actual.
Para abortar un proceso, seleccinelo y haga clic en el botn Abortar . El estado del proceso en el Explorador de
ejecucin cambia automticamente a abortado.
Depurar un Proceso
Puede depurar un proceso monitoreando su ejecucin en el depurador de 4D.
Para depurar un proceso, seleccinelo y haga clic en el botn Depurar .
Si el proceso est siendo ejecutado, aparece la ventana de depuracin de 4D, permitindole depurar el proceso
ejecutndolo paso a paso y evaluando expresiones tales como el valor de los campos y variables utilizadas en el mtodo. Si
el proceso fue detenido, 4D guarda la solicitud y muestra la ventana de depuracin tan pronto como la ejecucin del
proceso se reactive.
Para mayor informacin sobre la utilizacin de la ventana de depuracin, consulte el manual Lenguaje 4D.
No es posible depurar los procesos internos creados y administrados por 4D.

Ocultar un proceso
Puede volver un proceso invisible en el modo Aplicacin. Cuando un proceso est oculto, todas las ventanas y todos los
mens creados para el proceso son invisibles para los usuarios durante su ejecucin.
Ocultar un proceso es til para las operaciones en las cuales usted abre una ventana que quiere cerrar ms tarde. En lugar
de abortar el proceso para cerrar la ventana, puede volver la ventana invisible para el usuario ocultando el proceso que la
abre. Aunque la ventana est oculta, el proceso contina para ejecutar y completar la operacin que comenz.
Para ocultar un proceso, seleccinelo y elija el comando Ocultar en el men de opciones:

Ahora el proceso est oculto en el modo Aplicacin. Note que el proceso contina la ejecucin aunque est oculto.
Puede mostrar en cualquier momento un proceso oculto.
Para mostrar nuevamente un proceso, haga clic en el botn Mostrar . El proceso se muestra nuevamente en el entorno
Aplicacin.

Traer un proceso al frente


Puede pasar una ventana al primer plano pasando al primer plano el proceso que la genera. Por ejemplo, si se pasa al
primer plano el proceso principal, el modo Aplicacin pasa al primer plano de la pantalla.
Puede pasar al primer plano todos los procesos usuario. Si ha creado una ventana para un proceso, esta ventana se
convierte en la ventana del primer plano de la pantalla. Si una barra de mens est asociada a la ventana, 4D pasa la barra
de mens al primer plano y los mens de la barra se convierten en los mens actuales. La barra de mens actual se
reemplaza por la barra de mens del proceso que pas al primer plano.
Para pasar un proceso al frente, seleccinelo y elija el comando Traer al frente .
Todas las ventanas asociadas al proceso pasan al primer plano. Adems, 4D muestra la barra de mens de la ventana
actual del proceso.

- 125 -
Pgina Punto de interrupcin

Permite visualizar y administrar los puntos de interrupcin que haya puesto en su base.
Esta pgina se describe en la seccin Lista de puntos de interrupcin del manual Lenguaje.

- 126 -
Pgina Captura

La pgina Captura muestra los puntos de interrupcin definidos en la base en relacin con comandos (o expresiones).
Esta pgina se describe en la seccin Capturas de comandos del manual Lenguaje.

- 127 -
Buscar y reemplazar

Presentacin
Efectuar una bsqueda
Ventana de resultados
Reemplazar en el contenido
Renombrar
Buscar elementos sin utilizar

- 128 -
Presentacin

4D ofrece varias funciones de bsqueda y reemplazo de objetos en todo el entorno Diseo.


Puede buscar una cadena de caracteres o un tipo de objeto (variable, comentario, expresin, etc.), en una parte o en
toda la estructura de la base sobre la base de criterios personalizados ("comienza por", "contiene", etc.). Puede, por
ejemplo, buscar todas las variables que contienen la cadena "MiVar", slo en los mtodos cuyo nombre comienza por
"HR_".
Los resultados se muestran en una ventana de resultados, donde es posible realizar reemplazos en el contenido.
Puede detectar las variables y mtodos que no se utilizan en el cdigo y luego borrarlos para liberar memoria.
Puede cambiar el nombre de un mtodo proyecto o una variable en todo el entorno Diseo en una sola operacin.
Nota: tambin hay funciones de bsqueda entre los mtodos de su base, las cuales estn disponibles en el men contextual
de la Pgina Mtodos en el Explorador: Buscar los llamantes y Buscar las dependencias. Las dos funciones muestran
los elementos encontrados en una Ventana de resultados.

Lugar de bsqueda

Una bsqueda en el entorno Diseo, por defecto busca en los siguientes objetos:
Mens (nombres y elementos) y comandos asociados a los elementos
Listas (nombres y elementos)
Imgenes de la librera (nombres)
Mensajes de ayuda (nombres y contenido)
Nombres de formatos / filtros (nombres y contenido)
Nombres de tablas y campos
Nombres de los formularios
Nombres de mtodos de proyecto
Comentarios en el Explorador
Contenido de todos los mtodos (triggers, mtodos base, mtodos proyecto, mtodos objeto)
Contenido de los formularios:
1. nombres de los objetos
2. nombres de mensajes de ayuda utilizados por los objetos
3. nombres de imgenes utilizadas por los objetos
4. nombres de variables utilizadas por los objetos
5. nombres de hojas de estilo utilizadas por los objetos
6. cadenas de formatos
7. ttulos de los objetos
8. referencias a campos o tablas

- 129 -
Efectuar una bsqueda

Lanzar una bsqueda

Especifique sus criterios de bsqueda en la ventana "Buscar en Diseo". Para hacerlo:


1. Haga clic en el botn en forma de lupa en la barra de herramientas de 4D.
O
Elija el comando Buscar en Diseo... del men Edicin.
Aparece la ventana de bsqueda:

Las reas de esta ventana varan dinmicamente en funcin de las selecciones realizadas en los mens.
2. Construya su bsqueda usando los diferentes mens y reas de entrada del rea "Definicin" y si es necesario
introduzca la cadena de caracteres a buscar.
Estos elementos se describen en las secciones siguientes.
3. Configure las opciones de bsqueda (si es necesario).
Estas opciones se describen en la seccin "Opciones de bsqueda" a continuacin.
4. Haga clic en Aceptar o presione la tecla Intro.
La bsqueda comienza. Cuando haya finalizado, aparece la ventana de resultados listando los objetos que contiene la
cadena introducida (ver la seccin Ventana de resultados).
Nota: puede interrumpir una bsqueda en cualquier momento presionando la tecla Esc.
Una vez haya efectuado una bsqueda, el valor introducido en el rea de bsqueda se guarda en la memoria. Este valor, as
como todos los dems valores ingresados durante la misma sesin, se pueden seleccionar desde el combo box:

Uso de la barra de herramientas


Puede realizar bsquedas utilizando la barra de herramientas del entorno Diseo de 4D.
- 130 -
Si no se ha realizado ninguna bsqueda durante la sesin, puede introducir la cadena de caracteres a buscar y
presionar Retorno de carro o la tecla Intro. Se efecta automticamente una bsqueda del tipo "el texto que
contiene" con las opciones por defecto.

Si desea repetir una bsqueda efectuada durante la sesin, puede seleccionarla en la lista desplegable.

Si la bsqueda se realiz utilizando la ventana Buscar, se efecta con las opciones definidas en esta ventana.
La bsqueda se inicia inmediatamente. Una vez efectuada la bsqueda, aparece una ventana de resultados, listando todos
los objetos que contienen la cadena introducida.

Definicin de una bsqueda

Las bsquedas en el entorno Diseo pueden basarse en uno o ms criterios.

Buscar
Puede especificar el tipo de elemento a buscar usando el men Buscar. Las siguientes opciones estn disponibles:

Texto: en este caso, 4D busca una cadena de caracteres en todo el entorno Diseo.
La bsqueda se realiza en modo de texto sin formato, sin tener en cuenta el contexto. Por ejemplo, puede buscar el
texto "ALERTA ("Nmero de error: "+" o "boton27".
En este modo, no puede utilizar el carcter comodn porque "@" se considera como un carcter estndar.
Comentario: una bsqueda de este tipo equivale a la anterior pero est restringida al contenido de los comentarios en
el cdigo (lneas que comienzan por //) y en la ventana del Explorador (ver Utilizar los comentarios). Por ejemplo,
puede buscar los comentarios que contengan la cadena "A verificar".
Nota: el resultado final de ambos tipos de bsquedas depende de cmo est configurado el modo de bsqueda (ver el
prrafo Modo de bsqueda).

Expresin lenguaje: permite buscar toda expresin 4D vlida, efectuada en modo "contiene". La validez es
importante porque 4D debe poder evaluar una expresin para buscarla. Por ejemplo, una bsqueda de la expresin "
[clientes" (expresin invlida) no devolver ningn resultado, mientras que "[Clientes]" es correcta.
Esta opcin es especialmente adecuada para las bsquedas de asignaciones y comparaciones de valores. Por
ejemplo:
Bsqueda de "mivar:=" (asignacin)
Bsqueda de "mivar=" (comparacin)
Elemento del lenguaje: permite buscar un elemento de lenguaje especfico por su nombre. 4D distingue entre los
siguientes elementos:
Mtodo proyecto: nombre de mtodo de proyecto, por ejemplo "M_Add". Tenga en cuenta que esta bsqueda
(asociada al modo es exactamente) es el equivalente del comando contextual Buscar las referencias en el
editor de mtodos (ver el prrafo ).
Formulario: nombre del formulario, por ejemplo, "Entrada". El comando busca entre los formularios proyecto y
los formularios tabla.
Campo o Tabla: nombre de tabla o campo, por ejemplo "Clientes".
Variable: cualquier nombre de variable, por ejemplo "$mivar".
Constante 4D: cualquier constante, como "es una imagen".
Cadena entre comillas: constante texto literal, es decir, cualquier valor dentro de las comillas en el editor de
cdigo o insertado en las reas de texto del editor de formularios (texto esttico o un rea de grupo). Por
ejemplo, una bsqueda de "Martin" obtendr resultados si su cdigo contiene la lnea:
QUERY ([Clientes];[Clientes]Nombre="Martin")
Comando: comando 4D, por ejemplo, "Alerta".
Plug-in: comando de plug-in instalado en la aplicacin, por ejemplo "WR Find".
Todo: esta opcin permite efectuar una bsqueda entre todos los objetos en el entorno Diseo. Slo el filtro de fecha
de modificacin est disponible. Utilice esta opcin, por ejemplo, para buscar "todos los objetos modificados hoy".
- 131 -
Modo de bsqueda
El men de modo de bsqueda (es decir, que, que es o cuyo nombre, en funcin del tipo de bsqueda) especifica cmo
buscar el valor que se escribe. El contenido de este men vara segn el tipo de elemento a buscar seleccionado en el men
anterior.
Bsqueda de texto o comentario:
contiene: busca la cadena entre los textos en el entorno Diseo. La bsqueda de "var" puede encontrar "mivar",
"variable1" o "aVariable".
Contiene la palabra completa: busca la cadena como una palabra completa en todo el texto del entorno
Diseo. Los resultados de la bsqueda de "var" slo incluye ocurrencias exactas. No incluirn "mivar", pero
incluirn, por ejemplo, "var:=10" o "ID+var", porque los smbolos: o + son separadores de palabras.
comienza por / termina en: busca la cadena al principio o al final de la palabra (bsqueda de texto) o al
principio o al final de la lnea de comentario (bsqueda comentario). En modo "Texto termina en", la bsqueda de
"var" encontrar "mivar".
Bsqueda de elemento de lenguaje: el men ofrece las opciones estndar (es exactamente, contiene, empieza
por, termina en) similares a las ofrecidas en las versiones anteriores de 4D. Tenga en cuenta que puede utilizar el
comodn de bsqueda (@), con la opcin es exactamente (devuelve todos los objetos del tipo definido).

Fecha de modificacin del padre


Este men restringe la bsqueda con respecto a la fecha de creacin/modificacin del elemento padre (es decir, por
ejemplo, el mtodo que contiene la cadena que se busca). Este men contiene los criterios de fecha estndar (es igual a, es
anterior a, es posterior a, es diferente de), as como varias nuevas opciones que le permiten especificar un perodo de
bsqueda estndar:
es hoy: periodo que comienza a la medianoche (00:00 h) del da en curso.
es desde ayer: periodo que incluye el da actual y el anterior.
es esta semana: perodo que comienza el lunes de la semana actual.
es este mes: periodo que comienza el primer da del mes en curso.
Carpeta
Este men permite restringir la bsqueda a un nivel de carpeta. Por defecto (opcin "Nivel superior"), la bsqueda se lleva a
cabo en todas las carpetas.

Nota: las carpetas de objetos se definen en la Pgina Inicio del Explorador.

Opciones de bsqueda

Puede seleccionar diferentes opciones de bsqueda que le pueden ayudar a acelerar sus bsquedas:
Buscar en los formularios: cuando esta opcin est deseleccionada, la bsqueda global se efecta por toda la
base, excepto en formularios y nombres de formularios.
Buscar en los mtodos: cuando esta opcin est deseleccionada, la bsqueda global se efecta por toda la base,
excepto en mtodos y en nombres de mtodos.
Sensible a maysculas y minsculas: cuando esta opcin est seleccionada, la bsqueda tiene en cuenta cmo se
introdujeron los caracteres en la caja de dilogo Buscar. Por lo tanto, si busca MiVar, 4D no encontrar miVar.

Ejemplos de bsquedas

Una bsqueda eficaz resulta de la combinacin adecuada de las opciones de los mens de la ventana de bsqueda. Para
ilustrar el funcionamiento de la bsqueda en 4D v12, a continuacin presentamos algunos ejemplos de bsquedas tpicas y
cmo configurarlas.
Bsqueda de todos los lugares donde un valor fue asignado directamente a la variable vTInit:

- 132 -
Bsqueda de las referencias al formulario "Entrada" de la tabla [Clientes]:

Bsqueda de la llamadas a los mtodos cuyo nombre comienza por "HR_":

- 133 -
Lista todas las variables en la base:

Bsqueda de la palabra clave "Diseador" en los comentarios escritos en la semana:

- 134 -
- 135 -
Ventana de resultados

La Ventana de resultados lista los objetos que cumplen con los criterios definidos va diferentes tipos de bsquedas:

bsqueda estndar (ver la seccin Efectuar una bsqueda)


bsqueda de elementos no utilizados (ver la seccin Buscar elementos sin utilizar).
bsqueda de llamantes (ver Buscar llamadas)
bsqueda de dependencias (ver Buscar las dependencias) (a partir de 4D v13 nicamente)
renombramiento de mtodos de proyecto y de variables (ver Renombrar)

La ventana de resultados muestra los resultados como una lista jerrquica organizada por tipo de objeto encontrado. Puede
expandir o contraer todos los elementos utilizando los comandos correspondientes del men de opciones (que se encuentra
en la parte inferior izquierda de la ventana) o del men contextual.

Puede hacer doble clic en una lnea en esta ventana para ver el objeto en el editor. Si hace varias bsquedas, cada
bsqueda abre su propia ventana de resultados, dejando abiertas las ventanas de resultados anteriores.
Cuando se encuentran ms de una ocurrencia de un objeto o una cadena dentro de un mtodo, la lista indica su nmero al
lado del nombre del objeto.
Este botn le permite hacer de nuevo la bsqueda con los mismos criterios y opciones.

Tambin puede acceder a la funcin Reemplazar en el contenido en la ventana de resultados.

Men de opciones

El men de opciones le permite efectuar diferentes acciones:

Nota: tambin puede encontrar estas acciones en el men contextual de la ventana.


- 136 -
Quitar de la lista: borra los elementos seleccionados de la ventana de resultados. Ms especficamente, le permite
conservar slo los elementos objetivo de un remplazo en el contenido o utilizados para un arrastrar soltar entre
aplicaciones.
Remplazar en el contenido: remplaza una cadena de caracteres al interior de los elementos seleccionados. Esta
funcin se describe en Reemplazar en el contenido
Seleccionar >: selecciona un tipo de elemento (mtodos proyecto, nombres de objetos, etc.) entre los elementos
presentes en la Ventana de resultados. El submen jerrquico tambin ofrece los comandos para seleccionar
(Todo) o deseleccionar todos los elementos (Ninguno).
Contraer todo/Expandir todo: expande o contrae todos los elementos jerrquicos de la lista.

Utilizar arrastrar y soltar

Puede arrastrar y soltar objetos entre dos aplicaciones en modo Diseo desde la Ventana de resultados. Los principios de
desplazamiento de objetos (en particular "objetos indisociables") se describe en el captulo Arrastrar y soltar objetos.
Las tablas referenciadas en los mtodos se mueven ahora por defecto con los mtodos. Puede desactivar este
funcionamiento presionando la tecla Mays al arrastrar los mtodos desde la ventana.

- 137 -
Reemplazar en el contenido

La funcin de reemplazo en el contenido permite reemplazar una cadena de caracteres por otra dentro de los objetos
listados en la seccin Ventana de resultados. El comando Reemplazar en el contenido se encuentra disponible en el
men de opciones de la ventana:

Cuando selecciona este comando, aparece una caja de dilogo donde se introduce la cadena de caracteres que
reemplazar todas las ocurrencias encontradas por la bsqueda inicial:

Las operaciones de reemplazo funcionan as:


El reemplazo se efecta entre todos los elementos presentes en la lista y no en una seleccin. Sin embargo, es posible
reducir la operacin de reemplazo, reduciendo el contenido de la lista utilizando el comando Quitar del men
contextual:

Slo las ocurrencias mostradas en la lista sern sustituidas y slo despus de comprobar los criterios de bsqueda
iniciales para los casos en que se modificaron los objetos entre la bsqueda inicial y la operacin de sustitucin.
- 138 -
El reemplazo se efecta en:
el contenido de los mtodos
las propiedades de los objetos de formulario
el contenido de los mensajes de ayuda
el contenido de los filtros de entrada
el contenido de los elementos de mens (textos y llamadas de mtodos)
el contenido de las listas de opciones
el contenido de los comentarios sobre los mtodos, formularios, tablas y campos en el Explorador.
Para cada objeto modificado, 4D comprueba si ya est cargado por otra mquina o en otra ventana. En caso de
conflicto, aparece una caja de dilogo estndar indicando que el objeto est bloqueado. Puede cerrar el objeto e
intentar nuevamente luego o cancelar su reemplazo. La operacin de sustitucin continuar con los dems objetos de
la lista.
Si un mtodo o un formulario afectado por una operacin "reemplazar en el contenido" est siendo editado por la
aplicacin 4D, se modificar directamente en el editor abierto (sin advertencia). Los formularios y mtodos
modificados de esta manera no se guardan de forma automtica: tendr que utilizar el comando Guardar o Guardar
todos para validar los cambios.
Cuando un reemplazo se efecta en un elemento de la lista, el elemento se muestra en itlica. Aparece un conteo en
tiempo real de reemplazos efectuados en la parte inferior de la ventana.
Los objetos nunca son renombrados por la funcin Reemplazar en el contenido, a excepcin de los objetos en los
formularios. Por lo tanto es posible que ciertas ocurrencias de la lista puedan no verse afectados por el reemplazo.
Esto puede ocurrir cuando slo el nombre del elemento corresponde con los criterios de bsqueda inicial. En este
caso, no todos los elementos de la lista aparecen necesariamente en cursiva y el recuento de los reemplazos es
inferior al nmero de ocurrencias encontradas por la bsqueda inicial.

- 139 -
Renombrar

4D ofrece una funcin de cambio de nombre de mtodos proyecto y de variables con propagacin en toda la base. Esta
funcin es accesible:
va la opcin Renombrar... del men contextual del editor de mtodos (mtodos proyecto y variables),
va la opcin Renombrar el mtodo... del men contextual del Explorador (mtodos proyecto).

Cuando selecciona este opcin, aparece una caja de dilogo que le permite introducir el nuevo nombre del objeto:

El nuevo nombre debe cumplir con las reglas de nombres; de lo contrario aparecer una advertencia cuando se valide la caja
de dilogo. Por ejemplo, no es posible cambiar el nombre de un mtodo por un nombre de comando como "Alert".
Dependiendo del tipo de objeto que est renombrando (mtodo proyecto o variable), la caja de dilogo de cambio de
nombre tambin puede contener una opcin de propagacin:
Mtodo proyecto: la opcin Actualizar llamantes en toda la base permite propagar el nuevo nombre del mtodo en
todos los objetos de la base. Tambin puede deseleccionar esta opcin por ejemplo para renombrar un mtodo
nicamente en el Explorador.
Variables procesos e interprocesos: la opcin Renombrar la variable en toda la base de datos permite propagar el
cambio de nombre de la variable en todos los objetos de la base. Si no deselecciona esta opcin, la variable slo se
renombra en el mtodo actual.
Variable local: no hay opcin de propagacin para este objeto, la variable se renombra nicamente en el mtodo
actual.

Relanzar la bsqueda
Este botn le permite hacer de nuevo la bsqueda con los mismos criterios y opciones. Esto puede ser til, por
ejemplo, para asegurarse de que todos los reemplazos deseados se lleven a cabo.

- 140 -
Buscar elementos sin utilizar

Dos nuevos comandos de bsqueda le permitirn detectar las variables y los mtodos que no se utilizan en su cdigo. Luego
puede eliminarlos para liberar memoria.
Estos comandos se encuentran en el men Edicin del modo Diseo:

Buscar mtodos y variables globales sin usar

El comando Buscar mtodos y variables globales sin usar busca los mtodos proyecto, as como las variables
"globales" (variables proceso y variables interproceso) declaradas pero no utilizadas. Los resultados de la bsqueda
aparecen en una Ventana de resultados estndar.
Un mtodo proyecto se considera como no utilizado cuando:
no est en la Papelera,
no se llama en ninguna parte en el cdigo 4D,
No es llamado por un comando de men,
No se llama como una constante cadena en el cdigo 4D (4D detecta un nombre de mtodo en una cadena, incluso
cuando est seguido por parmetros entre parntesis).
Una variable proceso o interproceso se considera como no utilizada cuando:
es declarada en el cdigo 4D por un comando de declaracin del tipo C_XXX o ARRAY XXX,
no se usa en ninguna parte del cdigo 4D,
no se usa en ningn objeto de formulario.
Tenga en cuenta que ciertos usos no pueden ser detectados por la funcin, es decir, un elemento considerado como no
utilizado puede en realidad ser utilizado. Este es el caso en el siguiente cdigo:

v:="metodo"
EXECUTE FORMULA("mi"+v+String(42))

Este cdigo crea un nombre de mtodo. El mtodo proyecto mimetodo42 se considera no utilizado, cuando en realidad si
se llama.
Por lo tanto, es conveniente cerciorarse de que los elementos declarados como no utilizados son en realidad innecesarios
antes de eliminarlos.

Buscar variables locales sin usar

El comando Buscar variables locales sin usar busca las variables locales declaradas pero no utilizadas. Los resultados
de la bsqueda aparecen en una Ventana de resultados estndar.
- 141 -
Una variable local se considera como no utilizada cuando:
se declara en el cdigo 4D por un comando del tipo C_XXX o ARRAY XXX,
no se usa en ninguna otra parte dentro del mismo mtodo.

- 142 -
Arrastrar y soltar objetos

Presentacin
Dilogo de desplazamiento
Propiedades de desplazamiento

- 143 -
Presentacin

En 4D, usted tiene la posibilidad de mover objetos entre dos aplicaciones en el entorno Diseo. Puede copiar en una base
las tablas, formularios, mtodos, etc. que ha creado para otra base. Esta funcin facilita y acelera el desarrollo de sus bases.
El desplazamiento de objetos no se limita a objetos individuales, tambin hace referencia a todos los objetos referenciados
por el objeto, es decir sus objetos dependientes. Usted puede mover funcionalidades enteras. Por ejemplo, si ha creado una
caja de dilogo de bsqueda personalizada, puede mover el formulario utilizado para la caja de dilogo as como tambin
los mtodos, imgenes y otros objetos que utilice. Puede copiar el formulario en otra base o en una librera agrupando las
funcionalidades utilizadas actualmente en sus bases.
Algunos objetos son inseparables: son desplazados obligatoriamente con sus objetos padre. La lista de objetos
inseparables se suministra a continuacin.

Objetos desplazables

Los objetos pueden desplazarse desde la caja de herramientas, del Explorador y del editor de formularios. Adems, es
posible efectuar un desplazamiento desde la ventana de resultados de una bsqueda global (consulte la seccin Ventana
de resultados).
Por razones de coherencia estructural, la copia de ciertos objetos llevar a la copia de los objetos asociados a ellos. Por
ejemplo, la copia de un formulario llevar a la copia del mtodo formulario y de los mtodos objeto eventualmente asociados.
Estos objetos inseparables no se pueden mover directamente solos.
Esta es una lista de objetos desplazables con sus objetos inseparables:
Objetos
Objetos desplazables
inseparables
---- Caja de herramientas ----
Listas -
Hojas de estilos -
Formatos/Filtros -
Imgenes de la librera -
Mensajes de ayuda -
---- Explorador y Ventana de resultados ----
Mtodos de
Formularios proyecto
formulario
Formularios tabla Mtodos de
formulario
Mtodos proyecto -
Carpetas / Subcarpetas -
Tablas Campos, triggers
---- Editor de formularios ----
Todos los objetos de un formulario (botones, variables, etc.). Al mover un formulario, todos los objetos Mtodos de
que contiene se mueven con l. objeto

Principios de los desplazamientos

El desplazamiento de objetos puede efectuarse indiferentemente va las funciones estndar de arrastrar/soltar o de


copiar/pegar.
Para mover objetos entre bases de datos utilizando arrastrar y soltar, debe duplicar su aplicacin 4D.
En el caso de desplazamiento entre bases, los objetos desplazados pueden pegarse o soltarse en el mismo entorno de
donde provienen (Caja de herramientas, Explorador, etc.) o en otras reas de la aplicacin. 4D efectuar la accin
apropiada en funcin del contexto, siempre que sea posible. Por ejemplo, es posible soltar un formulario en una ventana del
editor de mtodos, en este caso, el nombre del formulario se inserta en el mtodo.
Durante un desplazamiento, si un objeto del mismo tipo y con el mismo nombre ya existe en la base de destino, por defecto
el objeto existente ser remplazado por el objeto desplazado. El Dilogo de desplazamiento se mostrar en este caso;
indicando que los objetos sern reemplazados y le permitir modificar esta accin.
Los siguientes mecanismos deben tenerse en cuenta:

- 144 -
Vistas y nivel: los objetos de formulario desplazados conservan sus propiedades de ubicacin en el editor,
particularmente su posicin en las vistas o en los diferentes niveles del formulario.
Formularios heredados: los formularios heredados no se desplazan con los formularios fuente, sin embargo su
referencia se conserva. Adems, los formularios heredados se consideran como objetos dependientes y es posible
utilizar como formulario heredado otro formulario (existente) en el momento del desplazamiento (ver el siguiente
prrafo).
Derechos de acceso: los formularios y mtodos proyecto desplazados no conservan sus derechos de acceso
originales. Automticamente reciben el valor por defecto (Todos los grupos).
Carpetas: cuando mueve una carpeta desde la pgina Inicio del Explorador, la operacin incluye la carpeta y todo su
contenido (tablas, formularios y mtodos proyecto), que pueden representar un volumen de datos importante. Durante
este tipo de desplazamiento, aparece una caja de dilogo de alerta para indicar este funcionamiento.
Nota: no es posible arrastrar objetos desde la pgina Papelera del Explorador.

Objetos dependientes

Un formulario (tabla o proyecto) puede referenciar diferentes objetos como listas, imgenes, etc. Estos objetos se
llaman objetos dependientes. En algunos casos, podra necesitar mover todos los objetos dependientes, en otros
casos podra querer mover slo algunos o ninguno de estos objetos. 4D permite controlar el movimiento de los objetos
dependientes de los formularios va las Preferencias de desplazamiento as como va el Dilogo de desplazamiento.
Las preferencias de desplazamiento definen los principios a aplicar para el desplazamiento de los objetos
dependientes. Puede elegir diferentes opciones por defecto para cada tipo de objeto. Para mayor informacin,
consulte la seccin WEB SET HOME PAGE.
A partir de 4D v13, las tablas referenciadas en los mtodos proyecto se mueven por defecto con los mtodos. Puede
desactivar este funcionamiento presionando la tecla Mays cuando arrastre mtodos de la ventana de resultados o del
Explorador.

- 145 -
Dilogo de desplazamiento

Cuando mueve una seleccin de objetos (por arrastrar-soltar o copiar pegar) entre dos bases 4D o entre una base de datos
y una librera de objetos, tiene la posibilidad de mostrar una caja de dilogo que lista todos los objetos desplazados como
tambin las acciones que se asociarn a ellos en la base de destino.
Esta caja de dilogo se llama Dilogo de desplazamiento y se muestra cuando al menos uno de estos casos es verdadero:
La opcin Mostrar siempre est seleccionada en las preferencias de desplazamiento (ver la seccin WEB SET
HOME PAGE).
Al menos un objeto desplazado tiene un conflicto de nombre con un objeto en la base de destino.
La accin por defecto Utilizar otro objeto ha sido seleccionada para al menos un tipo de objeto dependiente
desplazado.
Aparte de estos casos, si el desplazamiento de los objetos no causa ningn conflicto, la caja de dilogo de desplazamiento
no aparecer y los objetos se copiarn directamente.
Esta caja de dilogo permite visualizar y/o modificar los parmetros de desplazamiento en funcin del contexto. Incluye dos
pginas: la pgina principal y la pgina detallada. Puede pasar de una pgina a otra utilizando los botones Siguiente> y
<Anterior.

Pgina principal

La pgina principal de la caja de dilogo de desplazamiento muestra la lista de los objetos desplazados:

Los objetos que tienen conflictos de nombre aparecen en negrita y los objetos dependientes aparecen en itlicas. Las
diferentes columnas indican el tipo y el nombre de cada objeto como tambin su nuevo nombre, en otras palabras, su
nombre por defecto en la base de destino. Puede modificar este nombre en la pgina detalles (ver el siguiente prrafo).
La opcin de la columna Copiar indica si el objeto se copiar o no en la base de destino. Esta opcin est activa: puede
deseleccionarla para resolver rpidamente los conflictos de copia. Note que si un conflicto involucra un objeto especifico, su
referencia (nombre) se conserva en la base de destino. Puede seleccionar/deseleccionar alternativamente todas las casillas
de la lista utilizando Alt+clic (Windows) u Opcin+clic (Mac OS) en una casilla. Tambin puede utilizar el men contextual
de la caja de dilogo.
Si los parmetros de desplazamiento por defecto le son convenientes, puede hacer clic directamente en Aceptar para
proceder a mover los objetos.
Nota: si al menos un objeto ha sido asociado a la accin Utilizar otro objeto, no puede proceder con la copia sin designar
el objeto objetivo de la base de destino (o deseleccione este objeto).
Si quiere modificar ciertas acciones, haga clic en el botn Siguiente> para mostrar la pgina detallada. Si quiere cancelar el
movimiento de los objetos, haga clic en Cancelar.
- 146 -
Pgina detallada

La pgina detallada lista los objetos a copiar (aquellos no seleccionados en la pgina principal) y permite modificar los
parmetros del desplazamiento:

Puede utilizar el men pop up de la columna Accin para modificar las acciones efectuadas en los objetos. Las acciones
propuestas en el men dependen del tipo de objeto seleccionado y se describen a continuacin.
Es posible modificar en una sola operacin la accin asignada a varias lneas. Para hacerlo, simplemente seleccione las
lneas a modificar, luego seleccione una nueva accin en la columna Accin de una de las lneas seleccionadas. La
modificacin se lleva a cabo entonces en todas las lneas de la seleccin donde sea aplicable. Si la accin es incompatible
con una lnea, la lnea no se modifica y una caja de dilogo de alerta le informar.
La columna Nuevo nombre u otro objeto muestra el nombre que se le dar al objeto una vez se copie en la base de destino.
Puede cambiar este nombre (tenga cuidado de no utilizar un nombre que ya exista en la base de destino, esto creara un
nuevo conflicto de nombre). En el caso de objetos dependientes, esta columna permite igualmente designar otro objeto de la
base de destino (cuando la accin Utilizar otro objeto est seleccionada). Por ejemplo, en el caso del desplazamiento de
un formulario tabla, puede designar una tabla de la base de destino como la tabla a la cual pertenecer en lugar de crear la
tabla.
Acciones posibles
Las acciones alternativas posibles son las siguientes:
No crear: el objeto no se copia. En el caso de un objeto dependiente, su referencia (nombre) se conserva si un objeto
del mismo nombre ya existe en la base (en este caso, es utilizado por el objeto principal). Si ningn objeto con el
mismo nombre est disponible, la referencia se borra.
Reemplazar: esta opcin se propone cuando un objeto del mismo nombre y tipo ya existe en la base. En este caso, el
objeto de la base de destino se reemplaza por uno de la base de origen.
Crear: el objeto dependiente se copia en la base de destino con sus propiedades (opcin propuesta cuando no hay
conflicto de nombre).
Crear y renombrar: esta opcin se propone cuando un objeto del mismo nombre y tipo ya existe en la base. Por
defecto, el objeto se renombra aadiendo un nmero como sufijo. En este caso, puede renombrar el objeto desplazado
en la columna Nuevo nombre u otro objeto. Claramente, las referencias del objeto se actualizan en la base de destino.
Utilizar otro objeto: esta opcin slo est disponible para los objetos dependientes. Permite utilizar otro objeto ya
presente en la base de destino como referencia. En este caso, la columna Nuevo nombre u otro objeto contiene la
lista de otros objetos que puede utilizar.
Utilizar la tabla del mismo nombre: esta opcin se propone cuando una tabla con el mismo nombre ya existe en la
base. En este caso, la columna Nuevo nombre u otro objeto contiene la lista de tablas que puede utilizar en lugar de la
tabla dependiente.
Si los objetos dependientes entre s referencian a otros objetos, la lista se actualiza en funcin de los parmetros.
Si los parmetros de desplazamiento le son convenientes, haga clic en Aceptar para proceder con el movimiento de los
objetos. Haga clic en <Anterior para volver a la pgina principal. Si quiere cancelar el desplazamiento haga clic en
Cancelar.

- 147 -
Propiedades de desplazamiento

La pgina Traslado de las MissingRef permite pre configurar los desplazamientos de objetos en la base en modo Diseo.
4D aplica estos parmetros al soltar/pegar objetos en la base, cuando se utiliza como base de destino.

Acciones por defecto durante la copia de objetos dependientes

Estas opciones permiten configurar el traslado de objetos dependientes, es decir los objetos asociados a los formularios
que se trasladan (ver Presentacin). Puede definir una accin para cada tipo de objeto dependiente.
Estas acciones por defecto se aplican automticamente si el desplazamiento de objetos no provoca conflictos y si la
opcin nicamente en caso de conflicto de nombre est seleccionada (ver la siguiente seccin). De lo contrario, se
seleccionarn por defecto en la caja de dilogo de desplazamiento.
Las acciones Ignorar, Crear (Renombrar si es necesario), Crear (Reemplazar si es necesario) como tambin Utilizar
otro objeto se proponen para cada tipo de objeto. Note que otras acciones contextuales ms especficas se proponen en la
caja de Dilogo de desplazamiento cuando se muestra. Esta es la descripcin de estas opciones:

Ignorar: un objeto dependiente de este tipo nunca se copia en la base de destino. En la caja de dilogo de
desplazamiento, la accin No crear se propone por defecto.
Crear (Renombrar si es necesario): un objeto dependiente de este tipo siempre se copia en la base de destino. En
la caja de dilogo de desplazamiento, la accin Crear se propone por defecto si el objeto no existe en la base de
destino.
En caso de conflicto de nombre con un objeto de la base de destino, el objeto copiado se renombra aadiendo el sufijo
_X, de acuerdo con el principio aplicado a los objetos principales. En este caso, la accin Renombrar se propone
por defecto en la caja de dilogo de desplazamiento.
Crear (Reemplazar si es necesario): un objeto dependiente de este tipo siempre se copia en la base de destino. En
la caja de dilogo de desplazamiento, la accin Crear se propone por defecto si el objeto no existe en la base de
destino.
En caso de conflicto de nombre con un objeto en la base de destino, el objeto copiado reemplaza el objeto existente.
En este caso, la accin Reemplazar se propone por defecto en la caja de dilogo de desplazamiento.
Utilizar otro objeto: esta opcin provoca la visualizacin sistemtica del dilogo de desplazamiento, incluso si la
opcin Mostrar slo en caso de conflicto de nombre est seleccionada. Durante el movimiento de objetos, debe
designar un objeto de la base de destino a utilizar en lugar del objeto dependiente copiado.
Nota: estas opciones slo se tienen en cuenta para los objetos dependientes. Para los objetos desplazados, la accin por
defecto es de tipo Crear (Reemplazar si es necesario).
Mostrar el dilogo de desplazamiento: este men configura la visualizacin de la caja de dilogo de
desplazamiento.
Cuando se selecciona la opcin Siempre, el dilogo aparece cada vez que se muevan objetos, lo cual permite
controlar con ms precisin la operacin. Si la opcin nicamente en caso de conflicto de nombre est
seleccionada, el dilogo slo aparece cuando un objeto trasladado (principal u objeto dependiente) tiene un conflicto
de nombre con un objeto de la base de destino.

- 148 -
Definir la estructura de la base de datos

Conceptos bsicos de bases de datos


Editor de estructura
Inspector
Crear y modificar tablas
Propiedades de las tablas
Gestin de llaves primarias
Crear y modificar campos
Tipos de campos 4D Updated 15.0
Almacenado en registro, archivo de datos o fuera del archivo de datos
Almacenamiento externo de los datos
Reglas de nombres de tablas y campos
Crear y modificar ndices
Crear y modificar relaciones
Tipos de relaciones
Propiedades de las relaciones
Exportar e importar las definiciones de estructura

- 149 -
Conceptos bsicos de bases de datos

Una base de datos es un conjunto de informacin organizada de manera que pueda ser utilizada eficientemente. Un
directorio telefnico, un diccionario, un calendario o un libro de recetas son ejemplos de bases de datos.
La informacin en una base est organizada en forma de registros. Cada registro contiene toda la informacin sobre una
persona o un elemento de la base. Por ejemplo, cada registro en el directorio telefnico contiene el nombre, direccin y
nmero telefnico de una persona.
Cada registro contiene campos. Un campo se utiliza para almacenar una informacin particular. Por ejemplo, en el directorio
telefnico un campo almacena el nombre, otro campo almacena la direccin y otro campo almacena el nmero telefnico de
la persona. Cada registro contiene cada uno de estos campos y cada registro puede tener informacin en esos campos.
El nombre de un campo generalmente identifica la informacin almacenada en el campo. Por ejemplo, los campos pueden
llamarse Nombre, Direccin o Nmero telefnico. Cada campo tiene un tipo que identifica la clase de informacin que puede
almacenar: nmeros, fechas, caracteres alfanumricos y otros. Como cada campo contiene un tipo especfico de datos,
usted puede realizar clculos y otras operaciones con la informacin guardada en ellos. Por ejemplo, puede sumar los
nmeros de dos campos. Puede comparar la fecha de un campo con la de otro. Puede mostrar el nombre de una persona
(almacenado en un campo) despus de su apellido (almacenado en otro campo) para construir la primera lnea de una
etiqueta de correo.
El conjunto de registros que utilizan los mismos campos conforma una tabla. Una base de datos puede contener muchas
tablas. La siguiente imagen muestra cmo se relacionan estos conceptos.

4D puede reorganizar los registros y realizar clculos con la informacin para hacerla mucho ms til. Por ejemplo, 4D puede
calcular los valores totales en un campo y presentar el total en un informe. Puede calcular el total de ventas por persona y
presentar una grfica que compare los resultados de las ventas.

Tablas y campos

4D permite crear desde 1 hasta 32 767 tablas por base de datos. Esto quiere decir que puede crear una estructura que se
adapte exactamente a sus necesidades.
Estructuras con una tabla nica
Algunas bases de datos tienen una tabla nica. Puede utilizar una tabla nica para categoras como empleados, empresas,
inventario, etc. Puede definir hasta 32 767 campos por tabla.

- 150 -
En el ejemplo anterior, el registro de cada uno de los empleados almacena el mismo tipo de datos. El tamao de la base de
datos crece de acuerdo al nmero de registros de empleados almacenados.
Estructuras multitablas
Una base de datos que utiliza ms de una tabla puede almacenar muchos ms datos y acceder a la informacin de forma
ms eficiente. Una buena regla para tener en cuenta es que los diferentes tipos de informacin deben almacenarse en
diferentes tablas.
Una base de datos que guarda informacin sobre empleados y empresas es un buen ejemplo. Los registros de los
empleados y las empresas se guardan en tablas diferentes. Si la direccin de una empresa cambia, slo debe modificar el
registro de esta empresa. No tiene que escribir la direccin nueva para todas las personas que trabajen en esa empresa.
Con una sola tabla, tendra que introducir la direccin en cada registro; con dos tablas, slo tiene que introducir la direccin
una vez. Cuando se introduce el nombre de una empresa en el registro de un empleado, 4D puede buscar el registro que
corresponda a esta empresa y mostrar automticamente la direccin correcta.
La siguiente imagen representa la estructura de una base de datos con dos tablas relacionadas. La flecha entre el campo
[EMPLEADOS]Empresa y el campo [EMPRESAS]Nombre representa esta relacin:

Los datos de cada empleado se almacenan en la tabla [EMPLEADOs]. Los datos sobre las empresas se almacena en la
tabla [EMPRESAS].
4D es una base de datos relacional porque puede utilizar mltiples tablas y relacionarlas de diferentes maneras. Por
ejemplo, puede crear un informe para la tabla [EMPLEADOS] que busque en la tabla [EMPRESAS] y muestre e imprima
automticamente la informacin de la empresa de cada persona. Las relaciones entre las tablas permiten que la informacin
de ambas tablas est disponible en un informe.
Tambin puede introducir datos directamente en las tablas relacionadas. Por ejemplo, una base de facturacin puede
escribir informacin en la tabla [Detalle] desde la ventana Facturacin. Tambin puede escribir datos en una tabla
relacionada utilizando el lenguaje 4D.
Igualmente podra necesitar una estructura donde las tablas no estn relacionadas directamente. Por ejemplo, puede tener
una base de datos para almacenar diferentes tipos de informacin, como una lista de contactos y una tabla de gastos.
4D permite crear hasta 32 767 tablas en cada base. Una tabla puede tener hasta 32 767 campos. Utilizando varias tablas,
todo tipo de base de datos es posible.
- 151 -
Relacionar tablas

Generalmente las tablas tienen en comn algunos datos. Por ejemplo, imagine que crea una base para almacenar
informacin sobre los empleados y las empresas que los emplean.
La estructura de la base, representada a continuacin, tiene una tabla [EMPLEADOS] para almacenar la informacin relativa
a los empleados y una tabla [EMPRESAS] para almacenar la informacin relativa a las empresas.

Aunque til, la informacin almacenada en cada tabla no corresponde completamente a sus necesidades. Cuando visualiza
un registro de la tabla [EMPLEADOS], debe poder acceder a la informacin sobre la empresa para la cual el empleado
trabaja y cuando mira un registro de la tabla [EMPRESAS], necesita poder ver la informacin sobre los empleados que
trabajan para esa empresa.
Para permitir a dos tablas compartir informacin de esta manera, las tablas pueden estar relacionadas entre ellas, en otras
palabras, una relacin puede establecerse entre los datos de cada tabla.
Crear las relaciones entre las tablas permite:
Almacenar datos eficientemente,
Actualizar los datos en un lugar y ver el cambio reflejado en todas las partes donde se utilizan los datos,
Ver informacin relacionada,
Realizar consultas y ordenaciones en una tabla, con base en los datos almacenados en otra tabla,
Crear, modificar o eliminar los registros de tablas relacionadas.
La siguiente imagen muestra una relacin creada entre la tabla [EMPLEADOS] y la tabla [EMPRESAS] en el editor de
estructura:

La tabla [EMPLEADOS] contiene un registro por persona. La tabla [EMPRESAS] contiene un registro por empresa. La
relacin entre estas dos tablas le permite visualizar, introducir, modificar o eliminar informacin de las dos tablas. Por
ejemplo:
cuando el registro de un empleado est en pantalla, puede mostrar la informacin de la empresa correspondiente, la
direccin, ciudad, estado, cdigo postal y el nmero telefnico de la empresa.
cuando aade un nuevo empleado, puede asociar el registro de la persona con el registro de la empresa
correspondiente (si la empresa ya existe en la base) o crear el registro de una nueva empresa mientras crea el registro
del empleado. Para mayor informacin, consulte la seccin Propiedades de las relaciones.
Para cada empresa, usted puede ver o modificar la informacin de cada una de las personas que trabajan en ella,
nombre, cargo, nmero telefnico y otros datos. Tambin puede aadir un nuevo registro de persona desde el registro
de la empresa.

- 152 -
Campos relacionados
Gracias a los campos relacionados, los campos que conectan dos tablas en una relacin, usted puede mostrar la
informacin de las tablas relacionadas. El objetivo principal de las relaciones entre los campos es indicar a 4D cules son
los registros actuales de una tabla en funcin al registro actual de la otra tabla. Las tablas relacionadas usan los dos campos
relacionados para identificar los registros correspondientes.
En el ejemplo anterior, el campo Empresa de la tabla [EMPLEADOS] y el campo Nombre de la tabla [EMPRESAS]
relacionan las dos tablas. El campo Nombre en la tabla [EMPRESAS] es el campo llave primaria de la tabla [EMPRESAS].
Este campo identifica de manera nica cada registro de empresa. Un campo llave primaria debe tener los atributos
Indexado y nico. Si el campo llave primaria no tiene el atributo Indexado, 4D lo asigna automticamente. El campo
Empresa de la tabla [EMPLEADOS] es un campo llave fornea.
Cada valor del campo llave fornea corresponde a un slo valor del campo llave primaria en la tabla relacionada.

En este ejemplo, un valor de campo de llave fornea de la tabla [EMPLEADOS] corresponde exactamente con un valor del
campo llave primaria en la tabla [EMPRESAS]. El campo llave fornea tambin es indexado, pero sus valores no son nicos
(varios empleados podran trabajar para la misma empresa).
A partir de 4D v14, los campos llaves primaria deben definirse explcitamente en cada tabla de la base.

Los valores del campo llave primaria generalmente se afectan automticamente por la base, utilizando un nmero de
secuencia generado por 4D o por la afectacin de un nmero calculado por un mtodo. Tal procedimiento garantiza la
unicidad del campo llave. Por ejemplo, si el campo llave primaria de la tabla [EMPRESAS] es un nmero de secuencia y no
el nombre de la empresa, es posible que los usuarios introduzcan varias compaas con el mismo nombre pero con diferente
direccin. De la misma forma, si una empresa cambia de nombre, el usuario puede hacer el cambio en la base de datos sin
afectar la relacin entre las dos tablas.
Si el usuario est autorizado a introducir el valor del campo llave primaria, debe seleccionar nico y No modificable como
(Almacenado en registro, archivo de datos o fuera del archivo de datos) para asegurar la unicidad de la entrada inicial
y evitar que posteriormente los usuarios creen un registro redundante. Si decide no utilizar el atributo No modificable, tendr
que buscar otra forma de evitar que los usuarios creen registros hurfanos en cualquiera de las tablas relacionadas al
modificar los valores del campo llave primaria.
Cuando se establecen las relaciones, usted puede leer y escribir valores en una tabla mientras trabaja en la tabla
relacionada. Por ejemplo, cuando escribe el nombre de una empresa en un registro de un empleado, 4D busca esta
empresa en la tabla [EMPRESAS] y muestra la direccin y el nmero telefnico en el registro del empleado. Cuando usted
visualiza el registro de una empresa, 4D busca en la tabla [EMPLEADOS] todos los empleados que trabajan en esa
empresa y muestra sus registros en el registro de la empresa.
Estas relaciones pueden funcionar automticamente (sin programacin de su parte) o manualmente. En este ltimo caso,
usted utiliza los mtodos para cargar y descargar los registros relacionados y controlar la creacin, modificacin o supresin
de registros relacionados. A veces las relaciones manuales son preferibles en estructuras complicadas en donde hay ms
de dos tablas relacionadas a otra y usted necesita controlar la carga y descarga de los registros relacionados. Puede elegir
utilizar relaciones automticas seleccionando las propiedades adecuadas al definir las relaciones (ver Propiedades de las
relaciones).

- 153 -
Editor de estructura

Puede acceder al editor de estructura seleccionando el comando Estructura en el men Diseo o haciendo clic en el botn
en la barra de herramientas de 4D.

El editor de estructura permite manejar la estructura de la base de datos, las tablas y sus relaciones. Le permite modificar
elementos tales como tablas, campos, sus propiedades as como tambin las relaciones entre las tablas.
El editor de estructura le ofrece una representacin grfica de la estructura de una base de datos, as como tambin una
barra de herramientas y los mens contextuales necesarios para realizar las operaciones relacionadas con la creacin de la
base.
Cada tabla est representada por una imagen en el editor de estructura. Las imgenes de las tablas muestran los campos
de la tabla y sus tipos, en forma de iconos. Una barra de informacin muestra las caractersticas de las tablas y de los
campos al pasar el ratn sobre ellos.
Una ventana flotante llamada Inspector permite visualizar y modificar las propiedades de los objetos de la estructura y del
editor de estructura. Esta ventana se describe en la seccin Inspector.

Barra de herramientas y barra de informacin

El editor de estructura dispone de una barra de herramientas que permite el acceso a varias funciones de adicin,
navegacin y visualizacin:

La parte inferior de la ventana del editor es una barra de informacin que muestra los datos en funcin del rea sobre la cual
se pasa el cursor: tabla, campo o relacin.

Seleccionar un objeto

Para trabajar con la imagen de un objeto en el editor de estructura, primero debe seleccionarla. Luego definir sus
propiedades, moverla, redimensionarla, borrarla, etc. Tambin es posible seleccionar varios objetos del mismo tipo
simultneamente con el fin, por ejemplo, de mostrar o modificar sus propiedades comunes en la paleta del Inspector. Incluso
puede seleccionar campos de diferentes tablas.
Para seleccionar una tabla:
1. Haga clic en la imagen de la tabla.
- 154 -
O
Presione [Tab] o Mays+[Tab] para seleccionar sucesivamente cada tabla de la ventana de estructura.
La tabla seleccionada est rodeada de una lnea azul. Las acciones posteriores afectan la tabla seleccionada.
Para seleccionar un campo o una relacin:
1. Haga clic en el campo o relacin.
O
Cuando una tabla est seleccionada, presione las teclas [flecha hacia arriba] o [fecha hacia abajo] para seleccionar
cada campo de la tabla.
O
Cuando una tabla est seleccionada, presione la tecla [Inicio] o [Fin] para seleccionar el primero o el ltimo campo de
la tabla.
Para seleccionar varios objetos del mismo tipo (tablas, campos, relaciones):
1. Utilice Mays+clic para seleccionar varios objetos contiguos.
O
Utilice la combinacin Ctrl+clic (Windows) o Comando+clic (Mac OS) para seleccionar varios objetos no contiguos.
O
Haga clic en un rea vaca y trace un rectngulo alrededor de los objetos a seleccionar (seleccin de tablas
nicamente).
O
Elija el comando Seleccionar todo en el men Edicin o en el men contextual del editor (seleccin de tablas
nicamente).

Trabajar las imgenes de las tablas

Puede redimensionar o mover las imgenes de las tablas en la ventana de estructura en funcin de sus necesidades.
Desplazarse en la lista de campos
Cuando aade campos a una tabla o cuando disminuye el tamao de la tabla, puede haber ms campos en la tabla de los
que la imagen puede mostrar. En este caso, 4D muestra automticamente un cursor que permite desplazarse por la lista de
los campos visibles:

Redimensionar la imagen de una tabla


Puede redimensionar la imagen de una tabla con el fin, por ejemplo, de mostrar ms nombres de campos o de reorganizar
su pantalla. Hay varias posibilidades disponibles:
Redimensionamiento manual: simplemente haga clic y arrastre la parte inferior de la tabla o su esquina inferior
derecha.

Tamao ptimo: esta funcin redimensiona automticamente las tablas seleccionadas de manera que su tamao
corresponda exactamente al de los campos que contiene (sin lneas vacas). Para aplicar el comando Tamao ptimo
a una o varias tablas, puede:
- 155 -
Seleccionar el comando Tamao ptimo en el men asociado al botn de la barra de herramientas del editor
(este comando no est activo si no hay una tabla seleccionada).

Seleccionar el comando Tamao ptimo en el men contextual del editor (clic en el ttulo de una tabla).
Mays+doble clic en el rea del ttulo de la tabla a redimensionar. Si repite esta combinacin, se aplica la
siguiente secuencia: tamao original -> tamao ptimo - > contraer.
Contraer: esta funcin redimensiona la(s) tabla(s) seleccionada(s) de manera que slo quede visible el rea con el
nombre. Esta funcin es muy til con las estructuras de gran tamao.

Para aplicar el comando Contraer a una o ms tablas, puede:


Seleccionar el comando Contraer en el men contextual del editor (clic en el rea del ttulo de una tabla).
Utilizar el atajo Mays+doble clic en el rea del nombre de la tabla a redimensionar. Si repite esta combinacin,
se aplica la siguiente secuencia: tamao original -> tamao ptimo - > contraer.
Notas:
Un doble clic estndar en el rea de ttulo de una tabla abre el Inspector.
Alt (Windows) u Opcin (Mac OS) + doble clic abre el trigger de la tabla en el editor de mtodos.
Ctrl (Windows) o Comando (Mac OS) + doble clic abre el Explorador en la pgina Formularios.
4D Server: si redimensiona la imagen de una tabla utilizando 4D Server, la tabla se redimensiona para todos los usuarios
en el entorno Diseo.

Mover las imgenes de las tablas


Puede mover las imgenes de las tablas con el fin de reagruparlas por funcin o reorganizar la ventana de estructura.
Igualmente puede alinearlas para mejorar la legibilidad de la estructura. Las posibles relaciones se dibujan nuevamente para
que correspondan con las nuevas ubicaciones.
Para mover manualmente la imagen de una tabla:
1. Haga clic en el nombre de una tabla y arrstrela utilizando el cursor.
Arrastre nicamente el nombre de la tabla. Hacer clic en otras reas de la imagen de una tabla puede provocar
diferentes efectos, tales como la creacin involuntaria de relaciones o el redimensionamiento de la imagen de la tabla.
4D Server: si mueve la imagen de una tabla, la tabla aparece en su nueva ubicacin para todos los usuarios en modo
Diseo.
Para alinear dos o ms tablas:
1. Seleccione las tablas a alinear y elija una opcin de alineacin en el men de herramientas.

Estos comandos slo estn activos cuando por lo menos dos tablas estn seleccionadas.

Desplazamiento

Las funciones de desplazamiento especficas facilitan la navegacin entre las estructuras de gran tamao:
La rueda del ratn permite desplazarse verticalmente por los contenidos de la ventana del editor (esta accin provoca
el desplazamiento de los campos de una tabla cuando el cursor est ubicado sobre la tabla).
La combinacin Mays + la rueda del ratn permite desplazar horizontalmente el contenido de la ventana.
Presionar la tecla Mays activa la herramienta mano y permite arrastrar el contenido de la ventana haciendo clic en
las reas vacas.

- 156 -
Zoom

Puede modificar la escala de visualizacin de la estructura de la base con la ayuda de la herramienta Zoom de la barra de
herramientas del editor de estructura. 100% es el valor del zoom por defecto al abrir la base. Si existe una seleccin en la
ventana, el zoom se centra en esta seleccin
La configuracin actual del zoom es especfica para cada usuario. Se memoriza al cerrar la ventana.
Nota: una opcin de las Preferencias permite configurar la renderizacin grfica del editor de estructura durante un zoom.
Para mayor informacin, consulte la seccin Pgina Estructura.

Mostrar objetos por tipo

El botn Mostrar de la barra de herramientas del editor de estructura se asocia a un men que le permite filtrar los objetos a
mostrar en la ventana en funcin de su tipo:

Por defecto, se muestran todos los objetos. Esta funcin permite diferentes tipos de representaciones, desde la ms simple
hasta la ms compleja y ofrece una herramienta de anlisis de la estructura en funcin del nivel de informacin seleccionado.
Las selecciones se aplican a todas las tablas y campos. Se guardan por usuarios y se memorizan cuando se cierra la
ventana. Ocultar ciertos objetos no cambia la posicin de las tablas en la ventana.
Cuando se seleccionan varios tipos de campos, el operador lgico O se utiliza para determinar los objetos a mostrar.
Por ejemplo, si las opciones Campos invisibles y Campos no indexados estn seleccionadas, se muestran todos
los campos no indexados (visibles o no) y todos los campos invisibles (indexados o no).
Las tablas tienen prioridad sobre los campos: si no se muestra una tabla, no se muestran sus campos.
Si aade un objeto cuyo tipo est oculto (tabla, campo o relacin), el objeto aparece en el editor, debe seleccionar
nuevamente la opcin correspondiente en el men del botn Mostrar para ocultarlo.

Resaltar/atenuar tablas por carpetas

Puede ocultar grupos de tablas en el editor de estructura basado en las carpetas definidas en la Pgina Inicio del
Explorador. El botn Carpetas en la barra de herramientas puede utilizarse para configurar la visualizacin de las
tablas.
El men asociado al botn muestra los comandos de gestin de visualizacin as como la lista de carpetas definidas en la
base. Aparece una marca de seleccin junto a cada carpeta mostrada. Puede modificar la visualizacin actual
seleccionando o deseleccionando una carpeta en este men.
Los comandos Resaltar todas las carpetas/Atenuar todas las carpetas permiten mostrar/ocultar todas las tablas de las
carpetas de la base.
Cada clic en el botn permite invertir la visualizacin de las tablas: las tablas mostradas se ocultan y viceversa.
Cuando las tablas se atenan, por defecto, slo aparece su contorno en la ventana de estructura. Slo las tablas que no
estn atenuadas permanecen completamente visibles:

- 157 -
Nota: Una opcin, accesible en la Pgina Estructura de las Preferencias, permite definir la apariencia de las tablas
atenuadas (seleccin por carpeta) en el editor de estructura: atenuado o Invisible. Es necesario cerrar y volver a abrir la
ventana del editor de estructura para que esta preferencia se tenga en cuenta.

Personalizar el fondo de la ventana del editor

La ventana del editor de estructura dispone de propiedades especficas que puede configurar va el Inspector.
Para mostrar las propiedades de la ventana del editor de estructura, puede:
hacer doble clic (o clic, si la paleta est siendo mostrada) en un rea vaca de la ventana,
hacer clic derecho en un rea vaca de la ventana y elegir el comando Propiedades de la estructura... en el men
contextual.
La paleta del Inspector muestra las propiedades de la estructura:

- 158 -
Se pueden definir las siguientes propiedades:
Imagen de fondo:puede cambiar la imagen utilizada en el fondo de la ventana as como su formato de visualizacin.
Para cambiar la imagen, haga clic en el botn Abrir... o haga clic derecho en el rea de previsualizacin y elija Abrir...
en el men contextual; luego seleccione el archivo que contiene la imagen a mostrar. Puede utilizar cualquier formato
de imagen. La imagen seleccionada se muestra inmediatamente en el rea de vista previa y en la ventana del editor.
Para cambiar el formato de visualizacin de la imagen, elija un valor en el men Formato imagen. Los formatos
propuestos son los formatos de visualizacin de imgenes estndar de 4D.
Para borrar una imagen personalizada, haga clic en el botn Borrar o haga clic derecho en el rea de vista previa y
elija Borrar en el men contextual.
Color de fondo: puede cambiar el color utilizado para el fondo de la ventana del editor. Para hacer esto, haga clic en
el rea de seleccin del color y elija un color en el men de seleccin.
Fuente por defecto: para cambiar la fuente utilizada por defecto para la tabla y los nombres de los campos, elija una
fuente en este men. Puede utilizar el men Tamao para cambiar el tamao de la fuente por defecto.

Buscar en la estructura

4D permite efectuar las bsquedas en la ventana del editor de estructura. Las bsquedas se pueden efectuar entre los
siguientes elementos:
nombres de tablas y/o nombres de campos
nmeros de tablas.
Para efectuar una bsqueda, introduzca la cadena de caracteres o el nmero de la tabla a buscar en el rea de bsqueda de
la barra de herramientas, por defecto aparece Buscar en estructura. La entrada de un valor en esta rea provoca la
visualizacin de una barra de opciones, la cual permite precisar el alcance y la naturaleza de la bsqueda:

El men Buscar permite definir el alcance de la bsqueda (tablas y campos o tablas nicamente).
El men Opciones permite definir el tipo de bsqueda:
Contenido (por defecto): la bsqueda de ta encontrar Tabla, Carta, Computadora, etc.
Comienza por: la bsqueda de pa encontrar papel, pago pero no reparacin.
Nmero: la bsqueda de 2 encontrar las tablas nmero 2, 12, 20, 21, etc.
La bsqueda se efecta en tiempo real, a medida que usted introduce los valores. Las tablas y/o campos encontrados por la
bsqueda se destacan.
Si la bsqueda no encuentra nada, el rea de bsqueda se vuelve roja. Para salir del modo bsqueda, haga clic en el botn
en la barra de opciones de bsqueda o borre todos los caracteres del rea de bsqueda.

- 159 -
Inspector

Las propiedades de los objetos del editor de estructura (tablas, campos y relaciones) pueden visualizarse y modificarse va
la paleta del Inspector:

Esta paleta aparece cuando usted hace doble clic sobre un objeto. Cuando se muestra, su contenido se actualiza
dinmicamente en funcin de los objetos seleccionados.
El Inspector muestra las propiedades globales de la ventana del editor de estructura cuando hace clic en un rea vaca de la
ventana (ver el prrafo Personalizar el fondo de la ventana del editor en la seccin Editor de estructura).
Las diferentes reas de la paleta pueden expandirse/contraerse haciendo clic sobre los iconos triangulares para mostrar u
ocultar la informacin correspondiente:

- 160 -
Se pueden utilizar los siguientes atajos de teclado:
Mays+clic en el ttulo de una rea contrada despliega el rea y contrae las otras reas.
Alt (Windows) u Opcin (Mac OS) + clic en el ttulo de un rea contrada despliega todas las reas.
Alt (Windows) u Opcin (Mac OS) + clic en el ttulo de un rea desplegada contrae todos las reas.
Al cerrar la ventana, 4D memoriza la posicin de la paleta y el estado desplegado/contrado de sus reas.

- 161 -
Crear y modificar tablas

En cualquier momento puede crear tablas en su base de datos. 4D llama a la primera tabla de una nueva base [Tabla_1] y
luego les da un nombre secuencialmente a las tablas adicionales, hasta [Tabla_32767]. Puede renombrar las tablas de
acuerdo a sus necesidades.
Puede borrar las tablas obsoletas o creadas por error. Esta eliminacin puede ser permanente o no. Tenga cuidado, si la
eliminacin es permanente, los datos almacenados en la tabla tambin se borrarn. Tambin puede borrar una tabla desde
los editores del modo Aplicacin, volvindola invisible.
Puede definir cada tabla triggers y atributos en funcin de sus necesidades. Estas propiedades se describen en la seccin
Propiedades de las tablas.

Crear una tabla

Puede crear una nueva tabla directamente en la ventana de estructura o va una caja de dilogo. La creacin directa es
mucho ms rpida; la creacin utilizando la caja de dilogo permite especificar ciertos parmetros de la tabla y cancelar la
operacin cuando sea necesario. Tambin puede crear tablas utilizando copiar-pegar.
Para crear una nueva tabla directamente:
1. Haga clic derecho en el rea vaca de la ventana del editor de estructura, luego elija Aadir tabla... en el men
contextual.
O
En el men de adicin de objetos de la barra de herramientas del editor de estructura, elija la opcin Tabla:

4D crea directamente la tabla en el editor de estructura. Luego puede cambiar su nombre, aadir campos, etc.
Nota: si quiere poner la tabla en una carpeta especfica, debe utilizar la Pgina Inicio del Explorador.
Para crear una nueva tabla utilizando la caja de dilogo Nueva tabla:
1. Seleccione Nuevo > Tabla... en el men Archivo (o haga clic en el botn Nuevo de la barra de herramientas de 4D).
O
En la Pgina Tablas del Explorador, haga clic en el botn aadir .
Aparece la caja de dilogo "Nueva tabla":

2. (Opcional) Modifique el nombre de la tabla a crear.


Para mayor informacin sobre las reglas de nombres, consulte el prrafo Reglas de nombres de tablas y campos.
3. (Opcional) Defina la carpeta en la cual quiere poner la nueva tabla.
Por defecto, la tabla est ubicada en el primer nivel de la jerarqua de carpetas (Nivel superior). Para mayor
informacin sobre carpetas de objetos, consulte la seccin Pgina Inicio.
4. Haga clic en el botn Aceptar.
Si quiere cancelar la operacin, haga clic en el botn Cancelar.
4D crea la imagen de una nueva tabla que se convierte en la imagen seleccionada en la ventana del editor de
estructura.
Nota: a partir de 4D v14, toda nueva tabla creada en la base contiene un campo llave primaria por defecto. Para obtener
ms informacin al respecto, consulte Llave primaria por defecto.
Para crear una nueva tabla con copiar pegar:
- 162 -
1. Seleccione la tabla a duplicar y elija el comando copiar estndar (men Edicin de 4D, men contextual o utilizando
el atajo Ctrl+C/Comando+C).
2. Luego elija el comando Pegar en el men Edicin, en el men contextual del editor o utilizando el atajo de teclado
Ctrl+V/Comando+V.
La tabla se pega con todos sus campos. Se renombra por defecto Copia(X)_de_NombreTabla, donde NombreTabla
representa el nombre de la tabla original y X es el nmero de copias de la tabla.

Renombrar una tabla

Puede renombrar las tablas en cualquier momento. Si utiliz el nombre anterior de la tabla en un mtodo, 4D lo cambia
automticamente al nuevo nombre siempre y cuando el mtodo est cerrado. Si el mtodo est abierto, debe realizar el
cambio. Cada nombre de tabla debe ser nico en la base.
Puede renombrar una tabla directamente en el editor de estructura, en el Explorador o va el Inspector.
Para renombrar una tabla directamente (editor de estructura o pgina Tablas del Explorador):
1. Haga clic dos veces en el nombre de la tabla (si la tabla ya ha sido seleccionada, haga clic una sola vez).
Pasa al modo edicin:

2. Introduzca el nuevo nombre y haga clic por fuera de la tabla.


Para renombrar una tabla utilizando el Inspector:
1. Haga doble clic en el nombre de la tabla.
O
Clic derecho en la imagen de la tabla, luego seleccione Propiedades de la tabla... en el men contextual.
O
En el Explorador, haga doble clic en el nombre de la tabla en la pgina Tablas.
4D muestra el nombre y las propiedades de la tabla seleccionada en la paleta Inspector. La paleta tambin indica el
nmero de la tabla. Si el Inspector ya est abierto pero muestra las propiedades de otra tabla u objeto, seleccione la
imagen de la tabla que quiere mostrar y la paleta mostrar sus propiedades.
2. Introduzca el nuevo nombre en el rea Nombre.
El nuevo nombre se aplica de inmediato.
Nota: para conocer las reglas para nombrar tablas, consulte la seccin Reglas de nombres de tablas y campos.

Borrar una tabla

Es posible borrar tablas de sus bases de datos.


Esta operacin puede efectuarse va el motor SQL de 4D o va el editor de estructura.
Para mayor informacin sobre la utilizacin de instrucciones SQL en 4D, consulte el manual de referencia SQL
(MissingRef).
Hay dos formas de borrar una tabla en 4D: borrado definitivo (la tabla y sus datos se borran realmente de la base) y borrado
no definitivo (la tabla se pone en la Pgina Papelera y puede recuperarse posteriormente).

Borrado definitivo
Para borrar definitivamente una o ms tablas de la base desde el editor de estructura:
1. Seleccione la(s) tabla(s) a borrar y luego elija el comando Borrar en el men Edicin de 4D.
O
Elija el comando Borrar en el men contextual de la tabla.
Una caja de dilogo de alerta le pedir confirmar la operacin:

Si hace clic en Aceptar, 4D realiza las siguientes operaciones:


La tabla se borra definitivamente de la estructura. Todos los datos asociados a la tabla se borran definitivamente del
- 163 -
archivo de datos.
Si hay un mtodo trigger asociado a la tabla se borra.
Los formularios tabla asociados a la tabla se transforman en formularios proyecto y se ubican en la Pgina Papelera
del Explorador.

Borrado no definitivo
El borrado no definitivo de una tabla consiste en ponerla en la Papelera de la base (accesible va el Explorador), tal como los
mecanismos de eliminacin de archivos implementados por Windows y Mac OS.
La tabla no aparece ms en los editores 4D y su contenido se vuelve inaccesibles pero puede recuperarse siempre y
cuando no se vace la Papelera.
Para poner una o ms tablas en la Papelera desde el editor de estructura:
1. Elija el comando Colocar en la papelera en el men contextual de la tabla.
La tabla se ubica inmediatamente en la papelera.
O
Seleccione la(s) tabla(s) a borrar luego presione la tecla Supr o Retroceso.
En ambos casos, aparece una caja de dilogo de confirmacin.
2. Si hace clic en el botn Aceptar, la tabla pasa a la Papelera. Podr recuperarla en cualquier momento de la Pgina
Papelera.

Nmeros de las tablas borradas


Cuando se borra una tabla, las otras tablas de la base no se numeran nuevamente, para evitar comprometer la estabilidad
de la base. Por lo tanto es posible obtener una base de datos con tres tablas numeradas 2, 4 y 5.
Note que los nmeros de las tablas borradas definitivamente se reutilizan al crear nuevas tablas posteriormente.

- 164 -
Propiedades de las tablas

Puede configurar varias propiedades para las tablas utilizando el Inspector o para algunas, utilizando el men contextual de
las tablas.

Triggers

Un trigger es un mtodo que se ejecuta automticamente cuando ocurren ciertos eventos relacionados con la tabla. Estos
eventos son:
al guardar un registro nuevo,
al guardar un registro existente,
al borrar un registro.
Los eventos triggers pueden configurarse en el Inspector o va el men contextual asociado a la tabla (clic derecho en el
rea de ttulo de la tabla):

Marque cada evento para el cual quiera activar el trigger.


Puede acceder directamente al trigger de una tabla desde la ventana de estructura haciendo clic en el botn Editar... del
Inspector o seleccionando Editar mtodo... en el submen contextual. Para mayor informacin sobre triggers, consulte la
seccin Tipos de mtodos.
Notas:
Tambin puede crear y visualizar los triggers desde la Pgina Mtodos del Explorador.
La barra de informacin del Editor de estructura indica los triggers activados para cada tabla.
El trigger que introduzca en el editor de mtodos slo se ejecutar cuando los eventos seleccionados se detecten.

Atributos

Puede definir diferentes atributos para configurar la apariencia y el comportamiento general de la tabla.
Invisible
Esta opcin permite hacer una tabla invisible en el modo Aplicacin y para los plug-ins. Puede activar esta opcin para las
tablas utilitarias o para las tablas que no estn siendo utilizadas temporalmente.
Hacer una tabla invisible le permite limitar las operaciones que un usuario puede realizar sobre la tabla. Una vez invisible,
una tabla no aparece ms en los editores ni en la mayora de cajas de dilogo que aparecen en el entorno Aplicacin. De
igual forma no pueden ser utilizados por los plug-ins.
Los editores y cajas de dilogo concernientes en el entorno Aplicacin incluyen:
- 165 -
todos los editores de bsquedas (ver Buscar registros).
el Editor de ordenacin,
el Editor de etiquetas,
el Editor de informes rpidos,
las cajas de dilogo de Exportar e importar datos,
Editor de frmulas.
En cada uno de estos editores, el usuario no puede ver o elegir la tabla o uno de sus campos. Por ejemplo, el usuario no
puede incluir campos de una tabla invisible en un informe o en una etiqueta.
Nota: cuando utilizan estos editores, los usuarios tienen la opcin de guardar en el disco las caractersticas de bsquedas y
ordenaciones, previamente creadas. En este caso, las tablas declaradas invisibles pueden utilizarse posteriormente.
Adems, los usuarios pueden escribir los nombres de las tablas invisibles en el .
Las tablas invisibles y sus campos se muestran en itlicas en la ventana del editor de estructura.
Color de la imagen de una tabla
Puede asignar un color a cada tabla. El uso de colores ayuda a organizar la estructura de una base con muchas tablas. Por
ejemplo, puede utilizar un color para todas las tablas relacionadas con los clientes y otro color para las tablas relacionadas
con el inventario.

Nota: tambin es posible atribuir un color a cada campo (ver el prrafo ) y a cada relacin (ver el prrafo Definicin).
Para definir el color de una o varias tablas, efecte su seleccin y elija un color utilizando:

El botn Color de la barra de herramientas del editor,


El comando Color del men contextual de las tablas,,
La opcin Color del Inspector.
La opcin Automtica permite aplicar el color estndar de origen a la tabla.

Registros borrados definitivamente


Esta opcin permite optimizar la eliminacin de una seleccin de registros realizada con la ayuda del comando DELETE
SELECTION.
Cuando 4D borra una seleccin, los marcadores de los registros tambin se borran. Un marcador de registro es un
encabezado asociado al registro que contiene informacin relativa a este registro. La eliminacin de los marcadores y de los
registros es ms lenta que la eliminacin de los recursos. En algunos casos, puede ser conveniente no borrar
automticamente los marcadores de los registros.
Esta opcin permite definir el tipo de eliminacin que quiere utilizar. Para acelerar la eliminacin de una gran seleccin
utilizando el comando DELETE SELECTION, deseleccione la opcin Registros borrados definitivamente. Los
marcadores de registros no se borrarn entonces. Esta opcin no puede definirse por programacin.

Activar replicacin
Cuando esta opcin est seleccionada, 4D genera, durante la utilizacin de la tabla, la informacin necesaria para la
replicacin de los registros de la tabla (basada particularmente en la llave primaria de la tabla). La funcin de replicacin de
los registros permite sincronizar los datos de dos bases 4D para mayor seguridad.
Una vez la opcin est activa, los mecanismos de replicacin deben implementarse utilizando los comandos especficos del
lenguaje SQL de 4D o va el protocolo HTTP. Para mayor informacin sobre esta opcin y sobre los mecanismos de
replicacin de los registros va SQL, consulte la seccin Replicacin va SQL.
Para mayor informacin sobre la replicacin va HTTP, consulte el prrafo URL 4DSYNC/.
Por defecto, esta opcin no est seleccionada. Para que esta opcin est disponible, debe especificar una llave primaria
para la tabla a replicar. De lo contrario, la opcin est en gris. 4D le permite definir la llave primaria de una tabla en el editor
de estructura (ver a continuacin).

Exponer con el servicio 4D Mobile


Esta opcin controla si la tabla se encuentra expuesta en el contexto de las solicitudes 4D Mobile enviadas a la base 4D. Por
defecto, todas las tablas se exponen en 4D Mobile.
Por razones de seguridad, es posible que desee solamente exponer ciertas tablas de su base a las llamadas 4D Mobile.
Por ejemplo, si ha creado una tabla [Usuarios] que almacena los nombres de usuario y contraseas, sera mejor no
exponerla.

Si no desea exponer una tabla (ni ninguno de los campos que contiene), desactive la opcin Exponer con el servicio 4D
Mobile para la tabla.
- 166 -
Nota: tambin puede establecer esta opcin en el nivel de cada campo de la tabla, ver Almacenado en registro, archivo
de datos o fuera del archivo de datos.
Esta opcin se puede utilizar en el contexto de la funcionalidad "4D Mobile". Para obtener ms informacin, consulte el
manual 4D Mobile.

Incluir en el archivo de historial


Por defecto, esta opcin est seleccionada para todas las nuevas tablas creadas en 4D v14 y para todas las tablas en
bases de datos convertidas.
Marque esta opcin para que las operaciones realizadas en los datos de la tabla se incluyan en el archivo de registro de la
base de datos
Marque esta opcin para que las operaciones realizadas en los datos de la tabla se incluyan en el archivo de registro de la
base de datos (cuando se genera). Esta opcin generalmente debe ser seleccionada para la mayora de las tablas. Sin
embargo, por razones de optimizacin, puede deseleccionarla, por ejemplo para tablas temporales o tablas utilizadas para
la importacin de datos.
Nota: esta opcin se pone gris cuando la tabla no tiene llave primaria.
Es importante tener en cuenta que esta opcin slo indica que los datos de la tabla deben registrarse en el historial si la
database usa un archivo de historial, no activa el procedimiento de historial a nivel de la base de datos (ver Gestin del
archivo de historial).
Mensajes de alerta
4D muestra un icono de advertencia a la derecha de la opcin Incluir en archivo de historial cuando las condiciones
necesarias se cumplen.

Mientras este icono se muestre, el historial no se activa. Puede colocar el puntero del ratn sobre el icono para ver el motivo
de la alerta:

Pueden aparecer los siguientes mensajes:


Mensaje Causa Correcin necesaria
Esperando para crear Imposible registrar operaciones en el Crear una llave primaria en la tabla utilizando SQL
historial si la tabla no tiene una llave
una llave primaria o el men contextual de la tabla
primaria (nueva regla en 4D v14)
Esperando que los Retire todo duplicado o valores nulos en los
Los valores de la llave primaria han sido registros para el campo (o utilice otra llave
valores de la llave verificados e incluyen anomalas
primaria se fijen primaria)
Esperando para Compruebe la opcin " Uso del archivo de historial'
La opcin global para activacin del en la pgina Backup/Configuracin de la
activar la opcin usar historial no est seleccionada
archivo de historial configuracin de la base de datos

Comentarios

El rea Comentarios del Inspector le permite almacenar informacin adicional sobre la tabla. Estos comentarios estn
disponibles para todos los desarrolladores.
Note que cada campo y cada relacin tienen su propia rea de comentarios.

SQL

El rea SQL del Inspector incluye el men Schemas y un rea de informacin.

El men Schemas lista todos los esquemas SQL definidos en la base. Puede utilizar este men para definir el
esquema al cual pertenece la tabla (tambin es posible modificar esta propiedad va los comandos SQL). Cada base
tiene al menos un esquema, llamado DEFAULT_SCHEMA. Por defecto, todas las tablas pertenecen a este esquema.
Para mayor informacin sobre los esquemas SQL, consulte el prrafo Esquemas en la Gua de referencia SQL de
4D.
El rea de informacin indica si el nombre de la tabla respeta las reglas de nomenclatura SQL (por ejemplo, a
diferencia de 4D, SQL no permite que un nombre de campo contenga espacios).

Definir o eliminar una llave primaria

En 4D, puede administrar la llave primaria de una tabla directamente en el editor de la estructura.
En SQL, una llave primaria identifica la(s) columna(s) (campos) utilizado(s) para especificar de forma nica los registros
- 167 -
(lneas) de una tabla. La definicin de una llave primaria es necesaria para la funcin de replicacin de los registros de una
tabla de 4D. En SQL, la clave primaria se define utilizando la clusula PRIMARY KEY seguida de la lista de columnas (ver el
prrafo Llave primaria en la Gua de referencia SQL de 4D).
Puede crear y eliminar las llaves primarias directamente utilizando el men contextual del editor de la estructura.
Para crear una llave primaria:
1. Seleccione el o los campo(s) que componen la llave primaria de la tabla.
2. Haga clic derecho y seleccione Crear llave primaria en el men contextual:

Los campos incluidos en la llave primaria aparecen subrayados en el editor y su descripcin SQL muestra la palabra
clave PRIMARY KEY.
El o los campo(s) que pertenece(n) a la llave primaria no deben contener valores duplicados. Si los valores duplicados ya
existen en los registros de tabla, aparece una caja de dilogo de advertencia para indicar que no es posible crear la llave por
esto.
Nota: la o las columna(s) que pertenece(n) a la llave primaria no aceptan valores NULL.
Para borrar la llave primaria de una tabla:
1. Haga clic derecho sobre la tabla que contiene la llave primaria y elija Eliminar la llave primaria en el men contextual:

Aparece una caja de dilogo de confirmacin. Haga clic en Aceptar para eliminar la llave primaria.

Llave primaria por defecto


En 4D v14, cada nueva tabla creada en la base de datos contiene una llave primaria por defecto:

Este campo, llamado "ID" por defecto, es de tipo Entero largo, y tiene los siguientes atributos:
- 168 -
nico,
Rechazar la escritura del valor NULL,
Incremento automtico,
ndice automtico
Nota: en Pgina Estructura de las Preferencias de la aplicacin 4D, puede modificar el nombre y el tipo de las llaves
primarias por defecto.
Puede utilizar este campo como est, o cambiar su nombre y/o sus propiedades, si as lo prefiere (por ejemplo, es posible
que desee utilizar un campo UUID). Tambin puede eliminarlo si desea utilizar otro campo(s) como llave(s) primarias
Sin embargo, se recomienda conservar al menos una llave primaria en cada tabla 4D.
Nota: por defecto las llaves primarias no se agregan a tablas creadas utilizando el comando SQL CREATE TABLE, o
tablas que se importan en la base de datos.

Definir una llave primaria


Para crear una llave primaria desde el editor de estructura:
1. Seleccione el o los campo(s) que componen la llave primaria de la tabla.
2. Haga clic derecho y seleccione Crear la llave primaria en el men contextual:

No puede tener ms de una llave primaria para cada tabla. Si ya se ha especificado una llave primaria, aparecer un
caja de dilogo de alerta indicando que se desactivar la llave primaria existente.
Se crea la llave principal de inmediato. Los campos incluidos en la clave principal se subrayan en el editor y su descripcin
SQL muestra la palabra clave PRIMARY KEY.

El o los campo(s) que pertenece a la llave primaria no puede contener valores duplicados. Si ya existen valores duplicados
en los registros de la tabla, un caja de dilogo de alerta aparece para indicar que no es posible crear la llave debido a esto.

Nota: la o las columna(s) que pertenecen a la llave primaria no aceptan valores NULL.
Eliminar la llave primaria
Para eliminar una llave primaria de una tabla:
1. Haga clic derecho sobre la tabla que contiene la llave primaria y seleccione Suprimir llave primaria en el men
contextual:

- 169 -
Aparecer una caja de dilogo de confirmacin. Haga clic en Aceptar para eliminar la llave primaria.

- 170 -
Gestin de llaves primarias

El "Gestor de llaves primarias" es un asistente destinado a facilitar la solucin de errores relacionados con la presencia de
tablas sin llaves primarias, en particular en el contexto de una base con historial:

Puede utilizar este asistente para:


diagnosticar la compatibilidad de cada tabla de la base con el mecanismo de historial,
proponer una correccin para cada tabla que se encuentre que no sea compatible en particular mediante la creacin
de una llave primaria.
Nota: el gestor de llaves primarias tambin se ofrece como un componente de la versin 13 que puede utilizar para preparar
bases de datos 4D v13 para la conversin a v14.

Acceder al asistente

Hay dos formas de mostrar la ventana del Gestor de llaves primarias:


desde la Ventana de error de llaves primaria: haga clic en el botn Utilizar asistente para mostrar la ventana de
asistente.
Nota: El asistente se muestra en el modo Diseo. Si la base se inicia en Modo Aplicacin, el asistente no aparece de
inmediato y deber pasar a modo Diseo.

desde la Editor de estructura: haga clic en el botn en la barra de herramientas de esta ventana muestra el
asistente.

Utilizando el asistente

La ventana Gestor de llaves primarias muestra una lnea para cada tabla en la base.

Nota: el asistente no tiene en cuenta las tablas en la Papelera.


El icono en el encabezado de cada lnea indica si la tabla requiere la atencin del usuario:

- 171 -
Aceptar Una llave primaria vlida se define para la tabla.
Sin llave
primaria, La tabla no tiene una llave primaria, pero contiene al menos un
campo(s) campo que podra convertirse en llave primaria.
elegible(s)
Sin llave
La tabla no tiene una llave primaria, pero contiene al menos un
primaria, sin
campo que podra convertirse en llave primaria (ser
campo(s) necesario crear un campo llave primaria).
elegible(s)
La tabla no tiene una llave primaria y no se registra en el
Atencin historial (opcin "Incluir en archivo de historial" desactivada
para la tabla).
Es posible ocultar las tablas que
tienen dicho rango desmarcando la
opcin Mostrar advertencias.
Para cada tabla registrada en el historial que no tenga una llave primaria, el asistente muestra un men para configurar la
accin a realizar. Puede elegir de las siguientes opciones:

Ignorar: no modifica la tabla. Los errores no se corrigen y el estado de la tabla no cambia. Utilice esta opcin si desea
intervenir posteriormente o si quiere crear la llave primaria fuera del asistente.
Esta opcin es necesaria particularmente, cuando se quiere crear una llave primaria basada en varios campos en la
tabla.
Utilizar campo existente (slo se muestra para las tablas con al menos un campo elegible para ser una llave
primaria): designa uno de los campos de la tabla como llave primaria. Cuando se elige esta opcin, el asistente
sugiere el campo ms adecuado de forma predeterminada.
Si desea utilizar otro campo o si el asistente no puede identificar un campo adecuado (el asistente muestra "
Seleccione un campo"), haga clic en el segundo men para ver la lista de campos elegibles.
Crear un nuevo campo: crea un nuevo campo llave primaria en la tabla. Este campo tendr los mismos atributos
como el aadido por defecto al momento de la creacin de una nueva tabla (ver Llave primaria por defecto).
Por defecto, el asistente propone la creacin de un campo de tipo Entero largo, llamado "ID". Puede modificar el
nombre y el tipo de defecto de los campos llave primaria utilizando Pgina Estructura en las Preferencias de la
aplicacin 4D. Puede acceder a la pgina de Preferencias haciendo clic en el botn en la ventana del Gestor de
llaves primarias.
Tambin puede cambiar el nombre y/o el tipo de campo directamente en la ventana del Gestor de llaves primarias.
No registrar esta tabla: desmarca la opcin "Incluir en el archivo de historial" para la tabla. Puede elegir esta opcin
en el caso de las tablas temporales (ver Incluir en el archivo de historial). Despus de validar esta caja de dilogo,
se asigna un estado Advertencia a la tabla.
Una vez realizada la configuracin, haga clic en Aplicar... para aplicar los cambios a la base de datos o Cerrar para cerrar
el cuadro de dilogo sin modificar la base.
Al hacer clic en Aplicar... , aparece un dilogo de confirmacin que lista las operaciones a realizar, y usted puede Aplicar o
Cancelar la operacin:

Si ha designado los campos existentes como llaves primarias, 4D verifica cada tabla para asegurarse de que sus datos
existentes respetan las normas relativas a la unicidad y los valores nulos para este tipo de
campo. Si, por ejemplo, un campo contiene valores duplicados o valores nulos, se genera un error:
- 172 -
Tendr que encontrar y eliminar estas anomalas antes de que pueda habilitar el historial de datos.
Nota: para facilitar la correccin de errores relacionados con las llaves principales, los valores de llave principal se muestran
en el Pgina Anlisis de actividad del Centro de Mantenimiento y Seguridad.

- 173 -
Crear y modificar campos

Para cada tabla, debe crear los campos que van a acoger los datos que usted quiere almacenar y administrar.
Cuando usted crea un campo, le asigna un tipo que corresponde al tipo de datos que almacenar. 4D utiliza el tipo de
campos para realizar diferentes operaciones de acuerdo a su contenido. Por ejemplo, si un campo contiene una fecha,
deber crearlo con el tipo Fecha. Ms adelante, 4D podr calcular valores de fechas, tales como tiempo de servicio o fechas
de vencimiento. Adicionalmente, 4D puede ordenar los registros cronolgicamente utilizando un campo tipo Fecha. Los tipos
de campos se describen en la seccin Tipos de campos 4D.
Adems del tipo, cada campo de una base de datos dispone de diferentes propiedades paramtrables. Las propiedades
determinan las condiciones para introducir, mostrar o modificar los datos en los campos. Se describen en la seccin
Almacenado en registro, archivo de datos o fuera del archivo de datos.
Despus de crear un campo, puede modificar su tipo, sus propiedades, o incluso borrarlo.

Crear un campo

Puede crear hasta 32 767 campos en una tabla. Puede crear un nuevo campo va los comandos estndar de creacin o por
copiar y pegar.
Para crear un campo:
1. Haga clic derecho sobre una tabla, luego seleccione Aadir campo o Insertar campo en el men contextual.
O
Haga doble clic en una lnea vaca, debajo del ltimo nombre de campo de la tabla.
O
Seleccione una tabla, luego en el men de adicin de objetos de la barra de herramientas del editor, elija la opcin
Campo:

2. (opcional) Para crear rpidamente los campos adicionales, puede presionar Retorno de carro tantas veces como
sea necesario.
El campo aadido a la tabla es seleccionado por 4D. Por defecto, el campo se llama Campo_X donde X corresponde al
nmero actual del campo (si se han borrado campos, este nmero puede no corresponder al nmero de campos de la tabla,
ver el prrafo Nmeros de campos borrados en la seccin a continuacin).

Tambin puede modificar sus nombres, definir sus propiedades, etc. (ver los prrafos siguientes).
Para crear un campo utilizando copiar y pegar:
1. Seleccione el (los) campo(s) a duplicar y elija el comando copiar estndar (men Edicin de 4D, men contextual o
atajo ctrl+c/Comando+c).
2. Seleccione la tabla a la cual quiere aadir los nuevos campos y elija el comando Pegar en el men Edicin, en el
men contextual del editor o utilice el atajo Ctrl+v/Comando+v.
El campo se duplica conservando su tipo y sus propiedades. Si existe un campo con el mismo nombre en la tabla de
destino, se renombra por defecto Copia_de_NombreCampo, donde Nombre-Campo es el nombre original del
campo. Un nmero adicional se aade si hace varias copias del mismo campo.
Nota: las propiedades de indexacin no se conservan en caso de creacin de campos por copiar y pegar.
- 174 -
Renombrar un campo

Puede renombrar los campos en cualquier momento; 4D actualizar los nombres de los campos utilizados en formularios,
mtodos y archivos. Atencin, si los mtodos se abrieron en el editor de mtodos en el momento del cambio de nombre de
un campo, deben cerrarse y abrirse nuevamente para que el nombre del campo se actualice.
Cada nombre de campo debe ser nico en su tabla.
Puede renombrar un campo directamente en el editor de estructura y en el Explorador o utilizando el Inspector.
Para renombrar un campo directamente (Editor de estructura o Pgina Tablas del Explorador):
1. Haga clic dos veces en el nombre del campo (si el campo ya est seleccionado, haga clic una vez).
O
(Editor de estructura nicamente) Seleccione el campo a renombrar y presione Retorno de carro.
Pasa al modo edicin.
2. Introduzca el nuevo nombre y haga clic fuera del campo.
Para renombrar un campo utilizando el Inspector de estructura:
1. Haga doble clic en el campo.
O
Clic derecho en el campo, luego seleccione Propiedades del campo... en el men contextual.
O
En el Explorador, haga doble clic en el nombre del campo en la pgina Tablas.
4D muestra el nombre y las propiedades del campo seleccionado en la Inspector. La paleta tambin indica el nmero
de la tabla y del campo.
Si el Inspector ya est abierto pero muestra las propiedades de otro campo o de otro objeto, seleccione el campo del
cual quiere conocer sus propiedades.
2. Introduzca el nuevo nombre en el rea Nombre.
El nuevo nombre se aplica de inmediato.
Para conocer las reglas para nombrar campos, consulte las Reglas de nombres de tablas y campos.

Reordenar campos

4D permite modificar el orden en el cual aparecen los campos en las tablas en el editor de estructura. La modificacin del
orden de los campos en las tablas facilita el anlisis de la estructura.
Note que la reorganizacin de los campos en el editor de estructura no influye en su visualizacin en los otros editores de la
aplicacin. En efecto, 4D siempre muestra los campos en el orden de creacin (incluso cuando se utiliza el comando
Insertar campo), excepto en el caso del Explorador, donde los objetos se muestran en orden alfabtico.
Hay dos formas de modificar el orden de los campos:
Reorganizar manualmente el contenido de una tabla arrastrando y soltando sus campos. Para hacer esto, simplemente
presione la tecla Alt (Windows) u Opcin (Mac OS), el cursor se transforma en una mano y mueva el campo a donde
quiera:

La ordenacin personalizada efectuada de esta manera se memoriza y puede aplicarse nuevamente si es necesario
utilizando el comando Personalizado del men Ordenar (ver a continuacin).
Aplicar un criterio de ordenacin. Usted dispone de varios criterios de ordenacin disponibles utilizando el submen
Ordenar del botn de herramientas del editor:

- 175 -
Cuando elige una opcin, el criterio se aplica a todas las tablas seleccionadas en la ventana. Este men est inactivo
cuando ninguna tabla est seleccionada.
Igualmente el men indica el criterio aplicado actualmente con una marca de seleccin. Varias marcas de seleccin se
muestran cuando se utilizan diferentes criterios en la seleccin de tablas.
Puede seleccionar un criterio de ordenacin de los siguientes:
Alfabtico: los campos se ordenan alfabticamente en orden creciente.
Tipo: muestra los campos ordenados en funcin del tipo por orden alfabtico creciente.
Campos indexados: se muestran primero los campos indexados.
Campos relacionados: muestra primero las llaves primarias y luego las llaves forneas.
Visibilidad: se muestran primero los campos visibles.
Creacin: los campos se muestran en funcin del orden de creacin (orden por defecto).
Personalizado: no se aplica ningn criterio de ordenacin automtico. Esta opcin restaura la ordenacin
previa efectuada manualmente por arrastrar y soltar. Si no se efectu arrastrar y soltar previamente, esta opcin
no tendr efecto.
Nota: cuando aade un campo a una tabla, siempre se ubica despus del ltimo campo existente, sin tener en cuenta
el criterio de ordenacin actual.

Borrar un campo

Puede borrar campos de sus tablas. Sin embargo, esta operacin es irreversible.
Esta operacin puede efectuarse va el motor SQL de 4D o va el editor de estructura.
Para mayor informacin sobre el uso de instrucciones SQL en 4D, consulte el manual SQL de 4D.
Para borrar uno o ms campos de la base desde el editor de estructura:
1. Seleccione el o los campos a borrar.
Puede seleccionar simultneamente los campos de varias tablas diferentes.
2. Seleccione el comando Borrar en el men Edicin de 4D.
O
Seleccione Borrar en el men contextual de la tabla.
O
Presione la tecla Borrar o Retroceso.
Una caja de dilogo de alerta le pide confirmar la operacin.
Si hace clic en el botn Aceptar, el campo se borra de la estructura. Todos los datos asociados al campo se borran
del archivo de datos.

Nmeros de campos borrados


Cuando se borra un campo, los otros campos de la tabla no se vuelven a numerar, con el fin de no comprometer la
estabilidad de la base. Por lo tanto es posible tener una tabla con cuatro campos numerados 1,4, 6 y 8.

Note que los nmeros de los campos borrados se reutilizan cuando se crean nuevos campos posteriormente.

- 176 -
Tipos de campos 4D

Es necesario especificar un tipo de campo para cada campo de una tabla. Los tipos de campos afectan la manera como 4D
manipula y almacena los datos en los campos y cmo los introduce y muestra en los formularios. Por defecto, 4D aplica el
tipo Alfa a los campos que cree. En el momento de la creacin del campo, debe modificar este tipo si es necesario.
Para modificar el tipo de un campo:
1. Haga clic en el icono del tipo de campo en la imagen de la tabla y elija el tipo que quiere en el men asociado.

O
Haga clic derecho en el campo cuyo tipo quiere cambiar y elija el nuevo tipo en el submen Tipo del men contextual.
O
Seleccione el campo cuyo tipo quiere cambiar y haga clic en el rea Tipo del Inspector para mostrar el men de tipos.
Puede cambiar de tipo de campo en cualquier momento, a menos que el campo tenga una relacin o pertenezca a una llave
primaria. En este caso, el men para elegir un tipo de campo queda deshabilitado. Debe eliminar la relacin o la llave
primaria explcitamente antes de cambiar el tipo de campo.
Si cambia de tipo de campo antes de introducir datos en el campo, 4D cambia simplemente el tipo de campo. Si cambia el
tipo de campo, despus de introducir datos en el campo, 4D convierte los datos al nuevo tipo si es posible, cuando los datos
se cargan por primera vez despus del cambio. Los datos de un campo Imagen convertido en otro tipo no se muestran. Los
datos de un campo convertido en campo de tipo Imagen no se muestran.
Cuando convierte un tipo de campo, 4D conserva el valor original del campo hasta que modifique el registro. Por ejemplo, si
un campo de tipo texto contiene el valor mayor a 10 y usted cambia el tipo del campo a Entero, el campo modificado
muestra 10. Si cambia el campo nuevamente a Texto, 4D muestra nuevamente mayor a 10.
Por defecto, 4D ofrece los siguientes tipos de campos:
Alfa: cadenas de caracteres alfanumricos de 1 hasta 255 caracteres.
Texto: texto hasta de 2 GB.
Fecha: fechas entre el ao 100 y el ao 32 767.
Hora: hora expresada en horas:minutos:segundos.
Booleano: campo binario TRUE (verdadero) o FALSE(falso).
Entero: nmero entero entre -32 768 y 32 767.
Entero largo: nmero entre -2 147 483 647 y 2 147 483 647.
Entero 64 bits(1): nmero entero de 8 bytes incluidos entre +/- 2E63.
Real: nmero real en el rango 1.7E308 (con 13 cifras significativas).
Flotante(1): nmero de punto flotante.
BLOB (Binary Large Object): todo objeto binario, como un grfico, otra aplicacin o cualquier documento.
Imagen: imagen en uno de los formatos nativos soportados por 4D (ver el prrafo Formatos nativos soportados en
el manual Lenguaje de 4D).
Objeto: pares atributo/valor en notacin JSON, hasta 2 GB.

(1) Atencin, estos tipos de campos slo son utilizados por el motor SQL de 4D. Si estos campos se utilizan en el lenguaje
- 177 -
de 4D, sus valores se convierten internamente en nmeros reales.
Nota: el trmino genrico "cadena" indica el tipo Alfa o Texto, "numrico" indica un tipo Entero, Entero largo, Entero 64 bits,
Real o Flotante.

Alfa

Un campo tipo Alfa contiene caracteres alfanumricos (letras y nmeros), signos de puntuacin, y caracteres especiales
como el asterisco (*), el signo porcentaje (%), el guin (-) y otros similares. Los campos alfa se utilizan para almacenar
informacin que deba ser tratada como texto y que no exceda los 255 caracteres de longitud.
Un campo Alfa puede estar asociado a un ndice estndar y/o a un ndice de palabras claves. Para mayor informacin sobre
indexacin, consulte la seccin Crear y modificar ndices.
Alfa es el tipo de campo ms comn. Generalmente, se utiliza este campo para nombres, direcciones, nmeros telefnicos,
cdigos postales, etc. Durante la entrada de datos, un campo Alfa permite cualquier carcter, nmero, signo de puntuacin o
carcter especial.
Hay dos razones por las cuales utilizar el tipo Alfa para los cdigos postales: los campos numricos no muestran ceros al
inicio y algunos cdigos postales contienen guiones. La regla general que aplica para elegir entre numrico y Alfa consiste
en elegir el campo Alfa a menos que el campo vaya a utilizarse en clculos numricos o bsquedas u ordenaciones basadas
en valores numricos.
Puede definir la longitud mxima de un campo Alfa entre 1 y 255 caracteres.
Puede concatenar la informacin de dos o ms campos Alfa. Por ejemplo, puede colocar el nombre y el apellido de una
persona en una misma lnea de una etiqueta. Puede hacerlo simplemente utilizando la siguiente lnea de cdigo:

NombreCompleto:=[Empleados]Nombre+" "+[Empleados]Apellido

La variable NombreCompleto puede mostrarse o imprimirse. Tambin puede extraer parte de la informacin para utilizarla
en otro lugar (extraccin de una subcadena). La subcadena puede visualizarse o imprimirse.

Texto

Un campo de tipo Texto es similar a un campo Alfa, excepto por unas pocas diferencias.
Un campo Texto puede contener hasta 2 GB de caracteres alfanumricos. Generalmente, los campos texto se utilizan para
almacenar bloques de texto de gran tamao, tales como comentarios o descripciones.
Por razones de optimizacin, el contenido de un campo Texto se almacena por defecto fuera de los registros (ver
Almacenado en el registro" en la seccin Almacenado en registro, archivo de datos o fuera del archivo de datos). En
este caso, el campo no puede asociarse a un ndice estndar. Como los campos Alfa, un campo Texto puede asociarse a un
ndice de palabras claves. Para mayor informacin sobre indexacin, consulte la seccin Crear y modificar ndices.
En un formulario de entrada, un campo Texto puede tener barras de desplazamiento. En un informe impreso, el campo texto
puede extenderse tanto como sea necesario para imprimir toda la informacin, incluso si se extiende por varias pginas.
Durante la entrada de datos, los campos Texto ofrecen las caractersticas bsicas de edicin de texto: desplazamiento,
ajuste de texto dentro del rea definida para visualizar el campo, doble clic para
seleccionar una palabra, desplazar el cursor con ayuda de las teclas de movimiento y operaciones estndar de cortar, copiar
y pegar. Si tiene la opcin Multilnea, un campo de tipo Texto acepta retornos de carro durante la entrada de datos para la
creacin de nuevos prrafos (un campo tipo Alfa no los permite). Si tiene la opcin Multiestilo, puede contener las
variaciones de estilo tales como una palabra o grupo de palabras subrayadas, en negrita o en un color diferente.
Puede pegar texto en los campos de tipo texto, incluyendo texto de otros procesadores de texto.
Nota: otra forma de almacenar texto con un registro es utilizando el plug-in 4D Write. Con 4D Write, puede utilizar diferentes
atributos de fuente, alineaciones de prrafo y otras caractersticas propias de los procesadores de texto que no estn
disponibles en campos Texto estndar.
Como con todos los plug-ins 4D, el rea 4D Write debe colocarse en un campo de tipo BLOB y no de tipo Texto. Para mayor
informacin sobre el uso de 4D Write, consulte, por ejemplo, la seccin Introduccin a 4D Write en el manual de 4D Write.

Fecha

Utilice un campo tipo Fecha para almacenar valores de fechas como fechas de inicio, fechas de compra, cumpleaos, etc.
Un campo tipo Fecha puede almacenar cualquier valor de fecha (da, mes, ao) respetando el formato DD/MM/AAAA entre
el ao 100 y el ao 32 767.
Nota: el formato de fechas utilizado en Gran Bretaa, Espaa y Latinoamrica es DD/MM/AAAA, en Estados Unidos es
mes/da/ao (MM/DD/AAAA) y en Suecia es AA/MM/DD. 4D almacena las fechas de acuerdo al formato seleccionado en el
sistema operativo de su ordenador.

Hora
- 178 -
Este tipo de campo se utiliza para almacenar horas como la hora actual, la hora de una cita, la hora de facturacin, etc.). Un
campo tipo hora puede almacenar cualquier hora en formato HH:MM:SS.

Booleano

Los campos booleanos contienen valores TRUE o FALSE.


Puede definir el formato de un campo booleano como una casilla de seleccin o un botn radio. Una casilla de seleccin
marcada es verdadero (TRUE); vaca es falso (FALSE). Seleccionar el primer botn radio equivale a tener verdadero
(TRUE) y seleccionar el segundo botn equivale a tener falso (FALSE).
Nombre los campos booleanos de manera que pueda preguntar El campo nombre es verdadero?. Esta pregunta es til al
realizar bsquedas porque 4D revisa el valor TRUE y FALSE en un campo booleano. Por ejemplo, puede nombrar un campo
Masculino en lugar de Sexo. Su criterio de bsqueda puede ser escrito como Masculino es verdadero en lugar de Sexo
es verdadero.

Entero

El tipo de campo Entero se utiliza para almacenar nmeros enteros, es decir, nmeros sin fracciones decimales. Los
campos de tipo Entero pueden almacenar nmeros enteros entre -32 768 y 32 767.

Entero largo

Utilice el tipo de campo Entero largo para campos que almacenen nmeros enteros muy grandes como para ser
almacenados en campos de tipo Entero. Este tipo de campo pueden almacenar nmeros enteros entre 2,147,483,647.

Entero 64 bits

Este tipo de campo puede utilizarse para almacenar nmeros enteros de 8 bytes permitiendo manipular valores enteros de
gran tamao, entre +/- 2E64.
Nota: atencin, este tipo de campo es utilizado nicamente por el motor SQL de 4D. Si este campo se utiliza en el lenguaje
de 4D, su valor se convierte internamente en un nmero real.

Real

Los campos de tipo Real se utilizan para almacenar nmeros reales, es decir nmeros decimales (precio, salarios, gastos,
etc.). Los campos reales pueden almacenar todo nmero en el rango de 1.7E308.
Los formatos de salida numricos se basan automticamente en los parmetros regionales del sistema. 4D reemplaza los
caracteres , y . en los formatos de salida numricos por el separador de miles definido en el sistema operativo
respectivamente.

Nota: en el motor de la base de datos 4D, las comparaciones de nmeros reales se realizan siempre con un valor psilon
de 10^-6 con el de fin de obtener un nivel de precisin suficiente. Para garantizar la coherencia de los datos y de los clculos,
este valor psilon no se puede cambiar. En particular, el motor de base de datos no tiene en cuenta el comando SET REAL
COMPARISON LEVEL, que slo se aplica a los tratamientos establecidos en el lenguaje de 4D. Debido a la imprecisin
inherente a los clculos realizados en los nmeros reales, no recomendamos el uso de este tipo de datos para almacenar
valores precisos como identificadores.

Flotante

Este tipo de campo puede utilizarse para almacenar los nmeros de punto flotante. Estos tipos de nmeros permiten
almacenar los valores reales sin perder precisin.
Note: atencin, este tipo de campo es utilizado nicamente por el motor SQL de 4D. Si este campo se utiliza en el lenguaje
de 4D, su valor se convierte internamente en un nmero real.

BLOB (Binary Large Object)

Los campos de tipo Blob (Binary Large Object) almacenan documentos binarios de todo tipo. Puede utilizar un campo de
tipo BLOB para los documentos completos en su base (archivos creados por otras aplicaciones, aplicaciones, etc.). Cuando
trabaja con un registro que contiene un campo BLOB, todo el BLOB se carga en la memoria. Puede utilizar campos tipo
BLOB para almacenar archivos de escritorio dentro de su base de datos. Tambin puede escribir los contenidos de un
campo tipo BLOB en un archivo de escritorio. Por ejemplo, puede utilizar un campo tipo BLOB en un sistema de gestin de
documentos que almacena documentos en la base y los entrega a los usuarios cuando son solicitados.
- 179 -
Utilice los comandos BLOB en el lenguaje 4D para manipular los campos tipo BLOB. Utilice los comandos DOCUMENT TO
BLOB y BLOB TO DOCUMENT para leer y escribir documentos desde y hacia campos
BLOB. Los comandos COMPRESS BLOB, EXPAND BLOB y BLOB PROPERTIES le permiten trabajar con campos
BLOBs comprimidos.

Por razones de optimizacin, el contenido de un campo BLOB se almacena fuera de los registros. Los BLOBs slo se
cargan cuando es necesario, por ejemplo una vez que el registro que se busca ha sido encontrado.
El contenido de un campo BLOB no se muestra en pantalla ya que un BLOB puede representar todo tipo de datos.

Imagen

Los campos tipo Imagen se utilizan para almacenar fotografas digitalizadas, diagramas, mapas, e ilustraciones creadas
utilizando aplicaciones grficas. Las imgenes se conservan en su formato nativo.
Algunas aplicaciones grficas almacenan informacin adicional con las imgenes, como por ejemplo, instrucciones para una
impresora PostScript o, a partir de 4D v12, metadatos. Esta informacin acompaa la imagen cuando se copia o pega en
un campo Imagen y es utilizada por 4D durante la impresin de la imagen o, en el caso de los metadatos, va los comandos
GET PICTURE METADATA y SET PICTURE METADATA.
Por razones de optimizacin, el contenido de un campo Imagen se almacena fuera de los registros. Las imgenes slo se
cargan cuando es necesario, por ejemplo una vez se encuentra el registro buscado. A partir de 4D v13, tambin puede elegir
guardar imgenes fuera del archivo de datos (ver la seccin Almacenamiento externo de los datos)

Nombres por defecto de los archivos imagen


4D puede memorizar un nombre por defecto para cada imagen almacenada en un campo. Esto significa que usted puede
definir un nombre de archivo por defecto cuando guarda el contenido de un campo imagen en un archivo disco a travs de
una exportacin usuario o utilizando el comando WRITE PICTURE FILE (cuando pasa una cadena vaca en el parmetro
nomArchivo). Si el contenido del campo se copia en una variable o en otro campo, su nombre por defecto tambin se copia.
Puede asociar un nombre por defecto a una imagen almacenada en un campo imagen de dos maneras:
Por programacin, usando el comando SET PICTURE FILE NAME. Puede utilizar este comando para asociar un
nombre de archivo por defecto a la imagen. Tambin puede utilizar el comando Get picture file name para averiguar
el nombre por defecto de una imagen.
Automticamente, cuando el contenido de un archivo imagen se importa en un campo imagen utilizando el men
contextual o usando el comando READ PICTURE FILE: en este caso, 4D memoriza el nombre del archivo imagen
original.
Esto se ilustra en la siguiente secuencia:
1. El usuario importa el archivo con el nombre logo64.png en un campo imagen:

- 180 -
2. A continuacin, el usuario guarda el contenido del campo imagen: el nombre logo64.png se presenta en la caja de
dilogo (tenga en cuenta que se trata de un nombre por defecto y se puede cambiar)

- 181 -
Objeto

Los campos objeto almacenan pares atributo/valor de diferente tipo, sin esquemas de datos predefinidos. La estructura de
datos almacenada no es necesariamente la misma entre los diferentes registros. Por ejemplo, un campo objeto
[Person]Address puede contener atributos diferentes dependiendo de la ciudad, el pas, y as sucesivamente:
record1= {"street1":"Cotton Treasure Grounds", "street2":"Place Corners", "state":"MD",...} record2=
{"street1":"Umber Road", "Number":"28", "state":"MO",...}

La estructura de los objetos 4D se basa en el principio estndar de pares "propiedad/valor". La sintaxis de estos objetos se
basa en la notacin JSON, pero no sigue completamente:
Un nombre de atributo es siempre un texto, por ejemplo "Nombre".
Un valor de atributo puede ser uno de los tipos siguientes:
nmero (Real, Entero, etc.)
texto
array (texto, real, entero largo, entero, booleano, objeto, puntero)
null
Booleano
puntero (almacenado como tal, evaluado utilizando el comando JSON Stringify o al copiar),
fecha (formato "YYYY-MM-DDTHH:mm:ssZ")
objeto (los objetos se pueden anidar en varios niveles)
Atencin: tenga en cuenta que los nombres de atributos distinguen entre maysculas y minsculas.
Un campo objeto puede ser hasta de 2 GB. Cuando se trabaja con un registro que contiene un campo objeto, todo el objeto
se carga en memoria. Como para campos de tipo texto, imagen o BLOB, los campos objeto pueden ser almacenados en el
archivo de datos (con los registros o no), o fuera del archivo de datos; esta opcin se trata en la seccin Almacenamiento
externo de los datos.
Utilice los comandos 4D Objetos (Lenguaje) para gestionar los campos objeto. Utilice los comandos OB Get y OB SET
para leer y escribir datos desde y hacia campos objeto. Tambin puede almacenar y leer arrays como atributos utilizando los
comandos OB SET ARRAY y OB GET ARRAY.
Puede utilizar el comando QUERY BY ATTRIBUTE para buscar entre los campos objeto.
Como los campos de tipo objeto se basan en texto, su contenido se muestra por defecto en un formulario 4D como texto y
formato JSON (ver la seccin siguiente).
Nota: para trabajar con objetos JSON, puede utilizar los comandos que se encuentran en el tema "JSON".
Por qu utilizar campos objeto?
El tipo objeto permite definir campos sin esquema dinmico. Estos campos objeto pueden ser considerados como
campos "definidos por el usuario" o "personalizados". En 4D v15, ahora tiene que elegir entre los modelos de datos con o
sin esquema. En ambos casos, puede ejecutar bsquedas indexadas rpidas.
Tambin tenga en cuenta que los campos objeto pueden simplificar los modelos de datos estndar. Por ejemplo, para una

- 182 -
tabla "Contacts" convencional, un solo campo de tipo objeto permite evitar la creacin de decenas de campos que
representan todos los valores posibles, mayora de los cuales no se utilizan en el 90% de los casos. Se crea el modelo de
informacin sobre la marcha slo si es necesario.
Mostrar e introducir campos objeto en los formularios
De forma predeterminada, los campos objeto se representan como reas de texto en los formularios 4D. Dentro de estas
reas, los datos objeto deben ser undefined, o formateados en texto JSON; de lo contrario se devuelve un error.

Por ejemplo, si ha definido el campo [Rect]Desc como un campo Objeto, puede escribir:

CREATE RECORD([Rect])
<p>[Rect]Name:="Blue square"
OB SET([Rect]Desc;"x";"50";"y";"50";"color";"blue")
SAVE RECORD([Rect])

Cuando el campo [Rect]Desc se incluye en su formulario, se mostrarn los siguientes contenidos:

Puede editar los valores que se muestran directamente en el campo texto o introducir datos objeto directamente con la
notacin objeto estndar; ser formateado en JSON automticamente al pulsar la tecla [Tab]:

Sin embargo, la edicin directa debe realizarse con precaucin ya que los espacios fuera de lugar o smbolos darn lugar a
un error de anlisis JSON y no se guardarn los datos editados:

Por lo general, es ms preciso para manejar el contenido de los campos objeto a travs de los comandos Objetos
(Lenguaje) y JSON.
Leer y definir los valores de los campos objeto
Todos los comandos del tema Objetos (Lenguaje) ahora aceptan un campo objeto como primer parmetro (objeto).
Al igual que los objetos de lenguaje estndar, los valores de los campos objeto se manejan mediante los comandos del tema
Objetos (Lenguaje). Por ejemplo:

// Definir un valor
OB SET([Persons]Identity_OB;"First Name";$firstName)
OB SET([Persons]Identity_OB;"Last Name";$lastName)

// Obtener un valor
$firstName:=OB Get([Persons]Identity_OB;"First Name")
$lastName:=OB Get([Persons]Identity_OB;"Last Name")

Los arrays tambin son soportados, por ejemplo:

- 183 -
ARRAY TEXT($arrGirls;3)
$arrGirls{1}:="Emma"
$arrGirls{2}:="Susan"
$arrGirls{3}:="Jamie"
OB SET ARRAY([Persons]Children;"Girls";$arrGirls)

Campos objeto y frmulas


Los campos objeto pueden ser utilizados en las frmulas (con ayuda del editor de frmulas estndar o el comando
EXECUTE FORMULA). Sin embargo, en este contexto, los campos objeto pueden ser manejados nicamente por
intermedio de los siguientes comandos:
OB Get
OB Is empty
OB Is defined
OB Get type
Por ejemplo, puede ejecutar la siguiente frmula de bsqueda:

OB Get([Rect]Desc;"color")="blue"

Limitaciones actuales
La mayor parte de las funcionalidades estndar de 4D soportan campos de tipo objeto. Sin embargo, algunas partes
avanzadas de la aplicacin no estn listas para utilizar directamente los campos objeto en la versin actual. Estas partes se
actualizarn progresivamente y estarn disponibles en prximas versiones.
Soporte parcial va formulas 4D
Las siguientes funciones o comandos soportan parcialmente campos objeto a travs de frmulas 4D:
Funcin/Comando
Editor de bsquedas
Editor de ordenacin
Editor de importacin/exportacin (soporte automtico para el formato 4D Application, necesita utilizar formularios para
los formatos texto)
4D Write
4D Write Pro
4D View
4D Tags
PROCESS 4D TAGS

Sin soporte
Las siguientes funciones y comandos 4D no admiten campos objeto:

- 184 -
Funciones/Comandos
Editor de informes rpidos
Editor de etiquetas
Grficos
PHP
Plugin SDK
SQL Data Definition Language (CREATE TABLE)
SQL Data Manipulation Language (SELECT, INSERT, UPDATE)
SQL EXPORT DATABASE y SQL EXPORT SELECTION
DISTINCT VALUES
RELATE ONE
RELATE MANY
ORDER BY
SCAN INDEX

- 185 -
Almacenado en registro, archivo de datos o fuera del archivo de datos

Adems de su nombre y su tipo (ver la seccin Tipos de campos 4D), las propiedades de un campo determinan su
apariencia, sus condiciones de entrada, visualizacin, edicin y almacenamiento de los datos. Las propiedades de cada
campo de una tabla pueden definirse individualmente.
Las propiedades de los campos pueden especificarse en el Inspector o en algunos casos, en el men contextual que
aparece cuando hace clic derecho en un campo.
Nota: puede modificar las propiedades de un campo en el que ya se ha introducido datos en la base de datos. Ciertos
cambios tienen en cuenta los datos existentes. Por ejemplo, cuando se elige el atributo nico, 4D muestra una caja de
dilogo de advertencia y no permite que este atributo se active si los datos del campo contienen valores duplicados. Sin
embargo, si se modifican las propiedades de entrada de datos, esto no afecta a los datos existentes. Por ejemplo, cuando
se elige el atributo Obligatorio, slo las entradas efectuadas despus sern revisadas, los valores que ya se han introducido
pueden contener espacios en blanco.

Definicin

El rea "Definicin" del Inspector permite configurar las propiedades elementales del campo. Ciertas propiedades slo
estn disponibles en funcin del tipo de campo seleccionado.

Color
Puede asignar un color a cada campo. Los colores pueden utilizarse para diferenciar los campos de acuerdo a su funcin o
a sus atributos. Por ejemplo, puede utilizar un color para los campos nicos y otro para los campos obligatorios.
Tambin es posible atribuir individualmente un color a cada tabla (ver Color de la imagen de una tabla) y a cada relacin
(ver la seccin Definicin).
Nota: el color de los campos definido en el editor de estructura no tiene incidencia en el color de los campos mostrado en
los formularios (ver Colores de fondo y de trazo).
El color definido para un campo se aplica al nombre del campo. Para definir el color de uno o ms campos, efecte su
seleccin y elija un color utilizando:
el botn Color de la barra de herramientas del editor,
el comando Color en el men contextual de los campos,
la opcin Color de el Inspector.
La opcin Automtica permite aplicar el color estndar original al campo.

Invisible
Puede volver un campo invisible en el entorno Aplicacin y para los plug-ins seleccionando para este campo la propiedad
Invisible. Volver un campo invisible permite controlar las operaciones que un usuario realiza en ese campo ya que no
aparece en ninguno de los editores y cajas de dilogo que aparecen en el entorno Aplicacin. Adicionalmente, no puede ser
utilizado por los plug-ins. Los siguientes editores y cajas de dilogo se ven afectados en el modo Aplicacin:
todos los editores de bsquedas (ver Buscar registros),
el Editor de ordenacin,
el Editor de etiquetas,
el Editor de informes rpidos,
las cajas de dilogo Exportar e importar datos,
el Editor de frmulas.
En estos editores y cajas de dilogo, el usuario no podr ver o seleccionar el campo. Por ejemplo, el usuario no puede
seleccionar un campo invisible para un informe creado con el editor de informes rpidos.
Nota: al usar los editores, los usuarios tienen la opcin de guardar en el disco las caractersticas de la bsqueda o de la
ordenacin creada por ellos. En este caso, cualquier campo declarado invisible posteriormente podr utilizarse.
Adicionalmente, los usuarios pueden introducir manualmente los nombres de los campos invisibles en el Editor de
frmulas.
Los nombres de los campos invisibles aparecen en cursiva en la ventana de estructura.

nico
La propiedad nico se utiliza cuando quiera que cada registro de una tabla tenga un valor diferente (nico). La propiedad
nico es muy til para validar los campos que contienen nmeros de identificacin, nmeros de seguridad social, nmeros
- 186 -
de orden de compra, etc.
La propiedad nico evita tener duplicados de valores vacos o de valores introducidos. Si un campo tiene la propiedad
nico, solo un registro podr contener un valor vaco para ese campo.
La barra de informacin del editor indica si la propiedad nico est seleccionada para un campo (ver la seccin Editor de
estructura).
En 4D, los campos con el atributo nico deben ser indexados:
Una seal visual indica que se crear un ndice (si no existe) cuando se selecciona el atributo nico para un campo:

El editor no le permite eliminar el ndice de un campo nico (la opcin Ninguno o eliminar comandos no estn
disponibles para los ndices cuando se selecciona un campo de este tipo):

Si desea eliminar el ndice de un campo nico, tiene que eliminar el atributo nico de antemano.

Exponer con el servicio 4D Mobile


Esta opcin controla la exposicin del campo en el contexto de peticiones 4D Mobile enviadas a la base 4D a travs de
REST. Por defecto, todas las tablas y todos los campos estn expuestos en 4D Mobile.
Por razones de seguridad, es posible que desee exponer solamente ciertos campos de su base a las llamadas 4D Mobile.
Por ejemplo, si no desea exponer el campo [Empleados]Salario.
Si no quiere exponer un campo, deseleccione la opcin Exponer con el servicio 4D Mobile para el campo.
Nota: tambin puede definir esta opcin a nivel de la tabla, consulte Propiedades de las tablas.
Para que un campo sea accesible por medio de 4D Mobile, su tabla padre tambin debe ser accesible. Si la tabla padre no
est expuesta, ninguno de sus campos son accesibles, independientemente de su situacin individual. Esto significa que
usted puede activar o desactivar la exposicin de una tabla en 4D Mobile temporalmente sin modificar el valor individual de
la opcin de exposicin de cada campo.
Esta opcin se puede utilizar en el contexto de la funcionalidad "4D Mobile" functionality. Para obtener ms informacin,
consulte el manual 4D Mobile.

Rechazar la escritura del valor NULL


La propiedad Rechazar valor NULL de entrada permite evitar el almacenamiento de valores NULO.
Cuando esta propiedad est seleccionada para un campo, no es posible almacenar el valor NULO en este campo. Si un
campo que tiene esta propiedad recibe un valor NULO, se genera un error.
Esta propiedad de bajo nivel corresponde precisamente al atributo NOT NULL de SQL. Por lo general, si quiere utilizar
valores NULL en su base de datos 4D, se recomienda utilizar exclusivamente el lenguaje SQL de 4D.
Nota: en 4D, los campos pueden igualmente tener la propiedad Obligatorio. Los dos conceptos son similares pero su
alcance es diferente: la propiedad Obligatorio es un control de entrada, mientras que Rechazar valor NULO de entrada
trabaja a nivel del motor de la base de datos.
Mapear valores NULOS a valores vacos
Esta propiedad permite volver consistente el procesamiento de valores vacos y de valores NULOS para el campo va el
lenguaje de 4D. Por razones de compatibilidad, los valores NULOS almacenados en los campos de las bases de datos 4D
se convierten automticamente en valores por defecto cuando son manipulados va el lenguaje de 4D. Por ejemplo, en el
caso de la siguiente instruccin:

miVarAlfa:=[mitabla]MiCampoAlfa

... si el campo MiCampoAlfa contiene un valor NULOS, la variable miVarAlfa contendr (cadena vaca):
para los tipos Alfa y Texto:
para los tipos numricos (Real, Entero y etc.): 0
- 187 -
para el tipo Fecha: 00/00/00
para el tipo Hora: 00:00:00
para el tipo Booleano: False
para el tipo Imagen: imagen vaca
para el tipo BLOB: BLOB vaco
para el tipo Objeto: indefinido
Por otra parte, este mecanismo no aplica en principio a los procesos efectuados a nivel del motor de la base de datos 4D,
tal como las bsquedas. De hecho, la bsqueda de un valor vaco (por ejemplo mivalor=0) no encontrar registros que
almacenen el valor NULO y viceversa. Cuando ambos tipos de valores (valores por defecto y NULOS) estn presentes en los
registros para un mismo campo, ciertos procesos pueden alterarse o necesitar cdigo adicional. Para evitar estos
inconvenientes, la opcin Mapear valores NULOS a valores vacos permite estandarizar todos los procesos en el lenguaje
de 4D. Esta propiedad permite extender el principio de uso de los valores por defecto a todos los procesos. Los campos
que contienen valores NULOS sern considerados automticamente como que contienen los valores por defecto.
Esta propiedad se tiene en cuenta a un nivel muy bajo del motor de la base de datos. Acta particularmente en el comando
Is field value Null.

Nota: los campos Alfa en formato UUID no generados no se consideran como NULL (ver Formato UUID).

Autoincrementar
La propiedad Autoincrementar permite generar los identificadores nicos para los registros. Puede utilizarse con los Tipos
de campos 4D Entero, Entero largo y Entero largo 64 bits (ver la seccin REGISTER CLIENT).
Un campo con esta propiedad se incrementa automticamente con cada nuevo registro en la tabla. El nmero asignado al
campo corresponde al del "contador interno" de la tabla, mantenido por 4D. Este contador interno tambin es accesible va
los comandos 4D Sequence number y Get database parameter y utilizando el marcador #N (ver Valores por defecto).
Los nmeros asignados son permanentes y nunca se reutilizan, incluso cuando se borran o compactan los registros. Los
nmeros generados durante una transaccin anulada se "pierden."
Sin embargo, es posible reinicializar el contador interno de una tabla utilizando el comando SET DATABASE
PARAMETER.
La propiedad Autoincrementar corresponde al atributo SQL AUTO_INCREMENT y puede especificarse utilizando este
lenguaje (ver ejemplo). La etiqueta AUTO INCREMENT tambin aparece en el rea de informacin SQL del Inspector para
los campos que tienen este atributo.
El siguiente cdigo permite generar un campo "id" de tipo entero en la tabla "animales":

ARRAY TEXT($nombres;6)
$nombres{1}:="perro"
$nombres{2}:="gato"
$nombres{3}:="delfn"
$nombres{4}:="culebra"
$nombres{5}:="mariposa"
$nombres{6}:="avestruz"
Begin SQL
CREATE TABLE animals(
id INT NOT NULL AUTO_INCREMENT ,
name VARCHAR(30)NOT NULL,
PRIMARY KEY(id));
INSERT INTO animals(nombre)VALUES(:$nombres);
End SQL

El siguiente cdigo:

SELECT * FROM animals;

... devuelve estos valores:


id nombre
1 perro
2 gato
3 delfn
4 culebra
5 mariposa
6 avestruz

Almacenamiento en el registro, en el archivo de datos, fuera del archivo de datos


- 188 -
Este men de opciones est disponible para los campos de tipo Texto, BLOB, Imagen y Objeto nicamente. Permite definir
el lugar de almacenamiento de los datos del campo. Las siguientes opciones estn disponibles:
En el registro: los datos se guardan con cada registro. Por lo general, no debe elegir esta opcin para campos que
contengan datos de gran tamao. Sin embargo, est seleccionada por defecto para los campos de tipo Texto porque
este tipo de almacenamiento es necesario si quiere utilizar los ndices "estndar" de tipo B-Tree. El men de
seleccin de los ndices est oculto cuando los datos teto se guardan fuera de los registros.
En el archivo de datos: los datos se almacenan en el archivo de datos, pero fuera de cada registro. Esta opcin est
seleccionada por defecto para los campos BLOB, Imagen y Objeto. El almacenamiento de textos, imgenes, blobs y
objetos fuera de los registros permite optimizar el funcionamiento de las bases cuando se trabaja con grandes
volmenes de datos.
Fuera del archivo de datos: los datos se almacenan en archivos separados, fuera del archivo .4DD. Esta opcin se
describe en la seccin Almacenamiento externo de los datos.
Nota de compatibilidad: esta opcin slo se tiene en cuenta para los nuevos registros creados posteriormente en la
tabla. Cuando se define esta opcin para una tabla en la que los registros ya se han introducido, no se modifican y
la tabla funcionar en modo de almacenamiento mixto interno/externo. Si desea ampliar este modo a los registros
existentes, debe compactar los datos utilizando la opcin Forzar la actualizacin de los registros (ver Pgina
Compactar).

Tamao mximo de almacenamiento interno


Como se describi en la seccin anterior, por razones de optimizacin, los datos de los campos de tipo BLOB, Imagen y
Texto se guardan fuera de los registros o fuera del archivo de datos.
En esta configuracin, puede ser interesante, por razones de rendimiento, "forzar" el almacenamiento de los datos en los
registros cuando su tamao es limitado. Este funcionamiento es particularmente optimizado si su aplicacin maneja datos
BLOB, Imagen, Texto u objeto de tamaos no homogneos.
Este parmetro es accesible va la opcin Tamao mximo de almacenamiento interno. El valor introducido en esta rea
representa el tamao en bytes mximo para que los datos del campo se almacenen en el registro. Por ejemplo, si introduce
30 000 para un campo imagen, una imagen de 20 KB se almacenar en el registro y una imagen de 40 KB se almacenar
fuera del registro. Por defecto, el valor es 0: todos los datos se almacenan fuera de los registros.
Formato UUID
Esta propiedad est disponible para los campos de tipo Alfa. Indica que el campo se utiliza para almacenar los
identificadores UUID. Los datos almacenados debern ajustarse al formato UUID (combinacin de 32 letras (AF, af) y
nmeros (0-9)). Para hacer esto, puede utilizar la propiedad Auto UUID, el comando Generate UUID o cualquier algoritmo
personalizado.
Si intenta almacenar en este campo una cadena que no cumple con el formato de UUID, 4D la convierte automticamente.
La misma operacin se aplica tambin a los valores de los campos existentes no alfa que se transforman en campos UUID:
al cargar los registros, los valores se reformatean y despus se guardan de nuevo.
Los campos con la propiedad Formato UUID pueden mostrarse en los formularios y seguir siendo editables. Su contenido
se muestra en caracteres en maysculas. Debe pasar a travs de una variable si desea mostrar los caracteres en
minsculas.
Notas:
Los campos con el formato UUID no pueden asociarse a los ndices de palabras claves, ni a las listas de opciones.
Es posible crear una relacin entre dos campos con el formato UUID pero no es posible relacionar un campo Alfa
estndar a un campo que tiene el formato UUID.
Un campo UUID inicializado (generado) y que tiene el valor NULL devuelve una cadena vaca. Un campo UUID no
generado no es NULL y devuelve "000..." (el nmero de ceros es igual al nmero de caracteres). La propiedad no es
tenida en cuenta por los campos UUID no generados (visualizacin de of "000...").

Auto UUID
Esta opcin slo se activa cuando la propiedad Formato UUID est seleccionada.
Puede utilizar la propiedad Auto UUID para generar automticamente un nmero UUID en el campo.
Este nmero se calcula automticamente en los siguientes contextos:
cuando se crea un registro,
cuando se carga un registro cuyo campo UUID contiene un valor Null. Esto ocurre ms particularmente para los
registros creados y almacenados antes de la adicin del campo UUID en la tabla, cuando la opcin Mapear valores
NULOS a valores vacos no estaba seleccionada.
Naturalmente, en todos los casos, el registro debe guardarse para que el UUID automtico generado se guarde en el campo.
Nota: cuando se importan datos, incluso con esta propiedad seleccionada, 4D no genera un nmero nuevo, pero utiliza los
valores importados (y los transforma cuando sea necesario si el formato no es vlido). Sin embargo, si el valor del campo
importado est vaco, se genera automticamente un UUID.
- 189 -
Compresin QuickTime
Nota de compatibilidad: esta opcin se conserva por razones de compatibilidad y no tiene ningn efecto por defecto. Para
poder utilizarla, debe habilitar QuickTime en su aplicacin (ver Introduccin imgenes).

Ignorar estilo al buscar y ordenar


Esta propiedad est disponible para los campos Texto y Alfa. Cuando selecciona esta opcin, las bsquedas y
ordenaciones efectuadas en los datos almacenados en el campo no tienen en cuenta ningn tipo de etiquetas de estilo.
Esta opcin est relacionada con la posibilidad en 4D de aplicar estilos diferentes dentro de una misma rea de texto (texto
enriquecido) en un formulario. Para obtener ms informacin sobre esta funcin, consulte la seccin Multiestilo (rea de
texto enriquecido).
La definicin de estilos se hace mediante la insercin de etiquetas HTML en el texto. Estas etiquetas se interpretan en el
momento de la visualizacin del rea de texto.
Las etiquetas de estilo se almacenan con los datos. Por ejemplo, si escribe "fin de semana" en un campo de texto, 4D
guardar "fin de <SPAN STYLE = "color:
#D81E05">semana</SPAN>". Esta operacin es transparente para el usuario a nivel de formulario. Sin embargo, para las
bsquedas y las ordenaciones, una configuracin especfica es necesaria para que 4D ignore las etiquetas de estilo. Para
"fin de semana", la bsqueda solamente la encontrar si se ha seleccionado la opcin Ignorar estilo al buscar y ordenar
para el campo en el editor de la estructura.
Nota: con esta opcin, una bsqueda de elvalor entre los datos de elcampo es lo mismo que la ejecucin de esta
instruccin dentro de 4D:

QUERY BY FORMULA(OBJECT Get plain text(elcampo)="elvalor")

Indexacin

La propiedad Indexacin est disponible para los campos de tipo alfanumrico, texto, fecha, hora, booleano, entero, entero
largo, entero 64 bits, real, flotante y objeto. La propiedad ndice de palabras claves est disponible para los campos de
tipo alfanumrico, texto e imagen.
El uso de ndices permite acelerar los procesos y las bsquedas entre los datos.
La gestin de ndices se detalla en la seccin Crear y modificar ndices.

Controles de entrada

Puede establecer controles de entrada para campos y objetos editables a nivel de los formularios. Los controles de entrada
restringen lo que el usuario puede introducir en el campo u objeto editable en un formulario particular.
Obligatorio
Cuando el atributo Obligatorio se selecciona para un campo, el usuario debe obligatoriamente introducir un valor en el
campo durante la entrada de datos. 4D no acepta un registro con campos obligatorios vacos. Debe definir como
obligatorios aquellos campos cuya informacin sea esencial para su base. El campo que identifica como nico a cada
registro en una tabla es un buen candidato a ser Obligatorio. Campos que deben ser obligatorios para proteger la integridad
de los registros son los que contienen datos como los nmeros de seguridad social, nmeros de factura, ciertas fechas o
cdigos de los empleados.
Tambin puede definir el atributo Obligatorio para un campo en un formulario particular. Si selecciona este atributo en el
editor de estructura, no puede deshabilitarlo en un formulario particular. Sin embargo, puede aplicar el atributo Obligatorio
en un formulario para un campo que no tenga este atributo en el editor de estructura. Para mayor informacin consulte la
seccin Propiedades de campos y atributos Editable y Obligatorio.
Nota: en 4D, los campos pueden igualmente tener la propiedad "Rechazar la escritura del valor NULL" (ver arriba). Los dos
conceptos son similares pero su alcance es diferente: la propiedad Obligatorio es un control de entrada, mientras que
"Rechazar la escritura del valor NULL trabaja a nivel del motor de la base de datos.
No modificable
Si el atributo No modificable se selecciona para un campo, 4D valida el primer valor introducido en el campo, pero no
permite que el usuario modifique el valor despus de que se guarde el registro. El usuario slo puede modificar este valor
durante la creacin del registro, antes de que el registro sea aceptado. Una vez el usuario guarda el registro, el valor de este
campo no es modificable. Este valor puede ser modificado por un mtodo o regresando al entorno Diseo y desactivando
esta opcin.
Utilice el atributo No modificable para los campos que deben ofrecer informacin de seguimiento (auditorias) tales como
fecha de recepcin, fecha de pago, etc.
Nota: este atributo slo funciona con campos mostrados en un formulario de entrada. En otros casos (entrada en lista,
entrada en subformulario y en modo listado) el valor del campo an podr modificarse.
- 190 -
No editable
El usuario no puede introducir valores desde el teclado en un campo que tenga el atributo No editable. Debe utilizar un valor
por defecto para este campo o escribir un mtodo que inserte un valor en el campo. Un campo con el atributo No editable es
til para mostrar los valores que no quiere que los usuarios de la base modifiquen, tales como totales o nmeros de serie
asignados por un mtodo.
Tambin puede definir esta propiedad para un campo en un formulario en particular. Para mayor informacin, consulte la
seccin Propiedades de campos y atributos Editable y Obligatorio.

Multilnea
Esta opcin slo est disponible para los campos de tipo Texto. Cuando est seleccionada, el campo texto se configura
automticamente, en los formularios creados posteriormente, de manera puedan tener varias lneas de texto. Sus
caractersticas por defecto son las siguientes:
altura correspondiente a varias lneas,
barra de desplazamiento horizontal,
en ejecucin, un retorno de carro provoca una nueva lnea.
Cuando esta opcin no est seleccionada, la apariencia por defecto del campo texto en los formularios es idntica a la de
los campos de tipo Alfa: una sola lnea de altura y sin barra de desplazamiento; un retorno de carro lo pasa al siguiente
campo en el formulario.
Es posible cambiar la apariencia por defecto del campo en cualquier momento va el editor de formularios.

Permitir lista
Utilice Permitir lista si quiere mostrar una lista de seleccin durante la entrada de datos en el campo. Para utilizar esta
propiedad, primero debe crear la lista con ayuda del editor de Listas.
Utilice esta propiedad cuando quiera estandarizar las entradas en los campos y evitar errores de digitacin. Esta propiedad
es til para los campos que tienen un nmero limitado de posibles valores o entradas usuales. Utilizar una lista de valores no
necesariamente evita que el usuario escriba valores diferentes a los de la lista.
Tambin puede asignar una lista de seleccin para un campo en un formulario particular. Sin embargo, cuando asigna una
lista de seleccin slo para un formulario, la lista no se muestra en los otros editores o cajas de dilogo, como el editor de
bsquedas. Para mayor informacin sobre el uso de listas de valores en formularios, consulte la seccin Controles y ayuda
a la entrada.
Nota: tambin es posible definir a nivel de los formularios las listas de valores obligatorios y de valores excluidos.
Cuando selecciona la opcin Permitir lista, el men desplegable asociado se activa. Puede entonces seleccionar una lista
existente que quiera asignar al campo o puede hacer clic en el botn [...] para acceder directamente al editor de Listas.

Mensajes de ayuda

Puede dar a los usuarios de su base informacin adicional sobre un campo aadiendo mensajes de ayuda. Si escribe un
mensaje de ayuda en esta rea, se mostrar debajo del campo cuando el usuario coloque el cursor en el campo, sin
importar el formulario en el que se encuentre el campo.
Cuando el usuario ubica el puntero debajo del campo, aparece el mensaje de ayuda, como se muestra a continuacin:

- 191 -
Tambin puede utilizar un mensaje de ayuda para un campo en un formulario particular. Si asigna un mensaje de ayuda slo
a algunos formularios, no aparecer en los dems formularios. Para mayor informacin sobre el uso de mensajes de ayuda,
consulte el prrafo Mensajes de ayuda.

Comentarios

El rea Comentarios del Inspector permite almacenar informacin adicional sobre el campo. Estos comentarios estn
disponibles para todos los desarrolladores.
Note que cada tabla y cada relacin dispone de su propia rea de comentarios.

SQL

El rea SQL del Inspector ofrece informacin til sobre el campo desde la perspectiva de su uso va el motor SQL.
Esta rea indica particularmente si el nombre del campo no respeta las reglas de la nomenclatura SQL (por ejemplo, a
diferencia de 4D, SQL no permite que un nombre de campo contenga espacios).
Para cada campo, el rea de informacin SQL indica sus atributos SQL (tipo y propiedades).

- 192 -
Almacenamiento externo de los datos

Puede elegir dnde guardar los datos de cada campo de tipo BLOB, Imagen, Texto y Objeto. Adems de las opciones de
almacenamiento internas (en el registro o en el archivo de datos), puede optar por almacenar estos campos fuera del archivo
de datos. En este caso, sus datos se guardan como archivos externos que son gestionados por 4D y pueden ser manejados
por las aplicaciones de terceros, siempre y cuando usted tenga la precaucin de conservar la integridad de los datos.

Este principio es transparente para el usuario: el acceso a los datos es el mismo, independientemente de su ubicacin.

El almacenamiento externo de los datos permite optimizar el funcionamiento de la aplicacin, permitiendo por ejemplo
transportar grandes volmenes de datos o acceder desde el sistema operativo a los textos o a las imgenes contenidas en
la base, incluso cuando no est abierta.

Modo automtico o modo personalizado

El soporte para el almacenamiento externo de datos puede efectuarse de dos modos:


Modo automtico: en este modo, 4D crea y gestiona una carpeta por defecto, estructurada en una forma especfica y
que contiene todos los datos de almacenamiento externo. En este caso, estos datos se administran de manera
transparente y tiene las mismas funciones y el funcionamiento automtico que para los campos almacenados
internamente.
Para activar este modo automtico, usted puede:
Configurar el almacenamiento externo en el editor de estructura (parmetros guardados con la estructura de la
base). Esta opcin se describe en el Almacenamiento en el registro, en el archivo de datos, fuera del
archivo de datos.
Utilizar el comando SET EXTERNAL DATA PATH con una constante en el parmetro ruta (configuracin vlida
para la sesin).
Modo personalizado: en este modo, usted decide libremente el lugar donde se almacenan los archivos externos para
cada campo y cada registro. En este caso, 4D conserva nicamente la relacin entre el campo y sus datos y accede
en modo lectura, algunos de los mecanismos de base de datos ya no estn disponibles.
El modo personalizado se activa utilizando el comando SET EXTERNAL DATA PATH e indicando una carpeta
(diferente a la carpeta por defecto) en el parmetro ruta.
La siguiente tabla compara las funciones y automatizaciones disponibles en los modos automtico y personalizado:
Modo automtico Modo personalizado
Configuracin de la carpeta de Nombre y lugar definidos por 4D, slo una Nombre y ubicacin libres, puede
almacenamiento carpeta por defecto para toda la base ser diferente para cada campo
Carga de archivos externos Automtico Automtico
Creacin y actualizacin de
Automtico Manual
archivos externos
Supresin del archivo externo si el
S No
registro se elimina
Supresin del archivo externo si el
S No
valor nulo se asigna al campo
Integracin automtica cuando se S S (ruta externa)
guarda la base
Soporte automtico durante la S S (ruta externa)
integracin del archivo de historial
Soporte de los ndices estndar No No
(campos texto)
Soporte de los ndices de palabras S No
clave (campos texto e imagen)
Soporte de las transacciones S No

Ubicacin de los datos externos

Los datos almacenados fuera del archivo de datos se organizan de acuerdo a los siguientes principios:
- 193 -
Para cada registro, los datos se almacenan en un archivo externo llamado xxx.txt (campo texto), xxx.blob (campos
BLOB y objeto) o xxx.jpg, xxx.tiff... (campo Imagen, la extensin depende del tipo de imagen), donde xxx es un
identificador nico (UUID) administrado por 4D.
En modo automtico, todos los datos externos se ubican en una carpeta llamada <NomDeLaBase>. ExternalData
donde <NomDeLaBase> se remplaza por el nombre del archivo de estructura de la base. Esta carpeta se ubica al
lado del archivo de datos de la base (archivo .4 DD).
Dentro de esta carpeta, 4D crea una carpeta para cada tabla que tiene los datos externos (llamada "Tabla +
nmero de la tabla"), luego una subcarpeta para cada campo externo (llamada "Campo + nmero del campo"). Los
primeros 100 elementos del campo se almacenan en el primer nivel de esta carpeta, los siguientes se almacenan en
subcarpetas numeradas comenzando a partir de "2", con cada subcarpeta contiene 100 elementos. Por ejemplo, si el
campo N5 de la Tabla N3 de la base "Contabilidad" se almacena fuera del archivo de datos, la siguiente estructura
rbol es creada por 4D:
Contabilidad.4DD
[Contabilidad.ExternalData]
Tabla3
Campo5
Data_1B7F3A 56F6544B45951EFA60426D5ABC.txt
Data_1B7F3A 56F6544B45951EFA60426D5CCC.txt
...
2
Data_2ADBFBA478AAE4409DA9C2D13C90A53B.txt
Data_32F8A30B87EE7E4BBC802468D553DC43.txt
...
En modo personalizado, el nombre y la ubicacin de la carpeta se puede configurar libremente y se pueden especificar
por separado para cada campo que se almacenan de forma externa va el comando SET EXTERNAL DATA PATH.
Esta configuracin no se guarda en la estructura de la base.

Creacin y actualizacin de los archivos

En modo automtico, la escritura del campo en un archivo externo se lleva a cabo al momento del registro en el disco
(despus de la validacin de la transaccin si es necesario):
Si el archivo externo no existe: en modo automtico, se crea; en modo personalizado, se devuelve un error;
Si un archivo externo ya existe, 4D lo remplaza por uno nuevo.
Si desea conservarlo, puede especificar una ruta diferente (con el comando SET EXTERNAL DATA PATH), o
utilizando el comando RELOAD EXTERNAL DATA para cargar en memoria el contenido del campo desde su archivo
externo antes de guardarlo en el disco nuevamente. Esta opcin es til cuando el archivo ha sido modificado por otra
aplicacin despus de la carga del registro.

Sincronizacin y replicacin
El lugar de almacenamiento de los datos es un parmetro local en cada base. Durante una sincronizacin o replicacin (ver
Replicacin va SQL, estos parmetros pueden variar entre la base local y la base remota. En este caso, el
almacenamiento cumple con los parmetros de cada base; la sincronizacin o replicacin no los cambia.
Por ejemplo, si un campo imagen de la base remota se guarda normalmente fuera del archivo de datos y este mismo campo
en la base local se guarda en el archivo de datos, cuando se produce la replicacin, todo dato aadido a este campo en la
base local (en el archivo de datos) se almacenar fuera del archivo de datos en la base remota.

Acceso externo a los archivos

Los archivos de almacenamiento externos son accesibles en modo lectura/escritura por otras aplicaciones diferentes a 4D
(sistemas operativos, editores de texto o grficos, etc.). Sin embargo, esto debe hacerse con precaucin ya que pueden
alterar el funcionamiento de la aplicacin:
Si un archivo de almacenamiento externo es eliminado, renombrado o movido por el sistema operativo o por una
aplicacin de terceros, 4D considera que el campo correspondiente tiene el valor nulo y en modo automtico el archivo
se crear de nuevo (si no es nulo) cuando se guarde el registro. En modo personalizado, se generar un error cuando
se ejecute el comando SET EXTERNAL DATA PATH.
Si utiliza los ndices y si los archivos de almacenamiento son modificados por una aplicacin de terceros, sin que los
registros padres se reescriban en el disco, los ndices no se actualizan.
Nota: los archivos texto externos se guardan en formato UTF-8 sin BOM. Si son abiertos por una aplicacin de terceros y
luego se guardan con un BOM, an podrn ser abiertos de nuevo por 4D, pero se guardarn sin BOM.
Tenga en cuenta que la carga de un registro en modo "slo lectura" no bloquea los archivos externos de los campos de este

- 194 -
registro. Estos archivos an pueden ser modificados en el disco por 4D o por aplicaciones de terceros, a pesar de que sus
contenidos son cargados en memoria por 4D.

- 195 -
Reglas de nombres de tablas y campos

Los nombres de tablas y campos 4D deben respetar las siguientes reglas:


El nombre puede tener hasta 31 caracteres.
Debe comenzar por una letra.
Puede contener combinaciones de letras, nmeros, espacios y guiones bajos.
Los siguientes caracteres no se permiten en nombres de tablas (generan un error en el editor de estructura): ( ) + - / * " ;
= & | # > < ^ ' { } % DIAMOND (0x00D7), CUBE (0x00B3), SQUARE (0x00B2), PLUS-MINUS (0x00B1)
Por lo general, debe evitar caracteres que puedan causar una mala interpretacin en 4D o va lenguajes externos,
como signos de puntuacin (comas, dos puntos, etc).
4D trunca los nombres de las tablas que superan los 31 caracteres y borra los espacios al principio o al final del
nombre.
No utilice el mismo nombre para dos objetos visibles. Si utiliza el mismo nombre dos veces, una caja de dilogo de
alerta le indicar que otro objeto visible ya tiene ese nombre y por lo tanto la entrada no es posible.
No utilice los nombres reservados para tablas o campos. Los nombres reservados incluyen los nombres de comandos
(Fecha, Hora, etc.), palabras claves (If, For, etc.) y constantes.
Recomendacin: aunque es posible insertar espacios en los nombres de los objetos, introducir un nombre sin espacios le
permitir, en el editor de mtodos, seleccionar el objeto haciendo doble clic directamente en l. Por lo tanto se recomienda
utilizar un guin bajo en lugar de un espacio.
Notas:
Se deben respetar reglas adicionales cuando los objetos deben manipularse va el SQL: slo se aceptan los
caracteres _0123456789abcdefghijklmnopqrstuvwxyz, y el nombre no debe incluir palabras claves SQL (command,
attribute, etc.). El rea "SQL" del Inspector le avisar si el nombre no cumple una regla SQL (ver la seccin
UNREGISTER CLIENT).
Tambin debe asegurarse de utilizar caracteres que sean compatibles con JavaScript si desea acceder a sus tablas y
campos desde una aplicacin Wakanda por medio de un enlace 4D Mobile (Programming and Writing Conventions en
la documentacin Wakanda).

- 196 -
Crear y modificar ndices

Puede asociar ndices a los campos que utilice frecuentemente para efectuar las bsquedas y ordenaciones. Por ejemplo,
puede indexar un campo que almacene los apellidos, empresas, o nombres de productos si planea efectuar bsquedas de
registros particulares u ordenar los registros con ayuda de estos campos. Tambin puede utilizar esta propiedad para los
campos que establecen relaciones entre las tablas. Para mayor informacin, consulte la seccin Crear y modificar
relaciones.
Cuando un ndice se asocia a un campo, 4D crea una tabla de ndices para el campo. Esta tabla permite a 4D realizar
rpidamente bsquedas y ordenaciones en el campo. Cuando realiza bsquedas u ordenaciones en un campo no indexado,
4D explora secuencialmente los datos y examina cada registro. La indexacin permite a 4D evitar buscar en todos los
registros.
Puede indexar los campos de tipo Alfa, Texto, Fecha, Hora, Booleano, Entero, Entero largo, Entero 64 bits, Real, Flotante,
Imagen y Objeto. Cuando aade y borra registros, 4D actualiza automticamente su tabla de ndices. Si crea un ndice para
un campo que ya existe, 4D indexa automticamente los datos existentes. Puede definir tantos campos indexados como
quiera. Los ndices tambin se recrean durante operaciones especficas como la conversin de bases antiguas o la
compactacin de datos.
No indexe todos los campos. Un ndice aumenta el tamao de la base, al utilizar ms espacio en el disco. Una indexacin
excesiva puede aumentar el tiempo necesario para guardar un registro ya que 4D actualiza las tablas de ndices con cada
validacin de registros.
Los campos indexados se muestran en caracteres en negrita en editor de estructura.

Tipos de ndices

4D propone diferentes tipos de ndices. La eleccin de un tipo de ndice se efecta en funcin del resultado esperado y del
tipo de dato presente en el campo. Hay tres tipos principales de ndices:
ndices estndar: estos ndices monocampo permiten acelerar las operaciones habituales de la base de datos
(bsqueda y ordenaciones). 4D permite elegir la arquitectura interna de este tipo de ndice (excepto para los campos
objeto): rbol- B o rbol-B agrupado.
ndices compuestos: este ndice almacena conjuntamente el valor de dos o ms campos que con frecuencia se
buscan juntos, por ejemplo Apellido+
Nombre.
ndices de palabras claves: estos ndices estn disponibles nicamente para los campos de tipo Alfa, Texto e
Imagen. Estn diseados para facilitar las bsquedas rpidas en textos o en el caso de las imgenes, entre las
palabras claves asociadas a las imgenes.

ndices estndar
Un ndice estndar est diseado para acelerar las operaciones de la base de datos (un ndice estndar hace referencia a
un ndice genrico, contrario a un ndices de palabras claves o a un ndice compuesto). 4D ofrece dos tipos de arquitecturas
para los ndices estndar: rbol-B y rbol-B agrupado.
rbol-B: ndice de tipo B-Tree clsico. Este tipo de ndice multipropsito responde a la mayora de las necesidades de
indexacin.
rbol-B agrupado: ndice de tipo B-Tree utilizando los clusters. Esta arquitectura es ms eficiente cuando el ndice no
contiene un gran nmero de llaves, es decir, cuando los mismos valores ocurren frecuentemente en los datos.
Nota: un ndice B-Tree asociado a un campo de tipo texto almacena como mximo los primeros 1024 caracteres del campo
(mximo). Por lo tanto en este contexto, las bsquedas en las cadenas que contienen ms de 1024 caracteres fallarn.
Cuando elije la arquitectura del ndice, 4D tambin propone la opcin Automtica. En este caso, 4D selecciona
automticamente la arquitectura en funcin de la naturaleza de los datos.
La opcin Automtica es la nica opcin disponible para los campos de tipo de objeto. De hecho, en este caso, todas las
rutas atributo se indexan automticamente.
ndices compuestos
Los ndices compuestos almacenan el valor conjunto de dos o ms campos para cada entrada. El ejemplo clsico es un
ndice compuesto basado en los campos Nombre+Apellido. La bsqueda de Pedro Casas se optimizar en comparacin
con una bsqueda estndar (bsqueda de Casas y luego bsqueda de Pedro).
4D toma ventaja automticamente de los ndices compuestos durante las bsquedas y ordenaciones. Por ejemplo, si existe
un ndice compuesto Ciudad+CdigoPostal, se utilizar en el caso de una bsqueda del tipo apellido=martinez y
- 197 -
ciudad=nueva york y CodigoPostal =102@.
En el editor de estructura, las creacin de los ndices compuestos se efecta va la caja de dilogo de creacin de ndices.
Para una descripcin detallada de esta caja de dilogo, consulte la seccin Crear un ndice.
ndice de palabras claves
Los campos Alfa, Texto e Imagen pueden tener un tipo de ndice especifico: palabras claves.
Cuando asocia este tipo de ndice con un campo Alfa o Texto, los textos almacenados en el campo sern indexados
palabra por palabra. Todas las palabras se indexarn incluso si tienen slo 1 2 caracteres. Este tipo de ndice
permite acelerar drsticamente las bsquedas posteriores por palabras claves en campos de tipo texto.
Es posible asociar a la vez un ndice estndar y un ndice de palabras claves a los campos Alfa y a los campos Texto
(cuando se almacena con los registros). 4D utilizar el ndice apropiado en funcin del contexto.
Cuando asocia este tipo de ndice a un campo Imagen, las bsquedas entre las palabras claves asociadas a las
imgenes (meta datos) se aceleran de manera significativa. Atencin: los ndices de palabras claves de imgenes se
basan exclusivamente en los meta datos de tipo IPTC/Keywords. Estos tipos de meta datos estn soportados en
particular por los formatos TIFF y JPEG (note que BMP, PNG y GIF no los soporta). Otros tipos de meta datos no son
soportados por la indexacin.
La actualizacin de los ndices de palabras de imgenes es efectuada automticamente por 4D cada vez que se
guarda el campo Imagen (creacin o modificacin del registro, importacin de datos, etc.). Los meta datos de tipo
IPTC/Keywords son indexados automticamente por 4D cuando estn presentes en la imagen (no es necesario llamar
al comando SET PICTURE METADATA para incluirlo en el ndice del campo imagen).

Puede utilizar el comando DISTINCT VALUES para obtener la lista de palabras claves contenidas en un ndice de palabras
claves.
Utilice los ndices de palabras claves texto o imagen con ayuda del operador % : este operador debe ubicarse en las
frmulas de bsqueda o de ordenacin para para utilizar especficamente un valor de ndice. Por ejemplo:

QUERY([IMAGENES];[IMAGENES]Fotos%"gatos")
// busca las fotos asociadas a la palabra clave gatos

Esto funciona de la misma forma para todos los comandos de bsqueda y ordenacin: QUERY BY FORMULA, QUERY
SELECTION, ORDER BY, etc.
Para mayor informacin sobre el operador % y las bsquedas por palabras claves, consulte la seccin Operadores de
comparacin en el manual Lenguaje de 4D.

Lista de ndices

El botn de la barra de herramientas del editor de estructura muestra la ventana de la Lista de ndices. Esta ventana
muestra la lista y las propiedades de todos los ndices de la estructura, sin importar el tipo:

La lista de ndices permite visualizar las principales propiedades de los ndices:


Tipo: tipo de ndice. Cada tipo de ndice (rbol-B, rbol-B agrupado, palabras claves) se representa con un icono
diferente. Es posible modificar el tipo de ndice haciendo clic en el tringulo inverso y seleccionando un valor diferente
en el men pop-up.
Descripcin: tabla y campos del ndice. Para un ndice compuesto, esta lista contiene todos los campos del ndice.
Nombre: nombre del ndice. Esta propiedad es utilizada particularmente en los comandos del lenguaje. Puede
- 198 -
cambiar o aadir un nombre de ndice haciendo doble clic en esta rea.
El botn muestra la caja de dilogo de configuracin del ndice.
El botn borra el ndice seleccionado (aparece una caja de dilogo de confirmacin). Este botn puede utilizarse
particularmente para borrar los ndices compuestos.
Dos comandos adicionales son accesibles va el men asociado al botn de herramientas (disponible cuando un ndice se
selecciona):

Modificar: muestra las propiedades del ndice seleccionado en la caja de dilogo de configuracin del ndice (ver el
siguiente prrafo). Este comando tiene el mismo efecto que un doble clic en una lnea de la lista (excepto para el rea
de nombre).
Reconstruir: permite borrar y reconstruir el ndice seleccionado. Cuando selecciona este comando aparece una caja
de dilogo de confirmacin.

Crear un ndice

La manera de crear un ndice depende de su tipo. Adicionalmente, usted puede elegir crear un ndice directamente o por
medio de la caja de dilogo de creacin de ndices.
Para crear directamente un ndice estndar:
1. Seleccione un campo luego seleccione un valor en el men ndice de la paleta del Inspector.
O
Haga clic derecho en el campo luego seleccione un valor en el submen ndice> del men contextual.
Hay cuatro opciones disponibles (excepto campo de tipo Objeto):
rbol-B: crea un ndice de tipo rbol-B clsico.
rbol-B agrupado: crea un ndice de tipo rbol-B utilizando clusters.
Automtico: 4D selecciona la arquitectura en funcin de los datos.
Ninguno: ningn ndice o eliminacin del ndice existente.

Para crear directamente un ndice de palabras claves:


1. Seleccione un campo Alfa, Texto o Imagen luego seleccione la opcin ndice de palabras claves en el Inspector de
campo.

O
Haga clic derecho en un campo luego seleccione Palabras claves en el submen ndice> del men contextual.
Para crear un ndice compuesto o todo tipo de ndice utilizando la caja de dilogo de creacin de ndices:
1. Seleccione la opcin Nuevo ndice en el men contextual de la tabla o Indice en el men de adicin de objetos de la
barra de herramientas del editor.
O
Seleccione varios campos mientras presiona el botn Ctrl (Windows) o Command (OS X) luego haga clic derecho en
uno de los campos y seleccione Nuevo ndice en el men contextual.
Aparece la caja de dilogo de configuracin de ndices, la cual contiene los siguientes elementos:

- 199 -
Tabla: lista todas las tablas de la base. Elija en este men la tabla a la cual pertenecer el ndice.
Nombre: rea de entrada del nombre del ndice. Este nombre es utilizado por los comandos del lenguaje de 4D.
Tipo: men de seleccin del tipo de ndice a crear . Si conserva la opcin Automtica, 4D elegir
automticamente el tipo de ndice en funcin del contenido del campo.
Lista de campos: esta rea se utiliza para especificar el(los) campo(s) asociados al ndice. Puede contener un
campo por defecto dependiendo de la seleccin actual en el editor.

Para aadir un campo al ndice, haga clic en el botn . La lista de campos de la tabla seleccionada se muestra de
manera que pueda indicar el campo a aadir al ndice.
Si quiere crear un ndice compuesto, aada cada campo a incluir en el ndice. Una vez la lista est completa, puede
reorganizar los campos utilizando los botones de flecha o utilizando arrastrar y soltar.
Si crea un ndice compuesto basado en los campos de la llave primaria, asegrese de poner los campos en el mismo
orden en la llave primaria y en el ndice.
Si eligi el tipo ndice de palabras claves, slo los campos Alfa o Texto pueden ser seleccionados. En este caso,
usted no puede incluir un solo campo en el ndice.
Para borrar un campo del ndice, seleccinelo y haga clic en el botn .
Una vez configurado el ndice, haga clic en Aceptar para generar el ndice.

Borrar un ndice en el editor de estructura

Usted puede borrar en cualquier momento un ndice que ya no le sea til. Esta operacin se puede efectuar directamente en
el editor de estructura o utilizando la ventana Lista de ndices. Para mayor informacin sobre la ventana Lista de ndices,
consulte el prrafo Lista de ndices.
Para borrar un ndice estndar:
1. Seleccione el campo asociado al ndice a borrar, luego elija la opcin Ninguno en el men ndice del Inspector.
O
2. Haga clic derecho en el campo asociado con el ndice, luego elija la opcin Ninguno en el submen ndice del men
contextual.
Para borrar un ndice de palabras claves:
1. Seleccione el campo asociado al ndice que quiere borrar, luego deseleccione la opcin Palabras claves en el
Inspector.
O
2. Haga clic derecho en el campo asociado con el ndice, luego deseleccione la opcin Palabras claves en el submen
ndice del men contextual.
La eliminacin (y visualizacin) de un ndice compuesto slo puede efectuarse desde la ventana Lista de ndices (utilizando
el botn ).

Reindexar un campo

En cualquier momento puede reindexar un campo; es decir reconstruir lo ndices asociados a l, en funcin de los datos
presentes. Esto puede ser til en el mantenimiento de aplicaciones.
La reindexacin puede efectuarse va el comando Reconstruir en la Lista de ndices.
- 200 -
Note que la modificacin del lenguaje de los datos (ver Comparacin de texto) o de las operaciones de mantenimiento
tales como la compactacin (ver la seccin Pgina Compactar) provocan la reconstruccin de los ndices.

- 201 -
Crear y modificar relaciones

Puede crear o borrar relaciones va el editor de estructura o va los comandos SQL de 4D. Esta seccin trata sobre la
creacin de relaciones en el entorno Diseo. Para mayor informacin sobre el uso de instrucciones SQL en 4D, consulte el
Manual de referencia SQL de 4D.

Crear una relacin

Puede crear una relacin entre dos tablas trazando manualmente una lnea entre dos campos o utilizando el men de aadir
objetos de la barra de herramientas.
Para crear una relacin entre dos tablas utilizando la ventana del editor de estructura:
1. En la ventana de Estructura, mueva el puntero sobre el campo llave fornea para la relacin.
2. Haga clic y mantenga presionado el botn del ratn y arrstrelo hacia la tabla con la cual se va a relacionar.
A medida que mueve el puntero, 4D selecciona el campo y dibuja la relacin, como se muestra a continuacin.

3. Arrastre al campo llave primaria en la tabla Uno y suelte el botn del ratn.
Para crear una relacin desde el men de adicin de objetos:
1. Seleccione dos campos del mismo tipo que pertenezcan a dos tablas diferentes.
El orden de seleccin determinar la direccin de la relacin. El primer campo seleccionado se considera como el
campo llave fornea (campo Muchos) y el segundo como el campo llave primaria (campo Uno).
2. En el men de adicin de objetos de la barra de herramientas del editor, seleccione la opcin Relacin.

4D muestra la relacin como una flecha entre dos tablas en el editor de estructura. La forma del conector de origen y final
- 202 -
como tambin los caracteres N y 1 indican la direccin de la relacin:

El Inspector muestra las propiedades de la relacin (ver la seccin Propiedades de las relaciones).

Relaciones creadas va SQL


La apariencia de las relaciones es diferente cuando son generadas va SQL (conectores de cuadrados):

Borrar una relacin

4D permite borrar una relacin en cualquier momento. Para borrar una relacin:
1. Seleccione la relacin a borrar.
Cuando se selecciona una relacin, su contorno se vuelve azul.
2. Haga clic derecho en la relacin y elija el comando Borrar del men contextual.
O
Presione Suprimir o Retroceso.
En ambos casos, aparece una caja de dilogo de alerta que permite confirmar o anular esta accin. Si la confirma, 4D
elimina la flecha y las tablas ya no estn relacionadas. Los posibles ndices de los campos Muchos y Uno no se borran.

Redefinir una relacin

Puede redefinir una relacin en cualquier momento. Por ejemplo, si por error, disea la relacin entre campos equivocados o
si quiere cambiar una propiedad de la relacin. 4D permite redefinir una relacin simplemente dibujando la relacin
nuevamente.

En el caso de estructuras complejas, puede seleccionar los campos en las tablas fuente y de destino de una relacin con la
ayuda de los comandos Seleccionar campo fuente y Seleccionar campo de destino, ubicados en el men contextual de
la relacin.
Para redefinir una relacin utilizando los mismos campos, haga doble clic en la relacin en el editor de estructura. 4D
muestra las propiedades de la relacin en el Inspector para que pueda efectuar todos los cambios necesarios.
Para redefinir una relacin utilizando un campo diferente de la tabla Uno, dibuje nuevamente la relacin a partir del campo
Muchos.
Para redefinir una relacin utilizando un campo diferente en la tabla Muchos, primero elimine la relacin equivocada antes de
dibujar la relacin correcta.

- 203 -
Tipos de relaciones

El tipo de relacin ms comnmente utilizado es la relacin entre una tabla Muchos y una tabla Uno, llamada relacin Muchos
a Uno. Sin embargo, tambin puede crear relaciones Muchos a Muchos y Uno a Uno. Todas las relaciones pueden ser
manuales o automticas.

Relaciones manuales y automticas

Una relacin pueden ser automtica o manual.


En una relacin automtica, cuando un registro en una tabla relacionada se convierte en el registro actual, 4D selecciona el o
los registros correspondientes. Estos registros especificados pueden visualizarse, imprimirse, modificarse o utilizarse para
realizar bsquedas y ordenaciones. No es necesario utilizar programacin.
En una relacin manual, puede ejercer control sobre la carga en memoria de los registros correspondientes por parte de 4D.
Para ejercer este control es necesario utilizar mtodos. Para mayor informacin sobre la creacin de mtodos que controlen
tablas relacionadas, consulte el Manual Lenguaje de 4D.
Puede utilizar relaciones manuales si quiere optimizar el rendimiento de aplicaciones especficas que no necesitan cargar
todos los registros correspondientes a la vez. Por ejemplo, si su estructura relaciona tres o ms tablas, usted podra querer
controlar cundo cargar los registros relacionados. Puede utilizar una relacin manual si quiere relacionar dos tablas con dos
relaciones diferentes. Slo puede existir una relacin automtica entre dos tablas, mientras que el nmero de relaciones
manuales entre dos tablas no tiene lmites.

Relaciones Muchos a Uno

Cuando cree una relacin entre dos tablas, la tabla que contiene la llave primaria de la relacin se llama Tabla Uno y la tabla
que contiene el campo llave de llamada de la relacin se llama Tabla Muchos. Las tablas se llaman Uno y Muchos porque un
registro de la tabla Uno est relacionado con muchos registros de la tabla Muchos y viceversa. Este tipo de relacin se llama
una relacin de Muchos a Uno.
En la relacin entre empleados y empresas, la tabla [EMPRESAS] es la tabla Uno y la tabla [EMPLEADOS] es la tabla
Muchos. El registro de una empresa est relacionado con varios empleados (todos los empleados de esta empresa) y
varios empleados estn relacionados con una empresa (la empresa para la cual trabajan). Por ejemplo, puede haber un
registro que corresponde a la empresa Acme en la tabla [EMPRESAS] y varios registros de personas empleadas por Acme
en la tabla [EMPLEADOS].
Cuando un registro de la tabla [EMPLEADOS] se convierte en el registro actual, 4D carga el registro correspondiente de la
tabla [EMPRESAS]. Si algunos campos han sido incluidos desde la tabla [EMPRESAS], los valores de estos campos se
muestran automticamente.
La siguiente imagen muestra cmo el nombre de la empresa en un registro de la tabla [EMPLEADOS] especifica un registro
de la tabla [EMPRESAS] de manera que el registro de la tabla [EMPLEADOS] puede mostrar la direccin y nmero
telefnico de la empresa:

- 204 -
En cambio, cuando un registro de la tabla [EMPRESAS] se convierte en el registro actual, 4D crea una seleccin de
registros en la tabla [EMPLEADOS] y los muestra en el formulario. Slo los registros mostrados en el formulario se cargan
en la memoria.
La imagen a continuacin muestra cmo el nombre de una empresa en un registro de la tabla [EMPRESAS] especifica
varios registros de la tabla [EMPLEADOS] de manera que el registro de la tabla [EMPRESAS] muestre una lista de
empleados de esa empresa.

La diferencia entre la tabla Uno y la tabla Muchos es propia de cada relacin. Una tabla puede ser la tabla Uno en una
relacin y puede serla tabla Muchos en otra relacin. Una tabla en una relacin slo necesita tener una llave primaria, pero
puede tener varias llaves forneas.
Por ejemplo, suponga que decide enviar un paquete de mercanca de muestra para todas las personas de la tabla
[EMPLEADOS]. Usted aade una tabla [Tarifa_Postal] que contiene los cdigos postales y la tarifa postal para cada cdigo
postal. El uso de esta estructura le permite imprimir las etiquetas para cada persona, incluyendo el valor de enviar el
paquete.

- 205 -
El campo Codigo_Postal de la tabla [CODIGOS_POSTALES] es la llave primaria, as que en esta relacin, la tabla
[Tarifa_Postal] es la tabla Uno. El campo CodigoPostal en la tabla [EMPRESAS] es la llave fornea para esta relacin: en
este caso, puede tener valores duplicados para empresas que estn en una misma rea. La tabla [EMPRESAS] es
entonces la tabla Muchos para la relacin con la tabla [CODIGOS_POSTALES].
Una tabla es una tabla Uno o Muchos dependiendo de la relacin con la otra tabla. La tabla [EMPRESAS] es la tabla Muchos
en la relacin con la tabla [CODIGOS_POSTALES] y es la tabla Uno en la relacin con la tabla [EMPLEADOS].

Relaciones Uno a Uno

Las relaciones Uno a Uno se utilizan slo en casos especiales puesto que las tablas relacionadas por este tipo pueden
combinarse en una sola tabla.
Algunas de las razones para utilizar relaciones Uno a Uno son:
Su base tiene datos de tipo Texto, Imagen o BLOB muy grandes. Estos campos podran ralentizar la base si se cargan
en la memoria cuando un registro se convierte en el registro actual. Al colocar los textos, imgenes o BLOBs en otra
tabla, puede cargar en memoria slo los datos que necesita y de esta forma optimizar el funcionamiento de la base.
Su base contiene un nmero muy grande de campos y necesita dividirlos en grupos lgicos. Las tablas separadas
pueden hacer que la base de datos sea ms rpida y fcil de utilizar.
Quiera limitar el acceso a ciertos campos. Utilizando tablas separadas, puede asignar diferentes privilegios de acceso
a cada tabla.

Relaciones Muchos a Muchos

Algunas veces, usted necesita relacionar algunos registros de una tabla con otros registros de otra tabla. Este tipo de
relacin se conoce como relacin Muchos a Muchos.
Un ejemplo de una relacin Muchos a Muchos es una base de datos que hace seguimiento a las inscripciones de materias
de un grupo de estudiantes. Imagine que esta base tiene dos tablas: [Estudiantes] y [Clases]. Un estudiante puede
inscribirse en varias clases y una clase puede tener varios estudiantes. Usted quiere ver las clases que ha inscrito un
estudiante y todos los estudiantes inscritos en cada clase.
Otros ejemplos de relaciones Muchos a Muchos son:
[Proveedores] y [Productos]: cada proveedor suministra diferentes productos y cada producto puede ser suministrado
por diferentes proveedores.
[Empleados] y [Cuentas]: cada empleado trabaja en diferentes cuentas y cada cuenta puede ser utilizada por
diferentes empleados.
[Pelculas] y [Actores]: cada pelcula rene diferentes actores y cada actor puede participar en diferentes pelculas.
Puede utilizar 4D para crear automticamente relaciones Muchos a Muchos. La clave es crear una tabla intermedia
relacionada a las otras tablas utilizando relaciones Muchos a Uno. Luego puede crear los formularios de entrada y salida
para manejar el seguimiento y visualizacin de los datos.
La siguiente imagen muestra la base de datos de inscripciones con tres tablas, [ESTUDIANTES], [MATERIAS] y
[ESTUDIANTE_MATERIA]. Esta seccin utiliza la estructura de esta base de datos para explicar cmo funcionan las
relaciones Muchos a Muchos.

- 206 -
La tabla [ESTUDIANTES] es una tabla Uno. Contiene un registro por cada estudiante, incluyendo su nombre, apellido y
promedio. Su nmero de ID lo identifica de manera nica.
La tabla [MATERIAS] tambin es una tabla Uno. Contiene un registro para cada clase, incluyendo el nombre de la materia y
el profesor. El ID identifica cada materia de manera nica.
Una tabla intermedia, la tabla [ESTUDIANTE_MATERIA], es la tabla Muchos para las otras dos tablas. Contiene registros de
varios estudiantes y clases. Los formularios de esta tabla se utilizan para la entrada y despliegue de datos de las otras dos
tablas.
El uso de tres tablas asegura que los datos se almacenen eficientemente. El registro completo de un estudiante slo se
almacena una vez. Los registros que relacionan los estudiantes a las clases se almacenan una vez por inscripcin. Toda la
informacin est disponible en cualquier combinacin.

Entrada de datos con relaciones Muchos a Muchos


Se utiliza una tabla intermedia, en este ejemplo la tabla [ESTUDIANTE_MATERIA], para introducir y mostrar informacin de
las otras dos tablas. Cada registro que introduzca en la tabla [ESTUDIANTE_MATERIA] est relacionado con las otras
tablas (ESTUDIANTES y MATERIAS). Los registros de la tabla [ESTUDIANTE_MATERIA] slo contienen las dos partes de
informacin que establece la relacin: la identificacin del estudiante y el nombre de la materia. Este es un ejemplo de un
registro que se est introduciendo en la tabla [ESTUDIANTE_MATERIA]:

Este registro indica que el estudiante Javier Guilln est inscrito en la clase de programacin avanzada. Este registro
combina informacin de las otras dos tablas.
Un registro similar existe por cada materia en la que el estudiante se haya inscrito. En la tabla [ESTUDIANTE_MATERIA]
slo estn almacenados actualmente los campos de identificacin del estudiante y el nombre de la materia. Cada registro
indica la inscripcin de un estudiante en particular a una materia especfica.
Nota: cuando un registro de la tabla [ESTUDIANTE_MATERIA] se carga (como durante su creacin), se crea
automticamente una seleccin de registros en las tablas relacionadas. La seleccin est compuesta por los registros de
estudiantes y materias correspondientes. Si abre cada una de las otras tablas constatar que slo se muestra un registro.
Para
mostrar todos los registros, seleccione Mostrar todos en el men Bsquedas.
El formulario de entrada para este registro se muestra a continuacin. Note que contiene campos de las tablas
[ESTUDIANTES] y [MATERIAS].

- 207 -
Los datos se introducen nicamente en los campos de identificacin del estudiante y de la materia. Cuando se introduce la
identificacin de un estudiante, 4D busca la informacin del estudiante en la tabla relacionada [ESTUDIANTES] y la muestra
en los campos Apellido y Nombre. Igualmente, cuando se introduce la identificacin de la materia, 4D busca la informacin
en la tabla relacionada [MATERIAS] y la muestra en el formulario de entrada.
Mostrar informacin en un subformulario
Puede mostrar informacin de estas tres tablas utilizando subformularios. Puede mostrar todas las materias en las que est
inscrito un estudiante en el registro del estudiante. Puede mostrar todos los estudiantes inscritos en una clase particular
desde el registro de la clase.
Para mostrar la lista de materias en el registro de un estudiante, utilice un subformulario. Para mayor informacin sobre la
creacin de subformularios, consulte el prrafo Crear y definir un subformulario.

El registro de la imagen anterior est en la tabla [ESTUDIANTES]. Se muestra la informacin del estudiante en la parte
superior y el subformulario en la parte inferior muestra la informacin de las materias que ha inscrito, trada de la tabla
[ESTUDIANTE_MATERIA].
Note que el subformulario corresponde a la tabla [ESTUDIANTE_MATERIA], no a la tabla [MATERIAS]. La tabla
[ESTUDIANTE_MATERIA] contiene los registros que relacionan los registros de los estudiantes con los registros de las
materias. El subformulario contiene el campo Nombre de la materia [MATERIAS].
Por la relacin entre las tablas [ESTUDIANTE_MATERIA] y [MATERIAS], 4D puede mostrar el nombre de la materia
automticamente.
Este registro muestra la lista de estudiantes inscritos en una clase:
- 208 -
Este es un registro de la tabla [MATERIAS]. Muestra informacin de la materia y la lista de estudiantes inscritos. La
informacin de los estudiantes es trada de la tabla [ESTUDIANTE_MATERIA], que contiene los registros que relacionan las
clases con los estudiantes inscritos en ellas.
En los ejemplos anteriores de subformularios, puede introducir datos en todos los campos mostrados. Por ejemplo, para
introducir el registro de un nuevo estudiante, coloque el cursor en el ltimo registro del subformulario y presione las teclas
Ctrl+Mays: (Windows) o Comando+Mays: (Mac OS)1 para crear un nuevo registro (puede cambiar este atajo en las
Propiedades de la base, ver el prrafo ). Cuando introduzca el nombre de la materia, el resto de la informacin se introduce
automticamente en el registro.

Anlisis de las relaciones de la base

Las relaciones que establezca en una base de datos juegan un papel muy importante en el funcionamiento de la base
controlando el flujo de datos entre las tablas.
Si un registro con una relacin automtica se carga en un formulario de entrada, el o los registros de la tabla relacionada
correspondiente sern seleccionados. Si la relacin selecciona slo un registro en una tabla relacionada, ese registro se
cargar desde el disco. Si la relacin hace referencia a varios registros, una nueva seleccin actual de registros ser creada
para esta tabla y se cargar el primer registro de esa seleccin. El registro que se carga se llama registro actual de la tabla.
En los ejemplos de esta seccin, se han definido relaciones entre no ms de tres tablas. En realidad, con frecuencia se
definen relaciones entre varias tablas y se activan una tras otra, como una cadena. Cada vez que se activa una relacin, 4D
crea una seleccin de registros en la tabla relacionada y carga un registro. El registro cargado se convierte en el registro
actual para la tabla y si la tabla tiene una relacin automtica, 4D crea una nueva seleccin en la tabla siguiente de la
cadena.
Si las relaciones de las tablas no se han definido cuidadosamente, el flujo de informacin entre las tablas puede llegar a ser
desordenado o incorrecto. Los siguientes casos ilustran estructuras relacionales a las cuales es necesario prestar mucha
atencin.

Relaciones circulares
Una relacin circular es un conjunto de relaciones definidas de manera que la transferencia de datos forma un bucle
indefinido. La siguiente imagen le muestra una relacin circular en la que la tabla [EMPLEADADOS] est relacionada a la
tabla [EMPRESAS], que a su vez est relacionada a la tabla [ASEGURADOR], que vuelve a relacionarse a la tabla
[EMPLEADOS].

- 209 -
Cuando un registro de la tabla [EMPLEADOS] se carga, 4D carga el registro correspondiente de la tabla [EMPRESAS].
Este registro se convierte en el registro actual de la tabla [EMPRESAS], lo que implica la carga del registro relacionado de la
tabla [ASEGURADOR].
Si a las relaciones les estuviera permitido continuar, los registros relacionados con esta aseguradora (todas las personas
aseguradas por la empresa) seran seleccionados en la tabla [EMPLEADOS] y el primer registro de esa seleccin se
convertira en el registro actual. Observe que este registro actual puede ser diferente al registro actual que tena inicialmente
cuando inicio la progresin. En este caso, 4D no tiene forma de saber cul es el verdadero registro actual.
Cuando 4D encuentra este tipo de relaciones circulares, las relaciones entre las tablas se detienen en la ltima tabla en la
cadena. En este caso, la relacin entre las tablas [ASEGURADOR] y [EMPLEADOS] no se lleva a cabo.
Relaciones mltiples a la misma tabla
Un conflicto similar entre registros actuales ocurre si tiene ms de un enlace a la misma tabla.
Como no es posible tener ms de un registro actual a la vez, no es posible controlar una relacin automtica en la cual dos o
ms tablas estn relacionadas con la misma tabla.
La siguiente imagen muestra una estructura de base de datos en la cual una tabla y su subtabla estn relacionadas con la
misma tabla.

- 210 -
Cuando un usuario est trabajando con un registro de la tabla [EMPLEADOS], el registro relacionado de la tabla [SEGURO]
se carga y se convierte en el registro actual para esa tabla.
Sin embargo, tambin hay una relacin entre la subtabla [BENEFICIARIOS] y la tabla [SEGURO]. Esto significa que otro
registro relacionado se carga en la tabla [SEGURO] de acuerdo al subregistro actual de la tabla [BENEFICIARIOS] (el primer
registro de la seleccin actual). Si la empresa aseguradora de los beneficiarios es diferente a la de su padres, esta
estructura relacional causar problemas. En este caso, 4D no detiene la ejecucin de las relaciones. Ambas relaciones se
ejecutan, pero no al mismo tiempo.
Si quiere utilizar una estructura de este tipo, debe utilizar relaciones manuales y controlar las relaciones utilizando los
comandos descritos en el Manual del lenguaje de 4D.
Otro ejemplo de una estructura relacional que no puede ser manejada con relaciones automticas es la de una estructura en
la cual una tabla tiene ms de una relacin con otra tabla. Cada vez que un usuario modifique uno de los campos
relacionados en la tabla 1, el registro actual de la otra tabla Muchos cambiar. En este caso, usted no puede saber qu
relacin est siendo activada.
Relaciones de mltiples registros
Como hay un registro actual en cada tabla, las relaciones no estn establecidas para todos los registros de una seleccin.
Observemos por ejemplo la base de facturacin que se muestra a continuacin:

Cuando un registro de la tabla [FACTURAS] es utilizado, se crea una seleccin de registros en la tabla [LINEAS_FACTURA]
que contiene todas las lneas para esta factura. Slo se carga el registro de la tabla [ITEMS] correspondiente al primer
registro de la tabla [LINEAS_FACTURA]. La seleccin actual de la tabla [ITEMS] no contiene informacin sobre todos los
- 211 -
objetos de la factura, slo sobre el primer objeto de la factura.
Sin embargo, si pone la tabla [LINEAS_FACTURA] en un subformulario y la tabla [FACTURAS], 4D llama cada una de las
lneas de la factura y activa la relacin para cada una de ellas.

- 212 -
Propiedades de las relaciones

Siempre se dibuja una relacin de la tabla Muchos a la tabla Uno.


Los campos relacionados deben tener un tipo idntico o compatible. Puede utilizar los siguientes tipos para los campos
llaves primara y fornea:
cadena (Alfa y Texto),
numrico (Real, Entero, Entero largo, Entero 64 bits y Flotante),
hora,
booleano,
fecha.
Los campos llave primaria por lo general estn indexados (no obligatorio). Las propiedades de las relaciones pueden
configurarse utilizando el Inspector o, en algunos casos, utilizando el men contextual que aparece al hacer clic derecho
sobre la relacin.

Definicin

El rea de definicin identifica los campos llaves fornea y primaria.


De: el campo De es el campo llave fornea de la tabla Muchos para esta relacin. En el men contextual, este campo
se llama campo fuente.
Hasta: el campo Hasta es el campo llave primaria de la tabla Uno. En el men contextual, este campo se llama
campo destino. Usted traza la relacin del campo llave fornea de la tabla Muchos hasta el campo llave primaria en la
tabla Uno.
Color: este men pop up permite definir el color de una relacin tal como se mostrar en el editor de estructura. El
color de una relacin no est asociado a sus propiedades.
- 213 -
El color de una relacin tambin puede definirse utilizando el men contextual de las relaciones.

Relacin Muchos a Uno

Las opciones Muchos a Uno permiten definir el funcionamiento de la relacin cuando se abre un registro de la tabla Muchos.
Nombre: rea de entrada del nombre de la relacin Muchos a Uno (opcional).
Nota: como parte de un enlace 4D Mobile, este nombre se utiliza para crear un atributo relacional correspondiente en
el modelo junto Wakanda (ver Uso de relaciones en el manual 4D Mobile). En este caso, debe utilizar un nombre que
es compatible con las reglas JavaScript.
Manual/Automtica: este men permite definir el modo de funcionamiento de la relacin que asocia la tabla Muchos a
la tabla 1. Si selecciona la opcin Automtica, la funciones de automatizacin se activarn. Por ejemplo, cuando un
registro de la tabla [EMPLEADOS] se abre en el entorno Aplicacin, el registro de la empresa correspondiente se
selecciona en la tabla [Empresas]. Esto le permite a 4D mostrar la informacin sobre la empresa para la cual trabaja el
empleado.
Por defecto, se selecciona la opcin Manual. En este caso, debe administrar la carga y descarga del registro
relacionado de la tabla Uno utilizando las rutinas del lenguaje.
Para mayor informacin, consulte el prrafo Relaciones manuales y automticas.
La propiedad Relacin automtica Uno tambin puede definirse va el men contextual de las relaciones.
Lista de registros relacionados: esta opcin tiene el efecto de insertar, automticamente y de manera invisible, el
carcter (@) a todo valor introducido en la tabla Muchos en cuando el usuario presiona la tecla Tab o hace clic fuera
del campo. Si el usuario introduce un valor parcial, 4D busca un valor correspondiente en el campo relacionado de la
tabla Uno. Si el programa encuentra un solo valor posible, completa la entrada. Si encuentra ms de un valor posible,
se le da al usuario la lista de valores posibles.
Advertir si registro Uno no existe: si esta opcin est seleccionada, 4D muestra una caja de dilogo que permite al
usuario crear el registro Uno relacionado si no existe. Por defecto, cuando introduce un valor en un campo relacionado
de la tabla Muchos, 4D verifica si existe un registro correspondiente en la tabla Uno relacionada.
Si 4D no lo encuentra, aparece la siguiente caja de dilogo:

Esta caja de dilogo permite crear un registro correspondiente en la tabla Uno mientras introduce un registro en la
tabla Muchos. Por ejemplo, imagine que su base contiene una tabla [Facturas] y una tabla [Clientes]. Si introduce una
factura en la tabla [Facturas] y el cliente a quien est destinada la factura no tiene un registro correspondiente en la
tabla [Clientes], 4D le pedir si quiere crear el registro correspondiente en la tabla [Clientes] cuando valide el registro
de la tabla [Facturas].
Puede eliminar esta caja de dilogo deseleccionando la opcin Advertir si registro Uno no existe. Eliminar esta
caja de dilogo es til cuando quiere gestionar la creacin del registro Uno relacionado utilizando un mtodo.
Campo discriminante
La lista de campos discriminantes permite seleccionar un campo adicional para mostrar en la lista de valores (que
aparece cuando el usuario escribe el carcter comodn (@) en el campo relacionado durante la entrada de datos).
Generalmente, es mejor seleccionar el campo que identifique mejor al registro.
As es como funciona esta opcin durante la entrada de datos: 4D permite al usuario consultar los valores de la tabla
Uno mientras introduce datos en el campo llave fornea en la tabla Muchos. El usuario simplemente usa el carcter
comodn (@) estndar en el campo relacionado. Al hacerlo, 4D busca la entrada correspondiente en la tabla Uno
relacionada.
El carcter comodn puede utilizarse de dos formas: para completar una entrada parcial o para mostrar la lista de
valores vlidos. Cuando se muestra una lista, el usuario puede seleccionar el valor de la lista. Un campo adicional, el
campo discriminante, puede mostrarse junto al campo relacionado.
Por ejemplo, imagine que el usuario est creando un registro en la tabla [Empleados]. En lugar de escribir Acme en el
campo Empresa, el usuario puede escribir Ac@ y luego presionar la tecla Tab para pasar al siguiente campo. Como
@ es el carcter comodn de 4D esta entrada significa que el valor comienza por Ac y est seguido por otros
caracteres. 4D busca en la tabla relacionada el registro que corresponda a este criterio. Si slo encuentra un registro,
completa la entrada automticamente y pasa el siguiente campo en el orden de entrada del formulario.
La siguiente imagen muestra este tipo de uso del carcter comodn.

- 214 -
Si 4D encuentra ms de un valor que corresponda al criterio, muestra una lista de valores para que el usuario pueda
seleccionar el valor apropiado. La siguiente imagen muestra la lista:

Puede especificar un segundo campo que se mostrar en la lista para ayudar al usuario a decidir que empresa
seleccionar. El segundo campo es el campo discriminante que seleccion en la caja de dilogo de definicin del tipo
de relacin.
La imagen a continuacin muestra la lista de empresas junto con su ciudad. Este campo discriminante ayuda al usuario
a seleccionar la entrada correcta si no recuerda el nombre de la empresa, pero si recuerda la ciudad en la que est
ubicada.
La imagen a continuacin muestra una lista completa de empresas:

- 215 -
Es posible redimensionar la ventana de seleccin de registro.
Para ver una lista de todas las empresas en la tabla [Empresas], el usuario debe escribir @ nicamente. 4D muestra
una lista de todas las empresas para que el usuario seleccione la correcta.

Opciones Uno a Muchos

Las opciones Uno a Muchos controlan las relaciones automticas en sentido contrario.
Nombre: rea de entrada del nombre de la relacin Unos a Muchos (opcional).
Nota: como parte de un enlace 4D Mobile, este nombre se utiliza para crear un atributo relacional correspondiente en
el modelo junto Wakanda (ver Uso de relaciones en el manual 4D Mobile). En este caso, debe utilizar un nombre que
es compatible con las reglas JavaScript.
Manual/Automtica: este men permite definir el modo de funcionamiento de la relacin que une a la tabla Uno a la
tabla Muchos. Si selecciona la opcin Automtica, las funciones automticas se activarn. Por ejemplo, cuando un
registro de la tabla [Empresas] se abre en modo Aplicacin, los registros relacionados en la tabla [Empleados] se
cargan. Esto permite a 4D mostrar los registros de los empleados que trabajan para la empresa en un subformulario.
Por defecto, se selecciona la opcin Manual (no las funciones automticas). Para mayor informacin, consulte el
prrafo Relaciones manuales y automticas. La propiedad Relacin automtica Uno a Muchos tambin puede
definirse va el men contextual de las relaciones.
Autoasignar valor en el subformulario: esta opcin se utiliza para asignar automticamente el valor del campo llave
primaria en la tabla Uno al campo llave fornea en la tabla Muchos durante la entrada de datos. Esta opcin slo
aparece disponible si la opcin Automtica ha sido seleccionada.
Esta opcin afecta la entrada de datos cuando un formulario de entrada de una tabla Uno tiene un subformulario de una
tabla Muchos relacionada (para mayor informacin sobre subformularios, consulte la seccin Subformularios y
widgets). Si la opcin Autoasignar valor en el subformulario est seleccionada, un usuario puede aadir registros
al subformulario (es decir, la tabla Muchos relacionada) y tener el valor relacionado automticamente asignado a los
campos de la tabla relacionada.
En la relacin entre la tabla [Empresas] y la tabla [Empleados], la tabla [Empresas] es la tabla Uno y la tabla
[Empleados] es la tabla Muchos relacionada. Cada empresa tiene un registro en la tabla [Empresas] y varios registros
en la tabla [Empleados]. Cuando el campo llave fornea de la tabla Muchos se muestra en el subformulario, puede ver
el efecto de esta opcin: el valor del campo se copia automticamente en el subformulario cada vez que se aade un
subregistro.

- 216 -
Esta opcin tambin funciona cuando el campo llave fornea de la tabla Muchos no se presenta en el subformulario: el
valor del campo llave primaria se copia automticamente internamente en el campo llave fornea. Puede verificarlo
pasando al modo pgina.
Cuando la opcin Autoasignar valor en el subformulario no est seleccionada, los subregistros creados no se
relacionan automticamente al registro apropiado de la tabla Muchos:
bien sea manualmente, si se muestra el campo llave: en el ejemplo anterior, fue suficiente introducir "Telcon" en el
campo empresa de cada subregistro,
o por programacin: slo necesita ejecutar una lnea de cdigo del tipo

[TableN]Field1:=[Table1]Field1

durante la creacin de subregistros.


Nota: si modifica el valor del campo relacionado en la tabla Uno despus de crear registros en la tabla Muchos, la
opcin Autoasignar valor en el subformulario no tiene efecto y usted deber asignar el valor del campo relacionado
manualmente o utilizando el lenguaje.

Integridad referencial

Las opciones de Integridad referencial controlan la eliminacin de registros en la tabla Muchos al borrar un registro en la
tabla Uno. Normalmente, el usuario no puede eliminar registros en una tabla a menos que sea la tabla actual. Esto significa,
por ejemplo, que para borrar registros en la tabla [Empleados], primero debe convertirla en la tabla actual. Para volver a una
tabla la tabla actual, seleccinela en caja de dilogo lista de tablas en el entorno Diseo.
Dejar registros relacionados intactos: seleccionar este botn radio permite al usuario eliminar un registro de la
tabla Uno, dejando intactos los registros correspondientes de la tabla Muchos. Esto deja registros de la tabla Muchos
sin correspondencia con un registro relacionado de la tabla Uno. El nico efecto es hacer que la informacin de la tabla
Uno no est disponible. Ningn registro de la tabla Uno se carga cuando un registro correspondiente al registro
eliminado se carga en la tabla Muchos.
Eliminar registros relacionados: seleccionar este botn le indica a 4D que debe borrar automticamente todos los
registros relacionados en la tabla Muchos cuando un usuario elimine un registro de la tabla Uno. Esta opcin asegura
que los registros Muchos relacionados no se conviertan en hurfanos cuando se elimine el registro Uno
correspondiente.
No eliminar si hay registros relacionados: seleccionar este botn radio hace impida que el usuario elimine un
registro de la tabla Uno si tiene registros relacionados en la tabla Muchos. Esta opcin permite asegurar que los
registros no se eliminen por error. Note que puede borrar registros libremente de la tabla Muchos, sin importar la
opcin seleccionada.
Los botones radio Eliminar registros relacionados y No eliminar si hay registros relacionados refuerzan lo que se
conoce como integridad referencial en teora de bases de datos. Cuando el control de integridad referencial est vigente,
4D se asegura que cada registro de la tabla Muchos est asociado a un registro nico de la tabla Uno.
Si tiene varias tablas relacionadas, el control de integridad referencial se activa para cada relacin como en una cadena. Por
ejemplo, imagine que tiene la estructura de la siguiente imagen. Si elimina un registro de la tabla [CODIGOS_POSTALES]
- 217 -
(tabla Uno) y la opcin Eliminar registros relacionados ha sido seleccionada para cada relacin, 4D primero elimina los
registros correspondientes de la tabla [EMPRESAS] y luego elimina los registros de todas los empleados que trabajan para
esas empresas en la tabla [EMPLEADOS].

Cuando hay una configuracin contradictoria de control de integridad referencial, 4D no permite la supresin de registros.
Por ejemplo, si tiene seleccionada la opcin Eliminar registros relacionados para la relacin entre las tablas [EMPRESA]
y [CODIGOS_POSTALES] pero tiene seleccionada la opcin No eliminar si hay registros relacionados para la relacin
entre las tablas [EMPLEADOS] y [EMPRESAS], no se efectuar ninguna eliminacin y los registros de las tablas
[EMPRESAS] y [EMPLEADOS] permanecern intactos.

SQL

El rea SQL del Inspector ofrece informacin til para trabajar con la estructura va el lenguaje SQL.
Para las relaciones, el rea indica las propiedades FOREIGN KEY y REFERENCES.

- 218 -
Exportar e importar las definiciones de estructura

4D permite exportar la definicin de la estructura de la base de datos como archivo XML o HTML. Por el contrario, es
posible utilizar una definicin de estructura guardada en formato XML para generar rpidamente una nueva base de datos
4D. Estas nuevas posibilidades responden a diferentes necesidades:
permitir representar estructuras en formatos personalizados (informes, tablas, etc.) o para ser analizadas en otros
entornos,
permitir generar bases de datos a partir de archivos de descripcin.

Formato de una definicin de estructura 4D

Las definiciones de estructura 4D estn basadas en el formato XML. Es posible visualizar una definicin de estructura con la
ayuda de un simple editor de texto. El formato XML permite igualmente prever todo tipo de uso, en particular va las
transformaciones XSL. Adems, 4D utiliza un archivo .XSL para exportar la definicin de estructura en formato HTML.
Una definicin de estructura incluye tablas, campos, ndices y relaciones, junto con sus atributos y las diferentes
caractersticas necesarias para una descripcin completa de la estructura. La gramtica interna de las definiciones de
estructura 4D est documentada por intermedio de archivos DTD, tambin utilizados para la validacin de archivos XML.
Los archivos DTD utilizados por 4D se agrupan en la carpeta DTD ubicada junto a la aplicacin 4D. Los archivos
base_core.dtd y common.dtd se utilizan para la definicin de la estructura. Para mayor informacin sobre las definiciones
de estructura 4D, consulte estos archivos, como tambin los comentarios que contienen.

Exportar una definicin de estructura

4D permite exportar una estructura en formato XML o HTML. Elija el formato que ms se ajuste a sus necesidades:
Formato XML: una estructura en formato XML puede ser visualizada en un simple editor de texto o utilizada de varias
formas (transformacin XSL personalizada, importacin y anlisis en otro software, etc.).
Elija este formato cuando quiera utilizar la definicin de estructura para crear nuevas bases.
Formato HTML: este formato le permite la representacin de la estructura en el forma de informe, visualizable e
imprimible va un navegador.
Para exportar una definicin de estructura en XML:
1. Seleccione el comando Exportar > Definicin de estructura a un archivo XML... en el men Archivo de 4D.
Aparece una caja de dilogo estndar de registro, de manera que pueda especificar el nombre y la ubicacin, como
tambin el tipo del archivo a exportar.
2. Especifique el nombre y la ubicacin de la exportacin y luego validar la caja de dilogo.
Para exportar una definicin de estructura en HTML:
1. Seleccione el comando Exportar > Definicin de estructura a un archivo HTML... en el men Archivo de 4D.
Aparece una caja de dilogo de seleccin de carpetas de manera que pueda designar la ubicacin donde se
almacenarn los archivos HTML.
2. Haga clic en el botn Crear una nueva carpeta o especifique una carpeta existente.
4D crea automticamente, en la ubicacin especificada, una carpeta llamada Mystructure.4db Structure Export ) que
contiene los elementos exportados (Mystructure.4db es el nombre del archivo de estructura de la base).
Una caja de dilogo permite visualizar directamente el resultado de la exportacin en el navegador por defecto. Las
definiciones de estructura en formato HTML se ven de esta forma:

- 219 -
Personalizar la transformacin XSL
Para generar las pginas HTML de definicin de estructura, 4D efecta las transformaciones XSL por defecto utilizando el
archivo Structure_to_html.xsl ubicado en la subcarpeta /Resource/language.lproj de la aplicacin.
Nota: si este archivo no est presente, la exportacin en HTML no est disponible en la caja de dilogo de exportacin.
Puede personalizar estas transformaciones como quiera utilizando un archivo de hojas de estilo XSL personalizado. Para
hacer esto, simplemente cree un archivo llamado Structure_to_html.xsl (puede duplicar el archivo por defecto) y colocarlo al
mismo nivel del archivo .4db. 4D utilizar entonces este archivo para generar la definicin de estructura en formato HTML.

Crear una base de datos a partir de una definicin de estructura

Las definiciones de estructuras exportadas en formato XML pueden utilizarse para crear rpidamente nuevas bases de
datos idnticas. En este caso, la definicin de estructura puede ser considerada como una plantilla de estructura, que es
posible duplicar.
Una definicin de estructura XML puede utilizarse como tal o modificarse de antemano va un editor XML. Este principio
permite el uso de todo tipo de mecanismo utilizado para generar estructuras por programacin.
Adicionalmente, el formato interno de los archivos XML de descripcin de estructuras de las estructuras 4D al ser pblico
(ver la seccin Formato de una definicin de estructura 4D arriba), es posible crear este tipo de archivo desde otros
entornos de bases de datos o desde cualquier aplicacin para generar automticamente bases de datos 4D.
Para crear una base de datos desde una definicin de estructura:
1. Seleccione el comando Nuevo > Base de datos a partir de una definicin de estructura... en el men Archivo de
4D.
Aparece una caja de dilogo estndar de apertura de documentos de manera que pueda especificar el archivo de
descripcin a abrir. Debe seleccionar un archivo en formato XML que respete la gramtica de las descripciones de
estructura 4D (el programa valida el archivo va la DTD).
2. Seleccione un archivo XML de descripcin de estructura y luego haga clic en Aceptar.
4D muestra una caja de dilogo que le permite elegir el nombre y la ubicacin de la base de datos a crear.
3. Elija el nombre y la ubicacin de la base a crear y luego haga clic en Guardar.

- 220 -
Si el archivo XML es vlido, 4D cierra la base actual (si aplica) y crea una nueva estructura basada en la definicin de
estructura y muestra la ventana del Explorador. Tambin se crea por defecto un archivo de datos vaco.

- 221 -
Gestin de formularios

Introduccin
Crear un formulario utilizando el asistente de formularios
Crear un formulario vaco
Editar un formulario
Renombrar un formulario
Designar los formularios de entrada y de salida
Borrar un formulario
Imprimir un formulario
Guardar formularios

- 222 -
Introduccin

Los formularios constituyen la interfaz a travs de la cual se introduce, consulta, modifica e imprime informacin. Un usuario
interacta con los datos de una base e imprime informes utilizando formularios.

Cada tabla en su base de datos tiene por lo general al menos dos formularios. Uno para mostrar una lista de registros en la
pantalla y otro para mostrar un registro a la vez, utilizado tambin para introducir y modificar datos. El formulario que lista los
registros se llama formulario de salida o formulario listado y el formulario que muestra un registro a la vez se llama formulario
de entrada o formulario detallado. Cuando visualiza los registros utilizando el formulario listado, puede hacer doble clic sobre
un registro para verlo en el formulario detallado actual.

Contenido de los formularios

En las aplicaciones personalizadas, puede utilizar el lenguaje para definir cual formulario utilizar. Por ejemplo, podra querer
pasar de un formulario a otro segn el tipo de pantalla que utilice el usuario. Tambin puede utilizar el lenguaje para utilizar
diferentes conjuntos de formularios para los usuarios de 4D Client o de un navegador web. Cuando crea una aplicacin
personalizada, puede crear formularios para utilizarlos como cajas de dilogo personalizadas o paletas flotantes. En las
aplicaciones personalizadas, puede utilizar varios procesos para permitir a los usuarios trabajar simultneamente con varios
formularios.
Un formulario puede mostrar los campos de varias tablas. Puede poner los campos de una tabla relacionada Uno en un
formulario y de esta forma permitir a los usuarios introducir valores directamente en la tabla Uno relacionada. Tambin puede
incluir un subformulario que muestre una lista de registros de una tabla Muchos relacionada. Un subformulario muestra una
lista de registros de otra tabla o subtabla en la tabla mster. Con un subformulario, el usuario puede ver, introducir y modificar
los registros de otra tabla. Por ejemplo, una aplicacin de facturacin puede utilizar un subformulario en el formulario de
facturacin que permite al usuario introducir elementos para la factura. Aunque las lneas de facturas aparecen en la pantalla
de facturacin, se almacenan en realidad en una tabla Muchos relacionada.
Un formulario que se utiliza para la entrada de datos puede tener ms de un subformulario. Por ejemplo, una base de datos
que administra contactos puede utilizar un subformulario para los nmeros de telfono, otro para las acciones a realizar y
otro para los contactos anteriores con esta persona. Cada subformulario muestra los registros de una tabla Muchos
relacionada diferente.
Un formulario particular puede utilizar algunos o todos los campos de una tabla. Por ejemplo, usted podra tener dos
formularios de entrada, uno para operarios y otro para supervisores, y ninguno de los dos formularios utilizar todos los
campos. Podra utilizar otro grupo de campos para mostrar en pantalla y otros para imprimir informes.
Los formularios pueden modificarse en cualquier momento, sin importar si tiene o no datos en la base de datos. Los
cambios en los formularios no afectan de ninguna manera los datos almacenados en el disco.
Cada formulario tiene una o ms pginas donde aparecen los campos y objetos editables. Si sus campos no caben en una
pgina, puede crear pginas adicionales. Cuando crea un formulario multipginas, puede aadir pestaas o botones para
permitir a los usuarios pasar de una pgina a otra.
Cada formulario tiene una pgina de fondo (pgina cero) en la cual usted pone los objetos que aparecen en todas las
pginas. Utilice esta pgina para poner elementos grficos de fondo, botones, pestaas y otros elementos grficos que
definan la apariencia de la pgina, tales como etiquetas y rectngulos.
Nota: cuando un formulario de tabla multipginas se utiliza como formulario de salida (por ejemplo, para impresiones), slo
aparece la primera pgina.

Creacin de formularios

4D permite crear rpidamente formularios estndar. Tambin ofrece poderosas herramientas que le permiten crear
formularios para interfaces sofisticadas. Sus formularios pueden ofrecer exactamente lo que su base de datos necesita. Con
operaciones sencillas, puede crear un formulario estndar con campos, botones, variables, etc.
4D tiene dos herramientas para la creacin y modificacin de formularios, el asistente de creacin de formularios y el
editor de formularios.
Asistente de creacin de formularios
El asistente de creacin de formularios es su punto de partida para la creacin de todo tipo de formulario. Con el asistente
puede crear un nuevo formulario seleccionando de una lista los campos y la plantilla que necesita. Las plantillas de formulario
le permiten controlar la apariencia de los formularios. Una plantilla especifica elementos tales como el tamao del formulario,
la interfaz de la plataforma, los atributos de fuente y la apariencia de los objetos. Para mayor informacin, consulte la seccin
Crear un formulario utilizando el asistente de formularios.
- 223 -
Editor de formularios
El editor de formularios es un entorno grfico orientado a objetos que permite personalizar sus formularios manipulando
directamente los objetos en el formulario. Por ejemplo, puede reubicar objetos, aadir objetos no soportados por el asistente
de formularios, crear formularios multipginas, reforzar la seguridad de la base especificando controles de entrada, definir
privilegios de acceso para formularios, asociar una barra de mens personalizada a un formulario y escribir mtodos objeto
y formulario que se ejecuten automticamente cuando se utilice el formulario. Para mayor informacin, consulte la seccin
Editar un formulario.

Formularios tabla y formularios proyecto

4D permite crear dos categoras de formularios: formularios tabla y formularios proyecto. Bsicamente, los formularios
tabla estn asociados a tablas y se benefician de las funciones automticas tiles para el desarrollo de aplicaciones
basadas en la base de datos. Los formularios proyecto son formularios independientes, no asociados a tablas. Estn
diseados particularmente para crear cajas de dilogo de interfaz como tambin para la creacin de componentes.
Los formularios de proyecto permiten crear fcilmente interfaces que cumplan con las normas de los sistemas operativos. En
particular, la llamada va el comando DIALOG de formularios de proyecto que muestra las selecciones de registros en los
subformularios es recomendada por 4D para la visualizacin de registros en lista. Con un poco de programacin adicional,
esta combinacin reemplaza con ventaja a los comandos MODIFY SELECTION y DISPLAY SELECTION.
Los formularios tabla y los formularios proyecto estn agrupados por separado en la Pgina Formularios del Explorador.

Caractersticas de los formularios tabla


Cada formulario est asociado a una tabla. Cada tabla debe tener por lo menos un formulario para permitir la entrada y
visualizacin de los datos. Por lo general, una tabla tiene formularios de entrada y salida por separado. El formulario de
entrada es el que se utiliza para la entrada de datos. Muestra un registro por pantalla y tiene botones que permiten guardar o
cancelar las modificaciones efectuadas a un registro y navegar entre los registros (ej., Primer registro, ltimo registro,
Registro anterior, Siguiente registro). El formulario de salida muestra una lista de registros, con una lnea por registro. El
resultado de las bsquedas se muestra en el formulario de salida y el usuario puede hacer doble clic en una lnea para abrir
el formulario de entrada de ese registro.
Los siguientes ejemplos muestran un formulario de entrada y un formulario de salida tpicos:

Si trata de mostrar los registros de una tabla antes de crear un formulario para la tabla, 4D le propone automticamente los
formularios de entrada y de salida por defecto.

Nota: con la opcin Creacin automtica de formularios en las Preferencias, puede hacer que 4D cree automticamente
los formularios por defecto sin mostrar la caja de dilogo. Para mayor informacin, consulte la seccin Pgina General.
Haga clic en S (o S a todo) para crear los formularios por defecto. Luego puede regresar al entorno Diseo para
modificarlos o reemplazarlos con formularios ms sofisticados. Sin hacerles ninguna modificacin, puede comenzar a usar
los formularios creados por defecto para la entrada y visualizacin de datos de su base. Tambin puede hacer clic en No si
no quiere asociar un formulario a la tabla. La entrada y/o visualizacin de datos puede llevarse a cabo utilizando formularios
proyecto. Su base de datos puede utilizar hasta 32 000 formularios por tabla, que realicen operaciones especficas.
- 224 -
Caractersticas de los formularios proyecto
Los formularios proyecto se diferencian de los formularios tabla en:
los formularios proyecto pueden ser nicamente de tipo detallado (pgina). Los mecanismos de los formularios de
salida (listado) no son compatibles con los formularios proyecto.
Los formularios de proyecto no aparecen en la lista de tablas y no pueden ser designados como formulario de entrada
o salida actual. No pueden utilizarse en el Editor de etiquetas ni en el editor de Exportar e importar datos de 4D.
Los formularios proyecto slo pueden mostrarse utilizando el comando DIALOG o como formularios heredados (ver la
seccin Utilizar formularios heredados).
Los formularios proyecto pueden contener los mismos tipos de objetos que los formularios tabla, incluyendo campos.
Cuando se utilizan los campos, el formulario proyecto almacena el nmero de la tabla y del campo. En caso de copia
del formulario de una base a otra o dentro de un componente, las referencias tambin se copian. La tabla y el campo
utilizados son los de la base objetivo. En caso de incompatibilidad (tabla no existente, tipo de campo incorrecto, etc.),
el formulario no funcionar correctamente.
Como los formularios de proyecto estn diseados principalmente para utilizarse en el contexto del comando DIALOG,
las acciones estndar relativas a la gestin de registros (Registro siguiente, Borrar registro, etc.) no se proponen por
defecto en el editor ni el asistente de creacin de formularios. Debe administrar la visualizacin y modificacin de
registros utilizando los comandos del lenguaje.
Por otra parte, cuando los formularios proyecto se utilizan como formularios heredados por los formularios tabla, es
posible el uso de mecanismos automticos de gestin de registros.
Los formularios proyecto pueden tener un mtodo de formulario, como los formularios tabla, accesible desde la
Current form table del Explorador.
Transformar un formulario tabla en formulario proyecto (y viceversa)
Es posible transformar un formulario tabla en un formulario proyecto o efectuar la operacin a la inversa en cualquier
momento.
Atencin, en el caso de la transformacin de formularios tabla en formularios proyecto, los posibles funcionamientos
automticos relativos a la gestin de datos presentes en el formulario tabla no funcionarn ms, una vez se transforme el
formulario. De la misma forma, un formulario de tipo lista para pantalla o lista para impresin se transformar en
formulario proyecto de tipo pgina.
El cambio de tipo de un formulario se puede realizar arrastrando y soltando o copiando y pegando en la Pgina
Formularios del Explorador. Puede efectuar esta operacin en la misma base o entre dos bases diferentes.
Para transformar un formulario de proyecto en formulario de tabla o viceversa:
1. En la pgina Formularios del Explorador, haga clic en el formulario a transformar y sultelo en el elemento de destino.
Cuando transforme un formulario de proyecto en un formulario de tabla, debe soltar el formulario en el nombre de la
tabla a la cual se asociar.
Por defecto, el formulario se mueve cuando la operacin arrastrar y soltar se efecta dentro de la misma base de
datos. Si quiere compilar el formulario, mantenga presionada la tecla Alt (Windows) u Opcin (Mac OS) durante el
arrastrar y soltar. Cuando el arrastrar y soltar es entre dos bases diferentes, slo es posible la copia del formulario.
Tambin puede utilizar los comandos estndar Copiar/ Pegar del men contextual del Explorador.

- 225 -
Crear un formulario utilizando el asistente de formularios

Puede rpidamente crear nuevos formularios con la ayuda del asistente de creacin de formularios. Puede utilizar un nuevo
formulario inmediatamente despus de su creacin o elegir modificarlo con la ayuda del editor de formularios.
El asistente de creacin de formularios tiene dos pantallas. La pantalla estndar permite crear simplemente y rpidamente
nuevos formularios. La pantalla avanzada permite personalizar el formulario antes de crearlo.

Pasos para la creacin de un formulario bsico

Para crear un nuevo formulario utilizando el asistente de formularios:


1. Seleccione Nuevo > Formulario... en el men Archivo o utilizando el botn Nuevo de la barra de herramientas.
O
En la Pgina Formularios del Explorador, haga clic en el men de opciones y elija el comando Nuevo formulario
con Asistente.

4D muestra la pgina estndar del asistente de creacin de formularios.

2. Para crear un formulario de tabla, elija el nombre de la tabla del formulario en el men Tabla.
Sus campos se listan en orden alfabtico en el rea lista de campos si la opcin Tabla actual est seleccionada en la
lista desplegable de las tablas.
O
Para crear un formulario de proyecto, elija Ninguno (Formulario de proyecto) en el men Tabla.
La lista de campos de todas las tablas entonces estar disponible en el rea Lista de campos. Los tipos Formulario
listado y Formulario listado impresin se suprime de la lista de tipos disponibles.
3. Escriba el nombre del formulario en el rea Nombre del formulario.
Este nombre le servir para referirse al formulario en el lenguaje. Asegrese de utilizar un nombre que cumpla con las
reglas especificadas por 4D (ver la seccin Convenciones en el manual Lenguaje de 4D).
- 226 -
4. Elija el tipo de formulario de la lista desplegable de tipos.
Las opciones son:
Formulario detallado: formulario de entrada para introducir y modificar un registro a la vez,
Formulario listado (formularios tabla nicamente): un formulario de salida para listar registros en la pantalla,
Formulario de impresin detallado: formulario para imprimir un registro por pgina,
Formulario de impresin listado (formularios tabla nicamente): un formulario para imprimir una listad de
registros.
5. Seleccione una plantilla para el formulario.
Las plantillas controlan la presentacin del formulario, como los atributos de las fuentes, posicin de las etiquetas de
los campos, las caractersticas de los rectngulos decorativos alrededor de los campos y la interfaz de la plataforma.
4D tiene varias plantillas y usted puede aadir otras plantillas personalizadas creadas con el asistente de creacin de
formularios. Para mayor informacin, consulte la seccin Crear una plantilla de formulario al final de esta seccin.
6. (Opcional) Seleccione una carpeta para guardar el formulario.
Si selecciona un nombre de carpeta, el formulario ser ubicado en esta carpeta. Las carpetas permiten organizar los
objetos de sus aplicaciones y se administran en la Pgina Inicio del Explorador. Por defecto, el formulario se crea en
el nivel superior, es decir fuera de una carpeta.
7. Seleccione los campos que quiere en su formulario en el rea Campos disponibles.
Puede hacer doble clic en los campos, utilizar arrastrar y soltar o utilizar los botones del panel central:

Puede seleccionar todo tipo de campo, excepto los campos de tipo Blob. Puede crear formularios que incluyan
campos provenientes de:
la tabla del formulario (en el caso de un formulario tabla),
una tabla Uno relacionada,
cualquier tabla.
La pgina de subformulario en la pantalla de opciones avanzadas le permite crear subformularios que muestren los
campos de las tablas Muchos as como tambin de las tablas no relacionadas.
Si selecciona los campos provenientes de una tabla que no es la tabla actual ni una tabla Uno relacionada, necesitar
utilizar el lenguaje para administrar la entrada y visualizacin de los campos que seleccione.
Cuando aada campos o cambie el tipo o plantilla del formulario, los cambios se mostrarn en el rea de
previsualizacin ubicada en la parte derecha del asistente. Despus de colocar los campos en el formulario, puede
cambiar el orden utilizando arrastrar y soltar en el rea Campos seleccionados:

Nota: si el tamao de su pantalla no permite crear un formulario lo suficientemente grande para que contenga todos los
campos seleccionados, el asistente crea un formulario multipginas y pone todos los botones y objetos estticos en la
pgina 0. Cuando edite este tipo de formulario, primero deber mostrar la pgina 0 para poder editar estos objetos.
8. (Opcional) Si es necesario, cree una o ms reas de grupo en la lista de campos seleccionados.
Nota: esta funcin no est disponible para formularios listados.
Un rea de grupo tiene su propia etiqueta y un conjunto de campos y se ve de esta forma:

- 227 -
Para crear un rea de grupo, haga clic en el botn de creacin de reas de grupo . En la lista de campos
seleccionados aparece un nuevo elemento, llamado Grupo, por defecto. Puede renombrarlo si es necesario.
Nota: el nombre de un rea de grupo es un texto esttico; puede utilizar una referencia localizable como con las
etiquetas 4D (ver Utilizar las referencias en los textos estticos y ).
Puede aadir campos al rea de grupo arrastrndolos de la lista campos disponibles y soltndolos en el nuevo
elemento.
La lista de campos seleccionados toma la apariencia de una lista jerrquica. A medida que se aade un campo al
grupo, aparece debajo del nombre del rea de grupo.

Nota: cuando el elemento del rea de grupo se despliega, puede aadir campos por arrastrar y soltar a los campos
que ya se encuentran en la lista de campos seleccionados.
9. Si quiere editar el nuevo formulario en el editor de formularios, haga clic en el botn Editar.
O
Si quiere probar el formulario con los datos de la base, haga clic en Utilizar (formularios de tabla nicamente).
O
Si quiere personalizar el nuevo formulario con la ayuda de las opciones avanzadas del asistente de creacin de
formularios, haga clic en el botn Avanzado...

Opciones avanzadas

Para mostrar las opciones avanzadas del asistente de formularios, haga clic en el botn Avanzado... en la pantalla bsica
del asistente. Si quiere regresar a la primera pantalla del asistente de creacin de formularios, puede hacerlo haciendo clic
en el botn < Anterior.
La pantalla de opciones avanzadas tambin permite crear nuevos formularios en pocos clics, adems ofrece una amplia
variedad de opciones de personalizacin.
Las opciones de personalizacin dependen del tipo de formulario seleccionado en la pantalla bsica del asistente de
creacin de formularios. El asistente de creacin de formularios admite los siguientes tipos de formularios:
Formularios detallados
Formularios listados (formularios de tabla nicamente)
Formularios de impresin detallados
Formularios de impresin listados (formularios tabla nicamente).
Adems, el asistente de formularios permite guardar sus opciones de personalizacin como una plantilla. Sus plantillas se
aaden a la lista desplegable Plantillas que aparece en la pantalla bsica del asistente de formularios. Con sus propias
plantillas, puede crear rpidamente formularios altamente personalizados desde la primera pgina del asistente de creacin
de formularios, simplemente seleccionando los campos y su plantilla personalizada.

Pgina campos
La pgina Campos es similar a la pantalla bsica del asistente de creacin de formularios. La pgina campos se utiliza para
aadir campos al formulario de la misma forma que en la pantalla bsica del asistente de formularios. Esta funcionalidad
est duplicada para aquellos usuarios que quieren ir directamente a la ventana de opciones avanzadas. Para mayor
informacin acerca del proceso de adicin de campos al formulario, consulte la seccin anterior.
Campos relacionados accesibles
La pgina Campos ofrece una opcin adicional: Campos relacionados accesibles. Esta opcin permite elegir o no la
propiedad "Editable" para los campos de las tablas relacionadas. Esta opcin est seleccionada por defecto (los campos
son editables). Puede ser til deseleccionar esta opcin cuando quiera evitar que los usuarios puedan modificar los valores
de los campos relacionados cuando la opcin Asignacin automtica de valores en subformularios est seleccionada para
una relacin (para mayor informacin al respecto, consulte la seccin Propiedades de las relaciones).
- 228 -
Para mayor informacin sobre la propiedad Editable, consulte el prrafo Propiedades de campos y atributos Editable y
Obligatorio.
Pgina Opciones
La pgina Opciones se utiliza para definir diferentes opciones relativas a las dimensiones, etiquetas y visualizacin del
formulario.
Tamao del formulario
Esta rea permite definir el tamao del formulario. Puede ajustar el tamao del formulario de acuerdo a su contenido o definir
un tamao fijo indicando el ancho y alto mximos o seleccionando un tamao de pantalla. Tambin puede combinar los dos
parmetros.
La lista desplegable Monitor le da las siguientes opciones:
automtico (el tamao del formulario se adapta al tamao del monitor actual)
baja resolucin 640x480,
resolucin media 800x600,
estndar 1024x768,
alta resolucin 1280x1024,
Pantalla ancha 1600x1200.
Los valores corresponden a la relacin ancho x alto, expresada en pxeles.
Cuando introduce un tamao de pantalla o selecciona un tamao de la lista desplegable, el rea de vista previa cambia para
reflejar su seleccin. El asistente de creacin de formularios tratar de ajustar los campos y la ubicacin de los objetos en el
formulario de forma que se ajusten al tamao de pantalla seleccionado. Si la opcin Crear varias pginas si es necesario
est seleccionada y 4D no logra ajustar todos los objetos en una pgina, se generarn mltiples pginas de visualizacin
para ajustar todos los campos al formulario. Si el asistente de creacin de formularios genera mltiples pginas, se colocan
botones, el ttulo del formulario y los rectngulos decorativos en la pgina de fondo (pgina 0).
Ajustar tamao segn los campos: si selecciona esta opcin, el asistente de creacin de formularios reduce los
espacios vacos en el formulario, con el fin de ajustar el tamao del formulario y su contenido.
Para los formularios de impresin (Formulario impresin listado y Formulario impresin detallado):
el rea Tamao del formulario incluye un botn Ajustar pgina... Este botn muestra la caja de dilogo actual
de configuracin de la impresin, la cual puede ser utilizada para elegir el tamao de la pgina para la impresin
del informe. 4D ajusta el tamao del formulario y el rea de previsualizacin de acuerdo al formato de pgina que
haya elegido.
Puede seleccionar en el rea Opciones de visualizacin las variables que quiere insertar en sus informes;
puede mostrar el ttulo del formulario, el nmero de pgina y la fecha y hora de impresin.
Para el tipo Formulario listado: el rea Tamao del formulario incluye una opcin adicional Ancho deseado.
Si no selecciona esta opcin, el ancho del formulario de salida se calcular automticamente con respecto al ancho de
los campos del formulario. Si selecciona esta opcin y define un ancho en pxeles, el asistente intentar "ajustar" todos
los campos en el ancho especificado, reduciendo el ancho de los campos. Si tambin hace clic en Truncar si es
necesario, el asistente suprimir uno o ms campos para hacer el ancho del formulario menor o igual al ancho
especificado. Si no selecciona Truncar si es necesario, el ancho del formulario podra ser ligeramente superior al
ancho especificado.
Posicin etiquetas
El rea Posicin etiquetas de la pgina Opciones le permite definir la posicin de las etiquetas respecto a los campos.
Puede especificar que las etiquetas estn ubicadas delante o encima de los campos. Igualmente puede no mostrar las
etiquetas.
Opciones de visualizacin
El rea Opciones de visualizacin de la pgina Opciones le permite aadir varios elementos opcionales al formulario y
definir diversas opciones. Las opciones disponibles son las siguientes:
Ttulo del formulario: aade el nombre de la tabla como ttulo del formulario arriba de los campos. Esta opcin no
est disponible para los formularios de proyecto.
Un campo por lnea: seleccione esta casilla para organizar los campos verticalmente. Si esta opcin no est
seleccionada, el asistente organiza los campos en filas.
Crear varias pginas si es necesario: si esta opcin est seleccionada, el asistente de formularios crear varias
pginas automticamente si los campos no se ajustan a una sola pgina. Si utiliza esta opcin, el asistente de
formularios ubica en la pgina de fondo los objetos apropiados.
Nombres de campos dinmicos: cuando esta opcin est seleccionada, los nombres de campos y tablas se
insertan en el formulario como referencias dinmicas. Esto asegura que los campos y etiquetas de tablas reflejen
cualquier cambio en el nombre del campo o de la tabla. Los nombres de los campos o de las tablas pueden ser
modificados en el editor de estructura o utilizando los comandos SET FIELD TITLES o SET TABLE TITLES. Para
mayor informacin, consulte la seccin Utilizar las referencias en los textos estticos.
Barra de mens asociada: seleccione esta opcin y seleccione el nmero de la barra de men que quiere asociar al
- 229 -
formulario. Para mayor informacin, consulte Barra de mens asociada al formulario.
Nmero del registro/Total de registros: aade al formulario una variable 4D (llamada por defecto vRecNum) que
muestra el nmero del registro actual y el nmero total de registros. Esta opcin no est disponible para los formularios
proyecto.

Pgina botones
La pgina Botones permite personalizar los botones utilizados en el formulario.
Nota: esta pgina no est disponible para los tipos de formularios "Impresin listado" e "Impresin detallado".
Todos los formularios pueden utilizar botones que permiten al usuario guardar y cancelar los cambios hechos a un registro y
pasar de una pgina a otra en un formulario multipginas.
Adems, los formularios tabla pueden tener botones que permiten navegar entre los registros (primer registro, ltimo
registro, registro anterior, registro siguiente), aadir o eliminar registros en un subformulario o eliminar el registro actual.
En la pgina Botones, puede seleccionar el estilo, las acciones, la ubicacin y las etiquetas de cada botn.
Nota: en el editor de formularios, puede aadir, eliminar, o reponer botones individuales y asociar un mtodo a un botn
para especificar la accin que debe realizar.
Familia y ubicacin
Las reas Familia de botones y Ubicacin permiten elegir el aspecto visual y la ubicacin de los botones.
Puede hacer clic en los botones > o < para visualizar los diferentes botones de la familia seleccionada.
Acciones automticas para los botones
4D ofrece un conjunto de acciones predeterminadas para los botones. Cuando asigna una de estas acciones a un botn, no
necesita escribir un mtodo para especificar lo que debe suceder cuando el usuario haga clic sobre l botn.
El nmero de acciones predefinidas propuestas depende de la categora del formulario (tabla o proyecto). Por ejemplo, las
acciones para moverse entre registros en una tabla no pueden utilizarse con los formularios de proyecto.
Para los formularios detallados, las acciones predefinidas accesibles va el asistente de creacin de formularios son las
siguientes:
Aceptar: guarda un nuevo registro o guarda los cambios realizados a un registro existente,
Cancelar: anula el nuevo registro o anula los cambios hechos a un registro existente,
Pgina siguiente, Pgina anterior, Primera pgina, ltima pgina: muestra la pgina solicitada en un formulario
multipginas.
Las siguientes acciones slo estn disponibles para los formularios tabla:
Registro siguiente, Registro anterior, Primer registro, ltimo registro: guarda el registro actual y muestra el
registro solicitado.
Suprimir registro: borra el registro actual de la base (aparece una caja de dilogo de confirmacin).
Nota: cuando inserta un subformulario, 4D inserta automticamente dos botones adicionales si la opcin Botones de
adicin y supresin de la pgina Subformulario est seleccionada. Los botones del subformulario son: Aadir (aade un
nuevo registro a una tabla Muchos o una subtabla) y Eliminar (elimina el registro actual del subformulario).
4D ofrece otras acciones predeterminadas. Estas acciones estn disponibles cuando crea un formulario utilizando el
asistente de creacin de formularios o cuando modifica un formulario utilizando el editor de formularios. Para mayor
informacin, consulte la seccin Acciones estndar.
Los botones por defecto se listan en el rea Acciones de la pgina:

Puede seleccionar y deseleccionar los botones de accin automtica de la misma forma que selecciona o elimina los
campos en la pgina Campos. Los botones que ubique en el rea Acciones seleccionadas aparecern en el formulario.
Nota: an cuando los botones de gestin de pginas (Pgina anterior, Pgina siguiente, etc.) estn seleccionados en el
rea Acciones seleccionadas, slo se incluirn en el formulario si es necesario crear un formulario multipginas.

- 230 -
Si quiere modificar la etiqueta por defecto de un botn (la plantilla seleccionada debe incluir etiquetas), seleccione el botn
en la lista de Acciones seleccionadas y escriba el nuevo texto en el rea Etiqueta. Despus de escribir el texto de la
etiqueta, presione la tecla Tab o haga clic en otro botn de la lista Acciones seleccionadas para que el rea de
previsualizacin muestre la nueva etiqueta.
Notas:
Las etiquetas de los botones pueden introducirse como referencias para la traduccin de la base (ver la seccin
Anexo C: Arquitectura XLIFF.
Los mensajes de ayuda son independientes de las etiquetas. Si quiere asignar un mensaje de ayuda a un botn, utilice
la paleta de las propiedades de los objetos del editor de formularios (consulte el prrafo Mensajes de ayuda).

Pgina subformulario
La pgina Subformulario permite aadir un subformulario al formulario. Este subformulario debe provenir de una tabla
Muchos relacionada si quiere beneficiarse de los mecanismos automticos de actualizacin de los subformularios.
Cuando quiera utilizar los campos de una tabla Muchos relacionada, aada un subformulario al formulario. El subformulario
lista varios registros a la vez.. La utilizacin de un subformulario le permite visualizar los registros relacionados o los de otra
tabla. Tambin puede introducir datos en los registros que se muestran en el subformulario.
Puede mostrar en un subformulario campos de una tabla Muchos relacionada o de una tabla que no est relacionada. Si
incluye campos de una tabla Muchos relacionada, la relacin determina cuales registros se muestran. Si incluye campos de
una tabla no relacionada o de una tabla con una relacin manual, por defecto se muestra la seleccin actual de esa tabla.
Tambin puede controlar la seleccin de registros utilizando un mtodo.
La pgina Subformulario de la pantalla de opciones avanzadas permite utilizar un formulario como subformulario, especificar
sus opciones y definir botones que permiten a los usuarios trabajar con el subformulario.
Para aadir un subformulario al formulario, seleccione la opcin Incluir un subformulario. Seleccione la tabla del
subformulario en la lista Tabla y luego seleccione
el subformulario a utilizar de la lista Formulario listado. Tambin puede utilizar la lista Formulario detallado para definir la
pgina del formulario a mostrar cuando el usuario haga clic en el subformulario. El rea de vista previa muestra el
subformulario integrado al formulario actual.
Puede definir las siguientes opciones para el subformulario:
Seleccin mltiple: el usuario puede deseleccionar varios subregistros simultneamente utilizando las teclas Mays
y Ctrl (Windows) o Comando (Mac OS).
Tecleo en lista: el usuario puede modificar los valores de los subregistros directamente en el subformulario.
Botones de adicin y supresin: el asistente inserta automticamente dos botones en el formulario
(correspondiente a la familia de botones definida para el formulario), asociados a las acciones estndar Aadir
Subregistro y Eliminar subregistro:

Para mayor informacin sobre estas opciones, consulte la seccin Subformularios lista.

Generar el formulario avanzado

Cuando haya terminado de definir todas las propiedades avanzadas el nuevo formulario, haga clic en Aceptar en cualquier
pgina para crear el nuevo formulario. Al hacer clic en el botn Aceptar, aparece la siguiente caja de dilogo:

- 231 -
Para crear el nuevo formulario, haga clic en el botn Utilizar para pasar a probar el formulario (formularios de tabla
nicamente) o Modificar para abrir el nuevo formulario en el editor de formularios.

Crear una plantilla de formulario


La caja de dilogo de generacin del formulario permite crear una nueva plantilla de formulario que utilizar por defecto los
parmetros actuales de opciones avanzadas (botones, opciones, etc.). Si crea una plantilla de formulario, su nombre se
aadir a la lista desplegable de plantillas disponibles en el asistente; La plantilla de formulario se guarda
independientemente del formulario.
Para crear una plantilla de formulario, haga clic en el botn S e introduzca un nombre para la plantilla en el rea Nombre de
la plantilla.

- 232 -
Crear un formulario vaco

Puede crear directamente un formulario vaco desde el Explorador sin utilizar el asistente de creacin de formularios. En
este caso, el formulario se crea sin campos, botones o variables y se abre en el editor de formularios donde puede
construirlo totalmente. Crear formularios vacos es til para generar cajas de dilogo que slo contengan variables o reas
de plugin.
Para crear un formulario vaco:
1. Abra la Pgina Formularios del Explorador.
2. Seleccione el elemento correspondiente a la categora del formulario que quiere crear:
Formulario de proyecto: seleccione Formularios de proyecto o un formulario de proyecto existente,
Formulario de tabla: seleccione el nombre de la tabla.
3. Haga clic en el botn aadir del Explorador. Aparece la siguiente caja de dilogo:

Formulario proyecto:

Formulario tabla:

4. Introduzca el nombre del formulario en el rea de entrada correspondiente.


Este nombre servir para referirse al formulario en el lenguaje.
5. (Opcional) Seleccione una carpeta de almacenamiento para el formulario.
Si selecciona un nombre de carpeta, el formulario se ubicar en esta carpeta. Las carpetas permiten organizar los
objetos de sus aplicaciones y se administran en la Pgina Inicio del Explorador. Por defecto, se crea el formulario en
el nivel superior, es decir, fuera de las carpetas.
6. Haga clic en Aceptar.
El formulario vaco se abre en una nueva ventana de El editor de formularios.

- 233 -
Editar un formulario

Para abrir un formulario en el editor de formularios:


1. Seleccione Abrir > Formulario... en el men Archivo.
O
En el editor de estructura, presione Ctrl+Shift y haga doble clic en el nombre de la tabla del formulario tabla que quiere
abrir.
O
En el editor de estructura, haga clic derecho en el nombre de la tabla, luego seleccione Mostrar los formularios... en
el men contextual.
4D muestra la Pgina Formularios del Explorador. Puede desplegar el tema "Formularios proyecto" o los nombres
de las tablas para ver los formularios asociados a ellas. Si ha hecho doble clic en un nombre de tabla o utilizado el
men contextual del editor de estructura, la tabla ya est seleccionada.
2. Si es necesario, despliegue la tabla que contiene el formulario a modificar.
3. Haga clic derecho en el nombre del formulario a modificar, luego seleccione Modificar formulario... en el men
contextual.
O
Seleccione el formulario y luego elija Modificar formulario... en el men de opciones del Explorador.
O
Haga doble clic en el nombre del formulario o el rea de previsualizacin.
4D muestra el formulario en la ventana del editor de formularios.
Nota: estas acciones tambin estn disponibles en la Pgina Inicio del Explorador.
4D Server: cuando dos o ms usuarios intentan modificar un mismo formulario simultneamente, se bloquea el objeto.
Si un usuario est modificando un formulario en el entorno Diseo, el formulario se bloquea. Los otros usuarios no
puede modificar el mismo formulario hasta que el primer usuario lo libere cerrndolo.

- 234 -
Renombrar un formulario

Puede renombrar un formulario en la lista de propiedades o en la Pgina Formularios del Explorador o en la Lista de
propiedades.
Los nombres de los formularios se utilizan cuando selecciona los formularios de entrada y salida por defecto para una tabla y
en comandos que aceptan un nombre de formulario como parmetro, tales como FORM SET INPUT y FORM SET
OUTPUT.
No es posible utilizar el mismo nombre para varios formularios de proyecto o para varios formularios de una misma tabla. Si
lo hace, 4D no sabr a cul de los dos formularios se refiere cada vez que utilice su nombre. Sin embargo, s puede utilizar el
mismo nombre de formulario en tablas diferentes. Por ejemplo, puede llamar a todos sus formularios de entrada Entrada y
a todos sus formularios de salida Salida.
Atencin: si renombra un formulario referenciado en otras partes de la base (por ejemplo, en mtodos), actualice las
referencias al formulario. Para hacerlo puede utilizar la funcin de buscar y reemplazar en el entorno Diseo (ver
Renombrar).
Para renombrar un formulario utilizando el Explorador:
1. Muestre la Pgina Formularios del Explorador.
Aparece la lista jerrquica de tablas y formularios.
2. Mantenga presionada la tecla Alt (Windows) u Opcin (Mac OS) y haga clic en el nombre del formulario a renombrar.
O
Haga clic dos veces en el nombre del formulario que quiere cambiar.
El nombre del formulario se vuelve editable.
3. Introduzca el nuevo nombre.
4. Presione la tecla Tab o haga clic fuera del rea de edicin para guardar el nuevo nombre.
Para renombrar un formulario utilizando la Lista de propiedades del editor de formularios (ver Utilizar la lista de
propiedades):
1. Muestre las propiedades del formulario en la Lista de propiedades.
2. Escriba un nombre en el rea Nombre del formulario.

Tambin puede renombrar un formulario utilizando la ventana de propiedades del formulario va el Explorador (ver la seccin
Propiedades del formulario (Explorador)).

- 235 -
Designar los formularios de entrada y de salida

Cada tabla tiene un formulario de entrada y un formulario de salida actual. El formulario de entrada se utiliza para introducir y
modificar los registros y el formulario de salida se utiliza para mostrar los registros en lista. Generalmente, se utiliza un
formulario detallado como formulario de entrada y un formulario listado como formulario de salida.
Puede cambiar de formulario de entrada o salida en cualquier momento. Este cambio puede realizarse en la Ventana Lista
de tablasList of tables window o con la ayuda de los comandos FORM SET INPUT y FORM SET OUTPUT. En este
caso, las modificaciones se aplican nicamente a la sesin de trabajo actual.
Igualmente puede especificar los formularios de entrada y de salida por defecto en el entorno Diseo. En ese caso, los
cambios se guardarn con la base.
Para cambiar los formularios de entrada y salida de una tabla:
1. Vaya a la Pgina Formularios del Explorador.
2. Despliegue la tabla para la cual quiere modificar el formulario de entrada o salida por defecto.
La letra E se muestra junto al nombre del formulario de entrada actual y la letra S se muestra junto al formulario de
salida actual.
3. Haga clic derecho en el nombre del formulario a designar y elija el comando Formulario de entrada o Formulario de
salida en el men contextual:

O
Elija el comando Formulario de salida o Formulario de entrada en el men de opciones del Explorador.

Nota: slo los formularios de tabla pueden designarse como formularios de entrada de salida.
Tambin puede designar un mismo formulario como formulario de entrada y salida. En este caso, junto al nombre del
formulario aparece la letra A (de Ambos).

- 236 -
Borrar un formulario

Puede borrar todo formulario proyecto o tabla que no est designado como formulario de entrada o salida actual (o ambos).
El botn Suprimir es deshabilitado cuando se selecciona un formulario de entrada o de salida.
Para borrar un formulario:
1. Vaya a la Pgina Formularios del Explorador.
2. Despliegue el tema Formularios de proyecto o la tabla que contiene el formulario que quiere borrar.
3. Seleccione el formulario a borrar y haga clic en el botn del Explorador.
O
Utilice el comando Suprimir formulario en el men contextual del Explorador (clic derecho en el nombre del
formulario).
4D le pide confirmar la supresin.
4. Haga clic en Aceptar.
borra el formulario. El formulario pasa a la Papelera y puede ser recuperado en cualquier momento siempre y cuando
no se vace la Papelera (ver Pgina Papelera).

Nota: tambin es posible borrar un formulario desde la Pgina Inicio del Explorador (utilizando el mismo procedimiento).

- 237 -
Imprimir un formulario

Cada formulario tiene un rea mxima de alrededor 125 metros cuadrados. El acceso a las partes ocultas del formulario se
obtiene por desplazamiento. Para visualizacin en pantalla, puede utilizar toda esta rea. Puede visualizar todos los
elementos del formulario por navegacin.
Para la impresin, los elementos del formulario deben encajar dentro del ancho de una pgina, sin limitacin de largo. El
tamao de una pgina depende de su impresora, del tamao del papel, y de las especificaciones en la ventana Ajustar
pgina. 4D muestra los lmites de la pgina en el editor de formularios en forma de lneas. Estas lneas de borde de pgina,
reflejan cualquier ajuste que haga a la pgina. Las especificaciones de configuracin de pgina se guardan con el formulario
al cerrarlo. Los lmites del formulario se pueden mostrar u ocultar utilizando el comando Papel en el submen Mostrar del
editor de formularios (ver Mostrar/Ocultar elementos en el editor de formularios).
La siguiente imagen muestra las lneas de borde de pgina:

Parmetros de impresin del formulario

Puede definir los parmetros de impresin especficos para cada formulario. Estos parmetros se utilizan al imprimir el
formulario en modo Aplicacin.
Para hacerlo, haga clic en el botn Parmetros/Editar... en el tema Impresin de la Lista de propiedades del formulario
(ver el prrafo Propiedades de los formularios).

- 238 -
Aparece una caja de dilogo, la cual le permite modificar los parmetros de impresin especficos del formulario: formato del
papel, orientacin, etc. Las opciones disponibles en esta caja de dilogo estndar dependen de su configuracin sistema.
Para mayor informacin sobre la impresin de registros en modo Aplicacin, consulte la seccin Imprimir registros.

- 239 -
Guardar formularios

Es importante guardar todo cambio realizado a un formulario, especialmente cuando utiliza 4D Server con varios usuarios.
Puede guardar un formulario cerrndolo o guardndolo. Puede cerrar un formulario haciendo clic en el botn Cerrar de la
ventana o seleccionando el comando Cerrar formulario: Nombre del men Archivo. Para guardar un formulario sin
cerrarlo, seleccione Guardar formulario: Nombre en el men Archivo.
Una vez guardado un formulario, puede continuar trabajando en l. Si comete algn error o no le agrada el resultado de sus
cambios, puede volver a la ltima versin guardada. Para hacerlo, seleccione la opcin Versin guardada... del men
Archivo.
4D Server: al guardar un formulario en el entorno Diseo, los usuarios vern los cambios la prxima vez abran el formulario.

- 240 -
Creacin de formularios

El editor de formularios
Propiedades de los formularios
Propiedades del formulario (Explorador)
Crear un formulario multipginas
Utilizar formularios heredados
Modificar el orden de entrada de los datos
Insertar y organizar los objetos del formulario
Definir las propiedades de visualizacin de los objetos
Rotacin de texto
Utilizar imgenes estticas
Utilizar las referencias en los textos estticos
Duplicar en una matriz
Incrementar un conjunto de variables
Redimensionar formulario
Utilizar los mtodos de objeto
Utilizar las vistas de los objetos
Utilizar las marcas
Uso de la librera preconfigurada
Crear y utilizar las libreras de objetos personalizadas
Mostrar informacin sobre los objetos en ejecucin

- 241 -
El editor de formularios

Cuando cree un nuevo formulario con el asistente de creacin de formularios, puede elegir varias opciones de
personalizacin. Utilizando plantillas, puede controlar el tipo de fuente, tamao de fuente, estilo del texto, controlar la
apariencia de los campos y sus etiquetas y aadir un conjunto de botones automticos.
Esto es slo el comienzo, porque 4D ofrece un editor de formularios muy completo que le permiten modificar su formulario
hasta lograr la el resultado esperado. Con el editor de formularios puede crear y eliminar objetos, manipularlos directamente
y definir propiedades de formularios y objetos.
El editor de formularios muestra cada formulario en su propia ventana, la cual tiene una barra de herramientas y una barra de
objetos. Es posible tener varios formularios abiertos al mismo tiempo. Las reglas del costado derecho e inferior le ayudan a
ubicar los objetos en el formulario. Puede cambiar la unidad de medida de las reglas para que midan en pulgadas,
centmetros o pxeles.

Esta seccin cubre los elementos bsicos del editor de formularios. La seccin Trabajar con objetos activos describe en
detalle los campos y los otros objetos activos.

Mostrar/Ocultar elementos en el editor de formularios

Puede mostrar u ocultar los elementos de interfaz del editor de formularios. Esta caracterstica le permite mostrar slo los
elementos necesarios para crear o visualizar el formulario o las herramientas que quiera usar. Esta opcin aplica siempre a
la ventana actual del editor de formularios. Por ejemplo, es muy til mostrar los marcadores mientras trabaja en un formulario
de salida.
Para mostrar u ocultar un elemento en el editor de formularios:
1. Seleccione Mostrar en el men Formulario.
O
Utilice el comando Mostrar del men contextual del editor (clic derecho fuera del objeto).
Aparece un submen jerrquico con la lista de todos los elementos que puede mostrar u ocultar:

- 242 -
Junto a cada elemento visible aparece una marca de seleccin. Para ocultar un elemento, seleccinelo para que su
marca desaparezca.
2. Seleccione el elemento que quiere mostrar u ocultar.
Esta es la descripcin de los comandos de este men:
Formulario heredado: muestra u oculta los objetos del formulario heredado (si lo hay) en la pgina actual del
formulario. Para mayor informacin, consulte Utilizar formularios heredados.
Pgina 0: muestra u oculta los objetos de la pgina 0 en la pgina actual del formulario. Esta opcin permite
diferenciar entre los objetos de la pgina actual del formulario y los de la pgina 0. Para mayor informacin,
consulte la seccin Crear un formulario multipginas.
Papel: muestra u oculta los bordes de la pgina de impresin, con lneas de color gris. Esta opcin puede no
tener efecto cuando est seleccionada la opcin Lmites (ver abajo). Si el tamao del formulario es menor al
tamao de la pgina de impresin, los bordes de la pgina aparecen fuera del formulario. Consulte la seccin
Imprimir un formulario.
Reglas: muestra u oculta las reglas de la ventana del editor de formularios.
Marcadores: muestra u oculta los marcadores que sealan los lmites de las diferentes reas del formulario.
Etiquetas de marcadores: muestra u oculta las etiquetas de los marcadores, disponibles slo cuando los
marcadores estn visibles. Para mayor informacin, consulte la seccin Mover las lneas de control de salida.
Lmites: muestra u oculta los lmites del formulario. Cuando esta opcin est seleccionada, puede ver el
formulario tal como aparece en el modo Aplicacin. De esta forma puede ajustar su formulario sin tener que
cambiar a modo Aplicacin para ver el resultado.
Nota: las opciones Tamao basado en, Margen horizontal y Margen vertical, de las propiedades del formulario
modifican los lmites del formulario. Cuando utiliza estas propiedades, los lmites se basan en los objetos en el
formulario. Cuando cambia el tamao de un objeto localizado junto al borde del formulario, se modifica el borde para
reflejar ese cambio. Para mayor informacin sobre las propiedades del formulario, consulte la seccin Propiedades
de los formularios.

Zoom

Ahora es posible hacer un zoom en el formulario actual. Puede pasar al modo Zoom haciendo clic en la lupa ,o
directamente sobre la barra correspondiente a la escala deseada . Los porcentajes de visualizacin son 50%,
100%, 200%, 400% y 800%.
Al hacer clic en la lupa, el cursor toma la forma de una lupa. Para aumentar el porcentaje de visualizacin, haga clic en
el formulario. Para reducir el porcentaje de visualizacin, mantenga presionada la tecla Mays y haga clic en el
formulario.
Al hacer clic en una barra de porcentaje, la visualizacin se modifica inmediatamente.
En modo Zoom, todas las funciones del editor de formularios permanecen disponibles.

Utilizar la barra de herramientas

La barra de herramientas del Editor de formularios ofrece un conjunto de herramientas que pueden ser usadas para
manipular y modificar el formulario. Cada ventana del editor tiene su propia barra de herramientas.

- 243 -
La barra de herramientas contiene los siguientes elementos:

Ejecutar el formulario: permite probar la ejecucin del formulario. Al hacer clic en este botn,4D abre una
nueva ventana y muestra el formulario en su contexto (lista los registros para un formulario listado y muestra el registro
actual para un formulario detallado). El formulario se ejecuta en el proceso principal.
Flecha de seleccin: permite seleccionar, mover y redimensionar los objetos del formulario. Para mayor
informacin, consulte Seleccionar los objetos.
Nota: cuando un objeto de tipo Texto o rea de grupo es seleccionado, presionar la tecla Intro permite pasar al modo
edicin.
Orden de entrada: pasa al modo Orden de entrada, donde se puede
visualizar y modificar el orden de entrada actual del formulario. Para mayor informacin al respecto, consulte la seccin
Orden de entrada de los datos. Note que ahora las marcas le permiten visualizar el orden de entrada actual,
mientras trabaja en el formulario (consulte la seccin Utilizar las marcas).
Desplazamiento: pasa al modo Desplazamiento, donde es posible
alcanzar rpidamente cualquier parte del formulario utilizando arrastrar y soltar en la ventana. El cursor toma la forma
de una mano. Este modo de navegacin es particularmente til cuando se utiliza el zoom en el formulario.
Zoom: permite modificar la escala de visualizacin del formulario (100% por defecto). Puede pasar al
modo Zoom haciendo clic en la lupa o directamente
en la barra correspondiente a la escala que desee. Esta funcin se detalla en el prrafo anterior.
Alinear: este botn est asociado a un men que permite alinear los objetos en el formulario. Que est activo o
no, depende de los objetos seleccionados.
Distribuir: este botn est asociado a un men que permite distribuir los objetos en el formulario. Que est
activo o no, depende de los objetos seleccionados.
Nota: para mayor informacin sobre alineacin y distribucin de objetos, consulte Alinear Objetos.
Plano: este botn est asociado a un men que permite modificar el plano de los objetos en el formulario. Que
est activo o no, depende de los objetos seleccionados. Para mayor informacin, consulte Superponer objetos.
Agrupar/Desagrupar: este botn est asociado a un men que permite agrupar y desagrupar la seleccin de
objetos del formulario. Que est activo o no depende de los objetos seleccionados. Para mayor informacin, consulte
Agrupar objetos.
Despliegue y control de pginas: esta rea permite pasar de una pgina
a otra y aadir pginas. Para navegar por las pginas del formulario, haga clic en los botones de flecha o haga clic en
el rea central y seleccione la pgina a desplegar del men que aparece. Si hace clic en el botn con flecha hacia la
derecha mientras est en la ltima pgina del formulario, 4D le permite aadir una pgina. Para mayor informacin,
consulte Crear un formulario multipginas.
Gestin de vistas: este botn muestra u oculta la paleta de vistas. Esta funcin se describe en seccin Utilizar
las vistas de los objetos.
Marcas: cada clic en este botn provoca la visualizacin sucesiva de todos los tipos de marcas. Este botn
tambin est asociado a un men que permite elegir directamente el tipo de marcas a mostrar. Esta funcin se detalla
en Utilizar las marcas.
Abrir la librera de objetos preconfigurados: este botn muestra la ventana de la librera de objetos
preconfigurada, ofrece varios objetos con las propiedades por defecto. Para mayor informacin, consulte la seccin
Uso de la librera preconfigurada.
Bloqueo de usuario: cuando este icono est presente a la derecha de la barra de herramientas, significa que el
formulario es Modificable por el usuario. En ese caso, no puede editarse directamente, sino que primero debe
desbloquearse haciendo clic en este icono. Para mayor informacin, consulte Modificable por el usuario.

Utilizar la barra de objetos

La barra de objetos contiene todos los objetos activos e inactivos utilizables en los formularios de 4D. Algunos objetos estn
agrupados por temas (botones, botones de opcin, mens, etc.). Cada tema incluye varias alternativas que puede
seleccionar. Cuando la barra de objeto tiene el foco, puede seleccionar los botones utilizando las teclas. La siguiente tabla
describe las familias de objetos disponibles y su tecla asociada.

- 244 -
Botn Familia Tecla
Texto / rea de grupo T
Campo / Variable F
Lista jerrquica / List Box L

Combo box / Men desplegable / Men jerrquico desplegable / Men imagen desplegable P
Botn / Botn 3D / Botn inverso / Botn invisible / Botn imagen / Rejilla de botones B
Botn de opcin / Botn de opcin 3D / Botn imagen de opcin R

Casilla de seleccin / Casilla de seleccin 3D C


Termmetro / Dial / Regla I

Rectngulo / Lnea / Rectngulo redondeado / valo / Matriz S

Separador / Pestaa D
rea de plug-in / Subformulario / Web Area X
Para dibujar un tipo de objeto, seleccione el botn correspondiente y luego trace el objeto en el formulario. Despus de crear
un objeto, puede modificar su tipo utilizando la Lista de propiedades. Mantenga presionada la tecla Mays mientras crea un
objeto para obligar el trazo a una forma regular. Las trazos son verticales, horizontales o a 45, los rectngulos cuadrados y
los valos circulares.
La variante actual del tema es el objeto que se insertar en el formulario. Al hacer clic en la parte derecha de un botn,
accede al men de la variante:

Cuando un botn est seleccionado, puede navegar a travs de sus variantes utilizando el atajo Mays+Tecla de
seleccin. Los mensajes de ayuda muestran la variante actual seleccionada y la tecla asociada al objeto.
Puede hacer clic dos veces en el botn para que permanezca seleccionado incluso despus de trazar un objeto en el
formulario (seleccin persistente). Esta funcin facilita la creacin de mltiples objetos del mismo tipo. Para cancelar una
seleccin permanente, seleccione otro objeto o herramienta.

Utilizar la lista de propiedades

Los formularios y los objetos del formulario, tienen propiedades que controlan el acceso al formulario, la apariencia del
formulario y el comportamiento del formulario durante su uso. Las propiedades del formulario incluyen, por ejemplo, el
nombre del formulario, la barra de men asociada y su tamao. Las propiedades de un objeto incluyen, por ejemplo, el
nombre del objeto, su tamao, su color de fondo y su fuente.
Puede ver y modificar estas propiedades utilizando la Lista de propiedades. Esta paleta se actualiza dinmicamente en
funcin de los objetos seleccionados en la ventana del editor.
Para mostrar u ocultar la Lista de propiedades:
1. Seleccione Lista de propiedades en el men Formulario o en el men contextual del editor de formularios (clic
derecho en la ventana del editor fuera de todo proyecto).
O
Utilice la combinacin de teclas Ctrl+Mays+Barra de espacio (Windows) o Comando+Mays+Barra de espacio
(Mac OS).
Aparece la lista de propiedades:

- 245 -
Seleccin del contenido
La lista de propiedades muestra las propiedades del formulario o las del objeto seleccionado:
Cuando no hay un objeto seleccionado, la lista de propiedades muestra las propiedades del formulario,
Cuando un objeto o conjunto de objetos est seleccionado, la lista de propiedades muestra las propiedades del objeto
o las propiedades comunes de los objetos seleccionados.
Puede seleccionar los elementos cuyas propiedades desea mostrar haciendo clic sobre ellos en el formulario o utilizando la
lista de seleccin, ubicada en la parte superior de la ventana Lista de propiedades. La lista de seleccin contiene tres
partes, separadas por una lnea:
nombre del formulario,
los objetos dinmicos (asociados a una variable),
Lista de los objetos estticos (no asociados a una variable).

Para cada objeto dinmico, la lista muestra el nombre de la variable seguido por el nombre del objeto entre parntesis, o
nicamente el nombre del objeto. Puede definir la visualizacin utilizando el men asociado a la lista. El comando indica el
tipo de visualizacin actual:

- 246 -
Tambin puede modificar el orden de cada parte de la lista. Por defecto, la lista se ordena en funcin del plano de los
objetos (del primer plano al fondo). El men asociado le permite ordenar la lista por orden alfabtico.
Los botones ubicados a la izquierda de la lista permiten seleccionar cada objeto de la lista sucesivamente, de arriba a
abajo.

Pginas de despliegue de propiedades


Puede elegir el modo de visualizacin de la informacin en la Lista de propiedades utilizando las pestaas de seleccin de
las pginas.
La primera pgina (Principal) muestra toda la informacin relativa al objeto seleccionado utilizando diferentes
temas (fuente de datos, coordenadas y dimensiones, eventos, etc.). Puede desplegar o contraer cada tema haciendo
clic en el icono de expansin ubicado a la izquierda de su nombre; esto le permite mostrar slo las propiedades con
las cuales quiere trabajar.
La visualizacin es contextual: slo se muestran los temas y propiedades significativos para el tipo de objeto
seleccionado. La visualizacin de algunas propiedades tambin cambia dinmicamente segn el valor de otras
propiedades. Por ejemplo, la propiedad Tabulable para un campo slo aparece disponible si se ha definido la
propiedad Editable.
Las otras seis pginas contienen informacin especfica relacionada con el objeto seleccionado. Adems, se muestran
todas las propiedades de cada tema, sin importar el tipo de objeto. Las propiedades no pertinentes aparecen
inactivas.
Esta alternativa ofrece una visin ms global de las posibilidades de parmetros asociadas a los objetos. A
continuacin se describen las seis pginas temticas:
Definicin: rene las propiedades que definen la identidad del objeto (tipo, nombre, fuente de datos, etc.).
Comportamiento: rene las propiedades que definen el comportamiento dinmico de los objetos (mtodo
asociado, arrastrar y soltar, eventos de formulario).
Dimensiones: rene las propiedades que definen las coordenadas, el tamao y el redimensionamiento del
objeto.
Valor: rene las propiedades que definen la edicin y la visualizacin de los objetos editables (control de
entrada, atajo de teclado, formato de salida, etc.).
Aspecto: rene las propiedades que definen la apariencia grfica de los objetos.
Especfico: rene las propiedades especficas del tipo de objeto seleccionado (mensajes de ayuda para
campos, animacin para botones imagen, parmetros de impresin para formularios, etc.). A diferencia de las
otras pginas temticas, las propiedades no relevantes para el objeto no aparecen.

Atajos de navegacin
Puede navegar en la Lista de propiedades utilizando los siguientes atajos de teclado:
Flechas verticales : para ir de una celda a otra.
Flechas horizontales : para expandir/contraer temas o mens.
RePg y AvPg: para seleccionar la primera o la ltima celda visible de la Lista de propiedades.
Inicio y Fin: para seleccionar la primera o ltima celda de la Lista de propiedades.
Ctrl+clic (Windows) o Comando+clic (Mac OS) en un evento: selecciona/deselecciona todos los eventos en la lista,
en funcin del estado inicial del evento en el que haga clic.
Ctrl+clic (Windows) o Comando+clic (Mac OS) o sobre una etiqueta de tema: colapsa/expande todos los temas en la
lista.

Iconos de bloqueo
Cuando aplica la propiedad Modificable por el usuario al formulario, aparecen en la lista de propiedades los iconos de
bloqueo que indican cules son las propiedades modificables o no por el usuario:

- 247 -
Para mayor informacin, consulte el prrafo Modificable por el usuario.

Uso de reglas

Las reglas del editor de formularios se extienden a lo largo y ancho del formulario. Puede ocultar las reglas para aumentar el
espacio de su rea de trabajo
en la ventana del Editor de formularios. Puede mostrar u ocultar las reglas en cualquier momento, seleccionando Reglas en
el submen Mostrar del men Formulario o en el men contextual del Editor de formularios.
Las reglas contienen marcadores que indican la posicin del puntero cuando crea o redimensiona un objeto. Mientras est
moviendo el objeto, los marcadores cambian para indicar los lmites superior, inferior, derecho e izquierdo del objeto. Los
marcadores de los objetos permiten alinear otros objetos en la misma posicin en las reglas.
Puede modificar las unidades de medida de las reglas segn su preferencia.
Para definir la unidad de las reglas:
1. Seleccione Definir unidades en el men Formulario.
muestra la caja de dilogo Definicin de la regla.
2. Haga clic en la unidad de medida que quiera utilizar.
Haga clic en Puntos para mostrar las reglas en escala de puntos. Un punto equivale al ancho de un pxel. Una
pulgada tiene 72 puntos.
Haga clic en Centmetros para mostrar las reglas en sistema mtrico.
Haga clic en Pulgadas para mostrar las reglas en sistema ingls (pulgadas y pies).
3. Haga clic en el botn Aceptar.
4D cambia la unidad de medida a la escala seleccionada. Las coordenadas de los objetos tambin utilizarn las
mismas unidades.

- 248 -
Propiedades de los formularios

Las propiedades de un formulario se definen en la Lista de propiedades de El editor de formularios.


Algunas propiedades del formulario pueden definirse utilizando la ventana propiedades del Explorador. Para mayor
informacin, consulte la seccin Propiedades del formulario (Explorador).

Propiedades generales

Tipo de formulario
Puede cambiar el tipo de formulario, es decir su destino. Para los formularios de proyecto, hay dos tipos disponibles:
Formulario Detallado y Formulario de impresin detallado. Para los formularios tabla, se proponen dos tipos
adicionales: Formulario listado y Formulario de impresin listado.
Esta propiedad determina las opciones presentes en la lista de propiedades para el formulario.
Esta propiedad tambin le permite restringir el nmero de formularios mostrados en las listas de seleccin de formularios de
entrada y de salida actuales (la ventana Lista de tablas, ver la seccin Navegar entre tablas y formularios): slo se
muestran los formularios cuyo tipo corresponde a la lista.
La propiedad Tipo de formulario se encuentra en la parte superior de la lista de propiedades. Cuando el formulario es del
tipo Ninguno, aparece en ambos mens de la Lista de tablas.
Nota: igualmente puede definir el tipo del formulario utilizando la ventana de propiedades especifica del Explorador
(consulte la seccin Propiedades del formulario (Explorador)).

Formularios heredados
Estas propiedades se describen en la seccin Utilizar formularios heredados.

Nombre de la ventana por defecto


El nombre por defecto de la ventana se utiliza cuando el formulario se abre utilizando las funciones Open window y Open
form window en aplicaciones personalizadas. El ttulo por defecto de la ventana aparece en la barra de ttulo de la ventana.
Para definir el ttulo por defecto de la ventana escrbalo en el rea Ttulo de la ventana.
Puede utilizar referencias dinmicas para definir el ttulo de la ventana:
Una referencia XLIFF estndar (ver Anexo C: Arquitectura XLIFF).
Una etiqueta de un campo o de una tabla: la sintaxis a aplicar es del tipo <?[NumTabla]NumCampo> o <?
[NombreTabla]NombreCampo>. El valor de estas referencias se calcula al momento de la ejecucin de los
comandos FORM SET INPUT (si se pasa el parmetro * y est seguido por una llamada a Open window) y cuando
se llama el comando Open form window.
Una variable o un campo: la sintaxis a aplicar es <NombreVariable> o <[NombreTabla]NombreCampo>. El valor
actual de la variable o del campo se mostrar en el ttulo de la ventana.
Notas:
El nmero de caracteres para el ttulo de una ventana est limitado a 31.
Tambin puede definir el ttulo de la ventana desde la ventana de propiedades especifica del Explorador (ver
Propiedades del formulario (Explorador)).
Modificable por el usuario
La propiedad Modificable por el usuario permite indicar que el formulario puede ser personalizado por los usuarios desde
el editor de formularios en modo Aplicacin (ver Formularios de usuario). Para utilizar este mecanismos es necesario
definir parmetros adicionales, los cuales se describen en la seccin Formularios de usuario del manual de Lenguaje 4D.
Cuando la propiedad Modificable por el usuario est seleccionada, se bloquea el formulario. Cuando abre un formulario
con esta propiedad, aparece un icono de candado en la barra de herramientas y no es posible realizar modificaciones.
Debe hacer clic en este icono para desbloquear el formulario, en este caso, los posibles formularios usuarios se convierten
en obsoletos y deben regenerarse.
Cuando la propiedad Modificable por el usuario est seleccionada, la lista de propiedades tambin tiene candados
indicando las propiedades bloqueadas.
Puede hacer clic en estos iconos para abrir los candados y volver las propiedades correspondientes modificables en el
editor de formularios de usuarios .
Nota: tambin puede definir la propiedad Modificable por el usuario utilizando la ventana de propiedades especifica desde
- 249 -
el Explorador (consulte la seccin Propiedades del formulario (Explorador)).

Memorizar Geometra
Cuando la opcin Memoriza geometra est seleccionada, si la ventana se abre con el comando Open form window con
el parmetro *, varios parmetros del formulario sern guardados automticamente por 4D cuando la ventana se cierre,
independientemente de la forma en que fueron modificados durante la sesin:
la pgina actual,
la posicin, el tamao y la visibilidad de cada objeto del formulario (incluyendo el tamao y la visibilidad de las
columnas de list box).
Nota: esta opcin no tiene en cuenta los objetos generados con el comando OBJECT DUPLICATE. Para que un usuario
recupere su entorno cuando utilice este comando, el desarrollador debe repetir la secuencia de la creacin, definicin y
posicionamiento de los objetos.

Cuando se selecciona esta opcin, la opcin Memorizar valor tambin est disponible para ciertos objetos. Para ms
informacin y algunos ejemplos de su uso, consulte Memorizacin de la geometra de las ventanas.

No invertir objetos (Windows)


La opcin No invertir objetos permite desactivar el modo derecha a izquierda para el formulario. El modo derecha-a-
izquierda (slo para Windows) invierte los
objetos y ttulos de los formularios de la base. Este modo se utiliza en el contexto de idiomas que se leen de derecha a
izquierda (como el rabe). Para mayor informacin sobre la activacin de este mtodo, consulte el prrafo Idiomas de
derecha a izquierda en la seccin OBJECT Get enabled.
Cuando la opcin No invertir objetos est seleccionada para un formulario, el modo derecha a izquierda no se aplica a
este formulario en modo Aplicacin, sin importar la configuracin de la base. Esta opcin puede utilizarse, por ejemplo, para
definir formularios internacionales en una base configurada en modo derecha a izquierda. Esta opcin se encuentra en la
Lista de propiedades, como tambin en la caja de dilogo Propiedades del formulario (Explorador).
Nota: esta propiedad tambin puede manejarse por programacin utilizando el comando FORM GET PARAMETER.

Tamao del formulario y de la ventana

Un formulario siempre se muestra en una ventana. 4D permite definir el tamao del formulario y de la ventana, as como su
comportamiento respectivo en caso de redimensionamiento.
Estas propiedades son interdependientes y la interfaz de su aplicacin es el resultado de su combinacin. Tenga en cuenta
que el resultado tambin depende de las propiedades de redimensin asignadas a cada objeto del formulario (para mayor
informacin, consulte ).
Tamao del formulario
Defina las propiedades de tamao del formulario en el tema Tamao del formulario de la Lista de propiedades. Las
siguientes opciones estn disponibles:
Tamao basado en: Tamao automtico: el tamao del formulario ser el necesario para mostrar todos los objetos
que contiene; en este caso las otras dos opciones permiten aadir Margen horizontal y Margen Vertical (en pxeles).
Tamao basado en: Ajustar tamao: el tamao del formulario estar basado en el valor que usted defina (en
pxeles) en los campos Ancho y Altura (al seleccionar Ajustar tamao, las opciones Margen horizontal y Margen
vertical se transforman en Ancho y Altura).
Tamao basado en: un objeto: el tamao del formulario se basa en la posicin del objeto del formulario
seleccionado. Por ejemplo, si elige un objeto ubicado en la parte inferior derecha, el tamao del formulario ser un
rectngulo cuya esquina superior izquierda ser el origen del formulario y la esquina inferior derecha corresponder a
la parte inferior derecha del objeto seleccionado, ms los valores de mrgenes. Puede utilizar esta opcin cuando
quiera utilizar los objetos activos ubicados fuera del rea visible (es decir, fuera del rectngulo de la ventana) con una
ventana de tamao automtico. Gracias a esta opcin, la presencia de estos objetos no modificar el tamao de la
ventana.
Cuando selecciona la opcin Tamao automtico o un tamao basado en un objeto, dispone de los campos Margen
horizontal y Margen vertical. Puede introducir los valores (en pxeles) para definir mrgenes adicionales para ser
aadidas a los bordes del formulario. Estos valores tambin determinan las mrgenes superior y derecha de los
formularios utilizados en el Editor de etiquetas.
Nota: para los formularios de salida, slo estn disponibles los campos Margen horizontal o Ancho.
Ajuste dinmico: la propiedad Ajuste dinmico est disponible en el tema Tamao del formulario para los
formularios convertidos de versiones anteriores de 4D, cuando la propiedad Tamao automtico est seleccionada.
Esta propiedad permite modificar el modo de redimensionamiento de los formularios. En las versiones anteriores de
4D, cuando un formulario tena la propiedad Tamao automtico, el tamao del formulario se calculaba slo al
momento de abrirlo. Si haba algn cambio posterior utilizando comandos como OBJECT MOVE, el tamao del
formulario no se ajustaba. Adems, el tamao del formulario se ajusta dinmicamente en este caso. Este principio se
activa para nuevos formularios. Por otra parte, por razones de compatibilidad, los formularios de bases de datos
- 250 -
convertidas no se benefician de esta propiedad por defecto. Si quiere que el tamao de los formularios convertidos se
ajuste dinmicamente, marque la opcin Ajuste dinmico.

Tamao de la ventana
Cuando un formulario de entrada se muestra en una aplicacin personalizada, generalmente se abre utilizando las funciones
Open window o Open form window.
Open window permite definir las coordenadas superior, izquierda, inferior y derecha, y el tipo de la ventana. En este caso,
el tamao de la ventana no depende del tamao del formulario. Por otra parte, las posibilidades de redimensionamiento
dependen de las opciones definidas en el tema Tamao del formulario y del tipo de ventana. Open form window crea una
nueva ventana basada en las propiedades de tamao y redimensionamiento del formulario pasadas como parmetros.
Puede definir el redimensionamiento de la ventana del formulario en la Lista de propiedades. Las siguientes opciones estn
disponibles:
Con restricciones: esta propiedad est disponible para los formularios convertidos desde una versin anterior de 4D.
Se utiliza para reproducir el funcionamiento de la antigua propiedad del formulario Redimensionable: cuando esta
opcin no est seleccionada, los mecanismos que manejan el redimensionamiento de objetos y las restricciones del
tamao de las ventanas se desactivan. De este modo, el usuario puede redimensionar libremente la ventana del
formulario pero los objetos que contienen no son redimensionados ni desplazados. Las propiedades del tamao
mnimo y mximo o fijo as como las propiedades de redimensionamiento de los objetos se ignoran. Este
funcionamiento corresponde a las antiguas versiones de 4D y slo debe utilizarse por razones de compatibilidad en
interfaces especficas. El funcionamiento de las bases 4D actuales y siguientes corresponde a la opcin seleccionada
(modo estndar).
Ancho fijo: si selecciona esta opcin, el ancho de la ventana se bloquear y el usuario no podr redimensionarlo. Si
esta opcin no est seleccionada, el ancho de la ventana del formulario
podr modificarse. En este caso, las reas de entrada Ancho mnimo y Ancho mximo para determinar los lmites
de redimensionamiento.
Altura fija: si marca esta opcin, la altura de la ventana se bloquear y el usuario no podr redimensionar
verticalmente la ventana del formulario. Si esta opcin no est seleccionada, la altura de la ventana del formulario
podr modificarse. En este caso, las reas de entrada Altura mnima y Altura mxima pueden utilizarse para
determinar los lmites de redimensionamiento.
Como regla general, es necesario evitar que el usuario oculte las reas editables y los botones de control.

Apariencia

Plataforma
La propiedad de interfaz de plataforma permite definir la apariencia del formulario segn el contexto de ejecucin. Esta
propiedad tambin puede definirse individualmente para cada objeto del formulario (consulte la seccin Plataforma en la
seccin LOG EVENT).
Dos propiedades de interfaz estn disponibles: Sistema e Impresin. Se usan cuando en pantalla, un formulario debe
respetar la interfaz del sistema operativo actual (Sistema) y cuando un formulario es para impresin, la apariencia de los
objetos debe adaptarse (Impresin), sin importar la plataforma.
Sistema: esta propiedad permite adaptar automticamente la apariencia del formulario o del objeto en funcin de la
plataforma actual de ejecucin de 4D:
Cuando el formulario se muestra bajo Mac OS X, el formulario o el objeto tiene la apariencia Mac OS X,
Cuando el formulario se muestra bajo Windows, el formulario o el objeto toman la apariencia definida en el
parmetro Apariencia actual de las propiedades de visualizacin del panel de control.
Este modo se utiliza por defecto para todos los formularios y objetos de las bases creadas con 4D a partir de la
versin 2004.
Impresin: esta propiedad permite adaptar la apariencia del formulario o del objeto a imprimir: cualquier objeto o
elemento grfico (botn, casilla de seleccin, pestaa, lnea, etc.) se dibuja como un vector con el fin de producir un
resultado satisfactorio de impresin. Se obtiene el mismo resultado sin importar la plataforma donde se muestre o
imprima el formulario.

Opciones de apariencia Mac OS


Puede definir dos opciones especficas para configurar la apariencia del formulario bajo Mac OS: Apariencia metalizada y
Botn barra de herramientas. Cuando el formulario se ejecuta bajo Windows, estas opciones no tienen efecto.
Apariencia metalizada (Mac OS): esta propiedad de formulario permite activar el modo de apariencia texturizada
para el formulario cuando se muestra utilizando el comando Open form window en Mac OS. Esta apariencia se
encuentra con frecuencia en la interfaz Mac OS X:

- 251 -
Si el formulario se muestra en una ventana que no fue creada por el comando Open form window (por ejemplo en el
modo Diseo), la propiedad no se tendr en cuenta.
Bajo Mac OS, el efecto apariencia metalizada se previsualiza en el editor de formularios cuando se selecciona la
opcin Apariencia metalizada y se muestran los lmites del formulario.
Botn barra herramientas (Mac OS): esta propiedad permite mostrar el botn de gestin de la barra de
herramientas bajo Mac OS. Este botn estndar permite alternativamente mostrar u ocultar la barra de herramientas de
la ventana:

Utilice esta opcin si crea la ventana con el comando Open form window o DIALOG por ejemplo. Esto equivale a
utilizar la constante Has toolbar button Mac OS con el comando Open window u Open form window.
Nota: el evento de formulario On Mac toolbar button se genera cuando el usuario hace clic en el botn.
Es tarea del desarrollador de la interfaz especificar las acciones a llevar a cabo cuando se hace clic en el botn.

Ocultar casilla de redimensionamiento


Esta opcin permite controlar la presencia de una casilla de redimensionamiento en la ventana del formulario. Esta opcin
se tiene en cuenta cuando se llama el formulario va el comando DIALOG por ejemplo.

Impresin

Las propiedades de impresin se describen en la seccin Imprimir un formulario.

Barra de mens asociada al formulario

Cuando crea una aplicacin, puede crear mens personalizados. Los mens personalizados permiten aadir comandos de
mens que automaticen las acciones estndar asociadas a un formulario particular, como por ejemplo la generacin de un
informe.
Los mens personalizados se crean en el editor de barras de mens. Cada barra de men que cree tiene al menos un men,
un nombre y un nmero de identificacin nicos. Para mayor informacin sobre la creacin de barras de mens, mens y
comandos de mens, consulte el captulo Mens y barras de mens.
Para asociar una barra de mens a un formulario, seleccione una barra de mens en la lista desplegable Barra de mens
asociada de la Lista de propiedades. El botn [...] permite acceder directamente al editor de Mens y barras de mens.
En modo Aplicacin, una barra de mens asociada a un formulario se aade al lado derecho de la barra de mens actual.
Si la barra de mens del formulario es idntica a la barra de mens actual, no se aade. La barra de mens de un formulario
opera para los formularios de entrada y de salida.
La opcin Barra de mens activa aparece cuando selecciona una barra de mens. Si quiere utilizar este formulario
en una aplicacin personalizada, seleccione la opcin Barra de mens activa. Esta opcin le indica a 4D que no
desactive la barra de mens actual. Si esta opcin no est seleccionada, 4D desactiva la barra de mens actual y slo
permite acceso a la barra de mens asociada al formulario.
Nota: tambin puede asociar una barra de mens al formulario en la caja de dilogo Propiedades del formulario
(Explorador).

Controlar el acceso a los formularios

Puede controlar el acceso a un formulario estableciendo los privilegios de Acceso y Propietario para los grupos de usuarios.
Slo puede asociar un grupo de usuarios a cada privilegio utilizando las listas desplegables de Acceso y Propietario. Para
mayor informacin sobre la creacin de un sistema de acceso por contraseas con usuarios y grupos, consulte el captulo
Usuarios y grupos.
- 252 -
La lista desplegable Acceso define qu grupo puede utilizar el formulario en la ventana de visualizacin de registros o en una
aplicacin personalizada. Si un usuario que no pertenece a este grupo intenta utilizar el formulario, 4D mostrar un mensaje
indicndole al usuario que su contrasea no le permite acceder al formulario.
La lista desplegable Propietario determina qu grupo puede modificar el formulario en el entorno Diseo. Si un usuario que
no pertenezca a este grupo intenta abrir el formulario en el entorno Diseo, 4D mostrar un mensaje indicndole al usuario
que no tiene privilegios para modificar el formulario.
Los usuarios que pertenezcan a los dos grupos pueden utilizar el formulario en el entorno Diseo o en aplicaciones
personalizadas.
Para definir los privilegios de acceso de un formulario:
1. Despliegue las propiedades del formulario en la Lista de propiedades.
2. Utilice las listas desplegables Acceso y Propietario para afectar los privilegios necesarios.
Los nombres de los grupos existentes se muestran en cada lista desplegable.

El botn [...] permite acceder directamente a la pgina Grupos en la Caja de herramientas de 4D.
Tambin puede asignar grupos de acceso a un formulario en la caja de dilogo Propiedades del formulario (Explorador).

Ayuda

4D permite asociar un archivo de ayuda en lnea personalizado a cada base. La creacin de archivos de ayuda se describe
en Anexo A: Ayuda en lnea personalizada.
Un archivo de ayuda puede ser contextual, es decir, puede mostrar informacin relacionada con el contexto desde el cual fue
llamado. Para hacer esto, puede asociar un Nmero de tema de ayuda a un formulario y el mismo nmero a la seccin o a
la pgina correspondiente del archivo de ayuda. Esta operacin se efecta en el tema Ayuda de la Lista de propiedades.

Accin

El botn Edicin... permite acceder al mtodo del formulario. Este tema se trata en la seccin Editar mtodos.

Marcadores

Esta rea permite definir con precisin la ubicacin de los marcadores en la regla vertical del formulario. Los marcadores
slo son relevantes para los formularios de salida. Ellos controlan la informacin que se muestra y definen las reas de
encabezado y de pie del formulario. Para mayor informacin sobre el uso de marcadores de control, consulte la seccin
Utilizar lneas de control de salida.
Nota: el marcador ubicado en la regla horizontal controla el largo de las etiquetas cuando crea un formulario con el fin de
imprimir etiquetas va el comando PRINT LABEL.

Eventos

Esta rea permite definir los eventos que pueden llevar a la ejecucin del mtodo formulario. Cuando el formulario se utiliza,
slo ocurrirn los eventos que haya seleccionado. Si no selecciona ningn evento, el mtodo formulario no se llamar.
Su aplicacin se ejecutar ms rpidamente si deselecciona los eventos superfluos.
Para mayor informacin acerca de los eventos disponibles, consulte el comando Evento formulario .
- 253 -
Para seleccionar o deseleccionar todos los eventos, utilice la combinacin Ctrl (bajo Windows) o Comando (bajo Mac OS)
y haga clic en un evento.

- 254 -
Propiedades del formulario (Explorador)

Puede acceder a las principales propiedades de un formulario en la Pgina Formularios del Explorador. Haga clic en el
nombre del formulario, luego haga clic en el comando Propiedades del formulario... en el men contextual o en el men de
opciones de la pgina.
Las propiedades se muestran en una caja de dilogo especfica:

La mayora de las propiedades en esta caja de dilogo (nombre, acceso, plataforma, etc.) tambin pueden definirse en la
Lista de propiedades del editor de formularios y se describen en la seccin Propiedades de los formularios. Sin
embargo, la propiedad "Publicado como subformulario en la base local" (descrita a continuacin) se encuentra en esta caja
de dilogo.

Publicado como subformulario en la base local

Esta opcin es til en el contexto del desarrollo de componentes que contienen formularios (ver el prrafo Compartir
formularios).
Para que un formulario de componente pueda seleccionarse como subformulario en una base local, debe haber sido
designado explcitamente como "formulario publicado en la base local": para hacer esto seleccione la opcin Publicado
como subformulario en la base local. Slo los formularios proyecto pueden especificarse como subformularios
publicados.
Para mayor informacin sobre la definicin y utilizacin de subformularios de componentes, consulte la seccin Desarrollo
de componentes.

- 255 -
Crear un formulario multipginas

Puede crear varias pginas para un formulario de entrada. Si tiene ms campos de los que caben en una pantalla, puede
crear pginas adicionales para mostrarlos. Utilizar mltiples pginas le permite:
Poner la informacin ms importante en la primera pgina y la informacin secundaria en las dems pginas.
Organizar las pginas por temas.
Reducir o eliminar el desplazamiento durante la entrada de datos.
Tener espacio alrededor de los elementos del formulario para obtener un diseo de pantalla ms atractivo.
Los formularios de mltiples pginas slo son convenientes para los formularios de entrada, no para las impresiones. Al
imprimir un formulario multipginas, slo se imprime la primera pgina.
No hay lmite en el nmero de pginas que pueda tener un formulario. Un mismo campo puede aparecer varias veces en un
formulario y en tantas pginas como desee. Sin embargo, a mayor nmero de pginas, mayor tiempo tomar mostrar el
formulario.
Un formulario multipginas tiene una pgina de fondo (pgina 0) y varias pginas de visualizacin. En el editor de
formularios, los objetos ubicados en la pgina de fondo son visibles en todas las pginas, pero slo pueden ser
seleccionados y editados en la pgina 0. En los formularios multipginas, debe poner la paleta de botones en la pgina de
fondo.

Tambin debe incluir uno o ms objetos en la pgina de fondo, que permitan al usuario navegar de una pgina a otra. Para
mayor informacin acerca de cmo aadir herramientas de navegacin de pginas, consulte el prrafo Aadir controles de
navegacin.
Nota: la pgina Opciones del asistente de creacin de formularios contiene una opcin que permite crear automticamente
un formulario multipginas si el nmero de campos no se ajustan en una pgina. Si se selecciona esta opcin, el formulario
puede tener ms de una pgina de visualizacin. Cuando el asistente de creacin de formularios crea varias pginas, pone
automticamente los botones, las variables, el ttulo del formulario y los objetos decorativos en la pgina 0.

Aadir una pgina de visualizacin a un formulario

Cada formulario tiene por lo menos una pgina de despliegue1 y una pgina de fondo. El nmero de la pgina actual
aparece en la barra de herramientas de la ventana del formulario. Esta rea tambin tiene un men desplegable que le
permite navegar por las diferentes pginas del formulario.

Para aadir una pgina:


1. Seleccione el comando Aadir pgina en el men Formulario. 4D crea una nueva pgina.
O
Vaya a la ltima pgina del formulario y haga clic en el icono Pgina siguiente en la barra de herramientas. 4D
muestra una caja de dilogo preguntando si desea aadir una pgina. Haga clic en el botn Aceptar para crear la
nueva pgina.
Una nueva pgina vaca aparece en la ventana del editor de formularios.
El rea de nmero de pgina le indica el nmero de la pgina que est visualizando. Ahora puede aadir campos y
otros elementos de formulario a la nueva pgina.
Para insertar una pgina antes de la pgina actual:
1. Seleccione el comando Insertar pgina en el men Formulario. 4D inserta una nueva pgina antes de la pgina
actual y la muestra en pantalla.

Pasar de una pgina a otra

Para ver la pgina de fondo o pasar a otra pgina, puede utilizar las herramientas de navegacin de la paleta de
herramientas o el men desplegable de la ventana del editor de formularios.
Para mostrar la pgina de fondo (pgina 0):
1. Vaya a la primera pgina del formulario y haga clic en el icono Pgina anterior en la barra de herramientas.
O
Utilice el men desplegable de navegacin para pasar a la pgina 0.
- 256 -
O
Seleccione 0 en el submen Ir a la pgina del men Formulario.
O
Presione Alt+clic (Windows) u Opcin+clic (Mac OS) en un objeto de la pgina 0, o fuera de cualquier objeto de la
pgina actual (el atajo Alt+clic u Opcin+clic en un objeto de la pgina actual crea o abre el mtodo del objeto).
4D muestra la pgina 0. La pgina 0 es la pgina de fondo. Los objetos de la pgina 0 aparecen en todas las pginas.
Puede poner todo tipo de objeto en la pgina de fondo.
Nota: No confunda la opcin Ir a la pgina > 0 con la opcin Mostrar > Pgina 0. Esta ltima muestra u oculta los elementos
de la pgina 0, estando en cualquier pgina. Para mayor informacin consulte Mostrar/Ocultar elementos en el editor de
formularios en la seccin El editor de formularios.
Para utilizar las herramientas de navegacin de pginas:
1. Para pasar a la pgina siguiente, haga clic en el icono Pgina siguiente en la barra de herramientas.
4D muestra la pgina siguiente o anterior a la pgina actual.
Si hace clic en el icono Pgina anterior cuando est en la primera pgina del formulario, aparece la pgina de fondo. Si hace
clic en el icono Pgina anterior estando en la pgina de fondo, no sucede nada. Si hace clic en Pgina siguiente estando en
la ltima pgina del formulario, 4D preguntar si quiere aadir otra pgina para el formulario.
Para mostrar cualquier pgina:
1. Haga clic en el rea de nmero de pgina y presione el botn del ratn para mostrar el men pop-up asociado.
O
Despliegue el submen Ir a la pgina> del men Formulario.
2. Seleccione el nmero de la pgina a mostrar.

Borrar una pgina

Puede borrar cualquier pgina de un formulario multipginas. Todos los campos y objetos en las pginas eliminadas
tambin se eliminarn. Las pginas restantes se renumeran. No puede eliminar la primera pgina o la pgina de fondo (0)
en un formulario que conste slo de estas dos pginas.
Para eliminar una pgina de un formulario:
1. Utilice las herramientas de navegacin de pginas o el men desplegable para mostrar la pgina a eliminar.
2. Seleccione la opcin Eliminar pgina del men Formularios.
Aparece una caja de dilogo de verificacin para confirmar si desea eliminar la pgina del formulario.
3. Haga clic en el botn Aceptar.
Se borran del formulario la pgina y los objetos que contenga.

Aadir controles de navegacin

Cuando crea un formulario multipginas, es necesario ofrecer a los usuarios un medio para pasar de una pgina a otra. 4D
le ofrece tres formas de aadir herramientas de navegacin:
Pestaas: las pestaas dan a los usuarios acceso aleatorio a pginas individuales. Ubique la pestaa en la pgina de
fondo del formulario y utilice sus propiedades para proporcionar controles de navegacin de pginas.
Botones automticos: puede aadir botones automticos al formulario, primera pgina, ltima pgina, pgina
siguiente y pgina anterior. Estos botones deben estar ubicados en la pgina de fondo.
Mtodos de objeto: adicionalmente, el lenguaje incluye el comando FORM GOTO PAGE. Puede utilizar este
comando en un mtodo de objeto para crear controles de navegacin personalizados. Por ejemplo, puede utilizar un
botn imagen o un men desplegable como interfaz de navegacin entre pginas.
Aadir botones de navegacin
Puede incluir los botones de navegacin al momento de crear el formulario utilizando la pgina Botones del asistente de
creacin de formularios. Una vez generado el formulario, bralo en el editor de formularios y aada las pginas que
considere necesarias. Si necesita aadir botones de navegacin de pginas despus de haber creado el formulario, puede
utilizar la herramienta de creacin de botones de la barra de objetos. Para mayor informacin, consulte la seccin Botones.
Utilizar pestaas
Una pestaa permite un acceso directo a una pgina. Es decir, los usuarios no estn obligados a pasar secuencialmente de
una pgina a otra. Una pestaa ofrece informacin sobre la pgina actual y las pginas restantes. Para mayor informacin
sobre la creacin y activacin de pestaas, consulte la seccin Pestaas.

- 257 -
Utilizar formularios heredados

4D permite utilizar formularios heredados. El principio de esta funcin consiste en poder utilizar objetos de un formulario A
en un formulario B: el formulario B hereda los objetos del formulario A.
Supongamos por ejemplo que todos los formularios de entrada de una base deban tener los botones Aceptar, Cancelar,
Siguiente y Anterior y un logo. Simplemente cree un formulario que contenga slo esos elementos y luego llmelo como un
formulario heredado en todos los formularios de entrada de la base. Cada formulario de entrada contiene slo los campos y
objetos especficos para su uso.
A diferencia de las plantillas definidas con el asistente de formularios (consulte el prrafo Crear una plantilla de
formulario), la referencia a un formulario heredado siempre permanece activa: si modifica uno de los elementos del
formulario heredado (el estilo o posicin de los botones, por ejemplo), todos los formularios que utilizan este elemento se
modificarn automticamente.
Los formularios heredados son compatibles con los formularios tabla y los formularios proyecto.

Funcionamiento

Durante el uso de la base, los objetos del formulario heredado se combinan dinmicamente con los objetos del formulario
abierto. Este mecanismo es muy similar a los mecanismos de la pgina 0 de los formularios, la diferencia es que un
formulario heredado puede aplicarse al conjunto de formularios de la base.
Cuando se ejecuta el formulario, los objetos se cargan y combinan en el siguiente orden:
1. Pgina cero del formulario heredado
2. Pgina 1 del formulario heredado
3. Pgina cero del formulario abierto
4. Pgina actual del formulario abierto.
Este orden determina el orden de entrada de objetos en el formulario.
Nota: slo las pginas 0 y 1 del formulario heredado pueden aparecer en otros formularios.
Las propiedades (nombre de la ventana, redimensionamiento, eventos, etc.) y el mtodo de un formulario heredado no se
tienen en cuenta cuando ste se utiliza como formulario heredado. Por otra parte, se llaman los mtodos de objetos que
contiene.

Definir un formulario heredado

Si quiere definir un formulario como heredado, debe utilizar el editor de formularios 4D.
Para definir un formulario heredado:
1. En el editor de formularios, abra el formulario donde desea utilizar el formulario heredado.
2. Despliegue la Lista de propiedades y haga clic por fuera de todos los objetos del formulario para visualizar las
propiedades del formulario.
La listas Tabla de formulario heredado y Nombre de formulario heredado estn disponibles. En estas listas
aparecen todas las tablas de la base y sus formularios.
3. Seleccione la tabla y luego el nombre del formulario a heredar. Para heredar de un formulario proyecto, seleccione
<Ninguno> en la lista "Tabla del formulario heredado".
Todos los formularios pueden designarse como formulario heredado. Sin embargo, los elementos del formulario deben ser
compatibles con la utilizacin de las diferentes tablas de la base.

- 258 -
Despus de seleccionar el formulario heredado, su contenido aparece en la ventana actual del editor de formularios.
Aparece slo como vista previa, no es posible seleccionar o modificar un objeto en este formulario. Para hacerlo, debe
abrirlo en su propia ventana.
Puede ocultar los objetos de un formulario heredado deseleccionando la opcin Formulario heredado en el submen Mostrar
del men Formulario o en el men contextual del editor.
Para no utilizar ms un formulario como formulario heredado, seleccione la opcin <Ninguno> en la Lista de propiedades.
Nota: es posible definir un formulario heredado en un formulario que se utilizar como formulario heredado de un tercer
formulario. La combinacin de los objetos se efecta de manera recursiva. 4D detecta bucles recursivos (por ejemplo, si el
formulario [tabla1]formulario1 est definido como formulario heredado de [tabla1]formulario1, en otras palabras, con el
mismo nombre) e interrumpe la cadena de formularios.

- 259 -
Modificar el orden de entrada de los datos

El orden de entrada de los datos es el orden en el cual los campos, subformularios y otros objetos activos se seleccionan a
medida que presiona la tecla Tab o Retorno de carro en un formulario de entrada. Es posible moverse por el formulario en
la direccin opuesta (orden de entrada inverso) presionando las teclas Mays+Tab o Mays+Retorno de carro.
El orden de entrada incluye cada rea editable en la cual puede entrar un valor. Los campos booleanos (que aparecen como
botones radio o casillas de seleccin), subformularios, combo boxes y reas que aceptan imgenes tambin se incluye en el
orden de entrada de datos.
Termmetros, reglas y dials tambin pueden utilizarse para introducir datos. Estos objetos, sin embargo, no se incluyen en el
orden de entrada de datos. Debe seleccionarlos haciendo clic en ellos.
Si no especifica el orden de entrada personalizado, 4D utiliza por defecto las capas de objetos para determinar el orden de
entrada en la direccin fondo hacia primer plano. El orden de entrada corresponde entonces al orden de creacin de los
objetos en el formulario.
En algunos formularios, es necesario definir un orden de entrada personalizado. Por ejemplo, en la siguiente imagen, se
aadieron campos relacionados con la direccin despus de la creacin del formulario.
El orden de entrada resultante por defecto es ilgico y obliga al usuario a introducir los datos de una forma incoherente:

En casos como este, un orden de entrada personalizado le permite introducir los datos en un orden ms lgico:

- 260 -
Ver y modificar el orden de entrada

Puede ver el orden de entrada actual utilizando las marcas Orden de entrada, o utilizando el modo Orden de entrada. Sin
embargo, slo puede modificar el orden de entrada utilizando el modo Orden de entrada.
Este prrafo describe la visualizacin y modificacin del orden de entrada del formulario en modo Orden de entrada. Para
mayor informacin sobre la visualizacin del orden de entrada utilizando las marcas, consulte la seccin Utilizar las marcas.
Para ver o modificar el orden de entrada:

1. Seleccione Orden de entrada de datos en el men Formulario o haga clic en el botn de la barra de
herramientas de la ventana.
El puntero toma la forma de un puntero de orden de entrada y 4D dibuja una lnea en el formulario indicando el orden en
que los objetos se seleccionarn durante la entrada de datos.
Visualizar y modificar el orden de entrada son las nicas acciones que puede realizar hasta que seleccione otra
herramienta en la Paleta de herramientas.
2. Para modificar el orden de entrada, ubique el puntero en un objeto en el formulario y manteniendo presionado el botn
del ratn, arrastre el puntero hacia el objeto siguiente en el orden de entrada.

- 261 -
4D ajusta el orden de entrada de datos en consecuencia.
3. Repita el paso 2 tantas veces como sea necesario hasta obtener el orden de entrada de datos que desea.
4. Cuando est satisfecho con el orden de entrada, haga clic en otra herramienta de la barra de herramientas o
seleccione el comando Orden de entrada de datos en el men Formulario.
4D vuelve al modo de funcionamiento normal del editor de formularios.
Nota: slo se muestra el orden de entrada de la pgina actual. Si el formulario contiene objetos editables en la pgina 0
provenientes de un formulario heredado, el orden de entrada por defecto es el siguiente: Objetos de la pgina 0 del
formulario heredado k Objetos de la pgina 1 del formulario heredado k Objetos de la pgina 0 del formulario abierto k
Objetos de la pgina actual del formulario abierto.

Definir el primer objeto en el orden de entrada de datos

Todos los objetos editables forman parte del orden de entrada. Para definir el primer objeto del orden de entrada de datos,
debe modificar su posicin dentro de los niveles del formulario. El modo Orden de entrada de datos debe estar desactivado.
Para definir el primer objeto del orden de entrada:
1. Seleccione el objeto a definir como primero del orden de entrada.
2. Seleccione Enviar al fondo del men Objeto.
O
Seleccione Enviar al fondo del submen Nivel del men contextual del objeto.
3. Seleccione Orden de entrada de datos del men Formulario o haga clic en el botn de la barra de
herramientas.
El objeto seleccionado pasa a ser el primero en el orden de entrada y el objeto que estaba de primero pasa a ser el
segundo. Ahora puede arrastrar el puntero de un objeto a otro segn el orden de entrada de datos que desea aplicar.
4. Una vez haya terminado, seleccione nuevamente Orden de entrada de datos en el men Formulario o haga clic en
otra herramienta de la barra de herramientas.
El editor de formularios vuelve a su funcionamiento normal.

Utilizar un grupo para la entrada de datos

Mientras modifica el orden de entrada, puede seleccionar un grupo de objetos del formulario de manera que el orden de
entrada se aplique a los objetos del grupo. Esto le facilita definir el orden de entrada de datos en formularios en los que los
campos estn organizados en grupos o columnas.
Para crear un grupo de entrada:

1. Seleccione Orden de entrada de datos en el men Formulario o haga clic en el botn de la barra de
- 262 -
herramientas.
2. Dibuje un cuadro de seleccin alrededor de los objetos a agrupar para la entrada de datos.
Al liberar el botn del ratn, los objetos encerrados o tocados por el rectngulo mantienen el orden de entrada de datos
estndar. El orden de entrada de datos para los dems objetos se ajusta como sea necesario.

Excluir un campo del orden de entrada de datos

Por defecto, todos los campos forman parte del orden de entrada. Si desea excluir un campo del orden de entrada,
conservando su propiedad Editable, basta con desmarcar la propiedad Tabulable para este campo. Para mayor
informacin, consulte el prrafo Atributo Tabulable Controles y ayuda a la entrada.

- 263 -
Insertar y organizar los objetos del formulario

Aadir objetos

Puede aadir objetos en un formulario de muchas maneras:


dibujando el objeto directamente en el formulario luego de seleccionar su tipo en la barra de objetos( ver el prrafo
Utilizar la barra de objetos)
por arrastrar y soltar el objeto desde la barra de objetos
Por arrastrar y soltar o copiar pegar desde la librera de objetos preconfigurados (ver Uso de la librera
preconfigurada o desde una librera personalizada (ver Crear y utilizar las libreras de objetos personalizadas),
Por arrastrar y soltar un objeto desde otro formulario,
Por arrastrar y soltar un objeto desde el Explorador (campos) o desde otros editores en el entorno Diseo (listas,
imgenes, etc.)
Una vez insertado el objeto se ubica en el formulario, puede modificar sus caractersticas utilizando el editor de formularios.
Puede trabajar con dos tipos de objetos en sus formularios:
Objetos estticos (lneas, cuadros, imgenes de fondo, etc.): estos objetos se utilizan generalmente para definir la
apariencia del formulario y sus etiquetas como tambin para la interfaz grfica. Estos objetos estn disponibles en la
barra de objetos del editor de formularios. Tambin puede definir sus atributos grficos (tamao, color, fuente, etc.) y
sus propiedades de redimensionamiento con la ayuda de la lista de propiedades. A diferencia de los objetos activos,
los objetos estticos no tienen variables asociadas como los objetos activos. Sin embargo, puede insertar objetos
dinmicos en objetos estticos (ver la seccin Utilizar las referencias en los textos estticos).
Objetos activos: estos objetos realizan tareas o funciones en la interfaz. Hay muchos tipos de objetos activos:
campos, botones, listas desplegables, etc. Cada objeto activo est asociado con un campo o variable. Los objetos
activos se describen en el captulo Trabajar con objetos activos.

Seleccionar los objetos

Antes de realizar una operacin sobre un objeto (como cambiar el ancho de una lnea o la fuente), debe seleccionar el objeto
que quiere modificar.
Para seleccionar un objeto utilizando la barra de herramientas:

1. Haga clic sobre el botn Flecha en la barra de herramientas.


Cuando mueva el puntero del ratn dentro el rea del formulario, el puntero toma la forma de flecha estndar.
2. Haga clic sobre el objeto que quiere seleccionar.
Los puntos de redimensionamiento identifican el objeto seleccionado.

Para seleccionar un objeto utilizando la Lista de propiedades:


1. Seleccione el nombre del objeto en la lista de seleccin ubicada en la parte superior de la Lista de propiedades.
Utilizando estos dos mtodos, puede seleccionar un objeto oculto tras otros objetos o ubicado fuera del rea visible de
la ventana actual.
Para deseleccionar un objeto, haga clic fuera del borde del objeto o haga clic en el objeto manteniendo la tecla Mays
presionada.
Nota: tambin es posible seleccionar objetos haciendo doble clic sobre ellos en la ventana de resultados de una bsqueda
en la base. Para mayor informacin, consulte la seccin Renombrar.
Si se encuentra con dificultades al tratar de seleccionar objetos creados por el asistente de formularios, pase a la pgina de
fondo haciendo clic en el botn seleccionando 0 en el men de pginas, e intntelo nuevamente. Tambin puede
presionar la tecla Alt (Windows) u Opcin (Mac OS) y hacer clic en un objeto en la pgina 0 para acceder directamente.
Tambin puede ocultar todos los objetos de la pgina de fondo deseleccionando la opcin Pgina 0 del submen Mostrar
del men Formulario (o del men contextual del editor).

Seleccionar varios objetos


Podra tener que realizar la misma operacin en varios objetos del formulario, por ejemplo, moverlos, alinearlos, o modificar
su apariencia. 4D le permite seleccionar varios objetos al tiempo. Hay varias formas de seleccionar varios objetos:
Elija Seleccionar todo del men Edicin para seleccionar todos los objetos.
- 264 -
Haga clic derecho en el objeto y seleccione el comando Seleccionar objetos similares en el men contextual.
Mantenga presionada la tecla Mays y haga clic en los objetos que quiera seleccionar.
Haga clic fuera del grupo de objetos que quiere seleccionar y haga un marco (rectngulo de seleccin) alrededor de
todos los objetos que quiera seleccionar. Todo objeto incluido en los lmites del rectngulo o que toque estos lmites se
selecciona cuando suelta el botn del ratn.
Manteniendo presionada la tecla Alt (Windows) u Opcin (Mac OS) y dibujo un rectngulo de seleccin. Se selecciona
todo objeto dentro del marco.
La siguiente imagen representa la seleccin de objetos con la ayuda de un rectngulo de seleccin:

Para deseleccionar un objeto que hace parte de un conjunto de objetos seleccionados, mantenga presionada la tecla Mays
y haga clic en el objeto. Los dems objetos permanecen seleccionados. Para deseleccionar todos los objetos
seleccionados, haga clic fuera de los lmites de todos los objetos.

Duplicar Objetos

Puede duplicar todo objeto del formulario, incluso los objetos activos. Las copias de objetos activos conservan todas las
propiedades del objeto original, incluyendo nombre, tipo, accin estndar, formato de salida y mtodo de objeto.
Puede duplicar directamente un objeto o utilizar la caja de dilogo Duplicar varios para duplicar un objeto ms de una vez,
igualmente en esta caja de dilogo puede definir la distancia entre los objetos duplicados.
Cuando duplica una variable, puede utilizar funciones especficas de duplicacin que le permiten incluir un nmero
automtico en los nombres de las copias. Para mayor informacin, consulte la seccin Duplicar en una matriz .
Para duplicar uno o ms objetos:
1. Seleccione el o los objetos a duplicar.
2. Seleccione Duplicar en el men Edicin
4D crea una copia de cada objeto seleccionado y ubica la copia en frente y al lado del objeto original.
3. Mueva la copia (o copias) a la posicin que desee.
Si elige nuevamente la opcin Duplicar, 4D crea otra copia de cada objeto y la ubica exactamente a la misma
distancia y en la misma direccin de la primera copia. Si necesita distribuir copias del objeto a lo largo de una lnea,
debe aplicar el siguiente procedimiento: duplique el objeto original, mueva la copia a otra ubicacin en el formulario y
luego duplique la copia. La segunda copia se ubica automticamente en la misma relacin de la primera copia con el
objeto original. Las copias posteriores tambin se ubican en la misma relacin que sus originales. La siguiente imagen
muestra el funcionamiento del posicionamiento relativo de las copias:

Duplicar varios
La caja de dilogo "Duplicar varios" aparece cuando selecciona uno o ms objetos y elige el comando Duplicar varios... en
el men Objeto.

- 265 -
En el rea superior, introduzca el nmero de columnas y lneas (filas) de objetos a obtener.
Por ejemplo, si quiere tres columnas y dos filas de objetos, escriba 3 en el rea Columna(s) y 2 en el rea Lnea(s). Si
quiere tres copias del objeto en la misma lnea, escriba 4 en el rea Columna(s) y deje 1 en el rea Lnea(s).
Para las lneas y columnas, defina el espacio entre cada copia.
El valor debe expresarse en puntos y se aplicar a cada copia, en relacin con el objeto original.
Por ejemplo, si quiere un intervalo vertical de 20 puntos y la altura del objeto fuente es de 50 puntos, escriba 70 en el
rea Intervalo para Columna(s).
Si quiere crear una matriz de variables, seleccione la opcin Numerar las variables y seleccione la direccin en que
desea numerarlas, por filas o por columnas.
Esta opcin est activa slo si el objeto seleccionado es un variable. Para mayor informacin sobre esta opcin,
consulte la seccin Duplicar en una matriz .

Mover objetos

Puede mover todo objeto de un formulario, grfico o activo, incluyendo campos y objetos creados con una plantilla. Para
mover un objeto, tiene las siguientes opciones:
Mover el objeto arrastrndolo,
Mover el objeto pxel por pxel utilizando las teclas de flechas,
Mover el objeto por pasos utilizando las teclas de flechas (de 20 pxeles por defecto),
Escribir manualmente las coordenadas del objeto en la Lista de propiedades de los objetos (este punto se describe en
Redimensionar objetos en el siguiente prrafo).
Cuando comienza a desplazar un objeto con la ayuda del ratn, sus marcas desaparecen. 4D muestra los marcadores que
indican la ubicacin de los lmites de los objetos en las reglas de manera que pueda ubicarlos con mayor exactitud donde
desea. Asegrese de no arrastrar una de estas marcas, porque redimensionara el objeto. Puede presionar la tecla Mays
para llevar a cabo el movimiento con una restriccin.
Cuando la rejilla magntica est activa, los objetos se mueven por etapas indicando las ubicaciones notables. Para mayor
informacin, consulte el prrafo Utilizar la alineacin magntica.
Para mover un objeto pxel por pxel:
1. Seleccione el objeto o grupo de objetos a mover.
2. Utilice las teclas de flecha para mover el objeto.
Cada vez que presiona una tecla de flecha, la seleccin se desplaza un pxel en la direccin de la flecha.
Para mover un objeto por pasos:
1. Seleccione el o los objetos a mover.
2. Presione la tecla Mays y utilice las teclas de flecha para mover el objeto.
Por defecto, los pasos son de 20 pxeles. Puede cambiar este valor en la Pgina Formularios de las Preferencias.

Agrupar objetos

4D le permite agrupar objetos de manera que pueda seleccionar, mover y modificar el grupo como si fuera un solo objeto.
Los objetos agrupados mantienen la posicin respecto a los dems.
Generalmente usted agrupara un campo con su etiqueta, un botn invisible con su icono, etc. Los grupos pueden ser parte
de otros grupos.
Cuando redimensiona un grupo, todos los objetos en el grupo se redimensionan proporcionalmente (excepto las reas de
texto, las cuales se redimensionan por pasos de acuerdo a sus tamaos de fuente).
Los grupos de objetos son necesarios para el funcionamiento coordinado de los botones de radio (ver Botones radio y
- 266 -
botones radio imagen). Tambin se utilizan para sincronizar las reas de desplazamiento agrupadas.
Puede desagrupar un grupo de objetos en cualquier momento, para tratarlos de nuevo como objetos independientes.
Un objeto activo agrupado debe desagruparse antes de acceder a sus propiedades o a su mtodo. Sin embargo, es posible
seleccionar un objeto que pertenece a un grupo sin tener que desagruparlo haciendo, Ctrl+clic (Windows) o Comando+clic
(Mac OS) sobre el objeto (el grupo debe haber sido seleccionado previamente).
La agrupacin slo afecta los objetos en el editor de formularios. Cuando el formulario se ejecuta, todos los objetos
agrupados (excepto los botones radio y las reas de desplazamiento) se comportan como si estuvieran desagrupados.
Nota: no es posible agrupar objetos pertenecientes a diferentes vistas. Slo puede agrupar objetos de la vista actual
(consulte el prrafo Utilizar las vistas de los objetos).
Para agrupar objetos:
1. Seleccione los objetos a agrupar.
2. Seleccione Agrupar en el men Objeto.
O
Haga clic en el botn Agrupar en la barra de herramientas del editor de formularios.
4D marca los lmites del grupo con puntos. Los objetos del grupo no tienen marcas de seleccin. Al modificar el grupo
de objetos, modifica todos los objetos del grupo.
Para desagrupar un objeto:
1. Seleccione el grupo de objetos a desagrupar.
2. Seleccione Desagrupar en el men Objeto.
O
Haga clic en el botn Desagrupar (variante del botn Agrupar), en la barra de herramientas del editor de formularios.
Si Desagrupar est desactivado, esto significa que el objeto seleccionado ya est separado en su forma ms simple.
4D marca los lmites de los objetos individuales con marcas de seleccin.

Alinear Objetos

Las herramientas de alineacin del editor de formularios, le ayudan a alinear los objetos con otros objetos o utilizando la
cuadrcula invisible del formulario.
Puede alinear objetos entre s, por el borde superior, inferior, izquierdo o derecho, o su eje central horizontal o vertical.
Puede alinear directamente una seleccin de objetos utilizando las herramientas de alineacin o puede aplicar
parmetros ms avanzados utilizando el asistente de alineacin. Este asistente le permite, por ejemplo, definir el
objeto a utilizar como referencia y previsualizar la alineacin en el formulario antes de aplicarla.
Cuando utilice la cuadrcula invisible, cada objeto puede alinearse manualmente con los otros basado en las lneas de
gua (lneas rojas punteadas) que aparecen al mover un objeto cerca a otros.

Utilizar las herramientas y los comandos de alineacin directa


Las herramientas de alineacin de la barra de herramientas (ver El editor de formularios) y el submen Alinear del men
Objeto le permiten alinear rpidamente los objetos seleccionados.

Cuando 4D alinea objetos, toma uno de los objetos como referente para alinear los dems objetos a l. El objeto referente
es el ms prximo al sentido de alineacin seleccionado. Por ejemplo, si quiere alinear un grupo de objetos a la derecha, el
objeto ubicado ms a la derecha se utilizar como referente para alinear los dems objetos.
La siguiente imagen muestra objetos sin alinear, "alineacin izquierda", "centrados horizontalmente", y "alineacin derecha":

- 267 -
Utilizar la caja de dilogo de alineacin y distribucin
La caja de dilogo de alineacin permite aplicar todo tipo de alineacin y/o distribucin de los objetos seleccionados.

Para mostrar esta caja de dilogo, seleccione los objetos a alinear y luego seleccione el comando Alineacin del submen
Alinear en el men Objeto o desde el men contextual del editor.
1. En las reas Alineacin izquierda/derecha y/o Alineacin arriba/abajo, haga clic sobre el icono de alineacin
correspondiente a la alineacin a aplicar.
El rea de ejemplo muestra los resultados de su seleccin.
2. Para realizar una alineacin utilizando el esquema estndar, haga clic en Vista preliminar o Aplicar.
En este caso 4D utiliza el objeto ms adelante en la direccin de alineacin como ancla y alnea los otros objetos a ese
objeto. Por ejemplo, si alinea un grupo de objetos a la derecha, los objetos se alinearn al lado derecho del objeto ms
a la derecha del grupo.
O:
Para alinear objetos a un objeto especfico, seleccione la opcin Alinear sobre y luego seleccione el nombre del
objeto referente en la lista de objetos. En este caso, la posicin del objeto referente no cambia.
Puede previsualizar los resultados de la alineacin haciendo clic en el botn Vista preliminar. Los objetos aparecen
alineados temporalmente en el editor de formularios, pero como la caja de dilogo Alineacin y Distribucin permanece en
el primer plano an puede cancelar o aplicar la alineacin.
Nota: esta caja de dilogo combina la alineacin de objetos y su distribucin en una operacin. Para mayor informacin
sobre cmo distribuir objetos, consulte el prrafo Distribuir objetos.

Utilizar la alineacin magntica


El editor de formularios le ofrece una cuadrcula magntica virtual que le ayuda a posicionar y alinear los objetos en un
formulario. La alineacin automtica de los objetos se basa en la posicin relativa
de los objetos entre s. Slo se puede utilizar cuando hay por lo menos dos objetos presentes en el formulario.
La alineacin automtica funciona as: cuando desplaza un objeto en el formulario, 4D indica las posibles ubicaciones para
este objeto, basado en alineaciones notables relativas a los otros objetos del formulario. Una alineacin notable se
establece cada vez que:
horizontalmente, los extremos o centros de dos objetos coinciden,
verticalmente, los extremos de dos objetos coinciden.
- 268 -
Cuando esto sucede, 4D coloca el objeto en la posicin sugerida y muestra una lnea roja indicando la alineacin notable
tenida en cuenta:

Respecto a la distribucin de objetos, 4D propone una distancia basada en estndares de interfaz. Al igual que en la
alineacin automtica, unas lneas rojas indican las distancias notables una vez se alcanzan.

Esta operacin aplica a todos los tipos de objetos de formulario. La alineacin automtica puede activarse o desactivarse
en cualquier momento utilizando el comando Alineacin automtica del men Formulario o del men contextual del editor.
Tambin se puede definir la activacin por defecto de esta caracterstica desde la Pgina Formularios de las Preferencias
de la aplicacin. Puede activar o desactivar temporalmente la alineacin automtica cuando selecciona un objeto,
presionando la tecla Ctrl (Windows) o Control (Mac OS).
Nota: la alineacin magntica tambin afecta el redimensionamiento manual de los objetos.

Distribuir objetos

Puede distribuir objetos de manera que haya igual espacio entre ellos. Puede hacerlo utilizando las herramientas de
distribucin de la Paleta de herramientas o el asistente de alineacin que adems de distribuirlos le permite alinearlos en la
misma operacin.
Nota: cuando la alineacin automtica est activa, se ofrece una gua visual para distribucin al mover un objeto
manualmente. Para mayor informacin, consulte la seccin anterior.
Para distribuir objetos con igual espacio entre ellos:
1. Seleccione tres o ms objetos y haga clic en la herramienta de distribucin deseada.
2. En la barra de herramientas, haga clic en la herramienta de distribucin que corresponda a la distribucin que quiera
aplicar.

O
Seleccione el comando del men de distribucin del submen Alinear en el men Objeto.
4D distribuye los objetos de acuerdo a su eleccin. Los objetos se distribuyen utilizando la distancia entre los centros y
la distancia mayor entre dos objetos consecutivos se utiliza como distancia de referencia.
Para distribuir objetos utilizando la caja de dilogo Alinear y distribuir:
1. Seleccione los objetos a distribuir.
2. Elija el comando Alineacin del submen Alinear en el men Objeto o desde el men contextual del editor.
Aparece la siguiente caja de dilogo:

3. En las reas Alineacin izquierda/derecha y/o Alineacin arriba/abajo, haga clic en el icono de distribucin estndar.
(icono de reparticin horizontal estndar)
El rea de ejemplo muestra el resultado de su seleccin.
4. Para realizar una distribucin utilizando el esquema estndar, haga clic en el botn Vista preliminar o Aplicar.
En este caso, 4D realiza una distribucin estndar, como se describi anteriormente en esta seccin.
O:
- 269 -
Para hacer una distribucin especfica, seleccione la opcin Distribuir (por ejemplo si quiere distribuir los objetos
basado en la distancia al lado derecho). Esta opcin acta como un interruptor. Si est seleccionada, cambia la
funcin de los iconos ubicados bajo ella:

Horizontalmente, los iconos corresponden a las siguientes distribuciones: equidistante a los bordes izquierdos,
centros (hor.) o bordes derechos de los objetos seleccionados.
Verticalmente, los iconos corresponden a las siguientes distribuciones: equidistante a los bordes superiores,
centros (vert.) y bordes inferiores de los objetos seleccionados.
Puede previsualizar el resultado de sus parmetros haciendo clic en el botn Vista preliminar: la caja de dilogo
Alinear y distribuir queda en primer plano y el editor de formularios muestra los objetos alineados y/o distribuidos.
Luego puede Cancelar o Aplicar los cambios.
Nota: esta caja de dilogo permite combinar la alineacin y distribucin de objetos. Para mayor informacin sobre la
alineacin de objetos, consulte el prrafo Alinear Objetos.

Superponer objetos

Puede que en algn momento necesite reorganizar objetos que le impiden ver otros objetos en el formulario. Por ejemplo,
puede tener un grfico que quiere que aparezca detrs de los campos en un formulario. 4D le da las siguientes opciones
para superponer los objetos en el formulario, Enviar al fondo, Traer al frente, Traer adelante y Enviar atrs. Estos
planes determinan el orden de entrada por defecto (ver la seccin Modificar el orden de entrada de los datos. La
siguiente imagen muestra objetos delante y detrs de otros objetos:

Para mover un objeto a otro nivel, seleccinelo y elija:


uno de los comandos Enviar al fondo, Traer al frente, Traer adelante y Enviar atrs en el men Objeto,
uno de los comandos del submen Nivel> del men contextual del editor,
uno de los comandos asociados al botn de gestin de los planos de la barra de herramientas.

Nota: cuando varios objetos son superpuestos, utilice el atajo Ctrl+clic/Comando+clic para seleccionar uno a uno cada
objeto, descendiendo un nivel hacia el fondo con cada clic.
Para ordenar los diferentes planos, 4D siempre va del fondo al primer plano. Por lo tanto, el plano anterior mueve la
seleccin de objetos de un plano al ltimo plano del formulario. El siguiente plano mueve la seleccin a un nivel haca atrs
del formulario.

Definir un modelo de objeto

El comando Guardar como modelo, disponible en el men contextual del editor cuando se hace clic sobre un objeto,
guarda el objeto como
modelo. Este modelo y sus propiedades se utilizarn para la creacin de objetos del mismo tipo.
En el siguiente ejemplo, el comando se aplica a un objeto de tipo Texto. Todos los objetos de tipo Texto creados despus
utilizarn por defecto las propiedades definidas para este objeto:

- 270 -
Puede utilizar un modelo personalizado para cada tipo de objeto. Hay un solo modelo personalizado por tipo objeto para
toda la base.
El modelo guarda todas las propiedades del objeto definidas cuando se ejecuta el comando, excepto las coordenadas
absolutas y el mtodo del objeto (si aplica).

Borrar plantillas de objetos


Para modificar o reemplazar una plantilla de objeto, debe crear una nueva para el tipo de objeto en cuestin.

Tambin puede eliminar todos los modelos de objeto (y regresar a los modelos estndar) utilizando el comando Borrar
todos los modelos personalizados en el men Objeto del Editor de formularios. Cuando selecciona este comando
aparece una caja de dilogo de confirmacin. Si valida esta caja de dilogo, todos los modelos de objetos se reinicializan
en sus valores por defecto.

- 271 -
Definir las propiedades de visualizacin de los objetos

Todos los objetos en un formulario tienen propiedades para definir su apariencia, su visualizacin y su redimensionamiento
en modo Aplicacin. Estas propiedades estn disponibles utilizando la Lista de propiedades (ver la seccin El editor de
formularios).
Las propiedades especficas de los objetos dinmicos se cubren en los siguientes captulos: Trabajar con objetos activos,
List boxes y Subformularios y widgets.

Tamao de los objetos

Para definir el tamao de un objeto en el editor de formularios, puede:


Mover una de sus marcas de seleccin.
Redimensionar el objeto pxel por pxel utilizando la tecla Ctrl (Windows) o Comando (Mac OS) y las teclas de flechas.
Redimensionar el objeto por pasos (por defecto, 20 pxeles a la vez).
Introducir manualmente las nuevas dimensiones del objeto en la Lista de propiedades.
El redimensionamiento de un objeto va sus marcas de seleccin se efecta de manera estndar. Si presiona la tecla Mays
y arrastra la marca, el movimiento es restringido. Las lneas slo pueden ser verticales, horizontales o a 45, los rectngulos
cuadrados y los valos circulares. Si la alineacin magntica est activa, el redimensionamiento
manual se efectuar en incrementos de 5 pxeles. Para mayor informacin, consulte el prrafo Utilizar la alineacin
magntica.

Para redimensionar un objeto pxel por pxel, seleccione el objeto y mantenga presionada la tecla Ctrl (Windows) o
Comando (Mac OS) y use las teclas de flecha para redimensionar el objeto. Las teclas Arriba o Abajo redimensionan la
altura del objeto, mientras las teclas Izquierda o Derecha redimensionan el ancho del objeto. Al mantener presionada la tecla
Mays al mismo tiempo se efecta el redimensionamiento por pasos (por defecto, los pasos son de 20 pxeles). Puede
cambiar este valor en la Pgina Formularios de las Preferencias.
Para mover o redimensionar un objeto introduciendo manualmente sus coordenadas, seleccinelo y luego despliegue el
tema Coordenadas y dimensiones en la Lista de propiedades. Las coordenadas del objeto se expresan en pxeles,
centmetros, o pulgadas (dependiendo de la regla). El origen de las coordenadas (0,0) se ubica en la parte superior
izquierda del formulario. Introduzca los nuevos valores en las reas de entrada de las coordenadas.

4D mueve los bordes del objeto de acuerdo a los valores introducidos. Segn estos valores, puede que el objeto se mueva,
redimensione o las dos cosas.
Nota: en un contexto multiplataforma, la aplicacin de hojas de estilo puede hacer que la altura del objeto varie ya que su
altura se ajusta automticamente de manera que sea un mltiplo de la altura de la fuente definida para la plataforma actual.
Para mayor informacin sobre las hojas de estilo, consulte el captulo Hojas de estilo.

Tamao automtico
Puede redimensionar las reas de texto esttico y las imgenes para obtener una visualizacin ptima teniendo en cuenta
- 272 -
sus caractersticas grficas actuales (tamao de fuente, estilo, etc.):
1. Haga clic derecho en el objeto y elija el comando Tamao automtico en el men contextual.
O
Presione la tecla Ctrl (bajo Windows) o Comando (bajo Mac OS) y haga clic en la esquina inferior derecha del objeto.
Este comando produce los siguientes efectos:
Las reas de texto esttico, casillas de seleccin, botones de opcin y los botones se redimensionan de manera que
su contenido corresponda exactamente a sus limites.
Los campos y variables se redimensionan de manera que su altura corresponda al tamao de la fuente y su ancho sea
100 puntos, si el tamao del objeto es mayor que este tamao mnimo, el comando no tiene efecto.
Imgenes y botones imagen se visualizarn utilizando el tamao original de la imagen fuente.
Las reas de desplazamiento y las listas jerrquicas se visualizan a una altura de acuerdo con el tamao de la fuente
actual.
Los combo boxes, mens/listas desplegables y mens desplegables jerrquicos, se visualizan con su altura mnima por
defecto si la altura actual es insuficiente.

Radio de la esquina (rectngulos)

La propiedad Radio de la esquina se encuentra en el tema "Coordenadas y dimensiones" de la Lista de propiedades para
los objetos de tipo Rectngulo redondeado:

Por defecto, el valor del radio de rectngulos redondeados es de 5 pxeles. Puede cambiar esta propiedad para dibujar
rectngulos redondeados con formas personalizadas:

El valor mnimo es 0, en este caso se dibuja un rectngulo redondeado no estndar.


El valor mximo depende del tamao de rectngulo (que no puede exceder la mitad del tamao del lado ms corto del
rectngulo) y se calcula dinmicamente.
Tambin puede definir esta propiedad utilizando los comandos OBJECT Get corner radius y OBJECT SET CORNER
RADIUS.

Redimensionamiento

En modo Aplicacin, cuando un usuario redimensiona la ventana de un formulario, los objetos que contiene pueden
redimensionarse o desplazarse.
La redimensin automtica se lleva a cabo cuando un usuario redimensiona una ventana de un formulario. La redimensin
automtica hace que un objeto se agrande al agrandar el formulario, o se reduzca al reducir el tamao de la ventana. Por
ejemplo, si utiliza un rectngulo que contiene los campos en un formulario de entrada, la redimensin automtica hace que el
- 273 -
rectngulo crezca haca los bordes de la ventana cuando el usuario aumente el tamao de la ventana.
Tambin puede activar el reposicionamiento automtico. El reposicionamiento automtico mueve un objeto horizontal o
verticalmente a medida que el formulario es redimensionado. Cuando el reposicionamiento automtico est activo, 4D
intenta mantener el objeto a la vista cuando el usuario reduce el tamao de la ventana. Por ejemplo, si el usuario
redimensiona una fila de botones de manera que algunos botones queden ocultos, la reposicin automtica trata de mover
los botones vertical u horizontalmente, para que permanezcan a la vista.
El redimensionamiento y el desplazamiento automtico se definen en las propiedades de los objetos. Hay dos lneas,
Dimensionamiento horizontal y Dimensionamiento vertical, para las cuales puede asignar tres propiedades (Ninguno,
Agrandar y Mover).
Opcin Resultado
Dimensionamiento Cuando el usuario redimensiona el ancho de la ventana, 4D aplica el mismo porcentaje al
horizontal: Agrandar ancho del objeto.
Dimensionamiento Cuando el usuario redimensiona el ancho de la ventana, 4D mueve el objeto hacia la
horizontal: Mover derecha o izquierda en la misma cantidad.
Dimensionamiento vertical: Cuando el usuario redimensiona la altura de la ventana, 4D aplica el mismo porcentaje a la
Agrandar altura del objeto.
Dimensionamiento vertical: Cuando el usuario redimensiona la altura de la ventana, 4D mueve el objeto hacia arriba o
Mover hacia abajo en la misma cantidad.
Las opciones de reposicionamiento permiten a los objetos moverse en la direccin especificada para permanecer visibles.
Cuando se utiliza la opcin Ninguno, el objeto permanece quieto al redimensionar el formulario.

Desplazadores laterales
En 4D, el extremo inferior derecho de las ventanas se puede utilizar para definir los lmites por defecto. Esto significa que los
objetos que se encuentran a la derecha o abajo de los lmites de la ventana en la pantalla, son automticamente desplazados
hacia la derecha o hacia abajo cuando se aumenta el tamao de la ventana:

Nota: este principio no funciona con ventanas que tienen barras de desplazamiento.

Invisible por defecto

Puede asociar la propiedad Invisible por defecto a la mayora de los objetos de formulario.
Esta propiedad simplifica el desarrollo de interfaces dinmicas. En este contexto, con frecuencia es necesario ocultar
objetos por programacin durante el evento On load del formulario para luego mostrar unos cuantos de ellos.
La propiedad Invisible por defecto permite invertir esta lgica, haciendo invisibles por defecto ciertos objetos. El
desarrollador puede luego programar su despliegue con el comando OBJECT SET VISIBLE de acuerdo al contexto. Para
mayor informacin sobre este comando, consulte el manual de Lenguaje 4D.
Nota: no confunda esta propiedad con la propiedad Invisible de los mens desplegables, que permite no dibujar el objeto
mientras lo deja activo.

Plataforma

Puede definir la interfaz de la plataforma para cada objeto por separado, para hacerlo tiene las siguientes opciones:
Heredada del formulario: la interfaz de la plataforma del objeto es la misma del formulario. La interfaz de la
plataforma del formulario se define en las Propiedades de los formularios.
Sistema: sin importar la plataforma definida a nivel del formulario, el objeto se dibuja en funcin de la plataforma de
ejecucin de la aplicacin.
Impresin: sin importar la plataforma definida a nivel del formulario, el objeto se dibuja de manera que sea apropiado
- 274 -
para impresin.
Nota: si la base fue convertida de una versin anterior de 4D, las propiedades adicionales de plataforma estn disponibles.
Para mayor informacin sobre las propiedades de plataforma, consulte la seccin Propiedades de los formularios.

Fondo y borde

Las propiedades de fondo y borde permiten modificar las lneas de bordes y la apariencia grfica de los objetos.
Transparente
El atributo Transparente est disponible en el tema "Fondo y borde" para los objetos que pueden ser opacos o
transparentes: campos, variables, list boxes, botones, imgenes o textos estticos, etc. Puede cambiar el fondo del objeto a
transparente de manera que tome el color o patrn del fondo del formulario.
Los siguientes ejemplos muestran una imagen esttica sin y con el atributo Transparente:

Estilo del borde


Puede definir el estilo de borde para la mayora de los objetos utilizando el tema "Fondo y borde" de la Lista de propiedades
o el submen Estilo del borde del men contextual. Tiene las siguientes opciones disponibles:
Transparente: los objetos aparecen sin borde.
Plano: los objetos aparecen bordeados por una lnea continua de 1 punto.
Punteado: los objetos aparecen bordeados por una lnea punteada de 1 punto.
Elevado: los objetos aparecen bordeados con un efecto 3D elevado
Profundo: los objetos aparecen bordeados con un efecto 3D profundo.
Doble: los objetos aparecen bordeados con una lnea doble, es decir, dos lneas continuas de 1 punto, separadas por 1
pxel.
Nota: las otras propiedades del tema se actualizan de acuerdo al tipo de trazo definido. Por ejemplo, cuando selecciona
"Punteado", la propiedad Tipo de punteado queda disponible en la Lista de propiedades.
El siguiente ejemplo compara estos estilos en Windows:

Para mayor informacin sobre los efectos de estas opciones en los diferentes objetos de formularios, consulte la seccin
Botones y la seccin Casillas de seleccin.
Colores de fondo y de trazo
4D permite aplicar colores a los objetos para mostrarlos en pantalla o imprimirlos.
Puede definir diferentes colores para el fondo y el borde de los objetos, utilizando el comando Color del men contextual del
editor o directamente en la Lista de propiedades.

- 275 -
Nota: en la Lista de propiedades, el color de fondo se llama Color del fondo y el color de borde se llama Color de la lnea.
En el men contextual, el color de fondo corresponde al color del borde (lnea).
Para el color de fondo, la lista de propiedades ofrece dos opciones estndar:
Automtica: el objeto se muestra con los colores automticos definidos en el sistema operativo.
Ninguna: el fondo del objeto ser transparente.
La Lista de propiedades ofrece la opcin Otra, que le permite utilizar la paleta de colores del sistema para definir un color
personalizado.

Tipo de punteado
Esta propiedad est disponible cuando selecciona "Punteado" como Estilo de borde. Permite elegir un formato de lneas
punteadas:

Grosor
4D le permite especificar diferentes anchos para las lneas y los objetos que las utilicen tales como valos, cuadrculas y
rectngulos.
Puede especificar el ancho de lnea utilizando la propiedad Grosor de la Lista de propiedades:

- 276 -
Elija uno de los anchos de lnea. La primera opcin de este men es Lnea fina, es decir, la lnea ms delgada que puede
imprimir una impresora, seguida por las lneas de 1, 2, 3 4 puntos. Si elije Otros, 4D muestra una caja de dilogo en la cual
puede especificar hasta de 20 puntos.

Atributos de texto

Es posible definir los atributos de fuente y estilo de los objetos de tipo texto por medio de las propiedades de objeto que se
encuentran en el tema "Texto" de la Lista de propiedades.
Puede definir los siguientes atributos:
Hoja de estilo: permite asociar una hoja de estilo al objeto. Para mayor informacin sobre hojas de estilos, consulte el
captulo Hojas de estilo.
Fuente: nombre de la fuente utilizada en el objeto.
Estilo: estilo utilizado en el objeto (negrita, itlica, subrayado).
Tamao de fuente: tamao de la fuente en puntos.
Color de la fuente: color de fuente utilizado en el objeto. En el men contextual, el color de fuente equivale al color del
primer plano
Array de estilos/Array colores de fuente: nombre de los arrays de gestin de estilos y de colores (slo disponible en
los list box de tipo array).
Alineacin horizontal: ubicacin horizontal del texto en el rea que lo contiene
Alineacin vertical:ubicacin vertical del texto en el rea que lo contiene (disponible nicamente para los list box)
Orientacin: modifica la orientacin (rotacin) del rea de texto. Para obtener ms informacin, consulte Rotacin de
texto.
Multiestilo: permite autorizar la utilizacin de estilos personalizados en las reas de texto dinmicas (campos o
variables) en modo Aplicacin. Para mayor informacin sobre este punto, consulte la seccin Multiestilo (rea de
texto enriquecido).
Autorizar selector fuente / color: permite aceptar la modificacin de la fuente o del color del objeto por el usuario
para la sesin actual, cuando el selector sistema correspondiente se llama utilizando el comando OPEN FONT
PICKER o OPEN COLOR PICKER. Esta opcin controla el campo de accin de los comandos de selector sistema
(font picker y color picker). Est disponible para los objetos de formulario de tipo campo, variable y combo box. Por
defecto, est desactivada para todos los objetos de los0 formularios. Debe seleccionarla explcitamente para cada
objeto donde desee que los atributos de fuente y/o color puedan modificarse utilizando la ventana selector sistema.

Nota de compatibilidad concerniente a la renderizacin de textos (OS X)


Hemos actualizado y unificado los frameworks utilizados para la renderizacin de texto en 4D v13 en OS X, de conformidad
con las recomendaciones de Apple (abandono de los frameworks obsoletos QD/MLTE y generalizacin del uso de
CoreText).

A pesar de nuestros esfuerzos para limitar su impacto, la utilizacin del nuevo framework CoreText puede causar ligeras
variaciones en la renderizacin de las reas de texto de las aplicaciones convertidas a 4D v13 en OS X, especialmente a
nivel del interlineado. Estas variaciones pueden hacer que sea necesario cambiar el tamao de ciertos objetos de
formularios durante la conversin de bases v12.

- 277 -
Rotacin de texto

4D le permite rotar las reas de texto en sus formularios:

La funcionalidad de rotacin de texto est disponible ya sea en el editor de formularios (propiedad permanente) o va el
comando OBJECT SET TEXT ORIENTATION (propiedad definida para el proceso actual).

Objetos que se pueden rotar

La posibilidad de efectuar rotaciones concierne a las reas de texto no editables de los formularios, es decir:

textos estticos
variables y campos textuales no editables - "textual" se refiere a los objetos cuyos contenidos son basados en texto,
incluyendo objetos de tipo cadena, as como fecha, hora o nmero, lneas mltiples o multi estilo.
Los otros tipos de objetos de formulario (botones, reas de entrada, listas, botones radio, etc.) no se pueden rotar.

Definir la rotacin

La nueva propiedad "Orientacin" est disponible, para los objetos que soportar la rotacin, en el rea "Texto" de la Lista de
propiedades. La orientacin de las reas de texto de efecta en incrementos de 90:

Cada opcin de orientacin se aplica mientras conservando el punto de origen inferior izquierdo del objeto:

0 (por defecto):

- 278 -
90 Derecha:

180:

90 Izquierda:

Rotacin va el editor de formularios o el comando del lenguaje


Cuando se aplica una rotacin en el editor de formularios, el objeto que contiene el texto se somete a la misma rotacin que
el texto hace.
El principio no es el mismo cuando la rotacin de texto es realizada por el nuevo comando OBJECT SET TEXT
ORIENTATION: cuando se ejecuta este comando, slo se modifica el texto, mientras que el objeto que contiene el texto no
rota. Por ejemplo, la aplicacin de una rotacin de 90 Izquierda al texto "Chicago" en el editor de formularios o va el
comando OBJECT SET TEXT ORIENTATION, tendr diferentes resultados cuando se ejecuta el formulario:
90 Izquierda (Lista de propiedas) 90 Izquierda (lenguaje)

Para obtener ms informacin, consulte la descripcin del comando OBJECT SET TEXT ORIENTATION.

Rotacin de campos y variables

Slo los objetos texto no editables y no enfocables se pueden girar.

Cuando se elige una opcin del men "Orientacin" (que no sea 0) para un objeto de tipo variable o campo, las
propiedades Editable y Enfocable se desactivan de forma automtica para el objeto (si aplica):

- 279 -
Este objeto se excluye entonces del orden de entrada y su fondo se vuelve transparente por defecto.
Por el contrario, si selecciona la propiedad Editable o Enfocable para un objeto orientado, la propiedad de orientacin se
reinicializa automticamente en 0.

Captulo 3 Formularios y objetos 78 Actualizacin 4D v14 Por el contrario, si sele cciona la


propiedad Editab le o Enfocable para un objeto orientado, la propiedad de orientacin se
reinicializa automticamente en 0. Modificar un objeto con rotacin

Una vez se hace girar el texto, puede cambiar su tamao o su posicin usando punteros de seleccin o utilizando comandos
del lenguaje tales como OBJECT SET COORDINATES, as como todas sus propiedades.

Tenga en cuenta que las propiedades de ancho y altura del rea de texto no dependen de su orientacin:

Si el objeto cambia el tamao en la direccin A, su ancho se modifica;


Si el objeto cambia el tamao en la direccin C, su altura se modifica;
Si el objeto cambia de tamao en la direccin B, tanto su ancho como su altura se modifican.
Tambin se puede modificar el contenido de un rea en el editor de formularios. Antes de pasar al modo edicin, el texto
vuelve a la orientacin por defecto:

- 280 -
- 281 -
Utilizar imgenes estticas

Puede utilizar dos tipos de imgenes estticas en sus formularios: imgenes independientes guardadas directamente en los
formularios o imgenes referenciadas guardadas al exterior de los formularios. Por razones de optimizacin, utilizar
imgenes insertadas por referencia se recomienda por lo general cuando las imgenes se utilizan en varios lugares ya que
la imagen slo se guarda una vez. Adems, hay un enlace entre la imagen y cada una de sus referencias, de manera que si
modifica la imagen fuente, todas sus ocurrencias se modificarn automticamente, en toda la base.
En 4D, las imgenes insertadas por referencia tienen el tipo Imagen de la librera y las imgenes independientes tienen el
tipo Imagen esttica (visible en el campo Tipo de la Lista de propiedades). Para insertar imgenes por referencia, debe
utilizar la librera de imgenes o arrastrar y soltar una imagen almacenada en la carpeta Resources de la base.
Si ubica una imagen en la pgina 0 de un formulario multipginas, la imagen aparecer automticamente como fondo en
todas las pginas. Tambin puede incluirla en un formulario heredado, como fondo para otros formularios. De las dos formas
su base se ejecutar mucho ms rpido que si pega la imagen en cada pgina.
Puede asignar propiedades a imgenes estticas insertadas en los formularios. Por ejemplo, la propiedad de visualizacin
Duplicado permite definir una imagen pequea como imagen de fondo del formulario: la imagen se duplica tantas veces
como sea necesario para llenar la pgina formulario.

Insertar imgenes estticas

Hay tres formas de insertar imgenes estticas en sus formularios: pegando una imagen desde el portapapeles, arrastrando
y soltando un archivo de imagen o arrastrando y soltando una imagen de la librera de imgenes.
Insertar por copiar y pegar o arrastrar y soltar
Para pegar o soltar una imagen esttica en un formulario:
1. Copie una imagen en el portapapeles y pguela en el formulario.
O
Seleccione una imagen en una aplicacin externa (archivo imagen en una ventana sistema, navegador web, otra
aplicacin, etc.) e insrtela en el formulario por arrastrar y soltar.

- 282 -
La imagen original debe guardarse en un formato administrado nativamente por 4D (4D reconoce los principales
formatos de imgenes: JPEG, PNG, BMP, SVG, GIF, etc.). Se pega automticamente en el rea objetivo en su
formato nativo.
Notas:
Este principio tambin funciona con la librera de imgenes, las imgenes asociadas a los objetos (por ejemplo
la imagen de un botn 3D) y los campos o variables en modo Aplicacin.
Puede insertar una referencia de imagen arrastrando y soltando un archivo guardado en la carpeta Resources
de la base (ver Referenciacin automtica de los archivos imgenes a continuacin).
2. Reposicione la imagen y defina sus propiedades segn sus necesidades.

Insertar va la librera de imgenes


Para mayor informacin sobre el funcionamiento de la librera de imgenes, consulte el captulo Librera de imgenes.
Para insertar en un formulario una imagen de la librera de imgenes:
1. Abra la Librera de imgenes en la Caja de herramientas y haga clic en el nombre de la imagen que desea.
2. Arrastre la imagen de la librera de imgenes al formulario.
Si la imagen est definida como tabla de miniaturas, aparecer automticamente insertada como un botn
imagen (o como men imagen desplegable si presiona la tecla Mays mientras arrastra la imagen). Si desea
insertarla como imagen esttica o imagen de la librera de imgenes, presione la tecla Alt (Windows) o la tecla
Opcin (Mac OS) mientras arrastra la imagen.
Por defecto, la imagen insertada ser del tipo Imagen de la librera, es decir, 4D conservar el enlace con la
imagen original de la librera. Si desea romper este enlace, debe modificar el tipo de la imagen Imagen esttica
en la Lista de propiedades (ver el siguiente prrafo). Las propiedades de imgenes estticas y de las imgenes
de la librera son generalmente idnticas.
3. Reubique la imagen en la posicin que desee y defina sus propiedades.
La imagen tiene un conjunto de propiedades de objeto, como cualquier otro objeto de formulario. Puede modificar estas
propiedades.

Desasociar una imagen de su fuente en la librera

Cuando inserta una imagen de la librera de imgenes, en realidad inserta una referencia a una imagen. La Lista de
propiedades indica su tipo (en Objetos) como Imagen de la librera. Si la imagen se modifica en la librera de imgenes,
cada instancia se modificar. Usted podra necesitar desasociar una imagen insertada en un formulario de su fuente en la
- 283 -
librera.
Para desasociar una imagen de su fuente en la librera de imgenes:
1. Muestre las propiedades de la imagen en la Lista de propiedades.
2. En el tema Objetos, haga clic en la lnea Tipo.
Estn disponibles dos tipos: Imagen de la librera (valor por defecto) e Imagen esttica.
3. Seleccione Imagen esttica.
La imagen se tratar en adelante, como si hubiese sido pegada desde el portapapeles o soltada de un archivo.

Referenciacin automtica de los archivos imgenes

Puede utilizar la carpeta Resources para guardar las imgenes estticas utilizadas en sus formularios y manipularlas por
referencia. La visualizacin de estas imgenes se optimiza y se facilita su manejo.
Nota: para mayor informacin sobre el funcionamiento de la carpeta Resources, consulte la seccin Descripcin de los
archivos de 4D.
Particularmente, puede llamar imgenes .png (bitmap) o .svg (vectoriales). La insercin de estas imgenes en los
formularios puede efectuarse por arrastrar y soltar desde la carpeta Resources:

Si suelta la imagen en un objeto dinmico (botn imagen, botn 3D, men pop-up imagen, etc.), 4D define
automticamente la fuente de imagen "File" e inserta la referencia de la imagen en el formulario de esta
forma:{rutadeacceso+}nomarchivo.

- 284 -
Si suelta la imagen en un rea vaca del formulario, una imagen de la librera se crea y se referencia de esta forma:
file:{rutadeacceso+}nomarchivo.

Es posible ubicar las imgenes en subcarpetas de la carpeta Resources. En particular, puede utilizar el mecanismo de la
carpeta lproj para las imgenes en diferentes idiomas (para mayor informacin sobre este mecanismo, consulte el Anexo
C: Arquitectura XLIFF).

Definir el modo de presentacin de una imagen esttica

Puede definir el modo de visualizacin de una imagen esttica o de una imagen de la librera ubicada en un formulario. El
modo de visualizacin determina la manera como la imagen debe dibujarse en caso de redimensionamiento del rea que la
contiene.
Para definir el modo de visualizacin de una imagen, seleccione la imagen y luego, en el tema "Imagen", seleccione una
opcin del men Mostrar:
Escalado (modo por defecto): cuando el objeto imagen se agranda o reduce, la imagen se redimensiona de manera
que la imagen permanezca completamente visible.
Truncado: cuando el objeto imagen se agranda o reduce, la imagen mantiene sus proporciones y slo cambian sus
lmites. La imagen permanece en el centro del objeto imagen. Si reduce el tamao del objeto imagen a un tamao
menor que la imagen, esta se trunca.
Duplicado: cuando se aumenta el tamao del objeto imagen, la imagen es duplicada tantas veces como sea
necesario para llenar la nueva rea. Esta opcin se recomienda especialmente para crear fondos que no requieran
demasiada memoria.
Si reduce el tamao del objeto a un tamao menor que el de la imagen, la imagen se trunca (no centrada).

Efecto espejo (Windows)


- 285 -
La opcin Efecto espejo (Windows) est disponible en el tema Imagen de la Lista de Propiedades para las imgenes
mostradas en los formularios.
Esta opcin se puede utilizar en aplicaciones configuradas en idiomas "derecha a izquierda que tienen una versin inversa
de la interfaz (para mayor informacin sobre el modo derecha a izquierda, consulte ).
Por defecto, el modo derecha a izquierda no invierte el contenido de las imgenes en los formularios. Sin embargo, algunas
veces podra ser necesario invertir algunas imgenes. Este es el caso, por ejemplo, con imgenes utilizadas en la interfaz,
tales como flechas, que estn vinculadas con la posicin de los objetos. Cuando la opcin Efecto espejo (Windows) est
marcada, se aplica una inversin de izquierda a derecha (efecto espejo) a la imagen:

Esta opcin est disponible para imgenes estticas y las imgenes de librera, como tambin para objetos activos
utilizando imgenes (ver Efecto espejo (Windows)).
Esta opcin slo se tiene en cuenta:
en modo Aplicacin,
bajo Windows,
cuando el modo derecha a izquierda est activo para el formulario.

- 286 -
Utilizar las referencias en los textos estticos

Puede utilizar los valores actuales de campos y variables, as como tambin los nombres de tablas y campos en sus
etiquetas estticas con el fin de crear interfaces dinmicas.
Puede insertar estas etiquetas dinmicas en los siguientes tipos de texto esttico:
reas de texto esttico (objeto Texto o rea de grupo),
Nombres de ventanas de formularios,
Mensajes de ayuda (ver la seccin Controles y ayuda a la entrada).
Nota: las referencias dinmicas basadas en la arquitectura XLIFF (XML), especialmente adaptadas para la traduccin de
interfaces, tambin se puede utilizar en estas etiquetas, as como tambin en las etiquetas de mens y de botones. Para
obtener ms informacin, consulte Anexo C: Arquitectura XLIFF.
En el editor de formularios, puede elegir la versin de las etiquetas a mostrar seleccionando el comando Mostrar el nombre
o Mostrar el recurso en el men Objetos.

Valores de campos o de variables

Puede integrar en una etiqueta esttica los valores actuales de campos o variables. Cuando el rea de texto se muestra o se
imprime, los valores de los campos o variables del registro actual se sustituyen. Utilice este sistema para crear documentos
de correspondencia y en los encabezados y pies de pgina.
Puede incluir el nombre del campo o variable insertndolo entre los smbolos < >.
Puede utilizar un campo de cualquier tabla en la base. Los campos de la tabla actual no tienen que especificar el
nombre de la tabla, se pueden introducir as: <Nombre del campo>. Los campos de otras tablas deben especificar el
nombre de la tabla, se introducen as: <Nombre de la tabla]Nombre del campo>. Cuando se imprime el formulario,
la informacin del campo para cada registro sustituye al elemento <Nombre del campo> en el rea de texto.
Una variable se debe insertar as: <Nombre de la variable>. Asegrese de que el valor de cada variable sea
asignado por un mtodo objeto o mtodo formulario.
Puede especificar la manera cmo se mostrar el campo o la variable insertando un punto y coma seguido de un formato de
visualizacin. Por ejemplo, la variable <vTotal;$###,##0.00> calcula la cantidad del pago total de la persona para el mes y
lo muestra en un formato apropiado. Para obtener ms informacin sobre formatos de visualizacin, consulte Formatos de
salida.
Para ver un ejemplo de formulario de correspondencia utilizando referencias de variables y campos, consulte Crear
documentos de fusin de correo.

- 287 -
Duplicar en una matriz

Algunas veces quisiera poner al mismo tiempo varios objetos activos similares en un formulario, numerndolos
secuencialmente de manera que sus nombres sean nicos. Por ejemplo, podra querer crear una serie de botones que
realicen operaciones de bases de datos. Duplicar una matriz tiene la ventaja adicional de alinear fcil y rpidamente
mltiples objetos.
Puede duplicar manualmente un objeto activo en una matriz o utilizar la caja de dilogo Duplicar Varios, que le permite
llenar la matriz rpidamente.

Utilizar la caja de dilogo Duplicar varios

Para duplicar uno o varios objetos utilizando la caja de dilogo Duplicar varios:
1. Seleccione el(los) objeto(s) a duplicar.
2. Seleccione Duplicar varios... del men Objeto.
Aparece la caja de dilogo Duplicar varios:

3. En el rea Matriz, introduzca el nmero de filas y columnas y el intervalo entre ellas.


Para mayor informacin sobre este punto, consulte Duplicar Objetos en Insertar y organizar los objetos del
formulario.
4. Seleccione la opcin Numerar las variables.
Esta opcin est activa slo si el objeto seleccionado es una variable.
5. Seleccione el orden de numeracin.
Si selecciona la opcin Fila(s), 4D numerar los objetos activos de arriba a bajo (fila por fila) y de izquierda a
derecha. Si selecciona la opcin Columna(s), 4D numerar los objetos activos de izquierda a derecha (columna
por columna) y de arriba a abajo.
Los objetos se copian y numeran de acuerdo a sus preferencias.
6. Haga clic en el botn Aceptar.
Obtiene el nmero de columnas y de lneas de objetos solicitado.

Duplicar directamente un objeto en una matriz

1. Seleccione la herramienta Matriz en la barra de objetos (variacin del grupo Rectngulo) y cree una matriz
en el formulario.
Asegrese que cada celda en la matriz sea lo suficientemente grande para que contenga el objeto a duplicar.
2. En el tema Cuadrcula de la Lista de propiedades, defina el nmero de columnas y de filas de la matriz.

- 288 -
3. Defina la apariencia de la matriz utilizando las opciones del tema Apariencia (opcional).
Puede definir el estilo del borde, el ancho de la lnea, el color y el patrn del fondo.
4. Asegrese de que las celdas en la matriz sean lo suficientemente grandes para contener el objeto a duplicar.

5. Cree un nuevo objeto activo y ubquelo en la parte superior izquierda de la celda de la matriz.
6. Seleccione simultneamente el objeto y la matriz.

7. Elija el comando Duplicar sobre matriz del men Objeto.


4D copia el objeto activo en cada celda de la matriz, dando un nmero nico.

Los objetos se copian junto con sus propiedades de tamao y estilo, as como tambin con su mtodo asociado (si
aplica).
4D enumera los objetos activos de arriba a abajo en cada columna. Estos nmeros se aaden a los nombres de los
objetos, creando un objeto nico en cada celda de la matriz.
Nota: para enumerar las series de objeto activos de izquierda a derecha en cada fila, mantenga presionada la tecla Alt
(Windows) u Opcin (Mac OS) cuando elija Duplicar sobre Matriz .
Puede hacer referencia a estos objetos en mtodos utilizando los nombres que se les han dado. Puede suprimir la
matriz o conservarla en el formulario.

- 289 -
Incrementar un conjunto de variables

4D ofrece un prctico atajo para incrementar automticamente un conjunto de variables creadas en un formulario. Este
atajo permite por ejemplo reorganizar las variables de los botones de un formulario o asegurarse de que cada variable
de formulario sea nica. Recuerde que esta funcin slo modifica los nombres de las variables asociadas con los
objetos, no los nombres de los objetos.
Para incrementar automticamente un conjunto de variables:
1. Seleccione cada objeto activo cuya variable necesite ser renumerada.
Puede seleccionar todo tipo de objeto activo.

2. Bajo Windows, Ctrl+Alt+clic en uno de los objetos.


Bajo Mac OS, Comando+Opcin+clic en uno de los objetos.
Aparece la siguiente caja de dilogo:

Nota: esta caja de dilogo no aparecer si la seleccin contiene un objeto que no est activo o un campo.
3. Defina el nmero de inicio y el incremento a aplicar.
4. Haga clic en Aceptar.
Las variables de los objetos seleccionados son renumeradas inmediatamente utilizando los parmetros definidos.
Los nmeros se aaden al final de los nombres de las variables actuales. La renumeracin se lleva a cabo de
izquierda a derecha y de arriba hacia abajo.

- 290 -
Redimensionar formulario

La caja de dilogo "Redimensionar formulario", permite redimensionar los objetos del formulario con el fin de que se
vean bien cuando una base pase a otra plataforma.

Los objetos de formulario creados en Mac OS aparecen ms pequeos en Windows, y viceversa, an cuando realmente
son del mismo tamao. Esta diferencia es por que la resolucin de pantalla en Windows es 25% mayor que la
resolucin en Macintosh. Por ejemplo, los textos de 12 puntos en Macintosh aparecen como textos de 9 puntos en
Windows. Si el tamao de fuente en Mac OS es lo suficientemente grande, puede que sea muy pequeo en Windows.
Igualmente, si el tamao de fuente en Windows es el adecuado, puede que sea muy grande en Mac OS.
Para compensar las diferencias de resolucin de pantalla, debe modificar la escala de los objetos. Con la opcin
Redimensionar del men Formulario puede redimensionar proporcionalmente todos los objetos del formulario en una
sola operacin.
Puede elegir entre las siguientes opciones:
Macintosh a Windows (133%): esta opcin es la opcin por defecto cuando utiliza 4D bajo Mac OS. Utilice esta
opcin para redimensionar un formulario creado para una resolucin de pantalla Macintosh, con el fin de adaptarlo
para una resolucin Windows. Para realizar esta operacin, el programa aumenta el tamao de todos los objetos
del formulario en una tercera parte. Por ejemplo, los textos de 9 puntos se volvern de 12 puntos.
Windows a Macintosh (75%): esta opcin es la opcin por defecto cuando utiliza 4D bajo Windows. Utilice esta
opcin para redimensionar un formulario creado para una resolucin de pantalla Windows, con el fin de adaptarlo
a resolucin de pantalla Macintosh. Para realizar esta operacin, el programa disminuye el tamao de todos los
objetos del formulario en una cuarta parte. Por ejemplo, los textos de 12 puntos pasarn a ser de 9 puntos.
Porcentaje manual: esta opcin permite redimensionar un formulario utilizando el porcentaje indicado en el rea
%. Con esta opcin puede redimensionar un formulario para que se vea bien en una resolucin de pantalla poco
comn en Macintosh o Windows. Tambin puede utilizar esta opcin para modificar el tamao de todos los
objetos del formulario para la plataforma actual. Por ejemplo, si quiere duplicar el tamao de todos los objetos,
escriba 200%; si desea reducirlos a la mitad, escriba 50%.
Redimensionar las imgenes: esta opcin no est seleccionada por defecto. Generalmente, disminuir o
aumentar el tamao de las imgenes de mapas de bits no da muy buenos resultados estticos. Por esta razn, el
programa, no redimensiona las imgenes estticas del formulario a menos que usted seleccione esta opcin. En
lugar de ello mueve las imgenes a la nueva posicin que les corresponde relativamente dentro del formulario. Si
est seguro de obtener buenos resultados redimensionando mapas de bits o si utiliza imgenes diferentes a
mapas de bits, puede elegir redimensionar imgenes.

- 291 -
Utilizar los mtodos de objeto

Puede asociar un mtodo a cualquier objeto activo de un formulario. Los mtodos asociados a objetos individuales de
un formulario se llaman mtodos de objeto.
Los siguientes son algunos de los usos ms comunes de los mtodos de objeto:
Hacer cumplir las restricciones de entrada de datos,
Inicializar y manejar los objetos de interfaz tales como pestaas, mens desplegables, listas desplegables, list box,
combo box, listas jerrquicas y mens desplegables.
Definir la accin que se realiza cuando se hace clic o doble clic en un objeto,
Manejar operaciones de arrastrar y soltar.
Estos son algunos ejemplos simples de operaciones realizadas en los datos.
El siguiente mtodo calcula un total basado en los datos de otros dos campos:

Linea Total:=[Productos]Precio *[Ordenes]Cantidad

Este es un mtodo que pasa a maysculas los caracteres en un campo Nombre:

[Clientes]Nombre:=Uppercase([Clientes]Nombre)

El siguiente mtodo concatena valores de un campo Nombre y un campo Apellido y los asigna una variable llamada
vNombre:

vNombre:=[Empleados]Nombre+" "+[Empleados]Apellido

Como cada mtodo de objeto est asociado a su objeto, usted crea mtodos de objeto desde el editor de formularios.
Para mayor informacin sobre cmo usar el editor de mtodos, consulte la seccin Editar mtodos.

Los eventos de objetos

Los mtodos de objeto se ejecutan cuando se producen ciertos eventos. Por ejemplo, la accin asociada a una pestaa
tiene sentido slo cuando un usuario hace clic en la pestaa. En un rea de desplazamiento, puede ejecutar el mtodo
slo cuando el usuario hace doble clic en un elemento.
En la seccin Eventos de la Lista de propiedades puede definir los eventos que ejecutarn el mtodo del objeto para
un objeto particular. La lista contiene todos los eventos de formulario pertinentes para el objeto seleccionado. Algunos
eventos slo estn disponibles para tipos de objetos especficos. Igualmente existen eventos adicionales que slo se
generan a nivel de formulario. Para una descripcin detallada de todos los eventos de formulario, consulte el comando
Evento formulario en el manual de Lenguaje 4D.
Seleccione un evento haciendo clic en la casilla de seleccin asociada. Para seleccionar o deseleccionar todos los
eventos de una vez, presione la tecla Ctrl (Windows) o Comando (Mac OS) mientras hace clic en cualquier evento.
Si necesita ejecutar diferentes instrucciones para varios eventos diferentes, utilice una instruccin Case of...Else...End
case en su mtodo y pruebe para cada evento seleccionado en la seccin Eventos. Para probar un evento, utilice la
funcin Evento formulario y las constantes del tema Eventos de formulario. Un ejemplo de estructura de mtodo de
objeto se ve as:

Case of
:(Form event=On Load)
//Ubique el cdigo a ejecutar cuando se abra el formulario

:(Form event=On Data Change)


//Ubique el cdigo a ejecutar cuando los contenidos del objeto se modifiquen

:(Form event=On Validate)


//Ubique el cdigo a ejecutar cuando el formulario se valide
End case

- 292 -
Crear un mtodo de objeto

Para crear un mtodo de objeto:


1. En el editor de formularios, seleccione el objeto al cual quiere asociar un mtodo.
2. Haga clic en el botn Editar ubicado al lado de la lnea Mtodo del objeto (tema Accin) en la Lista de
propiedades.
O
Elija Mtodo del objeto del men Objeto.
O
Haga clic derecho en el objeto y elija Mtodo de objeto en el men contextual.
O
Mantenga presionada la tecla Alt (Windows) u Opcin (Mac OS) y haga clic en el campo u objeto.
4D muestra una nueva ventana del editor de mtodos, vaca por defecto. El nombre del mtodo es Mtodo de
Objeto: seguido por el nombre del objeto o campo.
3. Escriba el mtodo como se describi en el captulo Editar mtodos luego cierre la ventana y grabe su trabajo.
El mtodo ahora se asocia con el campo u objeto activo. Puede visualizar los objetos asociados a un mtodo
desplegando las marcas Mtodo de objeto:

Puede visualizar o modificar un mtodo en cualquier momento.

Abrir un mtodo objeto

Para abrir un mtodo objeto:


1. En el editor de formularios, seleccione el objeto cuyo mtodo quiere abrir.
2. Haga clic en el botn Editar.. ubicado junto a la lnea Mtodo de objeto (tema "Accin") en la lista de propiedades.
O
Elija Mtodo del objeto en el men Objeto.
O
Haga clic derecho en el objeto y elija el comando Mtodo del objeto en el men contextual.
O
Mantenga presionada la tecla Alt (Windows) u Opcin (Mac OS) y haga clic en el objeto al cual est asociado el
mtodo.
El editor de mtodos aparece con su mtodo, listo para que modifique el cdigo.

Borrar un mtodo objeto

Puede borrar un mtodo de objeto en cualquier momento. Para hacerlo, seleccione el objeto al cual el mtodo est
asociado y luego elija Suprimir mtodo del objeto del men Objeto.

- 293 -
Utilizar las vistas de los objetos

Puede utilizar vistas en los formularios de 4D. Esta funcin facilita la construccin de formularios complejos mediante la
distribucin de los objetos en diferentes vistas que puede ocultar, mostrar y/o bloquear de acuerdo a sus necesidades.
La distribucin de objetos se puede efectuar, por ejemplo, segn su tipo (campos, variables, objetos estticos, etc.).
Todos los tipos de objetos, incluso los subformularios y las reas de plug-in, se pueden incluir en las vistas.

Principios

Hay 9 vistas disponibles por formulario, llamadas por defecto Vista 1 a Vista 9 (los nombres pueden cambiarse). Cada
vista se puede ocultar mostrar o bloquear. La gestin de vistas se realiza desde la paleta Vistas:

Para mostrar esta paleta, haga clic en el botn de vistas de la barra de herramientas o seleccione el comando
Lista de vistas en el men contextual o en el men Formulario.
Estas son algunas reglas para trabajar con vistas:
Contexto de uso: las vistas son una herramienta puramente grfica que slo puede utilizar en el editor de
Formularios; no puede acceder a las vistas por programacin o en modo Aplicacin.
Vistas y pginas: los objetos de una misma vista pueden pertenecer a las diferentes pginas de un formulario;
slo se pueden mostrar los objetos de la pgina actual (y de la pgina 0 si est visible), sin importar la
configuracin de la vista.
Vistas y niveles: las vistas son independientes de los niveles de los objetos, no hay jerarqua de despliegue entre
las diferentes vistas.
Vistas y grupos: slo los objetos que pertenecen a la vista actual pueden agruparse.
Nota: en formularios creados por defecto o utilizando el Asistente de creacin de formularios, el ttulo del formulario se
ubica en la Vista 2 y los botones de accin (botones de imagen) en la Vista 3.

Poner un objeto en una vista

Un objeto slo puede pertenecer a una vista. Todo objeto creado en un formulario ese ubicado en la vista actual. Por
defecto, la Vista 1 est seleccionada; en consecuencia, todos los objetos estn ubicados en la primera vista del
formulario.
Para crear un objeto en otra vista, simplemente seleccione previamente otra vista en la paleta haciendo clic en la lnea
correspondiente:

- 294 -
Tambin es posible mover uno o ms objetos de una vista a otra. Para hacerlo, seleccione el o los objetos en el
formulario cuya vista desea modificar. La lista de vistas indica con un smbolo, la vista a la cual pertenece la seleccin:

Nota: la seleccin puede contener varios objetos pertenecientes a vistas diferentes.


Luego, simplemente seleccione la vista destino de la seleccin y haga clic en Enviar a vista. La seleccin pasa a la
nueva vista:

Nota: puede mostrar la vista en la que se encuentra cada objeto utilizando las marcas de 4D. Para mayor informacin
sobre este punto, consulte el prrafo Utilizar las marcas.

Renombrar vistas

Puede renombrar cada una de las 9 vistas, por ejemplo, para darle un nombre a la vista que describa los objetos que
contiene. Puede renombrar las 9 vistas de forma diferente en cada formulario de la base de datos.
Para renombrar una vista, utilice Ctrl+clic (Windows) o Comando+clic (Mac OS) sobre el nombre de la vista, o haga
doble clic en el nombre de la vista (en este caso, la vista se selecciona). El nombre de la vista se vuelve editable:

Trabajar con vistas

Una vez pone los objetos en una o ms vistas, puede utilizar la paleta de vistas para:
seleccionar todos los objetos de una vista con un solo clic,
mostrar u ocultar los objetos de cada vista,
bloquear los objetos de una vista.

Seleccionar todos los objetos de una vista


Puede seleccionar todos los objetos que pertenezcan a una misma vista en la pgina actual del formulario. Esta funcin
es til para aplicar cambios globales a un conjunto de objetos. Para hacerlo, elija la vista donde desea seleccionar
todos los objetos y haga clic en Seleccionar todo en la vista.

Mostrar u ocultar los objetos de una vista


En cualquier momento puede mostrar u ocultar los objetos de una vista en la pgina actual del formulario. Esta funcin
permite, por ejemplo, concentrarse en ciertos objetos durante la modificacin del formulario.
Por defecto, todas las vistas son visibles, como lo indica el icono frente a cada vista en la paleta de vistas. Para
ocultar una vista, haga clic en este icono. Entonces queda inactivo y los objetos de la vista correspondiente ya no se
muestran en el formulario:

- 295 -
Nota: no es posible ocultar la vista actual (seleccionada en la lista de vistas).
Para mostrar una vista oculta, simplemente seleccinela o haga clic de nuevo en el icono de visualizacin.

Bloquear los objetos de una vista


Puede bloquear los objetos de una vista para impedir que sean seleccionados, modificados o eliminados del formulario.
Una vez bloqueado, un objeto no puede ser seleccionado por un clic, un rectngulo de seleccin, ni tampoco por la
opcin Seleccionar objetos similares del men contextual. Esta funcin es til para evitar errores de manipulacin.
Por defecto, todas las vistas estn desbloqueadas, como lo indica el icono frente a cada vista en la paleta de vistas.
Para bloquear objetos de una vista, haga clic sobre el icono. El candado se cierra, lo que significa que la vista est
bloqueada:

Nota: la vista actual (seleccionada en la lista de vistas) no puede bloquearse.


Para desbloquear una vista, simplemente seleccinela o haga clic de nuevo en el icono de bloqueo.

- 296 -
Utilizar las marcas

El editor de formularios permite utilizar marcas para facilitar la visualizacin de las propiedades de los objetos.
El principio de esta funcin es el siguiente: cada marca est asociada a una propiedad (por ejemplo, Mensajes de
ayuda, significa que el objeto tiene un mensaje de ayuda asociado). Cuando activa una marca, 4D muestra un
pequeo icono (marca) en la parte superior izquierda de cada objeto del formulario donde se aplica la propiedad.
Para las propiedades de tipo verdadero/falso (como Mensaje de ayuda), la marca slo se muestra si el objeto
tiene esta propiedad.
Para las propiedades de tipo valor (por ejemplo Nmero de vista), la marca muestra el valor de la propiedad
para cada objeto.

Para activar una marca, haga clic en el botn de seleccin de marcas, hasta seleccionar la marca deseada. Tambin
puede hacer clic en la parte derecha del botn y seleccionar directamente el tipo de marcas a mostrar en el men
asociado:

- 297 -
Para no mostrar las marcas, seleccione Ocultar marcas en el men seleccin.
Nota: puede definir las marcas a mostrar por defecto en el Pgina Formularios de las Preferencias de la aplicacin.
La siguiente es una descripcin de cada tipo de marca:
Icono Nombre Descripcin...
Mtodo de objeto Se muestra para los objetos con un mtodo de objeto asociado
Accin automtica Se muestra para los objetos con una accin automtica asociada
Se muestra para los objetos con al menos una propiedad de redimensionamiento,
Redimensionamiento
indica la combinacin de propiedades actuales
Orden de entrada Se muestra para los objetos editables, indica el nmero de orden de entrada
Nmero de vista Se muestra para todos los objetos, indica el nmero de vista
Hoja de estilo Se muestra para los objetos con una hoja de estilo asociada
Filtro Se muestra para los objetos con un filtro de entrada asociado
Mensaje de ayuda Se muestra para los objetos con un mensaje de ayuda asociado
Localizado Se muestra para los objetos cuya etiqueta proviene de una referencia (etiqueta que
comienza por :). La referencia puede ser de tipo recurso (STR#) o XLIFF.
Referencia dinmica Se muestra para los objetos que contienen una referencia dinmica a un campo, una
tabla o una variable (sintaxis del tipo <label> )
Ocultar las marcas Oculta todas las marcas

- 298 -
Uso de la librera preconfigurada

La librera de objetos preconfigurados de 4D es una herramienta diseada para facilitar la adicin de objetos en
formularios 4D. Ofrece una coleccin de objetos preconfigurados que se pueden utilizar en sus formularios por simple
arrastrar y soltar o copiar y pegar.

Objetos de la librera

Esta librera utiliza exclusivamente objetos 4D estndar (botones, reas de texto, etc.) con ciertas propiedades que han
sido predefinidas con el fin de acelerar y facilitar su implementacin. Por ejemplo, el objeto "rea de ingreso de
contrasea" es una variable texto asociada a una hoja de estilos especfica. La librera tambin ofrece objetos de alto
nivel, como los widgets datepicker y timepicker (ver el manual 4D Widgets).
A diferencia de las libreras de objetos usuario (consulte la seccin Crear y utilizar las libreras de objetos
personalizadas), la librera de objetos preconfigurados de 4D no es modificable: no puede agregar o quitar objetos de
esta librera.

Uso de la librera

La librera de objetos preconfigurados aparece como una ventana independiente. Los objetos se pueden insertar en el
editor de formularios por arrastrar y soltar. Para mostrar la ventana de la librera de objetos preconfigurados, haga clic
en el botn de la barra de herramientas del editor de formularios de 4D.
La librera de objetos preconfigurados se muestra a continuacin en una nueva ventana. Tiene un rea de filtrado (men
pop-up y botones), un rea de vista previa y un rea de comentarios:

Filtrado de objetos: los objetos se clasifican en diferentes categoras (botones, reas de entrada, etc.) Para
restringir la seleccin a una categora de objetos, seleccinelo en el men pop-up o elija Todas las categoras
para mostrar todos los objetos.
Ciertos objetos estn relacionados a una plataforma (Windows o Macintosh). Puede filtrar los objetos mostrados
- 299 -
de acuerdo a la plataforma utilizando el botn ubicado en la esquina superior derecha de la ventana.

rea de vista previa: el rea central muestra una vista previa, as como el nombre de cada objeto. Puede hacer
clic en el objeto para obtener informacin sobre l: su descripcin se muestra en la parte inferior de la ventana.
Puede variar el tamao de las miniaturas en la ventana con el cursor ubicado en el rea de vista previa
rea de comentarios: muestra informacin sobre el objeto seleccionado.
Los objetos se pueden insertar en un formulario por simple arrastrar y soltar o copiar y pegar de las reas centrales de
la ventana hasta el formulario. El objeto se inserta con sus propiedades predefinidas. A continuacin, puede
modificarlas para adaptar el objeto a sus necesidades.

- 300 -
Crear y utilizar las libreras de objetos personalizadas

4D permite crear y utilizar libreras de objetos. Una librera de objetos es un archivo externo creado por 4D que permite
almacenar todo tipo de objetos (botones, textos, imgenes, listas jerrquicas, etc.). Luego puede utilizar estos objetos
en diferentes formularios. Los objetos se guardan con todas sus propiedades, incluyendo sus mtodos de objeto. Las
libreras se ensamblan y utilizan con un simple arrastrar y soltar, o copiar y pegar. De alguna forma son como
portapapeles permanentes.
Utilizando libreras, puede constituir los fondos de objetos de formularios agrupados por familias grficas, por
funcionalidades, etc. Como las libreras se guardan como archivos externos, su uso con diferentes bases es muy
sencillo.
Finalmente, puede combinar las libreras de objetos con los formularios de usuario con el fin de ofrecer objetos que
puedan ser utilizados para la personalizacin de bases. Estos principios se describen en Formularios de usuario.

Crear una librera de objetos

Para crear una librera de objetos, seleccione el comando Nuevo>Librera de objetos... del men 4D Archivo o de la
barra de herramientas de 4D.
Aparece una caja de dilogo estndar para guardar archivos, que permite indicar el nombre y la ubicacin de la librera
de objetos.
Una vez valide la caja de dilogo, 4D crea una nueva librera de objetos en su disco y muestra su ventana
correspondiente (vaca por defecto).

Puede crear tantas libreras como desee por base. Una librera creada y construida bajo Mac OS puede utilizarse bajo
Windows y viceversa.

Construir una librera de objetos

Los objetos se ponen en una librera de objetos utilizando arrastrar y soltar, o cortar copia pegar. Pueden venir de un
formulario o de otra librera de objetos (incluyendo Uso de la librera preconfigurada). No se conserva ningn enlace
con el objeto original: si el original cambia, la modificacin no se transmitir al objeto copiado.
Nota: para arrastrar y soltar objetos desde formularios a libreras de objetos, debe seleccionar la opcin Iniciar
arrastrar y soltar en las Preferencias de 4D (ver Pgina Formularios).
Operaciones bsicas tales como adicin, eliminacin o modificacin son accesibles va el men contextual o el men de
opciones de la ventana:

- 301 -
Puede poner en la librera objetos individuales o conjuntos de objetos. Cada objeto o conjunto de objetos se agrupa en
un solo elemento:

Una librera de objetos puede tener hasta 32 000 elementos.


Los objetos se copian con todas sus propiedades, grficas y funcionales. Estas propiedades se conservan cuando el
elemento se copia en un formulario o en otra librera.
Renombrar un objeto
Cada nuevo elemento se llama Objeto, seguido por un nmero aleatorio, por ejemplo Objeto2012. Puede renombrar
cada elemento como desee. Para hacerlo, puede:
hacer doble clic en el elemento a renombrar
hacer clic derecho en el elemento a renombrar, luego elija el comando Renombrar en el men contextual.
Aparece una caja de dilogo permitindole renombrar el elemento:

Varios elementos pueden tener el mismo nombre.

Objetos dependientes
Utilizar copiar pegar o arrastrar soltar con ciertos objetos de la librera tambin hace que se copien los objetos
dependientes. Por ejemplo, al copiar un botn se copia obligatoriamente el mtodo de objeto que pueda tener
asociado. Estos objetos slo pueden copiarse directamente o utilizando arrastrar y soltar.
La siguiente es la lista de los objetos dependientes que se copian junto con los objetos que los utilizan (llegado el caso):
Listas
Hojas de estilo
Formatos/Filtros
Imgenes
Mensajes de ayuda (asociados a un campo)
Recursos STR#
Mtodos de objeto.
En el caso de los recursos STR#, se copia el STR# por completo y no slo la cadena asociada al objeto.

Abrir una librera de objetos

Para abrir una librera de objetos existente, seleccione Abrir>Librera de objetos... en el men Archivo o en la barra
de herramientas de 4D:

Aparece una caja de dilogo estndar para abrir archivos, que le permite seleccionar la librera de objetos a abrir. Una
librera de objetos slo puede ser abierta por una base a la vez. Sin embargo, una base de datos puede abrir varias

- 302 -
libreras de objetos al mismo tiempo. La extensin de los archivos de libreras es ".4il".
Acceder a las libreras de objetos
Las libreras de objetos son accesibles desde el entorno Diseo de 4D, si el desarrollador lo permite, en el editor de
formularios usuario en modo Aplicacin (ver Formularios de usuario). Todos los elementos de la librera son visibles
en modo Diseo. Sin embargo, en el editor de formularios de usuario, slo se pueden ver los elementos que no tienen
un mtodo de objeto asociado.
Los elementos que tienen por lo menos un mtodo de objeto asociado aparecen con una marca (la misma marca que
se muestra sobre los objetos con un mtodo de objeto en un formulario, consulte Utilizar las marcas) y su nombre
aparece en azul. Esto permite distinguir fcilmente los objetos visibles para el desarrollador en modo Diseo de
aquellos visibles para el usuario en modo Aplicacin.

Funcionamiento en modo remoto


Con el fin de que todas las mquinas clientes puedan acceder a una librera de objetos, el archivo de la librera debe
ubicarse en una carpeta llamada Resources de la base (ver Descripcin de los archivos de 4D). Esta carpeta
permite compartir elementos personalizados entre el servidor y los equipos cliente (imgenes, archivos XLIFF, etc.).
Para mayor informacin consulte la seccin Gestin de la carpeta Resources en el Manual de referencia de 4D
Server.
Puede visualizar y administrar el contenido de la carpeta Resources va el Explorador de recursos.

- 303 -
Mostrar informacin sobre los objetos en ejecucin

Cuando un formulario est en ejecucin, se puede utilizar un atajo de teclado para obtener informacin til sobre los
objetos que contiene (nombre, coordenadas, etc.). Esta informacin se muestra como un mensaje de ayuda que
aparece al presionar Ctrl+Mays (Windows) o Control+Mays (Mac OS) y pasar el cursor sobre un objeto:

Esta informacin est disponible para cada objeto mostrado en un formulario cuando se abre el entorno Diseo.

- 304 -
Trabajar con objetos activos

Qu son los objetos activos?


Campos y variables objetos
Botones
Botones 3D, Casillas de seleccin 3D y Botones radio 3D
Botones imagen
Rejilla de botones
Casillas de seleccin
Botones radio y botones radio imagen
Pop-ups/Listas desplegables
Combo box
Listas jerrquicas y mens desplegables jerrquicos
Mens pop-up imagen
Indicadores
Pestaas
Separadores
reas web
Areas de Plug-ins

- 305 -
Qu son los objetos activos?

Un objeto activo es un objeto en un formulario que realiza una tarea o una funcin de interfaz. Hay muchos tipos de
objetos activos. Los campos se consideran objetos activos. Los dems objetos activos, objetos editables (variables),
combo boxes, listas desplegables, botones imagen, etc., almacenan datos temporalmente en la memoria o realizan
alguna accin como abrir una ventana de dilogo, imprimir un informe, o iniciar un proceso en segundo plano.
En algunos casos, puede especificar la accin de un objeto activo seleccionando en la ventana de propiedades de los
objetos. Por ejemplo, puede utilizar las acciones integradas automticas de un botn para definir las acciones de los
botones. En otros casos, puede especificar la accin del objeto escribiendo un mtodo asociado al objeto.
En 4D, puede utilizar los siguientes objetos activos:
Campos y variables objetos,
Botones,
Botones 3D, Casillas de seleccin 3D y Botones radio 3D,
Botones imagen,
Rejilla de botones,
Casillas de seleccin,
Botones radio y botones radio imagen,
Pop-ups/Listas desplegables,
Combo box,
Listas jerrquicas y mens desplegables jerrquicos,
Mens pop-up imagen,
Indicadores,
Pestaas,
Separadores,
reas web,
Areas de Plug-ins,
List boxes (descrito en un captulo independiente),
Subformularios y widgets (descrito en un captulo independiente).
La apariencia y el funcionamiento de los objetos activos se rige por un conjunto de propiedades. Las propiedades
especficas a cada tipo de objeto se describen con los objetos. Las propiedades genricas fundamentales tales como
los controles de entrada o los formatos de visualizacin se describen en el captulo Propiedades de los objetos
activos.

- 306 -
Campos y variables objetos

En un formulario, las variables y los campos funcionan de manera muy parecida.


Los campos de un formulario permiten introducir o mostrar los datos de un registro. Cuando cree un nuevo
formulario utilizando el asistente de creacin formularios, seleccione los campos a incluir en el formulario en forma
de objetos estndar. Una vez creado el formulario, puede usar el editor de formularios para definir las propiedades
adicionales para el rea, tales como los formatos de visualizacin y los controles de entrada. Estas propiedades
slo aplican a los formularios en que se hayan definido. Puede definir las mismas propiedades para otros
formularios o definir otras. En cualquier momento, puede cambiar las propiedades de los campos o
agregar/borrar campos en un formulario.
Las variables pueden ser editables o no editables y puede recibir datos de tipo alfa, texto, nmero, fecha, hora e
imagen. Las variables objeto se crean utilizando la herramienta Variable . Puede crear automticamente un
gran nmero de variables utilizando la funcin Duplicar en una matriz .
Al igual que los campos, las variables le permiten ingresar y mostrar datos. Las variables se utilizan para el
almacenamiento temporal de datos. Un uso comn de una variable es para mostrar los clculos que se realizan
utilizando un mtodo como:
vTotal := Cantidad * Precio
Se crea una variable que muestra el resultado del clculo, se llama esta variable vTotal y usa un mtodo para
hacer el clculo.
Utilice los mtodos para manejar las variables editables y no editables. Una variable editable acepta datos. Puede
establecer los controles de entrada para el objeto como si se tratara de un campo. Los datos introducidos se
asocian con el nombre del objeto. Puede administrar los datos con mtodos objeto o de formulario que utilicen
directamente el nombre de la variable.
Tambin puede representar campos y variables en sus formularios en formas alternativas:
Puede visualizar e introducir directamente los datos de los campos de la base en las columnas de los List box de
tipo "seleccin" (ver Visualizacin de campos en list box).
A partir de 4D v14, puede representar directamente un campo o una variable listada en un formulario utilizando
objetos Pop-ups/Listas desplegables y Combo box.

Tipo de variable

Puede utilizar la propiedad Tipo de variable en el tema de "objetos" de la Lista de propiedades para especificar el tipo
de datos para la variable:

Tenga en cuenta que el propsito principal de este ajuste es configurar los temas y opciones disponibles en la lista de
Propiedades para que correspondan con el tipo de datos. En realidad, no digita realmente la variable. En la perspectiva
de la compilacin de la base, debe utilizar los comandos del tema Compilador.
Sin embargo, el men Tipo de variable tiene una funcin de digitacin en dos casos concretos:
Las variables imagen: puede utilizar este men para declarar las variables antes de cargar el formulario en modo
interpretado (ver abajo)
Las variables dinmicas: puede utilizar este men para declarar el tipo de variables dinmicas (ver Variables
dinmicas).
Declaracin de variables de tipo imagen en los formularios
Mecanismos nativos especficos gobiernan la visualizacin de variables imagen en los formularios. Estos mecanismos
- 307 -
requieren que las variables imagen sean declaradas obligatoriamente antes de cargar el formulario, es decir, antes del
evento de formulario On Load a diferencia de otro tipo de variables.
Para hacer esto, es necesario:
que la instruccin C_PICTURE(varName) haya sido ejecutada antes de cargar el formulario (tpicamente, en el
mtodo que llama al comando DIALOG),
o que la variable haya sido declarada a nivel del formulario utilizando el men pop-up Tipo de variable de la Lista
de propiedades.
De lo contrario, la variable imagen no se mostrar correctamente (slo en modo interpretado).

Visualizacin

Las variables y los campos pueden ser de cualquier tamao. Al mostrar los caracteres, el tamao del rea vara en
pasos relacionados con el tamao de la fuente de los caracteres utilizados. Las variables y los campos pueden
hacer uso de los formatos de visualizacin (ver Formatos de salida). Las variables y los campos de tipo Texto e
Imagen pueden utilizar las barras de desplazamiento horizontal y vertical (ver Barras de desplazamiento) y se
pueden imprimir con un marco variable (ver el prrafo Imprimir objetos de tipo texto).
Cuando la propiedad Multiestilo ha sido seleccionada para el objeto, las variables y los campos de tipo Texto o
Alfa aceptan variaciones de estilo (adems del estilo general especificado a nivel del objeto). Para obtener ms
informacin, consulte la seccin Multiestilo (rea de texto enriquecido).
Cuando un campo o variable de tipo texto o alfa contienen un URL (cadena que comienzan por http, ftp, www o
mailto) se detecta automticamente. Si el usuario presiona Ctrl+clic (Windows) o Comando+clic (Mac OS) en el
rea, el URL se ejecuta directamente en el navegador web por defecto. En Windows, los URLs detectados se
muestran en azul y subrayados:

Nota: las direcciones de correo electrnico deben escribirse en la forma mailto:direccin.

Aadir campos en un formulario

Puede aadir o suprimir campos de un formulario en cualquier momento. Por ejemplo, puede aadir campos a un
formulario en los siguientes casos:
si se da cuenta de que necesita un campo que no seleccion en el asistente de creacin de formularios.
si aadi un campo a la estructura de la base de datos y necesita aadirlo al formulario para poderlo utilizar.
Para aadir un campo a un formulario:

1. Seleccione la herramienta de insercin en la barra de herramientas y dibuje el campo en el formulario.


4D muestra automticamente las propiedades del nuevo campo en la Lista de propiedades.
2. Seleccione el campo que quiere insertar de la lista de tablas/campos:

- 308 -
Nota: no es posible seleccionar un campo de tipo BLOB.
3. Si lo desea, defina las propiedades especficas a aplicar al campo.
Despus de crear el campo, debe por lo general definir propiedades adicionales. Puede definir los controles de
entrada, escribir el mensaje de ayuda asociado, asociar un mtodo, definir las opciones de redimensionamiento o
de reposicionamiento, definir el tipo de fuente o las opciones de apariencia (ver Propiedades de los objetos
activos).
Nota: tambin puede insertar un campo por arrastrar y soltar desde la Pgina Tablas del Explorador.
El nuevo campo aparece en el formulario donde lo ubic. El rea de campo muestra el nombre del campo que
seleccion, precedido por el nombre de la tabla. Por defecto, 4D no aade una etiqueta para designar el campo pero
puede crear una utilizando un rea de texto esttico. Note que la etiqueta puede definirse dinmicamente (ver la seccin
Utilizar las referencias en los textos estticos).
Despus de ubicar un campo en un formulario, puede modificarlo como lo hara con cualquier otro objeto del formulario.
Puede redimensionarlo, cambiar la fuente, cambiar el color, etc.
Transformar un campo en variable y viceversa
Puede transformar todo tipo de objeto (activo o no) en otro tipo de objeto. Tambin puede transformar un campo en
variable y viceversa. Esta posibilidad es bastante til cuando despus de insertar un campo en un formulario, usted
desea convertirlo en una variable porque no necesita almacenar el valor. Cuando 4D transforma un objeto en otro,
conserva las propiedades del objeto original (coordenadas, mtodo del objeto, apariencia, color, etc.). El tipo de datos
asignado a un campo se conserva para la variable: un campo tipo imagen se convertir en una variable tipo imagen.
Para convertir un campo en una variable o viceversa, seleccione el objeto y seleccione Campo o Variable de la lista
desplegable Tipo en la Lista de propiedades, (tema Objetos). La Lista de propiedades se actualiza para mostrar las
propiedades del nuevo tipo de objeto. El nombre del objeto, el mtodo del objeto y sus propiedades (tamao, editable,
etc.) se conservan.
Cuando transforma una variable en un campo, 4D asigna por defecto al objeto el primer campo de la primera tabla.
Puede definir manualmente la Tabla y el Campo fuente (tema Fuente de datos).

Guardar como

Cuando asocia una lista de seleccin a un campo o variable, puede utilizar la opcin Guardar como Valor/Referencia
en el tema de "Fuentes de datos" de la Lista de propiedades.

Esta opcin le permite optimizar el tamao de los datos guardados. Para ms informacin, consulte Guardar como
Valor o Referencia.

- 309 -
Botones

Introduccin

El editor de formularios permite aadir una gran variedad de botones a sus formularios. Puede asociar una accin
estndar a cada botn del formulario. Los botones automticos permiten al usuario aceptar, cancelar, o eliminar
registros, moverse entre registros, moverse de una pgina a otra en un formulario multipginas, y abrir, borrar, o aadir
registros a un subformulario, etc.
Generalmente, los botones se ubican cuando crea el formulario utilizando el asistente de formularios. Puede modificar
las acciones de estos botones desde la Lista de propiedades. Por ejemplo, puede suprimir la accin estndar de un
botn y escribir un mtodo de objeto que especifique la accin del botn.
Igualmente puede aadir botones y asignar acciones de botones con el editor de formularios. Por ejemplo, si necesita
varios subformularios en el formulario, puede aadir los subformularios adicionales y botones automticos en el editor
de formularios. Simplemente aada cada botn al formulario y asocie una accin estndar a cada botn.
4D permite utilizar los siguientes tipos de botones:
Botones: estos botones se muestran en la interfaz de la plataforma actual. El texto del botn se muestra en la
fuente, tamao, estilo y color seleccionados.

La etiqueta mostrada por el botn est definida en el campo Ttulo del tema Objetos en la Lista de propiedades.
Puede modificarla en cualquier momento:

Botones por defecto: un botn por defecto tiene exactamente la misma apariencia que un botn estndar,
excepto que su borde es un poco ms grueso. Esto le indica al usuario que el botn es la opcin recomendada.
La siguiente imagen compara un botn estndar con un botn por defecto.

Bajo Mac OS, los botones por defecto son botones de pulsaciones:

El tipo de objeto Botn por defecto no existe como tal pero es una propiedad accesible para los botones
estndar.
Nota: slo puede haber un botn por defecto por pgina de formulario.
Botones inversos y botones invisibles: estos botones estn diseados para ser ubicados sobre objetos
grficos. Los botones inversos son transparentes. Cuando el usuario hace clic en un botn inverso, los grficos del
botn se resaltan.
Los botones invisibles permanecen invisibles y no se resaltan cuando se hace clic en ellos. La accin resultante,
como la de abrir una pgina diferente, indica que se ha hecho clic en el botn. Un botn invisible debe ubicarse
sobre el texto o sobre un grfico que denote su funcin; el usuario hace clic en el texto o grfico y el botn se
activa.
Botones 3D y Botones de imagen: la familia de botones 3D (botones 3D, casilla de seleccin 3D y botones
radio 3D) y los botones de imagen incluyen numerosas propiedades especficas. Estos botones se describen en
Botones 3D, Casillas de seleccin 3D y Botones radio 3D y Botones imagen.

Gestin de las acciones de los botones

Los botones con accin estndar se vuelven grises automticamente cuando es necesario durante la ejecucin del
formulario. Por ejemplo, si se muestra el primer registro de una tabla, el botn Primer registro aparecer atenuado.
Usted crea un botn eligiendo el tipo de botn de la lista desplegable Tipo. Luego elije la accin estndar del botn de
la lista desplegable accin automtica. (ver Acciones estndar):

- 310 -
Nota: igualmente puede utilizar el comando jerrquico Accin estndar del men contextual del editor (clic derecho en
el objeto).
Sin importar el tipo de botn, debe seleccionar un valor de la lista. Si prefiere que el botn realice una accin que no
est en la lista, elija Sin Accin y escriba un mtodo objeto que defina la accin del botn. (ver Editar mtodos).
Generalmente, usted activa el evento On Clicked en la pgina Eventos y el mtodo se ejecuta slo cuando se hace clic
en el botn. Puede asociar un mtodo a cualquier botn.
Las variables asociadas a los botones (estndar, inversos, invisibles, de opcin, de imagen, o casillas de seleccin) se
inicializan en 0 cuando el formulario se abre primero en modo Diseo o Aplicacin. Cuando el usuario hace clic en un
botn, la variable pasa a 1.
Para una descripcin de cada accin, consulte la seccin Acciones estndar.

Nota de compatibilidad: en las versiones anteriores de 4D, un "efecto secundario" permite beneficiarse de un botn
personalizado de activacin/desactivacin automtica si le da el mismo nombre de variable que un botn con accin
estndar. Por ejemplo, si su formulario contiene un botn v1 con accin estndar y un botn personalizado cuyo nombre
de variable tambin es v1, ste ltimo se activa/desactiva automticamente en funcin del estado del botn estndar.
Este funcionamiento se corrigi a partir de 4D v12 y ahora la activacin/desactivacin de cada botn se debe manejar
de manera independiente.

- 311 -
Botones 3D, Casillas de seleccin 3D y Botones radio 3D

La familia de botones 3D incluye botones 3D, casillas de seleccin 3D y botones de opcin 3D. Estos objetos son
estructuralmente idnticos; la nica diferencia es el tratamiento de la variable asociada:
La variable asociada de un botn es igual a 0 cuando se abre el formulario (estado estndar); es igual a 1 cuando
el usuario hace clic en el botn (estado presionado); luego el botn vuelve a su estado estndar y es igual a 0
nuevamente.
La variable asociada a una casilla de seleccin 3D es igual a 0 cuando la casilla no est marcada y es igual a 1
cuando la casilla est marcada. A diferencia de los botones, la casilla de seleccin 3D se mantiene en su estado
(0 1) hasta que el usuario la selecciona nuevamente. Para mayor informacin, consulte Casillas de seleccin.
Los botones de opcin 3D funcionan en grupos; la variable asociada del botn seleccionado es igual a 1 y las
otras a 0. La variable puede ser igual a 0 o a 1 cuando se abre el formulario. Para mayor informacin, consulte el
prrafo Botones radio y botones radio imagen.
La familia de botones 3D ofrece numerosas propiedades especificas, que pueden utilizarse para establecer interfaces
perfectamente integradas a los diferentes sistemas operativos. Ms especficamente, es posible aplicar diferentes
estilos predefinidos a los botones 3D (botones bevel, botones push, etc.) o asociar mens desplegables a ellos. Se
puede obtener un gran nmero de variaciones al combinar las diferentes propiedades.

Ttulo

Esta propiedad permite insertar una etiqueta en el botn. La fuente y el estilo de esta etiqueta pueden definirse en el
tema Texto.
Puede forzar un retorno de carro en la etiqueta utilizando el carcter \ (barra oblicua inversa).

Para insertar un \ en la etiqueta, introduzca \\.


Por defecto, la etiqueta se ubica en el centro del botn. Cuando el botn tambin tiene un icono, puede modificar la
ubicacin relativa de estos dos elementos utilizando la propiedad Posicin Titulo/Imagen.

- 312 -
Es posible esconder el ttulo deseleccionando la opcin Titulo visible. En este caso, el icono se ubica
automticamente en el centro del botn.
Para la traduccin de la base, puede introducir en el rea de la etiqueta de un botn una referencia XLIFF o STR# (ver
Anexo C: Arquitectura XLIFF).

Estilo de botn

Esta propiedad permite definir la apariencia general del botn. El estilo tambin influye en la disponibilidad de ciertas
opciones. Los siguientes estilos estn disponibles: (ilustraciones Windows/Mac OS):
Ninguno (valor por defecto)

Un botn 3D con el estilo Ninguno es similar a un botn invisible: no se ve su contorno. Sin embargo, tiene
disponibles las opciones de botones 3D.
Bajo Mac OS, no es posible mostrar el tringulo indicando la asociacin a un men pop-up.
Fondo desplazado

Este estilo corresponde a los botones inversos, excepto que cuando el usuario hace clic en este tipo de botn, se
obtiene un efecto 3D al desplazar la imagen ubicada bajo el botn.
Cuando el estilo Fondo desplazado est seleccionado, ninguna opcin est disponible.
Pulsador

Un botn 3D con el estilo "Pulsador" tiene la apariencia de un botn estndar del sistema. Sin embargo se
beneficia de las opciones de los botones 3D, con excepcin de la propiedad Con men desplegable.
Botn de barra

Este estilo de botn 3D est particularmente destinado para una integracin en una barra de herramientas.
Bajo Windows, su contorno aparece cuando se pasa el ratn sobre l. Cuando usa la propiedad Con men
desplegable, aparece un tringulo a la derecha y en el centro del botn.
Bajo Mac OS, el contorno del botn nunca aparece. Cuando tiene la propiedad Con men desplegable , un
tringulo aparece en la esquina inferior derecha del botn.
Personalizado

Este estilo de botn 3D acepta una imagen de fondo personalizada y permite manejar varios parmetros
adicionales (desplazamiento de icono y mrgenes). Para mayor informacin, consulte el prrafo Botones 3D
personalizados a continuacin.
Este estilo se beneficia de las opciones de botones 3D, con excepcin de la propiedad Con men desplegable.
Circulo

Bajo Mac OS X, un botn 3D con el estilo Circulo aparece como un botn de sistema redondo. Dos conjuntos de
estilos estn disponibles para el crculo, dependiendo del tamao del botn en el formulario. Este estilo se
beneficia de las opciones de botones 3D, con excepcin de la propiedad Con men desplegable.
Bajo Windows, este estilo de botn es idntico al estilo Ninguno (el crculo al fondo no se tiene en cuenta).
Cuadrito de sistema

Bajo Mac OS X, un botn 3D con estilo Cuadrito de sistema aparece como un cuadro de sistema. Este estilo se
beneficia de las propiedades de botones 3D, con excepcin de la propiedad Con men desplegable.
Bajo Windows, este estilo de botn es idntico al estilo Ninguno (no se tiene en cuenta el cuadrado de fondo).
Office XP

Un botn 3D con el estilo Office XP tiene las siguientes caractersticas:


Los colores de su contorno y fondo se basan en los colores del sistema.
Bajo Windows, en uso, su contorno slo aparece cuando el ratn pasa sobre l.
Este estilo se beneficia de las opciones de botones 3D.
Bevel
- 313 -
Bajo Mac OS, un botn Bevel aparece como un botn del sistema estndar. Un botn de estilo Bevel se
beneficia de las opciones de botones 3D, incluyendo la propiedad Con men desplegable.
Bajo Windows, este estilo de botn es similar al estilo Botn de barra, la nica diferencia es el tringulo que
indica la presencia de un men asociado localizado en la parte inferior derecha del botn.
Bevel redondeado

Bajo Mac OS, un botn Bevel redondeado es similar a un botn Bevel excepto que sus contornos son
redondeados.
Bajo Windows, este estilo de botn es idntico al estilo Bevel.
Contraer/Desplegar

Este estilo de botn permite aadir un cono estndar de contraccin/despliegue. Estos botones se utilizan
nativamente en las listas jerrquicas. Bajo Windows, el botn toma la apariencia de un [+] o un [-]; bajo Mac OS, se
ve como un tringulo apuntando hacia arriba o hacia abajo. Este estilo se utiliza nicamente con las casillas de
seleccin 3D, los dos estados del botn corresponden a los estados seleccionada/deseleccionada de la casilla.
Ayuda

Este estilo de botn permite mostrar un botn de ayuda estndar del sistema. Puede utilizar este estilo para
aadir botones de ayuda "sistema" en sus formularios.
Texturizado OS X

Bajo Mac OS X, un botn "Texturizado" es un botn sistema estndar que muestra un degrad de gris. Su altura
est predefinida: no es posible agrandarlo o reducirlo. Este estilo de botn puede usar todas las opciones de
botones 3D.
Bajo Windows, este estilo equivale a un botn pulsador, el cual puede tener un men pop-up y la caracterstica
especial de ser transparente bajo Vista.
Gradiente OS X

Bajo Mac OS X, un botn "Gradiente" es un botn sistema bicolor. Este estilo de botn puede utilizar todas las
opciones de botones 3D.
Bajo Windows, este estilo es equivalente a un botn pulsador, el cual puede tener un men pop-up.

Aadir un icono a un botn 3D

Es posible aadir un icono a todos los estilos de botones 3D (con excepcin del estilo Fondo desplazado):

El manejo de iconos se efecta utilizando las propiedades: Fuente de la imagen, Nombre/No de la imagen.
Fuente de la imagen
Al igual que los botones de imagen, el icono de un botn 3D puede venir de tres fuentes diferentes: Variable,
Librera de imgenes, Archivo de recursos o Archivo. Una vez designada la fuente, puede introducir el
nombre o el nmero de imagen en la propiedad "Nombre/No de la imagen".
Nombre/No de la imagen
Una vez definida la fuente de la imagen, introduzca el nombre (si la imagen es una variable o viene de la librera de
imgenes) o el nmero (si la imagen viene de la librera de imgenes o de un archivo de recursos) o la ruta de
acceso de la imagen (si la imagen viene de un archivo de imagen); en este ltimo caso, la ruta de acceso debe
ser relativa a la carpeta Resources de la base (ver el prrafo Referenciacin automtica de los archivos
imgenes). Escriba 0 en esta propiedad para no asociar una imagen al botn 3D.
Nota: puede asociar una imagen a un botn por arrastrar y soltar una imagen de la librera de imgenes o de un
archivo de disco.
Nmero de estados
Esta propiedad permite precisar el nmero exacto de estados presentes en la imagen utilizada como icono por el
botn 3D. En general, un icono de botn tiene 4 estados: activo, presionado, ratn encima e inactivo. En la imagen
fuente, los estados deben ubicarse verticalmente:

- 314 -
Ttulo visible/ icono visible
Cuando el botn incluye un ttulo y una imagen, puede ocultar uno u otro deseleccionando la opcin Ttulo visible o
Icono visible (o ambas). Cuando un elemento est oculto, es reemplazado por el otro automticamente en el centro
del botn.

Posicin Titulo/Imagen

Esta propiedad permite modificar la ubicacin relativa del ttulo del botn con relacin al icono asociado. Esta
propiedad no tiene efecto cuando el botn contiene slo un ttulo (no imagen asociada) o una imagen (no titulo). Por
defecto, cuando un botn 3D contiene un ttulo y una imagen, el texto se ubica debajo de la imagen.
Este es el resultado de las diferentes opciones de esta propiedad:
Izquierda: el texto se ubica a la izquierda del icono. El contenido del botn est alineado a la derecha.

Arriba: el texto se ubicado arriba del icono. El contenido del botn est centrado.

Derecha: el texto se ubica a la derecha del icono. El contenido del botn est alineados a la izquierda.

Abajo: el texto se ubica debajo del icono. El contenido del botn est centrado.

Centro: el texto del icono est centrado vertical y horizontalmente en el botn. Este parmetro es til, por ejemplo,
para texto incluido en un icono.

Con men pop-up

Esta propiedad permite desplegar un smbolo en forma de tringulo en el botn 3D, el cual indica que hay un men pop
up asociado:

La apariencia y ubicacin de este smbolo depende del estilo del botn y de la plataforma actual.
Los estilos de botones 3D que aceptan la propiedad Con men desplegable son los siguientes:
Ninguno
Botn de barra
Bevel
Bevel redondeado
Office XP
OSX Textura
OSX Gradiente

Enlazado y separado
Para asociar un smbolo de men desplegable a un botn 3D, tiene dos opciones: Enlazado y Separado.
Separado

Enlazado

- 315 -
Nota: la disponibilidad efectiva de un modo separado depende del estilo de botn y de la plataforma.
Cada opcin especifica la relacin entre el botn y el men pop up asociado:
Cuando el men pop-up est separado, al hacer clic en la parte izquierda del botn se ejecuta directamente la
accin actual del botn; esta accin puede modificarse utilizando el men pop-up accesible desde la parte
derecha del botn.
Cuando el men pop-up est enlazado, un clic en el botn slo despliega el men pop-up. Slo la seleccin de la
accin en el men desplegable provoca su ejecucin..
Estas opciones influyen igualmente la gestin de eventos de formulario para el botn (para mayor informacin, consulte
el manual de Lenguaje de 4D).
Gestin del men pop-up
Es importante notar que la propiedad Con men desplegable slo maneja el aspecto grfico del botn. El despliegue
del men pop-up y sus valores deben ser manejados completamente por el desarrollador, especialmente utilizando
eventos de formulario y los comandos Dynamic pop up menu y Pop up menu.

Botones 3D personalizados

Cuando se selecciona el estilo de botn 3D Personalizado, varias propiedades adicionales estn disponibles: Fuente
del fondo, Nombre/No del fondo, Icono visible, Margen horizontal y Margen vertical.
Fuente del fondo: esta propiedad permite designar la imagen que se dibujar al fondo del botn. Al igual que
para el icono, puede indicar que la imagen proviene de una variable, de la librera de imgenes o de un archivo de
recursos o de un archivo en el disco.
Nombre/No del fondo: una vez se designa la fuente, puede indicar el nombre o el nmero de la imagen en esta
rea.
Como para los iconos, las imgenes de fondo pueden contener cuatro reas verticales distintas, que sern
utilizadas por 4D para representar los cuatro estados estndar del botn: activo, al hacer clic, al pasar sobre l, y
desactivado. Observe que el efecto producido al hacer clic tambin puede manejarse utilizando la propiedad
Sangra icono.
Sangra Icono: esta propiedad permite definir un valor de sangra personalizado (en pxeles) que se utilizar en
caso de que se haga clic en el botn: el ttulo
del botn se desplazar hacia la derecha y hacia abajo el nmero de pxeles introducido. Esta funcin permite
aplicar un efecto 3D personalizado cuando se hace clic en el botn.
Margen horizontal / Margen vertical: estas propiedades le permiten definir el tamao (en pxeles) de mrgenes
internas del botn. Estas mrgenes delimitan las reas que el icono del botn 3D y el ttulo no deben sobrepasar.
Este parmetro es til por ejemplo cuando la imagen de fondo contiene bordes:
Botn 3D personalizado sin margen

Botn 3D personalizado con margen de 13 pxeles

- 316 -
Botones imagen

Uso

Un botn imagen puede tener diferentes estados, por comparacin, un botn estndar acepta tres estados: activo,
desactivado y presionado. Como su nombre lo indica, un botn imagen representa cada estado con una imagen
diferente.
Los botones imagen pueden utilizarse de dos maneras:
como botones de comando en un formulario. en este caso, el botn imagen incluye generalmente cuatro estados
diferentes: activo, desactivado, presionado y al pasar el cursor por encima. Este modo de funcionamiento es
utilizado por el asistente de creacin de formularios para la mayora de plantillas de formularios.
como botn imagen permite al usuario elegir entre varias opciones. En este caso, un botn imagen puede
utilizarse en lugar de un men imagen desplegable. Con Mens pop-up imagen, todas las opciones se
presentan simultneamente (como los elementos en el men desplegable), mientras que el botn imagen muestra
las opciones consecutivamente (a medida que el usuario hace clic en el botn).
Este es un ejemplo de un botn imagen. Suponga que quiere dar a los usuarios de una aplicacin personalizada
la oportunidad de elegir el lenguaje de la interfaz para la aplicacin. Puede implementar la opcin como un botn
imagen en una caja de dilogo personalizada de propiedades, como se muestra a continuacin:

Al hacer clic en el objeto cambia la imagen

El botn imagen se implementa de la siguiente manera. Primero, se prepara un grfico en el cual la serie de
imgenes est organizada en filas, columnas, o en tabla. Puede aadir esta grfica a la Librera de imgenes, a
una variable imagen o a un archivo imagen.

Puede organizar las imgenes en columnas, filas o en tablas (como se muestra en la imagen anterior). Cuando
organice imgenes en una tabla, las imgenes se numeran de izquierda a derecha, fila por fila, comenzando con
0. Por ejemplo, la segunda imagen de la segunda fila de una tabla de cuatro filas y tres columnas, es la nmero 4.
Nota: la Librera de imgenes incluye caractersticas que le permiten organizar una imagen como una tabla de
miniaturas.
Cuando una imagen ha sido definida como una tabla de miniaturas, puede crear un botn imagen arrastrando el
nombre de la imagen de la Librera.

Propiedades

Los botones imagen tienen las siguientes propiedades especficas:


En el tema Imagen, defina la fuente de la imagen utilizando la lista desplegable Fuente. Puede elegir entre
Variable, Librera de imgenes, Archivo de recursos y Archivo. Una vez definida la fuente de la imagen, introduzca
el nombre (si la imagen es una variable) o el nmero (si la imagen proviene de la librera de imgenes o de un
archivo de recursos) o la ruta de acceso (si la imagen viene de un archivo imagen) relativa a la carpeta
Resources de la base (ver el prrafo Referenciacin automtica de los archivos imgenes).
En el tema Recorte, defina el nmero de filas y columnas que componen la tabla de miniaturas. En nuestro
ejemplo, utilizamos una imagen que consta de tres columnas y dos filas.
En el tema Animacin, puede definir el modo de visualizacin del botn imagen y su funcionamiento. Puede
combinar varias opciones. Este punto se describe con ms detalle en la siguiente seccin.
Nota: la variable asociada a un botn imagen devuelve el nmero de ndice, en la tabla de miniaturas, de la
imagen mostrada actualmente. La numeracin de imgenes de la tabla comienza por 0.

Animacin

He aqu las diferentes opciones de visualizacin y funcionamiento de botones imagen. Naturalmente, estas opciones
pueden combinarse:
<Ninguna opcin marcada>
Muestra la imagen siguiente de la serie cuando el usuario hace clic en el botn; Muestra la imagen anterior de la
serie cuando el usuario presiona la tecla Mays y hace clic. Cuando el usuario alcanza la ltima imagen de la
serie, la imagen no cambia cuando el usuario hace clic nuevamente. Es decir, el botn no regresa a la primera
- 317 -
imagen de la serie.
Cambiar continuamente al hacer clic
Es similar al anterior excepto que el usuario puede mantener presionado el botn del ratn para mostrar la imagen
continuamente (es decir, como una animacin). Cuando el usuario alcanza la ltima imagen, el objeto no regresa a
la primera imagen.
Volver al inicio
Es similar al anterior excepto que las imgenes se muestran en un ciclo continuo. Cuando el usuario alcanza la
ltima imagen y hace clic nuevamente, la primera imagen aparece y as sucesivamente.
Cambiar al pasar el cursor encima
El contenido del botn imagen se modifica cuando el cursor pasa encima. La imagen inicial se restablece cuando
el cursor deja el rea del botn. Este modo se utiliza con frecuencia en aplicaciones multimedia o en documentos
HTML. La imagen mostrada es la ltima de la tabla de miniaturas, a menos que est seleccionada la opcin
ltima imagen si desactivado. Si esta opcin est seleccionada, la imagen que se despliega es la miniatura
siguiente a la ltima.
Volver al soltar el clic
Este modo funciona con dos imgenes. Muestra la primera imagen todo el tiempo excepto cuando el usuario hace
clic en el botn. En este caso, la segunda imagen se muestra hasta que el usuario suelta el botn del ratn, con lo
cual regresa la primera imagen. Este modo le permite crear un botn de accin con una imagen diferente para
cada estado (normal y presionado). Puede utilizar este modo para crear un efecto 3D o mostrar toda imagen que
represente la accin del botn.
ltima imagen si desactivado
Este modo le permite definir la ltima miniatura como la miniatura a mostrar cuando el botn est inactivo. Cuando
este modo est seleccionado, 4D muestra la ltima miniatura cuando el botn est inactivo. La miniatura utilizada
cuando el botn est inactivo es tratada aparte por 4D: cuando combina esta opcin con las opciones Cambiar
continuamente al hacer clic y Volver al inicio, la ltima imagen se excluye de la secuencia asociada con el botn
y slo aparece cuando el botn est inactivo.
Cambiar cada x tics
Este modo permite hacer un ciclo a travs del contenido del botn imagen a una velocidad especificada (en tics).
Por ejemplo, si pone 10, las miniaturas cambiarn cada 10 tics. En este modo, todas las otras opciones se
ignoran.
Nota: observe que la opcin Transparente (tema Apariencia) tambin puede utilizarse para definir la representacin
del botn imagen (vuelve transparente el fondo de la imagen).
Por ejemplo, usted quiere definir un botn que acepte los siguientes modos: Volver al soltar el clic, Cambiar al pasar el
cursor encima y ltima imagen si desactivado.
En el caso de una tabla de miniaturas que tiene una fila y cuatro columnas, cada miniatura corresponde a los siguientes
estados: por defecto, presionado, cursor sobre y desactivado.
En la Lista de propiedades puede definir las siguientes propiedades: 1 fila, 4 columnas como tambin las opciones
Volver al soltar el clic, Cambiar al pasar el cursor por encima y ltima imagen si desactivado.

- 318 -
Rejilla de botones

Uso

Una rejilla de botones es un objeto transparente ubicado sobre una imagen. La imagen debe representar una tabla.
Puede utilizar una rejilla de botones para determinar donde debe hacer clic el usuario en la grfica. Su mtodo de objeto
utiliza el evento On Clicked y toma las medidas apropiadas dependiendo de la ubicacin del clic.
En 4D, una rejilla de botones se utiliza como una paleta de colores:

Los botones en la rejilla se numeran de la parte superior izquierda a la parte inferior derecha. En este ejemplo, la rejilla
es de 16 columnas por 16 filas. El botn situado en la parte superior izquierda es el botn no1. El ltimo botn a la
derecha de la segunda fila es el botn no 32.
Para crear una rejilla de botones, aada una imagen de fondo al formulario y ubique una rejilla de botones sobre la
imagen. Especifique el nmero de filas y columnas en las reas de entrada correspondientes del tema Recorte.

Accin Ir a la pgina

Puede asignar la accin Ir a la pgina a una rejilla de botones. Cuando esta accin est activa, 4D muestra
automticamente la pgina del formulario que corresponde al nmero del botn seleccionado en la rejilla de botones
Por ejemplo, si el usuario selecciona el dcimo botn de la rejilla, 4D mostrar la dcima pgina del formulario actual (si
existe).
Si quiere manejar usted mismo el efecto de la seleccin de un botn, seleccione Sin accin.
Para mayor informacin consulte la seccin Acciones estndar.

- 319 -
Casillas de seleccin

Uso

Una casilla de seleccin se utiliza para introducir o mostrar datos binarios (verdadero-falso). Una casilla de seleccin es
un tipo de botn que puede estar seleccionado o deseleccionado. Su efecto es controlado por un mtodo. Como todos
los botones, una casilla de seleccin se inicializa en 0 cuando el formulario se abre por primera vez. El mtodo
asociado a una casilla de seleccin se ejecuta cuando la casilla de seleccin es seleccionada.
Generalmente una casilla de seleccin muestra texto junto a un cuadrado pequeo. Este texto se define en el rea Titulo
del tema Objetos en la Lista de propiedades. Puede introducir en esta rea una etiqueta en forma de referencia XLIFF
o STR# (ver la seccin MissingRef).
Cuando el usuario hace clic en el objeto, la casilla es marcada y su valor es 1. Cuando no est marcada, su valor es 0.
Todas las casillas de seleccin en un formulario pueden seleccionarse o deseleccionarse..

Un grupo de casillas de seleccin permite al usuario seleccionar varias opciones.


A diferencia de un campo booleano con formato de casilla de seleccin, los valores de la variable de la casilla de
seleccin no se guardan automticamente. Es necesario utilizar un mtodo para manejar la variable.
Nota: las casillas de seleccin 3D tienen el mismo funcionamiento que las casillas de seleccin pero su apariencia (por
ejemplo, la representacin del estado seleccionado/no seleccionado) es definida por las propiedades de la familia de
botones 3D. Para mayor informacin, consulte la seccin Botones 3D, Casillas de seleccin 3D y Botones radio
3D.

Casillas de seleccin de tres estados

Los objetos de tipo casillas de seleccin aceptan un tercer estado. El tercer estado es un estado intermedio, el cual se
usa generalmente para visualizacin. Este estado permite, por ejemplo, indicar que una propiedad est presente en una
seleccin de objetos, pero no en todos los objetos.

Para que una casilla de seleccin tome control de este tercer estado, debe definir la propiedad Tres estados en el
tema Mostrar de la Lista de propiedades:

Esta propiedad est disponible slo para casillas de seleccin estndar asociadas con variables numricas, las
casillas de seleccin 3D y las casillas de seleccin para campos booleanos no pueden utilizar la propiedad Tres
estados (un campo booleano no puede estar en un estado intermedio).
La variable asociada a la casilla de seleccin devuelve el valor 2 cuando la casilla de seleccin est en el estado
- 320 -
intermedio.
Consejo: en modo entrada, las casillas de seleccin muestran cada estado secuencialmente, en el siguiente orden: no
seleccionado/ seleccionado/ intermedio/no seleccionado, etc. El estado intermedio generalmente no es muy til en
modo entrada; en el cdigo, simplemente fuerza el valor de la variable a 0 cuando toma el valor 2 con el fin de pasar
directamente del estado seleccionado al estado no seleccionado.

- 321 -
Botones radio y botones radio imagen

Los botones radio y los botones radio imagen son objetos que permiten al usuario seleccionar un valor o imagen entre
un grupo de valores o de imgenes. Un botn radio aparece como un circulo seguido por un texto. Los botones imagen
de opciones muestran un icono o una imagen y estn sobre una imagen.
Nota: los botones radio 3D funcionan igual pero su apariencia est definida por las propiedades de la familia de
botones 3D. Para mayor informacin, consulte Botones 3D, Casillas de seleccin 3D y Botones radio 3D.
Cada tipo de botn radio se selecciona de la misma manera, usted hace clic en el objeto para seleccionarlo. Tambin
puede hacer clic en un botn imagen de opcin seleccionado para deseleccionarlo, pero no puede hacer esto con un
botn radio.
Los botones radio imagen son similares a los botones inversos en que son transparentes hasta que se seleccionan.
Cuando se seleccionan, invierten la imagen detrs de ellos hasta que se seleccione otro botn radio.
La parte restante de esta seccin utiliza el trmino botn radio para todos los tipos de botones radio.
Los botones radio se utilizan en forma de conjuntos coordinados: slo un botn a la vez puede seleccionarse en el
conjunto. Para funcionar de manera coordinada, un conjunto de botones de opcin debe estar agrupado en el editor de
formularios. Para hacerlo, puede utilizar el comando Grupo en el men Objeto o el botn correspondiente de la barra
de herramientas del formulario.

En versiones anteriores de 4D, el funcionamiento coordinado de un conjunto de botones radio se obtena al dar la
misma letra inicial a sus variables asociadas (por ejemplo, m_boton1, m_boton2, m_boton3, etc.). Por razones de
compatibilidad, este principio se mantiene por defecto en bases de datos convertidas. No obstante, puede forzar el uso
de este nuevo modo de utilizacin en las Preferencias (consulte Pgina Compatibilidad).
Los efectos de los botones radio se controlan con mtodos. Como todos los botones, un botn de opcin se inicializa
en 0 cuando el formulario se abre por primera vez. Un mtodo asociado a un botn radio se ejecuta cuando se
selecciona el botn.
El siguiente ejemplo representa un grupo de botones radio 3D utilizado en una base de datos de una coleccin de
videos para introducir la velocidad de grabacin. (SP, LP, o EP).

Al seleccionar un botn radio de un grupo el botn se pone en 1 y los otros botones del grupo en 0. Slo se puede
seleccionar un botn radio al mismo tiempo.
Nota: tambin puede asociar las variables de tipo booleano a los botones radio. En este caso, cuando un botn de un
grupo es seleccionado, su variable es verdadera y las variables para los otros botones radio son falsas.
El siguiente es un ejemplo de un botn radio imagen. El botn radio imagen seleccionado aparece con fondo negro:

El valor contenido en un objeto botn radio no se guarda automticamente; los valores de botones radio deben
almacenarse en sus variables y manejarse con la ayuda de mtodos.

- 322 -
Pop-ups/Listas desplegables

Presentacin

Los pop-up/listas desplegables son objetos que permiten al usuario seleccionar un elemento de una lista. Los elementos
que aparecen en las listas desplegables se manejan utilizando un array o una lista de valores.
Los nombres Pop-up y Lista desplegable se refieren a los mismos objetos; Pop-up es parte de la terminologa Mac
OS y Lista desplegable de Windows.
Como lo muestran los siguientes ejemplos, la apariencia de estos objetos es ligeramente diferente dependiendo de la
plataforma:

Windows

Mac OS

Utilizar un array

Un array es una lista de valores guardados en memoria que son referenciados por el nombre del array (ver Arrays y
objetos de formulario). Un pop-up/lista desplegable muestra un array como una lista de valores al hacer clic en l.

Los objetos pop-up/lista desplegable se inicializan al cargar una lista de valores en un array. Puede hacer esto de varias
formas:
Introducir una lista de valores por defecto en las propiedades del objeto. Para hacerlo, haga clic en el botn
Editar... en el tema Fuente de datos de la Lista de Propiedades. Para mayor informacin, consulte el prrafo
Listas de valores por defecto. Los valores por defecto se cargan automticamente en un array. Puede hacer
referencia al array utilizando el nombre de la variable asociada al objeto.
Antes de que el objeto se muestre, ejecute el cdigo que asigna los valores a los elementos del array. Por
ejemplo:

ARRAY TEXT(aCiudades;6)
aCiudades{1}:="Philadelphia"
aCiudades{2}:="Pittsburg"
aCiudades{3}:="Grand Blanc"
aCiudades{4}:="Bad Axe"
aCiudades{5}:="Frostbite Falls"
aCiudades{6}:="Green Bay"

En este caso, el nombre de la variable asociada al objeto en el formulario debe ser aCiudades.
Este cdigo debera ubicarse en el mtodo de formulario y ejecutarse cuando se produce el evento de formulario
On Load.
Antes de que el objeto se muestre, cargue los valores de una lista en el array utilizando el comando LIST TO
ARRAY. Por ejemplo:

LIST TO ARRAY("Ciudades";aCiudades)

En este caso, el nombre de la variable asociada al objeto en el formulario debe ser aCiudades.
Este cdigo puede ejecutarse en lugar de las declaraciones de asignacin anteriores.
Si necesita guardar en un campo la eleccin del usuario, es necesario utilizar una declaracin de asignacin que se
ejecute despus de que se acepte el registro. Una declaracin completa tipo Case en el mtodo de objeto se vera
como esta:
- 323 -
Case of
:(Form event=On Load)
LIST TO ARRAY("Ciudades";aCiudades)
If(Record number([Personas])<0) `nuevo registro
aCiudades:=3 `mostrar un valor por defecto
Else `registro existente, mostrar valor almacenado
aCiudades:=Find in array(aCiudades;Ciudad)
End if
:(Form event=On Clicked) `La seleccin se modifica
Ciudad:=aCiudades{aCiudades} `el campo recibe un nuevo valor
:(Form event=On Validate)
Ciudad:=aCiudades{aCiudades}
:(Form event=On Unload)
CLEAR VARIABLE(aCiudades)
End case

En la pgina Eventos de la ventana Lista de propiedades, debe elegir los eventos que prob en su declaracin tipo
Case.
Los array siempre contienen un nmero finito de elementos. La lista de elementos es dinmica y puede ser modificada
por un mtodo. Los elementos en un array pueden modificarse, organizarse y aadirse.
Para mayor informacin sobre la creacin y utilizacin de un array, consulte el captulo Arrays en el Manual de Lenguaje.

Utilizar una lista de seleccin

Si desea utilizar un pop-up/lista desplegable para gestionar los valores de un campo o de una variable listada, 4D le
permite referenciar directamente el campo o la variable como fuente de datos del objeto. Esto hace que sea ms fcil la
gestin de los campos/variables listados.

Nota: si utiliza una lista jerrquica, slo se mostrar y se puede seleccionar el primer nivel.
Por ejemplo, en el caso de un campo de "Color" que slo puede contener los valores "Blanco", "Azul", "Verde" o "Rojo",
ahora es posible crear una lista que contiene estos valores y asociarla a un objeto pop -up de men que referencia al
campo "Color" 4D. 4D se encarga entonces de la gestin automtica de la entrada y la visualizacin del valor actual en
el formulario
Para asociar un men pop-up/lista desplegable o un combo box a un campo o variable, slo introduzca directamente el
nombre del campo o de la variable en el rea Nombre de la variable del objeto:

Cuando se ejecuta el formulario, 4D gestiona automticamente el men desplegable o el combo box durante la entrada
o la visualizacin: cuando un usuario elige un valor, se guarda en el campo, cuando se muestra el formulario, este valor
de campo se muestra en el men desplegable:

Nota: no es posible combinar este principio con el uso de un array para inicializar el objeto. Si introduce un nombre de
campo en el rea de Nombre de variable, entonces debe utilizar una lista de opciones.

Guardar como

- 324 -
Al relacionar un objeto pop-up/lista desplegable a una lista de seleccin con un campo, puede utilizar la opcin Guardar
como Valor/Referencia disponible en el tema de "Fuentes de datos" de la Lista de propiedades.

Esta opcin le permite optimizar el tamao de los datos guardados. Para obtener ms informacin, consulte Guardar
como Valor o Referencia.

Accin Ir a la pgina

Puede asignar la accin automtica Ir a la pgina a un objeto de tipo pop-up/lista desplegable (tema Accin de la
Lista de propiedades). Cuando esta accin est seleccionada, 4D muestra automticamente la pgina del formulario
que corresponda al nmero del elemento seleccionado en la lista.
Por ejemplo, si el usuario selecciona el tercer elemento de la lista, 4D mostrar la tercera pgina del formulario actual (si
existe).
Si quiere manejar usted mismo el efecto de la seleccin de un elemento, seleccione Sin accin.

- 325 -
Combo box

Un combo box es similar a una lista desplegable, excepto que el objeto acepta la entrada de texto por el usuario y que
dispone de dos opciones especficas. Un combo box se inicializa de la misma forma que una lista desplegable (ver
Pop-ups/Listas desplegables).
Si el usuario introduce texto en el combo box, se llena el elemento 0 del array. En otras palabras, debe considerar el
combo box como una zona editable que utiliza un array o una lista de seleccin como conjunto de valores por defecto.
Utilice el evento On Data Change para manejar los valores de entrada al rea editable, como utilizara un objeto de rea
editable. Para mayor informacin, consulte la descripcin del comando Evento formulario en el manual de Lenguaje
de 4D.

Opciones de combo box

Los objetos de tipo Combo box aceptan dos opciones relativas a las listas de seleccin asociadas a ellos: Insercin
automtica y Exclusiones (lista de valores excluidos).
Insercin automtica
La opcin Insercin automtica se encuentra en el tema "Fuente de datos" de la Lista de propiedades para los
objetos de tipo combo box:

Nota: esta opcin tambin est disponible para las columnas del cuadro de lista, ya que sus clulas son muestra como
cuadros combinados cuando una columna est asociada con una lista de seleccin.
Cuando se activa esta opcin, si un usuario introduce un valor que no se encuentra en la lista de seleccin asociada al
objeto, este valor se aade automticamente a la lista almacenada en la memoria. Puede asociar listas de selecci0n
utilizando el comando OBJECT SET LIST BY NAME o OBJECT SET LIST BY REFERENCE.
Por ejemplo, dada una lista de opcion es asociada al combo box "Pas" y contiene "Francia, Alemania, Italia. Si el
usuario introduce "Espaa" y si la opcin Insercin Automtica est seleccionada, el valor "Espaa" se aade
automticamente a la lista en la memoria:

Naturalmente, el valor introducido no debe pertenecer a la lista de valores excluidos asociados al objeto, si se ha
definido (ver el siguiente prrafo).
Nota: si la lista se crea a partir de una lista definida en el modo Diseo, la lista original no se modifica.
Si la opcin Insercin automtica no est seleccionada, el valor introducido se almacena en el objeto, pero no en la
lista en memoria.
Lista de excludos
La opcin Lista de excluidos se ofrece en el tema "Rango de valores" de los objetos de tipo combo box, permitiendo
asociar una lista de valores excluidos a estos objetos. Si el usuario introduce un valor que pertenece a esta lista, su
entrada se rechaza automticamente (ver Listas de valores excluidos).
Nota: la posibilidad de asociar una lista de valores obligatorios no est disponible para los combo boxes. En una
interfaz, si un objeto debe proponer una lista finita de valores obligatorios, entonces debe utilizar un objeto de tipo de
lista despegable.

- 326 -
Listas jerrquicas y mens desplegables jerrquicos

Un men desplegable jerrquico tiene un submen asociado a cada uno de sus elementos. Este es un ejemplo de un
men jerrquico:

De la misma forma, una lista jerrquica tiene una sublista asociada con cada elemento en la lista. Este es un ejemplo de
una lista jerrquica:

Note: en los formularios, los mens desplegables jerrquicos estn limitados a dos niveles. Sin embargo, los objetos de
tipo lista jerrquica no estn limitados.
Puede expandir o contraer un elemento jerrquico haciendo clic en los iconos triangulares.
Puede controlar si un elemento en una lista jerrquica es modificable por el usuario. Si un elemento en una lista
jerrquica es editable, el usuario puede editarlo utilizando la combinacin Alt+clic (Windows) / Opcin+clic (bajo Mac
OS), o haciendo un clic largo en el texto del elemento. Si llena una lista jerrquica utilizando una lista creada en el editor
de listas, la propiedad modificable de los elementos de la lista est definida por la opcin Elemento modificable del
editor de listas. Para mayor informacin, consulte Definir las propiedades de las listas.
Los mens desplegables jerrquicos y las listas jerrquicas se manejan con la ayuda de comandos del lenguaje de
listas jerrquicas. El principio consiste en asignar la referencia de la lista jerrquica a la variable asociada al objeto en el
editor de formularios. Para mayor informacin, consulte la seccin Listas jerrquicas del Manual de Lenguaje 4D.
Tambin puede asociar referencias de listas jerrquicas a las listas de seleccin de objetos de formularios (fuentes,
valores obligatorios y valores excluidos) con los comandos OBJECT SET LIST BY REFERENCE o OBJECT SET
LIST BY NAME.

- 327 -
Mens pop-up imagen

Uso

Un men imagen desplegable muestra un array de imgenes bidimensional. Un men imagen desplegable puede ser
utilizado para reemplazar un men imagen. La creacin de la imagen a utilizar con el men imagen desplegable es
similar a la creacin de una imagen para un botn de imagen.
El concepto es el mismo que el de una Rejilla de botones, excepto que la imagen se utiliza como un men desplegable
en lugar de un objeto de formulario.
Para crear un men pop-up imagen, debe hacer referencia a una imagen. El siguiente ejemplo utiliza la imagen definida
para los botones de imagen. En este caso, le permite seleccionar el lenguaje de la interfaz seleccionndolo del men
imagen desplegable.
Cada lenguaje es representado por la bandera correspondiente:

Como con un botn imagen, un men imagen desplegable utiliza una imagen que est organizada en filas y columnas (o
en una rejilla). Puede ubicar esa imagen en la Librera de imgenes, en una variable imagen o en un archivo imagen:

La etapa siguiente consiste en aadir el men pop-up imagen al formulario.


Nota: La Librera de imgenes incluye caractersticas que le permiten organizar una imagen como una tabla de
miniaturas. Tambin le permite previsualizar los efectos de los parmetros actuales. Cuando una imagen se define
como una tabla de miniaturas, usted puede crear directamente un men imagen desplegable arrastrando el nombre de
la imagen al formulario mientras presiona la tecla Mays.

Propiedades
- 328 -
Varias propiedades especficas permiten configurar los mens imagen desplegables:
En el tema Imagen, defina la fuente de la imagen utilizando la lista desplegable Fuente. Puede elegir entre
Variable, Librera de imgenes, Archivo de recursos y Archivo. Una vez definida la fuente de la imagen, introduzca
el nombre (si la imagen es una variable) o el nmero (si la imagen proviene de la librera de imgenes o un archivo
de recursos) o la ruta de acceso (si la imagen viene de un archivo imagen) de la imagen en el rea Nombre/No;
en este ltimo caso, la ruta debe ser relativa a la carpeta Resources de la base (ver el prrafo Referenciacin
automtica de los archivos imgenes).
En el tema Recorte, defina el nmero de filas y columnas que componen la tabla de miniaturas.
Las opciones Margen horizontal y Margen Vertical crean un margen entre el borde del men y la imagen.
Introduzca los valores en pxeles.

Accin Ir a la pgina

Puede asociar la accin estndar Ir a la pgina a un objeto de tipo imagen men pop-up. Cuando esta accin est
activa, 4D muestra automticamente la pgina del formulario que corresponde a la posicin de la imagen seleccionada
en el array de imgenes. Los elementos se numeran de izquierda a derecha y de arriba a abajo, a partir del elemento
ubicado en la esquina superior izquierda.
Por ejemplo, si el usuario hace clic en el tercer elemento, 4D mostrar la tercera pgina del formulario actual (si existe).
Si prefiere manejar usted mismo el efecto del clic, conserve la opcin por defecto Sin accin.
Para mayor informacin sobre las acciones estndar, consulte la seccin Acciones estndar.

Programacin

Puede administrar los mens pop-up imagen utilizando mtodos. Como para las rejillas de botones, las variables
asociadas a mens imagen pop-up toman el valor del elemento seleccionado en el men imagen desplegable. Si no hay
un elemento seleccionado, el valor es 0. Los elementos se numeran, fila por fila, de izquierda a derecha comenzando
por la fila superior.

- 329 -
Indicadores

Los indicadores de progresin (tambin llamados "termmetros"), reglas y dials son objetos que muestran valores de
forma grfica. Los tres objetos funcionan de la misma forma; la nica diferencia es su apariencia. Nos referimos a estos
tres objetos como indicadores.
Puede utilizar los indicadores para mostrar o definir valores. Por ejemplo, si un termmetro recibe un valor por un
mtodo, muestra el valor. Si el usuario modifica manualmente el valor, el valor cambia. El valor puede ser utilizado por
otro objeto tal como un campo o un objeto no editable.

Indicador de progreso / Dial / Regla

Tipos de indicadores

4D ofrece varios tipos de indicadores los cuales consisten en tres tipos principales y sus variantes. Para saber cmo
seleccionar un tipo especifico de indicador, consulte la seccin "Definir los tipos de indicadores" a continuacin.
Barra de progreso
Tipo principal: Indicador de progreso (termmetro)

La barra de progreso es el indicador de progreso por defecto. Puede mostrar una barra de progresin horizontal o
vertical. Este parmetro es determinado por la forma del objeto que dibuje.
Barber shop
Tipo principal: Indicador de progresin (termmetro)
(MacOS)
(Windows)

Este tipo de termmetro muestra una animacin contina. Los termmetros Barber shop generalmente se utilizan para
indicar al usuario que el programa est en el proceso de efectuar una operacin larga. Cuando esta variante est
seleccionada, las opciones del tema "Graduacin" se ocultan.
Cuando se ejecuta el formulario, el termmetro no se anima. La animacin debe manejarse pasando un valor a la
variable asociada al termmetro:
1 (o cualquier valor diferente de 0) = Iniciar animacin,
0 = Detener animacin.
Nota: los termmetros Barber shop funcionan nicamente con la apariencia Sistema o Impresin.
Barra de progreso asincrnica
Tipo principal: Indicador de progreso (termmetro)

Este indicador circular muestra tambin una animacin continua. Este tipo de objeto indica que una operacin tal como

- 330 -
la bsqueda de conexin de red o un clculo est en progreso. Cuando esta variante est seleccionada, las opciones
del tema "Graduacin" se ocultan.
Cuando se ejecuta el formulario, el termmetro no se anima. La animacin debe manejarse pasando un valor a la
variable asociada al termmetro:
1 (o cualquier valor diferente de 0) = Iniciar animacin,
0 = Detener animacin

Regla
Tipo principal: Regla

La regla es un objeto de interfaz estndar utilizado para definir o leer un valor utilizando un cursor ubicado en una regla.
Puede asignar su variable asociada a un rea editable (campo o variable) para guardar o modificar el valor actual del
objeto.
Botn paso a paso
Tipo principal: Regla
Botn paso a paso asociado a la variable vStep.
Este objeto estndar permite al usuario desplazarse por valores numricos, duraciones (horas) o fechas por pasos
predefinidos haciendo clic en los botones en forma de flechas.
Puede asignar la variable asociada al objeto a un rea editable (campo o variable) para guardar o modificar el valor
actual del objeto.
Un botn paso a paso puede asociarse directamente a una variable numrica, hora o fecha.
Para los valores de tipo hora, las propiedades Mnimo, Mximo y Paso representan los segundos. Por ejemplo,
para definir un paso de 8:00 a 18:00 con pasos de 10 minutos:
Mnimo = 28 800 (8*60*60)
Mximo = 64 800 (18*60*60)
Paso = 600 (10*60)
Para los valores de tipo fecha, el valor introducido en la propiedad Paso representa los das. Las propiedades
Mnimo y Mximo se ignoran.
Nota: para que el botn paso a paso funcione con una variable hora o fecha, es imperativo definir su tipo en la lista de
propiedades Y declararlo explcitamente va el comando C_TIME o C_DATE.

Dial
Tipo principal: Dial

Este tipo de indicador presenta los datos en forma de semicirculo.

Definir los tipos de indicadores

Los dials, indicadores de progreso y reglas estn disponibles utilizando el botn de la barra de objetos del editor
de formularios. Los objetos de tipo "indicador de progresin" (Termmetro) y "Regla" aceptan diferentes variantes.
Para los indicadores de progresin, estas variantes se definen utilizando la propiedad Tipo de indicador del
tema "Mostrar" de la lista de propiedades:

- 331 -
Para las reglas, estas variantes se definen va la propiedad Mostrar como del tema "Mostrar" de la Lista de
propiedades:

Nota: estas variantes pueden especificarse utilizando el comando OBJECT SET FORMAT.

Propiedades de los indicadores

Adems de las propiedades estndar de apariencia y ubicacin, puede definir otras propiedades especficas para
cada indicador: valor mnimo, valor mximo, unidades de graduacin, los mnimos pasos permitidos por el indicador
como tambin las opciones de visualizacin.
Tambin puede definir el formato de salida de una etiqueta del indicador (para mayor informacin sobre los formatos de
salida, consulte la seccin GET LIST ITEM PARAMETER).

Graduaciones
Estas propiedades especficas se definen en el tema Graduacin de la Lista de propiedades:

- 332 -
Este tema de propiedades se muestra para los indicadores de tipo barra de progreso, regla, botn paso a paso y dial.
Las propiedades disponibles tambin dependen del tipo de indicador. Esta es la descripcin de cada propiedad:
Mnimo y Mximo: valores mnimo y mximo del indicador.
En el caso de un botn paso a paso numrico, estas propiedades representan los segundos cuando el objeto est
asociado a un valor de tipo hora y si est asociado a un valor de tipo fecha.
Unidad: unidad de visualizacin de las graduaciones.
Paso: intervalo mnimo aceptado entre dos valores durante la utilizacin.
En el caso de un botn paso a paso numrico, esta propiedad representa los segundos cuando el objeto est
asociado a un valor de tipo hora y das si est asociado a un valor de tipo fecha.
Posicin de la etiqueta: ubicacin de las etiquetas cuando se muestran.
Abajo: muestra las etiquetas a la derecha o abajo del indicador.

Arriba: muestra las etiquetas a la izquierda o arriba del indicador.

Etiquetas: muestra /oculta etiquetas.


Graduacin: muestra/oculta las graduaciones junto a las etiquetas.

Ejecutar mtodo del objeto


Cuando se selecciona un objeto indicador, hay una propiedad adicional en el tema Accin de la Lista de propiedades:
Ejecutar mtodo del objeto.
Cuando esta opcin est seleccionada, el mtodo del objeto se ejecutar con el evento On Data Change cuando el
usuario cambie el valor del indicador. Por defecto, el mtodo se ejecuta despus de la modificacin.

Gestin programada de indicadores

La variable asociada al indicador controla la salida. Puede poner valores en el indicador o utilizar los valores del
indicador utilizando mtodos. Por ejemplo, un mtodo para un campo u objeto editable puede utilizarse para controlar un
termmetro:

vTerm:=[Empleados]Salario

Este mtodo asigna el valor del campo Salario a la variable vTerm. Este mtodo est asociado al campo Salario.
Recprocamente, puede utilizar el indicador para controlar el valor de un campo. El usuario arrastra el indicador para
definir el valor. El mtodo:

[Empleados]Salario:=vTerm

El mtodo asigna el valor del termmetro al campo salario. A medida que el usuario arrastra el indicador, el valor en el
campo Salario cambia.

- 333 -
Pestaas

Uso

Una pestaa crea un objeto que permite al usuario elegir entre un conjunto de pantallas virtuales que estn entre las
pestaas. Se accede a cada pantalla haciendo clic en su pestaa.
El siguiente formulario multipginas utiliza pestaas.

Para navegar de una pantalla a otra, el usuario simplemente hace clic en la pestaa correspondiente.
Las pantallas pueden representar pginas en un formulario multipginas o un objeto que cambia cuando el usuario hace
clic en una pestaa. Si la pestaa se utiliza como herramienta de navegacin, entonces el comando FORM GOTO
PAGE o la accin automtica Ir a la pgina se utiliza cuando el usuario hace clic en una pestaa.
Otro uso de una pestaa es controlar la informacin que se muestra en un subformulario o en reas de desplazamiento
agrupadas. Por ejemplo, un rolodex podra implementarse utilizando una pestaa. Las pestaas mostraran las letras del
alfabeto y la accin de la pestaa ser cargar la informacin correspondiente a la letra en la que el usuario haga clic.
Cada pestaa puede mostrar etiquetas o etiquetas y un icono pequeo. Si incluye iconos, el icono aparece a la
izquierda de cada etiqueta. Este es un ejemplo de pestaas con iconos:

- 334 -
Cuando crea una pestaa, 4D maneja el espacio y la ubicacin de las pestaas. Slo debe suministrar las etiquetas en
forma de un array o los iconos y las etiquetas en forma de una lista jerrquica.
Si la pestaa no es lo suficientemente grande para mostrar las etiquetas y los iconos, 4D muestra slo los iconos. Si no
puede ajustar todos los iconos, pone una flecha de desplazamiento a la derecha de la ltima pestaa visible. Las flechas
de desplazamiento permiten al usuario desplazar los iconos hacia la izquierda o derecha.
Bajo Mac OS, las pestaas pueden ser alineadas, ms all de la posicin estndar (arriba), a la izquierda, a la derecha,
o hacia abajo (ver el prrafo Modificar la orientacin (Mac OS nicamente) en la seccin a continuacin).

Aadir etiquetas a una pestaa

Hay varias formas de poner etiquetas en una pestaa:


Puede asociar la pestaa a una lista de valores por defecto, accesible utilizando el botn Editar junto a la
propiedad Valores por defecto en el tema Fuente de datos de la Lista de propiedades. Para mayor informacin
sobre este punto, consulte el prrafo Listas de valores por defecto. Los valores por defecto se cargan
automticamente en un array. Puede hacer referencia a este array utilizando el nombre de la variable asociada a
la pestaa.
Puede crear una lista utilizando el editor de listas y asignando la lista a la pestaa como lista de valores, como se
muestra a continuacin:

Si lo prefiere, puede asociar un pequeo icono a cada elemento de la lista utilizando el editor de listas. Para
mayor informacin, consulte el prrafo Asociar un icono pequeo a un elemento.
Puede crear un array Texto que contenga los nombres de cada pgina del formulario. Este cdigo debe
ejecutarse antes de que el formulario se presente al usuario. Por ejemplo, puede poner el cdigo en el mtodo del
- 335 -
objeto de la pestaa y ejecutarlo cuando ocurra el evento On Load.

ARRAY TEXT(asPaginas;3)
asPaginas{1}:="Nombre"
asPaginas{2}:="Direccin"
asPaginas{3}:="Notas"

Nota: igualmente puede almacenar los nombres de las pginas en una lista jerrquica y utilizar el comando Load list
para cargar los valores en el array.

Comando GOTO PAGE

Utilice el comando FORM GOTO PAGE en el mtodo de la pestaa:

FORM GOTO PAGE(arrPages)

El comando se ejecuta cuando ocurre el evento On Clicked. Borre el array cuando ocurra el evento On Unload.
Este es un ejemplo de mtodo del objeto:

Case of
:(Form event=On Load)
LIST TO ARRAY("Tab Labels";asPaginas)
:(Form event=On Clicked)
FORM GOTO PAGE(arrPages)
:(Form event=On Unload)
CLEAR VARIABLE(asPaginas)
End case

Accin Ir a la pgina

Puede asociar la accin Ir a la pgina a una pestaa. Cuando esta accin est activa, 4D muestra automticamente la
pgina del formulario que corresponde al nmero de la pestaa seleccionada.
Por ejemplo, si el usuario hace clic en la tercera pestaa, 4D mostrar la tercera pgina del formulario actual (si existe).
Si prefiere manejar usted mismo el efecto de un clic sobre una pestaa, seleccione Sin accin.
Para mayor informacin sobre las acciones estndar, consulte la seccin Acciones estndar.

Modificar la orientacin (Mac OS nicamente)

Puede definir la orientacin de las pestaas en sus formularios. Esta propiedad est disponible en todas las
plataformas pero slo puede visualizarse bajo Mac OS, cuando la interfaz de la plataforma es Sistema. Puede elegir
ubicar las pestaas arriba (estndar) o abajo.
La orientacin de las pestaas se define en el tema Apariencia de la Lista de propiedades.
Cuando las pestaas con una orientacin personalizada se muestran bajo Windows o con la plataforma Impresin,
automticamente regresan a la orientacin estndar (arriba).

- 336 -
Separadores

Uso

Un separador divide un formulario en dos reas, permitindole al usuario agrandar o reducir las reas moviendo el
separador. Un separador puede ser horizontal o vertical. El separador tiene en cuenta las propiedades de
redimensionamiento de los objetos, lo cual permite personalizar completamente la interfaz. Un separador puede o no
ser un desplazador.

El separador se utiliza generalmente en formularios de salida de manera que las columnas puedan ser
redimensionadas:

Estas son algunas de las caractersticas generales de los separadores:


Puede poner tantos separadores como quiera en todo tipo de formulario y utilizar una combinacin de
separadores horizontales y verticales en un mismo formulario.
Un separador puede cruzar un objeto. Este objeto se redimensionar cuando se mueva el separador.
Los topes de los separadores se calculan de manera que los objetos que se muevan permanezcan
completamente visibles en el formulario o no pasen debajo o al lado de otro separador. Cuando la propiedad
Desplazador est asociada a un separador, su movimiento hacia la derecha o hacia abajo no encuentra topes.
Si redimensiona un formulario utilizando un separador, las nuevas dimensiones del formulario se guardan slo
mientras se muestra el formulario. Una vez se cierra el formulario, las dimensiones iniciales se restauran.
Una vez insertado, el separador aparece como una lnea. Puede modificar su estilo de borde para obtener una lnea
ms fina o cambiar su color. Igualmente puede utilizar un botn invisible como separador con la accin estndar
Separador automtico.

Interaccin con las propiedades de los objetos vecinos

En un formulario, los separadores interactan con los objetos que los rodean de acuerdo a las opciones de
redimensionamiento de estos objetos:

- 337 -
Objeto(s) sobre el
Opciones de separador Objeto(s) debajo del separador
redimensionamiento horizontal o a la horizontal o a la derecha del
de los objetos derecha del separador vertical
separador vertical1
(1)
separador
separador no Desplazador
Desplazador
se mueven con el separador se mueven con el
(conservan su posicin relativa) hasta separador (conservan su
Permanece como el siguiente tope. El tope cuando se posicin relativa)
Ninguno
est mueven hacia abajo o a la derecha es indefinidamente. No se
el borde de la ventana u otro aplican topes (ver el
separador. siguiente prrafo)
Mantienen su
posicin original pero
son redimensionados
Agrandar
de acuerdo a la
nueva posicin del
separador
Se mueven con el
Mover
separador
(1) No es posible arrastrar el separador ms all del lado derecho (horizontal) o inferior (vertical) de un objeto ubicado
en esta posicin.
Nota: un objeto completamente dentro de un rectngulo que define el separador se mueve al mismo tiempo que el
separador.

Propiedad Desplazador

La propiedad Desplazador est disponible para los objetos separadores en el tema Opciones de redimensin de la
Lista de propiedades. Cuando un objeto separador tiene esta propiedad, todos los objetos situados a la derecha
(separador vertical) o debajo (separador horizontal) son desplazados al mismo tiempo que el separador, sin tope.
Este es el resultado del desplazamiento de un separador "desplazador:

Cuando esta propiedad no se aplica a los separadores, el resultado es el siguiente:

Esta propiedad est seleccionada por defecto para las nuevas bases.

Gestin programada de separadores

Puede asociar un mtodo de objeto a un separador. Este mtodo ser llamado por el evento On Clicked durante todo el
desplazamiento.
Una variable de tipo Entero largo est asociada a cada separador. Esta variable puede utilizarse en sus mtodos de
objeto y/o formulario. Su valor indica la posicin actual del separador, en pxeles, relativo a su posicin inicial.
si el valor es negativo: el separador fue desplazado hacia arriba o hacia la izquierda,
si el valor es positivo: el separador fue desplazado hacia abajo o hacia la derecha,
si el valor es igual a 0: el separador fue desplazado a su posicin original.
Igualmente puede mover el separador por programacin: slo tiene que definir el valor de la variable asociada. Por
ejemplo, si un separador vertical est asociado a la variable separa1 y usted ejecuta la siguiente declaracin:
separa1:=-10, el separador se mover 10 pxeles a la izquierda, como si el usuario lo hiciera manualmente. El
desplazamiento se efecta al final de la ejecucin del mtodo de objeto o de formulario que contenga la instruccin.
La accin Separador automtico permite crear separadores personalizados en sus formularios. Puede asignar esta
- 338 -
accin a un objeto de tipo botn invisible. Cuando se asigna esta accin estndar a un botn invisible, el botn acta
exactamente como un separador. Si, por ejemplo, pega una imagen en el botn invisible, puede crear una interfaz
personalizada para sus separadores. Para mayor informacin, consulte el prrafo Botones.

- 339 -
reas web

Las reas web pueden mostrar varios tipos de contenido web (*) al interior de sus formularios: pginas HTML con
contenido esttico o dinmico contienen, archivos, imgenes, Javascript... o incluso documentos MS Office (bajo
Windows cuando MS Office est instalado).

(*) El uso de plugins Web y applets Java no se recomienda en reas Web, ya que pueden conducir a la inestabilidad en
el funcionamiento de 4D, en particular a nivel de gestin de eventos.
(1) Para mostrar los documentos PDF, Mac OS utilice la herramienta de previsualizacin (incluida en el sistema)
mientras que Windows necesita la instalacin de Acrobat Reader.
El motor de renderizacin del rea web depende de la plataforma de ejecucin de la aplicacin y del estado de la
opcin Utilizar Web Kit integrado (ver el prrafo "Propiedades especficas").
Es posible crear varias reas web en un mismo formulario.
Varias acciones estndar, numerosos comandos de lenguaje y eventos de formulario permiten al desarrollador controlar
el funcionamiento de las reas web. Las variables especificas permiten intercambiar informacin entre el rea y el
entorno 4D.
Esta seccin detalla los principios relativos al uso y configuracin de objetos de tipo rea web en el editor de
formularios. Para mayor informacin sobre la gestin programada de estos objetos, consulte los comandos rea web
en el manual de Lenguaje 4D.
Note tambin que el uso de reas web est sujeto a varias reglas en el prrafo Notas sobre uso de reas web en el
manual Lenguaje de 4D.

- 340 -
Propiedades especficas

Cuando selecciona un objeto rea web en el editor de formulario, la lista de propiedades muestra las siguientes
propiedades especficas:

Men contextual
Cuando selecciona la propiedad Men contextual para un rea web (tema "Entrada", el usuario puede acceder a un
men contextual estndar en el rea durante la ejecucin del formulario.
El contenido del men est definido por el motor de renderizacin de la plataforma: WebKit de Apple (renderizacin del
navegador Safari) bajo Mac OS y ActiveX Web (renderizacin del navegador Internet Explorer) bajo Windows.
Nota: es posible controlar el acceso al men contextual va el comando WA SET PREFERENCE.
Variables asociadas
Dos variables especficas estn automticamente asociadas a cada rea web: URL y Progreso Estas variables
permiten controlar respectivamente el URL mostrado por el rea web y el porcentaje de carga de la pgina mostrada en
el rea web. Por defecto, estas variables se llaman, respectivamente, nomArea_url y nomArea_progress. Puede
cambiar estos nombres si lo prefiere.
Estas variables se definen en la Lista de propiedades cuando un rea web est seleccionada.
Para mayor informacin sobre el funcionamiento de estas variables, consulte la seccin Gestin programada de
reas web en el manual de Lenguaje 4D.
Uso del Web Kit integrado
Se utiliza esta opcin para elegir entre dos motores de renderizacin para el rea web, en funcin de las
especificaciones de su aplicacin:
"Utilizar Web Kit integrado" sin seleccionar (por defecto): en este caso, 4D utiliza el "mejor" motor
correspondiente al sistema. Bajo Windows, 4D utiliza automticamente la versin ms reciente del navegador
Internet Explorer presente en la mquina (IE9, IE10, etc.)
Bajo Mac OS, 4D utiliza la versin actual del Web Kit.
Este funcionamiento permite beneficiarse automticamente de los ltimos avances en renderizacin web, a travs
de HTML 5 o JavaScript. Sin embargo, es posible que note algunas diferencias de renderizacin entre las
implementaciones de Internet Explorer y de Web Kit.
"Utilizar Web kit integrado" seleccionado:en este caso, 4D utiliza Web Kit en todas las plataformas. Web Kit
es un motor de renderizacin web de cdigo abierto y multi-plataforma. Tambin es utilizado por los navegadores
Safari y Google Chrome, entre otros.
4D tiene una versin integrada de Web Kit. El uso del Web Kit integrado significa que la renderizacin del rea
web y su funcionamiento en su aplicacin son idnticos, independientemente de la plataforma utilizada para
ejecutar 4D (sin embargo, se pueden presentar ligeras variaciones de pxeles o diferencias relacionadas con la
implementacin de la red).
Cuando esta opcin se elige, usted ya no se beneficia de las actualizaciones automticas del motor Web
efectuadas por el sistema operativo; sin embargo, las nuevas versiones del WebKit se ofrecen va 4D.

- 341 -
Notas:
Bajo Windows XP, 4D v13 no soporta el motor WebKit integrado. En este contexto, el modo estndar (mejor
motor) est siempre activado.
Cuando el motor Web Kit integrado se utiliza, note los siguientes detalles:
cuando se muestran pginas utilizando el protocolo HTTPS, la autoridad del certificado no se verifica.
Bajo Windows, los archivos PDF slo pueden mostrarse en una ventana externa.
Cuando se muestra un rea web en un nuevo proceso, en particular, una creada con el comando New
process, es necesario definir un tamao de pila de al menos 256 KB (256*1024) con el fin de asegurar su
correcta visualizacin.

Acceso a mtodos 4D
Nota: esta opcin slo est disponible cuando est activada la opcin Utilizar Web Kit integrado.

Cuando esta propiedad est seleccionada, un objeto JavaScript especial ($4d) se instancia en el rea web y permite
gestionar las llamadas a los mtodos proyecto de 4D. Para obtener ms informacin acerca de cmo funciona esta
opcin, consulte la seccin #title id="3212"/] en el manual Lenguaje de 4D.

Acciones estndar

Hay cuatro acciones estndar especficas para la gestin automtica de reas web: Abrir URL anterior, Abrir URL
siguiente, Refrescar URL actual y Detener carga de URL. Estas acciones pueden asociarse a los botones o
comandos de mens y permite implementar las interfaces web bsicas. Estas acciones se describen en Acciones
estndar.

Eventos y comandos de lenguaje

Las reas web tambin pueden controlarse utilizando eventos formulario y comandos de lenguaje especficos. Estos se
describen en el captulo rea web del manual Lenguaje de 4D.

- 342 -
Areas de Plug-ins

Un rea de plug-in es un rea de un formulario controlada por un plug-in 4D. Cuando abre una base de datos, 4D crea
una lista interna de plug-ins instalados en su base. Una vez haya insertado un rea Plug-in en un formulario, 4D lista los
plug-ins disponibles en la ventana Lista de propiedades. Por defecto estn disponibles los plug-ins OLE tools (slo en
Windows) y Report.
Nota: algunos plug-ins no pueden utilizarse en formularios o en ventanas externas. En este caso, no aparecen en la lista
de plug-ins de la Lista de propiedades.
Para designar el plug-in a utilizar en el rea, seleccione su nombre directamente en la lista Tipo (tema Objetos):

Nota: cuando el tipo de objeto es un rea de plug-in, el botn Avanzado puede estar disponible en las propiedades del
rea si el autor del plug-in ofrece opciones avanzadas. En este caso, puede hacer clic en este botn para definir estas
opciones. Como la caja de dilogo de opciones avanzadas es controlada por el autor del plug-in, la informacin sobre
estas opciones avanzadas es responsabilidad del distribuidor del plug-in.
Si dibuja un rea de plug-in muy pequea, 4D la mostrar en forma de botn con el ttulo del nombre de la variable
asociada al rea. Durante la ejecucin, el usuario hace clic en este botn para abrir una ventana especfica que muestre
el plug-in.

Instalar los plug-ins

Para instalar un plug-in in en su entorno 4D, primero debe salir de 4D. Los plug-ins se cargan al lanzar 4D. Para mayor
informacin sobre la instalacin de plug-ins, consulte la seccin Instalacin de plugins o componentes.

Uso de plug-ins

La capacidad de integrar los plug-ins en los formularios permite acceder a posibilidades ilimitadas al crear aplicaciones
personalizadas. Un rea de plug-in puede realizar una tarea simple como mostrar un reloj digital en un formulario, o una
tarea compleja tal como ofrecer un procesador de texto, una hoja de clculo o un editor grfico.
Muchas de estas capacidades ya estn disponibles en el entorno de 4D bajo la forma de plug-ins 4D. Por ejemplo:
4D Internet Commands, un conjunto de herramientas que ofrece rutinas de red de bajo nivel,
4D Write, una aplicacin de procesamiento de texto,
4D View, una aplicacin avanzada de hoja de clculo y gestin de listas.
Para mayor informacin, consulte la documentacin que viene con estos plug-ins. Los manuales de programacin de
estos plug-ins estn disponibles en el 4D Doc Center: 4D Internet Commands, 4D Write - Lenguaje y 4D View -
Lenguaje.
Nota: el plug-in 4D Chart, utilizado para generar y mostrar grficos, tambin est disponible. Sin embargo, este plug-in
- 343 -
es obsoleto desde 4D v13 (ver 4D Chart).
Si est interesado en disear sus propios plug-ins, puede recibir mayor informacin sobre la escritura e implementacin
de plug-ins. 4D ofrece un completo kit para ayudarle a escribir plug-ins personalizados. Para mayor informacin,
contacte 4D, Inc. (http://www.4d.com).

reas de plug-ins integradas

Por defecto, 4D ofrece los siguientes tipos de plug-ins:


Grfico: un rea de grfico puede generarse por programacin utilizando los comandos GRAPH y _o_GRAPH
TABLE.
OLE tools (Windows nicamente): bajo Windows, un rea OLE permite abrir una ventana con los documentos de
otras aplicaciones dentro de su base de datos. Este tema se describe en detalle en el manual OLE Tools.
Nota: igualmente es posible crear un rea OLE directamente utilizando el comando Insert an OLE Object del
men Objeto.
Report: un rea Report se utiliza para insertar un informe rpido en un formulario. El rea de informe rpido puede
mostrar los datos en forma de tabla, realizar clculos, etc. Esta rea puede controlarse utilizando su propia barra
de men o utilizando los comandos de lenguaje de 4D. Para mayor informacin, consulte el captulo Informes
rpidos.

- 344 -
Propiedades de los objetos activos

Nombres de los objetos


Controles y ayuda a la entrada
Formatos de salida
Guardar como Valor o Referencia
Arrastrar y soltar
Acciones estndar
Efecto espejo (Windows)
Multiestilo (rea de texto enriquecido)
Multilneas
Barras de desplazamiento
Men contextual (imgenes)
Atajo de teclado
Memorizacin de la geometra de las ventanas

- 345 -
Nombres de los objetos

Nombre de objeto y nombre de variable

Cada objeto activo de formulario est asociado a un nombre de objeto y una variable. El nombre de la variable puede
ser diferente al nombre del objeto. En un mismo formulario, puede utilizar varias veces la misma variable pero cada
nombre de objeto debe ser nico.
Nota: el tamao de los nombres de los objetos est limitado a 255 bytes y los nombres de variables a 31 caracteres.
En el lenguaje de 4D, puede referirse a un objeto activo de formulario por intermedio de su nombre de objeto o de su
nombre de variable (para mayor informacin consulte Propiedades de los objetos en el manual Lenguaje de 4D).
Para mayor informacin sobre las reglas de nombres de los objetos de formulario y de las variables, consulte la seccin
Reglas de nombres de tablas y campos (las reglas son las mismas) y la seccin Convenciones en el manual
Lenguaje de 4D.
Variables dinmicas
Ahora puede dejar a 4D crear dinmicamente y en funcin de sus necesidades, las variables asociadas a sus objetos
de formularios (botones, variables editables, casillas de seleccin, etc.). Para hacer esto, es suficiente con dejar vaco el
campo "Nombre de la variable" en la Lista de propiedades para el objeto:

Para mayor informacin, consulte la seccin Variables en el manual Lenguaje de 4D.

Uso de expresiones como nombres de variables

Las variables asociadas a los objetos de formulario pueden contener todo tipo de expresin que devuelva un valor y no
slo el nombre de la variable. Simplemente puede introducir la expresin directamente en el rea Nombre de variable
de las propiedades del objeto:

Toda expresin 4D vlida es aceptada: expresin simple, frmula, funcin 4D, nombre del mtodo de proyecto o campo
utilizando la sintaxis estndar [Tabla]Campo. La expresin se evala durante la ejecucin del formulario. Naturalmente
en este caso no es posible administrar el valor de la variable por programacin.
Las posibilidades ofrecidas por este principio son mltiples. Por ejemplo, esto significa que puede asociar un campo
numrico a un termmetro con el fin de representar los valores en forma
grfica en listas:

- 346 -
Nota: si el valor introducido corresponde a la vez al nombre de una variable y al del un mtodo, 4D considera que usted
est indicando el mtodo.

- 347 -
Controles y ayuda a la entrada

Con la ayuda de la Lista de propiedades, puede definir diferentes propiedades que permiten controlar y facilitar la
entrada de datos por el usuario en los objetos activos editables. Estas propiedades le permiten:
Definir los atributos relacionados con la seleccin y la entrada,
Definir un filtro de entrada que controle los caracteres autorizados,
Mostrar un texto de ejemplo,
Mostrar una lista de valores,
Establecer listas de valores obligatorios o excluidos,
Definir los valores mximos y mnimos, o los valores por defecto,
Definir el modo de seleccin del objeto,
Verificar la ortografa
Mostrar mensajes de ayuda

Editable

El atributo Editable indica si los valores pueden ser editados por el usuario en el objeto. Este atributo puede
seleccionarse en el tema Entrada de la Lista de propiedades para los Campos y variables objetos.
Un campo de una tabla relacionada puede no ser editable si deselecciona la opcin Campos relacionados
accesibles en el asistente de formularios. Puede hacer que el campo relacionado sea editable seleccionando la casilla
Editable.
Todos los campos son editables por defecto. Si desea hacer que un campo no sea editable en un formulario, puede
deseleccionar la opcin Editable para el objeto. Un objeto no editable slo muestra datos. Los datos son controlados
por mtodos que utilizan el nombre de la variable o del campo. Los eventos de formulario On Clicked, On Double
Clicked, On Drag Over, On Drop, On Getting Focus y On Losing Focus pueden utilizarse con objetos no editables. Esto
facilita en particular la gestin de mens contextuales personalizados y el diseo de interfaces donde puede arrastrar y
soltar y seleccionar variables no editables.
Notas:
El contenido de la Lista de propiedades es contextual. Cuando el atributo Editable no est seleccionado en la
Lista de propiedades, las propiedades relacionadas con el control de entrada de datos (Obligatorio, Tabulable,
Filtro de entrada, etc.) desaparecen de la lista.
La propiedad No editable tambin puede definirse para un campo a nivel del editor de estructura (ver la seccin
UNREGISTER CLIENT. En este caso, la opcin Editable no aparece en la Lista de propiedades para este
campo (ver a continuacin).

Obligatorio

Seleccionar la opcin Obligatorio hace que el campo o el objeto editable, sea obligatorio en ese formulario. 4D no
aceptar un registro si el campo o el objeto no contienen un valor.
Ningn campo u objeto editable es obligatorio por defecto. Para volver un campo obligatorio en todos los formularios,
seleccione el atributo Obligatorio en la ventana Inspector del editor de estructura. Si quiere que un campo o algn otro
objeto editable sea obligatorio en un formulario particular, seleccione la opcin Obligatorio en las propiedades del
objeto.

Propiedades de campos y atributos Editable y Obligatorio

Los atributos Editable y Obligatorio son similares a los atributos de campo que puede definir en el editor de estructura
(ver Almacenado en registro, archivo de datos o fuera del archivo de datos). Si desea que estos atributos sean
diferentes en un formulario en particular, puede modificarlos en las propiedades de cada campo. Estos atributos pueden
definirse en el tema Controles de entrada de la Lista de Propiedades para los Campos y variables objetos.
Estos atributos no anulan los atributos de campo definidos en el editor de estructura. Si un campo est definido como
No editable en el editor de estructura, no puede volverlo editable seleccionando el atributo Editable para el formulario. Si
un campo est definido como Obligatorio en el editor de estructura, no puede volverlo no obligatorio deseleccionando el
atributo Obligatorio del editor de formularios. Las casillas de seleccin de los atributos Editable y Obligatorio, no
necesariamente reflejan los atributos definidos en el editor de estructura.

- 348 -
Tabulable

Puede definir el atributo Tabulable para cada campo editable. Cuando este atributo est seleccionado para un campo,
se incluye en el orden de entrada y estar activo cuando el usuario presione la tecla Tab.
Por defecto, este atributo est seleccionado para todos los campos. Si lo deselecciona, el campo se excluir del orden
de entrada. Sin embargo, an puede seleccionarse con un clic en el ratn o a travs de un mtodo.
Para mayor informacin sobre el orden de entrada, consulte la seccin Modificar el orden de entrada de los datos.
Puede activar el atributo Tabulable para un objeto no editable. En este caso, puede seleccionar este objeto utilizando la
tecla Tab pero no podr introducir valores.
La propiedad Tabulable slo es accesible si la propiedad Enfocable est seleccionada. En otras palabras, todo
objeto tabulable puede obtener el foco. Sin embargo, algunos objetos pueden ser enfocables sin ser tabulable (por
ejemplo, un objeto puede seleccionarse haciendo clic en l). En este caso, el objeto no pertenece a la secuencia de
entrada de datos.

Enfocable

Esta propiedad es accesible en el tema Entrada de la Lista de propiedades para los objetos activos (editables o no)
como tambin para los campos no editables.
Cuando la propiedad Enfocable se selecciona para un objeto, el objeto puede obtener el foco (y por lo tanto puede
activarse por el teclado por ejemplo). Es subrayado por una raya punteada gris cuando est seleccionado, excepto si la
opcin Ocultar rectngulo de foco tambin haya sido seleccionada (ver la siguiente seccin).
Casilla de seleccin seleccionada pero no muestra el foco
Casilla de seleccin que muestra el foco cuando es seleccionada
Cuando la propiedad Enfocable es seleccionada para un objeto no editable, el usuario puede seleccionar, copiar o
incluso transportar por arrastrar y soltar el contenido del rea.

Ocultar el rectngulo de foco

Durante la ejecucin, un campo u objeto editable se enmarca en un rectngulo de seleccin cuando tiene el foco (va la
tecla Tab o un simple clic). Puede ocultar este rectngulo seleccionando la opcin Ocultar rectngulo de foco. Ocultar
el rectngulo de foco puede ser til en el caso de interfaces especficas.

Listas de valores

Puede asignar listas de valores a objetos editables de los formularios. Puede utilizar tres tipos de listas: listas de
valores simples, listas de valores obligatorios y listas de valores excluidos.
Las listas simples se designan en el tema Fuentes de datos de la Lista de propiedades. Las listas de valores
obligatorios o excluidos se designan en el tema Rango de valores de la Lista de propiedades.

Antes de asignar una lista de valores, es necesario crear la lista en el editor de listas (ver Listas).

- 349 -
Listas de valores fuente
Asociar una lista de valores fuente (tema Fuente de datos) a un objeto editable para mostrar una lista de valores
durante la entrada de datos. La lista de valores aparece cuando el campo u objeto editable se selecciona en el
formulario en ejecucin. Luego, el usuario puede seleccionar el valor en la lista.
Tambin puede utilizar Pop-ups/Listas desplegables o Combo box y asociar una lista de seleccin a ellos a fin de
gestionar la entrada y visualizacin de los valores de un campo o de una variable (si la lista de seleccin es jerrquica,
slo el primer nivel se puede utilizar). Para ello, basta con introducir el nombre del campo o de la variable en el rea
"Nombre de la variable" de la Lista de propiedades (ver la seccin Pop-ups/Listas desplegables) .
El usuario puede sobrescribir la entrada seleccionada de la lista digitando un nuevo valor (a menos que la lista tambin
est asociada como lista de valores obligatorios).

Listas de valores excluidos


Una lista de valores excluidos evita que los usuarios introduzcan los valores de esa lista. Por ejemplo, para un campo en
un formulario de entrada utilizado slo por operarios, podra asociar una lista de valores reservados slo para gerentes.

Campos y listas de valores


Puede asignar una lista de seleccin a un campo a nivel de la tabla o de formulario. Si quiere asociar la lista a nivel de
la tabla, use la ventana Inspector en el editor de Estructura (ver la seccin Almacenado en registro, archivo de datos
o fuera del archivo de datos). La lista se asociar con este campo en todos los formularios y editores de bsquedas
de la base. Si asocia la lista a un campo a nivel del formulario nicamente, puede servir como lista de seleccin
nicamente para ese formulario. Note que en este caso, puede gestionar directamente la entrada de datos y mostrarla
en el campo utilizando un objeto de tipo Pop-ups/Listas desplegables o Combo box.

Listas de valores obligatorios


Una lista de valores obligatorios (tema Rango de valores) limita las entradas vlidas a los valores que contiene. Por
ejemplo, puede utilizar una lista de cargos con el fin de restringir las entradas vlidas a los cargos aprobados por la
gerencia.
Volver una lista obligatoria no hace que la lista se muestre automticamente al seleccionar el campo. Para mostrar la
lista obligatoria, asigne la misma lista como lista de valores (en el tema Fuente de datos).

Filtros de entrada

Un filtro de entrada controla exactamente lo que el usuario puede introducir durante la entrada de datos. A diferencia de
los controles de entrada tratado anteriormente en esta seccin, los filtros de entrada operan carcter por carcter. Por
ejemplo, si un nmero de parte siempre consta de dos letras seguidas por tres dgitos, puede utilizar un filtro de entrada
para obligar al usuario a respetar este formato. Incluso puede controlar letras y nmeros particulares.
Un filtro de entrada slo funciona durante la entrada de datos y no tiene efecto durante la visualizacin de los datos
despus de que el usuario deselecciona el campo. En general, los filtros de entrada se utilizan conjuntamente con los
Formatos de salida. Los filtros de entrada controlan los datos introducidos y los formatos de salida aseguran la
presentacin adecuada de los datos despus de su entrada.
Durante la entrada de datos, un filtro de entrada evala cada carcter digitado. Si el usuario intenta introducir un carcter
invlido (por ejemplo, un nmero en lugar de una letra), 4D no acepta la entrada del carcter. El carcter invlido
permanece igual hasta que el usuario introduzca un carcter vlido.
Los filtros de entrada tambin pueden utilizarse para mostrar los caracteres de formato de manera que el usuario no
necesite escribirlos. Por ejemplo, un nmero telefnico consta de tres dgitos correspondientes al cdigo de rea,
seguidos por siete dgitos distribuidos en dos grupos de tres y cuatro dgitos respectivamente. Puede utilizar un formato
de salida para mostrar el cdigo de rea entre parntesis y un guin para separar los dos grupos de dgitos del nmero
telefnico. Utilizando un formato como este, el usuario no tiene que introducir los parntesis o el guin.
Eleccin de un filtro de entrada
El filtro de entrada se crea seleccionando uno de los filtros integrados o personalizados de la lista desplegable Filtro de
entrada o escribindolo directamente en el rea Filtro de entrada. La lista desplegable Filtro de entrada contiene filtros
para fechas, horas y objetos alfa.
La mayora del tiempo, puede utilizar uno de los filtros integrados de 4D; sin embargo, tambin puede crear filtros
personalizados (ver la seccin El editor de filtros y de formatos). Los filtros creados se aaden a la lista desplegable
Filtros de entrada, precedidos de una barra vertical (|).

- 350 -
Puede modificar un filtro de entrada despus de haberlo seleccionado. Por ejemplo, si desea utilizar un filtro que le
permita la entrada de minsculas y maysculas, pero tambin necesita permitir la entrada del carcter arroba (@),
puede seleccionar el siguiente filtro:
&"a-z;0-9; ;,;.;-"
y modificarlo a:
&"a-z;0-9; ;,;.;-;@"
Los cdigos de los filtros de entrada comienzan por lo general con el signo (&). Este carcter le indica a 4D utilizar lo
que sigue como filtro de entrada. Si el cdigo comienza con una tilde (~), esto significa lo mismo que & excepto que
todas las letras pasan a maysculas.
El smbolo & est por lo general seguido de una A, una a, o un 9, lo cual significa permitir nicamente letras
maysculas (A), permitir letras maysculas y minsculas (a), o permitir nmeros nicamente (9). Por ejemplo, &9
autoriza nmeros nicamente y &A permite nicamente letras en maysculas. El signo nmero (#) indica cuntos dgitos
o caracteres son permitidos por el cdigo. Si el cdigo no utiliza el signo nmero, el filtro permite tantos dgitos o
caracteres como quiera. Por ejemplo, &9 permite la entrada de todos los dgitos introducidos por el usuario. El filtro
&9## permite dos dgitos nicamente.
El signo de admiracin (!) se utiliza para cambiar el smbolo que indica al usuario el nmero de caracteres que puede
introducir. Sin el signo de admiracin !, 4D muestra un guin bajo (_) para cada carcter que el usuario puede introducir.
Por ejemplo, !?&9## muestra signos de interrogacin en ambos lugares dnde el usuario puede introducir los dos
dgitos autorizados. Para mayor informacin sobre la creacin de filtros de entrada, consulte Cdigos de los filtros y
formatos.
Descripcin de los filtros de entrada por defecto
Esta tabla describe cada uno de los filtros disponibles en la lista desplegable Filtro de entrada:

- 351 -
Filtro de
Description
entrada
~A Permite todas las letras y las pasa a maysculas.
&9 Slo permite nmeros.
&A Slo permite maysculas
&a Slo permite letras (minsculas y maysculas)
&@ Slo permite caracteres alfanumricos. No permite caracteres especiales.
~a## Slo permite dos letras y las convierte a maysculas. (Por ejemplo, para abreviar un estado: CA).
!0&9##/##/## Formato estndar para entrada de fechas. Muestra ceros en cada posicin de entrada y slo
permite nmeros.
!0&9 Da: ## Formato personalizado para entrada de fechas. Muestra ceros en cada posicin y slo permite
Mes: ## Ao: ## nmeros.
!0&9##:## Formato de entrada para horas. Muestra ceros en cada posicin. Slo permite nmeros,
separados por "dos puntos".
!0&9## Hrs ## Formato para entrada de horas. Muestra ceros en cada posicin. Permite slo dos nmeros
Mins ## Segs antes de cada palabra.
!0&9Hrs: ## Formato para entrada de horas. Muestra ceros en cada posicin. Slo permite dos nmeros
Mins: ## Segs: despus de cada palabra.
##
!0&9##-##-##- Formato de entrada para un nmero telefnico local. Muestra ceros en cada posicin. Slo
## permite nmeros: tres antes del guin y luego cuatro.
!_&9(###)!0###- Formato de entrada para un nmero telefnico de larga distancia. Muestra caracteres de
#### subrayado para los tres dgitos de cdigo de rea y ceros para el nmero telefnico.
Formato de entrada para un nmero telefnico de larga distancia. Muestra ceros en cada
!0&9###-###-
posicin. Slo permite nmeros: tres para el cdigo de rea antes del primer guin, luego tres
###
antes del segundo guin y luego cuatro.
Formato de entrada para el nmero de seguridad social. Muestra ceros en cada posicin. Slo
!0&9###-##-###
permite nmeros.
~"A-Z;0-9; ;,;.;-" Permite maysculas, nmeros, comas, puntos y guiones.
&"a-z;0-9; ;,;.;-" Permite letras (minsculas y maysculas), nmeros, espacios, comas, puntos, y guiones.
&"0-9;.;-" Filtro numrico. Slo permite nmeros, el punto decimal y el guin (signo menos).

Combinar filtros de entrada y formatos de salida


Generalmente, cuando se utiliza un filtro de entrada, se crea un formato de salida. Un filtro de entrada slo funciona
durante la entrada de datos, no tiene efecto en la forma cmo se presenta la informacin cuando el campo no est
seleccionado. Por ejemplo, si utiliza el filtro de entrada para el nmero de seguridad social (&9###-##-####), deber
seleccionar el formato de salida correspondiente al nmero de seguridad social (###-##-####). Sin el formato de salida,
slo aparecern en el campo los nmeros, sin los guiones.
La siguiente tabla muestra algunos filtros de entrada sugeridos y los formatos de salida correspondientes para los tipos
de campos ms comunes:
Tipo de campo Filtro de entrada Formato de salida
Estado ~a## (No es necesario)
Cdigo postal (estndar) &9##### (No es necesario)
Cdigo postal (extendido) &9#####-#### #####-####
Nmero telefnico &9###-#### ###-####
&9(###) ###-#### (###) ###-####
&9 ###-###-#### ###-###-####
Fecha !0&9##/##/## (Cualquier formato de fecha)
!0&9 Da: ## Mes: ## Aor: ##
Time !0&9##:## (Cualquier formato de hora)
!0&9## Hrs ## Mins ## Segs
!0&9Hrs: ## Mins: ## Segs: ##
Puede utilizar los formatos de salida en los formularios de entrada, de salida y en informes rpidos. Para mayor
informacin sobre los formatos de salida en informes rpidos, consulte el prrafo Definir los formatos de salida de
columnas.

Texto ejemplo

4D muestra textos de ejemplo en los campos de los formularios.


Este texto aparece como marca de agua en un campo, ofreciendo un mensaje de ayuda, una indicacin o un ejemplo de
- 352 -
los datos a introducir. Este texto desaparece tan pronto como el usuario introduce un carcter
en el rea:

El texto de ejemplo se muestra de nuevo si el contenido del campo se borra.


Puede definir un texto ejemplo en el tema "Entrada" de la Lista de propiedades:

La opcin Texto de ejemplo est disponible para los siguientes objetos:

variables,
campos,
combo boxes.
Un texto de ejemplo se puede mostrar para los siguientes tipos de datos:
cadena (texto o alfa)
fecha y hora cuando la propiedad Vaco si nulo se activa.

Puede utilizar una referencia xliff en ":xliff:resname" como texto de ejemplo, por ejemplo:

:xliff:PH_Lastname

Slo pase la referencia en el campo "Texto de ejemplo", no es posible combinar una referencia con texto esttico.
Nota: tambin puede definir y obtener el texto del marcador por programacin utilizando los comandos OBJECT SET
PLACEHOLDER y OBJECT Get placeholder.

Valores mximos y mnimos

Puede aplicar restricciones a la entrada de campos de tipo numrico, fecha, hora u objeto editable definiendo valores
mximos y mnimos en las reas de entrada correspondientes en el tema Rango de valores de las propiedades de los
objetos.
Durante la entrada de datos, si el usuario introduce un valor inferior al mnimo o superior al mximo, se muestra una caja
de dilogo de alerta. 4D devuelve al usuario al campo de manera que pueda entrar un valor correcto.
Para definir un valor mximo o mnimo, escriba el valor que quiere definir como lmite. Utilice el formato de entrada
apropiado para el tipo de campo u objeto editable para el cual est definiendo los lmites.
Los valores definidos estn incluidos. Eso significa que si el usuario introduce el valor definido como mnimo o como
mximo, se permite la entrada. Slo los valores por debajo del mnimo o mayores que el mximo no son autorizados.
Por ejemplo, si el valor mximo es 15, el usuario puede introducir 15, pero no 16.
Tambin puede utilizar mtodos para restringir los valores de entrada para el usuario. Con un mtodo, puede ofrecer
informacin ms precisa al usuario o definir valores mnimos y mximos basados en otros datos de la base. Por
ejemplo, un mtodo puede verificar el lmite de crdito de un cliente antes de validar una nueva transaccin.
Tambin puede utilizar una lista de valores obligatorios para crear rangos de valores atpicos. Para mayor informacin,
consulte el prrafo Listas de valores obligatorios a continuacin y la seccin Crear y modificar listas.

Valores por defecto

Puede asignar un valor por defecto para un campo u objeto editable. El valor por defecto se introduce cuando aparece
un nuevo registro. Puede modificar el valor a menos que el campo o rea de entrada se haya definido como no editable.
Puede definir el valor por defecto en el tema Rango de valores de la Lista de propiedades. El valor por defecto debe
corresponder al tipo de campo para el que est definido. 4D ofrece cdigos para generar valores por defecto para
fechas, horas y nmeros secuenciales. La fecha y hora, se toman del sistema. 4D genera automticamente cualquier
secuencia de nmeros requerida. La siguiente tabla muestra los cdigos a utilizar para generar automticamente
valores por defecto:

- 353 -
Cdigo Efecto
#D Fecha actual
#H Hora actual
#N Nmero de secuencia
Puede utilizar un nmero de secuencia para crear un nmero nico para cada registro. Un nmero de secuencia es un
nmero entero generado para cada nuevo registro. Los nmeros comienzan con uno (1) y se incrementan de uno en uno
(1). Un nmero de secuencia no se repite an cuando un registro se borre de la tabla. Cada tabla tiene su propia
secuencia de nmeros. Para mayor informacin, consulte el comando Sequence number en el manual Lenguaje de
4D.
Listas de valores por defecto
Si el objeto muestra una lista de valores (tal como un combo box, un rea de desplazamiento, un men desplegable, una
pestaa, o una lista desplegable), puede especificar una lista de valores a utilizar como valores por defecto. Esta lista
se cargar en el objeto antes de mostrarse en el formulario.
Para los objetos que aceptan una lista de valores por defecto, el rea de los valores por defecto se convierte en un
botn:

Cuando hace clic en este botn, aparece la caja de dilogo Valores por defecto:

Escriba la lista de valores por defecto. Cada valor debe aparecer en una lnea diferente. Haga clic en el botn Aceptar
para cerrar la caja de dilogo y regresar a la ventana Lista de propiedades.
Cuando introduce valores por defecto en la caja de dilogo valores por defecto, los valores se cargan automticamente
en un array cuyo nombre es el nombre del objeto. Utilizando el lenguaje, puede manipular el objeto haciendo referencia a
este array.
Notas:
puede utilizar una lista creada en el editor de listas para definir los valores por defecto para las listas jerrquicas o
pestaas.
Tambin puede definir los valores por defecto utilizando un mtodo. Para los objetos que lo permiten, puede
asignar el valor por defecto cuando se ejecute el evento On Load en el mtodo del objeto o del formulario.
Para los objetos que aceptan listas, puede definir los valores por defecto utilizando el editor de listas y luego el
comando Load list para crear una
lista jerrquica. Luego, puede trabajar con la lista y su contenido utilizando los comandos del tema Listas
jerrquicas. Puede cargar la lista en una lista jerrquica cuando ocurra el evento de formulario On Load o cargar
todas las listas en el Mtodo base On Startup .

- 354 -
Configuracin del teclado

Esta opcin asocia una configuracin de teclado especfico al campo o al objeto editable. Por ejemplo, en una
aplicacin internacional, un formulario contiene un campo cuyo contenido debe se introducido en caracteres griegos,
puede asociar la configuracin de teclado "Griego" a este campo. De esta manera, durante la entrada de datos, la
configuracin del teclado cambia automticamente cuando este campo tiene el foco.

El valor por defecto, <None>, indica que el objeto utiliza la configuracin de teclado actual.

Nota: es posible configurar esta opcin de forma dinmica utilizando los comandos OBJECT SET KEYBOARD
LAYOUT y OBJECT Get keyboard layout.

Correccin ortogrfica

4D incluye un utilitario de correccin ortogrfica integrado y personalizable. La verificacin ortogrfica puede efectuarse
para los campos y variables tipo Alfa y Texto, as como para los documentos 4D Write.
La propiedad Correccin ortogrfica (tema Controles de entrada) activa la correccin ortogrfica para el objeto. En
este caso, la verificacin ortogrfica se realiza automticamente
durante la entrada.
Nota: puede ejecutar el comando SPELL CHECKING para cada objeto a controlar.
Procesos de verificacin
En 4D, la correccin ortogrfica se aplica continuamente en reas de texto, con los errores resaltados directamente en
el texto con un subrayado de puntos:

Las lneas de puntos en diferentes colores se utilizan con el fin de determinar el tipo de correccin a efectuar:
En rojo los errores de ortografa,
En verde los errores gramaticales (corrector nativo OS X nicamente),
En azul las palabras a sustituir (cuando la opcin Mostrar sustituciones est activada, ver ms adelante).
El usuario puede entonces corregir el texto usando el men contextual (clic derecho en la palabra subrayada) o utilizar el
cuadro de dilogo del corrector ortogrfico.

Men contextual o dilogo de correccin


Para mostrar las opciones de correccin ortogrfica, puede hacer clic derecho sobre una palabra desconocida y
aparecer un men contextual que contiene los comandos de correccin ortogrfica:

Nota: las opciones Men contextual y Correccin ortogrfica deben estar seleccionadas para el objeto.
Puede seleccionar la opcin Mostrar el dilogo de revisin de ortografa para mostrar un dilogo en el que puede
introducir un valor corregido:

- 355 -
Este dilogo es una ventana flotante que sigue estando disponible para todas las ventanas de la aplicacin durante la
sesin, hasta que el usuario la cierra.

Funciones del corrector


Adems de las sugerencias de correcciones, las siguientes opciones y funciones son propuestas por el corrector en 4D
(va el men contextual y/o el dilogo de correccin):
Aprender: la palabra desconocida se aade al diccionario, ya no ser indicada por el corrector ortogrfico.
En OS X, las palabras aprendidas se conservan permanentemente en
/Users/[nombreUsuario]/Library/Spelling (de manera que una palabra aprendida por el sistema de
correccin ortogrfica tambin
es aprendida para todas las aplicaciones que utilizan el sistema de correccin ortogrfica).
Con Hunspell, las palabras aprendidas se guardan en un diccionario personalizado Hunspell en el directorio
sistema usuario de datos de la aplicacin actual, que siempre se cargan junto con el diccionario principal
(como en las versiones anteriores).
Olvidar (men contextual): esta opcin aparece cuando se selecciona una palabra que se aprendi previamente.
Le permite al usuario eliminar esta palabra de la lista de palabras aprendidas de manera que se indica una vez
ms como un posible error de ortografa.

Ignorar: la palabra desconocida no se toca y ya no se subraya, sin embargo, se indica de nuevo si se detecta
ms adelante.
El corrector ortogrfico tiene una tabla con las palabras a ignorar para cada documento. Puede borrar esta tabla
con la opcin Borrar la lista de palabras ignoradas (ver ms abajo).

Anterior/siguiente (caja de dilogo): la palabra desconocida se ignora, pero queda subrayada y el corrector
ortogrfico examina la palabra anterior o siguiente desconocida en el texto.
Verificar ortografa (men contextual): por lo general activa o desactiva globalmente la correccin ortogrfica en
el rea para el proceso actual.
Remplazar (caja de dilogo): remplaza la palabra del primer campo editable por la palabra del segundo campo
editable, en el texto si la seleccin en el texto corresponde a la palabra del primer campo y
pasa al siguiente error.
Remplazar siempre (caja de dilogo): igual que Remplazar pero la sustitucin se memoriza (ver Substitucin
de texto ms abajo).
El submen Configuracin de ortografa ofrece las siguientes funciones:
- 356 -
Correccin automtica: activa o desactiva el modo de correccin automtica en el rea para el proceso actual.
En este modo, las palabras desconocidas se sustituyen automticamente por la palabra
conocida ms cercana (excepto cuando la ambigedad es demasiado grande). Las correcciones se realizan
durante la entrada.
Por defecto, la correccin automtica est desactivada.
Sustitucin de texto: activa o desactiva la substitucin de texto. Este principio consiste en remplazar una
palabra por otra. Por ejemplo, puede optar por sustituir la palabra "sr " por " Seor".
Para crear pares de palabras "a reemplazar"/"reemplazar por", debe utilizar la caja de dilogo del corrector
ortogrfico: escriba la palabra a remplazar en el rea "Palabra desconocida y la palabra de remplazo en el rea
"Reemplazar con", luego haga clic en el botn Reemplazar siempre:

Los reemplazos se realizan en toda la aplicacin. Con Hunspell, el corrector ortogrfico mantiene una tabla de
sustituciones global de la aplicacin que se guarda en el directorio sistema usuario de la
aplicacin, para el corrector OS X, la tabla est fusionada con las sustituciones del sistema (opcin "Activar la
sustitucin de texto y de smbolo en las Preferencias Sistema).
El proceso de sustitucin difiere en funcin de si la opcin Mostrar sustituciones de texto del submen
Configuracin de ortografa est seleccionada o no (ver abajo).
Mostrar sustituciones de texto (esta opcin slo aparece si la opcin Sustitucin de texto est
seleccionada): cuando esta opcin est seleccionada, el corrector ortogrfico subraya las posibles
sustituciones en el texto con una lnea azul y el usuario debe hacer clic derecho en la palabra para seleccionar el
valor de substitucin.

Cuando esta opcin no est seleccionada, se realizan sustituciones de forma automtica, sin intervencin del
usuario.
Borrar la lista de palabras ignoradas: borra la lista de las palabras elegidas para ser ignoradas en el
documento.

Opciones adicionales del corrector ortogrfico nativo OS X


El corrector ortogrfico nativo de OS X ofrece varias opciones de correccin:

- 357 -
Lenguaje automtico: identifica automticamente el lenguaje del diccionario a utilizar en funcin del contenido
del texto.
Por defecto, el corrector ortogrfico usa el lenguaje de la aplicacin 4D, al igual que el corrector ortogrfico
Hunspell.
Verificar la gramtica: activa la correccin gramatical del texto.
Guiones inteligentes: reemplazar los guiones dobles (--) con guiones largos () durante la entrada.
Comillas tipogrficas: reemplazar comillas rectas con comillas tipogrficas adaptadas al lenguaje actual.
Gestin de diccionarios
La correccin ortogrfica en 4D ahora puede usar:
En Windows y OS X, el diccionario open source Hunspell (ver Soporte de diccionarios Hunspell en el
manual Lenguaje de 4D)
En OS X, el corrector ortogrfico nativo.
Por defecto bajo OS X, 4D v14 utiliza el corrector ortogrfico nativo. Puede optar por utilizar el corrector
ortogrfico Hunspell utilizando el comando [#cmd id="642"/]. Tenga en cuenta que las funciones adicionales son
ofrecidas por el corrector nativo OS X (ver abajo).
Por defecto, 4D utiliza el diccionario correspondiente al lenguaje actual de la aplicacin. Sin embargo, puede forzar la
apertura de un diccionario en un idioma diferente utilizando el comando SPELL SET CURRENT DICTIONARY. 4D le
permite establecer y utilizar diccionarios especializados para cada idioma, incluyendo listas de palabras personalizadas
aceptadas por el corrector de ortografa. Para mayor informacin sobre estos diccionarios, consulte la seccin Anexo
D: Uso de diccionarios especializados.

Mensajes de ayuda

Puede aadir un mensaje de ayuda a campos y objetos activos en sus formularios para ayudar a los usuarios a trabajar
en forma ms productiva con su base de datos. Los mensajes de ayuda aparecen en recuadros emergentes.
Por ejemplo, puede crear un mensaje de ayuda para un campo tipo Fecha el cual le recuerde al usuario incluir un barra
oblicua (/) como separador entre el da, el mes y el ao cuando introduzca los datos.
El mensaje de ayuda aparecer cada vez que el usuario mueva el ratn sobre el campo u objeto.

Nota: igualmente puede asociar un mensaje de ayuda con un campo a nivel de la estructura de la base de datos. En
este caso, el mensaje de ayuda del campo aparece en todos los formularios donde est el campo. Para mayor
informacin, consulte Mensajes de ayuda en Almacenado en registro, archivo de datos o fuera del archivo de
datos. Si dos mensajes de ayuda se asocian a un mismo campo a nivel de estructura y a nivel de formulario, este ltimo
tiene mayor prioridad.
Puede asociar un mensaje de ayuda a todo objeto activo en sus formularios utilizando la lista desplegable Mensaje de
ayuda en el tema Ayuda en la Lista de propiedades. Puede:
- 358 -
Seleccione un mensaje de ayuda existente. El mensaje de ayuda debe haber sido especificado previamente en el
Mensajes de ayuda editor de 4D.
Introduzca directamente un mensaje de ayuda en el rea. Esto le permite aprovechar la arquitectura XLIFF. Puede
introducir una referencia XLIFF aqu para mostrar un mensaje en el lenguaje de la aplicacin (para mayor
informacin sobre XLIFF, consulte el Anexo C: Arquitectura XLIFF. Tambin puede utilizar las referencias 4D
(ver Utilizar las referencias en los textos estticos).

El mensaje seleccionado o introducido aparecer como mensaje de ayuda para el campo u objeto seleccionado en el
formulario.
Para borrar la asociacin del mensaje de ayuda con el objeto seleccionado, seleccione Ninguno en la Lista de
propiedades.
Nota: bajo Mac OS, la visualizacin de mensajes de ayuda no es soportada en ventanas de tipo pop-up.

Seleccin siempre visible

Esta propiedad est disponible para los campos o variables de tipo Alfa o Texto en los formularios. Esta propiedad
conserva la visibilidad de la seleccin al interior del objeto despus de perder el foco. Esto facilita la implementacin de
interfaces que permiten modificar el estilo del texto (ver Multiestilo (rea de texto enriquecido)).

Permitir selectores de color y de fuente

Los comandos OPEN FONT PICKER y OPEN COLOR PICKER muestran las ventanas del sistema de seleccin de
color y de fuente. Los usuarios pueden cambiar el color o la fuente del objeto que tiene el foco en el formulario
directamente haciendo clic en una de estas ventanas.
Para que pueda controlar las acciones usuario, esta funcin est sujeta al valor de la nueva propiedad Autorizar
selector fuente/color del tema Texto:

Esta propiedad est disponible para los objetos de formulario de tipo campo, variable y combo box. Por defecto, est
desactivada para todos los objetos de los formularios. Debe seleccionarla de forma explcita para cada objeto en el que
desee que la fuente y/o color sea modificable utilizando la ventana del selector de sistema.

- 359 -
Formatos de salida

Los formatos de salida ofrecidos por 4D le dan muchas opciones para la impresin y visualizacin de datos. Los
formatos de salida pueden aplicarse a campos y a variables (editables y no editables). El formato que utilice para
mostrar el contenido de un campo no afecta el valor real guardado por 4D.
El formato de salida de un campo puede ser diferente para cada formulario. Por ejemplo, usted puede querer mostrar un
valor sin el signo de moneda en un formulario de entrada y con el signo de moneda en el formulario de salida. Los
formatos de salida se definen en el tema Mostrar de la Lista de propiedades.

Los combo-box permiten mostrar la seleccin y la entrada de un formato. El botn [...] ofrece acceso a la ventana de
El editor de filtros y de formatos).
El combo box muestra diferentes formatos de salida, dependiendo del tipo de campo o variable que seleccione.
Nota: el tipo de una variable se define utilizando la propiedad Tipo de variable del tema Objetos en la Lista de
propiedades.
Los formatos integrados para el tipo definido siempre se muestran. Los formatos creados utilizando el editor de Filtros y
formatos de la Caja de herramientas aparecen al comienzo de la lista, precedidos por una barra vertical "|" (consulte El
editor de filtros y de formatos).
Nota: en el editor de formularios, puede mostrar el formato de salida para objetos en lugar de sus etiquetas
seleccionando el comando Mostrar formato en el men Objeto.

Formatos Fecha

Los formatos de fecha controlan la manera como aparecen las fechas cuando se muestran o imprimen. Cuando
introduce fechas, introduce las fechas con el formato DD/MM/AAAA, sin importar el formato de salida seleccionado.
Nota: a diferencia de los formatos numricos y alfanumricos, los formatos de visualizacin de las fechas deben
seleccionarse entre los formatos integrados de 4D nicamente.
La siguiente tabla muestra las opciones disponibles:
Formato Ejemplo
Fecha del sistema corta 3/25/99
Fecha del sistema abreviada (1) jue. 25 mar, 1999
Fecha del sistema larga jueves 25 marzo 1999
Fecha interna corta especial 03/25/99 pero 04/25/2032 (2)
Fecha interna larga 25 marzo 1999
Fecha interna abreviada (1) 25 mar 1999
Fecha interna corta 25/03/1999
Fecha Hora ISO(3) 1999-03-25T00:00:00

- 360 -
(1) Para evitar ambigedad y conforme a la prctica actual, los formatos abreviados de fecha ahora son jun para junio
jul para julio (en lugar de jui para ambos como era anteriormente). Esto aplica particularmente a versiones en francs
de 4D.
(2) El ao se muestra utilizando dos dgitos cuando est dentro del intervalo (1930;2029) o cuatro dgitos si no lo est.
Este es el intervalo por defecto, pero puede modificarse utilizando el comando SET DEFAULT CENTURY.
(3) El formato ISO Fecha/Hora corresponde a la representacin estndar XML para valores tipo fecha y hora (ISO8601).
Este formato est diseado especialmente para importar y/o exportar datos en formato XML y en servicios web.
Nota: cualquiera que sea el formato de salida, si introduce un ao con dos dgitos, 4D asume que corresponde al siglo
21 si es un valor entre (00;29) y que corresponde al siglo 20 si es un valor entre (30;99). Esta es la configuracin por
defecto, pero puede modificarse utilizando el comando SET DEFAULT CENTURY.

Vaco si null
Por defecto, una fecha nula generalmente se muestra como 00/00/00. La opcin Vaco si null de la Lista de
propiedades (tema Mostrar) permite mostrar un rea vaca si la fecha es nula o contiene el atributo SQL NULL.

Formatos Hora

Los formatos tipo hora controlan la forma en que se muestran o imprimen los datos tipo hora. Para introducir horas,
puede utilizar el formato 24-horas HH:MM:SS o el formato 12-horas HH:MM:SS AM/PM, sin importar el formato de
salida elegido.
Nota: a diferencia de los formatos de salida alfa y numricos, el formato de salida de la hora debe seleccionarse en el
men de seleccin de los formatos nicamente.
La siguiente tabla muestra los formatos de hora disponibles as como algunos ejemplos:
Ejemplo
Formato Comentarios para
04:30:25
HH:MM:SS 04:30:25
HH:MM 04:30
Horas 4 horas 30
Minutos minutos 25
Segundos segundos
Hora 4 horas 30
Minutos minutos
HH:MM
4:30 a.m.
AM/PM
MM SS Hora expresada como duracin desde 00:00:00 270:25
Min 270 Minutos
Hora expresada como duracin desde 00:00:00
Segundos 25 Segundos
Corresponde a la norma XML estndar de representacin de los datos temporales.
ISO Date 0000-00-
Est destinada principalmente a utilizarse en la importacin/exportacin de datos en
Time 00T04:30:25
formato XML.
Sistema
Formato de hora estndar definido en el sistema 04:30:25
hora corto
Sistema
hora largo Mac OS nicamente: formato de hora abreviado definido en el sistema. Bajo 43025 AM
abreviado Windows, este formato es el mismo que el formato Sistema hora corto
Sistema Mac OS nicamente: formato de hora largo definido en el sistema. B Bajo Windows, 4:30:25 AM
hora largo este formato es el mismo que el formato Sistema hora corto HNEC

Vaco si null
Por defecto, una hora nula se muestra como 00:00:00 (la visualizacin depende del formato aplicado al objeto). La
opcin Vaco si null de la Lista de propiedades (tema Mostrar) permite mostrar un rea vaca si la hora es nula o
contiene el atributo SQL NULL.

Formatos numricos

Nota preliminar: los campos numricos incluye los campos de tipo Entero, Entero largo, Entero 64 bits, Real y Flotante.
Los formatos numricos controlan la forma de despliegue e impresin de datos numricos. Para la entrada de este tipo
de datos, usted introduce slo los nmeros (incluyendo un punto decimal o el signo menos si los necesita), sin importar
el formato de salida que haya elegido.
4D ofrece diferentes formatos numricos por defecto en la Lista de propiedades (tema "Mostrar"). Puede seleccionar el

- 361 -
formato en el men desplegable o escribir o modificar el formato en el combo box de la Lista de propiedades. Tambin
puede seleccionar el nombre de un formato personalizado en el editor de Filtros y formatos de la caja de
herramientas. En este caso, el formato no puede modificarse en las propiedades del objeto. Puede acceder al editor
haciendo clic en el botn [...] a la derecha del combo box de formatos.
Los nombres de los formatos (y filtros) personalizados aparecen al inicio de las listas de formatos numricos y
alfanumricos, precedidos de una barra vertical (|).

Caracteres guas
En cada uno de los formatos de salida numricos, el signo nmero (#), cero (0), el carcter (^), y asterisco (*) se utilizan
como guas. Puede crear sus propios formatos numricos utilizando una gua para cada dgito a mostrar.
Por ejemplo, si va a mostrar tres nmeros, puede utilizar el formato ###. Si el usuario introduce ms dgitos de los
permitidos por el formato, 4D muestra <<< en el campo para indicar que se introdujeron ms dgitos de los
especificados en el formato de salida.
Si el usuario introduce un nmero negativo, el primer carcter a la izquierda es el signo menos (a menos que haya
especificado un formato de salida negativo). Si el formato es ##0, aparece menos 26 como 26 y menos 260 como <<<
porque el signo menos ocupa una gua y slo hay tres guas.
Nota: sin importar el formato de salida, 4D acepta y almacena el nmero introducido en el campo. No se pierde
informacin.
Cada carcter gua tiene un efecto diferente sobre la fijacin de ceros situados al inicio o al final del nmero. Un cero
inicial es un cero que se coloca antes de la parte entera de un nmero (delante del punto); un cero final es un cero que
se coloca detrs del decimal de un nmero.
Suponga que utiliza el formato ##0 para mostrar tres cifras. Si el usuario no introduce nada en el campo, el campo
muestra 0. Si el usuario escribe 26, el campo muestra 26.
La siguiente tabla explica el efecto de cada gua en los ceros iniciales y finales:
Guas Efecto sobre los ceros iniciales y finales
# No muestra nada
0 Muestra 0
^ Muestra un espacio (1)
* Muestra un asterisco
(1) El carcter (^) genera un espacio equivalente al ancho de un digito en la mayora de las fuentes.
Separadores
Los formatos de salida numricos (excepto para notaciones cientficas) se basan automticamente en los parmetros
sistema regionales. 4D reemplaza los caracteres . y , por, respectivamente, el separadores decimal y el separador
de miles definido en el sistema operativo. El punto y la coma se consideran entonces como caracteres guas, siguiendo
el ejemplo de 0 o #.
Nota de compatibilidad: en las versiones anteriores de 4D, los formatos de visualizacin numricos no tienen en
cuenta los parmetros regionales del sistema. En bases de datos convertidas, una opcin de compatibilidad permite
controlar este funcionamiento (ver la seccin Pgina Compatibilidad).

Puntos decimales y otros caracteres de salida


Puede utilizar un punto decimal en el formato. Si quiere que el punto aparezca sin importar si el usuario lo escribi, debe
colocarlo entre los ceros.
Puede utilizar cualquier otro carcter en el formato. Cuando se utiliza solo o delante o despus de guas, el carcter
siempre aparece. Por ejemplo, si utiliza el siguiente formato:
$##0
un signo $ siempre aparece porque est ubicado delante de los caracteres gua.
Si los caracteres se ubican entre caracteres gua, aparecen slo si hay dgitos en ambos lados. Por ejemplo, si define el
formato:
###.##0
aparece un punto si el usuario introduce al menos cuatro nmeros.
Los espacios se tratan como caracteres en formatos de salida numricos.
Formatos para nmeros positivos, negativos y cero
Un formato de salida numrico puede tener hasta tres partes que le permiten definir formatos de salida para los
nmeros negativos, positivos y cero. Las tres partes estn separadas por punto y coma como se indica a continuacin:
Positivo;Negativo;Cero
No es necesario especificar las tres partes del formato. Si utiliza slo una parte, 4D la utiliza para todos los nmeros,
colocando un signo menos delante de los nmeros negativos.
Si utiliza dos partes, 4D utiliza la primera parte para los nmeros positivos y cero y la segunda para nmeros negativos.
Si utiliza tres partes, la primera es para nmeros positivos, la segunda para nmeros negativos y la tercera para cero.
- 362 -
Nota: la tercera parte (cero) no es interpretada y no acepta caracteres de reemplazo. Si escribe el formato ###;###;# el
valor cero aparecer como #. En otras palabras, el valor que introduzca es el que aparecer para el valor cero.
Este es un ejemplo de un formato numrico que muestra el signo $ y comas, coloca los nmeros negativos entre
parntesis, y no muestra ceros:
$###,##0.00;($###,##0.00);
Observe que la presencia del segundo punto y coma le indica 4D que no utilice nada para mostrar el cero. El siguiente
formato es similar, excepto que la ausencia del segundo punto y coma le indica a 4D que utilice el formato de nmeros
positivos para cero:
$###,##0.00;($###,##0.00)
En este caso el formato de salida de cero ser $0.00.
Notacin cientfica
Si desea mostrar los nmeros en notacin cientfica, utilice el carcter (&) seguido por un nmero que define el nmero
de dgitos que quiere mostrar. Por ejemplo, el formato:
&3
muestra 759.62 como:
7.60e+2
El formato de notacin cientfica es el nico formato que redondea automticamente el nmero mostrado. Observe en el
ejemplo anterior que el nmero se redondea al valor 7.60e+2 y no trunca a 7.59e+2.

Formatos hexadecimales
Puede mostrar un nmero en hexadecimales utilizando los siguientes formatos de salida:
&x: muestra los nmeros en hexadecimales con el formato 0xFFFF.
&$: muestra los nmeros en hexadecimales con el formato $FFFF.

Notacin XML
El formato &xml permite hacer que todo nmero cumpla con las normas xml. En particular, el carcter separador
siempre ser el punto "." en todos los casos, sin importar la configuracin del sistema.
Mostrar un nmero como una hora
Puede mostrar un nmero como una hora (con un formato de hora) utilizando &/ seguido por un digito. La hora se
determina calculando el nmero de segundos desde la media noche que el valor representa. El digito en el formato
corresponde al orden en el cual el formato de hora aparece en el men desplegable Formato.
Por ejemplo, el formato:
&/5
corresponde al quinto formato de hora del men desplegable, especficamente la hora AM/PM. Un campo numrico con
este formato mostrara 25000 como:
6:56 AM

Ejemplos
La siguiente tabla muestra cmo los diferentes formatos afectan la visualizacin de los nmeros. Las tres columnas,
Positivo, Negativo y Cero, indican cmo se mostrarn los nmeros 1,234.50, 1,234.50 y 0.

- 363 -
Formato introducido Positivo Negativo Cero
### <<< <<<
#### 1234 <<<<
####### 1234 -1234
#####.## 1234.5 -1234.5
####0.00 1234.50 -1234.50 0.00
#####0 1234 -1234 0
+#####0;#####0;0 +1234 -1234 0
#####0DB;#####0CR;0 1234DB 1234CR 0
#####0;(#####0) 1234 (1234) 0
###,##0 1,234 -1,234 0
##,##0.00 1,234.50 -1,234.50 0.00
^^^^^^^ 1234 -1234
^^^^^^0 1234 -1234 0
^^^,^^0 1,234 -1,234 0
^^,^^0.00 1,234.50 -1,234.50 0.00
******* ***1234 **-1234 *******
******0 ***1234 **-1234 ******0
***,**0 **1,234 *-1,234 ******0
**,**0.00 *1,234.50 -1,234.50 *****0.00
$*,**0.00;$*,**0.00 $1,234.50 -$1,234.50 $****0.00
$^^^^0 $ 1234 $1234 $ 0
$^^^0;$^^^0 $1234 $1234 $ 0
$^^^0 ;($^^^0) $1234 ($1234) $ 0
$^,^^0.00 ;($^,^^0.00) $1,234.50 ($1,234.50) $ 0.00
&2 1.2e+3 -1.2e+3 0.0e+0
&5 1.23450e+3 -1.23450e+3 0.00000
&xml 1234.5 -1234.5 0

Formatos Alfa

Los formatos alfa controlan la presentacin de los campos y variables alfanumricos cuando se muestran o imprimen.
Esta es la lista de formatos para campos alfanumricos:

Los formatos alfanumricos por defecto son accesibles va la Lista de propiedades (tema "Visualizacin"). Puede elegir
un formato de esta lista o escribir o modificar el formato en el combo box. El men desplegable Formato contiene
formatos para algunos de los campos alfa ms comunes que necesitan formatos: nmeros telefnicos (local y larga
distancia), nmeros de seguridad social y cdigos postales. Igualmente puede seleccionar un nombre de un formato
personalizado definido en la ventana del editor de Filtros y formatos de la caja de herramientas. En este caso, el
formato no puede modificarse en las propiedades del objeto. Puede acceder al editor haciendo clic en el botn [...]
ubicado a la derecha del combo box de formatos.
Los formatos o filtros personalizados aparecen al inicio de las listas de formatos numricos y alfanumricos, precedidos
por una barra vertical (|).
El signo nmero (#) es la gua para un formato de salida de un campo alfa. Puede incluir los guiones apropiados,
espacios y cualquier otro signo de puntuacin que quiera mostrar. Puede utilizar los signos de puntuacin actuales que
quiera y el signo nmero para cada carcter a mostrar.
Por ejemplo, considere un nmero de parte con un formato como este:
RB-1762-1
El formato alfa sera el siguiente:
##-####-#
Cuando el usuario introduzca RB17621, el campo muestra:
RB-1762-1
El campo realmente contiene RB17621.
Si el usuario introduce ms caracteres de los que permite el formato, 4D muestra los ltimos caracteres. Por ejemplo, si
el formato es:
- 364 -
(###)
y el usuario introduce FELIZ, el campo FELIZ, muestra:
(LIZ)
El campo en realidad contiene "FELIZ. 4D acepta y almacena la informacin, independientemente del formato de
salida. No se pierde informacin.

Formatos booleanos

Los campos de tipo booleano pueden contener uno de dos valores: TRUE o FALSE. Un campo booleano puede
mostrarse como un par de botones de opcin o como una casilla de seleccin.
Puede definir la forma y las etiquetas de un campo booleano en las propiedades del campo. Si quiere mostrar slo los
botones o casillas de seleccin y no el nombre del campo, puede borrar la etiqueta del campo en el formulario.

Botones de opcin
La apariencia de campos booleanos se define utilizando la lista desplegable "Mostrar como" en el tema Apariencia.
Una vez haya seleccionado Botn de opcin de esa lista, puede introducir las etiquetas para cada valor en las reas
Texto si Verdadero y Texto si Falso del tema Mostrar.

Los botones se muestran en el editor de formularios uno junto al otro como se muestra en la siguiente imagen.

Si utiliza etiquetas con iniciales diferentes, puede seleccionar el botn de opcin escribiendo la letra inicial durante la
entrada de datos. Por ejemplo, puede presionar M para seleccionar Masculino o F para seleccionar Femenino
cuando el campo est seleccionado.
Las reglas siguientes aplican cuando el campo se utiliza para el almacenamiento de datos: si el primer botn est
seleccionado, el campo es verdadero; si el segundo botn est seleccionado, el campo es falso. El campo es falso por
defecto.
Casilla de seleccin
Seleccione la opcin Casilla de seleccin de la lista Mostrar como en el tema Apariencia. Una vez haya seleccionado
esta opcin, se despliega un rea de entrada Titulo en el tema Objetos. Esta es el rea de entrada en la cual se
introduce la etiqueta de la casilla de seleccin. Por defecto, el nombre del campo es el nombre de la etiqueta.
Las siguientes reglas aplican cuando el campo se utiliza para almacenar informacin: si la casilla de seleccin est
seleccionada, el campo es Verdadero; si la casilla de seleccin no est seleccionada, el campo es Falso. El campo es
Falso por defecto.
Durante ejecucin, este campo se muestra como una casilla de seleccin:

Puede darle un formato de casilla de seleccin sin etiqueta a un campo booleano introduciendo un espacio en el rea
Ttulo y definiendo un estilo de borde transparente. En este caso, puede aadir la etiqueta para la casilla de seleccin
como un objeto independiente. Luego puede poner la etiqueta donde quiera, dibujar un rectngulo e insertar referencias
dinmicas en la etiqueta (consulte Utilizar las referencias en los textos estticos). En el siguiente ejemplo, el campo
booleano est sobre el objeto de texto.

Formatos imagen - 365 -


Formatos imagen

Los formatos imagen controlan la apariencia de las imgenes cuando se muestran o imprimen. Durante la entrada de
datos, el usuario siempre introduce imgenes pegndolas desde el portapapeles o arrastrndolas y soltndolas, sin
importar el formato de salida. Los formatos de imagen disponibles estn en la lista Formato de imgenes de la Lista de
propiedades de objetos (tema Mostrar).
Las opciones de truncado y de ajuste no afectan la imagen almacenada. El contenido de un campo tipo imagen siempre
se guarda. Slo la visualizacin de la imagen en un formulario en particular se ve afectada por el formato de salida.
Ajustado
Los formatos de ajustado hacen que 4D redimensione la imagen para ajustarla a las dimensiones del rea del campo.

Truncado (Centrado y no centrado)


El formato Truncado (centrado) hace que 4D centre la imagen en el campo y trunque los bordes que no se ajustan dentro
del rea del campo. 4D trunca igualmente cada esquina y de arriba a abajo.
El formato Truncado (No centrado) hace que 4D ubique la parte superior izquierda de la imagen en la esquina superior
izquierda del campo y trunca todas las partes que salgan del borde del rea del campo. 4D trunca de derecha y parte
superior.
Nota: cuando el formato de imagen est Truncado (no centrado), es posible aadir barras de desplazamiento al rea
del campo o de la variable. Para mayor informacin, consulte Barras de desplazamiento.

Truncado centrado Truncado no centrado


Ajustado (Proporcional)
Cuando utiliza Ajustado (Proporcional), la imagen se reduce proporcionalmente por todos los lados para que se ajuste
al rea creada para la imagen. La opcin de Ajustado centrado (Proporcional) hace lo mismo, pero centra la imagen en
el rea de la imagen.
Si la imagen es ms pequea que el rea definida en el formulario, la imagen no se modificar. Si la imagen es ms
grande que el rea definida en el formulario, la imagen se reduce proporcionalmente. Como la imagen se reduce
proporcionalmente, no aparece distorsionada.
Si ha aplicado el formato Imagen proporcional centrada, la imagen se centra en el rea del campo:

Ajustado (proporcional) Ajustado proporcional centrado


Sobre fondo
El formato imagen sobre fondo hace que la imagen sea transparente. Todos los objetos ubicados detrs de la imagen
tales como campos o variables son visibles a travs de la imagen.

- 366 -
Nota: si imprime imgenes con este formato, se imprimirn como bitmaps.
Cuando un campo tipo imagen est en este formato, el usuario puede mover la imagen dentro del campo imagen
arrastrndola. 4D recuerda la posicin del objeto sobre el fondo. La siguiente imagen muestra un formulario que incluye
una imagen con el formato Sobre fondo.

Repetido
Cuando el rea que contiene una imagen con el formato Repetido se agranda, la imagen no se deforma pero se repite
tantas veces como sea necesario para llenar el rea completamente.

->

Si el campo se reduce a un tamao menor que la imagen original, la imagen se trunca (no centrada).

- 367 -
Guardar como Valor o Referencia

La opcin Guardar como Valor/Referencia se encuentra en el tema de "Fuentes de datos" para los objetos de tipo
campo, variable y los mens pop-up/listas desplegables:

Esta opcin define, en el contexto de un campo o de una variable asociada a una lista de valores (lista de seleccin), el
tipo de contenido a guardar en el campo:
Guardar como Valor (opcin por defecto): el valor del elemento seleccionado en la lista por el usuario se guarda
directamente. Por ejemplo, si el usuario elige el valor "azul", este valor se guarda en el campo.
Guardar como Referencia: la referencia del elemento de la lista de seleccin se guardar en el objeto. La
referencia de un elemento de lista es un valor numrico asociado con cada elemento, ya sea a travs del
parmetro refElem de los comandos APPEND TO LIST o SET LIST ITEM, o en el editor de listas (ver Aadir
una referencia a un elemento).
Esta opcin le permite optimizar el uso de memoria: el almacenamiento de valores numricos en los campos utiliza
menos espacio que el almacenamiento de cadenas de caracteres. Tambin hace que sea ms fcil traducir las
aplicaciones: slo tiene que crear varias listas en diferentes idiomas, pero con las mismas referencias de elementos, y
cargar la lista en funcin del idioma de la aplicacin.
El uso de la opcin Guardar como Referencia exige el cumplimiento de los siguientes principios:

Para poder almacenar la referencia, el campo o la variable deben ser del tipo de numrico (sin importar el tipo de
valor mostrado en la lista).
Referencias vlidas y nicas deben estar asociadas a los elementos de la lista.
Si activa esta opcin para un objeto pop -up men/lista desplegable, debe estar asociado a un campo (ver
Utilizar una lista de seleccin).
Esta opcin es compatible con las listas de seleccin definidas en la estructura . En este caso, puede seleccionar
la opcin en cada formulario donde campo listado se utiliza.

Ejemplo

Usted desea utilizar un campo "Ttulo" para las personas: Sr., Sra., Dr., Monseor, etc. Para ello, se crea un campo de
tipo entero largo llamado "Ttulo". Se define una lista de opciones (llamado "Ttulos") que contiene todos los ttulos
posibles y se asocian al campo.
En el formulario de entrada, se muestra el campo "Ttulo" dos veces con el fin de ilustrar el mecanismo implementado:
una vez como un pop-up y una vez como una rea de entrada. Ambos objetos se asocian a la misma lista de opciones y
los datos se guardan como referencia:

- 368 -
Durante la entrada, se puede seleccionar un valor en el men emergente y se muestra correctamente en ambos objetos:

Nota: en este formulario, se muestra la ventana "Lista de opciones " cuando el rea de entrada tiene el foco. Para no
mostrar ms esta ventana, puede utilizar un men desplegable para la entrada (y la visualizacin) del valor. (ver Pop-
ups/Listas desplegables).

Puede configurar el formulario de salida bajo el mismo principio: seleccione la opcin Referencia para guardar el
campo Ttulo:

Durante la ejecucin, el valor se muestra correctamente:

- 369 -
Arrastrar y soltar

Varias propiedades estn disponibles en el tema "Accin" de la Lista de propiedades para configurar el arrastrar y
soltar en los formularios. El nmero y la accin de estas propiedades dependen del tipo de objeto al cual se aplican.

Arrastrable y soltable

Estas propiedades controlan la posibilidad del usuario, de arrastrar y soltar el objeto y de si el objeto puede recibir
datos que el usuario arrastre.
Si quiere permitir arrastrar y/o soltar un objeto en particular, seleccione la propiedad correspondiente. En este caso,
toda operacin de arrastrar y soltar efectuada en el objeto durante la ejecucin del formulario desencadenar el evento
de formulario correspondiente. Luego debe administrar la accin de arrastrar y soltar utilizando un mtodo. Para mayor
informacin, consulte Arrastrar y soltar en el manual Lenguaje de 4D.
Nota: la propiedad Arrastrable puede asignarse a objetos no editables. Este principio permite al desarrollador
programar la respuesta al soltar un objeto en un campo o una variable no editable.

Arrastrar y soltar automtico

Las reas de texto activas (campos y variables), combo boxes y las reas de imgenes (campos y variables) incluyen
opciones adicionales destinadas a la gestin de arrastrar y soltar automtica. El arrastrar y soltar automtico permite
copiar o borrar directamente del texto o de las imgenes entre las reas de formularios. Puede utilizarse en la misma
rea 4D, entre dos reas 4D, o entre 4D y otra aplicacin, por ejemplo, WordPad.
Por ejemplo, el arrastrar y soltar automtico permite copiar un valor entre dos campos sin utilizar programacin:

Para activar el arrastrar y soltar automtico, debe seleccionar las propiedades correspondientes en el tema "Accin" de
la Lista de propiedades para el objeto.
Para mayor informacin, consulte Arrastrar y soltar en el manual Lenguaje 4D.

- 370 -
Acciones estndar

Esta seccin describe todas las acciones automticas que pueden asignarse a los botones y a ciertos objetos activos
de los formularios (as como a los comandos de men, consulte Definir la accin de un men).
Sin accin: use un botn Sin accin para un botn que no realice una accin automtica. Elija Sin accin
cuando necesite escribir un mtodo para manejar un botn. Por ejemplo, un botn que muestre una caja de
dilogo de bsqueda personalizada en una aplicacin tendra Sin accin como accin automtica porque es
necesario definir un mtodo para abrir la caja de dilogo de bsqueda personalizada.
Acciones aceptar y cancelar: hacer clic en un botn Aceptar guarda el registro y dispara On Saving New
Record Event o On Saving Existing Record Event como tambin On Validate. Al hacer clic en un botn Cancelar
se sale del registro actual sin guardar cambios.
Eliminar registro: hacer clic en un botn Eliminar registro muestra una alerta pidindole al usuario confirmar la
eliminacin. Al hacer clic en S en la alerta se elimina el registro actual. Si el usuario est utilizando el formulario de
entrada para un subregistro, Eliminar Registro elimina el subregistro actual.
Una vez el usuario haga clic en el botn Eliminar Registro, 4D automticamente regresa al formulario de salida.
Nota: un objeto con esta accin se desactiva automticamente cuando se aade un nuevo registro.
Acciones de navegacin entre registros: las acciones Siguiente registro, Registro anterior, Primer registro y
ltimo registro primero aceptan el registro actual y luego hacen actual el registro especificado. El registro
especfico que se convertir en el registro actual por uno de estos botones depende del orden de seleccin.
Estas acciones se aplican a los subregistros cuando el usuario est introduciendo subregistros.
Un objeto de este tipo se desactiva automticamente cuando su accin no es apropiada. Por ejemplo, si el
usuario muestra el primer registro, los botones Primer registro y Registro anterior se desactivan.
Acciones de navegacin entre pginas: las acciones Primera pgina, ltima pgina, Siguiente pgina y
Pgina anterior muestran la pgina especificada en un formulario multipginas.
Si el formulario tiene una sola pgina, estos botones se desactivan.
Un objeto de este tipo se desactiva automticamente cuando su accin no es apropiada. Por ejemplo, si el
usuario muestra la primera pgina, el botn Primera pgina se desactiva.
Modificar subregistro: esta accin puede utilizarse en tres contextos: los list box, los subformularios y los
formularios listados mostrados utilizando los comandos MODIFY SELECTION / DISPLAY SELECTION o en la
ventana de visualizacin de los registros en modo Diseo.
List box: un botn asociado a la accin estndar Modificar subregistro se activa automticamente cuando
al menos una lnea de list box de tipo "selection" est seleccionada (ver Utilizar acciones estndar).
Subformulario: ubicado en el formulario de un registro padre, este botn est activo cuando un registro del
subformulario est seleccionado. Si el usuario selecciona un subregistro y luego hace clic en el botn
Modificar subregistro, el subregistro pasa a modo edicin, bien sea directamente en la lista, o en el
formulario detallado asociado (en funcin de las propiedades del subformulario).
Formularios listados: este botn est activo cuando un registro est seleccionado en la lista. Cuando un
usuario hace clic en este botn, el registro pasa a modo edicin. Con las listas mostradas va los comandos
MODIFY SELECTION / DISPLAY SELECTION, la modificacin se efecta en la lista o en la pgina
detallada dependiendo del valor del parmetro enterList. En la ventana de visualizacin de registros, la
modificacin se efecta en la pgina detallada (la accin es equivalente a doble clic).
Aadir subregistro: esta accin puede utilizarse en tres contextos: los list box, los subformularios y los
formularios listados desplegados utilizando los comandos MODIFY SELECTION / DISPLAY SELECTION o en la
ventana de visualizacin de registros en el modo Diseo.
List box: un botn asociado a la accin estndar Aadir subregistro se activa automticamente cuando al
menos un list box de tipo "selection" est presente en el formulario (ver Utilizar acciones estndar).
Subformulario: ubicado en el formulario de un registro padre, este botn est activo cuando un registro del
subformulario est seleccionado. Cuando el usuario hace clic en este botn, 4D crea un nuevo registro en la
tabla o subtabla relacionada, bien sea directamente en la lista, o en el formulario detallado asociado (en
funcin de las propiedades del subformulario).
Formularios listados: este botn est activo siempre. Cuando el usuario hace clic en este botn, se crea un
nuevo registro vaco. Con las listas desplegadas utilizando los comandos MODIFY SELECTION / DISPLAY
SELECTION, el registro se aade a la lista o en la pgina detallada dependiendo del valor del parmetro
enterList. En la ventana de visualizacin de registros, el registro se aade a la lista.
Eliminar subregistro: esta accin puede utilizarse en tres contextos: los list box, los subformularios y los
formularios listados mostrados utilizando los comandos MODIFY SELECTION / DISPLAY SELECTION o en la
ventana de visualizacin de los registros en modo Diseo.
List box: un botn asociado a la accin estndar Eliminar subregistro se activa automticamente cuando
- 371 -
al menos una lnea de list box de tipo "selection" est seleccionada en el formulario (ver Utilizar acciones
estndar).
Subformulario: ubicado en el formulario de un registro padre, este botn est activo cuando un subregistro
ha sido seleccionado en un subformulario.
Formularios listados: este botn est activo cuando por lo menos un registro est seleccionado en la lista.
Cuando el usuario hace clic en este botn, aparece una caja de dilogo, que permite confirmar o cancelar la
eliminacin.
Para mayor informacin sobre la utilizacin de botones en subformularios, consulte el prrafo .
Separador automtico: esta accin automtica permite crear separadores personalizados en sus formularios.
Esta accin slo puede asignarse a un botn invisible (ver Botones). Cuando se le asigna esta accin a un botn
invisible, este se comporta como un separador. Pegando una imagen en el botn invisible, puede crear todo tipo
de interfaz personalizada para sus separadores. Para mayor informacin sobre separadores, consulte
Separadores.
Deshacer: cancela la ltima accin efectuada (= al comando Deshacer del men Edicin). No debe confundirse
Deshacer con Cancelar (= cancela las modificaciones realizadas a un registro durante su visualizacin y regresa
al formulario de salida).
Rehacer: repite la ltima accin cancelada (= al comando Rehacer del men Edicin).
Cortar: suprime la seleccin y la ubica en el Portapapeles.
Copiar: ubica una copia de la seleccin en el Portapapeles.
Pegar: inserta el contenido del Portapapeles en donde se encuentra el cursor.
Borrar: borra la seleccin. Si no hay nada seleccionado, borra la totalidad del rea que contiene el cursor (reas
editables nicamente).
Seleccionar todo: selecciona todos los elementos seleccionables en el contexto.
Mostrar Portapapeles: abre una nueva ventana que muestra el contenido actual del Portapapeles.
Propiedades de la base: muestra la caja de dilogo estndar de las Propiedades de la base (ver nota en la
parte inferior).
Aplicacin: pasa al primer plano las ventanas y la barra de mens del modo Aplicacin de 4D
Salir: muestra una caja de dilogo de confirmacin Est seguro?, luego sale de la aplicacin 4D en caso de
validacin. De lo contrario, la operacin se cancela.
Cuando esta accin se asigna a un botn con el cual un mtodo de objeto tambin est asociado, se ejecuta la
siguiente secuencia: primero, aparece la caja de dilogo de confirmacin. Si se valida, 4D ejecuta el mtodo del
objeto. Despus de su ejecucin, la aplicacin se cierra.
Nota Mac OS: bajo Mac OS X, los comandos de mens personalizados asociados a las acciones Propiedades
de la base y Salir se ubican automticamente en el men de la aplicacin, cuando la base de datos se ejecuta en
este entorno. Este mecanismo simplifica el manejo del comando Quit bajo Mac OS.
Retorno al modo Diseo: pasa al primer plano las ventanas y la barra de mens del modo Diseo de 4D.
Cuando la base se ejecuta en modo interpretado, esta accin provoca la visualizacin de la ventana actual del
modo Diseo. Cuando la base se ejecuta en modo compilado, esta accin provoca la visualizacin de la ventana
de registros de la tabla actual (en modo compilado, slo el acceso a los registros es posible).
CSM: muestra la ventana Centro de seguridad y mantenimiento.
Ir a pgina: esta accin est disponible slo para objetos de tipo Pestaa. Cuando esta opcin est activa, 4D
muestra automticamente la pgina del formulario correspondiente al nmero de pestaa seleccionada. Para
mayor informacin, consulte Accin Ir a la pgina).
Las siguientes acciones se utilizan en el contexto de un formulario que contiene un rea web (para mayor informacin
sobre este tipo de objeto, consulte el prrafo reas web).

Abrir URL anterior: provoca la apertura del URL anterior entre la secuencia de navegacin efectuada por el
usuario en el rea web. Si no hay un URL anterior, es decir si el usuario slo ha mostrado una pgina en el rea, el
botn o el comando de men asociado se desactiva.
Abrir URL siguiente: provoca la apertura del URL siguiente entre la secuencia de navegacin efectuada por el
usuario en el rea web. Si no hay un URL siguiente, es decir si el usuario no ha retrocedido una pgina en la
secuencia, el botn o el comando de men asociado se desactiva.
Actualizar URL actual: recarga el contenido actual del rea web.
Detener carga URL: detiene la carga de la pgina y/o los objetos presentes en URL actual en el rea web.

- 372 -
Efecto espejo (Windows)

La opcin Efecto espejo (Windows) (en el tema Imagen de la Lista de Propiedades) se puede aplicar a todo objeto
activo que utilice imgenes:
Esta opcin hace que la imagen asociada con el objeto se invierta cuando aparezca en una aplicacin configurada en
modo derecha-izquierda bajo Windows. Est disponible para campos y variables de tipo imagen, Botones imagen y
Mens pop-up imagen, Botones 3D, casillas de seleccin 3D y botones de opcin 3D, botones radio imagen, como
tambin las imgenes estticas.
Esta opcin se detalla en Utilizar imgenes estticas.

- 373 -
Multiestilo (rea de texto enriquecido)

Presentacin

4D permite el uso de las reas de texto enriquecido con variaciones de estilo individuales. Por ejemplo, ahora es
posible tener palabras en negrita y cursiva o a color dentro de un rea de texto:

Esta funcin aplica a los campos y variables de tipo Alfa y Texto, as como tambin a los listbox. Es soportada para
formularios pgina, lista, tanto para visualizacin como para impresin.
Nota: no se puede utilizar reas de texto enriquecido en los siguientes contextos: filtros de entrada, informes rpidos y
editor de etiquetas.
Las opciones especficas en la Lista de propiedades configuran el funcionamiento de las reas de texto enriquecido.
Los atributos disponibles son fuente, tamao, estilo, color del texto y color de fondo. Para modificar los atributos de
estilo en un rea de texto enriquecido, hay dos posibilidades diferentes:
Durante la ejecucin, utilice un men pop-up automtico (la disponibilidad de este men se configura en la Lista de
propiedades).
Por programacin, utilizando el comando ST SET ATTRIBUTES.

En las reas de texto enriquecido, los atributos de estilo se almacenan como etiquetas HTML de tipo <SPAN>. Cuando
se muestra el rea texto, estas etiquetas son interpretadas por 4D. Esto significa que el desarrollador puede especificar
y modificar los atributos de estilo en un texto por programacin. Los atributos <SPAN> soportados por 4D se describen
a continuacin. El comando ST Get plain text recupera el texto plano sin etiquetas de estilo.
Para una descripcin de los comandos que manejan las reas de texto enriquecido y las etiquetas <span> soportadas,
consulte el captulo en el manual de Lenguaje de 4D.

Propiedades de gestin de texto enriquecido

Las propiedades de gestin de texto enriquecido estn disponibles para las variables editables, los campos y las
celdas de listbox de tipo Alfa o Texto.
Multiestilo
Esta opcin (tema "Texto") activa la posibilidad de utilizar estilos especficos en el rea seleccionada. Cuando esta
opcin est activa, 4D interpreta las posibles etiquetas HTML <SPAN> presentes en el rea.
Por defecto, esta opcin no est seleccionada.
Guardar las etiquetas por defecto
Esta opcin slo aparece cuando la opcin Multiestilo est seleccionada. Tambin se encuentra en el tema "Texto".
Cuando esta opcin est seleccionada, el rea almacenar las etiquetas de estilo con el texto, incluso si no se ha hecho
- 374 -
ninguna modificacin. En este caso, las etiquetas corresponden al estilo por defecto. Cuando esta opcin no est
seleccionada, slo se guardan las etiquetas de estilo modificadas.
Por ejemplo, este es un texto que incluye una modificacin de estilo:

Si la opcin "Guardar las etiquetas por defecto" no est seleccionada, el rea slo guarda la modificacin. El contenido
almacenado, es entonces:

Qu <SPAN STYLE="font-size:13.5pt">hermoso</SPAN> da!

Si la opcin est seleccionada, el rea guarda toda la informacin de formato. Una primera etiqueta genrica describe
el estilo por defecto luego cada variacin es objeto de un par de etiquetas anidadas. El contenido almacenado en el
rea es por lo tanto:

<SPAN STYLE="font-family:'Arial';font-size:9pt;text-align:left;font-
weight:normal;font-style:normal;text-decoration:none;color:#000000;background-
color:#FFFFFF">Qu <SPAN STYLE="font-size:13.5pt">hermoso</SPAN> da!</SPAN>

Men contextual
Esta opcin (tema "Entrada") slo aparece cuando la opcin Multiestilo se ha seleccionado.
La opcin Men contextual activa para el usuario la posibilidad de llamar durante la entrada de datos a un men
emergente mediante un clic derecho en el rea.

Este men pop-up ofrece los siguientes comandos:


comandos estndar de edicin de texto (cortar, copiar, pegar)
Fuentes...: muestra la caja de dilogo sistema de gestin de fuentes
Fuentes recientes: muestra los nombres de las ltimas fuentes seleccionadas durante la sesin. La lista puede
almacenar hasta 10 fuentes (ms all de eso, la ltima fuente utilizada reemplaza la ms antigua). Por defecto, la
lista estar vaca y la opcin no se muestra. Puede administrar esta lista utilizando los comandos SET RECENT
FONTS y FONT LIST.
comandos de modificacin de estilo soportados: fuente, tamao, color, estilo y color de fondo:
Cuando el usuario modifica un atributo de estilo a travs de este men emergente, 4D genera el evento de formulario On
After Edit.
Notas:
Tambin es posible modificar los estilos a travs del comando [#cmd id="1093"/]. Tenga en cuenta que en este
caso, no se genera ningn evento formulario.
El estilo "tachado" no es compatible con Mac OS. Sin embargo, la etiqueta correspondiente se puede utilizar por
programacin.

Procesamiento de texto enriquecido

Copiar - pegar y arrastrar - soltar


Los atributos de estilo soportados (fuente, tamao, estilo y color) se conservan en caso de arrastrar - soltar o copiar -
pegar texto con estilo entre:
diferentes reas de texto enriquecido en 4D (variables/campos texto y list boxes),
un rea 4D Write y un rea de texto enriquecido 4D,
- 375 -
un texto externo con estilo y un rea de texto enriquecido 4D.
En los otros casos, los estilos se mantendrn en funcin del contexto.

Mouseover
Se proponen dos nuevas funciones automticas cuando el ratn se mueve sobre un rea multiestilo:
Cuando se mueve sobre una seleccin de texto, el cursor se convierte en una flecha:

Cuando se mueve sobre una URL, aparece un mensaje de ayuda que contiene la direccin:

Nota: puede insertar enlaces URL usando el comando ST INSERT URL.

- 376 -
Multilneas

Las propiedades especficas del tema "Control de entrada" permiten controlar dos parmetros relacionados con la
visualizacin e impresin de las reas de texto (campos y variables) en los formularios:
Visualizacin de palabras ubicadas al extremo de la lnea en las reas de una sola lnea
Insercin automtica de retornos de lnea en las reas de texto
Nota: los retornos de carro no se puede utilizar en objetos de tipo Alfa.

Multilneas

Esta propiedad est disponible para las variables y campos de tipo alfa y texto, editables y no editables. Puede tener
tres valores diferentes: S, No, Automtica.

Multilnea = Automtica
En las reas de una sola lnea, las palabras ubicadas al final de lneas se truncan y no hay retornos de lnea.
En las reas de varias lneas, 4D efecta los retornos de lnea automticos:

Multilnea = No
En las reas de una sola lnea, las palabras ubicadas al final de lneas se truncan y no hay retornos de lnea.
No hay retornos de lnea: el texto se muestra siempre en una sola lnea. Si el campo o la variable Alfa o Texto contiene
retornos de carro, el texto situado tras el primer retorno de carro se elimina tan pronto como se modifique el rea:

Multilnea = S
Al seleccionar este valor, aparece una opcin adicional Ajuste de lnea. Debe establecer un valor para esta opcin.

Ajuste de lnea

Esta propiedad slo est disponible cuando la opcin Multilnea est en S. Puede tener tres valores: S, No,
Automtico.
Nota: para que estas propiedades se tengan en cuenta correctamente, los objetos de texto no deben tener Barras de
desplazamiento.
Ajuste de lnea = Automtico
En las reas de una sola lnea, el texto se muestra hasta el primer retorno de carro o hasta que la ltima palabra se
puede mostrar completa. 4D inserta los retornos de lnea, es posible desplazar el contenido del rea presionando la
tecla flecha hacia abajo.
En las reas de varias lneas, 4D efecta los retornos de lnea automticos:

- 377 -
Ajuste de lnea = S
En las reas de una sola lnea, slo se muestra la ltima palabra que se puede mostrar por completo. 4D inserta los
retornos de lnea, es posible desplazar el contenido de la rea presionando la tecla flecha hacia abajo.
En las reas de varias lneas, 4D efecta los retornos de lnea automticos:

Ajuste de lnea = No
4D no hace ningn retorno de lnea automtico y la ltima palabra que se puede mostrar puede estar truncada. En las
reas tipo de texto, se soportan los retornos de carro:

- 378 -
Barras de desplazamiento

Puede asociar barras de desplazamiento a varios tipos de objetos: Campos y variables objetos de tipo Texto o
Imagen, listas jerrquicas, list boxes y subformularios. Estas propiedades pueden administrarse utilizando la Lista de
propiedades o por programacin con la ayuda del comando OBJECT SET SCROLLBAR.
Las propiedades Barra de desplazamiento horizontal y Barra de desplazamiento vertical se activan en el tema
Apariencia de la Lista de propiedades.
Para los objetos de tipo imagen, listas jerrquicas y list boxes, estas propiedades se definen va un men y
soportan el modo automtico.
Para los objetos de tipo Texto y los subformularios, estas propiedades se definen utilizando las casillas de
seleccin.
Nota: si un campo u objeto de tipo texto no tiene barra de desplazamiento, el usuario puede navegar a travs del
contenido utilizando las teclas de movimiento (flechas).

Barras de desplazamiento para imgenes

Los objetos de tipo imagen, lista jerrquica y list box pueden tener barras de desplazamiento en modo automtico.
Nota: los objetos imagen pueden tener barras de desplazamiento cuando el formato de visualizacin de la imagen es
"Truncado (no centrado)." Para obtener ms informacin sobre los formatos de visualizacin de las imgenes, consulte
el prrafo "Formatos imagen" en la seccin GET LIST ITEM PARAMETER.
En este contexto, las propiedades Barra de desplazamiento horizontal y Barra de desplazamiento vertical se
definen con la ayuda de un men de tres opciones:

S: la barra de desplazamiento est siempre visible, incluso cuando no es necesario (en otras palabras, cuando el
tamao de la imagen es menor que el marco).
No: la barra de desplazamiento nunca est visible.
Automtica: la barra de desplazamiento aparece automticamente cuando es necesario (en otras palabras,
cuando el tamao de la imagen es mayor que el marco).

Teclas de desplazamiento

Cuando un objeto de tipo imagen tiene una barra de desplazamiento, el usuario dispone automticamente de comandos
de desplazamiento en el teclado. La siguientes teclas son soportadas:
Tecla(s) Accin
Teclas de flecha Desplazamiento en la direccin de la flecha (= clic en el cursor de desplazamiento)
Alt + Teclas de flecha Desplazamiento pixel por pixel en la direccin de la flecha
Re Pg / Av Pg Desplazamiento vertical pgina por pgina (relacionado con la altura del rea)
Mays + Re Pg / Av Pg Desplazamiento horizontal pgina por pgina (relacionado con el ancho del rea)
Inicio Visualizacin del lmite superior de la imagen
Fin Visualizacin del lmite inferior de la imagen
Mays + Inicio Visualizacin del lmite izquierdo de la imagen
Mays + Fin Visualizacin del lmite derecho de la imagen
Rueda del ratn Desplazamiento vertical
Mays + Rueda del ratn Desplazamiento horizontal
Note que el desplazamiento de imgenes dispara el On Scroll Evento formulario .
- 379 -
Men contextual (imgenes)

Es posible asociar un men contextual automtico a las variables y campos de tipo Imagen. Para hacer esto,
simplemente seleccione la opcin Men contextual en el tema Texto e imagen de la Lista de propiedades.
Una vez seleccionada esta opcin, el rea tendr un men contextual cuando el formulario se ejecute en modo Diseo o
en modo Aplicacin. El usuario dispone de los comandos de edicin y visualizacin al hacer clic derecho en la imagen:

Adems de los comandos de edicin estndar (Cortar, Copiar, Pegar y Borrar), el men tambin contiene el comando
Importar..., que le permite importar una imagen guardada en un archivo, como tambin el comando Guardar como...,
el cual permite guardar la imagen en el disco. Estos dos comandos aprovechan la gestin de imgenes nativa: permiten
respectivamente abrir y guardar imgenes en todo formato nativo soportado por 4D. El men tambin puede utilizarse
para modificar el formato de visualizacin de la imagen: se ofrecen las opciones Truncado no centrado, Ajustado y
Ajustado centrado (prop).
La modificacin del formato de visualizacin utilizando este men es temporal; no se guarda con el registro. Para mayor
informacin sobre los formatos de visualizacin de imgenes, consulte GET LIST ITEM PARAMETER.
Si la variable o el campo imagen no es editable, slo los comandos Copiar, Guardar... y los comandos de formato
estn disponibles.
Nota: la propiedad Men contextual puede tambin estar disponible para los campos y las variables de tipo Texto. En
este caso, depende de la propiedad Multiestilo (ver Multiestilo (rea de texto enriquecido)).

- 380 -
Atajo de teclado

Puede asignar un atajo de teclado a Botones y Casillas de seleccin. El usuario puede activar el botn o seleccionar
la casilla de seleccin utilizando el teclado en lugar del ratn.
Puede configurar esta opcin haciendo clic en el botn [...] ubicado en la propiedad Atajos del tema Controles de
entrada de la Lista de propiedades:

Aparece la siguiente caja de dilogo:

Escriba el atajo de teclado. Por ejemplo, si quiere utilizar Ctrl+H, mantenga presionada la tecla Ctrl y presione H. La
letra h aparecer entonces en el rea Tecla asociada y la casilla de seleccin debajo de la tecla Ctrl se marcar. No es
necesario utilizar modificadores. Puede utilizar cualquier tecla sola como atajo, aunque no es recomendable en la
mayora de los casos. Si lo desea, puede modificar manualmente la seleccin de teclas modificadoras seleccionando o
deseleccionando cualquiera de las casillas de seleccin de las teclas modificadoras.
Para comenzar nuevamente, haga clic en Borrar. Cuando haya terminado, haga clic en Aceptar.
La Lista de propiedades indica el atajo de teclado que fue asignado al objeto. Si ms adelante quiere cambiar el atajo,
simplemente abra la caja de dilogo Atajos y escriba la combinacin de teclas a utilizar.
Nota: tambin puede asignar un atajo a un comando de men personalizado. Si hay conflicto entre dos atajos, el objeto
activo tiene la propiedad. Para mayor informacin sobre atajos asociados a mens, consulte Definir las propiedades
de los mens.

- 381 -
Memorizacin de la geometra de las ventanas

4D incluye nuevas funciones automticas de memorizacin de la apariencia precisa de las ventanas cuando se cierran
(su geometra), permitiendo a los usuarios encontrar su entorno de trabajo en el mismo estado que lo dejaron.
Estas funciones automticas conciernen a las coordenadas de las ventanas, la posicin de los diferentes objetos que
contiene, as como el estado actual de ciertos objetos, tales como Pestaas.
Nota: Las nuevas funciones automticas slo se soportan si los formularios se vuelven a abrir con el mismo tamao que
tenan al cerrarse. Por consiguiente, que se basan principalmente en el uso del comando Open form window con el
parmetro *.

Opcin de formulario Guardar Geometra

Para activar el mecanismo de memorizacin automtica, debe seleccionar la opcin Guardar Geometra que se
encuentra en las Propiedades de los formularios:

Cuando se activa esta opcin, varios parmetros del formulario son guardados automticamente por 4D cuando la
ventana se cierra, independientemente de la forma en que se modificaron durante la sesin:
la pgina actual,
la posicin, el tamao y la visibilidad de cada objeto del formulario (incluyendo el tamao y la visibilidad de las
columnas de list box).
Nota: esta opcin no tiene en cuenta los objetos generados mediante el comando OBJECT DUPLICATE. Para que el
usuario recupere su entorno cuando utiliza este comando, el desarrollador debe repetir la secuencia de creacin,
definicin y posicionamiento de los objetos.
Cuando esta opcin est seleccionada, la opcin Guardar valor tambin est disponible para algunos objetos (ver el
siguiente prrafo).

Opcin Guardar valor

La opcin Guardar valor se encuentra en la seccin "Objetos" de la Lista de propiedades:

- 382 -
Esta opcin est disponible cuando:
Opcin de formulario Guardar Geometra est seleccionada para el formulario,
el objeto seleccionado contribuye a la geometra global del formulario. Por ejemplo, esta opcin est disponible
para las casillas de seleccin, ya que su valor se puede utilizar para ocultar o mostrar reas
adicionales en la ventana (ver ejemplos ms adelante).
Aqu est la lista de objetos cuyo "valor" se puede memorizar:
Objeto Valor guardado
Botn de radio Valor de la variable asociada (1, 0, True o False para botones de acuerdo a su tipo)
Botn de radio 3D Valor de la variable asociada (0, 1)
Casilla de seleccin Valor de la variable asociada (0, 1, 2)
Casilla de seleccin 3D Valor de la variable asociada (0, 1)
Pestaas Nmero de pestaa seleccionada
Pop-up/Lista desplegable Nmero de lnea seleccionada
Men imagen desplegable Nmero de lnea seleccionada

Almacenamiento y uso de informacin

4D conserva las coordenadas de las ventanas cuando se cierran, as como su estado maximizado bajo Windows
cuando se generaron utilizando la instruccin Open form window (nombreFormulario;*).
Esta informacin, as como la que se puede guardar opcionalmente (geometra y valor) se guarda en formato JSON en
la carpeta del usuario actual de la mquina, al momento del cierre de la ventana. Gracias a
este principio, incluso cuando se utiliza la cuenta "Usuario por defecto", cada usuario que se conecta con su propia
mquina puede mantener su propio entorno
Esta informacin slo se utiliza si el formulario se vuelve a abrir con las mismas dimensiones que cuando se cerr. Este
principio implica ya sea que la instruccin Open form window(*) se utiliz o que el
desarrollador estableci un sistema personalizado para guardar las coordenadas.
La informacin guardada se restaura y se vuelve a aplicar en el siguiente orden:
el tamao y la posicin de la ventana se restauran cuando el comando Open form window se ejecuta
la pgina actual se restaura antes de llamar al evento On Load
la posicin, tamao y visibilidad de cada objeto se restauran despus del evento On Load.
Las propiedades de los objetos de subformularios se guardan y se vuelven a aplicar automticamente de la misma
forma.
Atencin: la informacin guardada va las opciones "Guardar geometra " y "Guardar valor" se reinicializan cada vez
que se modifican los objetos del formulario en modo Diseo (redimensin, desplazamiento, adicin, eliminacin o
cambio de nombre). Por lo tanto, se recomienda no utilizar esta funcionalidad de la interfaz para guardar valores
recurrentes, tales como las preferencias del usuario.

Ejemplos

Memorizacin de separadores
Usted desea guardar las posiciones relativas de los separadores del formulario. En este caso, basta con marcar la
opcin Guardar geometra. Cuando se abre el formulario, se ve como este:

- 383 -
El usuario cambia el tamao de la ventana y mueve los separadores. Los objetos se redimensionan de acuerdo a sus
propias propiedades. Luego el usuario cierra la ventana. Al reabrirla, los objetos conservan su nueva apariencia:

Guardar reas expandibles


En un formulario, se ha colocado una o varias reas expandible administradas utilizando casillas de seleccin 3D. Cada
casilla muestra un tringulo apuntando a la derecha cuando el rea est contrada y
apuntando hacia abajo cuando est extendida. Hay varias formas de configurar estas reas (movimiento o visibilidad de
los objetos, utilizando diferentes pginas de formulario, etc.), y en todos los casos, el tamao de la ventana puede variar.

Para que el estado de las reas retrctiles se conserve entre dos sesiones, debe:
seleccionar la opcin Guardar geometra para el formulario para que la pgina actual, posiciones y estados de
visibilidad de los objetos se conserven,
seleccione la opcin Guardar valor para la casilla de seleccin de objetos 3D para que el valor de la variable
asociada se conserve (0 o 1 para estado contrado o expandido).

Guardar pestaas
En un formulario, usted ha puesto las pestaas con la accin estndar "Ir a la pgina":

- 384 -
En este caso, para que el mecanismo de memorizacin funcione correctamente, debe seleccionar la opcin Guardar
geometra para el formulario y Guardar valor para el objeto pestaa:

- 385 -
List boxes

Presentacin
Propiedades especficas de los list box
Propiedades especficas de columnas de list box
Propiedades especficas de los encabezados de list box
Propiedades especficas de los pies de list box
Creacin y uso de list box jerrquicos
Utilizar acciones estndar
Visualizacin de campos en list box
Visualizacin del resultado de una peticin SQL en un list box

- 386 -
Presentacin

Los List box son objetos activos complejos que permiten mostrar e introducir datos en forma de columnas
sincronizadas. Estos objetos tienen las mismas caractersticas bsicas de las reas de desplazamiento agrupadas,
como tambin nuevas posibilidades extendidas (entrada de valores, clasificacin de columnas, apariencia
personalizada, desplazamiento de columnas, etc.). Un objeto de tipo List box puede definirse completamente utilizando
el editor de formularios de 4D y tambin puede controlarse por programacin.

Este captulo detalla los principios relacionados con la creacin y configuracin de objetos tipo List box en el editor de
formularios. Para mayor informacin sobre el manejo programado de estos objetos, consulte List Box del manual
Lenguaje de 4D.

Tipo Seleccin y tipo Array

Hay dos tipos de list boxes: los list box de tipo seleccin y los list box de tipo array.

List box de tipo seleccin: el nmero de lneas est basado en la seleccin actual o en una seleccin temporal.
Cada columna est asociada a un campo (por ejemplo [Empleados]Nombre) o una expresin 4D. La expresin
puede basarse en uno o ms campos (por ejemplo [Empleados] Nombre+ [Empleados]Nombre) o a una frmula
(por ejemplo Cadena(Milisegundos)). La expresin tambin puede ser un mtodo de proyecto, una variable o un
elemento de array.
En el caso de un list box basado en la seleccin actual, toda modificacin efectuada del lado de la base se refleja
automticamente en el list box y viceversa. La seleccin actual es por lo tanto siempre la misma en los dos
lugares.
List box de tipo array: el nmero de lneas est basado en el nmero de elementos del array. Cada columna del
list box est asociada con un array 4D. Por defecto, 4D asigna el nombre ColumnaX a cada variable de columna
y a cada array asociado. Puede cambiar el nombre en las propiedades de la columna. Con este tipo de list box, la
gestin de los valores introducidos o mostrados en los list box se efecta va el lenguaje de 4D. Tambin puede
asociar una lista de seleccin a una columna para controlar la entrada de datos (ver la seccin Propiedades
especficas de columnas de list box).
No es posible combinar en un mismo list box columnas asociadas a campos (o expresiones) y columnas asociadas con
arrays en el mismo list box.

Descripcin

Un list box contiene una o ms columnas cuyo contenido se sincroniza automticamente. Por defecto, cuando crea un
list box, este contiene una sola columna. Puede modificar el nmero de columnas (aadir, duplicar o borrar una columna)
utilizando el men contextual (clic en una columna o en el encabezado de una columna) o en las propiedades del list box.

- 387 -
El nmero de columnas es, en teora, ilimitado (depende de los recursos del equipo).
Un list box est compuesto de cuatro partes distintas: el objeto list box en su conjunto, las columnas, los
encabezados y los pies de columnas. En el editor de formularios, estas partes pueden seleccionarse por separado.
Cada una dispone de su propio nombre de objeto y de variable as como de propiedades especficas. Por ejemplo, el
nmero de columnas o el color alterno de cada fila se definen en las propiedades del objeto list box, el largo de cada
columna se define en las propiedades de la columna y la fuente del encabezado se define en las propiedades del
encabezado.
Nota: en los list box de tipo seleccin, las columnas no tienen un nombre de variable.
Un list box de tipo array puede visualizarse en modo estndar o en modo jerrquico. Los list boxes mostrados en
modo jerrquico utilizan los mecanismos especficos, descritos a continuacin.

Principios de utilizacin de list boxes

Durante la ejecucin, los list box permiten mostrar e introducir datos en forma de listas.
Para pasar una celda a modo edicin (si la entrada est autorizada para la columna), simplemente haga clic dos veces
en el valor que la contiene:

Nota: para mayor informacin, consulte el prrafo Gestin de la entrada en el manual Lenguaje de 4D.
Puede introducir y mostrar el texto en varias lneas dentro de una celda de list box. Para aadir un retorno a la lnea:
bajo Windows, presione las teclas Ctrl+Retorno de carro,
bajo Mac Os, presione las teclas Opcin+Retorno de carro.

Note que la altura de las lneas no se redimensiona automticamente.


Es posible ordenar valores de columnas por medio de un clic en un encabezado (ordenacin estndar). La ordenacin
es alfanumrica y alternativamente ascendente/descendente con clic mltiples. Todas las columnas se sincronizan
automticamente.
Nota: para mayor informacin, consulte el prrafo Gestin de ordenaciones en el manual Lenguaje de 4D.
Igualmente es posible redimensionar cada columna:

El usuario puede modificar el orden de las lneas y columnas utilizando el ratn (si esta accin est autorizada):

- 388 -
Nota: en los list box de tipo seleccin, no es posible cambiar el orden de las lneas movindolas con el ratn.
El usuario puede seleccionar una o varias lneas utilizando los atajos estndar: Mays+clic para una seleccin continua
y Ctrl+clic (Windows) o Comando+clic (Mac OS) para una seleccin no adyacente.
Todas estas caractersticas pueden controlarse utilizando las propiedades del list box, de las columnas, de los
encabezados y de los pies, las cuales se detallan en los prrafos siguientes.
Nota: las caractersticas especficas de los list boxes utilizados en modo jerrquico se describen en la seccin
Creacin y uso de list box jerrquicos.

Impresin de list boxes

Los list boxes se pueden imprimir en forma modo "previsualizacin" (impresin de una imagen del rea del list box) o en
modo "avanzado" (impresin dinmica de tamao variable). Para ms informacin, consulte el prrafo Impresin de
list boxes en el Manual de Lenguaje de 4D.

- 389 -
Propiedades especficas de los list box

Cuando selecciona un objeto List Box del editor de formularios, la lista de propiedades muestra varios temas y
propiedades especficas. Note que las propiedades especificas adicionales estn disponibles cuando selecciona una
columna de list box (ver Propiedades especficas de columnas de list box), un encabezado de columna (ver
Propiedades especficas de los encabezados de list box) o un pie de columna (ver Propiedades especficas de
los pies de list box).

Tema Objetos

Este tema incluye la propiedad Fuente de datos que se utiliza para especificar el tipo de list box:

Seleccione la opcin Seleccin actual si quiere utilizar expresiones, campos o mtodos cuyos valores se
evaluarn para cada registro de la seleccin actual de una tabla.
Seleccione la opcin Seleccin temporal si quiere utilizar expresiones, campos o mtodos cuyos valores se
evaluarn para cada registro de una seleccin temporal.
Seleccione la opcin Arrays si quiere utilizar elementos del array como lneas del list box.
La opcin arrays es necesaria si quiere recuperar el resultado de una peticin SQL en un list box (ver la seccin
Visualizacin del resultado de una peticin SQL en un list box).

Tema Fuente de datos

Este tema aparece para los list box de tipo seleccin nicamente. Contiene la propiedad Tabla principal para los list
box de tipo seleccin actual o Seleccin temporal para los list box de tipo seleccin temporal.

Tabla principal: permite especificar la tabla cuyo seleccin actual se utilizar. Esta tabla y su seleccin actual
sern la referencia para los campos asociados con las columnas del list box (referencias de campos o
expresiones que contienen campos). Incluso si algunas columnas contienen campos de otras tablas, el nmero de
lneas mostradas ser definido por la tabla principal.
El men asociado a esta propiedad muestra todas las tablas de la base, sin importar si el formulario est
relacionado a una tabla (formulario tabla) o no (formulario proyecto). Por defecto, la propiedad muestra la primera
tabla de la base. Para mayor informacin sobre el comportamiento de esta propiedad, consulte Visualizacin de
campos en list box.
Seleccin temporal: permite especificar la seleccin temporal a utilizar. Debe introducir el nombre de una
seleccin temporal vlida. La seleccin temporal puede se proceso o interproceso. El contenido del list box se
basar en esta seleccin. La seleccin temporal elegida debe existir y ser validada en el momento de la
visualizacin del list box, de lo contrario el list box se mostrar vaco. Si deja vaca el rea del nombre, el list box se
mostrar vaco.
Nota: las selecciones temporales son listas ordenadas de registros. Se utilizan para conservar en memoria el
orden y el registro actual de una seleccin. Para mayor informacin, consulte Selecciones temporales en el
manual Lenguaje de 4D.

Tema List Box

Este tema agrupa las propiedades elementales del objeto.


Nmero de columnas: nmero de columnas mostradas en el list box (1 por defecto). Puede modificar el nmero
de columnas (aadir, duplicar o borrar una columna) utilizando el men contextual (clic en una columna o en un
encabezado de columna):

- 390 -
Nmero de columnas bloqueadas: nmero de columnas que deben mostrarse permanentemente en la parte
izquierda del list box, incluso si el usuario se desplaza por las columnas horizontalmente. Una columna bloqueada
puede redimensionarse, editarse, etc. como toda columna. Slo su posicin en el list box est bloqueada (no se
desplaza). Esto puede ser til, por ejemplo, para mostrar los "ttulos" de las lneas en un array de gran tamao.
Esta propiedad define un "rea bloqueada". Si una columna bloqueada se borrar por programacin, el nmero de
columnas bloqueadas en el list box disminuye en 1. De la misma forma, si una columna se inserta por
programacin en el rea bloqueada, esta columna se bloque automticamente.
Nota: consulte la seccin "Columnas bloqueadas y columnas estticas" para una comparacin de dos
funcionalidades.
Nmero de columnas estticas: nmero de columnas que no pueden moverse durante la ejecucin. Este valor
indica el nmero de columnas fijas a partir de la primera columna del list box. Para evitar todo desplazamiento de
columnas, este valor debe ser igual al nmero total de columnas. Esta propiedad tiene en cuenta las columnas
invisibles.
Por defecto, si el modo jerrquico no est activo (opcin List box jerrquico no seleccionada), el valor de la
propiedad es 0, lo que significa que todas las columnas se pueden mover. Cuando el modo jerrquico est activo
(list boxes de tipo array nicamente), esta opcin siempre es al menos 1.
Nota: consulte la seccin "Columnas bloqueadas y columnas estticas" para una comparacin de las dos
funcionalidades.
Seleccin mltiple: esta propiedad se aade para los list box de tipo seleccin nicamente. Permite especificar
el conjunto a utilizar para manejar los registros seleccionados en el list box (cuando est seleccionada la fuente de
datos Arrays, se utiliza un array Booleano con el mismo nombre que el list box).
4D crea un conjunto por defecto, llamado ListBoxSetN (N comienza en 0 y se incrementa en funcin del nmero de
list boxes en el formulario), que se puede modificar si es necesario. El conjunto puede ser local, proceso o
interproceso (recomendamos el uso de un conjunto local, por ejemplo $LBSet, con el fin de limitar el trfico en la
red). El conjunto es mantenido automticamente por 4D. Si el usuario selecciona uno o ms lneas en el list box, el
conjunto se actualiza inmediatamente. Si quiere seleccionar una o ms lneas por programacin, aplique los
comandos del tema Conjuntos a este conjunto.
Notas:
El estado resaltado de las lneas del list box y el de los registros de la tabla son totalmente independiente.
Si la propiedad Seleccin mltiple no contiene un nombre, no ser posible realizar selecciones en el list
box.
Array lneas ocultas (list box de tipo array nicamente): permite ocultar una o varias lneas en el listbox. Debe
introducir el nombre de un array de tipo Booleano. El array debe tener el mismo nmero de elementos que el
listbox. Cada elemento del array representa el estado mostrado/oculto de la lnea correspondiente en el list box:
Para ocultar la lnea, pase True,
Para mostrar la lnea, pase False.
Si no se ha definido un array o si el array est vaco, todas las lneas del list box son visibles. Por defecto, las
lneas aadidas son visibles.
Ocultar las lneas afecta nicamente la visualizacin del listbox. Las lneas ocultas estn presentes en los arrays y
pueden manipularse por programacin. Los comandos del lenguaje, especialmente LISTBOX Get number of
rows o LISTBOX GET CELL POSITION, no tienen en cuenta el estapdo oculto/mostrado de las lneas. Por
ejemplo, en un list box de 10 lneas donde 9 lneas estn ocultas, LISTBOX Get number of rows devuelve 10.
Desde el punto de vista del usuario, la presencia de lneas ocultas en un list box no es visible. Slo las lneas
visibles son seleccionables (por ejemplo va el comando Select All).
Modo de seleccin: permite definir el modo de seleccin de las lneas en el list box. Hay tres modos disponibles:
Ninguno: no puede seleccionarse ninguna lnea y no es posible introducir datos. La seleccin y gestin de datos
puede efectuarse nicamente por programacin. El clic o el doble clic en la lista no tienen ningn efecto (incluso si
la opcin Editable est seleccionada para las columnas) pero se pueden generar los eventos On Clicked y On
Double Clicked. En este modo, el desarrollador tiene control total de las selecciones (utilizando el conjunto
resaltado) y de la entrada de datos (utilizando el comando EDIT ITEM). No se generan los eventos de formulario
On Selection Change y On Before Data Entry. Por otra parte, el evento On After Edit puede generarse cuando los
datos son introducidos por el usuario por medio del comando EDIT ITEM.
Lnea nica: una sola lnea puede seleccionarse a la vez.
Multilneas: varias lneas (adyacentes o no) utilizando atajos estndar: Mays+clic para una seleccin continua y
Ctrl+clic (Windows) o Comando+clic (Mac OS) para una seleccin discontinua.
Doble clic en una fila (para list box tipo seleccin nicamente): define la accin que se llevar a cabo cuando
un usuario haga doble clic sobre una fila en el listbox. Las siguientes opciones estn disponibles:
- 391 -
No hacer nada (por defecto): hacer doble clic en una lnea no desencadena ninguna accin automtica.
Modificar Registro: doble clic en una lnea muestra el registro correspondiente en el formulario detallado
definido para el list box (ver el prrafo " Formulario Detallado" ms adelante). El registro est abierto en
modo lectura y escritura por lo que puede ser modificado.
Mostrar registro: idntica a la accin anterior, excepto que el registro se abre en modo de slo lectura de
manera que no pueda ser modificado.
Nota: Al hacer doble clic en una lnea vaca no pasa nada.
Independientemente de la accin seleccionada elegida, se genera el evento de formulario On Double
clicked.
Para las dos ltimas acciones, el evento de formulario On Open Detail tambin se genera. On Close Detail
luego se genera cuando se muestra un registro en el formulario detallado asociado al list box antes de
cerrarse (sin importar si el registro fue modificado o no).
Formulario detallado (list box de tipo seleccin nicamente): especifica el formulario a utilizar para modificar o
mostrar los registros individuales del list box. El formulario definido se muestra:
cuando utilice las acciones estndar Aadir Subregistro y Editar Subregistro aplicadas al list box (ver
Utilizar acciones estndar),
cuando se hace doble clic en una lnea y la propiedad Doble clic en lnea est definida para "Editar
registro" o "Mostrar Registro" (ver la seccin Doble clic en una fila arriba).

Columnas bloqueadas y columnas estticas


Las columnas bloqueadas y las columnas estticas son dos funcionalidades separadas e independientes en los list box:
las columnas bloqueadas siempre se muestran a la izquierda del list box, no se desplazan horizontalmente.
las columnas estticas no se pueden mover por arrastrar y soltar al interior del list box.
Nota: puede definir las columnas estticas y las columnas bloqueadas por programacin, ver el captulo List Box en el
manual de Lenguaje de 4D.
Estas propiedades interactan de la siguiente forma:
Si define nicamente columnas estticas, no se pueden mover.
Si define columnas bloqueadas, pero no estticas, puede cambiar su posicin libremente en el rea bloqueada.
Sin embargo, una columna bloqueada no se puede mover fuera de esta rea bloqueada.

Si define un mismo nmero de columnas bloqueadas como de columnas estticas, no podr mover las columnas
en el rea bloqueada.

- 392 -
Puede definir una combinacin de columnas bloqueadas y estticas de acuerdo a sus necesidades. Por ejemplo,
si define tres columnas bloqueadas y una columna esttica, el usuario puede intercambiar las dos columnas ms a
la derecha dentro del rea bloqueada (ya que slo la primera columna es esttica).

Temas encabezados y pies

Estos temas administran la visualizacin y la altura de los encabezados y de los pies de columnas del list box. Tenga en
cuenta que las reas de encabezados y de pies no son editables durante su uso. Sus contenidos siempre se calculan.

Mostrar encabezados y Mostrar pies: permite mostrar u ocultar los encabezados o los pies de las columnas.
No hay otras opciones disponibles en cada tema a menos que esta propiedad est seleccionada.
Una vez el rea se muestra en el list box, puede seleccionarla haciendo clic en ella para acceder a sus
propiedades especficas en la Lista de propiedades (ver Propiedades especficas de los encabezados de list
box y Propiedades especficas de los pies de list box). Usted dispone de un rea de encabezado y de un rea
de pie por columna, configurables por separado.
Invisible por defecto: Como para todos los objetos de formulario, esta opcin facilita la gestin dinmica de la
visualizacin del objeto utilizando el comando OBJECT SET VISIBLE.
El comando OBJECT SET VISIBLE no tiene ningn efecto si la opcin "Mostrar encabezados" o "Mostrar pies"
correspondiente no est seleccionada en la lista de propiedades.
Altura: permite definir la altura de la lnea de encabezado y de la lnea de pie del list box. Puede definir la unidad
(lneas o pxeles) para el valor de la altura. Para obtener ms informacin al respecto, consulte el prrafo Altura
en pxeles o lneas a continuacin.
Por defecto, la altura de los encabezados y de los pies es de una lnea.
Atencin: la altura mnima en pxeles de los encabezados depende del sistema. Si pasa un valor demasiado
pequeo, ser reemplazado por el tamao mnimo definido en el sistema para los encabezados. No hay un
tamao mnimo para los pies y las lneas.
Nota de compatibilidad: en Windows 7 y Windows Vista, la altura mnima de los encabezados es de 24 pxeles.
Los encabezados de menor altura definidos en sus bases convertidas se redimensionarn automticamente.
- 393 -
En este caso, podra ser necesario retocar sus formularios.
Tambin puede definir dinmicamente la altura de la lnea de los encabezados y de los pies utilizando los
comandos LISTBOX SET HEADERS HEIGHT y LISTBOX SET FOOTERS HEIGHT.

Altura en pxeles o lneas


Se puede definir la altura de los encabezados, pies y lneas en unidades de pxeles o de lneas de texto. En la lista de
propiedades, la eleccin de la unidad se efecta utilizando el botn asociado al campo "Altura".

Tambin puede insertar una "L" (de lnea) o una "P" (de pxeles) directamente en el rea de valor, (por ejemplo, "17 P") y
la etiqueta del botn se actualiza en consecuencia.
Puede incluso utilizar los dos tipos de unidades en un mismo list box:
Cuando se utiliza la unidad "pxeles", el valor de la altura se aplica directamente a la lnea que se trate,
independientemente del tamao de las fuentes contenidas en las columnas. Si la fuente es demasiado grande, el
texto se trunca. Adems, las imgenes se truncan o redimensionan en funcin de su formato.
Cuando se utiliza la unidad "Lnea", la altura se calcula teniendo en cuenta el tamao de la fuente de la lnea en
cuestin. Si ms de un tamao se ajusta, 4D utiliza el ms grande.
Por ejemplo, si la lnea contiene "Verdana de 18", "Ginebra, 12" y "Arial 9", 4D utiliza "Verdana 18" para
determinar la altura de la lnea (por ejemplo, 25 pxeles). Esta altura se multiplica por el nmero de lneas definidas.
Nota: este clculo no tiene en cuenta el tamao de las imgenes ni los estilos aplicados a las fuentes..
Conversin de las unidades: cuando se pasa de una unidad a otra, 4D efecta automticamente la conversin y
muestra el resultado en la Lista de Propiedades. Por ejemplo, si la fuente utilizada es "Lucida Grande 24", la altura
"1 lnea" se convierte en "30 pxeles" y la altura "60 pxeles" se convierte en "2 lneas".
Note que la conversin de un lado a otro puede dar lugar a un resultado final diferente del valor de partida debido a
los clculos realizados automticamente por 4D. Esto se ilustra en las siguientes secuencias:
(fuente Arial 18): 52 pxeles-> 2 lneas -> 40 pxeles
(fuente Arial 12): 3 pxeles-> 0.4 lnea redondeada a 1 lnea -> 19 pxeles

Tema Cuadriculacin

Este tema rene todas las propiedades relacionadas con la rejilla mostrada en el objeto list box.
Lneas horizontales: muestra u oculta las lneas horizontales del list box (mostradas por defecto).
Color de lneas horizontales: define el color de las lneas horizontales en el list box (gris por defecto).
Lneas verticales: muestra u oculta las lneas verticales del list box (mostradas por defecto).
Color de lneas verticales: define el color de las lneas verticales del list box (gris por defecto).

Tema jerarqua

Este tema slo est disponible para los list boxes cuya fuente de datos es Arrays. Sus opciones configuran la
visualizacin jerrquica del list box. Tenga en cuenta que estas propiedades se modifican automticamente cuando se
define la jerarqua utilizando el men emergente del objeto list box (ver Creacin y uso de list box jerrquicos).
List box jerrquico: se utiliza para especificar que el list box se debe mostrar en forma jerrquica.
Variable 1 ... 10: estas opciones adicionales aparecen cuando la opcin List box jerrquico est seleccionada.
Cada vez que se introduce un valor en un campo, se agrega una nueva fila. Se pueden especificar hasta 10
variables.
Estas variables definen los niveles jerrquicos que se mostrarn en la primera columna.

La primera variable siempre corresponde al nombre de la variable de la primera columna del list box (los dos
valores se enlazan automticamente). Esta primera variable es siempre visible y editable. Por ejemplo: pas.
La segunda variable es siempre visible y editable, especifica el segundo nivel jerrquico. Por ejemplo: regiones.
Empezando con el tercer campo, cada variable depende de la que le precede. Por ejemplo: departamentos,
ciudades, etc. Se pueden especificar un mximo de diez niveles jerrquicos.
Si elimina un valor, toda la jerarqua se mueve un nivel.
La ltima variable nunca es jerrquica, aunque varios valores idnticos existan en este nivel. Por ejemplo, en
referencia a la configuracin ilustrada anteriormente, imagine que arr1 contiene los valores A A A B B B, arr2 tiene
los valores 1 1 1 2 2 2 y arr3 los valores X X Y Y Y Z. En este caso, A, B, 1 y 2 podra aparecer en forma contrada,
- 394 -
pero no X y Y:
+A
+1
X
X
Y
+B
+2
Y
Y
Z
Este principio no se aplica cuando una sola variable se especifica en la jerarqua: en este caso, los valores
idnticos se pueden agrupar.
Nota: si especifica una jerarqua basada en las primeras columnas de un list box existente, debe entonces borrar
u ocultar estas columnas (excepto la primera), de lo contrario, aparecern dos veces en el list box. Si define la
jerarqua a travs del men emergente del editor (ver Creacin y uso de list box jerrquicos), las columnas
innecesarias se eliminan automticamente del list box.

Tema Coordenadas y dimensiones

Este tema agrupa las propiedades relacionadas con las coordenadas, el ancho y el alto del list box.
La propiedad Altura de las lneas es especfica: permite definir la altura de las lneas del list box. Note que la altura de
lnea de las reas de encabezados y de pie se definen por separado, en los temas "Encabezados" y "Pies".
Puede definir una altura en pxeles o en lneas. Para mayor informacin sobre la eleccin de la unidad, consulte el
prrafo "Altura en pxeles o en lneas".
Por defecto, la altura de las lneas est definida en funcin de la plataforma y del tamao de la fuente.

Tema Fondo y borde

Este tema rene las propiedades relativas a los colores de fondo de las lneas as como tambin al estilo del borde.
Color de fondo:permite definir el color de fondo especfico del list box. Este color se utiliza para todo el objeto a
excepcin de los encabezados (si se muestran).
Color de fondo alterno: permite definir un color de fondo diferente para las lneas impares del list box. Utilizar un
color de fondo alterno facilita la lectura de los arrays.
Estilo del borde: permite definir un estilo estndar para el borde (el contorno) del objeto list box.

Tema Texto

Este tema agrupa las propiedades estndar de definicin del texto mostrado en el list box:
Array de estilos (list box de tipo array) / Estilos (list box de tipo seleccin): permite aplicar un estilo de caracteres
personalizado a cada lnea del list box.
Para los list box de tipo array, debe introducir el nombre de un array de tipo Entero largo. Cada elemento de
este array corresponde a una fila del list box; el array debe tener el mismo tamao que los arrays asociados
a las columnas. Para llenar el array (utilizando un mtodo), utilice las constantes del tema Texto. Sumando
las constantes, puede combinar estilos. Para aplicar el estilo definido en las propiedades del list box a una
fila, asigne el valor -255 al elemento del array correspondiente.
Para los list box de tipo seleccin, debe introducir una expresin o una variable (excepto para un array). La
expresin o la variable se evaluar para cada lnea mostrada. Puede utilizar el editor de frmulas para definir
una expresin. Para hacerlo, haga clic en el botn [...] que aparecer cuando selecciona el rea. Puede
utilizar las constantes del tema Estilos de fuente.
El siguiente ejemplo utiliza un nombre de variable: entre EstiloEmpresa en el rea Estilos y en el mtodo de
formulario, escriba el siguiente cdigo:

EstiloEmpresa:=Choose([Empresas]ID;Bold;Plain;Italic;Underline)

Array de colores de fuente (list box de tipo array) / Colores de fuente (list box de tipo seleccin): permite
aplicar un color de fuente personalizado a cada fila del list box. Debe utilizar los valores de colores RGB. Para
mayor informacin consulte la descripcin del comando OBJECT SET RGB COLORS en el manual Lenguaje de
4D.
Para los list box de tipo array, debe introducir el nombre de un array de tipo Entero largo. Cada elemento de
este array corresponde a una lnea del list box; el array debe tener el mismo tamaa que los arrays
asociados a las columnas. Puede utilizar las constantes del tema DEFINIR COLORES RVA. Para aplicar el
- 395 -
color de fuente definido en las propiedades de la list box a una lnea, pase el valor -255 al elemento del array
correspondiente.
Para los list box de tipo seleccin, debe introducir una expresin o una variable (excepto para un array). La
expresin o variable se evaluar para cada lnea mostrada. Puede utilizar el editor de frmulas para definir
una expresin. Para hacerlo, haga clic en el botn [...] que aparece al seleccionar el rea. Puede utilizar las
constantes del tema DEFINIR COLORES RVA.
El siguiente ejemplo utiliza un nombre de variable: introduzca ColorEmpresa en el rea Color de fuente y en
el mtodo de formulario, escriba el siguiente cdigo:

ColorEmpresa:=Choose([Empresas]ID;Default background color;Default light


shadow color;Default foreground color;Default dark shadow color)

Array de colores de fondo (list box de tipo array) / Colores de fondo (list box de tipo seleccin): permite aplicar
un color de fondo personalizado a cada lnea del list box. Debe utilizar los valores de colores RGB. Para mayor
informacin, consulte la descripcin del comando OBJECT SET RGB COLORS en el manual Lenguaje 4D.
Para los list box de tipo array, debe introducir el nombre de un array de tipo entero largo. Cada elemento de
este array corresponde a una lnea del list box; el array debe tener el mismo tamao que los arrays
asociados a las columnas. Puede utilizar las constantes del tema DEFINIR COLORES RVA. Para aplicar el
color de fondo definido en las propiedades del list box a una lnea, pase el valor -255 al elemento del array
correspondiente.
Para los list box de tipo seleccin, debe introducir una expresin o una variable (excepto para un array). La
expresin o variable se evaluar para cada lnea mostrada. Puede utilizar el editor de frmulas para
especificar una expresin. Para hacerlo, haga clic en el botn [...] que aparece cuando selecciona el rea.
Puede utilizar las constantes del tema DEFINIR COLORES RVA.
Alineacin horizontal: el contenido de cada celda se puede alinear horizontalmente hacia la Derecha,
Izquierda o Centro.
La opcin Por defecto define la alineacin en funcin del tipo de datos que se encuentran en cada columna: los
textos y las imgenes se alinean a la izquierda, los datos numricos a la derecha..
Alineacin vertical: el contenido de cada celda se puede alinear verticalmente hacia Arriba, Centro o Abajo.
La opcin Por defecto define la alineacin de acuerdo con el tipo de datos que se encuentran en cada columna:
Abajo para todos los datos excepto imgenes, Arriba para los datos de tipo imagen.
Note que las propiedades de alineacin pueden aplicarse globalmente al list box o por separado para cada columna.
Ellos tambin estn disponibles para las reas de encabezados y pies.

Tema Accin

Este tema rene las propiedades relativas al comportamiento dinmico del list box.
Mtodo del objeto (Editar...): este botn muestra el mtodo del objeto list box (observe que cada columna
tambin puede contener un mtodo de objeto).
Arrastrable y Soltable: activa las funciones arrastrar y soltar del list box, permitiendo arrastrar una fila del list box
hacia otro list box u otro objeto 4D y viceversa. Slo las filas del list box se pueden arrastrar y soltar. No es posible
arrastrar y soltar las columnas (no obstante es posible arrastrar las columnas al interior de un mismo list box).
La gestin efectiva de arrastrar y soltar en los list box se efecta con la ayuda de mecanismos estndar de 4D
(eventos de formulario On Drop y On Drag Over, comandos DRAG AND DROP PROPERTIES y Drop position).

Filas desplazables (list box de tipo array nicamente): autoriza el desplazamiento de lneas en ejecucin. Esta
opcin est seleccionada por defecto. Esta opcin no est disponible para los list box de tipo seleccin ni para
los list box en modo jerarquico (opcin List box jerrquico seleccionada).
Ordenable: permite ordenar los datos de las columnas al hacer clic en el ttulo. Esta opcin est seleccionada por
defecto.
Los arrays de tipo imagen (columnas) no pueden ordenarse utilizando este mecanismo.
En los list boxes basados en las selecciones de registros, nicamente est disponible la funcin de ordenacin
estndar:
cuando la fuente de datos es la Seleccin actual,
con las columnas asociadas a los campos (de tipo alfa, numrico, fecha, hora o booleano).
En los otros casos (list box basados en las selecciones temporales, columnas asociadas con las expresiones), la
funcin de ordenacin estndar no est disponible.
La ordenacin estndar del list box modifica el orden de la seleccin actual en la base de datos. Sin embargo, los
registros seleccionados y el registro actual no cambian.
La ordenacin estndar sincroniza todas las columnas del list box, incluyendo las columnas calculadas.

Tema Compatibilidad
- 396 -
La opcin rea de desplazamiento presente en este tema est diseada para acompaar la conversin de las
antiguas "reas de desplazamiento", automticamente transformadas en list boxes a partir de 4D v13. Sin embargo,
est disponible para todos los list boxes:

Cuando la opcin rea de desplazamiento es seleccionada por un list box, las siguientes operaciones especficas se
implementan:
Si el array (nico) del list box tiene la propiedad "invisible", el objeto list box tambin es completamente invisible.
Asignar un valor al array selecciona la lnea correspondiente en el list box (por ejemplo: MiArray:=5 selecciona la
quinta lnea del list box).
Por el contrario, hacer clic en una lnea del objeto modifica el valor actual del array.
Cuando un soltar se efecta desde una lnea del list box en un objeto externo, el comando DRAG AND DROP
PROPERTIES ejecutado en este objeto devuelve un puntero al array del list box (y no al list box mismo).
List box conectados (compatibilidad)
Los list boxes que vienen de la conversin de las antiguas reas de desplazamiento agrupadas estn conectados. Los
list box conectados funcionan de manera coordinada:
la seleccin de una lnea en un list box selecciona esta misma lnea en todos los list box que pertenecen al grupo
conectado,
el desplazamiento vertical de un list box tambin desplaza los list box que pertenecen al mismo grupo conectado.
Nota: los list box convertidos tambin se agrupan en el formulario (funcin estndar de 4D).
Puede conectarse y desconectarse de los list box utilizando los comandos Conectar y Desconectar que se encuentran
en el men Objeto del editor de formularios:

Estos comandos se habilitan contextualmente cuando varios list box estn seleccionados en el formulario. Cuando un list
box conectado (es decir, que pertenece a un grupo de conexin) est seleccionado, una "marca" especfica se muestra
en todos los list box que pertenecen al mismo grupo de conexin:

Nota de compatibilidad: estos principios hacen posible reproducir el funcionamiento de las reas de desplazamiento
agrupadas. Sin embargo, le recomendamos adaptar los formularios convertidos utilizando las funcionalidades
estndar de los list box.

- 397 -
Propiedades especficas de columnas de list box

Puede seleccionar una columna de list box en el editor de formularios haciendo clic en la columna cuando el objeto list
box est seleccionado:

Puede definir para cada columna de List box las propiedades estndar (texto, color de fondo, etc.); estas propiedades
tienen prioridad sobre las propiedades del objeto List box.
Usted tambin tiene acceso a las propiedades especficas descritas en esta seccin.

Tema Fuente de datos

Nota: el tema Fuente de datos no est disponible para las columnas de list box de objetos de tipo array de objetos. En
este contexto, los contenidos de cada celda de la columna se basan en los atributos que se encuentran en el elemento
correspondiente del array de objetos. Para ms informacin, consulte la seccin List box, utilizar arrays objeto en las
columnas (4D View Pro).
Expresin: la propiedad Expresin permite definir la expresin 4D a asociar a la columna:

Puede introducir:
una expresin 4D (expresin simple, frmula o mtodo 4D). El resultado de la expresin se mostrar
automticamente al pasar al modo Aplicacin. La expresin se evaluar para cada registro de la seleccin
(actual o temporal) de la tabla principal. Si est vaca, la columna no mostrar ningn resultado.
una variable simple (en este caso, la variable debe declararse explcitamente para la compilacin). Puede
utilizar todo tipo de variable excepto BLOBs y arrays. El valor de la variable ser generalmente calculado en
el evento On Display Detail.
Un campo utilizando la sintaxis estndar [Tabla]Campo (ejemplo: [Empleados]Apellido). Se pueden utilizar
los siguientes tipos de campos:
Alfa
Texto
Numrico
Fecha
Hora
Imagen
Booleano
Puede utilizar campos de la tabla principal o de otras tablas.
En todos los casos, puede definir la expresin con la ayuda del editor de frmulas de 4D haciendo clic en el
botn [...] en la lista de propiedades. Si se pasa una expresin, la columna no ser editable incluso si la
opcin Editable est seleccionada.
Si se utiliza un campo o variable, la columna ser editable o no dependiendo de la opcin Editable (y el
atributo No modificable en el editor de estructura).
En modo Diseo, el tipo de fuente de datos se muestra en la primera lnea de la columna. Por ejemplo,
Campo=[Tabla1]MiCampo.
Si la expresin definida es incorrecta, la columna del list box mostrar un mensaje de error en modo
Aplicacin.
Valores por defecto (list box de tipo array): haga clic en el botn Edicin... para mostrar una caja de dilogo de
entrada que permite asociar una lista de valores por defecto para la columna. Estos valores sern accesibles
automticamente en la variable array asociada a la columna durante la ejecucin del formulario.
Debe introducir una lista de valores separados por dos retornos de carro luego validar la caja de dilogo. Para
- 398 -
mayor informacin sobre esta caja de dilogo consulte el prrafo Valores por defecto en la seccin Controles y
ayuda a la entrada.
Tipo de datos: este men permite definir el tipo de expresin o de la variable asociada a la columna. Se utiliza
para indicar el formato de salida a aplicar y permite actualizar el men Tipo de salida en el tema Mostrar.
Si un campo se introduce en el rea Expresin, no se muestra la propiedad Tipo de datos; se utiliza el formato de
salida correspondiente al tipo de campo.
Lista de seleccin: esta propiedad puede utilizarse para asociar una Lista de valores a una columna del list box.
Si designa una lista, el usuario puede utilizar sus valores (mostrados en un men desplegable) para modificar los
valores de la columna y su array asociado:

Note que la entrada por teclado an es posible. Si no quiere que los valores se modifiquen utilizando el men de
seleccin desplegable, elija la lista de obligatoria (ver abajo).
Nota: si la lista designada es jerrquica, slo se tienen en cuenta los
elementos de primer nivel.
Guardar como Valor/Referencia: cuando la columna se asocia a una lista de opciones, esta propiedad permite
definir el tipo de contenido a guardar en el campo o variable de la columna. Para obtener ms informacin sobre
esta opcin, consulte [#title id="3416"/].

Tema Coordenadas y dimensiones

Este tema agrupa las propiedades relacionadas con el ancho de la columna del list box.
Ancho: ancho por defecto de la columna (en pxeles). Este valor se actualiza cuando se redimensiona la columna
utilizando el ratn del editor de formularios.
Si la propiedad Redimensionable est seleccionada, el usuario tambin puede redimensionar manualmente la
columna.
Ancho mnimo: ancho mnimo de la columna (en pxeles). El ancho de la columna no puede ser menor a este valor
en caso de redimensionamiento de la columna o del formulario.
Ancho mximo: el ancho mximo de la columna (en pxeles). El ancho de la columna no puede ser mayor a este
valor en caso de redimensionamiento de la columna o del formulario.
Nota: en caso de redimensionamiento del formulario, si la propiedad de redimensionamiento horizontal Agrandar est
asignada al list box, la columna ms a la derecha aumentar ms all del ancho mximo si es necesario.

Tema Opciones de redimensin

Este tema slo contiene la opcin Redimensionable (seleccionada por defecto). Cuando esta opcin est
seleccionada, el usuario puede redimensionar la columna moviendo los lados del rea de titulo.

Tema Controles de entrada

Este tema agrupa todas las propiedades relacionadas con la entrada de datos a la columna del list box.
Editable: autoriza la entrada de datos a la columna (seleccionada por defecto). Para modificar el valor de una
celda, el usuario debe hacer doble clic en el valor.
Cuando esta propiedad est deseleccionada, los mens desplegables asociados a la columna por medio de la
lista (temas Fuente de datos y Rango de valores) se desactivan.
Nota: para mayor informacin sobre estos mecanismos implementados para la entrada en los list box, consulte
el prrafo [#title id="2772" anchor="848345"/] en el manual Lenguaje de 4D.
Filtro de entrada: asocia un filtro de entrada a las celdas de las columnas. Esta propiedad no es accesible si la
propiedad Editable no est seleccionada.
Ajuste de lnea (columnas de tipo texto nicamente): gestiona la visualizacin del contenido de la columna cuando
se supera el ancho de la columna.
- 399 -
Cuando se activa esta opcin, el texto de la columna se ajusta automticamente en la lnea siguiente cuando su
ancho es superior al de la columna, si la altura de la columna lo permite.
Cuando no se marca esta opcin, un texto demasiado largo se trunca y se muestra con una elipse (...).
En el siguiente ejemplo, la opcin Ajuste de lnea est seleccionada para la columna izquierda, pero no para la
columna derecha:

Tenga en cuenta que, independientemente del valor de la opcin Ajuste de lnea, no se cambia el alto de la lnea.
Si el texto con saltos de lnea no se puede visualizar en su totalidad en la columna, se trunca (sin una elipse). En el
caso de los list box que muestran slo una nica lnea, slo se muestra la primera lnea de texto:

Tema Rango de valores

Este tema permite designar las listas utilizadas para controlar la entrada a la columna del list box.
Lista de obligatorios: permite designar una lista donde slo estos valores pueden ser insertados en la columna.
Los valores de la lista son accesibles utilizando un men desplegable asociado a cada celda (favor remitirse a la
propiedad Lista de valores en el tema Fuente de datos).
A diferencia de la propiedad Lista de valores, cuando una lista obligatoria es definida, no es posible la entrada
de datos utilizando el teclado, solo es permitida la seleccin de un valor de la lista utilizando el men desplegable.
Si varias listas son definidas utilizando las propiedades Lista de valores y Lista de obligatorios, la propiedad
Lista de obligatorios tiene prioridad.
Lista de excluidos: permite designar una lista cuyos valores no pueden introducirse en la columna. Si se
introduce un valor excluido, el valor no se acepta y aparece un mensaje de error.
Nota: si la lista designada es jerrquica, slo se tienen en cuenta los elementos de primer nivel.

Tema Mostrar

Este tema permite especificar el formato de visualizacin de los valores de la columna y la propiedad Invisible. El
contenido del este tema varia de acuerdo al tipo de variable definido en el tema Objetos.
Nota: si el list box se muestra en modo jerrquico, todas las propiedades de este tema se desactivan para la primera
columna.
Formato tipo: permite asociar un formato de visualizacin a los datos de la columna. Los formatos propuestos
dependen del tipo de variable (list box de tipo array) o del tipo de datos/del campo (list box de tipo seleccin). Los
formatos estndar de 4D que pueden utilizarse son: Alfa, Numrico, Fecha, Hora, Imagen y Booleano. El tipo de
texto no tiene formato de visualizacin especfico. Los formatos personalizados existentes tambin estn
disponibles.
Los arrays booleanos pueden mostrarse como casillas de seleccin o mens desplegables. Si elige la opcin
Casilla de seleccin, aparece la
propiedad Ttulo que le permite introducir el ttulo de la casilla de seleccin. Si elige la opcin Men
desplegable, aparecen las propiedades Texto si verdadero y Texto si falso, permitindole definir las dos
etiquetas del men desplegable.
Las columnas de valores numricos pueden mostrarse como casillas de seleccin de tres estados. Esta opcin
se encuentra en la lista desplegable Tipo de salida. Si selecciona el tipo Casilla de seleccin de tres estados,
se muestran los siguientes valores:
0 = casilla no seleccionada,
1 = casilla seleccionada,
2 (o cualquier valor >0) = casilla semi seleccionada (tercer estado). Para la entrada de datos, este estado
devuelve el valor 2.
-1 = casilla invisible,
-2 = casilla no seleccionada, no editable,
-3 = casilla seleccionada, no editable,
-4 = casilla semi seleccionada, no editable
- 400 -
En este caso igualmente, aparece la propiedad Ttulo, permitindole introducir el ttulo de la casilla de seleccin.

La propiedad Invisible, cuando est seleccionada, permite ocultar la columna en el entorno Aplicacin.
En el entorno Diseo, puede mostrar u ocultar las columnas invisibles utilizando el men contextual asociado al list
box. (clic en una columna o en un ttulo de columna):

Tema de fondo y borde

Este tema agrupa las propiedades relacionadas con los colores de fondo de las celdas de la columna.
Color de fondo: permite establecer el color de fondo de la columna. Por defecto el valor Automtico se
selecciona: la columna utiliza el color de fondo definido a nivel del list box.
Color de fondo alterno: permite establecer un color de fondo diferente para las filas impares de la columna. Por
defecto el valor Automtico se selecciona:
la columna usa el color de fondo alterno definido a nivel del list box.
Array de colores de fondo (list boxs de tipo array)/Colores de fondo (list box de tipo seleccin): permite
establecer un color de fondo personalizado para cada celda de la columna. Debe utilizar valores de colores RGB.
Para los list box de tipo array, debe introducir el nombre de un array Entero largo. Cada elemento de este
array corresponde a una celda de la columna, por lo que el array debe ser del mismo tamao que el array
asociado a la columna. Puede utilizar las constantes del tema "DEFINIR COLORES RVA". Si desea que la
celda herede el color de fondo definido en el nivel superior (ver Herencia), pase el valor -255 al elemento de
array correspondiente.
Para los list box de tipo seleccin, debe introducir una expresin o una variable (aparte de un tipo de array).
La expresin o la variable se evala para cada celda mostrada. Puede utilizar el editor de frmulas para
definir una expresin. Para ello, haga clic en el botn [...] que se muestra cuando se selecciona el rea.
Puede utilizar las constantes del tema "DEFINIR COLORES RVA".

Tema texto

Array de estilos (list box de tipo array) / Estilos (list box de tipo de seleccin): permite aplicar un estilo de fuente
personalizada a cada celda de la columna
Para los listboxes de tipo array, debe introducir el nombre de un array de tipo Entero largo. Cada elemento
de este array corresponde a una celda de la columna, por lo que el array debe tener el mismo tamao que el
array asociado a la columna. Para llenar el array (utilizando un mtodo), utilice las constantes del tema
"Estilos de fuente". Puede agregar constantes para combinar estilos. Si desea que la celda herede el
estilo definido en el nivel superior (ver Herencia), pase el valor -255 al elemento del array correspondiente.
Para los listboxes de tipo seleccin, debe escribir una expresin o una variable (excepto un array). La
expresin o la variable es evaluada para cada celda mostrada. Puede utilizar el editor de
frmulas para definir una expresin. Para ello, haga clic en el botn [...] que se muestra cuando se
selecciona el rea. Puede utilizar las constantes del tema "Estilos de fuente".

Array colores de fuente (list box de tipo array)/Color de fuente (list box de tipo seleccin): permite aplicar un
color de fuente personalizado a cada celda de la columna. Debe utilizar los valores de colores RGB.
Para los list box de tipo array, debe introducir el nombre de un array de tipo Entero largo. Cada elemento de
este array corresponde a una celda de la columna, por lo que el array debe ser del mismo tamao que el
array asociado a la columna. Puede utilizar las constantes del tema "DEFINIR COLORES RVA". Si desea
que la celda herede el color de fuente definido en el nivel superior (ver Herencia), pase el valor -255 al
elemento del array correspondiente.
Para los list box de tipo seleccin, debe escribir una expresin o una variable (excepto un array). La
expresin o la variable es evaluada para cada celda mostrada. Puede utilizar el editor de frmulas para
definir una expresin. Para ello, haga clic en el botn [...] que se muestra cuando selecciona el rea. Puede
utilizar las constantes del tema "DEFINIR COLORES RVA".

- 401 -
Propiedades especficas de los encabezados de list box

Nota preliminar: para poder acceder a las propiedades de los encabezados de un list box, debe seleccionar la opcin
Mostrar encabezados en la Lista de propiedades del list box (ver Propiedades especficas de los list box).
Cuando los encabezados se muestran, puede seleccionar un encabezado de list box en el editor de formularios
haciendo clic en l cuando el objeto list box est seleccionado:

Puede definir para cada encabezado de columna de list box propiedades estndar de texto; en este caso, estas
propiedades tienen propiedad sobre las de la columna o del list box.
Igualmente puede acceder a las propiedades especficas, descritas en esta seccin.

Tema Objetos

Este tema contiene las propiedades utilizadas para definir el ttulo.


Nombre del objeto: nombre del objeto ttulo.
Nombre de la variable: nombre de la variable asociada al objeto ttulo. Esta variable (numrica) permite manejar
por programacin el orden actual de la columna y la visualizacin de la flecha de orden (ver la seccin Gestin
programada de los objetos de tipo List box en el manual Lenguaje de 4D).
Ttulo: etiqueta que aparece en el encabezado.

Tema imagen

Este tema contiene las propiedades que permiten mostrar una imagen en el encabezado de la columna (opcional). Un
icono puede visualizarse en el encabezado junto o en lugar del ttulo de la columna, especialmente en el caso de
ordenamientos personalizados.

Icono: define la fuente de la imagen a insertar en el encabezado. Como para los botones imagen de 4D, puede
utilizar una imagen proveniente de una variable, de la librera de imgenes o de un archivo de recursos o de un
archivo.
Nombre/No: permite designar la imagen a utilizar de la fuente definida anteriormente. La informacin a introducir
en este campo depende de la fuente seleccionada: nombre (si la imagen es una variable), nmero (si la imagen es
de la librera de imgenes o de un archivo de recursos) o ruta de acceso (si la imagen es de un archivo imagen);
en este ltimo caso, la ruta debe ser relativa a la carpeta Resources de la base (ver el prrafo [#title id="668"
anchor="152172"/]).
Ubicacin del icono: posicin del icono del encabezado. Puede ubicarlo a la Izquierda o Derecha del
encabezado
Efecto espejo (Windows): permite reversar la visualizacin del icono en modo "derecha a izquierda" (ver Efecto
espejo (Windows)).

Tema Ayuda

Cada rea de encabezado puede tener su propios Mensajes de ayuda.

- 402 -
Propiedades especficas de los pies de list box

Los list box pueden contener reas de "pie de pgina" no editables que muestran informacin adicional. Para los datos
que aparecen en forma de tabla, pies de pgina se utilizan generalmente para mostrar clculos, tales como sumas o
promedios.

Nota preliminar: para poder acceder a las propiedades de pies de un list box, debe seleccionar la opcin Mostrar pies
en la Lista de propiedades del list box (ver Propiedades especficas de los list box).

Si se muestran los pies, puede seleccionar un pie de list box en el editor de formularios haciendo clic en l cuando el
objeto list box est seleccionado:

Para cada pie de columna de list box de las propiedades estndar de texto, puede definir las propiedades estndar de
texto: en este caso, estas propiedades tienen prioridad sobre las de la columna o del list box.

Tambin puede acceder a las propiedades especficas que se describen en esta seccin.

Tema Objetos

Este tema incluye las propiedades de definicin de los pies.


Nombre del objeto y Nombre de la variable: el rea de pie es un objeto especfico con su propio nombre de
objeto (que debe ser nico en la pgina) y una variable asociada. Por defecto, el nombre de la variable est vaco
y 4D utiliza variables dinmicas.
Tipo de variable: este men permite precisar el tipo de la variable y actualiza las opciones de la lista de
propiedades. Tenga en cuenta que si utiliza una variable no-dinmica (cuando nombra la variable), debe utilizar el
lenguaje para escribir la variable.
Clculo de la variable: esta opcin define el tipo de clculo a efectuar en el rea de pie. Hay varios tipos de
clculos disponibles, as como la opcin Personalizada:
Mnimo, Mximo, Suma, Nmero, Promedio, desviacin estndar(*), Varianza(*) y Suma de
cuadrados(*). Estos clculos se describen en la seccin "Clculos automticos" a continuacin. Cuando un
clculo se selecciona, se aplica automticamente a todos los valores presentes en la columna del list box.
Tenga en cuenta que el clculo no tiene en cuenta el estado visible/oculto de las lneas del list box. Si desea
restringir el clculo a slo lneas visibles, debe utilizar un clculo personalizado.
Cuando un clculo automtico ha sido asignado a un rea de pie, una marca "accin estndar" se asocia a
l:

Personalizado: cuando se selecciona esta opcin, 4D no realiza clculos automticos y se debe asignar el
valor de la variable en esta rea por programacin.

Clculos automticos
Puede asociar varios clculos automticos a un rea de pie. La siguiente tabla muestra los clculos utilizables en
funcin del tipo de los datos presentes en la columna e indica el tipo automticamente afectado por 4D a la variable de
- 403 -
pie por 4D (si no es definido por programacin):
Numrico Texto Fecha Hora Booleano Imagen Tipo auto de la variable
de pie
Mnimo X X X X Igual al tipo de columna
Mximo X X X X Igual al tipo de columna
Suma X X X Igual al tipo de columna
Nmero X X X X X X Entero largo
Promedio X X Real
Desviacin
X X Real
estndar(*)
Varianza(*) X X Real
Suma de
X X Real
cuadrados(*)
(*) nicamente para los list box de tipo array.
Nota: no es posible asociar clculos automticos a los pies de columnas basados en frmulas. En este caso, debe
realizar clculos personalizados.

Tema ayuda

Cada rea de pie puede tener su propio Mensajes de ayuda.

- 404 -
Creacin y uso de list box jerrquicos

4D v12 le permite especificar y usar list box jerrquicos. Un list box jerrquico es un list box en el cual el contenido de la
primera columna aparece en forma jerrquica. Este tipo de representacin se adapta a la presentacin de informacin
que incluye valores repetidos y/o valores que dependen jerrquicamente (pas, regin o ciudad, etc.).

Slo los list box de tipo array pueden ser jerrquicos.

Los list box jerrquicos constituyen un modo particular de representar datos, pero no modifican la estructura de los datos
(arrays). Los list box jerrquicos se manejan de la misma manera como los list box regulares.

Para especificar un list box jerrquico, hay tres posibilidades diferentes:


Configurar manualmente elementos jerrquicos utilizando la lista de propiedades en el editor de formularios.
Generar visualmente la jerarqua utilizando el men emergente de gestin de los list box, en el editor de
formularios.
Utilice los comandos LISTBOX SET HIERARCHY y LISTBOX GET HIERARCHY, descritos en el manual
Lenguaje de 4D.
Esta seccin explica cmo crear list box jerrquicos en el editor de formularios de 4D y los fundamentos de su
funcionamiento durante la ejecucin. Para obtener ms informacin sobre la gestin programada de los list box
jerrquicos (selecciones, rupturas, utilizacin de los eventos formulario On Expand y On Collapse, etc. ), consulte la
seccin Gestin de list box jerrquicos en el manual Lenguaje de 4D.

Gestin de la jerarqua utilizando la Lista de propiedades

Puede activar y configurar el modo jerrquico en el tema "Jerarqua" de la lista de propiedades. Para obtener ms
informacin, consulte la seccin Propiedades especficas de los list box.

Gestin de la jerarqua usando el men contextual

Al hacer clic en el rea de columnas de un list box, el men contextual del editor de formularios contiene los comandos
Crear jerarqua y Cancelar jerarqua.
Crear jerarqua
Cuando selecciona al menos una columna, adems de la primera en un objeto list box (del tipo array) en el editor de
formularios, el comando Crear jerarqua est disponible en el men contextual:

Al elegir este comando, se efectan las siguientes acciones:


La opcin "List box jerrquico" est seleccionada para el objeto en la Lista de propiedades.
Las variables de las columnas se utilizan para definir la jerarqua. Ellas reemplazan las variables ya especificadas.
Las columnas seleccionadas ya no aparecen en el list box (excepto por el ttulo de la primera).
Ejemplo: dado un list box cuyas primeras columnas contienen Pas, Regin, Ciudad y Poblacin. Cuando Pas, Regin y
Ciudad estn seleccionados (vea la ilustracin arriba), si usted elije Crear jerarqua en el men contextual, una jerarqua
de tres niveles se crea en la primera columna, las columnas 2 y 3 se eliminan y la columna Poblacin se convierte en la
segunda:
- 405 -
Cancelar la jerarqua
Cuando la primera columna est seleccionada y se ha definido como jerrquica, puede utilizar el comando Cancelar
jerarqua. Al elegir este comando, se efectan las siguientes acciones:
La opcin "List box jerrquico" se deselecciona para el objeto,
Los niveles jerrquicos de 2 a X se eliminan y se transforman en columnas agregadas al list box.

Principios de funcionamiento

Cuando se abre por primera vez un formulario que contiene un list box jerrquico, por defecto todas las lneas se
despliegan.

Una lnea de ruptura y un "nodo" jerrquico se agregan automticamente al list box cuando los valores se repiten en los
arrays. Por ejemplo, imagine un list box que contiene cuatro arrays especificando las ciudades, cada ciudad es
caracterizada por su pas, su regin, su nombre y su nmero de habitantes:

Si este list box se muestra en forma jerrquica (los primeros tres arrays incluidos en la jerarqua), se obtiene:

- 406 -
Los arrayas no se ordenan antes de la construccin de la jerarqua. Si, por ejemplo, un array contiene los datos
AAABBAACC, la jerarqua obtenida ser:
> A
> B
> A
> C
Para desplegar o contraer un "nodo" jerrquico, haga clic en l. Si presiona Alt+clic (Windows) u Opcin+clic (Mac
OS) en el nodo, todos sus sub elementos se desplegarn o contraern tambin.

Gestin de ordenaciones estndar

En un list box en modo jerrquico, una ordenacin estndar (efectuada haciendo clic en el encabezado de una columna
del list box) siempre se construye de la siguiente forma:
En primer lugar, todos los niveles de la columna jerrquica (primera columna) se ordenan automticamente en
orden ascendente.
La ordenacin se efecta en orden ascendente o descendente (segn la accin del usuario) en los valores de la
columna en la que se hizo clic.
Todas las columnas se sincronizan.
Durante las ordenaciones posteriores de las columnas no jerrquicas del list box, slo el ltimo nivel de la primera
columna se ordena. Es posible modificar la ordenacin de esta columna haciendo clic en su encabezado.
Dado por ejemplo, el siguiente list box, en el que no se define ninguna ordenacin especifica:

Si hace clic en "Poblacin" para ordenar las poblaciones de forma ascendente (o alternativamente descendente), los
datos aparecen as:

- 407 -
Como para todos los list box, puede desactivar el mecanismo de ordenacin estndar deseleccionando la propiedad
"Ordenable" para el list box y manejando la ordenacin por programacin.

Mostrar fechas y horas

Cuando los valores de tipo fecha u hora se incluyen en un list box jerrquico, se muestran en un formato estndar:
Las fechas se muestran en el formato sistema corto (por ejemplo, para el 30 de mayo de 2009, "05/30/09" en un
sistema americano y "30/05/09" en un sistema europeo).
Las horas tambin se muestran en el formato sistema corto ("12:15:30" o "12:15" en funcin de los parmetros del
sistema).

- 408 -
Utilizar acciones estndar

Puede gestionar el listbox de tipo "seleccin" mediante Acciones estndar a los botones o mens. Por example,
ejemplo, ahora es posible utilizar la accin estndar Aadir subregistro para aadir un nuevo registro a una tabla por
medio de un listbox. Esta nueva funcionalidad facilita la creacin de interfaces modernas basadas en listboxes.
Ahora puede usar tres acciones estndar con listboxes: Aadir subregistro, Editar subregistro y Eliminar
Subregistro.

Aadir subregistro

Un botn o un elemento de men asociado a la accin estndar Aadir subregistro se activa de forma automtica
cuando hay al menos un listbox de tipo "seleccin" en el formulario. Si un formulario contiene varios listboxes, la accin
se aplica al que tiene el foco (o por defecto, al que est en el primer plano).
Cuando el usuario hace clic en el botn o selecciona el elemento de men, aparece un nuevo registro en blanco en el
formulario detallado definido para el listbox (ver el prrafo Formulario detallado en Tema List Box). El usuario puede
introducir valores, luego validar el registro y aparece automticamente un nuevo registro en blanco. Esto contina hasta
que el usuario hace clic en el botn Cancelar. Si la fuente de datos para el listbox es la seleccin actual, todos los
registros creados se muestran en la lista.

Editar subregistro

Un botn o un elemento de men asociado a la accin estndar Eliminar Sub registro se activa automticamente
cuando hay al menos una lnea resaltada en un list box de tipo "seleccin". Cuando varias lneas estn resaltadas, la
accin se aplica a la ltima lnea incluida en la seleccin.
Cuando el usuario hace clic en el botn o selecciona el elemento de men, aparece el registro correspondiente a la lnea
de list box en el formulario detallado definido para el list box (ver Formulario detallado en Tema List Box). El usuario
puede modificar los valores, validar o cancelar el formulario para volver al listbox.

Eliminar subregistro

Un botn o un elemento de men asociado a la accin estndar Eliminar subregistro se activa automticamente
cuando hay al menos una lnea resaltada en un listbox de tipo seleccin. Cuando varias filas estn resaltadas, la accin
se aplica a todos los registros.

Cuando un usuario hace clic en el botn o selecciona el elemento de men, aparece una caja de dilogo de
confirmacin para que el usuario pueda confirmar o cancelar la eliminacin:

- 409 -
Visualizacin de campos en list box

Puede asociar a las columnas de un list box los campos de la tabla principal y/o de diferentes tablas. Para mayor
informacin sobre la tabla principal, consulte Propiedades especficas de los list box.
Sin embargo, en todos los casos, el contenido del list box estar basado en la seleccin actual (o una seleccin
temporal) de la tabla principal del list box:
Si utiliza nicamente campos de la tabla principal, el contenido de las lneas del list box ser simplemente
modelado sobre los de la seleccin de la tabla principal.
Si utiliza campos que no pertenecen a la tabla principal, estas tablas extranjeras deben relacionarse a la tabla
principal por una relacin Muchos a Uno, o de lo contrario los campos extranjeros se mostrarn vacos. Las
relaciones automticas se activarn para cada registro de la seleccin de la tabla principal y el list box mostrar
los datos correspondientes en los campos relacionados.
Si utiliza relaciones manuales, debe programar la activacin de las relaciones con el fin de mostrar los datos en el
list box.
Si una inconsistencia en la definicin del list box provoca las visualizacin de las columnas vacas, aparece un mensaje
de error en modo Aplicacin en cada columna incorrecta.
Utilizaremos un ejemplo para explicar los diferentes casos.
Dada una base con dos tablas: [Empresas] y [Empleados].
La seleccin actual de la tabla [Empresas] es la siguiente:
Nombre
Enciclopedia internacional
Aventuras y viajes
Viajar S.A.

La seleccin actual de la tabla [Empleados] es la siguiente:


Nombre Apellido Empresa
Carla Packard Boring Travel Company
Andrew Black Tiny Computers
Vincent Laughter Boring Travel Company
Oliver Dawson Boring Travel Company
Sylvia Fairview Tiny Computers
Robert Lanzel Big Encyclopedias
Arnold Schmitt Boring Travel Company
Elizabeth Jones Big Encyclopedias
Yolanda Court Tiny Computers
Pascal Pratt Tiny Computers

El campo [Empresas]Nombre est asociado a la primera columna de un list box. Los campos [Empleados]Nombre y
[Empleados]Apellido estn asociados a las dos columnas siguientes. La fuente de datos del list box es la seleccin
actual.
Caso 1: las dos tablas estn relacionadas por una relacin automtica

1) La tabla principal del list box es [Empleados]. El list box muestra la seleccin actual de la tabla [Empleados] y

- 410 -
activa la relacin automtica con el fin de mostrar el nombre de la empresa para cada empleado:

2) La tabla principal elegida para el list box es [Empresas]. El list box muestra la seleccin actual de la tabla
[Empresas]. Como slo hay tres registros en esta seleccin, slo se muestran tres lneas en el list box. Las
columnas de los campos [Empleados]Nombre y [Empleados]Apellido estn vacas:

Caso 2: las dos tablas no estn relacionadas (o estn relacionadas utilizando una relacin manual).

1) La tabla principal del list box es [Empleados]. El list box muestra la seleccin actual de la tabla [Empleados]. La
columna del campo [Empresa]Nombre est vaca:

2) La tabla principal elegida para el list box es [Empresas]. El list box muestra la seleccin actual de la tabla
[Empresas]. Como slo hay tres registros en esta seleccin, slo se muestran tres lneas en el list box. Las
columnas de los campos [Empleados]Nombre y [Empleados]Apellido estn vacas:

Naturalmente, puede administrar por programacin las selecciones de las diferentes tablas y de esta forma mostrar las
columnas asociadas a los campos que no pertenecen a la tabla principal.

- 411 -
Visualizacin del resultado de una peticin SQL en un list box

Visualizacin del resultado de una peticin SQL en un list box

Es posible poner directamente el resultado de una peticin SQL en un list box de tipo array. Esta funcin ofrece un
medio rpido de visualizar el resultado de peticiones SQL. Slo pueden utilizarse las peticiones de tipo SELECT. Este
mecanismo no puede utilizarse con una base SQL externa.
Esto funciona de acuerdo a los siguientes principios:
Cree el list box que recibir los resultados de la peticin. La fuente de datos del list box debe ser Arrays.
Ejecute la peticin SQL de tipo SELECT y asigne el resultado a la
variable asociada al list box. Puede utilizar las palabras claves Begin SQL/End SQL (ver el manual de Lenguaje
de 4D).
Las columnas del list box son ordenables y modificables por el usuario.
Cada nueva ejecucin de una peticin SELECT con la list box provoca la reinicializacin de las columnas (no es
posible llenar el mismo list box progresivamente utilizando varias peticiones SELECT).
Se recomienda dar al list box el mismo nmero de columnas que las que tendr en el resultado de peticin SQL.
Si el nmero de columnas del list box es inferior al del necesario para la peticin SELECT, las columnas se
aaden automticamente. Si el nmero de columnas del list box es superior al necesario para la peticin
SELECT, se
ocultan las columnas innecesarias.
Nota: las columnas aadidas automticamente estn relacionadas con las Variables dinmicas de tipo array.
Estos arrays dinmicos permanecen siempre y cuando el formulario exista. Una variable dinmica se crea
igualmente para cada encabezado. Cuando se llama el comando LISTBOX GET ARRAYS, el parmetro
arrVarCols contiene los punteros a los arrays dinmicos y el parmetro arrVarEncabezados contiene los punteros
a las variables de encabezados dinmicos. Si una columna aadida es por ejemplo la quinta columna, su nombre
es sql_column5 y su nombre de encabezado es sql_header5.
En modo interpretado, los arrays existentes utilizados por el list box pueden redigitarse automticamente de
acuerdo a los datos enviados por la peticin SQL
Ejemplo
Queremos recuperar todos los campos de la tabla PERSONAS y ubicar su contenido en el list box cuyo nombre de
variable es vlistbox. En el mtodo de objeto de un botn (por ejemplo), es suficiente escribir:

Begin SQL
SELECT * FROM PEOPLE INTO <<vlistbox>>
End SQL

- 412 -
Subformularios y widgets

Presentacin
Subformularios lista
Subformularios en pgina

- 413 -
Presentacin

Un subformulario es un formulario incluido en otro formulario.


Hay dos tipos principales de subformularios:
los Subformularios lista, generalmente destinados a introducir, visualizar y modificar datos provenientes de otras
tablas,
los Subformularios en pgina, permiten utilizar objetos de interfaz sofisticada y dedicada, como por ejemplo los
widgets 4D.
Cada tipo de subformulario dispone de mecanismos y de propiedades particulares.

Terminologa

Con el fin de definir claramente los conceptos implementados con los subformularios, he aqu algunas definiciones de
algunos trminos utilizados:
Subformulario: formulario destinado a ser incluido en otro formulario, llamado formulario padre.
Formulario padre: formulario que contiene uno o ms subformulario(s).
Contenedor de subformulario: objeto incluido en el formulario padre, mostrando una instancia del subformulario.
Instancia de subformulario: la representacin de un subformulario en un formulario padre. Este concepto es
importante porque es posible mostrar varias instancias de un mismo subformulario en un formulario padre.
Formulario listado: instancia de subformulario en lista.
Formulario detallado: formulario de entrada en pgina asociado a un subformulario en lista accesible haciendo
doble clic en la lista.

Crear y definir un subformulario

Puede agregar un subformulario a un formulario de tres maneras:


En el asistente de creacin de formularios, utilizando la pgina Subformulario de las opciones avanzadas (ver
Crear un formulario utilizando el asistente de formularios)
En el editor de formularios, utilizando la herramienta Subformulario de la barra de objetos ,
En el editor de formularios, arrastrando y soltando desde la Pgina Formularios del Explorador.

Nota: un objeto de tipo subformulario (en pgina) tambin se crea cuando se agrega un objeto Widget de la librera de
objetos preconfigurados (ver Uso de la librera preconfigurada).

Por supuesto, puede mezclar las diferentes tcnicas de acuerdo a sus necesidades.

Se especifica el tipo de formulario seleccionando o no la opcin Subformulario lista en el tema "Subformulario" de la


lista de Propiedades. La seleccin o deseleccin de esta opcin provoca la actualizacin de la Lista de propiedades
para que corresponda con el tipo de subformulario elegido.

Widgets

Los widgets 4D son objetos compuestos predefinidos. Utilizables con o sin programacin, los widgets dan acceso a las
funcionalidades estndar y son muy simples de implementar. Los widgets disponibles en 4D son los siguientes:
MissingRef: rea de bsqueda de apariencia estndar.
DatePicker: selector de fecha.
TimePicker: selector de hora.
Los widgets 4D son subformularios de tipo pgina con funciones especficas. Puede agregarlos a sus formularios
utilizando la herramienta de creacin subformularios (ver seccin anterior) o utilizando la librera de objetos integrada de
4D (ver Uso de la librera preconfigurada).
El uso de widgets se describe en detalle en un manual aparte, 4D Widgets

- 414 -
Subformularios lista

Un subformulario lista es un formulario de otra tabla que se muestra en un formulario de entrada. Un subformulario
permite introducir, ver y modificar datos en otras tablas. Los subformularios generalmente se utilizan en bases de datos
que utilizan relaciones Uno a Muchos.
Un subformulario lista muestra los registros de la tabla Muchos relacionada por una relacin automtica de tipo 1 a
muchos. Puede tener varios subformularios de diferentes tablas en el mismo formulario. Sin embargo, no es posible
ubicar dos subformularios que pertenezcan a la misma tabla en la misma pgina del formulario.
Por ejemplo, una base de gestin de contactos puede utilizar una instancia de subformulario lista para mostrar todos los
nmeros telefnicos de un contacto particular. Aunque los nmeros telefnicos aparecen en la pantalla Contactos, la
informacin se guarda realmente en una tabla relacionada. Utilizando una relacin Uno a Muchos, este diseo de base
de datos facilita el almacenamiento de un nmero ilimitado de nmeros telefnicos por contacto. Las relaciones
automticas, permiten la entrada de datos directamente en la tabla Muchos relacionada sin programacin.
Aunque los subformularios generalmente se asocian a tablas Muchos, un subformulario puede mostrar los registros de
cualquier otra tabla de la base de datos.
Puede crear un subformulario utilizando el asistente de creacin de formularios o aadir un nuevo subformulario al
formulario existente utilizando el editor de formularios. Debe crear de antemano el formulario listado que quiere utilizar
como subformulario.

Los subformularios lista pueden utilizarse para la entrada de datos de dos formas: el usuario puede introducir datos
directamente en el subformulario o introducirlos en un formulario de entrada asociado. En esta configuracin, el
formulario utilizado como subformulario se llama formulario listado. El formulario de entrada se llama formulario
detallado.

Puede permitirle al usuario introducir datos en el formulario listado:

- 415 -
Crear un subformulario lista

Para definir un formulario lista, debe crear y configurar el subformulario a utilizar en un formulario padre. Para mayor
informacin sobre los formularios lista, consulte el captulo Formularios de salida e informes.
En el formulario padre, cree un objeto de tipo subformulario utilizando la herramienta Subformulario de la barra
de objetos (variacin del ltimo botn).
Nota: puede igualmente efectuar un arrastrar y soltar desde la Pgina Formularios del Explorador.
En la Lista de propiedades (tema Subformulario), asegrese de seleccionar la opcin Subformulario lista y
seleccione la tabla fuente en el men Fuente as como tambin el Formulario listado a utilizar.
En el formulario padre, puede redimensionar y reposicionar el contenedor del subformulario como lo prefiera.

Propiedades de subformularios lista

Puede definir varias propiedades especficas relativas a los subformularios lista. Estas propiedades permiten controlar
diferentes automatismos de funcionamiento y las acciones autorizadas a los usuarios (modos de seleccin y de
entrada).

- 416 -
Nombre de la variable y Tipo de variable
Estas propiedades se destinan principalmente al uso con los subformularios en pgina. Consulte la seccin
Subformularios en pgina.
Fuente
Esta propiedad permite definir el tipo de fuente para el subformulario. Para los subformularios lista, elija la tabla a la que
pertenece el subformulario.
Formulario detallado
Esta opcin permite asociar un formulario detallado a un subformulario lista. El formulario detallado puede utilizarse para
introducir o visualizar subregistros. Generalmente contiene ms informacin que el subformulario. Naturalmente, el
formulario detallado debe pertenecer a la misma tabla que el subformulario. Generalmente usted utiliza un formulario de
salida como formulario listado y un formulario de entrada como formulario detallado. Si no especifica el formulario a
utilizar para la pgina de entrada, 4D utiliza automticamente el formato de entrada por defecto de la tabla.

Dependiendo de la configuracin del subformulario, el usuario puede mostrar el formulario detallado haciendo doble clic
en un subregistro o utilizando los comandos para aadir y modificar los subregistros.
Nota: puede asociar un formulario detallado a un subformulario lista presionando la tecla Mays y arrastrando el
formulario detallado desde el Explorador al subformulario.
Ancho automtico
Puede redimensionar el rea del subformulario en el formulario como prefiera, al igual que cualquier otro objeto del
formulario.
Igualmente puede dejar que 4D defina automticamente el ancho del subformulario de manera que se muestren todos
los campos que contenga. Para hacer esto, marque la opcin Ancho automtico en las propiedades del objeto.
Nota: cuando crea un rea de subformulario arrastrando un formulario directamente del Explorador, 4D define
automticamente el ancho del subformulario.

Modo de seleccin
Los subformularios pueden tener tres modos de seleccin: Ninguno, Sencillo y Mltiple.

Ninguno
Los registros no pueden seleccionarse si este modo est seleccionado. Un clic en la lista no tiene efecto a menos
que la opcin Editable en lista est seleccionada. Las teclas de navegacin slo hacen que la lista se desplace;
no se genera el evento de formulario On Selection Change.
Sencillo
En este modo slo puede seleccionarse un registro a la vez. Un clic en un registro lo selecciona y se convierte en
el registro actual. La combinacin Ctrl+clic (Windows) o Comando+clic (Mac OS) en un registro cambia su
estado (entre seleccionado o no).
Las teclas de flecha Arriba y Abajo seleccionan el registro anterior/ siguiente de la lista. Las otras teclas de
navegacin desplazan la lista. El evento de formulario On Selection Change se genera cada vez que el registro
actual cambia.
Mltiple
- 417 -
Varios registros pueden seleccionarse simultneamente en este modo. Los subregistros seleccionados son
devueltos por el comando GET HIGHLIGHTED RECORDS. Al hacer clic en el registro se selecciona, pero no se
modifica el registro actual. La combinacin de teclas Ctrl+clic (Windows) o Comando+clic (Mac OS) en un
registro cambia su estado (seleccionado o no). Las combinaciones Ctrl+clic (Windows) o Comando+clic (Mac
OS) y Mays+clic le permiten hacer selecciones mltiples. Las teclas de flecha Arriba y Abajo seleccionan el
registro anterior/ siguiente de la lista. Las otras teclas de navegacin desplazan la lista. El evento de formulario On
Selection Change se genera cada vez que cambia el registro seleccionado.

Editable en lista
Cuando un subformulario es Editable en lista, el usuario puede modificar los datos de los subregistros directamente en
la lista, sin tener que utilizar el formulario detallado asociado. Para hacer esto, simplemente haga clic dos veces en el
campo a modificar para pasar al modo edicin (asegrese de dejar tiempo suficiente entre los dos clics para no
generar un doble clic).

Por defecto, este modo se activa para todos los subformularios lista:

Cuando esta opcin no est seleccionada, la entrada pasa obligatoriamente por el formulario detallado asociado.
Accin en caso de doble clic
Puede definir los parmetros de funcionamiento de los subformularios en respuesta a un doble clic del usuario. En
bases de datos creadas con una versin anterior de 4D, puede definir la respuesta en caso de doble clic en una lnea
vaca (opcin de compatibilidad).
Doble-clic en una lnea: accin a realizar en caso de un doble clic en un registro de subformulario. Las siguientes
opciones estn disponibles:
No hacer nada: ignorar el doble clic.
Modificar registro: cambiar el registro de subformulario a modo edicin. La modificacin se efecta
directamente en la lista si la opcin Editable en lista est seleccionada. De otra forma, se efectuar en
modo pgina, en el formulario detallado asociado al subformulario.
Mostrar registro: muestra los datos del registro en modo pgina en el formulario detallado asociado con el
subformulario (slo lectura).
Doble clic en una lnea vaca: accin a realizar en caso de doble clic en una lnea vaca de un subformulario. Las
siguientes opciones estn disponibles:
No hacer nada: ignorar el doble clic.
Aadir registro: crear un nuevo registro en el subformulario y pasar a modo edicin. El registro se crear
directamente en la lista si la opcin Editable en lista est seleccionada. De lo contrario, se crear en modo
pgina, en el formulario detallado asociado con el subformulario.

Permitir supresin
Por defecto, el usuario puede borrar subregistros en un subformulario lista utilizando la tecla Supr o Retroceso.
Esto puede afectar la operacin estndar de la interfaz de ciertas aplicaciones (basadas por ejemplo en botones),
puede evitar esto utilizando la opcin Permitir supresin.
Cuando esta opcin no est seleccionada, el usuario no puede borrar los subregistros utilizando las teclas de
eliminacin del teclado.

Accesible
Una instancia de subformulario puede tener la propiedad Accesible (tema Entrada). Cuando una instancia de
subformulario tiene el foco, el usuario puede controlar con las teclas de navegacin, utilizando el comando de men
Seleccionar todo (si la seleccin es multilneas), etc.
- 418 -
Cuando un subformulario recibe o pierde el foco, el mtodo formulario del formulario padre se llama utilizando los
eventos On getting focus u On losing focus. En este caso, el comando OBJECT Get pointer (o el comando Focus
object) devuelve un puntero a la tabla del subformulario.
Como para todos los objetos accesibles, la propiedad Ocultar rectngulo de foco permite no representar
grficamente el foco.

Impresin
Como puede haber varios registros que el rea de subformulario no puede mantener, 4D ofrece tres opciones (tema
Impresin) para controlar la impresin de los registros de subformularios:
Variable (opcin por defecto)
Si selecciona esta opcin, 4D extiende o reduce el rea del subformulario para imprimir todos los subregistros.
Fijo (Truncamiento)
Si selecciona esta opcin, 4D slo imprime los subregistros que aparecen en el rea del subformulario. El
formulario slo se imprime una vez y se ignoran los registros no impresos.
Fijo (Mltiples registros)
Si selecciona esta opcin, el tamao inicial del rea del subformulario se conserva pero 4D imprime el formulario
varias veces con el fin de imprimir todos los registros.
Notas:
No puede poner objetos a los lados de un subformulario de marco variable. Los objetos ubicados a los lados
del subformulario se repetirn para cada lnea del subformulario.
No puede imprimir ms de un subformulario de la misma tabla en la misma pgina del formulario.
Para mayor informacin sobre la impresin de objetos de tamao variable, consulte Imprimir reas de
tamao variable.

Aadir botones para la gestin de subregistros

Puede aadir los botones personalizados para controlar la entrada de datos en un subformulario. Puede utilizarse todo
tipo de botn: estndar, invertido o invisible.
Es posible definir la accin de estos botones por programacin (ver Entrada de datos) o utilizando las Acciones
estndar.
4D ofrece tres acciones estndar para responder a las necesidades bsicas para la gestin de subregistros: Editar
subregistro, Eliminar subregistro y Aadir subregistro. Cuando el formulario incluye varios subformularios, la accin
aplica al formulario que tiene el foco.
Para mayor informacin sobre la adicin de estos botones y sus acciones automticas asociadas, consulte Botones y
Acciones estndar.

- 419 -
Subformularios en pgina

Los subformularios en modo pgina pueden mostrar los datos del subregistro actual o todo valor pertinente en funcin
del contexto (variables, imgenes, etc.). Una de las principales ventajas de utilizar subformularios pgina es que incluyen
funcionalidades avanzadas y pueden interactuar directamente con el formulario padre (widgets). Los subformularios
pgina tienen sus propias propiedades y eventos especficos, los cuales puede administrar por programacin.
Nota: es posible generar componentes con funcionalidades adicionales va subformularios. Para mayor informacin,
consulte Desarrollar e instalar componentes 4D.

Crear un subformulario en pgina

Para activar el modo pgina, simplemente deseleccione Subformulario lista en la Lista de propiedades para el objeto
subformulario. En este caso, las propiedades relativas a la configuracin de los subformularios en lista (Modo de
seleccin, Doble clic en lnea, etc.) no se muestran ms:

El subformulario en pgina utiliza el formulario de entrada designado por la propiedad Formulario detallado. A
diferencia de un subformulario en modo lista, el formulario utilizado puede provenir de la misma tabla que el formulario
padre. Tambin es posible utilizar un formulario proyecto. En ejecucin, un subformulario en modo pgina tiene las
mismas caractersticas de visualizacin estndar de un formulario de entrada. Los mecanismos de los formularios de
salida (relacionados particularmente con la gestin de marcadores) no se activan.

Propiedades de subformularios en pgina

Los subformularios en pgina se manejan utilizando las propiedades especficas que facilitan su integracin e
interaccin con el formulario padre.

Nombre de la variable
Una variable puede estar asociada a un objeto subformulario. Por defecto, esta variable se llama "Subformulario" como
el objeto mismo. Tiene un tipo (ver el siguiente prrafo) y puede representarse como una variable estndar en el
formulario padre. Su modificacin dispara los eventos de formulario y permite sincronizar los valores del formulario
padre y del subformulario:
El evento formulario On Data Change permite indicar al contenedor del subformulario que el valor de la variable se
modific en el subformulario.
El evento formulario On bound variable change indica al subformulario (mtodo formulario del subformulario) que la
variable se modific en el formulario padre.

Tipo de la variable
Utilice esta propiedad para definir el tipo de la variable asociada al objeto subformulario. Por defecto, se utiliza el tipo

- 420 -
Alfa. El tipo de la variable determina la naturaleza de los valores intercambiados entre el formulario padre y el
subformulario va la variable asociada.
Puede definir el tipo "Ninguno" y en este caso, 4D digita automticamente la variable durante la ejecucin (ver
"Variables dinmicas" en la seccin Variables del manual Lenguaje).

Fuente
Esta propiedad permite seleccionar diferentes tipos de fuentes:
<Ninguno>: seleccione este tipo de fuente si quiere utilizar un formulario proyecto o un formulario de componente
como subformulario. Estos subformularios se utilizan en modo pgina nicamente: la opcin "Subformulario lista"
debe deseleccionarse para que funcionen.
Para que un formulario de componente aparezca en la lista "Formulario detallado" debe haber sido publicado en
el componente (ver el prrafo Publicar un subformulario (componente)).
Nombre de tabla: elija este tipo de fuente si quiere utilizar un formulario de la tabla.

Mtodo objeto y Eventos


Un objeto subformulario puede tener un mtodo objeto que le permite controlar su funcionamiento, en particular, cuando
se desencadenan los eventos. Para obtener una descripcin de los eventos administrados por los subformularios en
pgina, consulte la documentacin del comando Evento formulario .
Tenga en cuenta que la interaccin entre el contenido del objeto subformulario y el formulario padre debe manejarse a
travs de mecanismos especficos (ver el prrafo Programacin avanzada entre formularios).

Gestin de la variable asociada

La variable asociada al subformulario permite vincular los dos contextos (formulario y subformulario) para dar los toques
finales a interfaces sofisticadas. Por ejemplo, imagine un subformulario que representa un reloj dinmico, insertado en
un formulario padre que contiene una variable editable de tipo hora:

Ambos objetos (variable hora y contenedor del subformulario) tienen el mismo nombre de variable. En este caso, al abrir
el formulario padre, 4D sincroniza ambos valores de forma automtica. Si el valor de la variable se define en varios
lugares, 4D utiliza el valor que se carg de ltimo. Se aplica el siguiente orden de carga:
1-Mtodos objeto del subformulario
2-Mtodo formulario del subformulario
3-Mtodos objeto del formulario padre
4-Mtodo formulario del formulario padre
Cuando se ejecuta el formulario padre, la sincronizacin de las variables debe ser efectuada por el desarrollador
utilizando los eventos formulario adecuados. Dos tipos de interacciones pueden ocurrir: del formulario al subformulario y
viceversa.

Actualizacin del contenido del subformulario


Caso 1: El valor de la variable del formulario padre se modifica y esta modificacin debe repercutir en el subformulario.
En nuestro ejemplo, la hora ParisTime pasa a 12:15:00, ya sea porque el usuario introdujo esta hora o porque se
actualiza dinmicamente (a travs del comando Current time por ejemplo).
En este caso, debe utilizar el evento formulario On bound variable change. Este evento debe seleccionarse en las
propiedades del subformulario, se genera en el mtodo de formulario del subformulario.

- 421 -
Se genera el evento de formulario On bound variable change:
Tan pronto como se asigna un valor a la variable del formulario padre, incluso si el mismo valor se reasigna,
Si el subformulario pertenece a la pgina de formulario actual o la pgina 0.
Tenga en cuenta que, como en el ejemplo anterior, es preferible utilizar el comando OBJECT Get pointer que devuelve
un puntero al contenedor subformulario en lugar de su variable, ya que es posible insertar varios subformularios en el
mismo formulario padre (por ejemplo, una ventana que muestra diferentes zonas horarias tiene varios relojes). En este
caso, slo un puntero permite saber qu contenedor de subformulario est en el origen del evento.

Actualizacin del contenido del formulario padre


Caso 2: El contenido del subformulario se modifica y esta modificacin debe pasarse en el formulario padre. En nuestro
ejemplo, imagine que la interfaz del subformulario permite al usuario mover "manualmente" las manecillas del reloj.
En este caso, desde el subformulario, debe asignar el valor del objeto a la variable del contenedor del subformulario
padre. Como en el ejemplo anterior, le recomendamos que utilice el comando OBJECT Get pointer con el selector
Object subform container que devuelve un puntero al contenedor del subformulario.
Asignar el valor de la variable genera el evento formulario On Data Change en el mtodo del objeto contenedor del
subformulario padre, lo que permite realizar cualquier tipo de accin. El evento debe seleccionarse en las propiedades
del contenedor de subformulario.

Nota: si mueve "manualmente" las manecillas del reloj, esto tambin genera el evento formulario On Data Change en el
mtodo del objeto de la variable valorReloj en el subformulario.

Programacin avanzada entre formularios

La comunicacin entre el formulario padre y las instancias de los subformularios puede requerir ir ms all del
intercambio de un valor a travs de la variable asociada. De hecho, es posible que desee actualizar las variables en los
subformularios en funcin de las acciones efectuadas en el formulario padre y viceversa. Si usamos el ejemplo anterior
del subformulario de tipo "reloj dinmico", podramos querer definir una o ms horas de alarma por cada reloj.

- 422 -
4D ha implementado los siguientes mecanismos para responder a estas necesidades:
Uso del parmetro "subformulario" con el comando OBJECT Get name para especificar el objeto de
subformulario y el comando OBJECT Get pointer.
Llamada del objeto contenedor desde el subformulario utilizando el comando CALL SUBFORM CONTAINER,
Ejecucin de un mtodo en el contexto del subformulario a travs del comando EXECUTE METHOD IN
SUBFORM.
Comandos Object get pointer y Object get name
Adems del selector Object subform container, el comando OBJECT Get pointer acepta un parmetro que indica en
qu subformulario buscar el objeto cuyo nombre se especifica en el segundo parmetro. Esta sintaxis slo puede
utilizarse cuando se pasa el selector Object named.
Por ejemplo, la siguiente instruccin:

$ptr:=OBJECT Get pointer(Object named;"MiBoton";"MiSubForm")

... recupera un puntero a la variable "MiBoton" que se encuentra en el objeto subformulario "MiSubForm". Esta sintaxis
permite acceder desde el formulario padre a todo objeto que se encuentra en un subformulario.
Tambin tenga en cuenta el comando OBJECT Get name que permite recuperar el nombre del objeto que tiene el foco.

Comando CALL SUBFORM CONTAINER


El comando CALL SUBFORM CONTAINER permite a una instancia de subformulario enviar un evento al objeto
contenedor del subformulario, el cual puede procesarlo en el contexto del formulario padre. El evento se recibe en el
mtodo del objeto contenedor. Puede estar en el origen de cualquier evento detectado por el subformulario (clic,
arrastrar y soltar, etc.)
El cdigo del evento es libre (por ejemplo, 20 000 o -100). Puede utilizar un cdigo que corresponde a un evento
existente (por ejemplo, 3 para On Validate) o utilizar un cdigo personalizado. En el primer caso, slo puede utilizar los
eventos que ha seleccionado en la lista de propiedades para los contenedores de subformulario. En el segundo caso, el
cdigo no debe corresponder a cualquier evento formulario existente. Se recomienda usar un valor negativo para estar
seguros de que este cdigo no ser utilizado por 4D en futuras versiones.
Para obtener ms informacin, consulte la descripcin del comando CALL SUBFORM CONTAINER.

Comando EXECUTE METHOD IN SUBFORM


El comando EXECUTE METHOD IN SUBFORM permite a un formulario o a uno de sus objetos solicitar la ejecucin
de un mtodo en el contexto de la instancia del subformulario, lo que le da acceso a las variables, objetos, etc. del
subformulario. Este mtodo tambin puede recibir parmetros.
Este mecanismo se ilustra en el siguiente diagrama:

Para obtener ms informacin, consulte la descripcin del comando EXECUTE METHOD IN SUBFORM.

Comando GOTO OBJECT


El comando GOTO OBJECT busca el objeto de destino en el formulario padre, incluso si se ejecuta desde un
subformulario.

- 423 -
Formularios de salida e informes

Presentacin
Formularios de salida
Formularios de informes impresos
Utilizar lneas de control de salida
Un ejemplo de informe
Imprimir reas de tamao variable
Crear documentos de fusin de correo
Crear etiquetas

- 424 -
Presentacin

Los formularios de salida se utilizan con dos propsitos: listar registros en pantalla e imprimir informes.
En muchos casos, puede crear un informe mucho ms rpido utilizando el editor de informes rpidos. Sin embargo, el
editor de formularios le da un mayor control sobre la apariencia final de su informe. Para mayor informacin consulte el
captulo Informes rpidos.
Nota: slo los formularios de tabla pueden utilizarse como formularios de salida. Los formularios de proyecto estn
diseados para ser utilizados como formularios detallados.

reas de formularios de salida

Los formularios de salida tienen varias reas con diferentes propiedades:


rea de encabezado: contiene el ttulo del informe, los ttulos de las columnas y los botones u objetos de manejo
del formulario,
rea de detalle: contiene el cuerpo del informe,
rea de pie de pgina: contiene botones o clculos globales basados en todos los registros del informe,
rea de ruptura: contiene el texto o las imgenes que aparecen despus de la lista de registros y los clculos
globales basados en todos los registros o en los subgrupos de registros.
Cuando crea un formulario listado con la ayuda del asistente de creacin de formularios, el asistente crea
automticamente estas reas. Ubica el ttulo del formulario (nombre de la tabla), los nombres de los campos al igual que
los botones de control en el rea de encabezado (el contenido exacto del rea de encabezado depende de las
opciones seleccionadas en el asistente de creacin de formularios). Los campos que seleccione se ubican en una lnea
en el rea de detalle. Un rea de ruptura pequea se crea pero el asistente de creacin de formularios no pone nada en
ella.
Cuando crea un formulario listado con la ayuda del asistente de creacin de formularios, el asistente crea
automticamente estas reas. Ubica el ttulo del formulario (nombre de la tabla), los nombres de los campos al igual que
los botones de control en el rea de encabezado1. Los campos que seleccione se ubican en una lnea en el rea de
detalle. Una rea de ruptura pequea se crea pero el asistente de creacin de formularios no coloca nada en ella.
Cuando abre el formulario en el editor de formularios, puede modificar el tamao de cada una de estas reas, modificar
el contenido de las reas, aadir objetos al rea de ruptura y crear reas de ruptura adicionales para clculos globales.
Las reas del formulario que funcionan como Encabezado, Detalle, Ruptura y Pie de pgina son controladas por lneas
de control de salida. Puede cambiar el tamao de cada rea, arrastrando las lneas de control de salida verticalmente.
La siguiente imagen muestra un formulario de salida creado utilizando la pgina estndar del asistente de creacin de
formularios (plantilla XP):

Nota: puede elegir entre ocultar/mostrar los marcadores y sus etiquetas en el editor de formularios. Para mayor
informacin, consulte Mostrar/Ocultar elementos en el editor de formularios en El editor de formularios.
Las lneas horizontales dividen el informe en reas de encabezado, de detalle, de ruptura y de pie de pgina. As mismo,
el rea entre las lneas de encabezado y detalle es el rea de detalle y el rea de pie de pgina se extiende desde la
parte superior de la lnea de ruptura (etiqueta B0) hasta la lnea de pie de pgina. Los tamaos de cada rea se ajustan
arrastrando verticalmente los marcadores de encabezado, detalle, ruptura, o pie de pgina o sus etiquetas.

- 425 -
Cuando se utiliza el formulario, se ve de esta forma:

El rea de detalle se expande dinmicamente cuando la ventana se redimensiona, mientras que las reas de
encabezado y pie de pgina son de tamao fijo.
En un formulario que lista registros en pantalla, las reas de encabezado y pie de pgina pueden incluir objetos a los
cuales se les puede hacer clic y objetos no editables como botones, botones de opcin, listas jerrquicas, etc. Para
mayor informacin, consulte el siguiente prrafo que hace referencia a las lneas de control de salida.
En un informe impreso, un rea de encabezado contiene generalmente la fecha, la hora, un ttulo actual y los ttulos de las
columnas. Los registros aparecen en el rea detalle. Un total calculado podra aparecer en el rea de ruptura. El rea de
pie de pgina contiene el nmero de pgina.
La siguiente imagen identifica las diferentes reas que aparecen en un informe impreso:

Un informe podra tener reas de ruptura adicionales para subtotales y otros clculos, tambin podra tener reas de
encabezado adicionales que aparezcan en el cuerpo del informe. Las reas de encabezado adicionales se utilizan para
identificar subgrupos. Para ver un ejemplo de un informe con varias reas de encabezado y ruptura, consulte la seccin
Crear lneas de control adicionales en Utilizar lneas de control de salida.

- 426 -
Formularios de salida

Funciones estndar

Un formulario de salida lista los registros. Aunque todo formulario puede utilizarse como formulario de salida, la mayora
de formularios de salida tienen las siguientes caractersticas:
Cada lnea es un registro.
Cada columna es un campo o una variable.
Cada columna tiene una etiqueta en la parte superior de la ventana. El tamao de las columnas se puede cambiar
utilizando los separadores entre cada rea de ttulo.
El encabezado y/o el pie de pgina de un formulario pueden tener botones, mens desplegables, etc.

Desplazarse en la lista
Un formulario de salida tiene las barras de desplazamiento horizontal y vertical estndar. Puede navegar en la lista de
registros haciendo clic en una de las flechas, en la barra de desplazamiento vertical o arrastrando el cuadro de
desplazamiento. Tambin puede usar las teclas Pgina Anterior y Pgina Siguiente (para desplazarse por la lista de
registros por pantallas) o las teclas Inicio y Fin (para ir directamente al inicio o al final de la lista).
Si el formulario de salida tiene ms campos de los que se pueden mostrar en la ventana, puede desplazarse
horizontalmente utilizando la barra de desplazamiento ubicada en la parte inferior de la ventana.

Redimensionar las columnas


Puede redimensionar las columnas de los formularios de salida (excepto si esta posibilidad ha sido eliminada en el
editor de formularios). Para hacerlo, coloque el cursor sobre el titulo de la columna; el cursor se transforma para indicar
que la columna es redimensionable. Despus puede hacer clic y mover la esquina de la columna para reducirla o
aumentarla:

Seleccionar
Se selecciona un registro haciendo clic sobre l. Puede seleccionar uno, dos o ms registros adyacentes o varios
registros no adyacentes. Despus de efectuar una seleccin, puede realizar operaciones como mostrarlos como un
subconjunto o borrarlos.
Para seleccionar un registro, haga clic en un registro del formulario de salida o presione las teclas arriba o abajo.
El registro en el que hizo clic se selecciona. Si utiliza las teclas de flechas, el primer o el ltimo registro de la lista
se selecciona.
Para seleccionar varios registros adyacentes, haga clic en el primer registro a seleccionar, mantenga presionada
la tecla Mays y haga clic en el ltimo registro a seleccionar (o presione las teclas arriba o abajo).
Se seleccionan todos los registros entre los dos que seleccion.
Para seleccionar varios registros no adyacentes, haga clic en el primer registro a seleccionar, mantenga
presionada la tecla Ctrl (Windows) o Comando (Macintosh) y haga clic en otro(s) registro. Los registros en los
que haga clic quedan seleccionados.
Para seleccionar todos los registros de la seleccin actual en el formulario de salida, seleccione Seleccionar
todo en el men Edicin o use el atajo estndar Ctrl+A (Windows) o Comando+A (Mac OS).
Para seleccionar todos los registros de la tabla, seleccione Mostrar todos en el men Registros.

Aadir y modificar registros


Puede aadir y modificar registros directamente en un formulario de salida. El formulario de salida se usa
especialmente para modificar un pequeo grupo de registros adyacentes ya que en la ventana aparecen varios
registros simultneamente.

Puede introducir o modificar datos en campos de la tabla actual nicamente. No puede introducir o modificar datos en
variables, campos de otras tablas o subformularios.
En el formulario de salida, puede:
- 427 -
Seleccionar y editar campos haciendo clic en ellos (debe hacer doble clic si el registro no ha sido seleccionado),
Pasar de un campo a otro y de un registro a otro, con la teclas Tab, Intro o Retorno,
Aadir un nuevo registro, utilizando el comando Registros > Nuevo registro

Los cambios se guardan al hacer clic en Tab, Intro o Retorno o haciendo clic en otro campo.

Gestin de lneas vacas


En modo listado, 4D muestra, si es necesario, lneas vacas debajo de los ltimos registros visualizados, de manera que
se llena la ventana totalmente:

Cuando se muestra la ventana, se genera el evento de formulario On Display Detail para cada lnea vaca de la lista. En
este caso, no hay un registro actual: Record number devuelve -1 y Selected record number no devuelve un valor
significativo. El comando Displayed line number permite conocer el nmero de lnea que se est mostrando.

Personalizacin de formularios de salida

Un formulario listado creado utilizando el asistente de creacin de formularios funciona bien para mostrar una lista de
registros. Si es necesario, puede hacer las siguientes modificaciones simples:
Reemplazar los campos por variables y aadir mtodos,
Utilizar las opciones de interfaz, apariencia, atributos de fuente, borde o color para modificar objetos individuales
en el formulario,
Cambiar el ancho de los campos y de las variables,
Mover las lneas de control de salida,
Aadir una imagen personalizada en el rea de encabezado,
Aadir las variables en las reas de encabezado o pie de pgina.
El siguiente es un formulario de salida personalizado utilizado para el manejo de personal:

Los botones de control se han ubicado en el rea de pie de pgina y una imagen personalizada se ha ubicado en el
rea de encabezado. El rea de encabezado tambin incluye una lista desplegable que le permite seleccionar la
- 428 -
empresa cuyos empleados quiere visualizar.
As se ve el diseo de este formulario en el editor de mtodos:

Las lneas de control se pueden mover, por ejemplo, para adaptar el tamao de la imagen insertada en el rea
encabezado.

Mostrar varias lneas por registro


Es posible que quiera mostrar campos en ms de una lnea. 4D permite utilizar varias lneas para cada registro. Para
esto, basta con aumentar el tamao del rea de detalle del formulario de manera que pueda tener varias lneas en el
rea. Cuando utiliza varias lneas para un solo registro, los elementos grficos como lneas y cajas pueden ser tiles
para separar campos y registros.
Este es un ejemplo de un formulario de salida de una base de datos de gestin de mensajes telefnicos la cual utiliza
dos lneas por registro:

Color de realce del sistema


En las versiones de 4D anteriores a la versin 2004, los registros seleccionados en listas se mostraban utilizando
invertir vdeo: el color de cada pxel de la seleccin se inverta (por ejemplo, el blanco se converta en negro, el rojo en
verde y viceversa). Este principio incluye el fondo y el texto de objetos:

- 429 -
A partir de la versin 2004, para una mejor conformidad de la interfaz, 4D utiliza los parmetros de seleccin del
sistema operativo en nuevos formularios:

Es posible beneficiarse de esta nueva interfaz en las bases de datos convertidas gracias a la opcin Color de realce
del sistema. Esta opcin slo est disponible para formularios de salida en bases de datos convertidas:

Cuando esta opcin est seleccionada, 4D desactiva la inversin de vdeo y utiliza el color de contraste del sistema
para representar los elementos seleccionados. Tenga cuidado, para una representacin conforme a las normas de
interfaz, esta opcin debe estar acompaada de los parmetros adecuados de texto y de fondo para los objetos
ubicados en el rea de detalle del formulario:
opcin Automtica para el color de texto de cada objeto
opcin Transparente para el color de fondo de cada objeto,
opcin Automtica para el color del rectngulo ubicado debajo del rea de detalle del formulario.

Visibilidad de los objetos


La propiedad Visible est disponible para todos los objetos en el editor de formularios cuando el tipo del formulario es
listado. Esta propiedad acepta tres valores:
Siempre visible
Si registro seleccionado
Si registro no seleccionado.
Esta propiedad se utiliza nicamente durante el dibujo de los objetos ubicados en el cuerpo de un formulario listado.
Esta propiedad le indica a 4D si dibujar el objeto o no en funcin del estado seleccionado/no seleccionado del registro
que est siendo procesado.
Esta propiedad le permite representar una seleccin de registros utilizando atributos visuales diferentes a los colores:

4D no tiene en cuenta esta propiedad si el objeto se ocult utilizando el comando OBJECT SET VISIBLE; en ese caso,
el objeto permanece invisible sin importar o no si el registro est seleccionado.
Si se muestran lneas vacas despus de los ltimos registros (consulte la seccin Gestin de lneas vacas), 4D dibuja
en cada lnea vaca los objetos con la propiedad Siempre visible o Si registro no seleccionado.

- 430 -
Formularios de informes impresos

En 4D, puede crear un informe utilizando un formulario o con la ayuda del editor de informes rpidos (ver Informes
rpidos).
Tiene muchas ventajas utilizar un formulario para crear un informe: puede utilizar elementos grficos en los formularios,
controlar con precisin la ubicacin de cada parte del informe, utilizar los mtodos de objeto para efectuar clculos y
utilizar los encabezados. Los informes de formularios tambin pueden ser personalizados por cada usuario con la ayuda
del editor de formularios de usuario (ver Formularios de usuario).
Puede utilizar un formulario para crear informes que:
requieran un formato sin columnas,
muestren subformularios,
contengan imgenes importadas,
necesiten elementos grficos particulares, tales como lneas finas.
Los informes impresos, a diferencia de los formularios listados de pantalla, pueden utilizar el rea de ruptura situada al
final del informe. Los informes impresos utilizan el rea de pie de pgina para los elementos que deben aparecer al final
de cada pgina.

Tipos de informes

Informes en columna impresos


Las listas que despliegan columnas de informacin son comunes en informes impresos. Puede publicar listas de
nmeros de telfono, precios, resultados, especificaciones o partes.
Cuando cree un informe en columna utilizando el asistente de formularios, seleccione el tipo Formulario de impresin
listado.
Como las listas que disea para mostrar registros en pantalla, una lista impresa presenta columnas de informacin, que
pueden incluir ttulos de columnas sobre cada columna y pueden utilizar elementos grficos para mejorar o hacer ms
claro el informe. El rea de ruptura, que se imprime una sola vez al final del informe, se
utiliza para calcular totales. Para mayor informacin sobre la utilizacin de mtodos para calcular totales.
Para mayor informacin sobre el uso de mtodos para el clculo de totales, consulte la seccin Ejemplo de informe.
Informes de un registro por pgina
Puede necesitar imprimir un registro por pgina. Por ejemplo, puede utilizar una base de facturacin con el fin de
imprimir una copia de cada factura para sus archivos. Tambin puede imprimir una lista de correos donde slo ciertos
campos se modifiquen por pgina (ver Crear documentos de fusin de correo).
Cuando necesite crear un informe de este tipo, seleccione Formulario de impresin detallado como tipo de
formulario en el asistente de creacin de formularios.
Ponga el encabezado (H) en la parte superior de la pgina y organice debajo los campos y otros elementos del informe.
Si su formulario muestra registros en un subformulario, verifique que el subformulario est definido para imprimir con un
marco fijo de manera que los registros no se extiendan a ms pginas. Para ms informacin sobre impresin con
marco fijo, consulte la seccin Imprimir reas de tamao variable.
Arrastre las lneas de control de detalle (D), ruptura (B0) y pie de pgina (F) al final de la pgina para asegurar que slo
se imprima un registro por pgina.

Utilizar los subformularios


Probablemente usted est muy familiarizado con las facturas. Una factura tpica contiene un nombre y una direccin de
facturacin, una direccin de envo, una serie de artculos o de servicios comprados y un total.
Una base de facturacin incluye un formulario de salida para imprimir las facturas en pgina completa. Por ejemplo, una
factura tiene informacin de dos tablas: una tabla [Ordenes] que suministra la informacin del cliente (direcciones de
facturacin y entrega) y una tabla [Lneas de artculos] que suministra la informacin sobre los artculos. El total de la
orden se calcula y guarda en la tabla [Ordenes].
El formulario para una factura se crea en la tabla [Ordenes] y utiliza un rea de subformulario para las lneas de artculos.
El rea de subformulario puede extenderse durante la impresin para imprimir todas las lneas de artculos, incluso si la
factura necesita una segunda pgina. Para mayor informacin, consulte la seccin Imprimir reas de tamao variable.
El rea de detalle ocupa la mayor parte de una pgina. Una sola factura se imprime para cada orden, pero en el rea de
la lnea de artculos contiene tantas lneas como sea necesario.

- 431 -
Informes con un campo tipo texto
Muchas bases de datos permiten al usuario introducir notas o descripciones en un campo de tipo texto. El campo tipo
texto puede imprimirse como un rea de tamao variable en el rea de Detalle.
Los campos tipo texto pueden extenderse durante la impresin para imprimir toda la informacin. Para mayor
informacin sobre la impresin de campos tipo texto, consulte la seccin Imprimir reas de tamao variable.

Etiquetas personalizadas
Si quiere crear etiquetas de correo personalizadas, puede disear un formulario de salida personalizado. El diseo
puede utilizar los elementos grficos, las fuentes y variables disponibles.
Nota: con frecuencia es ms rpido y fcil crear etiquetas de correo utilizando el Editor de etiquetas integrado.
La creacin de formularios de salida se utiliza para la impresin de etiquetas se detalla en el prrafo Utilizar el
comando PRINT LABEL.

Informes con rupturas

4D puede imprimir informes con Rupturas y Rupturas de encabezados. Una ruptura se crea al ordenar los registros.
Imagine que quiere imprimir un informe de su coleccin de discos, clasificados por artistas. Probablemente usted tiene
varios discos del mismo artista. Al ordenar los registros por artista, obtiene varios grupos de registros diferentes. La
Ruptura ocurre despus de que se imprime el ltimo registro de cada grupo. As se ve el informe al ser previsualizado
en pantalla:

4D dispone de diferentes funciones que permiten presentar la informacin de forma atractiva. Este es el formulario en el
entorno Diseo:

- 432 -
Nota: para generar un informe que utilice niveles de ruptura y de encabezados, debe iniciar primero el proceso de
rupturas. Para mayor informacin sobre los mtodos que permiten inicializar el proceso de rupturas, consulte el prrafo
Inicializar el proceso de rupturas.
Una ruptura de encabezado se imprime una vez antes del grupo de registros al que se refiere y una ruptura se imprime
una vez despus de grupo de registros al que se refiere. En la imagen de la pgina anterior, la ruptura se llama ruptura
nivel 1 y el encabezado de ruptura se llama encabezado de ruptura nivel 1, porque la ruptura ocurre como resultado
del primer campo ordenado.
Puede utilizar hasta nueve niveles de ruptura. Si utiliza la rutina Subtotal para inicializar el proceso de rupturas, debe
ordenar un campo ms el nmero de rupturas que utilice. En este caso, si utiliza un nivel de ruptura, debe ordenar dos
campos. Si utiliza tres niveles de ruptura, deber ordenar cuatro campos, etc.
En el formulario del informe, los niveles de ruptura y las rupturas de encabezados adicionales deben corresponder a
reas adicionales. Puede crear estas reas aadiendo lneas de control de salida. Para conocer cmo aadir lneas de
control de salida, consulte la seccin "Crear lneas de control adicionales" en Utilizar lneas de control de salida.
Esta seccin explica cmo crear informes con rupturas. En la seccin Un ejemplo de informe se encuentra un ejemplo
completo.

Inicializar el proceso de rupturas


Para permitir a 4D imprimir las reas de encabezados de rupturas, calcular subtotales, etc., primero debe inicializar el
proceso de ruptura en el formulario del informe. Inicialice el proceso de rupturas:
poniendo la funcin Subtotal en un mtodo objeto o formulario,
ejecutando los comandos BREAK LEVEL y ACCUMULATE antes de imprimir el informe.

Si utiliza la funcin Subtotal, debe tambin ordenar los registros en un campo de ms que el nmero de niveles de
rupturas que utilice. Por ejemplo, si utiliza dos niveles de rupturas en su informe, debe ordenar en tres campos.

Informes con subtotales


Esta seccin describe en detalle cmo la ordenacin influye en los informes y explica cmo utilizar reas de ruptura
adicionales para crear subtotales.
4D Esta seccin describe en detalle cmo la ordenacin influye en los informes y explica cmo utilizar reas de ruptura
adicionales para crear subtotales. La siguiente imagen muestra un informe que calcula subtotales para cada cliente y un
total al final del informe.

- 433 -
Estos registros han sido ordenados por cliente y por producto. Despus de que los registros de cada cliente se han
impreso, se calcula e imprime el subtotal para el cliente. Despus de que se han impreso los registros para todo el
informe, se calcula e imprime el total.
Como puede ver en la imagen anterior, los subtotales se calculan e imprimen despus de los registros de cada cliente.
4D sabe cuando realizar el calculo e imprimir el subtotal porque ha recibido la instruccin de hacerlo cuando cambie el
valor del primer campo de criterio de ordenacin (cuando haya ruptura). El subtotal del cliente se calcula en lo que
llamamos ruptura de nivel 1 porque est basado en un cambio del valor del primer campo de nivel de criterio de
ordenacin (en este caso, el campo Cliente). El gran total se calcula en la ruptura de nivel 0. Un nivel de ruptura 0 incluye
todos los registros y ocurre al final del informe.
La siguiente imagen presenta otro ejemplo de clculos en un nivel de ruptura con los mismos registros, pero con un
orden de clasificacin diferente para crear rupturas diferentes. Esta vez los registros se han ordenado por producto y
cliente. Los subtotales se calculan cuando cambia el valor del campo Productos. Esta es todava una ruptura de nivel 1,
pero la ruptura es en un campo diferente.

- 434 -
Niveles de ruptura adicionales
Puede realizar clculos adicionales aadiendo otro nivel de ordenamiento y otro nivel de ruptura.
La siguiente imagen muestra los registros de ventas por cliente, producto y vendedor. Los clculos resumen muestran
dos conjuntos de subtotales: un subtotal para cada cliente y dentro de cada cliente, subtotales por cada producto. Por
ltimo, este informe calcula un total para toda la empresa. Estos son ejemplos de clculos realizados en niveles de
ruptura 2, 1 y 0.

Los clculos de subtotales se realizan slo para el grupo de registros anteriores a la ruptura. Por ejemplo, un subtotal se
- 435 -
calcula para cada producto vendido a cada cliente. El subtotal para el cliente se calcula para todos los productos
vendidos a ese cliente.
Nota: para mayor informacin sobre la adicin de niveles de ruptura, consulte el prrafo "Crear lneas de control
adicionales" en Utilizar lneas de control de salida.

Informes resumen

Puede crear un informe que imprima slo informacin resumida. Un informe de as muestra slo los subtotales y totales
con los textos adicionales correspondientes. La siguiente imagen muestra un informe con informacin resumida:

En este informe, los registros se ordenan por cliente, producto y fecha y los clculos se realizan en las rupturas creadas
por el orden de clasificacin. Las reas detalladas de los registros no se imprimen; los registros se utilizan slo para
proporcionar los valores para los clculos. Note que 4D va del primer al ltimo registro durante la impresin del informe
de manera que pueda efectuar los clculos. Usted crea esta clase de informe ubicando la lnea de control de detalle
sobre la lnea de control de encabezado, sin dejar espacio para imprimir detalles.
Puede pedirle a 4D que efecte clculos adicionales en una lista incluyendo subtotales, promedios, valores mximos y
mnimos, totales de pgina a imprimir en un pie de pgina y promedios ponderados. Estos clculos y otros, utilizan las
funciones estadsticas de 4D, (ver Funciones estadsticas).

- 436 -
Utilizar lneas de control de salida

Puede controlar las reas de encabezado, detalle, ruptura y pie de pgina con lneas de control de salida del editor de
formularios. Mueva las lneas de control verticalmente para permitir ms o menos espacio para cada rea. Cualquier
objeto que coloque en estas reas se muestra o imprime en la ubicacin apropiada.

Lneas de control de salida y reas

Este es el funcionamiento de las reas de formulario durante la visualizacin o impresin en modo Aplicacin o
utilizando las funciones integradas del modo Diseo.
rea de encabezado: el rea de encabezado se muestra en la parte superior de cada pantalla y se imprime en la
parte superior de cada pgina de un informe. El rea de encabezado se define como el rea sobre la lnea de
control encabezado (H). Puede agrandar o reducir el rea de encabezado arrastrando la lnea de control de
encabezado verticalmente. Puede utilizar el rea de encabezado para los nombres de columnas, instrucciones,
informacin adicional, o incluso una imagen como el logo de la empresa o un modelo decorativo.
Igualmente puede poner y utilizar los objetos activos en el rea de encabezado de los formularios de salida
mostrados como subformularios, en la ventana de visualizacin de registros o utilizando los comandos DISPLAY
SELECTION y MODIFY SELECTION.
Pueden insertarse todos los objetos activos, incluyendo:
botones, botones 3D, botones inversos, botones imagen,
combo boxes, mens pop-up/listas desplegables, mens pop-up imagen mens pop-up jerrquicos,
reas desplegables, listas jerrquicas, list boxes,
botones de opcin, botones de opcin 3D, botn imagen de opcin,
casillas de seleccin, casillas de seleccin 3D,
termmetro, regla, dials.
Las Acciones estndar tales como Aadir subregistro, Cancelar (listas desplegadas utilizando DISPLAY
SELECTION y MODIFY SELECTION) o Separador automtico pueden asignarse a los botones insertados.
Los siguientes eventos aplican a objetos activos que inserte en el rea de encabezado: On Load, On Clicked, On
Header, On Printing Footer, On Double Clicked, On Drop, On Drag Over, On Unload. Recuerde que el mtodo de
formulario se llama con el evento On Header despus de llamar a los mtodos de objeto del rea.
rea de detalle: el rea de detalle se muestra en la pantalla y se imprime para cada uno de los registros de un
informe. El rea de detalle se define como el rea entre la lnea de control encabezado y la lnea de control de
detalle (D). Puede agrandar o reducir esta rea arrastrando verticalmente el marcador de control de detalle. Todo
elemento en esta rea se muestra o imprime para cada uno de los registros. La mayora de las veces usted ubica
campos o variables en el rea de detalle con el fin de que los datos de cada registro se muestren o impriman,
pero tambin pueda poner otros elementos en el rea de detalle.
reas de ruptura: las reas de ruptura se muestran una vez al final de la lista de registros y se imprimen una vez
despus de que los registros han sido impresos en el informe. En el informe anterior, el rea de ruptura se define
como el rea entre la lnea de control de detalle y la lnea de control de ruptura (B0). Puede haber otras reas de
ruptura en un informe. Puede agrandar o reducir el rea de ruptura arrastrando verticalmente el marcador de
control de ruptura. Puede utilizar un rea de ruptura para mostrar informacin que no forma parte de los registros
(instrucciones, fecha actual, hora actual, etc.) o para mostrar una lnea u otro elemento grfico que marque el fin de
- 437 -
la pantalla de visualizacin. En un informe impreso, puede utilizar un rea de ruptura para calcular e imprimir
totales y otros clculos globales.
rea de pie de pgina: el rea de pie de pgina se muestra en pantalla debajo de la lista de registros, siempre
se imprime en la parte inferior de cada pgina de un informe. El rea de pie de pgina se define como el rea
entre la lnea de control de ruptura (B0) y la lnea de control de pie de pgina (F). Puede agrandar o reducir esta
rea arrastrando verticalmente el marcador de control de pie de pgina.
Puede utilizar el rea de pie de pgina para imprimir grficos, nmeros de pgina, fecha actual o cualquier texto
que quiera en la parte inferior de cada pgina de un informe. Para formularios de salida diseados para uso en
pantalla, el rea de pie de pgina generalmente contiene botones que dan al usuario opciones tales como hacer
una bsqueda, imprimir registros, o eliminar el informe actual. Todos los objetos activos se aceptan.
En todo formulario utilizado como formulario de salida, bien sea visualizacin en pantalla o impresin, las lneas de
control de salida tienen efecto y las reas se visualizan o imprimen en los lugares designados. Las lneas de control de
salida tambin tienen efecto cuando un formulario se utiliza como formulario listado en un rea de subformulario.
Las lneas de control de salida no tienen efecto cuando un formulario se utiliza como formulario de entrada.
Los mtodos que estn asociados a los objetos situados en estas reas se ejecutan cuando las reas se imprimen o
muestran, si los eventos de formulario apropiados han sido seleccionados. Por ejemplo, un mtodo de objeto ubicado
en el rea encabezado se ejecuta cuando se genera el evento On Header.
Puede crear lneas adicionales de control para definir reas de ruptura y reas de encabezado adicionales para un
informe. Estas reas adicionales le permiten imprimir subtotales y otros clculos en un informe y mostrar otra
informacin de manera efectiva. Las lneas de control adicionales se describen en el prrafo Crear lneas de control
adicionales.

Mover las lneas de control de salida

El tamao de las reas de encabezado, detalle, ruptura y pie de pgina se ajusta moviendo los marcadores de control
de salida.
Las lneas de control de salida aparecen como lneas que atraviesan el formulario. Cada lnea de control tiene un
marcador y una etiqueta que se muestra en la regla. El marcador de control es el tringulo en la regla y la etiqueta es la
letra o las letras junto al marcador. Puede mover una lnea de control arrastrando su marcador o su etiqueta. Por defecto,
las etiquetas de las lneas de control siempre se muestran; sin embargo puede ocultarlas (consulte el prrafo
Mostrar/Ocultar elementos en el editor de formularios en El editor de formularios). Cuando estn ocultas, puede
mostrarlas temporalmente haciendo clic en los marcadores de control.
Las etiquetas indican el nombre y la ubicacin de cada marcador con respecto al formulario de origen. Cuando mueve
un marcador, la etiqueta indica la nueva ubicacin del marcador en tiempo real. Las etiquetas le permiten mover las
lneas de control incluso cuando las reglas estn ocultas.
La siguiente imagen identifica los marcadores de control y las etiquetas:

Para mover una lnea de control, arrastre verticalmente el marcador o la etiqueta de control correspondiente.
Si mantiene presionada la tecla Mays mientras arrastra un marcador de control se movern todas las lneas de
control debajo de ese marcador de control. Por ejemplo, para arrastrar todas las lneas de control a la vez,
mantenga presionada la tecla Mays y arrastre el marcador de encabezado. Para mover todas las lneas de
control excepto la lnea de control de encabezado, mantenga presionada la tecla Mays arrastre el marcador de
detalle.
Si quiere mover los objetos situados debajo del marcador de control o agrandar los objetos situados arriba del
- 438 -
marcador de control al mismo tiempo que los mueve, seleccione cada objeto a modificar antes de efectuar el
desplazamiento.
Las lneas de control no pueden arrastrarse en desorden. Por ejemplo, si intenta arrastrar una lnea de control de pie de
pgina ms arriba de una lnea de control de ruptura, la operacin arrastrar automticamente se detiene cuando el
marcador de pie de pgina alcanza al marcador de ruptura.
Pruebe superponer marcadores y lneas de control. Poner un marcador sobre otro reduce su rea a nada, quitndolo del
informe. Por ejemplo, si no tiene nada que imprimir en el rea de ruptura, puede arrastrar el marcador de ruptura sobre
el marcador de detalle. Al hacerlo evita que 4D cree espacio para un rea de ruptura. De esta forma el informe puede
utilizar todo el espacio disponible en la pgina.
Si no quiere imprimir detalles, arrastre el marcador de detalle sobre el marcador de encabezado. Si no necesita un
encabezado, arrastre el marcador de encabezado a la parte superior del formulario (punto 0).
Atencin: los objetos activos (campos o variables) ubicados en el detalle de los formularios no debe traslapar el rea
de encabezado o de pie de pgina, de lo contrario no se mostrarn cuando el formulario se ejecute.

Crear lneas de control adicionales

Los ejemplos de informes de esta seccin utilizan niveles de ruptura y rupturas de encabezados. Para crear las reas
correspondientes a estos niveles, es necesario crear lneas de control adicionales.
El editor de formularios siempre comienza con las lneas de control originales, etiquetadas H, D, B0 y F.
B0 significa Ruptura de nivel 0. El nivel cero rene todos los registros; ocurre despus de que se imprimen todos los
registros. Las lneas de control de ruptura adicionales se designan con nmeros. Una lnea de control etiquetada B1
significa Ruptura de nivel 1.
Una ruptura de nivel 1 ocurre despus de la impresin de los registros agrupados por el primer campo de ordenacin.
Etiqueta Descripcin Imprime despus de los grupos creados por:
B1 Ruptura de nivel 1 Primer campo de ordenacin
B2 Ruptura de nivel 2 Segundo campo de ordenacin
B3 Ruptura de nivel 3 Tercer campo de ordenacin
H significa Encabezado, el cual se imprime en la parte superior de cada pgina. Las lneas de control adicionales de
encabezados estn asociadas con rupturas. H1 significa Encabezado de nivel 1. Un encabezado de nivel 1 se
imprime justo antes del grupo de registros creado por el primer campo de ordenacin.
Etiqueta Descripcin Imprime antes de los grupos creados por:
H1 Encabezado de nivel 1 Primer campo de ordenacin
H2 Encabezado de nivel 2 Segundo campo de ordenacin
H3 Encabezado de nivel 3 Tercer campo de ordenacin
Las lneas de control adicionales se crean manteniendo presionada la tecla Alt (Windows) u Opcin (Mac OS) mientras
hace clic en el marcador de control apropiado. Utilice una lnea de control de ruptura para crear un rea de ruptura al
nivel correspondiente. Utilice una lnea de control de encabezado de ruptura para crear un rea de encabezado de
ruptura al nivel correspondiente.
Si utiliza la funcin Subtotal para inicializar el proceso de rupturas, debe crear un rea de ruptura para cada nivel de
ruptura generado por la ordenacin, menos uno. Si no necesita imprimir nada en una de las reas de ruptura, puede
reducir su tamao a nada colocando su marcador sobre otra lnea de control. Si tiene ms niveles de ordenacin que
reas de ruptura, la ltima rea de ruptura se repetir durante la impresin.
La siguiente imagen muestra lneas de control adicionales:

Eliminar lneas de control

Para borrar las lneas de control de las reas de encabezado y de ruptura que haya creado, mantenga presionada la
tecla Ctrl (Windows) o Comando (Mac OS) luego haga clic en ruptura, encabezado de ruptura o etiqueta de la lnea de
control a borrar.
4D borra la lnea de control, si es necesario, renumera las lneas restantes. No puede borrar las lneas de control
- 439 -
originales H, D, B0 y F.

- 440 -
Un ejemplo de informe

Esta seccin describe un ejemplo de informe y muestra cmo el informe final est relacionado al formulario tal como
est definido en el editor de formularios y a los mtodos que controlan la impresin.
La siguiente imagen muestra un informe final:

En este ejemplo, la pgina encabezado contiene la fecha, la hora y el ttulo del informe. Los encabezados de ruptura
contienen el nombre del cliente y los encabezados de columna la informacin presentada durante la primera ruptura. Las
reas de detalle contienen los datos extrados directamente de los registros. Las reas de ruptura de nivel 2 contienen
subtotales de productos vendidos a cada cliente. Las reas de ruptura de nivel 1 contienen subtotales para cada cliente
y el rea de ruptura de nivel 0 contiene el total de ventas. El pie de pgina contiene el nmero de pgina.
El informe est ordenado en un nivel ms que los niveles de ruptura. En este informe, los campos de clasificacin son
Cliente, Producto y Fecha.

El formulario de informe

La siguiente imagen representa el formulario utilizado para el informe tal como aparece en el editor de formularios:

- 441 -
Cada lnea de control en el formulario define el lmite inferior de su rea. Todo lo que est ubicado en el formulario se
imprime en el lugar adecuado en el informe. El rea de encabezado contiene los elementos que se imprimirn en la
parte superior de cada pgina, el rea de detalle contiene los elementos que se imprimirn para cada registro, etc.
La siguiente tabla muestra lo que significa cada una de estas lneas de control:
Etiqueta Significado Efecto
H rea de encabezado Impreso una vez en la parte superior de cada pgina
rea de encabezado
H1 Impreso una vez antes de cada ruptura de nivel 1
de nivel 1
rea de encabezado
H2 Impreso una vez antes de cada ruptura de nivel 2
de nivel 2
D rea de detalle Impreso una vez para cada registro en la seleccin
rea de ruptura de nivel Impreso una vez en cada ruptura de nivel 2 (cuando el valor en el segundo
B2
2 campo ordenado cambia)
rea de ruptura del Impreso una vez en cada ruptura de nivel 1 (cuando el valor en el primer campo
B1
nivel 1 ordenado cambia)
rea de ruptura del
B0 Impreso una vez al final del informe
nivel 0
F rea de pie de pgina Impreso una vez al final de cada pgina

Los mtodos de objeto del informe

Los objetos no editables ubicados en las reas de encabezado, ruptura y pie de pgina son controlados por los
mtodos de objeto.
Nota: el siguiente cdigo slo puede utilizarse en mtodos de objeto y de formulario. No puede utilizarse en mtodos
de proyecto.
La fecha es extrada del sistema por una variable, llamada vFecha, a la que est asociado el siguiente mtodo:

vFecha:=Current date

La hora es extrada del sistema por una variable, llamada vHora, a la que est asociado el siguiente mtodo:

vHora:=Current time

El subtotal de ventas para el rea de ruptura de nivel 2 se calcula y muestra en un objeto llamado vVentasProd asociado
al siguiente mtodo:

- 442 -
vVentasProd:=Subtotal([Productos]Precio)

El subtotal de ventas para el rea de ruptura de nivel 1 se calcula y muestra en un objeto llamado vVentasClient
asociado al siguiente mtodo:

vVentasClient:=Subtotal([Productos]Precio)

El total de ventas para el rea de ruptura de nivel 0 se calcula y muestra en un objeto llamado vVentas:

vVentas:=Subtotal([Productos]Precio)

Note que aunque los tres objetos utilizan el mismo clculo, los resultados son diferentes porque estn ubicados en
diferentes reas de ruptura, se ejecutan en momentos diferentes y los clculos se realizan para diferentes grupos de
registros. Para mayor explicacin sobre los niveles de ruptura, consulte la seccin Formularios de informes
impresos.

vNumPag:="Pgina "+String(FORM Get current page)

La funcin FORM Get current page devuelve el nmero de pgina.

- 443 -
Imprimir reas de tamao variable

Puede utilizar subformularios, campos tipo imagen y texto en un informe. Estos objetos pueden definirse de manera que
se impriman con un marco fijo o variable. Los objetos con un marco fijo se imprimen dentro de los lmites del objeto
definidos durante la creacin del formulario. Los objetos con marco variable se expanden si es necesario durante la
impresin para incluir todos los contenidos del objeto.
No puede ubicar ms de un objeto con un marco variable lado a lado en un formulario. Puede ubicar objetos de marco
no variable en cualquier lado de un objeto que se imprimir con un marco variable si el objeto de marco variable es por
lo menos una lnea ms largo que el objeto del lado y todos los objetos estn alineados en la parte superior. De lo
contrario, durante la impresin, los contenidos de los otros campos se repetirn para cada parte horizontal del objeto de
marco variable.
No es posible colocar objetos de un lado o del otro de un subformulario de marco variable.
Puede colocar los objetos de marco variable en las reas de detalle nicamente.

Imprimir reas de subformulario

Generalmente se utiliza un formulario de salida para imprimir los registros de un subformulario.


Para definir las opciones de impresin de un subformulario, despliegue las propiedades del subformulario en la Lista de
propiedades y despliegue el tema Impresin.
Como puede haber ms registros de los que pueden ajustarse al rea de subformulario, 4D ofrece las siguientes tres
opciones para controlar la impresin de registros de subformularios:
Variable: 4D expande o contrae el rea del subformulario para imprimir todos los registros.
Fijo (truncado): 4D imprime slo los registros que se ajustan en el rea del subformulario. El formulario se
imprime una sola vez y se ignoran los registros no impresos.
Fijo (mltiples registros): el marco permanece del mismo tamao, pero 4D imprime el formulario varias veces
para incluir todos los registros.
Nota: no puede ubicar objetos en cualquier lado de un subformulario de marco variable. Los objetos ubicados a los
lados del subformulario se repetirn para cada lnea del subformulario.
Para mayor informacin sobre las opciones de subformularios, consulte Subformularios lista.

Imprimir objetos de tipo imagen

Las imgenes pueden imprimirse con marcos fijos o variables si su formato de salida lo permite. Slo los formatos de
salida siguientes permiten configurar la propiedad de impresin en tamao variable:
Truncado (centrado)
Imagen de fondo
Truncado (no centrado).
Para mayor informacin sobre estos formatos de imagen, consulte la seccin Formatos de salida.
Para definir una opcin de impresin de imagen, despliegue las propiedades del campo o de la variable imagen en la
Lista de propiedades y despliegue el tema Impresin. Seleccione la opcin Impresin tamao variable de acuerdo a
sus necesidades especficas:
Si selecciona esta opcin, la imagen se imprimir a una altura que tiene en cuenta el tamao. El marco de la
imagen se extender si es necesario durante la impresin para mostrar la totalidad de la imagen.
Si no marca esta opcin, la imagen se imprimir a una altura fija (definida en el formulario).

Imprimir objetos de tipo texto

Los campos de tipo texto pueden imprimirse con marco de tipo variable o fijo. Las opciones de impresin de los
campos de tipo texto son seleccionadas de la misma manera que las de los campos de tipo imagen.
En el editor de formularios, despliegue las propiedades del campo tipo texto en la Lista de propiedades. En el tema
Impresin, seleccione o no la opcin Marco de impresin variable de acuerdo a sus necesidades especficas:
Si marca esta opcin, el texto se imprimir a una altura que tiene en cuenta su tamao. El campo tipo texto se
- 444 -
extender automticamente durante la impresin de manera que se imprima todo el texto que contenga.
Si no marca esta opcin, el texto se imprimir a una altura fija (definida en el formulario).

- 445 -
Crear documentos de fusin de correo

Puede manejar las tareas de fusin de correos utilizando un formulario de salida que integre los campos, las etiquetas
de campos o tablas o variables en un rea de texto esttica. Puede crear documentos idnticos excepto por los
nombres, las direcciones y todo clculo que quiera realizar.
Los documentos de fusin de correos son muy tiles para anunciar una oferta especial o informar a sus clientes sobre el
desarrollo de un negocio (como un cambio de direccin o un cambio importante de personal). Otro uso tpico de la
fusin de correos es para informar a los clientes que no han realizado sus pagos a tiempo. Puede crear una variable y
un mtodo para calcular la cantidad exacta.
Cuando cree un formulario para hacer fusin de correos, utilice la opcin Formulario de impresin detallado en la
lista desplegable de tipos de formulario del asistente de creacin de formularios. En el editor de formularios, cree un
rea de texto que contendr el texto esttico y los campos, las variables o las etiquetas de campos o tablas que
cambiarn para cada registro. Luego entre los campos o variables en el rea texto. Durante la impresin, los valores de
los campos o variables se insertan en el texto.
La siguiente imagen muestra los campos y las variables integradas en el rea de texto.

Para crear un formulario de salida para fusin de correos, especifique un formulario de tipo "impresin detallada". En el
rea Detalle, aada una o ms reas de texto esttico.
En el rea de texto, escriba el texto que quiere en su carta, colocando los nombres de las variables y de los campos
entre los signos menor que (<) y mayor que (>).
Puede utilizar un campo de cualquier tabla de la base. Para los campos de la tabla actual no tienen que especificar el
nombre de la tabla; pueden introducirse como: <campo>. Los campos de otras tablas deben especificar el nombre de la
tabla as: <[nombre de la tabla] campo>. Cuando se imprime el formulario, la informacin del campo para cada registro
reemplaza al elemento <campo> en el rea de texto.
Para insertar las etiquetas de tablas, introduzca: <?[Nombre de la tabla]> o <?[N]> donde N es el nmero de orden de
creacin de la tabla. Para insertar las etiquetas de campos, escriba: <?[Nombre de la tabla]Nombre del campo> o <?
[X]Y> donde X es el nmero de orden de creacin de la tabla y Y es el nmero orden de creacin del campo o <?Y>
para insertar un campo de la tabla actual. Para mayor informacin, consulte [#title id="669"/].
El valor de cada variable debe ser asignado por un mtodo de objeto o de formulario.
Puede especificar la manera como se mostrar un campo o variable insertando un punto y coma seguido por un formato
de salida (ver GET LIST ITEM PARAMETER) despus del nombre del campo o variable. Por ejemplo, el documento
de fusin de correos mostrado anteriormente incluye un formato de salida para la variable vTotal. La variable
- 446 -
<vTotal;$###,##0.00> calcula el monto del bono de la persona y lo muestra en un formato adecuado.
4D proporciona un atajo para insertar campos en un rea de texto. El atajo le permite elegir el campo de una lista
desplegable. Para hacer esto, haga clic con la herramienta texto para ubicar el cursor donde quiere ubicar el campo y
luego ubique el cursor en el rea de texto y mantenga presionada la tecla Alt (Windows) u Opcin (Mac OS) mientras
presiona el botn del ratn.
4D muestra un men pop-up que contiene los campos de la tabla actual a partir del cual puede seleccionar el campo
que quiere.
Para elegir un campo de otra tabla de la base de datos, mantenga presionada las teclas Mays + Alt (Windows) o
Mays - Comando (Mac OS) mientras mantiene presionado el botn del ratn. 4D muestra un men jerrquico de las
tablas y campos de la base de datos. Puede elegir la tabla y el campo que quiera.

4D inserta <Campo> o <[tabla]campo> en el rea de texto en el punto de insercin.


Cuando se imprime la carta, aparecen los valores de los campos y las variables integradas en la carta para cada
registro:

- 447 -
Crear etiquetas

Puede generar etiquetas con el Editor de etiquetas o con un formulario lista personalizado. Si utiliza un formulario,
tiene ms opciones de personalizacin. En particular, puede utilizar el editor de formularios para insertar variables en
sus etiquetas.
Una vez cree un formulario de etiquetas en el editor de formularios de 4D, puede utilizarlo de dos maneras:
Utilizando el comando PRINT LABEL
La instruccin PRINT LABEL ([miTabla]) causa la impresin de la seleccin actual de la tabla en el formulario
listado actual. En este caso, 4D utiliza los marcadores (ancho y alto) de este formulario para definir el formato de
etiquetas.
Utilizando el editor de etiquetas
Esta operacin le permite beneficiarse de las funciones avanzadas del editor de formularios y de los parmetros
de configuracin del editor de etiquetas.
El editor de etiquetas tiene en cuenta nicamente la posicin absoluta de los objetos presentes en el formulario y
de las posibles mrgenes definidas. La posicin de los marcadores se ignora.

Utilizar el comando PRINT LABEL

Para crear un formulario de etiquetas e imprimir utilizando el comando PRINT LABEL:


1. Defina el ancho de las etiquetas arrastrando el marcador de ancho situado en la regla horizontal del editor de
formularios.
El marcador de ancho determina cuantas etiquetas imprimir el comando PRINT LABEL a lo ancho de la pgina.
La ubicacin del marcador de ancho debe corresponder al ancho de sus etiquetas. Asegrese de tener en cuenta
las mrgenes izquierda y derecha de sus etiquetas.
Puede determinar estas mrgenes calculando el espacio entre cada etiqueta y dividiendo este nmero en dos.

Nota: puede cambiar las unidades de la regla en el formulario para facilitar la ubicacin adecuada del marcador
de ancho de etiqueta. Para cambiar las unidades de la regla, elija Definir unidades... en el men Formulario.
2. Inserte y defina los objetos que conforman cada etiqueta.
Las etiquetas pueden contener campos y objetos activos (con los cuales pueden asociar mtodos), as como
tambin objetos grficos y texto esttico. Un subformulario no puede imprimirse en una etiqueta.

- 448 -
Esta etiqueta contiene variables (objetos activos) cuyos valores son calculados por mtodos de objeto. Por
ejemplo, el mtodo de la variable NombreCompleto concatena el nombre y apellido de cada
persona y coloca un espacio entre los dos:

NombreCompleto:=[Clientes]Nombre+" "+[Clientes]Apellido

3. Ubique los objetos en el formulario con respecto al marcador de ancho.


Los elementos de la etiqueta deben ubicarse a la izquierda del marcador de ancho. Deben centrarse entre el
borde izquierdo del formulario y el marcador para que el espacio a cada lado de la etiqueta sea el mismo.
4. Defina las lneas de control de manera que la lnea de control de encabezado est sobre la etiqueta y las lneas de
control de detalle, ruptura y pie de pgina debajo de la etiqueta.
La lnea de control de encabezado debe definirse a cero centmetros y la lnea de control de detalle debe definirse
a la altura de la etiqueta. Para centrar el texto dentro de la etiqueta, centre los elementos del formulario entre la
lnea de control de encabezado y la lnea de control de detalle.

Cuando imprima las etiquetas, todo lo que est entre las lneas de control de encabezado y de detalle aparece en
las etiquetas.
5. Guarde el formulario e imprima la seleccin utilizando el comando PRINT LABEL.

Utilizar el editor de etiquetas

Para crear un formulario de etiquetas e imprimir utilizando el editor de etiquetas:


1. En el formulario, inserte y defina los objetos que constituyen cada etiqueta.
2. Ubique cada elemento en la etiqueta de acuerdo a los siguientes principios:
las mrgenes izquierda y superior de cada etiqueta son determinadas por la posicin de los elementos con
respecto a las coordenadas (0,0) del formulario.
Las mrgenes derecha e inferior de cada etiqueta son determinadas por los valores Margen horizontal y
Margen vertical definidos en la lista de propiedades del formulario.

- 449 -
3. Seleccione la tabla del formulario de etiquetas en la ventana Lista de tablas para volverlo el formulario de salida
actual para la tabla.
Si la ventana Lista de tablas no est desplegada, elija el comando Lista de tablas en el men Registros.
4. Elija el comando Etiquetas en el men Utilidades.
Aparece el editor de etiquetas.
5. Elija el formulario de etiquetas que design de la lista desplegable Formulario a usar.
4D utilizar este formulario para imprimir las etiquetas.

6. Realice otros cambios en el editor de etiquetas, tales como la definicin de las mrgenes de las etiquetas o
especificar la fuente del texto.
Para mayor informacin sobre el editor de etiquetas, consulte Editor de etiquetas.
7. Haga clic en el botn Imprimir.
4D imprime la seleccin actual de registros en su formulario de etiquetas.

- 450 -
Formularios de usuario

Presentacin de los formularios usuario (modo Aplicacin)


El editor de formularios de usuario
Visualizacin y edicin de objetos
Orden de entrada de los datos
Utilizar una librera de objetos

- 451 -
Presentacin de los formularios usuario (modo Aplicacin)

En 4D, el desarrollador puede permitir a los usuarios modificar ciertos formularios de la base de datos, por ejemplo,
para crear informes personalizados, aadir un logo especfico o ms generalmente para adaptar los formularios a sus
necesidades especficas. Una vez guardado, el formulario de usuario se substituye por el formulario original en el
equipo del usuario y puede utilizarse como cualquier otro formulario de 4D.
Las posibilidades de modificacin se refieren principalmente a los aspectos grficos. Por ejemplo, el usuario no puede
aadir mtodos de objeto, variables o campos. Sin embargo, puede cambiar el orden de entrada o aadir objetos
activos de una librera de objetos. Las posibilidades son definidas de antemano por el desarrollador en el editor de
formularios del entorno Diseo.
Los mecanismos para establecer este sistema por parte del desarrollador (Entorno Diseo) se describen en la seccin
Formularios de usuario del manual Lenguaje de 4D.

Este captulo describe el funcionamiento del editor de formularios de usuario en modo Aplicacin.

- 452 -
El editor de formularios de usuario

El editor de formularios de usuario aparece para un formulario cuando se ejecuta el comando EDIT FORM, si la
propiedad Modificable por el usuario fue seleccionada para el formulario (ver la seccin Propiedades de los
formularios). Por lo general, este editor se llama desde la configuracin de la base o por un comando de
personalizacin.
La ventana del editor aparece de esta manera:

Este editor utiliza la interfaz del editor de formularios estndar de 4D, en particular el concepto de las dos barras
integradas (herramientas y objetos). Igualmente tiene sus propias funciones especficas.
Cuando se muestra el editor, slo es posible acceder al men Edicin de la barra de mens. No obstante es posible
mostrar una Lista de propiedades simplificada as como tambin un men contextual.
Los mecanismos de seleccin y de desplazamiento de objetos (cuando se permiten) son idnticos a los del editor de
formularios estndar de 4D.
Para una descripcin del editor de formularios estndar de 4D, consulte El editor de formularios.

Barra de herramientas

La barra de herramientas contiene los siguientes elementos:

Versin anterior: vuelve a la ltima versin guardada del formulario. Cuando hace clic en este botn,
aparece una caja de dilogo de alerta que le permite cancelar o confirmar la operacin.
Guardar: guarda los cambios efectuados en el formulario de usuario.
Configurar pgina e Imprimir: estos dos comandos permiten configurar e iniciar la impresin del
formulario de usuario.
Visualizar: permite seleccionar los elementos a visualizar y a ocultar en el editor utilizando un men
desplegable:
Pgina 0: muestra u oculta los objetos de la pgina 0 en la pgina actual del formulario. Esta opcin le
permite distinguir entre los objetos en la pgina actual del formulario y los de la pgina 0. En un formulario
multipginas, la pgina 0 contiene los objetos mostrados en todas las pginas.
Papel: muestra u oculta los bordes de la pgina de impresin como lneas grises. Esta opcin puede no
tener un efecto aparente cuando la opcin Lmites (ver ms adelante) est seleccionada. Si el tamao del
formulario es inferior al de la pgina de impresin, los bordes de la pgina se muestran fuera del rea de
visualizacin del formulario y por lo tanto no aparecen.
Reglas: muestra u oculta las reglas de la ventana del editor de formularios.
Marcadores: muestra u oculta las lneas de control de salida y los marcadores asociados que muestran los
lmites de las diferentes reas del formulario (encabezado, cuerpo, pie de pgina). Los marcadores se
utilizan principalmente en formularios de salida.
Lmites: muestra u oculta los lmites del formulario. Cuando se selecciona est opcin, el formulario se
- 453 -
muestra en el editor con sus dimensiones finales.

Librera: permite cargar la librera de objetos que puede utilizarse con el formulario (si la hay) (ver Crear y
utilizar las libreras de objetos personalizadas).
Flecha de seleccin: permite seleccionar, mover y redimensionar los objetos del formulario.
Orden de entrada: pasa a modo Orden de entrada, donde es posible ver y cambiar el orden de entrada
actual del formulario (ver Modificar el orden de entrada de los datos)
Desplazamiento: pasa a modo Desplazamiento, donde es posible alcanzar rpidamente cualquier parte
del formulario utilizando arrastrar y soltar en la ventana. El cursor toma la forma de una mano. Este modo de
desplazamiento es til particularmente cuando se hace zoom en el formulario.
Zoom: permite modificar el porcentaje de visualizacin del formulario (100% por defecto). Puede
pasar a modo Zoom haciendo clic en la lupa o haciendo clic directamente en la barra que quiera.
Cuando hace clic en este botn, el cursor toma la forma de una lupa . Para aumentar el porcentaje de zoom un
nivel, haga clic dentro del formulario. Para reducir el porcentaje de zoom un nivel, presione Mays (el cursor se
transforma en ) y haga clic en el formulario.
Alinear: este botn est asociado a un men que permite alinear objetos en el formulario. Para que este
men est activo, deben seleccionarse por lo menos dos objetos en el formulario.
Distribuir: este botn est asociado a un men que le permite distribuir objetos en el formulario. Para que
este men est activo, deben seleccionarse por lo menos tres objetos en el formulario.
Plano: este botn est asociado a un men que permite cambiar el plano de los objetos en el formulario.
Mostrar pginas: esta rea permite pasar de una pgina del formulario a otra. Para hacer esto,
haga clic en los botones flecha o haga clic en el rea central y elija la pgina a mostrar en el men que aparece.
No es posible aadir pginas en el editor de formularios de usuario.

Barra de objetos

La barra de objetos del editor de formularios de usuario le permite aadir varios objetos grficos al formulario: Texto
(este objeto debe seleccionarse para modificar los contenidos de los objetos de texto esttico), rea de grupo,
Rectngulo, Lnea, Rectngulo redondeado, valo, Matriz.

Para crear un objeto en el formulario, seleccione el botn correspondiente y luego ubique el objeto en el formulario.

- 454 -
Visualizacin y edicin de objetos

El usuario puede ver y editar las propiedades de los objetos presentes en el formulario utilizando una Lista de
propiedades simplificada. Para mostrar la lista, simplemente haga doble clic en el objeto o elija el comando Lista de
propiedades en el men contextual del editor (clic derecho).

Slo las propiedades modificables por el usuario se muestran en la Lista de propiedades.


Para los objetos grficos aadidos por el usuario utilizando la barra de objetos, estn disponibles todas las
propiedades asociadas al tipo de objeto.
Para los objetos del formulario original, se deben cumplir dos condiciones para que una propiedad sea editable
en el editor de formularios de usuario:
la propiedad debe pertenecer a un conjunto de propiedades que pueden declararse editables para el objeto
o el formulario. Por ejemplo, las propiedades relacionadas con la gestin de eventos de formulario o
arrastrar y soltar nunca son modificables por el usuario. En el editor de formularios del entorno Diseo, los
temas de propiedades modificables se representan con un icono de candado en la Lista de propiedades
(ver la seccin Modificable por el usuario en Propiedades de los formularios).
El tema de propiedades debe haber sido declarado explcitamente como modificable por el desarrollador
para el objeto o el formulario. Para esto, el desarrollador debe haber hecho clic en el candado en la Lista de
propiedades en el entorno Diseo para desbloquearlo :

Las propiedades desbloqueadas se vuelven accesibles al usuario en el editor de formularios de usuario:

- 455 -
Este principio funciona igualmente para otras acciones posibles en el formulario usuario: por ejemplo, si el tema
Coordenadas y dimensiones est desbloqueado, el usuario podra mover el objeto utilizando el ratn o el teclado.

Comandos del men edicin

Slo el men Edicin est activo cuando la ventana del editor de formularios usuarios se muestra en modo Diseo.
Cuando utilice interfaces personalizadas en el entorno Aplicacin, el men Edicin es accesible si los comandos que
contiene son manejados utilizando acciones estndar.
Todos los comandos de edicin (Cortar, Copiar, Pegar, Borrar, Seleccionar todo) sin restricciones con los objetos
aadidos por el usuario.
Por otra parte, por razones de consistencia, el usuario nunca est autorizado para suprimir un objeto del formulario
original. El uso de los comandos Cortar, Borrar o de las teclas Del o Retroceso hace que aparezca una caja de
dilogo de alerta informando al usuario que esta accin no est permitida.

Men Contextual

Varios comandos son accesibles va el men contextual del editor de formularios de usuario. No es posible controlar los
contenidos de este men.

Hacer clic fuera de los objetos


Cuando el usuario hace clic fuera de los objetos, los comandos globales de visualizacin y edicin del editor de
formularios estn disponibles: lista de propiedades, activar la rejilla magntica y mostrar:

Activar la rejilla magntica: la rejilla magntica le ofrece una ayuda visual para la alineacin y distribucin de los
objetos en el formulario.
La rejilla magntica funciona de esta forma: cuando arrastra y suelta un objeto en el formulario, 4D indica las
ubicaciones posibles para este objeto basado en las alineaciones relativas a otros objetos del formulario:
horizontalmente cuando los bordes o centros de dos objetos coinciden,
verticalmente, cuando los bordes de dos objetos coinciden.
En este momento, 4D coloca el objeto en la ubicacin y muestra una lnea roja indicando la alineacin que se tiene
en cuenta:

- 456 -
Alineacin con los bordes superiores

Alineacin con los centros

En lo concerniente a la distribucin de objetos, 4D propone una distancia basada en los estndares de interfaz.
Como para la alineacin magntica, las lneas rojas indican las diferencias notables una vez se alcanzan.
Nota: es posible activar o desactivar manualmente la rejilla magntica cuando un objeto est seleccionado
presionando la tecla Ctrl (Windows) o Control (Mac OS).

Mostrar: este men tiene los mismos elementos que el botn Mostrar en la barra de herramientas del editor (ver
El editor de formularios de usuario).
Hacer clic en un objeto
Cuando el usuario hace clic en un objeto, los comandos grficos estn disponibles (color, alineacin, etc.).

El acceso a estos comandos puede ser restringido para los objetos que pertenecen al formulario original, dependiendo
del tipo de objeto en el que el usuario haga clic como tambin de los parmetros definidos por el desarrollador en el
editor de formularios.
Color: muestra dos paletas que le permiten modificar los colores del primer plano y del fondo del objeto.
Alinear: permite acceder a los comandos de alineacin y de distribucin de objetos. Los comandos de alineacin
slo estn activos si al menos dos objetos movibles estn seleccionados. Los comandos de distribucin slo
estn activos si al menos tres objetos movibles estn seleccionados.
Estilo del borde: permite modificar el estilo del borde de los objetos seleccionados. Estos son ejemplos de los
estilos disponibles:

Ninguno / Plano / Punteado / Elevado / Profundo / Doble


Tamao automtico: esta opcin permite redimensionar los objetos de texto y las imgenes para obtener una
visualizacin ptima teniendo en cuenta las caractersticas grficas actuales (tamao de la fuente, estilo, etc.) o
mostrarlos en su tamao original (imgenes). Puede obtener el mismo resultado presionando Ctrl (Windows) o
Comando (Mac OS) + clic en la esquina inferior derecha del objeto.
Nivel: utilizado para cambiar el plano de los objetos.
Seleccionar objetos similares: permite seleccionar todos los objetos del mismo tipo que el objeto seleccionado.

- 457 -
Orden de entrada de los datos

El orden de entrada de los datos es el orden en el cual los campos, subformularios y otros objetos activos se
seleccionan a medida que presiona la tecla Tab en un formulario.
Nota: para mayor informacin sobre el orden de entrada de datos por defecto en los formularios, consulte Modificar el
orden de entrada de los datos.
En algunos casos, puede ser necesario modificar el orden de entrada de los datos de un formulario, por ejemplo cuando
aade uno o ms objetos y quiere incluirlos en un orden ms lgico.

Visualizar y modificar el orden de entrada

Para ver el orden de entrada actual de un formulario, haga clic en el botn Orden de entrada en la barra de
herramientas del editor de formularios de usuario:
El orden de entrada actual aparece de esta forma:

Para cambiar el orden de entrada, ubique el puntero sobre un objeto, mientras mantiene presionado el botn del
ratn, arrastre el puntero hacia el objeto que quiere que siga en el orden de entrada. 4D ajusta el orden de entrada
como corresponde..
Cuando est satisfecho con el orden de entrada, haga clic en el botn Orden de entrada de la barra de
herramientas.

Definir el primer objeto del orden de entrada de datos

Todos los objetos editables forman parte del orden de entrada de datos. Para definir el primer objeto del orden de
entrada, debe estar desactivado el modo Orden de entrada.
Para definir el primer objeto del orden de entrada:
1. Seleccione el objeto que quiere definir como primer objeto del orden de entrada y pselo al fondo.
Puede utilizar el comando Nivel> Enviar al fondo en el men contextual o el comando correspondiente del botn
de la barra de herramientas del editor. El objeto se ubicar temporalmente al fondo del formulario.
2. Haga clic en el botn Orden de entrada de la barra de herramientas .
El objeto seleccionado se convierte en el primer objeto del orden de entrada y el que era el primer objeto del orden
- 458 -
de entrada pasa a ser el segundo. Despus puede definir objeto por objeto la secuencia del orden de entrada que
quiera.
3. Cuando haya terminado de definir el orden de entrada, haga clic nuevamente en el botn Orden de entrada de la
barra de herramientas.
4D vuelve al modo de funcionamiento normal del editor de formularios. El objeto que seleccion para ser el
primero en el orden de entrada regresa a su ubicacin anterior (ya no est al fondo del formulario).

Utilizar un grupo de entrada de datos

Mientras cambia el orden de entrada de datos, puede seleccionar un grupo de objetos en un formulario con el fin de que
el orden de entrada estndar aplique a los objetos del grupo. Esto le permite definir fcilmente el orden de entrada de
los datos en formularios en los cuales los campos estn organizados en grupos o columnas.
Para crear un grupo de entrada:

1. Haga clic en el botn Orden de entrada de la barra de herramientas .


2. Dibuje un rectngulo de seleccin alrededor de los objetos que quiere agrupar para la entrada de datos.
Cuando libere el botn del ratn, los objetos en el rectngulo o tocados por el rectngulo siguen el orden de
entrada por defecto. El orden de entrada de datos para los objetos restantes se ajusta como sea necesario.

Restablecer el orden de entrada estndar

Puede restablecer el orden de entrada estndar en cualquier momento.

1. Haga clic en el botn Orden de entrada de la barra de herramientas .


2. Dibuje un rectngulo de seleccin alrededor de todos los objetos del formulario.
Cuando libera el botn del ratn, 4D restablece el orden de entrada estndar para todos los objetos dentro del
rectngulo o tocados por el rectngulo.

- 459 -
Utilizar una librera de objetos

Es posible utilizar una librera de objetos con cada formulario de usuario que est siendo modificado. Una librera de
objetos es un archivo externo creado por 4D en el entorno Diseo. El cual permite almacenar todo tipo de objetos que
pueden utilizarse en formularios: botones, textos, imgenes, listas jerrquicas, etc. Las libreras se constituyen y utilizan
por un simple arrastrar y soltar o copiar y pegar desde los formularios 4D. De alguna forma son como portapapeles
permanentes. Las libreras de objetos se describen en Crear y utilizar las libreras de objetos personalizadas.
Los objetos se almacenan con todas sus propiedades y acciones automticas. En el editor de formularios de usuario no
es posible utilizar objetos con mtodos de objeto asociados. Slo los objetos que no tengan mtodos de objeto
asociados sern visibles en la librera desde el editor de formularios de usuario.
El desarrollador designa la librera asociada al formulario utilizando el ltimo parmetro del comando EDIT FORM el
cual muestra el formulario de usuario. Si este parmetro es valido, la librera puede mostrarse y utilizarse con el
formulario usuario. Para abrir la librera, el usuario debe hacer clic en el icono correspondiente en la barra de
herramientas del editor:
Se muestra la ventana de la librera:

Note: una librera de objetos puede contener hasta 32 000 elementos.


El usuario puede aadir objetos al formulario arrastrando y soltando o copiando y pegando desde la librera. Todas las
propiedades de los objetos insertados de la librera son automticamente accesibles a los usuarios (coordenadas,
dimensiones, apariencia, etc.).
Cada librera de objetos tiene un men contextual que permite acceder a los comandos de edicin bsicos. En el editor
de formularios de usuario, slo est disponible el comando Copiar. Adems, no es posible para el usuario borrar,
renombrar o aadir objetos en la librera.

- 460 -
Editar mtodos

Presentacin de los mtodos


Gestin de mtodos
Propiedades de los mtodos proyecto
Editor de mtodos
Escribir un mtodo
Crear y utilizar macros
Buscar y reemplazar en mtodos
Ejecutar mtodos

- 461 -
Presentacin de los mtodos

Es posible asociar un mtodo a un objeto 4D para especificar la accin del objeto. Un mtodo es una serie de
instrucciones que realizan automticamente una accin. Por ejemplo, puede utilizar los mtodos para:
reforzar las reglas de su base de datos durante la entrada de datos,
calcular los valores para los campos y las variables,
administrar los elementos de la interfaz tales como los combo box, las listas jerrquicas y las pestaas,
administrar acciones de arrastrar y soltar,
asignar acciones a comandos de mens personalizados,
crear y manejar procesos mltiples,
administrar transacciones,
administrar informes personalizados,
Regular el acceso de una base multiusuario.
Puede crear cinco tipos diferentes de mtodos:
Mtodos de objeto, asociados a objetos individuales del formulario,
Mtodos de formulario, asociados a formularios individuales,
Triggers, se ejecutan cuando eventos especficos intervienen a nivel del motor de la base de datos,
Mtodos de base de datos, se ejecutan automticamente cuando ocurren ciertos eventos relacionados con la
sesin de trabajo,
Mtodos de proyecto, pueden llamarse de diferentes formas.
Para mayor informacin sobre los tipos de mtodos, consulte Mtodos en el manual Lenguaje 4D.
Este captulo ofrece informacin sobre la utilizacin del editor de mtodos de 4D para crear y modificar mtodos. Para
mayor informacin sobre el lenguaje de programacin de 4D, consulte Presentacin del lenguaje en el manual
Lenguaje 4D, como tambin la descripcin de cada comando.

- 462 -
Gestin de mtodos

Crear y abrir mtodos

Los mtodos se crean utilizando el editor de mtodos. Este editor permite crear, probar y modificar todo tipo de
mtodo.
Esta seccin describe los diferentes modos de creacin y apertura de mtodos (mtodos de objeto, mtodos de
proyecto, triggers y mtodos de formulario).
Recuerde que en todas las aplicaciones ya se han creado mtodos de base vacos; slo debe abrirlos desde el
Explorador.
Nota 4D Server: el bloqueo de un objeto ocurre cuando dos o ms usuarios intentan modificar el mismo mtodo al
tiempo. Si un usuario abre un mtodo en el entorno Diseo, el mtodo se bloquea. Los otros usuarios no pueden
modificar este mtodo hasta que el primer usuario lo libere cerrando la ventana. Entre tanto, puede abrirse el mtodo en
modo slo lectura con el fin de leer o copiar ciertos elementos del mtodo.

Crear o abrir un mtodo objeto


Los mtodos de objeto se crean para un objeto de un formulario. Para comenzar debe ir al editor de formularios, con un
formulario en pantalla.
Para crear o abrir un mtodo de objeto en el editor de formularios:
1. Mantenga presionada la tecla Alt (Windows) o la tecla Opcin (Mac OS) y haga clic en el objeto.
O
Seleccione el objeto y luego elija el comando Mtodo de Objeto del men Objeto.
O
Haga clic derecho en el objeto y elija Mtodo del objeto en el men contextual.
O
En la Lista de propiedades, haga clic en el botn Editar...
Aparece una ventana del Editor de mtodos, la ventana estar vaca si acaba de crear el mtodo.

Crear o abrir un mtodo proyecto


Puede crear o abrir un mtodo de proyecto de varias formas.
Para crear un mtodo de proyecto a partir del men Archivo:
1. Elija Nuevo > Mtodo... en el men Archivo o utilizando el botn Nuevo de la barra de herramientas de 4D.
4D muestra la caja de dilogo Nuevo mtodo

2. Introduzca un nombre de mtodo.


Los nombres de mtodos pueden tener hasta de 31 caracteres, incluyendo letras, nmeros, espacios y el carcter
guin bajo (ver Convenciones en el manual de Lenguaje de 4D).
3. (Opcional) Seleccione una carpeta para almacenar el mtodo.
Si selecciona un nombre de carpeta, el mtodo se ubicar en esta carpeta.
Las carpetas pueden utilizarse para organizar los objetos de su aplicacin y se administran en Pgina Inicio del
Explorador. Por defecto, el mtodo se crea en el Nivel superior, es decir
fuera de las carpetas.
4. Haga clic en el botn Aceptar.
4D abre una ventana vaca del editor de mtodos donde puede comenzar a escribir el nuevo mtodo.
Para crear un mtodo de proyecto desde el Explorador:
1. Vaya a la Current form table del Explorador.
2. Seleccione el elemento Mtodos de proyecto.
3. Haga clic en el botn ms bajo la lista.
Aparece la caja de dilogo donde puede colocarle nombre al mtodo y asignarlo a una carpeta.
4. Introduzca el nombre del mtodo y haga clic en Aceptar.
- 463 -
Para abrir un mtodo de proyecto desde el men Archivo:
1. Elija Abrir > Mtodo... en el men Archivo.
Aparece la pgina Pgina Inicio del Explorador (ver abajo).

Para abrir un mtodo de proyecto desde el Explorador:


1. Vaya a la pgina Pgina Inicio del Explorador.
2. Despliegue el elemento Mtodos de Proyecto, luego seleccione el nombre del mtodo a abrir.
O
Seleccione el comando Modificar mtodo... en el men contextual, clic derecho en el nombre del mtodo a abrir.
El mtodo abre en una ventana del editor.
Para abrir un mtodo de proyecto desde el editor de mens:
1. En el Editor de mens, haga clic en el rea Nombre del mtodo de un elemento de la barra de mens actual.
Esta rea contiene el nombre del mtodo asociado al elemento seleccionado (en caso de que lo haya).
2. Haga clic en el botn de edicin a la derecha del men Nombre del mtodo.
El mtodo se muestra en una nueva ventana del editor de mtodos.
Para abrir un mtodo de proyecto desde una ventana del Editor de mtodos:

1. En el editor de mtodos, seleccione el nombre del mtodo de proyecto a abrir.


2. Elija Editar mtodo en el men contextual del editor o presione Ctrl+K (Windows) o Comando+K (Mac OS).
O:
Presione la combinacin Alt+doble clic (Windows) u Opcin+doble clic (Mac OS) directamente en el nombre
del mtodo de proyecto.
El mtodo se muestra en una nueva ventana del editor de mtodos. Si 4D no puede identificar el mtodo, se
muestra la Pgina Inicio del Explorador.

Crear o abrir un trigger


Puede crear un trigger utilizando un atajo en el Editor de estructura o directamente en el Explorador.
Para crear o abrir un trigger desde la ventana del Editor de estructura:
1. Mantenga presionada la tecla Alt (Windows) o la tecla Opcin (Mac OS) y haga doble clic en el ttulo de la tabla en
la ventana del editor de estructura.
O
En la ventana del editor que muestra las Propiedades de las tablas, haga clic en el botn Editar...
Aparece una ventana de Editor de mtodos, vaca si acaba de crear el trigger.

Para crear o abrir un trigger desde el Explorador:


1. Despliegue la Current form table de la ventana del Explorador y despliegue el elemento Triggers.
2. Seleccione la tabla que le interesa y haga clic en el botn ms situado debajo la lista.
O
Haga doble clic en la tabla que le interesa.
Aparece el trigger en una ventana del Editor de mtodos.

Crear o abrir un mtodo formulario


Los mtodos de formulario se pueden abrir desde la Current form table del Explorador o desde el El editor de
formularios.
Para crear o abrir un mtodo de formulario desde el Explorador:
1. Vaya a la Current form table del Explorador.
2. Expanda el elemento Mtodos de formularios de proyecto o Mtodos de formularios de tabla, dependiendo del
tipo de formulario que quiera abrir el mtodo.
3. (Formularios tabla nicamente): despliegue la tabla a la que pertenece el formulario.
4. Seleccione el formulario para el cual quiere abrir el mtodo.
5. Haga clic en el botn ms ubicado debajo de la lista.
O
Doble clic en el nombre del formulario.
El mtodo de formulario aparece en una ventana del Editor de mtodos.

Nota: tambin puede crear o abrir un mtodo de formulario desde la Pgina Formularios del Explorador: clic derecho
en el nombre del formulario y elija Modificar mtodo del formulario... en el men contextual.
Para crear o abrir un mtodo de formulario desde el editor de formularios:
1. Elija el comando Mtodo de formulario en el men Formulario.
- 464 -
O
Haga clic derecho en un rea vaca en el formulario y elija Mtodo del formulario en el men contextual.
O
En la Lista de propiedades, haga clic en el botn Editar... ubicado junto a la lnea Mtodo de formulario.

El mtodo de formulario aparece en una ventana del Editor de mtodos.

Borrar mtodos

Puede borrar en cualquier momento un trigger, mtodo de formulario o de proyecto utilizando el Explorador. Tambin
puede borrar un mtodo de objeto usando el editor de formularios.
Por el contrario, no es posible borrar mtodos de base de datos. Para desactivar este tipo de mtodo, borre todas las
instrucciones en el mtodo o pselas como comentarios utilizando el smbolo // (utilizado para diferenciar los
comentarios del cdigo ejecutable). Para mayor informacin sobre comentarios en mtodos, consulte el prrafo .
Borrar un mtodo de proyecto, un mtodo de formulario o un trigger
Para suprimir un mtodo de formulario, un mtodo de proyecto o un trigger utilizando el Explorador:
1. En el Explorador, vaya a la Current form table.
Asegrese de que la pgina Mtodos se vea bien, porque ciertas operaciones de supresin son irreversibles.
2. En la ventana del Explorador, expanda el tipo de mtodo que corresponda al mtodo que quiere borrar (Mtodos
de formulario proyecto, Mtodos de formularios tabla, Triggers o Mtodos de proyecto).
3. Seleccione el nombre de la tabla o del formulario al cual el mtodo que quiere borrar est asociado.
O
Seleccione el nombre del mtodo de proyecto que quiere borrar.
4. Haga clic en el botn de borrar ubicado en la parte inferior de la ventana del Explorador.
Nota: para borrar un mtodo de proyecto, tambin puede hacer clic derecho en el nombre del mtodo de proyecto y
elegir Suprimir mtodo en el men contextual.

Si borra un mtodo de formulario o un trigger, 4D muestra un mensaje de alerta pidindole confirmar la operacin.
Esta eliminacin ser definitiva.
Si borra un mtodo de proyecto, 4D efecta la operacin directamente. Sin embargo, esta supresin no es
definitiva siempre y cuando no vace la Papelera (para mayor informacin, consulte Pgina Papelera).

Borrar mtodos de objeto


Puede borrar mtodos de objeto utilizando el editor de formularios. En algunos casos, borrar los mtodos de objeto
innecesarios puede hacer la ejecucin de la base de datos ms rpida.
Para borrar un mtodo de objeto:
1. Vaya al formulario que contiene el o los mtodos que quiere suprimir.
2. Seleccione el o los objetos que tienen asociados los mtodos de objeto que quiere suprimir.
3. Elija el comando Suprimir mtodo del objeto del men Objeto.
4D borra los mtodos de objeto de los objetos seleccionados.
Nota: si borra un mtodo de objeto por error, seleccione Deshacer en el men Edicin.

Importar y exportar mtodos

Puede importar y exportar mtodos base, triggers, proyecto y objeto en forma de archivos. Estas funciones son
accesibles va los comandos del men Mtodo del Editor de mtodos.

Cuando selecciona el comando Exportar mtodo... aparece una caja de dilogo estndar de guardar archivos,
permitindole elegir el nombre, ubicacin y formato del archivo a exportar (ver ms adelante). Al igual que la
impresin, la exportacin no tiene en cuenta el estado contrado de las estructuras de cdigo, la totalidad del
cdigo se exporta.
Cuando selecciona el comando Importar mtodo... aparece una caja de dilogo estndar de abrir archivos,
permitindole designar el archivo a importar.
La importacin reemplaza el texto seleccionado en el mtodo. Para reemplazar un mtodo existente por un
mtodo importado, seleccione todo el contenido del mtodo antes de efectuar la importacin.
La funcin importar/exportar es multiplataforma: un mtodo exportado bajo Mac OS puede importarse bajo Windows y
viceversa; 4D se encarga de la conversin de caracteres cuando sea necesario.

Formatos de archivos de mtodos


- 465 -
4D puede exportar e importar los mtodos en dos formatos:
Mtodo 4D (extensin .c4d): en este formato, los mtodos se exportan en forma codificada. Los nombres de los
objetos se transforman en referencias (tokenized).
Este formato se utiliza particularmente para intercambiar mtodos entre aplicaciones 4D y plug-ins en diferentes
lenguajes. Por el contrario, no es posible visualizarlos en un editor de texto.
Texto (extensin .txt): en este formato, los mtodos se exportan en formato de texto nicamente. En este caso,
los mtodos son legibles utilizando un editor de texto estndar o una herramienta de control de fuentes.
Nota: por defecto, a partir de 4D v15, todas las versiones de 4D comparten el mismo lenguaje y la misma
configuracin de entrada para nmeros reales y las fechas, lo que facilita el intercambio de cdigo entre los
desarrolladores va copiar/pegar o al exportar mtodos. An es posible utilizar la configuracin local (como en las
versiones anteriores de 4D) marcando la opcine Utilizar configuracin del sistema regional en las
preferencias de 4D (ver la seccin Pgina Mtodos).

- 466 -
Propiedades de los mtodos proyecto

Despus de crear un mtodo de proyecto, puede renombrarlo y modificar sus propiedades. Las propiedades de los
mtodos de proyecto definen principalmente las condiciones de acceso y de seguridad: acceso de los usuarios como
tambin acceso para los servidores integrados o los servicios.
Los otros tipos de mtodos no tienen propiedades especficas. Sus propiedades estn relacionadas a los objetos a los
que estn asociados.
Para modificar las propiedades de un mtodo proyecto:
1. En el WA SET URL FILTERS, seleccione el comando Propiedades del mtodo... en el men Mtodo.
O
En la Pgina Mtodos del Explorador, haga clic derecho en el mtodo proyecto y seleccione Propiedades del
mtodo... en el men contextual o en el men de opciones.
Aparece la caja de dilogo Propiedades del mtodo.

Nota: la funcin de modificacin global permite modificar un atributo para un conjunto de mtodos (ver Cambio global
de atributos de mtodos).

Nombre

Puede cambiar el nombre de un mtodo de proyecto en el rea "Nombre" de la ventana de propiedades de los mtodos
o desde el Explorador.
El nuevo nombre debe respetar las reglas de nombres de 4D (ver Convenciones en el manual Lenguaje de 4D). Si ya
existe un mtodo con el mismo nombre, 4D muestra un mensaje que indica que nombre del mtodo ya ha sido utilizado.
Si es necesario, 4D ordena nuevamente la lista de mtodos.
Atencin: cambiar el nombre de un mtodo ya utilizado en la base puede invalidar los mtodos y frmulas que utilizan
el antiguo nombre y se corre el riesgo de afectar el funcionamiento de la aplicacin. Puede renombrar el mtodo
manualmente pero se recomienda utilizar la funcin para renombrar los mtodos proyecto, descrita en la seccin
Renombrar. Con esta funcin, puede actualizar automticamente el nombre donde se llame el mtodo en el modo
Diseo.
Con 4D Server, el nombre del mtodo se cambia en el servidor cuando se termina de editar el nombre. Si ms de un
usuario est modificando el nombre del mtodo al mismo tiempo, el nombre final del mtodo ser el nombre
- 467 -
especificado por el ltimo usuario al terminar de editar el nombre. Es recomendable definir un propietario para el
mtodo de manera que slo ciertos usuarios puedan cambiar el nombre del mtodo.
Nota: los mtodos de base de datos no pueden renombrarse, lo mismo sucede con los triggers, mtodos de formulario
y mtodos de objeto, los cuales estn atados a objetos y toman sus nombres del objeto relacionado.

Privilegios de acceso y de propietario

Puede controlar el acceso a los mtodos definiendo los privilegios de acceso y propietario para grupos de usuarios. Un
solo grupo puede ser asignado para cada privilegio utilizando la lista desplegable de Acceso y Propietario de la caja de
dilogo Propiedades del mtodo. Para mayor informacin acerca de la creacin de un sistema de contraseas de
acceso con usuarios y grupos, consulte la seccin Usuarios y grupos.
La lista desplegable Acceso define el grupo que puede ejecutar el mtodo. Si un usuario que no est en este
grupo intenta ejecutar el mtodo, 4D muestra un mensaje indicndole que sus privilegios de acceso no le permiten
ejecutar el mtodo.
La lista desplegable Propietario controla que grupo puede editar el mtodo en el entorno Diseo. Si un usuario
que no est en el grupo intenta editar el mtodo en el entorno Diseo, 4D muestra un mensaje indicando que el
usuario no tiene el privilegio de acceso para editar el mtodo.
Los usuarios que aparecen en ambos grupos pueden utilizar o modificar el formulario sin restriccin.

Atributos

Los atributos permiten controlar la utilizacin y las llamadas del mtodo proyecto en diferentes contextos. Note que los
atributos pueden definirse globalmente para una seleccin de mtodos proyecto utilizando el Explorador (ver la
siguiente seccin).

Invisible
Si no quiere que los usuarios puedan ejecutar un mtodo de proyecto utilizando el comando Mtodo... del men
Ejecutar, puede volver el mtodo Invisible en la caja de dilogo Propiedades del mtodo. Un mtodo invisible no
aparece en la caja de dilogo de ejecucin de mtodos. (ver el prrafo Desde la caja de dilogo de ejecucin de
mtodos).
Un mtodo de proyecto invisible sigue estando disponible para los programadores de la base de datos, permanece
listado en la Current form table del Explorador y en la lista de rutinas del editor de mtodos.

Disponible usando etiquetas HTML 4D (4DACTION...)


Esta opcin permite reforzar la seguridad del servidor web de 4D: cuando no est seleccionada, el mtodo de proyecto
no puede ejecutarse va una peticin HTTP que contenga el URL especial 4DACTION de llamada de mtodos (as como
el antiguo URL 4DMETHOD) ni las etiquetas especiales 4DSCRIPT, 4DTEXT y 4DHTML (como tambin las antiguas
etiquetas 4DVAR y 4DHTMLVAR).
Para mayor informacin, consulte URLs y acciones de formularios y Etiquetas HTML 4D en el manual Lenguaje 4D.
En el Explorador, los mtodos proyecto con este atributo tienen un cono especfico .
Por razones de seguridad, esta opcin no est seleccionada por defecto. Debe indicar individualmente los mtodos
que pueden ejecutarse va los URLs y las etiquetas especiales.
Ofrecido como servicio web
Este atributo le permite publicar el mtodo actual como un servicio web va una solicitud SOAP. Para mayor informacin,
consulte el captulo Publicacin y uso de servicios web. Cuando esta opcin est seleccionada, la opcin
Publicado en WSDL est activa.
En el Explorador, los mtodos de proyecto ofrecidos como servicio web tienen un icono especfico: .
Nota: no es posible publicar un mtodo como servicio web si su nombre incluye caracteres que no cumplen con la
nomenclatura XML (por ejemplo los espacios). Si el nombre del mtodo no cumple con la nomenclatura, 4D no asigna la
propiedad.

Publicado en WSDL
Este atributo est activo nicamente si el atributo "Ofrecido como servicio web" est seleccionado, permite incluir el
mtodo actual en el archivo WSDL de la aplicacin 4D. Para mayor informacin, consulte el prrafo Generacin de
WSDL.
En el Explorador, los mtodos de proyecto que se ofrecen como un servicio web y publicados en WSDL tienen un icono
especfico .

Compartido entre componentes y base principal


Este atributo se utiliza en caso de uso de componentes. Cuando se selecciona, indica que el mtodo estar disponible
- 468 -
para los componentes si la aplicacin se utiliza como base principal. Por el contrario, cuando la aplicacin se utiliza
como componente, el mtodo estar disponible para la base principal.
Para mayor informacin sobre componentes, consulte el captulo Desarrollar e instalar componentes 4D.

Disponible va SQL
Cuando esta opcin est seleccionada, autoriza al motor SQL de 4D ejecutar el mtodo de proyecto. Por defecto, esta
opcin no est seleccionada, lo cual significa que, a menos de que se autorice explcitamente, los mtodos de proyecto
4D estn protegidos y no pueden ser llamados por el motor SQL de 4D.
Esta propiedad aplica a todas las bsquedas SQL internas y externas, ejecutadas va el driver ODBC, el cdigo SQL
insertado entre las etiquetas Begin SQL/End SQL o el comando QUERY BY SQL .
Notas:
Incluso si un mtodo tiene el atributo Disponible va SQL, los accesos definidos a nivel de las Preferencias y
propiedades del mtodo se tienen en cuenta para la ejecucin del mtodo.
La funcin ODBC SQLProcedure devuelve nicamente los mtodos de proyecto que tienen el atributo
Disponible va SQL.
Para mayor informacin, consulte Implementaciones del motor SQL de 4D en el manual SQL de 4D.

Ejecutar en el servidor
Este atributo slo se tiene en cuenta para una aplicacin 4D en modo cliente/servidor. Cuando esta opcin est
seleccionada, el mtodo de proyecto siempre se ejecuta en el servidor, sin importar cmo se llame.
Para mayor informacin sobre esta opcin, consulte la seccin Atributo Ejecutar en servidor en el manual de 4D
Server.
Disponible va las llamadas 4D Mobile

Esta opcin configura la disponibilidad y el alcance de la accin para el mtodo como parte de un enlace 4D Mobile con
un servidor Wakanda.
Para obtener ms informacin sobre esta opcin, consulte Configuracin de la base de datos 4D en el manual 4D
Mobile.

Cambio global de atributos de mtodos

La caja de dilogo "Atributos de los mtodos", permite modificar un atributo de mtodo proyecto (Invisible, Ofrecido
como servicio web, etc.) para la totalidad o parte de los mtodos de la base en una sola operacin. Esta funcin es muy
til para modificar los atributos de un gran nmero de mtodos proyecto. Tambin puede utilizarse durante el desarrollo
para aplicar rpidamente atributos comunes a grupos similares de mtodos.
Para modificar globalmente los atributos de mtodos:
1. En la Pgina Mtodos del Explorador 4D, despliegue el men de opciones y seleccione el comando Cambio
global de atributos...

Aparece la caja de dilogo Atributos de mtodos:

- 469 -
2. En el rea Nombre de mtodo(s) a cambiar:, introduzca una cadena de caracteres que le permita designar los
mtodos que quiere modificar globalmente.
La cadena de caracteres se utiliza como criterio de bsqueda de los nombres de mtodos.
Utilice el carcter arroba @ para ayudar a definir los grupos de mtodos:
para designar los mtodos cuyos nombres comiencen por..., digite @ al final de la cadena. Por ejemplo:
web@.
para designar los mtodos cuyos nombres contienen..., digite @ en medio de la cadena. Por ejemplo:
web@write.
para designar los mtodos cuyos nombres terminan en..., digite @ al inicio de la cadena. Por ejemplo:
@write.
para designar todos los mtodos, digite @ en el rea.
Notas:
La bsqueda no tiene en cuenta maysculas/minsculas.
Puede introducir varios caracteres @ en la cadena, por ejemplo dtro_@web@pro.@
3. En el rea Atributo a cambiar, elija un atributo de la lista desplegable, luego haga clic en el botn de radio
Verdadero o Falso correspondiente al valor aplicado.
Nota: si el atributo Publicado en WSDL es definido como Verdadero, slo se aplicar a los mtodos de
proyecto que contengan el atributo Ofrecido como Servicio web.
4. Haga clic en Aplicar.
La modificacin se aplica instantneamente a todos los mtodos de proyecto asignados por la cadena de
caracteres introducida.

- 470 -
Editor de mtodos

Por defecto, una ventana del editor de mtodos tiene varias reas: una barra de herramientas, un rea de edicin, un
rea de listas, una barra de estado y un rea de puntos de ruptura.
Puede personalizar el rea de edicin de los mtodosw por ejemplo aadiendo listas u ocultando los nmeros de las
lneas.

Barra de herramientas

Cada ventana del editor mtodos tiene un barra de herramientas que le permite acceder instantneamente a las
principales funciones relativas a la ejecucin y edicin de mtodos.
Ejecutar el Este botn provoca la ejecucin del mtodo. Utilizando el men asociado al botn, puede
mtodo seleccionar el tipo de ejecucin. Slo los mtodos de proyecto y los mtodos de base pueden
ejecutarse utilizando este botn. Para mayor informacin sobre estos comandos, consulte el
prrafo Ejecutar mtodos.
Al hacer clic en el icono buscar aparece la caja de dilogo Buscar, permitiendo efectuar una
bsqueda en el mtodo actual. El combo box asociado puede utilizarse para iniciar una bsqueda
Buscar estndar directamente: para hacer esto, introduzca la cadena de caracteres a buscar y presione
Intro o Retorno de carro. El combo box tambin lista las ltimas bsquedas efectuadas; para
volver a hacer una bsqueda, seleccinela en el men del combo box. Para mayor informacin,
consulte Buscar y reemplazar en mtodos.
Macros Este botn muestra un men que lista todas los macro comandos disponibles. Para mayor
informacin, consulte Crear y utilizar macros.
Expandir
todo /
Contraer Estos botones permiten expandir y contraer todas las estructuras de programacin del mtodo.
todo Para mayor informacin, consulte Expandir/Contraer en Escribir un mtodo.

Mostrar u
ocultar listas Este botn permite mostrar u ocultar las listas en la ventana. Para mayor informacin, consulte la
seccin rea de listas.

Propiedades
del mtodo este botn muestra la caja de dilogo Propiedades del mtodo (mtodos de proyecto nicamente).
Para mayor informacin, consulte Propiedades de los mtodos proyecto.

ltimos
valores del Este botn muestra un men que lista los ltimos 20 elementos copiados en la ventana. Si
portapapeles selecciona un elemento, el elemento se copia en el lugar donde est ubicado el cursor.

Estos 9 iconos representan los 9 portapapeles disponibles en el editor de mtodos. Un icono


Portapapeles blanco contiene un nmero que indica que un portapapeles contiene datos; un icono naranja indica
un portapapeles vaco. Puede utilizar estos portapapeles haciendo clic en los iconos o utilizando las
combinaciones de teclas. Para mayor informacin, consulte Escribir un mtodo.
Bloqueo (4D
Server Este icono indica que el mtodo est bloqueado por otro usuario. Hacer clic en el candado permite
nicamente) recargar el mtodo (y por lo tanto mostrar los cambios efectuados por otro usuario.)

rea de edicin

El rea de edicin contiene el texto del mtodo. El texto del mtodo se introduce y modifica en esta rea. El editor crea
automticamente las indentaciones y colorea los elementos de sintaxis para hacer ms clara la estructura del mtodo.
Puede personalizar la visualizacin de esta rea. Toda personalizacin se pasa automticamente a todas las ventanas
del editor.
- 471 -
fuente y tamao de fuente: la fuente de los caracteres utilizada en el rea de edicin y su tamao se definen en
la Pgina Mtodos de las Preferencias de 4D. Tambin puede cambiar el tamao de la fuente utilizando el
submen Ver>del men Mtodo: los comandos Agrandar la fuente y Reducir la fuente permiten variar el
tamao de la fuente por puntos.
estilo y color de los elementos de sintaxis: puede atribuir un color y/o un estilo especifico a cada tipo de
elemento del lenguaje 4D y SQL. Para hacerlo, haga clic derecho en un elemento del lenguaje (variable, palabra
clave, etc.) y elija una opcin del men Estilo. La modificacin se aplica a todos los elementos del mismo tipo en
la ventana actual como tambin en todas las ventanas del editor. Tambin puede definir estas opciones en la
Pgina Mtodos de las Preferencias de 4D.
espacios: puede mostrar los espacios entre palabras utilizando puntos (.) en lugar de "espacios en blanco". Para
hacer esto, elija Ver > Espacios en el men Mtodo (una marca de seleccin indica si se muestran los
espacios). Esta funcin aplica a todos los elementos del cdigo (nombres de comandos, variables, comentarios,
etc.)

ancho de las indentaciones de cdigo: puede definir esta opcin en la Pgina Mtodos de las Preferencias
de 4D.
colores de la interfaz: permite modificar los diferentes colores utilizados en la interfaz del rea de edicin
(subrayado, fondo, etc.) utilizando las opciones definidas en la Pgina Mtodos de las Preferencias de 4D.

Para mayor informacin sobre la entrada de cdigo en esta rea, consulte la seccin Escribir un mtodo.

rea de listas

El rea de listas permite mostrar una o varias listas de elementos necesarias para la escritura de mtodos (comandos,
constantes, formularios, etc.). Puede elegir el nmero y el contenido de las listas publicada en la ventana.

Mostrar las listas


Por defecto, el editor de mtodos muestra cuatro listas. Puede agrandar o reducir el ancho de cada lista arrastrando
una de sus partes. Igualmente es posible ajustar el tamao del rea de las listas con relacin al rea de edicin
arrastrando la lnea de separacin entre las dos reas.
Puede hacer doble clic en un elemento de una lista para insertarlo en el rea de edicin, donde est el cursor.
Para modificar el contenido de una lista, haga clic en un rea de ttulo de la lista: aparece un men desplegable,
que le permite elegir el tipo de elemento a mostrar.

Para aadir o borrar una lista, haga clic en el rea de ttulo de una de las listas y elija el comando
correspondiente en el men desplegable (ver a continuacin).
Note que al menos una lista debe estar desplegada en la ventana del editor. El comando Borrar esta lista est
desactivado al hacer clic en la ltima lista. Si quiere ocultar todas las listas, debe hacer clic en el botn u
ocultarlas por defecto en las Preferencias del usuario (ver a continuacin).
- 472 -
Tambin puede ocultar las listas en todas las ventanas deseleccionando la opcin Ver>Listas en el men Mtodo
(una marca de seleccin indica si las listas se muestran) o deseleccionando la opcin Mostrar las listas en la
Pgina Mtodos en las Preferencias 4D, pestaa Opciones. Los mtodos abiertos deben cerrarse y abrirse
nuevamente para que se tengan en cuenta las modificaciones efectuadas en las Preferencias.
Puede guardar los parmetros definidos en la ventana del editor de mtodos en forma de plantilla. Para mayor
informacin, consulte el prrafo Guardar como plantilla.

Tipos de listas
Puede mostrar diferentes listas de elementos en el rea de listas de la ventana del editor de mtodos:
Tablas y campos: nombres de las tablas y campos de la base en forma de lista jerrquica. Cuando inserta un
nombre de campo en el mtodo haciendo doble clic en su nombre, 4D lo inserta respetando la sintaxis y aade el
nombre de la tabla.
Tabla (submen): nombres de campos de la tabla seleccionada utilizando el submen.
Tabla actual: nombres de los campos de la tabla actual (disponible en los triggers, los mtodos de formulario y
los mtodos de objeto).
Formularios de proyecto: nombres de los formularios de proyecto de la base. Al hacer doble clic en un nombre
de formulario de proyecto, 4D lo inserta respetando la sintaxis: el nombre del formulario se inserta entre comillas.
Formularios de tabla: nombres de tablas y de formularios tabla de la base en forma de lista jerrquica. Cuando
insertar un nombre de formulario en el mtodo al hacer doble clic en su nombre, 4D lo inserta respetando la
sintaxis: el nombre del formulario se inserta entre comillas y est precedido del nombre de la tabla y un punto y
coma. Por ejemplo: [Tabla];"Formulario".
Mtodos: nombres de los mtodos de proyecto de la base.
Todas las carpetas: nombres de las carpetas y subcarpetas de objetos definidos en la base en forma de lista
jerrquica. Las carpetas permiten organizar los objetos de manera personalizada. Las carpetas son
administradas desde la Pgina Inicio del Explorador.
Carpetas (submen): contenido de la carpeta seleccionada utilizando el submen.
Macros: nombres de macros definidas para la base. (ver Crear y utilizar macros).
Comandos: comandos del lenguaje 4D en orden alfabtico.
Comandos por temas: comandos por tema del lenguaje de 4D clasificados por tema en forma de lista
jerrquicas.
Barras de mens: nombres y nmeros de barras de mens creadas en el editor de barras de mens de 4D (ver
el captulo Mens y barras de mens).
Constantes: constantes de 4D y de los posibles plug-ins, clasificados por tema en forma de lista jerrquica.
Listas: nombres de las listas.
Imgenes: nombres y nmeros de imgenes almacenadas en la Librera de imgenes 4D.
Comandos de todos los plug-ins: comandos de los plug-ins instalados en la base, clasificados por temas en
forma de lista jerrquica.
Comandos del plug-in (submen): comandos de un plug-in especfico seleccionado utilizando el submen. Por
defecto, estn disponibles los siguientes plug-ins:
4D Internet Commands: este plug-in aade funciones de Internet adicionales a 4D, en particular para la
gestin de e-mails. Ver .
4D Chart: 4D Chart es un editor de grficos integrado de 4D. Ver 4D Chart. 4D Chart
OLE_Tools (Windows nicamente): OLE_Tools, se ofrece con la versin Windows de 4D, es un plug-in para
el manejo de reas OLE. Ver OLE Tools.
Palabras claves SQL: conjunto de palabras claves reconocidas por el analizador sintctico SQL de 4D. Esta lista
incluye los comandos (por ejemplo SELECT), las clusulas (WHERE) como tambin las funciones (ABS).
Funciones SQL: funciones SQL de 4D.
Nota: excepto el elemento Macros, todas las listas estn en orden alfabtico.

rea de puntos de ruptura

Esta rea, ubicada a la izquierda del rea de edicin, permite visualizar los nmeros de lneas e insertar directamente
los puntos de ruptura junto a instrucciones especficas. Los puntos de ruptura son tiles durante la fase de depuracin de
un mtodo. Los puntos de ruptura detienen la ejecucin de su cdigo en lugares especficos y muestra el depurador.
Para insertar un punto de ruptura, haga clic en el rea de insercin de puntos de ruptura en la ubicacin donde quiere
ubicarlos o elija el comando Conmutar punto de interrupcin en el men contextual del editor. Un punto rojo indica la
presencia de un punto de ruptura.

Puede ver la ubicacin de todos los puntos de ruptura de la base en el Explorador de ejecucin.
- 473 -
Para borrar un punto de ruptura, haga clic en el punto o elija nuevamente el comando Conmutar punto de interrupcin
en el men contextual.
Para desactivar temporalmente un punto de ruptura o modificar sus propiedades, presione la tecla Alt (Windows) u
Opcin (Mac OS) mientras hace clic en el punto de ruptura o seleccione Modificar punto de ruptura... en el men
contextual del editor. Se muestra la caja de dilogo de Propiedades del punto de ruptura. Para una descripcin
completa de los puntos de ruptura, consulte Puntos de interrupcin en el manual Lenguaje de 4D.

Mostrar los nmeros de lneas


Es posible mostrar los nmeros de lneas en cada ventana del editor de mtodos.
La visualizacin de los nmeros de lnea puede activarse o desactivarse por defecto utilizando la opcin Mostrar
nmeros de lneas en la Pgina Mtodos de las Preferencias 4D.
Igualmente es posible modificar esta visualizacin por separado para cada ventana del editor de mtodos,
utilizando el comando Mostrar/Ocultar nmeros de lneas del men Mtodo.
La visualizacin de los nmeros de lnea mejora la navegacin en la ventana. El comando Ir a la lnea n... del men
Mtodo permite tomar ventaja de esta visualizacin (ver la seccin Ir a la lnea no de Buscar y reemplazar en
mtodos).

Barra de estado

La barra de estado ubicada en la parte inferior derecha del editor muestra la posicin del cursor todo el tiempo:

Ln: nmero de lnea


Col: nmero de columna, es decir el nivel entre la jerarqua de las estructuras de programacin. El primer nivel es
0. El nmero de columna es til en caso de depuracin ya que esta informacin puede ser suministrada por el
intrprete en caso de error en el cdigo.
Ch: Ubicacin del carcter en la lnea.

Guardar como plantilla

Puede guardar los parmetros definidos en la ventana del editor de mtodos en forma de plantilla. Una vez guardada
la plantilla, los parmetros definidos se utilizarn en cada nueva ventana que se abra del editor de formularios.
Los siguientes parmetros se guardan en la plantilla:
Tamao relativo del rea de edicin y de la de listas
Nmero de listas
Ubicacin y contenidos de cada lista
Ancho relativo de cada lista
Para guardar una ventana del editor de mtodos como plantilla, elija el comando Guardar como plantilla en el men
Mtodo. La plantilla se guarda inmediatamente (no aparece ninguna caja de dilogo) con las preferencias de la
aplicacin 4D. Si ya existe una plantilla, se reemplaza.

- 474 -
Escribir un mtodo

El editor de mtodos de 4D funciona como un editor de texto. Generalmente, la escritura de un mtodo es una
combinacin entre la escritura de texto, la seleccin de componentes y el arrastrar elementos desde el Explorador u
otras ventanas. Tambin puede utilizar varios tipos de funciones para acelerar la creacin de mtodos.
Puede desplazarse por el contenido de los mtodos, los cuales pueden incluir hasta 32 000 lneas de cdigo o 2 GB de
texto.
El editor de mtodos de 4D realiza una primera verificacin de la sintaxis de los mtodos. Se realizan verificaciones
adicionales durante la ejecucin del mtodo.

Nota sobre el idioma de los comandos y constantes

En las versiones anteriores a 4D v15, la versin francesa del programa ofreca un lenguaje de programacin en francs,
mientras que todas las otras versiones (ingls, alemn, etc.) contenan un lenguaje "universal", en Ingls.
Por ejemplo, el comando No. 53 fue llamado STOCKER ENREGISTREMENT en francs y SAVE RECORD en el
resto de idiomas. La configuracin local tambin fue utilizada para introducir nmeros reales y las fechas.

Esto se ha ido modificado empezando con 4D v15: por defecto, el editor de mtodos de 4D utiliza el modo internacional
"English-US", independientemente del idioma de la aplicacin 4D o la configuracin del sistema local y el comando N
53 ahora se llama SAVE RECORD en la versin francesa de 4D. Las listas, las ventanas de tecleo predictivo, ayuda en
lnea, etc., muestran los nombres de los comandos y constantes en ingls. Para ms informacin acerca de esta
configuracin, consulte la seccin Introduccin al lenguaje 4D.

An sigue siendo posible restaurar el modo anterior, basado en los parmetros locales, utilizando la preferencia "Usar
configuracin del sistema regional" (ver Pgina Mtodos). Por supuesto, independientemente de la configuracin
utilizada, los principios para la escritura de cdigo descritas en esta seccin siguen siendo los mismos.
Modo 4D v15 (por defecto):

Modo local:

Escribir y modificar el texto

4D utiliza las tcnicas de edicin de texto estndar para escribir y editar en el editor de mtodos. A medida que escribe,
aparecen los caracteres en el lugar donde est ubicado el cursor. Termina cada lnea presionando la tecla Retorno de
carro (Mac OS) o Intro (Windows).
Nota: la tecla Intro del teclado numrico se comporta diferente a la tecla Intro del teclado principal. Utilice la tecla Intro
del teclado numrico para forzar a 4D a verificar la sintaxis de la lnea de cdigo, sin pasar a la lnea siguiente.
El editor de mtodos utiliza convenciones de visualizacin por defecto (estilo, color) para los nombres de comandos, los
comandos de plug-ins, los mtodos, etc. Puede modificar estas convenciones (ver Editor de mtodos). A medida que
escribe, cuando valida su entrada, 4D evala el texto de la lnea y aplica el formato de salida apropiado. 4D tambin
- 475 -
indenta cada lnea en su nivel apropiado con relacin a la lnea anterior cuando se utilizan estructuras de programacin
(por ejemplo, If, End if).
Puede utilizar las teclas de flechas para moverse rpidamente de una lnea a otra. El uso de teclas de flecha para
moverse por varias lneas es ms rpido que hacer clic porque el editor retarda la verificacin de la sintaxis de las
lneas.
Bajo Windows, el editor de cdigo incluye un IME (Input Method Editor) permitiendo facilitar la edicin del cdigo en los
sistemas japons o chino.
El editor de mtodos incluye varios atajos de navegacin listados a continuacin en Atajos de teclado de navegacin .

Aadir elementos por arrastrar y soltar


4D le permite utilizar arrastrar y soltar durante la escritura de mtodos. Es posible arrastrar y soltar elementos desde el
Explorador, dentro de un mtodo o entre dos mtodos.
Desde el Explorador, puede arrastrar y soltar:

Nombres de tablas, campos, formularios y mtodos de proyecto desde la pgina Inicio.


Nombres de tablas y campos desde la pgina Tablas,
Nombres de tablas y formularios desde la pgina Formularios,
Nombres de mtodos de proyecto y de formularios desde la pgina Mtodos,
Constantes desde la pgina Constantes,
Comandos 4D desde la pgina Comandos,
Cuando arrastra y suelta un componente, 4D siempre utiliza la sintaxis apropiada para el componente. Por
ejemplo, si arrastra el nombre del campo Nombre de la tabla [Empleados], aparece en el editor de mtodos
como [Empleados]Nombre. De la misma forma, si arrastra el nombre del formulario Entrada de la tabla
Empleados, aparece en el editor de mtodos como [Empleados];"Entrada".
Cuando inserta un comando arrastrndolo desde la Pgina Comandos del Explorador, aparece con su sintaxis
(la cual consiste en todos sus parmetros), en el editor de mtodos. Utilice la sintaxis que necesite para adaptarla
a su uso. Esta funcionalidad le recuerda los parmetros que el comando espera.
Arrastrar y soltar dentro de un mtodo o entre dos mtodos diferentes:
En el editor de mtodos, el mecanismo de arrastrar y soltar se activa tan pronto se realiza una seleccin de texto.
Por defecto, el mecanismo arrastrar y soltar mueve el texto seleccionado. Para copiar esta seleccin, mantenga
presionada la tecla Ctrl (Windows) u Opcin (Mac OS) durante la operacin.

Entrada en varias lneas


Ahora puede escribir una sola instruccin en varias lneas terminando cada lnea de la instruccin con el carcter "\". 4D
considerar todas las lneas a la vez. Por ejemplo, las siguientes dos instrucciones son equivalentes:

Cambiar caja
Varios comandos permiten modificar automticamente la caja de los caracteres seleccionados. Estos comandos son
accesibles va el submen MAYS/mins en el men Mtodo o el men contextual del editor:

MAYSCULAS/ minsculas: pasa los caracteres seleccionados a maysculas o minsculas.


cameLlsculas / CameLlsculas: pasa los caracteres seleccionados a "camellsculas". Esto consiste en pasar
a maysculas cada primera letra de un grupo de palabras. Este tipo de notacin se utiliza con frecuencia para la
nomenclatura de variables. fechaContrato y FechaCompra son ejemplos de las dos variantes de las escritura en
camellsculas.
Cuando aplica uno de estos comandos a una seleccin de texto, los espacios y caracteres "_" se borran y la primera
letra de cada palabra pasa a maysculas.

Invertir expresin
La funcin Invertir expresin permite reversar los argumentos de una expresin asignando un valor. Por ejemplo,

variable1:=variable2

se convierte en:

variable2:=variable1

Esta funcin es extremadamente til para reversar un conjunto de tareas utilizadas para leer o definir propiedades o
para corregir errores de entrada. Para utilizar esta funcin, seleccione la o las lneas a modificar, luego seleccione el
- 476 -
comando Invertir expresin en el men Mtodo o en el men contextual del rea. Dentro de la seleccin, slo se
modificarn las lneas que asignan un
valor.

Copiar-pegar mltiples y numeracin de portapapeles


Adems de la operacin estndar de copiar y pegar, 4D portapapeles ofrece dos funciones adicionales que le permiten
trabajar con el contenido del portapapeles:
El programa conserva en memoria las ltimas 10 acciones de copiar o pegar realizadas en el editor de
mtodos durante la sesin actual. Cada uno de los diferentes contenidos guardados puede reutilizarse en
cualquier momento. Para hacer esto, utilice el comando Historial del portapapeles del men contextual del editor
de mtodos o el botn ltimos valores del portapapeles de la barra de herramientas:

Se muestran los primeros caracteres de los elementos copiados o cortados. La seleccin de un elemento provoca
la insercin en la ubicacin actual del cursor.
Nueve portapapeles numerados adicionales estn disponibles y pueden utilizarse directamente utilizando las
combinaciones de teclas o los botones de la barra de herramientas del editor:

Copiar el texto seleccionado en un Pegar el contenido de un portapapeles en la


portapapeles ubicacin del cursor
Windows Ctrl+Alt+clic en un icono de Ctrl+clic en un icono del portapapeles
portapapeles
Ctrl+Alt+nmero del portapapeles Ctrl+nmero del portapapeles
Cmd+Opcin+clic en un icono de
Mac OS Cmd+clic en un icono de portapapeles
portapapeles
Cmd+Opcin+nmero del portapapeles Cmd+nmero del portapapeles

Note que debe utilizar las teclas del teclado numrico o utilizar las combinaciones necesarias para acceder a las
teclas numeradas del teclado alfanumrico.

Mover lneas
Puede mover directamente la lnea donde est el cursor sin tener que seleccionarla utilizando los comandos Mover
hacia arriba y Mover hacia abajo en el men Mtodo. Tambin puede utilizar la combinacin Alt/Opcin + Flecha
arriba o Flecha abajo.
Cambiar barras
Barras de colores permiten visualizar instantneamente las lneas de cdigo que modificadas desde la apertura del
mtodo:

Las barras de cambio cambian de color para indicar si las modificaciones se guardaron o no:
amarillo: la lnea se modific y el mtodo no se ha guardado an.
verde: la lnea se modific y el mtodo se guard.

Utilizar la funcin de autocompletar

El editor de mtodos tiene una funcin de "entrada predictiva". 4D muestra automticamente las sugerencias basado en
los primeros caracteres digitados.
En el ejemplo a continuacin, la entrada de la cadena "cop" provoca la visualizacin de un tringulo azul que indica que
varias sugerencias estn disponibles:
- 477 -
Nota: cuando los caracteres introducidos corresponden a una sola posibilidad, este valor sugerido aparece en gris (y
se inserta si pulsa la tecla Tab):
--->
Si hay varias sugerencias disponibles, 4D las muestra en una lista desplegable cuando se pulse la tecla Tab:

La lista est en orden alfabtico. Elija el valor haciendo doble clic en l o utilice las teclas de flechas del teclado y luego
presione Intro, Retorno de carro o Tab para insertar el valor seleccionado.
Por defecto, tambin puede insertar un valor sugerido presionando una de los siguientes delimitadores ( ; : = < [ {
despus de seleccionar un valor: el valor se inserta a continuacin, listo para la entrada.

+ ( key -->

Nota: puede deshabilitar el uso de delimitadores para insertar valores sugeridos en la Pgina Mtodos de las
preferencias usuario.
Puede presionar la tecla Esc para cerrar la lista desplegable o puede seguir escribiendo mientras est abierta. Los
valores sugeridos en la lista pop-up se actualizan en funcin de los caracteres adicionales introducidos.
Si los caracteres introducidos corresponden a diferentes tipos de objetos, la lista los muestra en su estilo actual. Los
siguientes tipos de objetos se pueden mostrar:
Comandos 4D
Comandos SQL
Mtodos usuario
Nombres de tabla
Nombres de campo
Constantes
Variable local, proceso o interproceso, declarada en el mtodo
Comandos de plug-in
Palabras clave 4D
Palabras clave SQL
Macros (que aparecen entre < >)
Nota: por razones prcticas, puede desactivar la visualizacin automtica de la lista de sugerencias para las
constantes, variables locales e interprocesos y/o las tablas. Estas opciones se encuentran en la Pgina Mtodos
de las preferencias usuario.

Seleccionar

Seleccin de bloque padre


La funcin Seleccionar bloque se utiliza para seleccionar el "bloque padre" del cdigo que contiene el punto de
insercin. El bloque padre puede definirse por:
las comillas,
los parntesis,
una estructura lgica (If/Else/End if, While/End while, Repeat/Until Case of/End case), o
las llaves.
Si un bloque de texto est seleccionado, la funcin selecciona el nivel de bloque padre superior y as sucesivamente,
hasta que se selecciona todo el mtodo.

- 478 -
Al presionar Ctrl+Mays+B (Windows) o Comando+Mays+B (Mac OS) usted permite reversar esta operacin y
desactivar el ltimo bloque padre seleccionado.
Nota: si el punto de insercin se coloca en una estructura de tipo If o Else, el bloque padre ser el que contiene,
respectivamente, la instruccin If o Else.

Doble clic
Puede hacer doble clic para seleccionar "palabras" individuales. Cuando el nombre de un elemento de referencia
(comando, constante, mtodo, etc.) contiene espacios, puede seleccionar el nombre completo (incluidos los espacios)
utilizando la combinacin Alt/Opcin + Doble clic.

Atajos de teclado de navegacin


Hay disponibles diferentes atajos de teclado para navegar el cdigo en el editor de mtodos de 4D.
Nota: bajo Mac OS, remplace la tecla Ctrl (Windows) por la tecla Comando.
Atajo Accin
[Mays]+[flecha Crea y agranda la seleccin, carcter por carcter, hacia la derecha, o reduce la seleccin,
derecha] carcter por carcter, desde la izquierda
[Mays]+[flecha Reduce la seleccin, carcter por carcter, desde la derecha o crea y agranda la seleccin,
izquierda] carcter por carcter, hacia la izquierda
[Mays]+[flecha Crea y agranda una seleccin, lnea por lnea, de arriba hacia abajo
abajo]
[Mays]+[flecha Crea y agranda una seleccin, lnea por lnea, de abajo hacia arriba
arriba]
[Ctrl]+[Shift]+[flecha Crea y agranda la seleccin, palabra por palabra, desde la derecha
derecha]
[Ctrl]+[Shift]+[flecha Reduce la seleccin, palabra por palabra, desde la derecha o crea y agranda la seleccin,
izquierda] palabra por palabra, desde la izquierda
[Ctrl]+[flecha Mueve el punto de insercin, palabra por palabra, de izquierda a derecha
derecha]
[Ctrl]+[flecha
Mueve el punto de insercin de insercin, palabra por palabra de derecha a izquierda
izquierda]
[Inicio] Ubica el punto de insercin al comienzo de la lnea
[Fin] Ubica el punto de insercin al final de la lnea
[Ctrl]+[Inicio] Ubica el punto de insercin al principio del mtodo
[Ctrl]+Fin Ubica el punto de insercin al final del mtodo
[Mays]+[Inicio] Selecciona todos los caracteres en la lnea que estn a la izquierda del cursor
[Mays]+[Fin] Selecciona todos los caracteres en la lnea que estn ubicados a la derecha del cursor
Desplaza los contenidos del mtodo, pgina por pgina, de abajo hacia arriba (no modifica el
[PgUp]
punto de insercin)
Desplaza los contenidos del mtodo, pgina por pgina, de arriba a abajo (no modifica el
[PgDn]
punto de insercin)

Verificar y corregir errores de sintaxis

4D verifica automticamente la sintaxis del mtodo para ver si es correcta. Si introduce un texto o selecciona un
componente que no es correcto sintcticamente, 4D especifica el error en el rea de sintaxis e indica la expresin
incorrecta . Cuando pasa el ratn sobre el smbolo, un mensaje de ayuda muestra la causa del error:

Cuando introduce cdigo, puede verificar inmediatamente la sintaxis de la lnea actual (sin pasar a la lnea siguiente)
presionando la tecla Intro del teclado numrico. 4D verifica la lnea, la formatea, indica los errores y ubica el cursor al
final de la lnea. Cuando una lnea de un mtodo se marca por no respetar la sintaxis, verifique y modifique la entrada. Si
la lnea es correcta, 4D borra el smbolo de error. La validacin de un mtodo entero se efecta automticamente
cuando graba o cierra la ventana. Tambin puede forzar la validacin presionando la tecla Intro.
En el momento de la validacin, 4D efecta una verificacin sintxica a nivel de las lneas (sintaxis de los comandos) y/o
de la estructura de las instrucciones (If, End if, etc.). 4D tambin verifica la correspondencia de los elementos de cierre
del cdigo tales como parntesis o comillas. Cuando digita un carcter de cierre, 4D indica el correspondiente de estos
elementos al enmarcar los caracteres de inicio/fin con rectngulos grises:

Nota: estos elementos se muestran cuando hace clic en el cdigo. Puede modificar su apariencia u ocultarlos utilizando
- 479 -
la opcin "Correspondencia de los parntesis" en la Pgina Mtodos de las Preferencias de 4D
El editor de mtodos slo puede verificar los errores de sintaxis evidentes (errores de digitacin o similares). No verifica
los errores que ocurren durante la ejecucin. Los errores de ejecucin son interceptados por 4D cuando se ejecuta el
mtodo. 4D ofrece un depurador (ver Depurador) para manejar y corregir estos errores. El compilador representa
igualmente una valiosa ayuda para detectar
errores. Para mayor informacin sobre el compilador, consulte el captulo Compilacin.

Utilizar mensajes de ayuda

El editor de mtodos ofrece diferente informacin contextual utilizando mensajes de ayuda, los cuales aparecen cuando
ubica el ratn sobre un objeto.
Errores: cuando ubica el puntero del ratn sobre el smbolo que indica un error en el cdigo, un mensaje de ayuda
le muestra la causa del error (ver la seccin "Verificar la sintaxis y corregir los errores").
Documentacin de comando 4D: cuando pasa el cursor sobre un comando 4D, una mensaje de ayuda le ofrece
la sintaxis del comando junto con una breve descripcin sobre cmo funciona.

Tipos de variable: cuando ubica el cursor sobre una variable, un mensaje de ayuda muestra su tipo (si ha sido
definido explcitamente en el mtodo).

Mtodos proyecto: cuando ubica el cursor sobre un mtodo proyecto, un mensaje de ayuda muestra:
el comentario especificado en el Explorador, si lo hay (ver Utilizar los comentarios).
o las primeras lneas del mtodo si incluyen comentarios (lneas que comienzan por //). Es una prctica
comn insertar documentacin del mtodo as como tambin sus parmetros en forma de comentarios al
inicio del mtodo. Puede obtener esta informacin directamente, solo asegrese de primero eliminar los
comentarios en el Explorador.
Comentarios al inicio de un mtodo:

Mensaje de ayuda en otro mtodo:

Mostrar la documentacin completa de un comando

En cualquier momento puede mostrar la documentacin HTML de un comando del lenguaje 4D: para hacer esto,
seleccione completamente el nombre del comando o inserte el cursor en el nombre y presione la tecla F1. La
documentacin completa del comando se muestra en una nueva ventana de su navegador por defecto.
4D busca la documentacin del comando en lnea (en el sitio de 4D Doc Center) o localmente dependiendo de los
parmetros definidos en las Preferencias de la aplicacin (ver Ubicacin de la documentacin).

Comentar/ No comentar

Los comentarios son lneas de instrucciones inactivas. Estas lneas no son interpretadas por el programa (4D no aplica
ningn estilo especifico dentro de los comentarios) y no se ejecutan cuando se llama el mtodo.
Para crear un comentario, slo necesita insertar los caracteres // al comienzo de la lnea.
La longitud de los comentarios est limitada al tamao mximo de una lnea, 32 000 caracteres.

El comando Comentar/No comentar se utiliza para marcar un grupo de lneas de cdigo seleccionadas como
comentarios o por el contrario para suprimir el carcter comentario de una seleccin.
Para utilizar este comando, seleccione el cdigo a marcar como comentario y luego seleccione el comando

- 480 -
Comentar/No comentar:

-->

Cuando la seleccin contiene nicamente cdigo activo, se aplica el comando Comentar. Cuando la seleccin incluye
cdigo activo y lneas de comentario, se aade un par de caracteres de comentario ( // ); de esta forma, conservaran su
estatus inicial de comentario si la lnea es no comentada posteriormente. Cuando la seleccin contiene slo lneas
comentadas, se aplica el comando No comentar.
Nota: el comando Comentar/No comentar slo funciona con lneas enteras, no puede utilizarse para comentar una
parte de una lnea.

Uso de secuencias de escape

El editor de mtodos le permite utilizar secuencias de escape (tambin llamadas caracteres escape). Una secuencia de
escape es una secuencia de caracteres que permite reemplazar un carcter especial.
La secuencia comienza por el carcter barra oblicua \, seguido de un carcter. Por ejemplo, \t es una secuencia de
escape para el carcter Tab. Las secuencias de escape facilitan la entrada de caracteres especiales: el ejemplo
anterior (\t) reemplaza la entrada Character(Tab).
En 4D, pueden utilizarse las siguientes secuencias de escape:
Secuencia de escape Carcter reemplazado
\n LF (Retorno lnea)
\t HT (Tab)
\r CR ((Retorno de carro)
\\ \ (Barra oblicua inversa)
\" " (Comillas)
Nota: es posible utilizar indiferentemente caracteres en maysculas o minsculas en las secuencias de escape.
En el siguiente ejemplo, el carcter Retorno de carro (secuencia de escape \r) se inserta en una lnea de instruccin
para obtener la caja de dilogo que se muestra a continuacin:

ALERT("La operacin fue exitosa.\rPuede desconectarse.")

Atencin: el carcter \ (barra oblicua inversa) se utiliza como separador de las rutas de acceso bajo Windows. En
general, 4D interpretar correctamente los caminos de acceso Windows remplazando la barra oblicua simple \ por una
barra oblicua doble \\. Por ejemplo, C:\Carpeta se convertir en C:\\Carpeta.
Sin embargo, si escribe C:\MisDocumentos\Nuevo, 4D mostrar C:\\MisDocumentos\Nuevo. En este caso, la
segunda barra oblicua \ se interpreta incorrectamente como \N (secuencia de escape existente). Por lo tanto debe
introducir una barra oblicua doble \\ cuando quiera tener una barra oblicua frente a un carcter utilizado en una de las
- 481 -
secuencias de escape reconocidas por 4D.

Ayudas para la edicin de cdigo

Varias funciones en el editor de mtodos facilitan la lectura del cdigo y la navegacin entre las lneas de instruccin.
Expandir / Contraer
El cdigo 4D que se encuentra dentro de los bucles y de las condiciones ahora se puede contraer o expandir, para
facilitar la lectura de los mtodos:
Cdigo desplegado:

Cdigo contrado:

Si coloca el ratn sobre el botn de desplegar [...], aparece un mensaje de ayuda, que muestra las primeras lneas del
cdigo oculto.
Una parte de cdigo contrada se puede seleccionar, copiar, pegar o borrar. Todas las lneas incluidas se copiarn,
pegarn o borrarn respectivamente. Cuando una parte del cdigo se pega, se expande automticamente.
Hay varias maneras de desplegar y contraer el cdigo:
Haga clic en los iconos expandir/contraer ([+] y [-] en Windows) o en el botn de apertura [...]
Utilice los comandos del submen Mtodo>Contraer/Expandir:
Contraer la seleccin / Expandir la seleccin: contrae o despliega todas las estructuras de cdigo en la
seleccin de texto.
Contraer el nivel actual / Expandir el nivel actual: contrae o despliega la estructura del cdigo en el nivel
donde se encuentre el cursor. Estos comandos tambin estn disponibles en el men contextual del editor.
Contraer todo / Expandir todo: contrae o expande todos los bucles y las condiciones de un mtodo. Estos
comandos tambin estn disponibles en la barra de herramientas del editor: .

Ir al inicio o al fin del bloque


Dos comandos facilitan la navegacin dentro de las estructuras de cdigo (por ejemplo, If...Else... End if):
Inicio de bloque: coloca el cursor al inicio de la estructura actual, justo antes de la palabra clave inicial.
Fin de bloque: coloca el cursor al final de la estructura actual, justo despus de la palabra clave final.
Estos comandos se encuentran en el men Mtodo, as como tambin el men contextual del editor. Tambin puede
utilizar los siguientes atajos:
Windows: Ctrl + flecha arriba o Ctrl + Flecha abajo,
Mac OS: Comando + flecha arriba o Comando + flecha abajo.

Uso de marcas
4D permite asociar marcas con lneas determinadas en sus mtodos. As puede navegar rpidamente en el cdigo
pasando de una marca a otra usando los comandos especficos.

Una marca se mueve junto con su lnea original si se insertan lneas adicionales en el mtodo. Las marcas se guardan
con los mtodos.
Las marcas se manejan utilizando el submen Marcas del men Mtodo:

Marcar: asocia una marca con la lnea actual (donde se encuentra el cursor) si no tiene una marca o elimina la
- 482 -
marca existente. Esta funcin tambin est disponible utilizando el comando Marcar/Desmarcar del men
contextual del editor o usando los atajos de teclado Ctrl+F3 (Windows) o Comando+F3 (Mac OS).
Quitar todas: elimina todas las marcas de la ventana del primer plano.
Ir a siguiente / Ir al anterior: permite navegar entre las marcas en la ventana. La seleccin de uno de estos
comandos coloca el cursor en el primer carcter de la lnea asociada a la marca. Tambin puede utilizar los atajos
de teclado F3 (ir a la siguiente) o Mays+F3 (ir al anterior).
Nota: puede utilizar marcas como marcadores de las lneas que contienen un elemento encontrado por una bsqueda.
En este caso, 4D aade automticamente los marcadores. Para obtener ms informacin, consulte la seccin Buscar
y reemplazar en mtodos.

- 483 -
Crear y utilizar macros

Puede utilizar los macro comandos en sus mtodos, lo cual le ahorra mucho tiempo durante la entrada de mtodos.

Qu es una macro?

Un macro comando es una parte de cdigo 4D accesible permanentemente que puede insertarse en cualquier parte de
sus mtodos, sin importar el tipo de base de datos abierta. Los macro comandos pueden contener todo tipo de texto,
comandos y constantes 4D, as como etiquetas especiales las cuales se reemplazan en el momento de la insercin del
macro por los valores derivados del contexto del mtodo. Por ejemplo, un macro comando puede contener la etiqueta
<nombre_metodo/>; en el momento de la insercin del macro, esta etiqueta se reemplazar por el nombre del mtodo
de proyecto actual.
Los macro comandos se guardan en uno o ms archivos en formato XML (texto). Pueden colocarse en una lista del WA
SET URL FILTERS; tambin pueden llamarse con la ayuda del men contextual o utilizando la funcin de entrada
predictiva.
Los macro comandos de 4D se escriben en formato XML. Puede utilizar el archivo de macro comandos como est o
modificarlo.

Ubicacin de macros

4D carga las macros de una carpeta llamada Macros v2. Las macros deben estar en forma de uno o varios archivos
XML ubicados en esta carpeta.
La carpeta Macros v2 puede estar:
En la carpeta 4D activa de la mquina. Las macros luego son compartidas por todas las bases.
Nota: la ubicacin de la carpeta activa 4D varia en funcin del sistema operativo. Para mayor informacin,
consulte la descripcin del comando Get 4D folder en el manual Lenguaje 4D.
Junto al archivo de estructura de la base. Las macros se cargan nicamente para esta estructura.
Para los componentes: en la carpeta Components de la base. Las macros slo se cargan si el componente est
instalado.
Estas tres ubicaciones pueden utilizarse simultneamente: es posible instalar una carpeta Macros v2 en cada
ubicacin. Las macros se cargarn en el siguiente orden: carpeta 4D, archivo de estructura, componente 1...
componente X.

Macros por defecto

4D ofrece por defecto un conjunto de macros que corresponden particularmente a la lista de palabras clave en las
versiones anteriores de 4D. Estas macros se incluye en el archivo Macros.xml, ubicado en la carpeta Macros v2
creada en la carpeta 4D activa de la mquina durante el primera lanzamiento de 4D.
Puede modificar este archivo o el contenido de la carpeta posteriormente (ver el siguiente prrafo). En caso de que se
presenten problemas con este archivo, puede borrarlo y 4D lo crear nuevamente en el prximo lanzamiento.

Aadir macros personalizadas

Puede aadir macros personalizadas al archivo Macros.xml utilizando un editor de texto estndar o por programacin.
Tambin puede aadir archivos XML de macros personalizadas en esta carpeta.

En modo local, el archivo de macros puede abrirse mientras utiliza 4D. La lista de macro comandos disponibles se
actualiza en cada evento de activacin 4D. Por ejemplo, es posible traer el editor de texto al primer plano, modificar el
archivo de macros, luego regresar al mtodo: el nuevo macro est disponible en el editor de mtodos.

Los macros vacos o errneos no se muestran.

Verificar la sintaxis de macros personalizados


Los archivos de macro comandos de 4D deben cumplir con la norma XML. Esto significa particularmente que las lneas
de declaracin XML <?xml version="1.0" ...?> y de declaracin de documento < !DOCTYPE macros SYSTEM

- 484 -
"http://www.4d.com/dtd/v11/macros.dtd"> son obligatorias al comienzo de un archivo de macro para que sea cargado.
Se soportan los diferentes tipos de codificacin XML. Sin embargo, se recomienda utilizar la codificacin compatible
Mac/PC (UTF-8). 4D ofrece un DTD que puede utilizarse para validar los archivos de macros. Este archivo se encuentra
en la siguiente ubicacin:
Windows: \Resources\DTD\macros.dtd
Mac OS: :Contents:Resources:DTD:macros.dtd
Si un archivo de macros no contiene las lneas de declaracin o no puede validarse, no se carga.

Sintaxis de los macros 4D

Los macros comandos 4D se construyen con la ayuda de etiquetas personalizadas XML llamadas elementos.
Algunas etiquetas indican el inicio y el final de la definicin (etiquetas doble del tipo <tag> </tag>), otras son
reemplazadas por los valores del contexto de insercin (<tag/>).
Conforme a las especificaciones XML, algunas etiquetas de elementos pueden incluir atributos. A menos de que se
indique lo contrario, estos atributos son opcionales y se utiliza un valor por defecto cuando se omiten. La sintaxis de los
elementos con atributos es la siguiente:
etiquetas dobles: <etiqueta atributo="valor"> </macro>
etiquetas sencillas: <etiqueta atributo="valor"/>
Si el elemento acepta varios atributos, puede agruparlos en la misma lnea de comando, separados por un espacio:
<etiqueta atributo1="valor" atributo2="valor" atributo3="valor"... >
Esta es la lista de etiquetas y su modo de utilizacin:

- 485 -
Etiquetas de
Descripcin
elementos
<macros>
Inicio y fin del archivo macro (etiqueta obligatoria).
</macros>
<macro>
Inicio y fin de la definicin de un macro y sus atributos.
</macro>
Atributos:
- nombre** del macro tal como aparece en los mens y las listas del editor de mtodos (atributo
obligatorio).
- type_ahead_text: cadena de caracteres ** a introducir para llamar al macro utilizando la funcin
de tecleo predictivo*.
- in_menu: booleano que indica si el macro puede llamarse utilizando el men contextual*.
Valores = "true" (por defecto) o "false."
- type_ahead: booleano que indica si la macro puede llamarse utilizando la funcin de tecleo
predictivo*. Valores = "true" (por defecto) o "false."
- method_event: utilizado para disparar la llamada automtica de la macro en funcin de la fase
actual de manipulacin de cada mtodo (creacin, cierre, etc.). Valores = "on_load": se dispara
el macro al abrir cada mtodo, "on_save": se dispara el macro al guardar cada mtodo (cierre
de un mtodo modificado o al guardar utilizando el comando Archivo>Guardar, "on_create": la
macro se dispara al crear cada mtodo, "on_close": la macro se dispara al cierre de cada
mtodo.
"on_save" y "on_close" pueden utilizarse en conjunto, en otras palabras, ambos eventos se
generan en caso de que se cierre un mtodo modificado. Por otra parte, "on_create" y "on_load"
nunca se generan de manera consecutiva. Este atributo puede utilizarse, por ejemplo, para
preformatear los mtodos en el momento de su creacin (los comentarios en el rea de
encabezado) o grabar informacin tal como la fecha y hora al momento de cerrarlos.
- version: permite activar el nuevo modo de soporte de selecciones de texto para el macro (ver la
seccin Acerca de la etiqueta <method>). Para activar este nuevo modo, pase el valor "2". Si
omite este
atributo o pasa
version="1", se
conserva el
modo anterior.
- in_toolbar: Booleano que indica si la macro debe presentarse en el men del botn Macro de la
barra de herramientas. Valores= "true" (por defecto) o "false".
Etiqueta reemplazada por el texto seleccionado en el momento de la llamada al macro. La
<selection/>
seleccin puede estar vaca.
Inicio y fin del cdigo que debe insertarse en el mtodo. Un retorno de carro se aadir antes y
<text> </text>
despus del cdigo.
Inicio y fin del nombre del mtodo de proyecto y de su parmetro (opcional). El mtodo se
<method> ejecuta cuando se llama la macro. Puede pasar un parmetro en la forma ("param1;param2;...").
</method> Este parmetro ser recibido en el mtodo utilizando las variables $1, $2, etc.. Para informacin
adicional sobre esta etiqueta, consulte la seccin Acerca de la etiqueta <method>.
<caret/> Ubicacin del punto de insercin en el cdigo despus de insertada la macro.
<user_4D/> Etiqueta reemplazada por el nombre del usuario 4D actual.
<user_os/> Etiqueta reemplazada por el nombre del usuario del sistema actual.
<method_name/> Etiqueta reemplazada por el nombre del mtodo de proyecto actual.
<method_path/> Etiqueta reemplazada por la ruta de acceso completa del mtodo proyecto actual.
<date/> Etiqueta reemplazada por la fecha actual.
Atributo:
- format: formato 4D utilizado para mostrar la fecha. Si no hay un formato definido, se utiliza el
formato por defecto. Valores = nmero de formato 4D (0 a 8).
<time/> Etiqueta reemplazada por la hora actual.
Atributo:
- format: formato 4D utilizado para mostrar la hora. Si no hay un formato definido, se utiliza el
formato por defecto. Valores = nmero de formato 4D (0 a 6).
<clipboard/> Etiqueta reemplazada por el contenido del portapapeles.
Atributo:
- index: Portapapeles a pegar. Valores = nmero de portapapeles (0 a 9).
* Los macros pueden llamarse utilizando el men contextual del editor de mtodos o utilizando la funcin de tecleo
predictivo (ver la siguiente seccin).
- 486 -
** Si quiere ceirse a las especificaciones del lenguaje xml, no debe utilizar caracteres externos (caracteres
acentuados, comillas, etc.).
Este es un ejemplo de definicin de macro:
Contenido de la macro Comentarios
<?xml version=1.0...?> Declaracin XML
<!DOCTYPE macros
Declaracin de documento
SYSTEM>
<macros> Inicio de archivo XML de macros
<macro
Inicio de la definicin y nombre de la macro
name="RecordLoop">
<text> Inicio del cdigo de la macro
For($i;1;Records in La etiqueta <Selection/> se reemplazar por el cdigo seleccionado en el mtodo 4D al
selection(<Selection/>)) momento de la insercin de de la macro (por ejemplo, un nombre de tabla)
SAVE
RECORD(<Selection/>)
NEXT
RECORD(<Selection/>)
End for
</text> Fin del cdigo de la macro
</macro> Fin de la definicin de la macro
</macros> Fin del archivo XML de macros

La etiqueta <method>

La etiqueta <method> permite generar y utilizar los macro comandos que ejecutan los mtodos de proyecto de 4D. Este
principio permite a los desarrolladores crear funciones sofisticadas que pueden distribuirse va los macro comandos
asociados a los componentes. Por ejemplo, el siguiente macro provocar la ejecucin del mtodo MiMetodo con el
nombre del mtodo actual como parmetro:

<method>MiMetodo("<method_name/>")</method>

El cdigo del mtodo llamado se ejecuta en un nuevo proceso. Este proceso se termina una vez se ejecuta el mtodo.
Nota: el proceso de estructura permanece congelado hasta que termine la ejecucin del mtodo llamado. Debe
asegurarse de que la ejecucin sea rpida y de que no haya riesgo de bloquear la aplicacin. Si esto ocurre, utilice la
combinacin Ctrl+F8 (Windows) o Comando+F8 (Mac OS) para terminar el proceso.

Llamar macros

Por defecto, los macros pueden llamarse utilizando el men contextual o la barra de herramientas del editor de mtodos,
la funcin de tecleo predictivo, o una lista especifica al final de la ventana del editor de mtodos.
Note que es posible restringir para cada macro la posibilidad de llamada utilizando el men contextual y/o la funcin de
tecleo predictivo.

Men contextual y barra de herramientas


Por defecto, todas los macros pueden llamarse va el men contextual del editor de mtodos (utilizando el comando
jerrquico Insertar macro) o el botn Macros de la barra de herramientas.
El atributo in_menu de la etiqueta <macro> se utiliza para definir si el macro aparecer o no en este men.
En el men contextual, los macros se muestran en el orden del archivo Macros.xml y los archivos XML adicionales. Por
lo tanto es posible cambiar el orden modificando estos archivos.

Entrada predictiva
Por defecto, todos los macros son accesibles utilizando la funcin de tecleo predictivo (consulte Escribir un mtodo).
El atributo type_ahead de la etiqueta <macro> permite excluir un macro de este tipo de operacin.

Nota: si el macro contiene la etiqueta <selection/>, no aparecer en la ventana tecleo predictivo.


Lista en el editor
Puede mostrar sus macros en una lista del editor de mtodos (consulte Escribir un mtodo). Simplemente haga doble
clic en el nombre de un macro en la lista para llamarlo. No es posible excluir un macro especfico de esta lista.

Notas de compatibilidad
- 487 -
Notas de compatibilidad

El soporte de las macro puede cambiar de una versin de 4D a otra. Para mantener la compatibilidad entre las
diferentes versiones, preservando sus personalizaciones, 4D no elimina las versiones anteriores. Si desea utilizar las
funcionalidades ms recientes disponibles, debe efectuar adaptaciones.

Seleccin de texto de los mtodos


En las versiones de 4D anteriores a la v11, el programa mantuvo automticamente un conjunto de variables proceso
para la manipulacin de texto en los mtodos cuando se utiliza la etiqueta <method>: las variables de entrada (_textSel,
_blobSel, _selLen, _textMethod, _blobMethod, _methodLen) para recuperar texto y las variables de salida
(_textReplace, _blobReplace, _action) para insertar texto. Por razones de compatibilidad, este mecanismo an es
soportado, pero desde la versin 11 se ha quedado obsoleto por las siguientes razones:
El uso de variables BLOB para la gestin de textos con un tamao superior a los 32 000 caracteres ya no es
necesario,
La gestin de variables no es compatible con la arquitectura v11 de los componentes, en la que los espacios de
ejecucin de las variables se particionan. Un componente de la versin 11 no puede acceder a los textos de los
mtodos de la base local (y viceversa) utilizando variables predefinidas.
Por lo tanto, se recomienda administrar las selecciones de texto con los comandos GET MACRO PARAMETER y SET
MACRO PARAMETER. Estos comandos permiten superar la particin de los espacios de ejecucin base
local/componentes y permite la creacin de componentes dedicados a la gestin de macros. Para activar este modo
para una macro, debe declarar el atributo Version con el valor 2 en el elemento Macro. En este caso, 4D ya no genera
ms las variables predefinidas _textSel , _textReplace, etc. y se utilizan los comandos GET MACRO PARAMETER y
SET MACRO PARAMETER. Este atributo se debe declarar as:

<macro name="MyMacro" version="2">


--- Texto de la macro ---
</macro>

Si no pasa este atributo, el modo anterior se mantiene.


Incompatibilidades relacionadas con la norma XML
A partir de 4D v11, deben observarse reglas de sintaxis estrictas para que los archivos de macros respeten el estndar
XML. Esto puede dar lugar a incompatibilidades con el cdigo de las macros creadas con versiones anteriores y evitar
la carga de archivos XML. Las siguientes son las principales fuentes de fallas del sistema:
Los comentarios de tipo "// mi comentario", permitidos al interior de elementos <macro> en las versiones
anteriores de 4D, no son compatibles con la sintaxis XML. Las lneas de comentarios deben respetar la forma
estndar "<!-- mi comentario -->".
Los smbolos <> empleados particularmente para los nombres de objetos interproceso deben ser codificados. Por
ejemplo, la variable <>params debe escribirse &lt;>params.
La etiqueta de declaracin inicial <macros> poda omitirse en las versiones anteriores de 4D. Ahora es
obligatoria, de lo contrario, el archivo no se cargar.

Actualizacin del archivo Macros.xml


En la versin 12 de 4D, hay nuevos macro comandos disponibles para facilitar el uso de los comandos SQL. Como
puede personalizar el archivo "Macros.xml", la instalacin de una nueva versin de 4D no reemplaza automticamente la
versin existente del archivo. Para usar los nuevos macro comandos SQL de 4D v12, debe:
borrar el archivo "Macros.xml" en la carpeta "Macros v2" (si no lo ha modificado), luego lanzar 4D para crear el
nuevo archivo de forma automtica.
aadir manualmente las nuevas macros en el archivo "Macros.xml" de la carpeta "Macros v2" (si ya ha
personalizado el contenido). El nuevo archivo plantilla de macros se encuentra en la carpeta de la aplicacin4D
4D\Resources\en.lproj o 4D\Resources\ fr.lproj.

- 488 -
Buscar y reemplazar en mtodos

El editor de mtodos tiene funciones de bsqueda y reemplazo que aplica a la ventana actual.
El rea de bsqueda ubicada en la barra de herramientas de cada ventana de mtodo permite efectuar bsquedas
simples o llamar la caja de dilogo de bsqueda (ver Editor de mtodos).
Los comandos Buscar/Reemplazar en mtodos estn ubicados en el submen Buscar del men Edicin de 4D:

Nota: los comandos de bsqueda antes del submen Buscar no son especficos del editor de mtodos, pero pueden
utilizarse para buscar un valor entre todos los mtodos. Para mayor informacin, consulte Buscar y reemplazar.

Buscar

La seleccin del subcomando Buscar... del men Edicin produce la visualizacin de la siguiente caja de dilogo:

La bsqueda definida en esta caja de dilogo se efectuar en el mtodo en el primer plano.


El rea Buscar: permite introducir la cadena de caracteres a buscar. Esta rea es un combo box que guarda en
memoria las ltimas 15 cadenas de caracteres buscadas o reemplazadas durante la sesin. Si selecciona texto
antes de elegir el comando Buscar..., el texto seleccionado aparecer en esta rea. Puede entonces utilizar el
texto o reemplazarlo por otro.
La opcin Palabra completa se utiliza para limitar la bsqueda a las ocurrencias exactas de la palabra que
busca. Cuando esta opcin est
seleccionada, la bsqueda de cliente no encontrar clientes o micliente. Por defecto, la opcin no est
seleccionada; por lo tanto, la bsqueda de var encontrar Mivar, variacin, etc.
Atencin, a diferencia de la opcin Nombre completo de la caja de dilogo de bsqueda, la opcin Palabra
completa no tiene en cuenta nombres de objetos. Por ejemplo, con esta opcin, la bsqueda de Mi en un
- 489 -
mtodo encontrar la variable Mi Variable. Este no es el caso de una bsqueda global utilizando la opcin
Nombre completo, donde el mismo resultado no se encontrar en el contexto del ejemplo anterior ya que el
nombre completo (de la variable encontrada previamente) es Mi Variable y por lo tanto no corresponde
exactamente a la cadena introducida (Mi).
La opcin Mayscula/Minscula permite tener en cuenta si los caracteres estn en minsculas o maysculas en
el rea de bsqueda. Por ejemplo, la bsqueda de MiVar no encontrar miVar.
Los botones de opcin Anterior/Siguiente permiten definir la direccin de la bsqueda: hacia el inicio o el final
del mtodo actual, comenzando desde la ubicacin inicial del cursor.
El botn Aceptar permite lanzar la bsqueda. 4D comienza la bsqueda desde el punto de insercin actual y contina
hasta el final del mtodo. El primer elemento correspondiente a los criterios definidos se selecciona en la ventana del
editor de mtodos. Luego es posible continuar la bsqueda utilizando los comandos Buscar siguiente y Buscar
anterior del men Edicin.
Buscar mismo
El comando Buscar mismo permite buscar una cadena de caracteres idntica a la seleccionada. Este comando slo
est activo si ha seleccionado al menos un carcter en el editor de mtodos.

La bsqueda efectuada es del tipo Buscar siguiente en el mtodo actual.

Marcar todos
El comando Marcar todos est activo cuando una bsqueda se ha definido en la caja de dilogo de bsqueda o en la
de buscar y reemplazar. Cuando selecciona este comando, 4D pone una marca en cada lnea que contenga un
elemento correspondiente al criterio de bsqueda "actual". Esto facilita visualizar los resultados de la bsqueda.
Para mayor informacin sobre marcas, consulte "Utilizar marcas" en la seccin Escribir un mtodo.

Reemplazar

El comando Reemplazar muestra la siguiente caja de dilogo:

El rea Buscar: se utiliza para definir la cadena de caracteres o la expresin a buscar. Como en la caja de
dilogo Buscar, esta rea es un combo box que guarda las ltimas 15 cadenas de caracteres buscadas. Si
selecciona texto antes de elegir el comando Reemplazar, el texto seleccionado aparecer en esta rea.
El rea Reemplazar por: permite definir la cadena de caracteres de reemplazo. Esta rea tambin es un combo
box que almacena las 15 ltimas cadenas de caracteres buscadas o reemplazadas.
La opcin Palabra completa permite buscar/reemplazar slo las cadenas de caracteres que correspondan
exactamente con la cadena introducida. En este caso, por ejemplo, la bsqueda de cliente no encontrar las
cadenas clientes o micliente, etc.
La opcin Mayscula/Minscula permite buscar/reemplazar slo cadenas de caracteres escritas cmo se
escribi la cadena de caracteres introducida. Por ejemplo, la bsqueda de MiVar no encontrar miVar.
Como en la caja de dilogo Buscar, los botones de opcin Anterior y Siguiente permiten definir la direccin de la
bsqueda: hacia el inicio o
el final del mtodo actual, comenzando desde la ubicacin inicial del cursor.
El botn Reemplazar permite lanzar la bsqueda y reemplazar la primera ocurrencia encontrada. 4D comienza la
bsqueda desde el punto de insercin actual y contina hasta el final del mtodo. Luego es posible continuar
buscando/reemplazando utilizando los comandos Reemplazar siguiente y Reemplazar anterior del men Edicin.
El botn Todos permite reemplazar directamente todas las ocurrencias correspondientes al criterio de bsqueda en el
mtodo abierto.

- 490 -
Ir a definicin

El comando Ir a definicin permite abrir directamente en una nueva ventana la definicin de un objeto referenciado en
el editor de mtodos (mtodo, campo, tabla o formulario) directamente en una nueva ventana. Para hacer esto, ubique el
cursor dentro del nombre del objeto (o seleccinelo) y elija Ir a definicin... en el men Mtodo o en el men contextual
del editor.
Este comando funciona con los siguientes objetos:
mtodo proyecto: muestra el contenido del mtodo en una nueva ventana del editor de mtodos.
Nota: esta funcin es accesible va el atajo de teclado Ctrl+K (Windows) o Comando+K (Mac OS) cuando el
nombre del mtodo proyecto est seleccionado.
campo: muestra las propiedades del campo en el inspector de la ventana de estructura,
tabla: muestra las propiedades de la tabla en el inspector de la ventana de estructura,
formulario: muestra el formulario en el editor de formularios,
variable (local, proceso, interproceso o parmetro $n): muestra la lnea de declaracin de la variable en el mtodo
actual o entre los mtodos compilador.

Buscar referencias

El comando Buscar referencias... accesible en el men Mtodo o en el men contextual del editor busca todos los
objetos (mtodos y formularios) en la base donde el elemento actual del mtodo se referencia (utilizado).
El elemento actual es el elemento seleccionado o el elemento en el cual se encuentra el cursor. Puede ser un nombre de
campo, variable, comando, cadena, etc. Por ejemplo, la siguiente accin busca todas las ocurrencias de la variable
vlNbCmd en la base:

Este comando muestra su resultado en una nueva ventana. Para mayor informacin sobre la ventana de resultados,
consulte la seccin Ventana de resultados.

Buscar llamadas a este mtodo...

El comando Buscar llamadas a este mtodo... en el men Mtodo slo est activo para los mtodos proyecto. l
busca todos los objetos (otros mtodos o mens) que referencian el mtodo proyecto.
Nota: el comando Buscar llamadas a este mtodo... tambin est disponible en la Pgina Mtodos del Explorador.
Este comando muestra su resultado en una nueva ventana. Para mayor informacin sobre la ventana de resultados,
consulte la seccin Ventana de resultados.

Ir a la lnea no

Este comando de bsqueda especfico est ubicado en el men Mtodo y abre una caja de dilogo donde usted puede
indicar el nmero de lnea que quiere buscar. Al hacer clic en Aceptar, el editor muestra y selecciona esa lnea en el
mtodo. Este tipo de bsqueda es til cuando se utiliza en conjunto con el compilador, que indica los nmeros de lnea
donde hay errores.
Puede elegir mostrar o no los nmeros de lnea en la ventana del editor de mtodos. Esta opcin se describe en la
seccin Editor de mtodos.

- 491 -
Ejecutar mtodos

Los mtodos de proyecto escritos en su aplicacin generalmente se llaman automticamente durante el uso de la
aplicacin va los comandos de men, botones, otras mtodos, etc. Los mtodos de base, se ejecutan en funcin de los
eventos especficos que ocurren en la aplicacin.
Sin embargo, para realizar pruebas y depuracin, 4D le permite ejecutar manualmente la ejecucin de mtodos de
proyecto y de ciertos mtodos de base en modo Diseo. En este caso, es posible ejecutar el mtodo en un nuevo
proceso y/o directamente en modo Depuracin, para controlar su ejecucin paso a paso.
Adems, con 4D Server, puede indicar si 4D Server debe ejecutar un mtodo de proyecto en el equipo servidor o en
otros equipos cliente. Puede ejecutar mtodos de dos formas:
desde la ventana del editor de mtodos,
desde la caja de dilogo de ejecucin de mtodos (mtodos de proyecto nicamente).

Desde el editor de mtodos

Cada ventana del editor de mtodos tiene un botn que permite lanzar la ejecucin del mtodo actual. Utilizando el
men asociado a este botn, puede seleccionar el tipo de ejecucin:

Este botn est activo slo para los mtodos de proyecto y para los mtodos de base siguientes:
On Startup
On Exit
On Server Startup
On Server Shutdown
Los modos de ejecucin disponibles son:
Ejecutar en un nuevo proceso: crea un proceso y ejecuta el mtodo en modo estndar en este proceso.
Ejecutar y depurar en un nuevo proceso: crea un nuevo proceso y muestra el mtodo en la ventana del
depurador para una ejecucin paso a paso en este proceso.
Ejecutar en el proceso aplicacin: ejecuta el mtodo en modo estndar en el contexto del proceso aplicacin
(es decir, la ventana de visualizacin de registros).
Ejecutar y depurar en un nuevo proceso: muestra el mtodo en la ventana del depurador para una ejecucin
lnea por lnea en el contexto del proceso aplicacin (es decir, la ventana de visualizacin de registros).

Desde la caja de dilogo de ejecucin de mtodos

El comando Mtodo... del men Ejecutar permite seleccionar y ejecutar un mtodo de proyecto existente. Cuando
selecciona este comando, 4D muestra la caja de dilogo de ejecucin del mtodo:

- 492 -
Esta caja de dilogo lista todos los mtodos de proyecto presentes en la base, incluyendo los mtodos de proyecto
compartidos de los componentes. Por otra parte, no aparecern los mtodos de proyecto que han sido declarados
invisibles.
Para ejecutar un mtodo de proyecto, es suficiente seleccionar el nombre de un mtodo hacer clic en el botn Ejecutar.
Para ejecutar un mtodo lnea por lnea en modo Depurar, haga clic en Depurar. Para mayor informacin sobre el
depurador 4D, consulte el captulo Depurador del manual Lenguaje 4D.
Nota 4D Server: la opcin Depurar no est disponible si ejecuta el mtodo en el servidor.
Si selecciona la opcin Nuevo proceso, el mtodo de proyecto seleccionado crear un nuevo proceso. Si el mtodo
est efectuando una tarea larga tal como la impresin de un gran nmero de registros, puede continuar trabajando con
su base, aadiendo registros a una tabla, creando un grfico, etc. Para mayor informacin sobre procesos, consulte el
captulo Procesos del manual Lenguaje 4D.
Nota 4D Server:
Si quiere que el mtodo se ejecute en el equipo servidor en vez de e el equipo cliente, seleccione la opcin On 4D
Server en el men Ejecutar. En este caso, un nuevo proceso, llamado procedimiento almacenado, se crea en el
equipo servidor para ejecutar el mtodo.
Esta opcin puede utilizarse para reducir el trfico en la red y optimizar el funcionamiento de 4D Server, en
particular para los mtodos que
llama a los datos almacenados en el disco. Todo tipo de mtodo puede ejecutarse en el servidor o en otro equipo
cliente, excepto los que modifican la interfaz de usuario. En este caso, los procedimientos almacenados son
ineficaces.
Tambin puede elegir lazar la ejecucin del mtodo en otro equipo cliente. Los otros equipos cliente no
aparecern en el men, a menos que hayan sido registrados previamente (para mayor informacin, consulte la
descripcin del comando REGISTER CLIENT del manual Lenguaje 4D).
Por defecto, la opcin en local est seleccionada. Con 4D versin monopuesto, esta es la nica opcin
disponible.

- 493 -
Usuarios y grupos

Presentacin del control de acceso


Diseador y Administrador
Activar el control de acceso
Definir un Usuario por defecto
Administracin de usuarios y grupos
Dar acceso al modo Diseo
Asignar un grupo a los objetos de la base
Mantenimiento del sistema

- 494 -
Presentacin del control de acceso

Si diferentes personas utilizan una base de datos, usted podra controlar el acceso a la base de datos u ofrecer
diferentes funcionalidades e interfaces a los usuarios. Si est diseando aplicaciones para uso en un entorno
multiusuario o Web, es esencial proteger los datos importantes. Puede llevar a cabo esta proteccin asignando
contraseas a usuarios y creando grupos de acceso que tengan diferentes niveles de acceso a la informacin o a las
operaciones en la base de datos.

Privilegios de acceso

Asignar privilegios
El sistema de acceso por contraseas de 4D est basado en usuarios y grupos. Usted crea usuarios y asigna
contraseas, coloca los usuarios en grupos y asigna a cada grupo privilegios de acceso a diferentes partes de la base
de datos. Los grupos pueden tener asignados privilegios de acceso a operaciones con los registros de las tablas y a la
definicin de tablas.
El siguiente ejemplo muestra los privilegios de acceso Propietario del mtodo de proyecto
Aadir_Registro asignados a un grupo. Los grupos pueden generalmente pueden tener derechos de Acceso (uso)
y/o Propietario (modificacin).

Este punto se describe en Mantenimiento del sistema.


Para abrir la base de datos, un usuario selecciona o escribe su nombre de usuario y escribe su contrasea. Luego,
dependiendo a qu grupo pertenezca y a que partes de la base de datos los grupos han sido asignados, el usuario
puede operar las partes de la base de datos que fueron especificadas por el sistema de acceso.

Acceso a las bases protegidas


La pgina "Seguridad" de la caja de dilogo de las Propiedades de la base permite configurar el modo de acceso a la
base (ver la seccin Pgina Seguridad).

Por defecto, se muestra la caja de dilogo Identificacin de usuario:

- 495 -
En esta caja de dilogo, el usuario selecciona su nombre en la lista de usuarios y escribe su contrasea en el rea
de entrada.
Si deselecciona la opcin Mostrar lista de usuarios en la ventana de contraseas en la caja de dilogo
Preferencias, se muestra la caja de dilogo Identificacin de usuario:

En esta caja de dilogo, el usuario debe escribir su nombre y contrasea, lo cual refuerza la seguridad de la
aplicacin.
Si defini un Usuario por defecto en la caja de dilogo Preferencias y le asign una contrasea, se muestra la
siguiente caja de dilogo:

- 496 -
Los usuarios slo tienen que introducir la contrasea.
Si no hay una contrasea asignada para el usuario por defecto, no se muestra la caja de dilogo. Cada usuario,
en este caso, tiene los mismos privilegios y restricciones de acceso definidos para el usuario por defecto.
Si la opcin Los usuarios pueden cambiar sus contraseas est seleccionada en las Propiedades de la base, se
muestra el botn Cambiar en la caja de dilogo de entrada de contrasea. Este botn permite al usuario actual
cambiar su contrasea.
Nota 4D Server: es posible guardar los parmetros y los identificadores de conexin a una base en un archivo de
acceso de tipo .4DLink. Para mayor informacin, consulte la seccin manual de referencia de 4D Server Conexin a
una base 4D Server.
El usuario opera la base de datos de manera normal. Cuando el usuario intenta utilizar un formulario, comando de men,
mtodo o tabla al cual el grupo no tiene acceso,4D muestra un mensaje de error del tipo Su contrasea no le permite
utilizar este objeto.
Nota: si se instala un mtodo ON ERR CALL, no se muestra el mensaje de error para los mtodos.
Personalizar el icono de la ventana de identificacin
Es posible personalizar el icono mostrado en la caja de dilogo de conexin a una base de datos. Por defecto, este
icono representa el logo de 4D.

Para reemplazar este icono por uno de su eleccin, simplemente necesita poner un archivo llamado LoginImage.png
en la carpeta Resources de la base (ubicada junto al archivo de estructura de la base, ver Descripcin de los
archivos de 4D). El archivo personalizado debe ser de tipo png y su tamao debe ser de 80x80.

- 497 -
-->

Recordar contrasea

Cuando el usuario marca la opcin Recordar contrasea, 4D guarda la contrasea cuando se valida la caja de
dilogo y la reutiliza nicamente durante las conexiones posteriores. La contrasea se encripta y guarda localmente en
el archivo .4DLink correspondiente a la base.
Por esta razn, esta funcionalidad no es utilizable con todas las aplicaciones 4D. La siguiente tabla muestra su
disponibilidad:
4D modo local 4D modo remoto
Base no fusionada S S
Base fusionada con 4D Engine No S

Acceso externo utilizando el sistema de contraseas de 4D

Una vez definido, el sistema de control de acceso puede ser utilizado para varios tipos de acceso externos a la base de
datos 4D. Por lo tanto puede tomar ventaja de la jerarqua de acceso en estos contextos especficos.
El sistema de usuarios y grupos de 4D puede utilizarse para:
el servidor HTTP integrado de 4D. Para mayor informacin sobre cmo los usuarios y grupos 4D se tienen en
cuenta durante las conexiones al servidor web 4D, consulte Seguridad de las conexiones en el manual
Lenguaje.
El servidor SQL integrado de 4D. Para mayor informacin sobre los grupos de acceso al servidor SQL
integrado de 4D, consulte Configuracin del servidor SQL de 4D en el manual de referencia SQL 4D.

Un esquema de acceso jerrquico

La mejor forma de asegurar la seguridad de su base de datos y de ofrecer a los usuarios diferentes niveles de acceso
es utilizar un esquema de jerrquico de acceso. Los usuarios pueden ser asignados a diferentes grupos y los grupos
pueden ser jerarquizados para crear niveles de derechos de acceso. Esta seccin describe diferentes aproximaciones
a este esquema.
En este ejemplo, se asigna un usuario a uno de los tres grupos definidos dependiendo de la responsabilidad del
- 498 -
usuario. Los usuarios del grupo de Contabilidad son responsables de la entrada de datos. Los usuarios del grupo
Finanzas son responsables del mantenimiento de los datos, incluyendo actualizar registros y borrar registros obsoletos.
Los usuarios de Administracin General son responsables de analizar los datos, incluyendo la realizacin de bsquedas
y la impresin de informes.
Los grupos estn agrupados de manera que los privilegios se distribuyan correctamente a los usuarios de cada grupo.
El grupo Administradores contiene slo usuarios de alto-nivel.

El grupo de Finanzas contiene los usuarios del grupo de Administradores de manera que los usuarios de
Administradores tienen los privilegios del grupo de Finanzas.

El grupo de contabilidad contiene los usuarios de entrada de datos y los usuarios del grupo Finanzas y
Administradores tambin disfrutan de los privilegios del grupo Contabilidad.

Puede decidir los privilegios de acceso a asignar a cada grupo segn el nivel de responsabilidad de los usuarios que
incluya.
Si autoriza el acceso a un formulario de entrada al grupo Contabilidad, por ejemplo, esto significa que todos pueden
utilizar este formulario de entrada. Si le da acceso al grupo Finanzas a un formulario, el acceso est limitado a los
miembros de los grupos Finanzas y Administradores. Si asigna el grupo Administradores, slo los miembros de este
grupo pueden utilizar el formulario.
Su esquema de acceso debe restringir los accesos al nivel ms bajo posible, generalmente a nivel de formulario.

- 499 -
Diseador y Administrador

4D ofrece a los usuarios ciertos privilegios de acceso estndar para los dos entornos y ciertos poderes dentro de cada
entorno. Una vez activo un sistema de contraseas, los privilegios estndar toman efecto.
El usuario ms poderoso es el Diseador. El Diseador controla el diseo de la base, puede crear usuarios y grupos,
asignar privilegios de acceso a los grupos y utilizar el entorno Diseo. Ningn aspecto de la base de datos est cerrado
al Diseador.
Despus del Diseador, el segundo usuario ms poderoso es el Administrador, quien generalmente es el responsable
del manejo del sistema de contraseas. Cuando la pgina Usuarios de la caja de herramientas se abre por primera vez,
aparecen el Diseador y el Administrador en la lista de usuarios. En este punto, el Administrador es slo un usuario
regular sin privilegios de acceso especiales, particularmente si el acceso al entorno Diseo est restringido. Para poder
utilizar el sistema de acceso por contraseas, se le deben atribuir al Administrador ciertos privilegios de acceso
especiales. Para mayor informacin, ver Mantenimiento del sistema. El Administrador es el nico usuario con la
capacidad de guardar y cargar grupos. Para mayor informacin sobre guardar y cargar grupos como Administrador,
consulte la seccin Cargar y guardar grupos.
El acceso del administrador a las otras partes de la base de datos est limitado por su pertenencia a los grupos, el
Administrador debe hacer parte de uno o ms grupos para tener privilegios de acceso en la base de datos. Por defecto
el administrador est en todos los nuevos grupos, pero usted puede eliminarlo de los grupos.
En la caja de dilogo de gestin de usuarios, los iconos del Diseador y del Administrador aparecen en rojo y verde
respectivamente:
Icono del Diseador:
Icono del Administrador:

Puede renombrar los usuarios Diseador y Administrador, pero sus iconos no pueden modificarse.
Puede distinguir los usuarios y grupos creados por el Diseador y los del Administrador por el color de sus iconos:
Los iconos de grupos creados por el Diseador son rojos y los creados por el Administrador verdes.
Los iconos de usuarios creados por el Diseador son azules mientras que los creados por el Administrador son
verdes.
El propietario del grupo puede cambiar el nombre por defecto del grupo en cualquier momento.
El Diseador y el Administrador pueden crear hasta 16 000 grupos y 16 000 usuarios.

- 500 -
Activar el control de acceso

El sistema de acceso por contraseas de 4D se activa al asignar una contrasea al Diseador.


Mientras el Diseador no tenga una contrasea, 4D permite a todos los usuarios acceder a todas las partes de la base,
incluso si ha definido usuarios y grupos (no se solicita ninguna identificacin al abrir la base).
Cuando se asigna una contrasea al Diseador, todos los privilegios de acceso asignados a las tablas, formularios,
mens y mtodos toman efecto. Para abrir la base, los usuarios deben introducir una contrasea.
Atencin: No olvide la contrasea del Diseador! Si lo hace, no podr abrir la base en el entorno Diseo.
Para desactivar el sistema de acceso, slo tiene que eliminar la contrasea del Diseador.

- 501 -
Definir un Usuario por defecto

Puede definir un usuario por defecto para utilizar su base de datos. Cuando esta opcin est activa, los usuarios que
abren o se conectan a la base de datos no necesitan introducir un nombre. Adems, si no tiene asociada una
contrasea al Usuario por defecto, la caja de dilogo Identificacin del usuario no aparece y la base de datos se abre
directamente.
Una vez conectado como Usuario por defecto, cada usuario tiene los privilegios de acceso y las restricciones definidas
para el Usuario por Defecto. Esta opcin simplifica el acceso a la base de datos mientras mantiene un sistema
completo de control de las acciones del usuario.
Para definir un usuario por defecto elija su usuario en la lista desplegable "Usuario por defecto" de la Pgina
Seguridad de las Propiedades de la base. Este usuario debe haber sido creado previamente y definir sus privilegios y
restricciones de acceso en el editor de usuarios y grupos.
El acceso a la base ya no es personalizado. Cuando abre la base:
si no ha asociado una contrasea al Usuario por defecto, no aparece la caja de dilogo Identificacin del usuario.
Si tiene asociada una contrasea al Usuario por defecto, cuando abre la base de datos aparece una caja de
dilogo y debe introducir la contrasea de Usuario por defecto.

Cuando el modo Usuario por defecto est activo y se necesita una contrasea, no es recomendable seleccionar la
opcin Los usuarios pueden cambiar sus contraseas en la pgina Seguridad.

Mostrar nuevamente la caja de dilogo de Identificacin del usuario

Puede forzar a 4D a mostrar la caja de dilogo Identificacin del usuario, por ejemplo, para conectarse a la base de
datos como Diseador o Administrador.
Para volver a mostrar la caja de dilogo Identificacin del usuario cuando el modo Usuario por defecto est activo:
1. Abra la base de datos mientras mantiene presionada la tecla Mays.
Se muestra una caja de dilogo de Identificacin del usuario permitindole introducir un nombre y contrasea.

- 502 -
Administracin de usuarios y grupos

Los editores de usuarios y grupos estn ubicados en la caja de herramientas de 4D. Estos editores pueden utilizarse
para crear usuarios y grupos, asignar contraseas a usuarios, colocar usuarios en grupos, etc.

Aadir y modificar usuarios

Utilice el editor de usuarios para crear, definir sus propiedades y asignarlas a diferentes grupos, adems de controlar el
uso de la base de datos.
Para aadir un usuario:
1. Seleccione Caja de herramientas > Usuarios del men Diseo o haga clic en el botn Caja de herramientas
de la barra de herramientas de 4D.
4D muestra el editor de usuarios.

La lista de usuarios muestra todos los usuarios visibles por el usuario actual, es decir:
para el Diseador: todos los usuarios,
para el Administrador: los usuarios que l ha creado (iconos verdes).
2. Haga clic en el botn ms ubicado bajo la lista de usuarios.
O
Haga clic derecho en la lista de usuarios y elija el comando Aadir o Duplicar en el men contextual.

Nota: el comando Duplicar puede utilizarse para crear rpidamente varios usuarios que tengan caractersticas
comunes.
4D aade un nuevo usuario a la lista, llamado por defecto Nuevo usuarioX.
- 503 -
El rea de propiedades muestra informacin sobre el tipo de usuario:
El campo Referencia indica el nmero de referencia del usuario seleccionado. Este nmero es utilizado por
los comandos de lenguaje.
El campo Tipo de usuario indica de donde viene el perfil del usuario. Los tipos de usuario son los
siguientes:
Diseador: usuario Diseador
Administrador: usuario Administrador
Desarrollador: usuario creado por el Diseador
Usuario: usuario creado por el Administrador.
3. Introduzca el nombre del nuevo usuario.
Este nombre ser utilizado por el usuario para abrir la base de datos. Puede renombrar un usuario en cualquier
momento utilizando el comando Renombrar del men contextual o utilizando la combinacin Alt+clic (Windows) u
Opcin+clic (Mac OS), o haciendo clic dos veces en el nombre que quiere cambiar.
4. Introduzca la contrasea del usuario haciendo clic en el botn Modificar... en el rea de propiedades del usuario.
Aparece la siguiente caja de dilogo:

5. Escriba la contrasea en el rea de entrada Nueva Contrasea e introduzca nuevamente la contrasea en el rea
Confirmar contrasea.
Puede utilizar hasta 15 caracteres alfanumricos para una contrasea. El editor de contraseas tiene en cuenta si
los caracteres estn en maysculas o minsculas, el usuario debe introducir la contrasea exactamente como fue
introducida aqu. Por ejemplo, si define la contrasea Camino, el usuario debe introducirla con la letra C en
mayscula o de lo contrario 4D no aceptar la contrasea. Cuando se introduce una contrasea, no es visible en la
caja de dilogo, los caracteres introducidos aparecen como asteriscos.
6. Validar la caja de dilogo.
Si las dos entradas son diferentes, 4D lo indica y cancela la modificacin de la contrasea.
7. Seleccione un grupo de la lista desplegable Propietario por defecto de los objetos creados por este usuario.
Este grupo es propietario de todos los objetos (formularios, mtodos, etc.) que el usuario crea. Por ejemplo, el
grupo Contabilidad es propietario de todos los objetos creados por los usuarios del grupo Contabilidad. Si un
usuario de otro grupo intenta modificar un formulario creado por un miembro del grupo Contabilidad, aparece un
mensaje indicando que el usuario no tiene los privilegios para editar el formulario.
8. Introduzca el nombre de un mtodo asociado que ser ejecutado cuando el usuario abra la base de datos
(opcional).
Este mtodo puede utilizarse por ejemplo para cargar las preferencias del usuario.
9. Defina el o los grupo(s) a los que pertenece el usuario con ayuda de la tabla Miembro de los grupos.
Puede aadir el usuario seleccionado a un grupo marcando la opcin correspondiente en la columna
Miembro. Igualmente puede sacar el usuario de un grupo deseleccionando la opcin.
La columna Propietario indica si el usuario seleccionado es propietario del grupo. Esta columna no puede
modificarse.
Nota: la pertenencia de usuarios a los diferentes grupos tambin puede ser definida por grupo en la pgina
Grupos.
Para modificar las caractersticas de un usuario existente, simplemente seleccione el usuario en la lista y realice las
modificaciones. Consulte los pasos 3 a 9 para mayor informacin sobre los parmetros de los usuarios.

Borrar un usuario

Para borrar un usuario, seleccinelo y luego haga clic en el botn menos o utilice el comando Suprimir del men
contextual.
No es posible suprimir fsicamente una cuenta de usuario. Al pedir suprimir una cuenta, 4D le pide confirmar la
operacin y le indica que la cuenta aparecer como borrada en la lista de usuarios.
Si valida la caja de dilogo, la cuenta se desactiva y no podr utilizarse ms.
Un usuario borrado aparece en la lista gris.

Esto es necesario para garantizar la unicidad de los nmeros de identificacin de los usuarios.

Crear y configurar grupos de acceso

Puede utilizar el editor de grupos para definir los elementos que contiene cada grupo (usuarios y/u otros grupos) y para
distribuir los accesos a los plug-ins. Cuando crea un grupo, puede designar el propietario del grupo entre los usuarios.
- 504 -
Recuerde que una vez creado un grupo, no puede borrarse. Si quiere desactivar un grupo, slo necesita quitar los
usuarios que contiene.
Para crear un grupo:
1. Seleccione Caja de herramientas > Grupos de usuarios en el men Diseo o haga clic en el botn
Herramientas de la barra de herramientas 4D luego haga clic en el botn Grupos.
4D muestra la ventana de edicin de grupos:

La lista de grupos muestra todos los grupos de la base, sin importar que usuarios los cre.
2. Haga clic en el botn ms ubicado bajo la lista de grupos.
O
Haga clic derecho en la lista de grupos y elija el comando Aadir o Duplicar en el men contextual.

Nota: el comando Duplicar puede utilizarse para crear rpidamente varios grupos con caractersticas comunes.
4D aade un nuevo grupo a la lista, llamado por defecto Nuevo grupoX.
El rea de propiedades muestra la informacin sobre el grupo:
El campo Referencia indica el nmero de referencia del grupo seleccionado. Este nmero es utilizado por
los comandos de lenguaje.
El campo Tipo de grupo indica de dnde viene el grupo. Los tipos de grupos son los siguientes:
Grupo Diseador: grupo creado por el Diseador.
Grupo Administrador: grupo creado por el Administrador.
3. Introduzca el nombre del nuevo grupo.
El nombre del grupo puede tener un mximo de 15 caracteres.
Puede renombrar un grupo en cualquier momento utilizando el comando Renombrar del men contextual o
utilizando la combinacin Alt+clic (Windows) u Opcin+clic (Mac OS), o haciendo clic dos veces en el nombre
que quiere cambiar. Slo puede renombrar los grupos que ha creado. El Diseador no puede renombrar un grupo
creado por el Administrador y viceversa.
4. Seleccione un propietario de la lista desplegable Propietario (opcional).
El propietario del grupo puede aadir y eliminar usuarios del grupo (ver la siguiente seccin). Recuerde que por
defecto, el Administrador es el propietario de todos los grupos, incluso los creados por el Diseador.
5. Defina los miembros del grupo marcando las opciones correspondientes en el rea Miembro.
- 505 -
6. Distribuya los accesos a los plug-ins (opcional).
Para estos dos ltimos pasos, consulte los prrafos siguientes.

Definir un propietario del grupo


Puede designar un propietario para cada grupo utilizando la lista "Propietario". Generalmente, el propietario es el
Administrador, pero puede designar todos los miembros de grupos como propietarios.
El propietario de grupo tiene la capacidad de aadir y quitar usuarios de todos los grupos que le pertenecen. Los
usuarios para ser aadidos deben existir previamente. Los propietarios de grupo no pueden crear usuarios o cambiar
propiedades tales como contraseas. Los propietarios de grupo no pueden aadir o suprimir otros grupos.
Como para el Administrador, puede ser necesario acordar explcitamente el acceso del propietario del grupo al editor
de contraseas cuando el entorno Diseo est limitado. Para mayor informacin sobre este punto, consulte la seccin
Mantenimiento del sistema.
Poner usuarios o grupos en grupos
Puede poner todos los grupos o usuarios en un grupo y tambin puede poner el grupo en varios grupos. No es
obligatorio colocar un usuario en un grupo.
El Diseador puede modificar el contenido de cualquier grupo de la base. El Administrador y los usuarios propietarios
de grupos no pueden modificar el contenido de los grupos de los que no son propietarios.
No obstante, sin importar el estatus del usuario, usted puede ver, aadir o retirar todo usuario o grupo de sus propios
grupos.
Para ubicar un usuario o un grupo en un grupo, simplemente necesita marcar la opcin correspondiente en el rea de
atribucin de miembros:

Si marca el nombre de un usuario, el usuario se aade al grupo. Si marca el nombre de un grupo, todos los usuarios del
grupo se aaden al nuevo grupo.
Ubicar grupos en otros grupos permite crear una jerarqua de usuarios. Los usuarios de un grupo ubicado en otro grupo
tendrn los privilegios de acceso de ambos grupos. Por ejemplo, si coloca el grupo Administradores en el grupo
Contabilidad, los usuarios del grupo Administradores se beneficiarn de los privilegios de ambos grupos; sin embargo,
los usuarios que slo estn en el grupo Contabilidad, slo se beneficiarn de los privilegios de ese grupo. Para mayor
informacin sobre el funcionamiento de un sistema de acceso jerrquico, consulte la seccin Presentacin del control
de acceso.
Para suprimir un usuario o grupo de otro grupo, slo necesita deseleccionar la opcin correspondiente en la lista de
miembros.

Asignar un grupo a un plug-in o a un servidor web 4D Client


Puede asignar a un grupo privilegios a cualquiera de los plug-ins instalados en su base de datos. Esto incluye todos los
plug-ins de 4D y de terceras partes. Para mayor informacin sobre los plug-ins, consulte la seccin Set user
properties.
Distribuir los accesos a los plug-ins le permite controlar el uso de las licencias que tiene para estos plug-ins. Todos los
usuarios que no pertenezcan al grupo de acceso de un plug-in no podrn cargar este plug-in.
Igualmente puede restringir el uso del servidor web 4D Client y del servidor SOAP va el rea de acceso a los plug-ins.
El rea de Plug-ins de la pgina Grupos de la caja de herramientas lista todos los plug-ins cargados por la aplicacin
4D. Para darle a un grupo acceso a un plug-in, simplemente necesita marcar la opcin correspondiente:

Los elementos 4D Client Web Server y 4D Client SOAP Server permiten controlar la posibilidad de publicacin web y
SOAP (Servicios web) de cada 4D Client. Estas licencias son consideradas por 4D Server como licencias de plug-ins.
Por lo tanto, usted puede restringir el derecho a utilizar estas licencias a un grupo de usuarios especfico.

Cargar y guardar grupos

4D permite al Administrador guardar y cargar todo grupo que haya creado o modificado. Cuando se guardan los
- 506 -
grupos, se guarda todo sobre los usuarios y grupos actuales.
Esta posibilidad significa que el Administrador puede guardar el sistema de acceso de una base de datos y transferirlo
a una versin modificada de la misma base o de una nueva base. Esto es extremadamente til para la restauracin de
un sistema de acceso para una nueva versin de la base de datos. Como se pueden recargar los grupos, los usuarios
de la base de datos no tiene que adaptar un nuevo sistema de acceso.
Se conservan todos los nombres de usuarios, contraseas, nombres de mtodos de inicio, grupos, propietarios de
grupos y las jerarquas.
Nota: el Diseador no puede guardar o cargar grupos va el editor de grupos. Sin embargo, el Diseador puede
ejecutar lso comandos USERS TO BLOB y BLOB TO USERS.
Para guardar grupos creados o modificados por el Administrador:
1. Entre a la base de datos como Administrador y vaya a la pgina Grupos de la caja de herramientas.
2. Haga clic en el men de opciones y elija el comando Guardar los grupos y usuarios.
4D muestra una caja de dilogo de creacin de archivos para que pueda nombrar y guardar el grupo. Los archivos
de grupos y usuarios tienen la extensin .4UG.
Para cargar los grupos:
1. Entre a la base de datos como Administrador y vaya a la pgina Grupos de la caja de herramientas.
2. Haga clic en el men de opciones y elija el comando Cargar usuarios y grupos.
4D muestra una caja de dilogo de manera que pueda seleccionar el archivo del grupo.

- 507 -
Dar acceso al modo Diseo

Todos los usuarios tienen acceso al modo Aplicacin. Sin embargo, puede restringir el acceso al entorno Diseo,
simplemente seleccionando un grupo de la lista desplegable Acceso a la estructura en la Pgina Seguridad de las
Propiedades de la base.

En este caso, slo los usuarios que pertenezcan a este grupo as como el Diseador pueden modificar la estructura de
la base. El Diseador siempre tiene acceso al entorno Diseo, incluso si no pertenece explcitamente al grupo de
acceso en Diseo.

Todos los otros usuarios son usuarios ordinarios. Cuando un usuario abre la base de datos, se abre en el entorno
Aplicacin. El acceso de un usuario est limitado por su pertenencia a los grupos.

- 508 -
Asignar un grupo a los objetos de la base

Despus de definir los usuarios y grupos de acceso, puede asignar grupos a los siguientes objetos:
Formularios,
Mtodos,
Comandos de men.
Puede asignar slo un grupo a cada objeto. Por esta razn, es importante designar los grupos de acceso de manera
que los usuarios ms poderosos pertenezcan a todos los grupos situados debajo de ellos en la jerarqua de acceso.
Para conocer ms sobre cmo organizar usuarios y grupos de acceso, consulte la seccin Un esquema de acceso
jerrquico en Presentacin del control de acceso.

Asignar un grupo a un formulario

Cuando asigna privilegios de acceso a un formulario a un grupo, slo los usuarios pertenecientes a ese grupo pueden
utilizar ese formulario para la entrada de datos. Cuando asigne un grupo propietario privilegios para un formulario, slo
los usuarios pertenecientes a ese grupo pueden modificar ese formulario en el entorno Diseo.
Para asignar privilegios de acceso y de propiedad:
1. Abra el formulario en el editor de formularios luego despliegue sus propiedades en la Lista de propiedades.
O
Seleccione el formulario en la pgina Formularios del Explorador y luego seleccione el comando Propiedades
del formulario... en el men contextual o el men opciones de la pgina.
La Lista de propiedades y la ventana Propiedades del formulario incluyen listas de Acceso y Propietario:

- 509 -
2. Seleccione un grupo de la lista desplegable Acceso.
Si no selecciona un grupo, todos los grupos tienen privilegios de acceso al formulario (por defecto).
3. Seleccione un grupo de la lista desplegable Propietario.
Si no elije un grupo, todos los grupos tendrn los privilegios de propietario para el formulario (por defecto).

Asignar un grupo a un mtodo de proyecto

Cuando asigna un grupo de acceso a un mtodo de proyecto, slo los usuarios que pertenezcan a ese grupo pueden
utilizar ese mtodo. Cuando asigna un grupo propietario a un mtodo de proyecto, slo los usuarios pertenecientes a
ese grupo pueden modificar ese mtodo en el entorno Diseo.
Para asignar privilegios de acceso y de propietario:
1. Abra el mtodo en el editor de mtodos y seleccione el comando Propiedades del mtodo... en el men
Mtodo.
O
Seleccione un mtodo de proyecto en la Pgina Mtodos del Explorador y luego seleccione el comando
Propiedades del mtodo... en el men contextual o en el men opciones.
La caja de dilogo de propiedades del mtodo incluye las listas Acceso y Propietario (ver Propiedades de los
mtodos proyecto).
2. Elija un grupo de la lista desplegable Acceso.
Si no selecciona un grupo, todos los grupos tendrn privilegios de acceso al mtodo (parmetro por defecto).
3. Seleccione un grupo de la lista desplegable Propietario.
Si no selecciona un grupo, todos los grupos tendrn privilegios de propietario para el mtodo (parmetro por
defecto).

Asignar un grupo a un comando de men

Puede asignar un grupo de acceso a un comando de men de manera que slo los usuarios de ese grupo puedan
utilizarlo en el modo Aplicacin.
Para asignar un grupo de acceso a un comando de men:
1. Seleccione Caja de herramientas > Mens del men Diseo o haga clic en el botn Herramientas de la barra
de herramientas de 4D y luego haga clic en el botn Mens.
Aparece el editor de barras de mens. Para mayor informacin sobre este editor, por favor consulte el captulo
Mens y barras de mens.
2. Seleccione una barra de mens.
La lista central muestra los mens que pertenecen a esta barra de mens.
3. Expanda un men en la lista de mens de la barra.
- 510 -
Aparecen los comandos de mens y mtodos del men seleccionado.
4. Seleccione el comando de men para el cual quiere especificar un grupo de acceso.
5. Seleccione el grupo de la lista desplegable Privilegios de acceso.

- 511 -
Mantenimiento del sistema

Una vez se activa el sistema de contraseas, es necesario un mantenimiento ocasional del sistema. Hay que aadir
nuevos usuarios, cambiar la composicin de los grupos y cambiar regularmente las contraseas. El Diseador tiene
acceso al entorno Diseo y puede hacer las modificaciones necesarios utilizando las pginas Usuarios y Grupos de la
caja de herramientas.
El Administrador y el Diseador tambin pueden ver el historial de uso de cada usuario con fines de mantenimiento.
Nota: con fines de mantenimiento y para facilitar las actualizaciones de la base, es posible guardar y cargar los grupos
y los usuarios. Este punto se trata en la seccin Administracin de usuarios y grupos.

Acceso en mantenimiento

El Administrador no necesariamente tiene acceso al entorno Diseo (ver WA SET PREFERENCE). Sin embargo, si el
Diseador crea un mtodo de proyecto que contiene el comando EDIT ACCESS, el Administrador y los propietarios de
grupo pueden tener poder limitado para controlar los usuarios y los grupos.
El comando EDIT ACCESS puede incluirse en un mtodo asociado a un men personalizado del modo Aplicacin o
puede ejecutarse seleccionando el comando de men Ejecutar >Mtodo... Si el mtodo es ejecutado por un usuario
que no es el Administrador ni un propietario de grupo, no tiene efecto.
Cuando el mtodo se ejecuta, el resultado depende de si el usuario es el Administrador o un propietario de grupo.
Si el Administrador ejecuta el mtodo que contiene el comando EDIT ACCESS, 4D muestra la caja de
herramientas que contiene nicamente el editor de usuarios y el editor de grupos. El Administrador puede utilizar
estos editores para crear usuarios y grupos; editar usuarios o grupos que haya creado, cambiar las contraseas
de los usuarios y aadir o quitar usuarios de grupos que
haya creado.
El Administrador no puede asignar grupos a formularios, tablas u operaciones de tablas, comandos de men,
mtodos, o plug-ins. Slo el Diseador puede asignar estos grupos de acceso.
Si un propietario de grupo que no es el Administrador ejecuta el mtodo que contiene el comando EDIT
ACCESS, 4D muestra la caja de herramientas que contiene nicamente el editor de grupos. Adems, el editor
slo contiene grupos de los cuales el usuario es el propietario. El propietario de grupo puede aadir o quitar
usuarios de grupos. El propietario de grupo no puede crear usuarios, editar informacin de los usuarios, o aadir
grupos. Los comandos para aadir y editar usuarios y grupos estn desactivados.

Ver el historial

La pgina Usuarios de la caja de herramientas contiene la ltima fecha en que el usuario utiliz la base y el nmero total
de utilizaciones. El Administrador o el Diseador pueden ver esta informacin seleccionando un usuario en la lista.
Para ver la informacin de un usuario:
1. Seleccione Caja de herramientas > Usuarios del men Diseo o haga clic en el botn Caja de herramientas
de la barra de herramientas de 4D.
O
Ejecute el mtodo que contiene el comando EDIT ACCESS
2. 4D muestra la caja de herramientas que contiene el editor de usuarios.
3. Seleccione el nombre del usuario que le interesa en la lista de usuarios.
La caja de dilogo muestra la ltima fecha de uso y el nmero de veces que el usuario ha abierto la base de datos.

Modificacin de contrasea por el usuario

La caja de dilogo de identificacin del usuario por defecto incluye un botn Cambiar. Este botn permite al usuario
actual modificar su propia contrasea. Si se muestra la lista de usuarios, el usuario actual es el usuario seleccionado. Si
no se muestra la lista, el nombre del usuario actual debe introducirse de antemano en la caja de dilogo de
identificacin del usuario:

- 512 -
Cuando el usuario hace clic en el botn Cambiar, aparece la siguiente caja de dilogo:

Para poder modificar su contrasea, el usuario debe indicar su contrasea anterior. Se introduce la nueva contrasea y
se confirma. Una vez se valida la caja de dilogo, si la entrada es correcta, la nueva contrasea del usuario reemplaza la
anterior y se guarda en la base. Luego el usuario debe introducir la nueva contrasea y hacer clic en el botn Conectar
para abrir la base.
Es posible ocultar el botn Cambiar para evitar que el usuario cambie su contrasea. Esta opcin est en la Pgina
Seguridad de las Propiedades de la base.

- 513 -
Mens y barras de mens

Disear una interfaz con mens


Editor de mens
Crear mens
Asociar mens
Utilizar referencias en ttulos de mens
Definir la accin de un men
Definir las propiedades de los mens
Gestin de las barras de mens

- 514 -
Disear una interfaz con mens

Es posible crear mens personalizados para sus bases de datos y aplicaciones. Como los mens son una funcionalidad
estndar de toda aplicacin, su adicin har que su base de datos sea ms fcil de utilizar y sea ms familiar a los
usuarios. Cuando crea mens personalizados, tambin puede crear barras de herramientas personalizadas. Con mens
y barras de herramientas personalizadas, sus bases de datos funcionarn como aplicaciones autnomas.

Una aplicacin personalizada debe contener al menos una barra de men y un men. Por defecto, cuando crea una
base nueva, 4D crea una barra de mens personalizada de manera que pueda acceder al modo Aplicacin. Para mayor
informacin sobre la creacin de aplicaciones personalizadas, consulte Construir una aplicacin 4D en el manual
Lenguaje de 4D.

Principios

De manera general, los mens tienen comandos que el usuario selecciona para realizar tareas: modificar registros,
buscar registros, imprimir informes, etc. La siguiente imagen muestra un ejemplo de mens personalizados:

Una barra de mens es un grupo de mens que puede mostrarse en una misma pantalla. Cada men de una barra de
mens puede tener varios comandos, incluyendo algunos que llaman submens en cascada (conocidos como sub
mens jerrquicos). Cuando el usuario elije un comando de men o submen, llama un mtodo de proyecto o accin
estndar que realiza una operacin.
Puede tener diferentes barras de mens en la misma base de datos. Por ejemplo, puede utilizar una barra de mens
para las operaciones estndar de su bases de datos y otra que se active slo para la elaboracin de informes. Una
barra de mens puede contener comandos destinados a la entrada de registros. La barra de mens que aparece con el
formulario de entrada puede contener el mismo men, pero los comandos estn desactivados porque el usuario no los
necesita durante la entrada de datos.
Igualmente puede utilizar el editor de mens para crear las barras de herramientas personalizadas. Para hacerlo, asocie
un icono con un comando de men. El icono aparece en la barra de herramientas de 4D y el texto del men se utiliza
como mensaje de ayuda del icono.
Puede utilizar el mismo men en varias barras de mens y mens, o no asociarlo y administrarlo nicamente por
programacin (en este caso, hablamos de un men independiente).
Cuando disee mens, tenga en cuenta las siguientes dos reglas:
Utilice mens para funciones que sean apropiadas para mens: los comandos de men deben realizar tareas
tales como aadir un registro, bsquedas o impresiones.
Agrupe los comandos de mens por funciones: por ejemplo, todos los comandos de men para imprimir informes
deben estar en el mismo men. Otro ejemplo seran todas las operaciones para una tabla determinada deben
estar en un men.
Para crear mens y barras de mens, puede utilizar:
el Editor de mens,
los comandos del lenguaje,
una combinacin de ambos.
El lenguaje 4D permite crear y administrar barras de mens y mens totalmente por programacin, sin utilizar el editor
de mens. Para mayor informacin sobre este punto, consulte Mens en el manual Lenguaje de 4D.

- 515 -
Editor de mens

El editor de mens es accesible utilizando el botn Mens de la caja de herramientas.

Las barras de mens y los mens fuentes se muestran ahora como dos elementos de la misma lista jerrquica, en el
lado izquierdo de la caja de dilogo. Esto significa que usted puede ver todos los mens definidos en la base, sin que
sea necesario seleccionar primero una barra de mens. Los mens se listan en orden alfabtico.
Cada men puede asociarse a una barra de mens o a otro men. En los dos casos, el men se convierte en un sub
men (ver el prrafo Asociar un men a otro men (Sub mens)).
Para ver el contenido de una barra de mens o de un men, haga clic en su ttulo en la lista de la izquierda del editor. La
lista de los elementos pertenecientes a la barra de mens o men se mostrar en el rea central. Las propiedades de la
barra de mens o men aparecern tambin en el rea derecha de la ventana. Para mostrar las propiedades de un
elemento de men, seleccinelo en la parte central de la ventana.
Una marca de seleccin () indica el elemento (barra de mens o men) al cual pertenece el men seleccionado.
Cuando un men est asociado con varios elementos, se muestran varias marcas de seleccin. En el siguiente ejemplo,
el men "Consultas" se asocia a la barra de mens #2:

Si el men no se utiliza (men independiente), no aparece una marca de seleccin.

Men contextual y men de opciones

El editor de mens incluye un men contextual, que permite acceder directamente a las acciones posibles en funcin del
tipo de elemento en el cual se hizo clic (barra de men, men, lnea). El men contextual permite aadir o eliminar un
elemento, expandir o contraer la lista y ofrecer acciones ms especficas.
El editor de mens tambin incluye un men de opciones accesible al hacer clic en el botn en forma de pin, el cual
- 516 -
se encuentra debajo de la lista a la izquierda. Este men incluye comandos permanentes y comandos contextuales. Los
comandos permanentes permiten crear una nueva barra o un nuevo men, as como tambin un men Edicin estndar.
Los comandos contextuales son relativos al elemento seleccionado (barra o men) y ofrecen acciones de gestin
apropiadas.

- 517 -
Crear mens

Barra de mens por defecto

Cuando crea una nueva base, 4D crea automticamente una barra de mens por defecto (Barra de men #1) incluyendo
los mens estndar y un comando de retorno al modo Diseo.
Este mecanismo permite al usuario acceder al modo Aplicacin tan pronto como se crea la base. La barra de mens #1
se llama automticamente cuando el comando Probar aplicacin se selecciona en el men Ejecutar.
La barra de mens por defecto contiene tres mens: Archivo, Edicin y Entorno.

Archivo: este men slo incluye el comando Salir. La accin automtica Salir est asociada al comando, la cual
provoca el cierre de la aplicacin.
Edicin (estndar): el men Edicin es estndar y es completamente modificable. Las funciones de edicin del
tipo copiar, pegar, etc. se definen utilizando acciones estndar.
Entorno: el men Entorno contiene por defecto los comandos Volver al entorno Diseo, el cual se utiliza para
salir del modo Aplicacin.
Nota: los elementos de men aparecen itlicas porque se trata de referencias y no de textos. Para mayor informacin,
consulte Utilizar referencias en ttulos de mens.
Puede modificar esta barra de men como quiera o crear barras de mens adicionales.

Crear una barra de mens

Esta seccin describe el proceso de creacin de una barra de mens personalizada.


Nota: es posible crear barras de mens totalmente por programacin. Para mayor informacin sobre este punto,
consulte el captulo Mens en el manual Lenguaje de 4D.
Para crear una barra de mens:
1. Vaya a la pgina Mens de la caja de herramientas de 4D.
4D muestra el editor de barras de mens. Por defecto, aparece la barra de mens #1 en el panel a la izquierda,
as como las otras barras que hayan sido creadas.
4D asigna secuencialmente los nmeros de barras de mens, aparece primero la barra Barra de mens #1.
Puede renombrar las barras de mens pero no puede cambiar los nmeros. Estos nmeros son utilizados por los
comandos del lenguaje.
2. Haga clic en el botn aadir situado debajo del rea de barras de mens.
O
Seleccione Crear una nueva barra de mens en el men contextual de la lista o en el men de opciones
ubicado bajo la lista.
Una nueva barra de mens aparece en la lista con los mens por defecto (Archivo y Edicin).
3. Alt+clic (Windows) u Opcin+clic (Mac OS) en el nombre de la barra de mens o haga clic dos veces en su
nombre con el fin de pasar al modo edicin e introducir un nombre personalizado (opcional).
O
Introduzca un nombre personalizado en el rea Ttulo.
Un nombre personalizado puede facilitar la identificacin de las barras de mens en las diferentes cajas de
dilogo del entorno Diseo y en el lenguaje. El nombre de una barra de mens puede tener hasta 31 caracteres y
debe ser nico.
En este momento, puede comenzar a modificar las barras de mens o aadir mens, comandos a los mens, etc.

Crear mens

Puede crear mens en cualquier momento. Pueden asociarse a barras de mens o a otros mens (submens
jerrquicos), o no asociarlos a ningn elemento y administrarlos nicamente por programacin (mens independientes).
No es necesario crear los mens en el orden en el que aparecern. Usted puede reorganizar los mens despus de
crearlos utilizando arrastrar y soltar. Para mayor informacin, consulte la seccin Reorganizar los mens y las lneas de
mens.
Nota: es posible crear mens totalmente por programacin. Para mayor informacin, consulte el captulo Mens en el
manual Lenguaje.
Para crear un men:
1. Vaya a la pgina Mens de la caja de herramientas de 4D.
- 518 -
2. Seleccione la etiqueta Mens o un men existente en la lista de los mens fuente y haga clic en el botn .
O
Elija Crear un nuevo men en el men contextual (clic en el ttulo Mens o en un men existente) o en el men
opciones del editor.
4D aade un nuevo men al final de la lista.
3. Alt+clic (Windows) u Opcin+clic (Mac OS) en el nombre del men o haga clic en l para pasar al modo editable
e introducir un nombre personalizado.
O
Introduzca un nombre personalizado en el rea Ttulo.
Puede introducir el nombre del men directamente o introducir una referencia a una variable, fuente o elemento
XLIFF. Para mayor informacin sobre este punto, consulte Utilizar referencias en ttulos de mens.
Si introduce directamente el nombre, evite los caracteres de control que pueden afectar la visualizacin del men
(ver la seccin Caracteres de control en las etiquetas de mens).
4. Repita los pasos 2 y 3 para aadir ms mens (opcional).
Puede previsualizar un men mientras lo est creando seleccionando el men fuente y haciendo clic en el rea de
previsualizacin, en la parte derecha del editor.

Crear lneas de mens

Para cada men, debe men debe crear los comandos de mens que aparecen cuando los mens se despliegan.
Puede insertar lneas que se asociarn con mtodos o acciones estndar, o asociar otros mens (sub mens). La
asociacin de sub mens jerrquicos se describe en Asociar mens.
Para aadir un comando de men:
1. En la lista de mens fuente, seleccione el men al que quiere aadir un comando.
Si el men ya tiene comandos, se mostrarn en la lista central. Si quiere insertar el nuevo comando, seleccione el
comando que quiere que aparezca arriba de l. Es posible reordenar el men posteriormente.
2. Elija Aadir lnea al men NombreMenu en el men de opciones del editor o en el men contextual (haga clic
derecho en la lista central).
O
Haga clic en el botn de adicin ubicado debajo de la lista central.
4D aade una nueva lnea y la nombra por defecto Lnea X donde X es el nmero de elementos creados.
3. Presione Alt+clic (Windows) u Opcin+clic (Mac OS) o haga clic dos veces en el nombre del comando con el fin
de pasar a modo edicin e introducir un nombre personalizado.
O
Introduzca un nombre personalizado en el rea Ttulo.
Puede introducir el nombre del men directamente o introducir una referencia a una variable, fuente o elemento
XLIFF. Para mayor informacin, consulte Utilizar referencias en ttulos de mens. Si introduce el nombre
directamente, debe evitar los caracteres de control que pueden afectar la visualizacin del comando de men (ver
la siguiente seccin).
4. (Opcional) Introduzca una referencia personalizada en el rea Referencia.
Esta referencia puede ser utilizada por los comandos del lenguaje. Para mayor informacin, consulte la seccin
Parmetro personalizado.
5. Repita los pasos 1 a 4 para aadir otros comandos.

Caracteres de control en las etiquetas de mens

Es posible definir las propiedades de los comandos de mens utilizando caracteres de control (metacaracteres)
directamente en las etiquetas de comandos de mens. Por ejemplo, puede asignar el atajo de teclado Ctrl+G
(Windows) o Comando+G (Mac OS) a un comando de men colocando los caracteres /G en la etiqueta del elemento
de men.
Los caracteres de control no aparecen en las etiquetas de los comandos de mens. Por lo tanto debe evitar utilizarlos
de manera que no surjan efectos indeseables. Los caracteres de control son los siguientes:
( (abrir parntesis)
< (menor que)
! (signo de admiracin)
^ (acento circunflejo)
/ (barra diagonal)
Para mayor informacin sobre el uso de estos caracteres, consulte la descripcin del comando APPEND MENU ITEM
en el manual Lenguaje de 4D.

Reorganizar los mens y las lneas de mens

- 519 -
Despus de crear los mens de una barra de mens y sus comandos de mens, puede reorganizarlos utilizando
arrastrar y soltar. Para insertar un comando de men en un nuevo lugar, simplemente arrstrelo hasta su nueva ubicacin
en la lista de mens. Para mover un men a una nueva ubicacin, simplemente arrstrelo a otra ubicacin en la lista de
mens.

Borrar mens y comandos de mens

Puede borrar una barra de mens, un men o un elemento de men en cualquier momento. Note que cada men o barra
de men tiene slo una referencia. Cuando un men se asocia a diferentes barras o a diferentes mens (ver Asociar
mens), toda modificacin o eliminacin efectuada en este men es reportada inmediatamente en todas las
instancias de este men.
Para borrar una barra de mens, un men o una lnea de mens, usted tiene dos posibilidades:
seleccionar el elemento a borrar y hacer clic en el botn de eliminacin ubicado debajo de la lista.
Utilice los comandos Borrar la barra de mens, Borrar el men o Borrar el comando de men en el
men contextual o el men de opciones del editor.
Nota: no es posible borrar la barra de mens #1.

- 520 -
Asociar mens

Asociar un men a una barra de mens

Una vez haya creado un men, puede asociarlo a una barra de mens. La conexin de un men a una barra de mens
se efecta por arrastrar y soltar, por el men de opciones o por el men contextual del rea central.
Utilizar arrastrar y soltar: haga clic en una barra de mens para mostrar su contenido en la lista central;
seleccione un men en la lista de la izquierda y arrastre y suelte en la ubicacin deseada en la lista central.
Utilizar el men contextual: haga clic en una barra de mens con el fin de mostrar su contenido en la lista
central; haga clic derecho en esta rea y seleccione el comando Aadir un men a la barra nombre barra >,
luego elija el men a utilizar como submen:

Utilizar el men opciones: seleccione una barra de mens en la lista a la izquierda y luego haga clic en el men
de opciones ubicado debajo de la lista; seleccione el comando Asociar un men a la barra nombre barra >,
luego elija el men a utilizar como sub men:

Asociar un men a otro men (Sub mens)

Es posible asociar mens a otros mens, es decir, definir sub mens jerrquicos. En una barra de mens, los sub
mens pueden utilizarse para reagrupar funciones temticas al interior de un mismo:

Los submens y sus elementos pueden tener los mismos atributos que los mens (acciones, mtodos, atajos, iconos,
etc.).
En el editor de mens, los sub mens aparecen en forma de elementos de lista jerrquica:
- 521 -
Para crear un sub men, simplemente asocie un men existente a una lnea de otro men. Hay dos posibilidades:
Utilizar arrastrar y soltar: seleccione un men en la lista a la izquierda y arrstrelo al elemento en la lista central
al cual quiere asociar el sub men.
Utilizar el men contextual: en la lista central, haga clic derecho en la lnea a la cual quiere asociar el men. En
el men contextual, seleccione el comando Aadir un submen a la lnea nombre lnea>, luego elija el men
que quiere utilizar como sub men:

El men que se est asociando se convierte entonces en un sub men. El ttulo de la lnea se conserva (se ignora el
nombre original del submen), pero este ttulo puede modificarse.
Las lneas de submens conservan sus caractersticas y sus propiedades, el funcionamiento de los sub mens es
idntico al de un men estndar.
Puede crear sub mens de sub mens. Simplemente expanda el sub men en la lista central y asocie un men a una sub
lnea. Puede aadir sub mens a una profundidad virtualmente ilimitada. Note, sin embargo, que por razones de
ergonoma de interfaz, por lo general no se recomienda ir ms all de dos niveles de sub mens.

Desasociar un men o sub men

En cualquier momento puede desasociar un men de una barra o un sub men de un men. El men desasociado no
aparece disponible en la barra de mens o sub men, pero contina en la lista de mens.
Para desasociar un men, haga clic derecho en la lista central en el men o sub men a desasociar, luego seleccione el
comando Separar el men nombre men de la barra nombre barra o Separar el submen de la lnea
nombre lnea.

Mens independientes

Es posible definir mens independientes; es decir, no asociados a una barra de mens o a otro men especfico.
Estos mens pueden configurarse en el editor de mens pero deben ser administrados utilizando comandos del
lenguaje (ver Mens).
Para crear un men independiente, seleccione el comando Men en el men asociado al botn de creacin en la lista
de barras de mens/mens:

- 522 -
Utilizar referencias en ttulos de mens

Es posible introducir las etiquetas y ttulos de mens en forma de referencias no de textos directamente. Esto facilita la
traduccin de las aplicaciones. Puede utilizar tres tipos de referencias:

una referencia a un recurso XLIFF del tipo :xliff:MiEtiqueta o :15115,3 (compatibilidad). Para mayor informacin
sobre las referencias XLIFF, consulte la seccin Anexo C: Arquitectura XLIFF.
un nombre de variable interproceso seguido de un nmero, por ejemplo <>vlang,3. Cambiar el contenido de
esta variable modificar la etiqueta del men cuando se muestre. En este caso, la etiqueta llamar a un recurso
XLIFF o STR# en funcin de la arquitectura de traduccin de la base:
Arquitectura XLIFF: el valor contenido en la variable <>vlang corresponde al atributo id del elemento grupo.
El segundo valor (3 en este ejemplo) designa el atributo id del elemento trans-unit.
Arquitectura STR#: la cadena de caracteres contenida en la tercera lnea del recurso STR# cuyo nmero se
encuentra en la variable interproceso <>vlang se mostrar como etiqueta del men.
una referencia a un recurso STR#. Si introduce, por ejemplo, :2000,3 la cadena de caracteres contenida en la
tercera lnea del recurso STR# 2000 se mostrar como etiqueta de men. El hecho de cambiar el contenido de
este recurso STR# por programacin utilizando el lenguaje 4D (ver el tema Recursos) o un editor de recursos
(bajo Mac OS) cambiar el nombre del men la prxima vez que se muestre.
Nota de compatibilidad: 4D an soporta recursos por razones de compatibilidad nicamente pero este mecanismo es
obsoleto y no es recomendable utilizarlo. Se recomienda que base sus interfaces dinmicas en variables o en la
arquitectura XLIFF.

- 523 -
Definir la accin de un men

Para permitir a un comando de men realizar una accin, debe asignarle un mtodo de proyecto o una accin estndar
que realice esta accin.
Estos mtodos o acciones estndar realizan las funciones indicadas por los comandos de men. Por ejemplo, el
comando de men Informe mensual puede llamar un mtodo de proyecto que prepare un informe mensual a partir de
una tabla que contenga los datos financieros. El comando de men Cortar puede llamar a la accin estndar Cortar
para mover la seleccin al portapapeles y borrarla de la ventana del primer plano. Cuando se elige un comando de
men, 4D ejecuta la accin estndar o el mtodo de proyecto que le fue asignado.
La eleccin de asociar una accin estndar o un mtodo de proyecto a un comando de men depende del tipo de
resultado deseado. En principio, es preferible elegir una accin estndar cuando sea posible ya que implementan
mecanismos optimizados, especialmente activacin/desactivacin en funcin del contexto.
Igualmente puede asociar al mismo tiempo una accin estndar y un mtodo de proyecto a un comando de men. En
este caso, la accin estndar nunca se ejecuta; sin embargo, 4D utiliza esta accin para activar/desactivar el comando
de men de acuerdo al contexto. Cuando un comando de men est desactivado, el mtodo de proyecto asociado no
puede ejecutarse.
Puede crear los mtodos proyecto en el Editor de mtodos. Puede crearlos antes o despus de asignarlos a los
comandos de men. Cuando haya asignado un mtodo a un comando de men en el editor de
mens, puede abrir este mtodo directamente seleccionando el botn [...].
Si un comando de men no est asociado a una accin estndar o mtodo, cuando este comando se selecciona en el
men Aplicacin, 4D volver automticamente al modo Diseo (si es accesible).

Asociar un mtodo de proyecto

Para asignar un mtodo de proyecto a un comando de men:


1. Cree o seleccione el comando de men.
El rea de propiedades cambia para mostrar las propiedades del comando de men seleccionado.
2. Si el mtodo de proyecto ya existe en la base, seleccinelo utilizando el combo box Nombre del mtodo.
O
Si el mtodo de proyecto no existe, introduzca su nombre en el combo box Nombre del mtodo luego haga clic
en el botn [...].
En el segundo caso, 4D muestra la caja de dilogo de creacin del mtodo de proyecto, permitindole acceder al
editor de mtodos.
Nota: si cambia el nombre de un mtodo utilizado en un men, debe actualizar el nombre del mtodo en el editor
de mens.
3. Seleccione la opcin Iniciar un nuevo proceso (opcional).
Si selecciona la opcin Iniciar un nuevo proceso, se crea un nuevo proceso cuando se elige el comando de
men. Normalmente, un mtodo asociado a un comando de men se ejecuta en el proceso actual a menos que
llame explcitamente a otro proceso en su cdigo. La casilla de seleccin Iniciar un nuevo proceso facilita el
inicio de un nuevo proceso.
Si selecciona la casilla Iniciar un nuevo proceso, 4D crear un nuevo proceso cuando el comando de men sea
seleccionado. En la lista de procesos, 4D asigna un nombre por defecto al nuevo proceso "ML_NmeroProceso".
Los nombres de los procesos lanzados desde un men se crean combinando el prefijo ML_ con el nmero de
proceso. Para mayor informacin sobre procesos, ver el captulo Procesos en el manual Lenguaje.

Asociar una accin estndar

Para asociar una accin estndar a un comando de men:


1. Cree o seleccione el comando de men.
El rea de propiedades cambia para mostrar las propiedades del comando de men seleccionado.
2. Elija la accin que quiere asignar en el men Accin automtica asociada.
La lista de acciones estndar propuesta para los mens es similar a la lista de acciones estndar de los botones
(accesible en la lista de propiedades de botones del editor de formularios de 4D El editor de formularios). La
mayora de las acciones pueden en efecto ser utilizadas en ambos contextos. Slo la accin Separador
automtico no puede asociarse con un comando de men: por lo tanto no aparece en el men pop-up de
seleccin. Para una descripcin de cada accin estndar, consulte Acciones estndar.
Nota para Mac OS: bajo Mac OS, los comandos de mens personalizados asociados a las acciones
- 524 -
Preferencias y Salir se ubican automticamente en el men de la aplicacin, conforme a las normas de interfaz
de esta plataforma.
3. Seleccione la opcin Ejecutar sin validacin (opcional).
Cuando esta opcin est seleccionada, 4D no valida el campo donde el cursor se encuentra antes de ejecutar la
accin asociada.
Esta opcin se utiliza principalmente en comandos de men Edicin. Por defecto, 4D procesa y valida los
contenidos de un campo antes de ejecutar una accin estndar (va un comando de men o un atajo), el cual
genera un evento de formulario On Data Change. Esto puede dificultar la operacin de los comandos tipo
copiar/pegar ya que el evento de formulario On Data Change se genera inesperadamente cuando se llama a
estos comandos. En este caso, es til marcar la opcin Ejecutar sin validacin.

- 525 -
Definir las propiedades de los mens

En la parte derecha del Editor de mens, puede configurar las diferentes propiedades de las lneas de mens, como el
estilo de la fuente de caracteres, las lneas de separacin, los atajos de teclado o los iconos de la barra de
herramientas.

Parmetro personalizado

Es posible asociar un parmetro personalizado a cada lnea de men. Un parmetro de lnea de mens es una cadena
de caracteres cuyo contenido es libre.
Los parmetros de lneas de mens son tiles principalmente para la gestin programada de mens, en particular
durante el uso de los comandos Dynamic pop up menu, Get menu item parameter y Get selected menu item
parameter.

Lneas de separacin

Los grupos de comandos de mens pueden estar separados por una lnea. Esta funcionalidad es til para agrupar los
comandos de mens por funcin.

Al crear un comando de men usted aade una lnea de separacin. En lugar de introducir el nombre del comando del
men, simplemente seleccione la opcin Lnea de separacin. En lugar de texto, aparece la lnea en el rea del
comando actual.
Nota: bajo Mac OS, si utiliza el guin - como primera letra de un elemento de men, aparecer como una lnea de
separacin. Esto es til especialmente cuando utiliza el comando INSERT MENU ITEM.
La lnea aparece en el rea de la barra de mens actual.

Nota: cuando la opcin Lnea de separacin est seleccionada, las otras propiedades no tienen efecto.

Asignar atajos de teclado

Puede aadir atajos de teclado a todos los comandos de men. Si un comando de men tiene un atajo de teclado, los
usuarios vern un smbolo junto al comando de men. Por ejemplo, Ctrl+C (Windows) o +C (Mac OS) aparece junto
al comando de men Copiar en el men Edicin.
Tambin puede aadir la tecla Mays as como las teclas Alt (Windows) u Opcin (Mac OS) al atajo de teclado
asociado a un comando. Esta posibilidad multiplica el nmero de atajos que pueden utilizarse en las barras de mens.
Pueden definirse los siguientes atajos de teclados:
Bajo Windows:
Ctrl+letra
Ctrl+Mays+letra
Ctrl+Alt+letra
Ctrl+Mays+Alt+letra
Bajo Mac OS:
Comando+letra
Comando+Mays+letra
Comando+Opcin+letra
Comando+Mays+Opcin+letra
Nota: es recomendable mantener los atajos de teclado asociados por defecto con acciones estndar.
Puede utilizar toda tecla alfanumrica como un atajo de teclado, excepto las teclas reservadas para comandos de men
estndar que aparecen en los mens Edicin y Archivo, y las teclas reservadas para
los comandos de men 4D.
- 526 -
Las combinaciones reservadas estn en la siguiente tabla:
Tecla Operacin
Ctrl+C Copiar
Ctrl+Q Salir
Ctrl+V Pegar
Ctrl+X Cortar
Ctrl+Z Deshacer
Ctrl+. (punto) Detener accin
Bajo Mac OS, utilice la tecla Comando en lugar de Ctrl.
Para asignar un atajo de teclado:
1. Seleccione el comando de men al cual quiere asignarle un atajo de teclado.
2. Haga clic en el botn [...] a la derecha del rea Atajo de teclado.
Aparece la siguiente ventana:

3. Introduzca el carcter a utilizar luego (opcional) seleccione las opciones Mayscula y/o Alt (Opcin) de acuerdo
a la combinacin que quiera obtener.
Notas:
Tambin puede presionar directamente las teclas que forman la combinacin (no presione la tecla
Ctrl/Comando).
No es posible deseleccionar la tecla Ctrl/Comando, la cual es obligatoria para atajos de teclado de mens.
Para comenzar nuevamente, haga clic en Borrar.
4. Haga clic en Aceptar para validar los cambios.
El atajo definido se muestra en el rea Atajo:

Nota: un objeto activo tambin puede tener un atajo de teclado. Si la tecla Ctrl/Comando crea conflicto, el objeto activo
tendr la prioridad. Para mayor informacin sobre la asignacin de atajos de teclado a objetos activos, ver Atajo de
teclado.

Lnea activa

Es posible especificar si una lnea aparecer activa o no. Un comando de men activo puede ser elegido por el usuario;
un comando de men inactivo no puede ser seleccionado.
Por defecto, 4D activa automticamente cada comando de men aadido a un men personalizado. Puede desactivar
un comando, por ejemplo, para activarlo nicamente por programacin (comandos (ENABLE MENU ITEM y DISABLE
MENU ITEM).
Cuando la casilla Elemento activo no est marcada, el comando de men aparece en gris, lo cual significa que no
puede ser seleccionado.

Marca de seleccin

Esta opcin puede utilizarse para asociar por defecto una marca de seleccin a una lnea de men. Luego puede
administrar la visualizacin de la marca de seleccin utilizando los comandos del lenguaje (SET MENU ITEM MARK y
Get menu item mark).
Las marcas de seleccin generalmente se utilizan para los comandos de mens de accin contina e indican que la
accin est en curso:

- 527 -
Estilos de fuentes

4D le permite personalizar los mens aplicando diferentes estilos de fuentes a los comandos de mens. Puede
personalizar sus mens con los estilos Negrita, Cursiva o Subrayado.
Tenga cuidado al aplicar estilos de fuentes a sus mens, demasiados estilos distraen al usuario y dan una imagen
desordenada a su aplicacin.
Para aplicar un estilo, seleccione el comando de men que quiere modificar y elija el estilo en las casillas de seleccin.

Icono lnea

La opcin Icono lnea permite asociar un icono a la lnea seleccionada. El icono a utilizar debe haber sido almacenado
de antemano en la Librera de imgenes de 4D. Al hacer clic en el rea asociada con esta opcin, aparece un men
pop-up jerrquico, permitindole seleccionar una imagen de la Librera de imgenes:

Nota: si la librera de imgenes est vaca, no aparece la lnea Imgenes de la librera.


Una vez definido, el icono de lnea aparece en el rea de vista previa:

Se muestra directamente en el men, junto al elemento:

Para borrar el icono de la lnea, seleccione la opcin Sin icono en el men del rea Icono lnea.

Icono barra de herramientas

Puede asociar un icono de barra de herramientas a un comando de men. En este caso, el icono se utiliza como botn
en la barra de herramientas asociada a la barra de men en modo Aplicacin.

Los iconos a utilizar deben haber sido almacenados previamente en la librera de imgenes de 4D. La seleccin de una
imagen se efecta como para los iconos de lneas de mens (ver prrafo anterior).
El icono se mostrar en un marco de 20 x 20 pxeles. 4D utiliza automticamente el texto del comando de men como
mensaje de ayuda del botn de la barra de herramientas.
Nota: es posible ocultar la barra de herramientas del modo Aplicacin en las Preferencias de la aplicacin (ver la
seccin ).
Para borrar un icono asociado a un comando de men, elija la opcin Sin icono en la lista desplegable Icono barra de
herramientas.

- 528 -
Gestin de las barras de mens

4D permite asociar una imagen de bienvenida personalizada a cada barra de mens y previsualizar esta barra de
mens en cualquier momento.

Definir una imagen de bienvenida

Puede enriquecer la apariencia de cada barra de mens asociando una imagen de bienvenida personalizada. La
ventana que contiene la imagen de bienvenida se muestra bajo la barra de mens y puede contener un logo o otro tipo
de imagen. Por defecto, 4D muestra el logo 4D como imagen en la ventana de bienvenida:

Una imagen de bienvenida personalizada puede venir de cualquier aplicacin grfica. 4D le permite pegar una imagen
del portapapeles, utilizar una imagen de la librera de imgenes o cualquier imagen presente en el disco. Todos los
formatos de imagen estndar soportados por 4D son utilizables.
Para modificar la imagen de bienvenida:
1. En el editor de mens, seleccione la barra de mens a la cual quiere asociar una imagen de bienvenida
personalizada.
Note el rea "Imagen de fondo" a la derecha de la ventana.
2. Para abrir directamente una imagen almacenada en su disco, haga clic en el botn Abrir.
O
Haga clic en el rea Imagen de fondo.
Aparece un men pop-up, con varias opciones para aadir una imagen.
Para pegar una imagen del portapapeles, elija Pegar.
Para seleccionar una imagen almacenada en la librera de imgenes, elija Imgenes de la librera (si la
librera de imgenes est vaca, esta lnea no se muestra).
Para abrir una imagen almacenada en un archivo, elija Abrir.
3. Si elije Abrir, una caja de dilogo estndar aparecer de manera que pueda seleccionar el archivo de imagen a
utilizar.
Una vez definida, la imagen se muestra en miniatura en el rea. Luego se asocia a la barra de mens.

- 529 -
Puede ver el resultado final probando la barra de mens (ver la siguiente seccin). En modo Aplicacin, la imagen se
muestra en la ventana de bienvenida con un formato de tipo Truncado (Centrado).
Nota: puede elegir mostrar u ocultar esta ventana en las Preferencias de la base (ver Usuario en la seccin Pgina
Interfaz).
Para eliminar la imagen personalizada y mostrar la imagen por defecto, haga clic en el botn Borrar o haga clic en el
rea Imagen de fondo y seleccione Borrar en el men pop-up.

Previsualizar la barra de mens

El editor de mens permite visualizar en cualquier momento los mens personalizados y la ventana de bienvenida, sin
cerrar la ventana de la caja de herramientas.
Para hacer esto, es suficiente con seleccionar la barra de mens y elegir el comando Probar la barra de mens
Barra #X en el men contextual o en el men de opciones del editor.

4D muestra una previsualizacin de la barra de mens as como tambin de la pantalla de bienvenida.

Note que esta previsualizacin no le permite ver la barra de herramientas posiblemente asociada a los mens creados.
Puede desplegar los mens y submens para previsualizar su contenido. Sin embargo, estos mens no estn activos.
- 530 -
Para probar el funcionamiento de los mens y de la barra de herramientas, utilice el comando Probar la aplicacin del
men Ejecutar.

Mens y aplicaciones personalizadas

Las barras de mens constituyen la parte principal de la interfaz de las aplicaciones personalizadas. Para cada
aplicacin personalizada, debe crear por lo menos una barra de mens que contenga al menos un men. Consulte
Construir una aplicacin 4D en el manual Lenguaje 4D para mayor informacin sobre la creacin de aplicaciones
personalizadas.
Puede crear barras de mens para el modo Aplicacin sin importar si est creando una aplicacin personalizada o
simplemente creando mens para utilizar en el modo Aplicacin. Por defecto, la barra de mens Barra de Mens #1 se
muestra en modo Aplicacin. Puede cambiar la barra de mens utilizando el comando SET MENU BAR.
Si define un comando de men sin asignarle un mtodo, la seleccin de este comando de men provoca la salida del
entorno Aplicacin y regresa al modo Diseo (si el acceso a este modo es permitido). Si est utilizando la aplicacin
con 4D Desktop, salir del entorno Aplicacin hace que usted salga de la aplicacin.
Si est utilizando la aplicacin 4D, puede definir un sistema de acceso por contraseas para controlar donde se ubica
cada usuario luego de dejar el entorno Aplicacin. De hecho, puede definir un grupo de acceso para el modo Diseo en
la caja de dilogo de Preferencias (ver Dar acceso al modo Diseo).
Los usuarios que no pertenezcan al grupo de acceso definido para el entorno Diseo no podrn acceder desde el modo
Aplicacin ni seleccionando un comando de men, ni con los atajos Alt+Mays+clic derecho (Windows) o
Control+Opcin+Comando+clic (Mac OS), la cual muestra el men desplegable del proceso (ver [#title id="2851"/]).
Cuando los usuarios que no tienen los privilegios de acceso necesarios intentan pasar al entorno Diseo, 4D se cierra.
El Diseador y el Administrador siempre tendrn acceso al entorno Diseo, incluso si no pertenecen al grupo de
acceso. Para mayor informacin, consulte el captulo Usuarios y grupos.

- 531 -
Librera de imgenes

Presentacin
Aadir imgenes a la librera
Propiedades de la imagen
Crear miniaturas
Arrastrar y soltar desde la librera

- 532 -
Presentacin

Utilice la Librera de imgenes para almacenar imgenes que pueda utilizar como elementos de diseo en formularios,
barras de herramientas o iconos de lista, elementos de men de imagen, o botones imagen. Con la librera de
imgenes, puede utilizar una misma imagen en diferentes lugares en su base de datos pero slo tiene que almacenarla
en un lugar. Cuando actualiza una imagen en la librera de imgenes, todas las referencias a la imagen son actualizadas
automticamente. Esta funcionalidad permite reducir el tamao de sus archivos de estructura y facilita el manejo de
cambios a la base de datos.
4D soporta los formatos de imgenes ms actuales, en particular los formatos JPEG, SVG, PNG, BMP, GIF y TIFF (lista
no exhaustiva). En la librera de imgenes, las imgenes se almacenan en su formato nativo, sin ninguna interpretacin.
Las especificaciones de los diferentes formatos (sombras, reas transparentes, etc.) se conservan y muestran sin
alteracin. El comando PICTURE CODEC LIST permite conocer los tipos nativos presentes en la mquina.
La librera de imgenes contiene funciones integradas que permiten crear y modificar tablas de miniaturas.
La librera de imgenes est incluida en la caja de herramientas de 4D. Para mostrar la librera de imgenes:
1. Elija Caja de herramientas > Librera de imgenes del men Diseo.
O
Haga clic en el botn Herramientas de la barra de herramientas 4D y luego haga clic en el botn Imgenes.
La ventana de la librera de imgenes muestra la lista de imgenes almacenadas en la base. Incluyendo los
comandos de gestin de imgenes como tambin un rea de visualizacin:

Puede ordenar las imgenes por nombre (por defecto) o por nmero de identificacin, utilizando el men contextual de
la lista o los comandos del botn de opciones:

- 533 -
Aadir imgenes a la librera

Importar una imagen

4D permite importar y mostrar los formatos de imgenes ms actuales, tales como los formatos JPEG, SVG, PNG,
BMP, GIF y TIFF (lista no exhaustiva).
Para importar una nueva imagen desde la librera de imgenes:
1. Haga clic en el botn aadir ubicado bajo la lista de imgenes o clic derecho en la lista de imgenes y
seleccione Aadir.
Aparece una caja de dilogo estndar de apertura de archivos. El men Tipo le permite ver los formatos de
archivos soportados por 4D.
2. Seleccione el archivo a importar y haga clic en Abrir.

O
1. Arrastre un archivo imagen externa y sultelo en el rea de lista de imgenes de la librera.
Si la imagen es valida, se muestra la caja de dilogo Propiedades de la imagen. Las dimensiones y el nombre de la
imagen se definen automticamente dependiendo de la imagen importada. Para mayor informacin sobre las
propiedades de la imagen, consulte Propiedades de la imagen.
Si es necesario, modifique el nombre y el nmero de identificacin de la imagen as como sus otras propiedades y haga
clic en el botn Aceptar para crear la imagen.
Atencin: slo puede modificar el nmero de identificacin de la imagen en el momento de la creacin en la librera de
imgenes.

Eliminar una imagen

Para eliminar una imagen de la librera:


1. Seleccione la imagen que desea eliminar en la lista de imgenes, a continuacin, haga clic en el botn borrar .
O
Haga clic derecho sobre la imagen y seleccione Eliminar en el men contextual.

- 534 -
Propiedades de la imagen

La caja de dilogo Propiedades de la imagen le permite definir o mostrar el nombre de la imagen, dimensiones y
atributos del marco. Tambin muestra el nmero de identificacin de la imagen (no modificable).

Sin importar cmo aada una imagen, aparecer la caja de dilogo que se muestra a continuacin.
Puede mostrar esta caja de dilogo en cualquier momento haciendo doble clic en una imagen o seleccionando una
imagen y eligiendo el comando Propiedades de la imagen en el men de opciones de la librera.

Esta caja de dilogo muestra las siguientes propiedades:


Nombre de la imagen: puede asignar el mismo nombre a varias imgenes, slo el nmero de ID tiene que ser
diferente.
ID de la imagen: nmero de ID nico para la imagen. Este es el nmero de referencia de la imagen que utiliza
cuando crea botones imagen, mens imagen desplegables, barras de herramientas personalizadas, listas o
cuando maneja las imgenes de la librera por programacin.
Nota: puede definir este nmero cuando crea la imagen, pero no puede modificarlo despus.
Ancho y Alto: tamao de la imagen. Estos valores son precalculados cuando importa una imagen (del archivo o
del Portapapeles). Cuando divide la imagen (ver a continuacin), los valores correspondientes al tamao de cada
miniatura.
Miniatura: permite crear miniaturas de una imagen para utilizarlas en la creacin de arrays de botones o mens
imagen. Para mayor informacin, consulte la seccin Crear miniaturas.

- 535 -
Crear miniaturas

La librera de imgenes tiene un conjunto de funciones que permiten crear y modificar una tabla de miniaturas para
utilizar en botones imagen o mens imagen. El array puede ser unidimensional o bidimensional. En la librera de
imgenes, un array de estos se llama Miniaturas. En otras partes en 4D, un array de imgenes puede llamarse
miniatura o tabla de imgenes. La idea consiste en dividir una imagen utilizando filas y columnas; cada celda por lo
tanto es considerada una miniatura. 4D se encarga de mostrar la miniatura correcta en el botn o men imagen de
acuerdo a los parmetros especificados (para mayor informacin consulte Botones imagen y Mens pop-up
imagen).
Puede definir una secuencia de miniaturas cuando crea una imagen o incluso despus de haberla creado.

Crear una secuencia de miniaturas

Puede crear una secuencia de miniaturas de una imagen que se encuentre en la librera de imgenes o en el momento
de aadir una imagen a la librera de imgenes. En ambos casos, usted define cmo va a ser dividida la imagen en la
caja de dilogo Propiedades de la imagen. Si est creando una imagen, la caja de dilogo aparece automticamente.
De lo contrario, haga doble clic en la imagen o seleccinela y elija Propiedades de la imagen en el men opciones de
la librera.
El rea Miniatura le permite definir el nmero de lneas y columnas de su secuencia de miniaturas. Para crear
miniaturas, primero debe marcar la opcin Dividir imagen:

Tamao de las miniaturas

El tamao de las miniaturas es calculado automticamente por 4D. Cuando define una secuencia de miniaturas, las
reas Ancho y Altura se modifican y se muestran el tamao de cada miniatura.
Si quiere modificar el tamao de las miniaturas, slo tiene que introducir nuevos valores en las reas Ancho y Altura sin
preocuparse del tamao global de la imagen. Se centrar automticamente cada
miniatura resultante (sin distorsionar la imagen) en el nuevo tamao, si este es mayor. Si el nuevo tamao es menor, se
truncar cada miniatura.

- 536 -
Arrastrar y soltar desde la librera

Cuando una imagen es definida como una secuencia de miniaturas, usted puede utilizar atajos para insertar la imagen
como Botones imageno Mens pop-up imagen en sus formularios.

Para crear un botn imagen, arrastre la imagen desde la librera y sultela en el formulario.
Para crear un men imagen desplegable, arrastre la imagen desde la librera y sultela en el formulario
presionando la tecla Mays.
Para crear una imagen estndar, arrastre la imagen desde la librera mientras presiona la tecla Alt (Windows) u
Opcin (Mac OS).
Arrastrar y soltar una imagen que no est definida como una secuencia de miniaturas hace que la imagen se inserte
como una imagen estndar.
Nota: en el editor de formularios, la Lista de propiedades le permite distinguir entre dos tipos de imgenes: Librera de
imgenes (actualizada dinmicamente cuando se modifica la imagen de la fuente
en la librera), e Imagen esttica (no asociada a la imagen fuente de la librera). Consulte el prrafo Desasociar una
imagen de su fuente en la librera en Utilizar imgenes estticas.

- 537 -
Mensajes de ayuda

Presentacin
Editor de mensajes de ayuda

- 538 -
Presentacin

Puede aadir un mensaje de ayuda a campos y objetos activos en sus formularios para ayudar a los usuarios a trabajar
en forma ms productiva con su base de datos. Los mensajes de ayuda aparecen en recuadros emergentes cuando se
pasa el ratn por el campo u objeto.

Puede asociar mensajes de ayuda a los objetos bien sea introducindolos directamente en la Lista de propiedades, o
insertando una referencia de mensaje de ayuda en Editor de mensajes de ayuda.
Para mayor informacin sobre la asociacin de mensajes de ayuda a objetos de la base, consulte el prrafo Mensajes
de ayuda en la seccin Controles y ayuda a la entrada.
Nota: la fuente y el tamao de la fuente mostradas durante la ejecucin de los formularios pueden configurarse en la
Pgina General de las Propiedades de la base.

- 539 -
Editor de mensajes de ayuda

El editor de etiquetas le permite crear y probar las etiquetas que pueda asociar a los objetos de la base.
Para mostrar este editor, haga clic en el botn Mensajes de ayuda en la caja de herramientas de 4D:

La lista a la izquierda contiene los nombres de los mensajes de ayuda ya creados. El editor incluye mensajes de
ayuda generados automticamente por el Asistente de creacin de formularios o por los formularios por defecto.
El rea gris es el rea de prueba de los mensajes de ayuda.
El rea amarilla es el rea de entrada y visualizacin del texto de los mensajes de ayuda

Crear mensajes de ayuda

Para crear un mensaje de ayuda utilizando el editor de mensajes de ayuda:


1. Haga clic en el botn aadir o seleccione Aadir en el men contextual de la lista (clic derecho en el rea de la
lista).
Se aade a la lista un nuevo elemento, llamado por defecto Mensaje no1.
2. (Opcional) Introduzca un nombre para el mensaje de ayuda.
El nombre del mensaje de ayuda se utiliza como referencia en la aplicacin; no aparece para el usuario. Puede
utilizar hasta 15 caracteres.
Puede modificar este nombre posteriormente presionando la tecla Alt (bajo Windows) u Opcin (bajo Mac OS)
antes de hacer clic en el nombre para editarlo. Tambin puede utilizar el comando Renombrar del men
contextual o el men opciones del rea de la lista.
Si no modifica el nombre por defecto, 4D crear por defecto los mensajes de ayuda Mensaje#2, Mensaje#3, etc.
Nota: los mensajes de ayuda que se entran directamente en la Lista de propiedades no se aaden a la lista de
mensajes de ayuda.
Los mensajes de ayuda se listan en orden alfabtico. Cuando aade nuevos mensajes de ayuda, el contenido de
la lista se actualiza automticamente.
3. Presione la tecla Tab o clic en el rea de entrada para escribir el texto del mensaje de ayuda.
Puede escribir hasta 255 caracteres y utilizar referencias dinmicas pero no las referencias XLIFF (ver Utilizar
las referencias en los textos estticos). Note que las referencias dinmicas de tipo variable o campo no se
- 540 -
muestran en el rea de prueba del editor.
4. (Opcional) Pruebe la visualizacin del mensaje de ayuda moviendo el cursor sobre el rea de prueba, sin hacer
clic.

De esta forma puede ver cmo aparecer el mensaje de ayuda en la base.


5. Si desea crear otro mensaje de ayuda, haga clic nuevamente en el botn aadir o seleccione el comando
Aadir en el men contextual del rea de la lista (clic derecho).
O
Si desea crear un nuevo mensaje de ayuda basndose en uno de los existentes, seleccinelo en la lista y utilice el
comando Duplicar del men contextual del rea de la lista.

Modificar o borrar un mensaje de ayuda

Puede modificar un mensaje de ayuda seleccionndolo y cambiando su contenido. Presione la tecla Tab o haga clic
fuera del rea para validar sus cambios.
Puede borrar un mensaje de ayuda seleccionndolo y haciendo clic en el botn de supresin o seleccionando el
comando Borrar en el men contextual del editor.

- 541 -
Listas

Presentacin
Disear listas para entrada de datos
Crear y modificar listas
Definir las propiedades de las listas

- 542 -
Presentacin

Una lista es un conjunto de valores posibles para un campo u objeto editable. Puede utilizar una lista para:
dar opciones al usuario para seleccionar una entrada para un campo o un objeto editable,
restringir los valores de entrada posibles a aquellos en la lista,
excluir la entrada de valores en la lista.
Tambin puede crear listas jerrquicas. Una lista jerrquica asocia un sublista a cada elemento de la lista.
4D permite asociar un icono pequeo a cada elemento de la lista o lista jerrquica. Cuando es apropiado, el icono se
muestra a la izquierda del elemento. Por ejemplo, puede mostrar conos pequeos en las reas de desplazamiento (ver
Pop-ups/Listas desplegables), las Pestaas y las listas jerrquicas (ver Listas jerrquicas y mens desplegables
jerrquicos).
Cuando una lista se utiliza como lista de valores para un campo u objeto editable, el usuario puede seleccionar el valor
en la lista en lugar de digitar la entrada. Por ejemplo, podra crear una lista de valores para introducir ttulos de cargos en
una base de datos de manejo de personal.
Tambin puede utilizar listas para aplicar restricciones a la entrada de datos. Una lista puede proporcionar los valores
requeridos para un campo, excluyendo todos los otros. Otra lista puede proporcionar los valores excluidos para un
campo, evitando que cualquier valor de la lista sea introducido.
Sus listas pueden ofrecer hasta 8 000 opciones en una sola base de datos y cada opcin puede tener hasta 2 mil
millones de caracteres.
Para mayor informacin sobre la asociacin de una lista a un campo como un atributo de campo, consulte el prrafo
Permitir lista en Almacenado en registro, archivo de datos o fuera del archivo de datos. Para mayor informacin
sobre la utilizacin de listas con controles de entrada de datos, consulte la seccin Controles y ayuda a la entrada.
Las listas se utilizan con frecuencia en los mtodos. Por ejemplo, una lista es un lugar prctico para guardar los
elementos de un array. Un array almacena una lista de valores en memoria. Puede utilizar listas para almacenar los
elementos de mens pop up, combo boxes y otros objetos de interfaz multivalores. Usted transfiere el contenido de la
lista a un objeto de la interfaz utilizando un mtodo o asignando la lista al objeto en la ventana Lista de propiedades.
Las listas de 4D se crean con el editor de listas, ubicado en la caja de herramientas.
Nota para 4D Server: el bloqueo de objetos ocurre cuando dos o ms usuarios intentan modificar la misma lista al
mismo tiempo. Si un usuario est modificando una lista en el entorno Diseo, la lista se bloquea. Los otros usuarios no
pueden modificar la lista, el nombre de la lista, o cualquiera de los elementos en la lista, hasta que el primer usuario
libere la lista al cerrarla.

- 543 -
Disear listas para entrada de datos

Uno de los usos posibles de las listas es proporcionar al usuario una lista de valores para elegir durante la entrada de
datos. Las siguientes son algunas consideraciones sobre listas utilizadas con este propsito:
Puede hacer una lista disponible para todos los formularios o para un formulario seleccionado.
Si la lista contiene muchos elementos, puede dividirla en dos o mas listas
Puede restringir las posibles entradas a las de la lista o puede permitir al usuario a introducir otros valores.
Puede permitir al usuario modificar la lista o por el contrario, puede evitarlo.
Puede representar directamente un campo o una variable listada en un formulario por medio de un men pop-
up/lista desplegable o combo box.
Consejo: si el nmero de elementos que contiene la lista es limitado, es posible que no necesite utilizar listas. Por
ejemplo, en el caso de una lista que tiene slo dos valores, como hombre o mujer, puede considerar el uso de un campo
booleano donde podr introducir los datos mediante la comprobacin de un botn de opcin o un botn de seleccin de
imagen. Incluso cuando hay tres o cuatro opciones diferentes, puede ser ms adecuado utilizar casillas de seleccin.

Puede asociar una lista a un campo como una sus propiedades. Asociar una lista a un campo hace que la lista
aparezca cada vez que el campo se seleccione durante la entrada de datos, bien sea directamente en la lista o en la
pgina de detalle. El usuario puede seleccionar un valor de entrada en la lista. Si la lista est ordenada, la lista se
desplaza automticamente a medida que el usuario digita caracteres en el teclado. Por ejemplo, si el usuario digita N,
la lista se desplaza para mostrar el primer valor que comience con N. El usuario puede dejar de escribir cuando
aparezca el valor que quiere y seleccionarlo de la lista.
Si asocia una lista a un campo en las propiedades del campo en el editor de estructura, la lista tambin aparecer
cuando se seleccione el campo en el editor de bsquedas. Para mayor informacin, consulte Permitir lista en la
seccin UNREGISTER CLIENT.
Igualmente puede asociar la lista a un campo para controlar la entrada en un formulario. La lista aparecer slo cuando
se seleccione el campo en el formulario de entrada, no en todos los formularios o en el editor de bsquedas. La
siguiente imagen muestra una lista de valores.

Si el nmero de elementos que contiene la lista es limitado, no necesariamente tiene que utilizar listas. Por ejemplo, en
el caso de una lista que tiene slo dos valores como Hombre o Mujer, puede considerar utilizar un campo booleano.
Esto le permite utilizar elementos de interfaz tales como botones de radio o botones de imagen de radio. Incluso para
casos de cuatro opciones diferentes, puede utilizar casillas de seleccin.

Listas jerrquicas

- 544 -
4D permite crear listas jerrquicas. Seleccionar un elemento de la lista padre despliega una sublista.
No hay una forma estndar de utilizar listas jerrquicas; la manera de utilizarlas depende de su uso. Por ejemplo, una
lista de pases tiene muchas entradas, demorando el proceso de seleccin. Es posible jerarquizar las listas de valores
de varias formas.
Adems de su uso para propsitos de entrada de datos, puede utilizar las listas jerrquicas para llenar los siguientes
objetos:
Pestaas,
Listas jerrquicas y mens desplegables jerrquicos,
List boxes.
Nota: es posible asociar listar jerrquicas con mens pop-up/listas desplegables o combo boxes. En este caso,
sin embargo, slo se muestra el primer nivel jerrquico.
Puede dividir una lista de valores en dos categoras. Si, por ejemplo, el 80% de los valores seleccionados hacen
referencia a un grupo de pases, puede ubicar esos pases en una lista y los restantes en una sublista, como se muestra
a continuacin.

Esto permite al usuario seleccionar directamente una entrada en el 80% de los casos, haciendo ms rpida la entrada
de datos.
Otra solucin consiste en organizar los pases segn las diferentes regiones. La primera lista que aparece permite al
usuario seleccionar la regin y las sublistas le permiten seleccionar el pas. En este caso, cada seleccin necesitar que
el usuario seleccione una regin, seguida por un pas. Esto sigue siendo ms rpido que seleccionar un pas en una lista
de ms de 100 pases.

Valores obligatorios y valores excluidos

Algunas tareas de entrada de datos no son crticas. Si introduce un valor que no aparece en una lista, este puede ser
aceptado perfectamente. Sin embargo, en algunos casos puede tener una aplicacin en la cual una entrada debe ser
uno de los valores de la lista.
4D permite hacer una lista obligatoria como parte de los controles de entrada de datos. Este tipo de control de entrada
de datos evita que el usuario introduzca un valor diferente a los valores de la lista. Por ejemplo, su empresa puede tener
un grupo especfico de cargos autorizados en la base de datos de personal..
Otro control de entrada permite excluir los valores de una lista. El usuario no puede introducir un valor excluido. Por
ejemplo, su empresa puede no estar autorizada para hacer negocios en ciertos pases. Si coloca estos pases en una
lista de excluidos, evita que los introduzcan.

Rangos de valores no secuenciales

Uno de los controles de entrada de datos ms tiles es la posibilidad de definir los valores mximos y mnimos para un
campo numrico, fecha u hora. Definir un valor mnimo y uno mximo evita que el usuario introduzca valores fuera de
este rango.
Imagine que tiene tres rangos aceptables para un campo. Puede utilizar una lista para crear los rangos. Si luego hace
esta lista obligatoria para un campo, los valores fuera de estos tres rangos no son aceptados. La siguiente imagen
muestra una lista de rangos:

- 545 -
Por el contrario, podra crear una lista que especifique los rangos que no son vlidos. Si define esta lista como lista
excluida para un campo, toda entrada dentro de estos rangos no se aceptar.

- 546 -
Crear y modificar listas

Crear listas

Las listas se crean con la ayuda del editor de listas de la caja de herramientas. Puede modificar las listas en cualquier
momento regresando al editor de listas y realizando las modificaciones.
Para crear una lista:
1. Seleccione Caja de herramientas > Listas en el men Diseo.
Aparece la siguiente ventana (vaca por defecto):

El editor de listas muestra los nombres de las listas existentes a la izquierda. La parte central de la ventana
muestra los elementos de la lista actual y la parte derecha muestra las propiedades del elemento actual y de la
lista.
2. Haga clic en el botn ms ubicado bajo la lista de listas.
O
Haga clic derecho en la lista de listas y seleccione el comando Aadir del men contextual.
4D crea una nueva lista llamada por defecto Nueva ListaX.

Nota: si ya hay al menos una lista existente, el comando Duplicar est disponible. Este comando puede utilizarse
para crear rpidamente una nueva lista con caractersticas comunes con la lista existente.
3. Cambie el nombre de la lista y presione Tab para validar su entrada.
Puede renombrar una lista en cualquier momento seleccionando el comando Renombrar del men contextual o
utilizando el atajo Alt+clic (Windows) u Opcin+clic (Mac OS) o simplemente haciendo clic dos veces en la lista
que quiere renombrar.
Usted ha creado una nueva lista vaca. Ahora, crear los elementos que aparecern en la lista.

Aadir elementos a listas

Cuando aade elementos a una lista, puede aadirlos al final de la lista o insertarlos en cualquier parte de la lista
- 547 -
existente.
Para aadir elementos a una lista:
1. Seleccione el nombre de la lista a cual que quiere aadir elementos.
Si la lista ya contiene elementos, estos elementos se muestran como una lista al lado derecho del editor. Si quiere
insertar un valor en una lista existente, seleccione el valor anterior al valor que quiere insertar. El nuevo valor se
crear despus de ese valor.
2. Haga clic en el botn aadir que se encuentra debajo de la lista de elementos.
O
Elija Aadir en el men de opciones o en el men contextual de la lista de elementos.

4D crea un nuevo elemento en la lista llamado Nuevo elemento n X.


3. Introduzca el valor del elemento y presione la tecla Tab para validar su entrada.
Puede renombrar un elemento de una lista en cualquier momento seleccionando el comando Renombrar en el
men contextual o en el men de opciones, o haciendo clic dos veces en el elemento.
4. Para aadir otros elementos a la lista, repita los pasos 2 y 3 tantas veces como sea necesario.

Una vez introducidos los valores, puede reorganizar los elementos de la lista arrastrando y soltando. Tambin los
puede ordenar por orden alfabtico (consulte la seccin Ordenar una lista).

Crear una lista jerrquica

Puede aadir una sub lista a cualquier elemento de la lista. El nmero de niveles jerrquicos no est limitado.
Para crear una lista jerrquica:
1. Seleccione el elemento de la lista al cual asociar la sublista.
2. Seleccione Aadir un hijo en el men de opciones o en el men contextual de la lista de elementos.

4D despliega el elemento seleccionado de la lista y aade un nuevo elemento (llamado por defecto Nuevo
elemento nX) para el primer valor de la sublista.
3. Introduzca el valor del elemento.
Puede renombrar el elemento de una sublista en cualquier momento seleccionando el comando Renombrar del
men contextual o del men de opciones, o haciendo clic dos veces en el elemento.
4. Para aadir otro valor a la sublista, mantenga seleccionado el elemento y haga clic en el botn ms ubicado
debajo de la lista de elementos.
- 548 -
O
Seleccione el elemento padre y utilice nuevamente el comando Aadir un hijo.
Si elije el comando Aadir un hijo cuando el elemento de una sublista est seleccionado, crear un subnivel
adicional en la jerarqua. (ver a continuacin).
5. Repita los pasos 2 a 4 tantas veces como sea necesario.

Si quiere, puede asociar subelementos a los valores de sublistas para crear otro nivel jerrquico.
Para asociar una sublista a un elemento de una sublista:
1. Seleccione el elemento de la sublista.
2. Seleccione Aadir un hijo del men de opciones o del men contextual de la lista de elementos.
3. Introduzca el elemento normalmente y repita el proceso de introducir elementos o asociar sublistas a elementos.
La siguiente imagen muestra una jerarqua de tres niveles:

Especificar Rangos en una lista

4D le permite introducir rangos de nmeros, fechas y horas en una lista. Puede utilizar estos rangos como rangos de
validacin de la entrada de datos haciendo la lista obligatoria o excluida en un formulario.
Para crear rangos en una lista:
1. Cree la lista que quiere utilizar para los rangos.
2. Para cada elemento, introduzca el valor mnimo del rango, dos puntos (..), y el valor mximo.
Por ejemplo: 100..150 define el rango entre 100 y 150, inclusive.
3. Contine especificando rangos como elementos separados hasta que haya definido tantos como necesite.
Este es un ejemplo de una lista utilizando rangos:

- 549 -
Ordenar una lista

4D mantiene la lista de los elementos en el orden en el cual los introdujo. Puede ordenar la lista o sublista
alfabticamente de manera que los valores sean ms accesibles a los usuarios de la base de datos. Como una lista
ordenada se desplaza automticamente para encontrar los caracteres introducidos por el usuario, ordenar la lista hace
la entrada de datos ms fcil.
Para ordenar una lista o sublista:
1. Seleccione la lista que contiene los valores que quiere ordenar.
2. Elija una de las opciones de ordenamiento disponibles desde el men contextual o desde el men de opciones
ubicado bajo la lista de elementos.
Las siguientes opciones de ordenamiento estn disponibles:
Orden creciente global: 4D ordena la lista y sublistas en orden creciente (de la A a la Z).
Orden decreciente global: 4D ordena la lista y sublistas en orden decreciente (de la Z a la A).
Orden creciente sublista: 4D ordena slo las sublistas en orden creciente
Orden decreciente sublista: 4D ordena slo las sublistas en orden decreciente.

Borrar elementos y listas

Puede borrar elementos en todos los niveles de la jerarqua. Recuerde que no es posible cancelar la supresin de un
elemento o de una lista.
Para borrar un elemento:
1. Seleccione la lista que contiene el elemento a borrar.
2. Seleccione el elemento que quiere borrar del rea de la lista actual.
Si es necesario, despliegue la lista.
3. Haga clic en el botn menos ubicado bajo la lista de elementos de la lista actual.
O
Seleccione el comando Suprimir del men contextual de la lista de elementos.
4D borra el elemento de la lista.
Para borrar una lista:
1. Seleccione la lista a borrar.
2. Haga clic en el botn menos ubicado bajo la lista de listas.
O
Seleccione el comando Suprimir del men contextual de la lista de listas.
4D muestra una caja de dilogo que le permite confirmar o cancelar la operacin.

- 550 -
Definir las propiedades de las listas

Aadir una referencia a un elemento

El rea de propiedades del elemento actual tiene un rea de entrada para el nmero de referencia del valor. El nmero
de referencia es designado como un identificador nico para el elemento. Esto es til slo cuando maneja las listas
utilizando mtodos o cuando activa la opcin Guardar como Referencia para un campo o variable listada (ver la
seccin Guardar como Valor o Referencia).

Cuando necesita utilizar el lenguaje para determinar cual elemento de la lista es seleccionado por un usuario, (es decir,
cual elemento es seleccionado en un men jerrquico), puede identificar la opcin del usuario utilizando el nmero de
referencia del elemento. Para mayor informacin, consulte la seccin Listas jerrquicas en el manual Lenguaje de 4D.

Elemento modificable

El editor de listas ofrece la opcin Elemento modificable modificable para cada elemento de una lista. Esta opcin
est marcada por defecto.
Esta opcin slo se utiliza con listas mostradas en forma de listas jerrquicas o pestaas. Su accin es diferente en
ambos casos.
Nota: cuando una lista est asociada a un combo box (ver la seccin Combo box), los elementos son siempre
modificables.

Listas jerrquicas
Una lista puede tambin utilizarse para especificar los elementos en una lista jerrquica. Cuando la lista se utiliza de
esta forma, usted puede controlar la modificacin por parte del usuario de cada elemento en la lista. Si un elemento de
la lista es editable, el usuario puede mantener presionada la tecla Alt bajo Windows o la tecla Opcin bajo Mac OS y
hacer clic en el elemento (o simplemente hacer clic dos veces) para modificarlo. Un elemento modificable en una lista
jerrquica se muestra en la siguiente imagen.

En este caso, la opcin Elemento modificable le permite autorizar al usuario a modificar el elemento de la lista
jerrquica.

Pestaas
Cuando una lista est asociada a pestaas, usted puede activar o desactivar cada pestaa correspondiente a un
elemento de la lista. Una pestaa desactivada aparecer en el formulario en gris. En el siguiente ejemplo, la pestaa
Chile est desactivada:

En este caso, la opcin Elemento modificable le permite activar la pestaa correspondiente al elemento.

Asociar un icono pequeo a un elemento

Puede asociar un icono pequeo a un elemento en una lista. Cuando la lista se muestra en un rea de desplazamiento o
en una pestaa, este icono aparece a la izquierda del valor.
Los iconos pequeos que utilice se guardan en la librera de imgenes o en los recursos de tipo cicn o pict.
- 551 -
Nota de compatibilidad: el uso de "recursos" ya no es recomendable en 4D porque esta tecnologa es obsoleta (para
mayor informacin, consulte la seccin Recursos en el manual Lenguaje de 4D). Estas opciones slo se conservan
por razones de compatibilidad. Recomendamos utilizar la librera de imgenes.
Para asociar un icono a un valor de la lista:
1. Seleccione la lista y el valor al cual quiere asociar el icono.
2. Elija una opcin del men Origen del rea Icono.
Este men permite indicar de donde proviene el icono (se recomienda la opcin Librera de imgenes).
Cuando elige una opcin, el contenido del men N icono se actualiza para listar todas las imgenes disponibles
en la base de datos que corresponden al tipo definido en el men Origen.
3. Elija un valor del combo box N icono.

Los iconos se listan bajo la forma nmero/nombre. Si ha elegido la opcin Librera de imgenes, el men N
icono contiene todas las imgenes almacenadas en la librera.
El icono se aade a la izquierda de la etiqueta en la lista de elementos:

Nota: dependiendo del tamao de los iconos que utilice, puede tener que modificar la altura de la lista. Para mayor
informacin, consulte Definir la altura mnima de una lista.
Para borrar una referencia de icono, seleccione el valor en el combo box N icono y presione la tecla Retroceso o
introduzca 0.

Especificar atributos de fuentes

Cuando una lista se utiliza como una lista de opciones, puede mostrar los elementos de la lista en negrita, cursiva y/o
subrayado.
Para aplicar los estilos, seleccione el valor en la lista y marque las opciones que quiera Negrita, Cursiva y/o
Subrayado. Puede elegir varias opciones si quiere combinar estilos. La siguiente imagen muestra los atributos negrita
y cursiva aplicados a un elemento de la lista.

- 552 -
Cuando la lista se utiliza como una lista de opciones, los atributos de estilo seleccionados se utilizarn, como se
muestra en la siguiente imagen:

Definir la altura mnima de una lista

Cuando 4D muestra una lista como una lista de opciones, utiliza el tamao de la fuente del objeto de la lista jerrquica
para determinar el espacio vertical entre elementos adyacentes de la lista. Si utiliza una
lista para especificar los valores de una lista jerrquica, puede especificar un espacio vertical mayor.
La razn principal para hacer esto es proporcionar espacio adicional para iconos que estn asociados a los elementos
de la lista o puede utilizar esta opcin simplemente con fines estticos.
Para especificar una altura mnima, introduzca un valor en puntos en el rea de entrada Altura de las lneas.
Los efectos de este valor aparecen de inmediato en el rea de lista de elementos. La siguiente imagen muestra el
efecto de incrementar la altura mnima.

- 553 -
Volver una lista modificable por el usuario

4D le permite especificar si una lista de elementos puede ser modificada por el usuario cuando la lista se muestra como
una lista de opcin. Por defecto, una lista no es modificable.
Si hace que una lista sea modificable por el usuario, el usuario tiene acceso a un editor de listas especial en el entorno
Usuario. El editor especial de listas es nicamente para la lista asignada. El usuario no puede aadir listas, borrar listas,
o cambiar cualquier otra lista. Si una lista es modificable, el usuario puede hacer cualquier cambio a los elementos de la
lista.
Si una lista es modificable, el botn Modificar est activo en la caja de dilogo de lista cuando utilice la base.

Cuando el usuario hace clic en este botn, se muestra el editor de listas usuario. La siguiente imagen muestra el editor
de listas:

Para volver la lista modificable por el usuario:


1. Seleccione la lista a volver modificable.
2. Marque la opcin Modificable por el usuario en el rea Propiedades de la lista:

- 554 -
La lista puede ser modificada por los usuarios de la base.
Para evitar que el usuario modifique una lista, seleccione la lista y deseleccione la opcin Modificable por el usuario.

- 555 -
Hojas de estilo

Presentacin
Crear una hoja de estilo
Aplicar una hoja de estilo
Hojas de estilo Automtica

- 556 -
Presentacin

Una hoja de estilo agrupa una combinacin de atributos de fuente, tipo de fuente, tamao y estilo. Las hojas de estilos
que usted define pueden utilizarse para fijar atributos de fuente para los objetos en el editor de formularios.
Cada hoja de estilo guarda conjuntos separados de atributos de fuente para cada una de las interfaces de las
plataformas soportadas por 4D: Windows Vista y Windows 7, Windows XP, Mac OS X y Windows classic. Por ejemplo,
para la hoja de estilo Botones, la plataforma Mac OS podra utilizar la fuente Lucida Grande, mientras que la plataforma
Windows utiliza la fuente Tahoma. Igualmente, se pueden especificar tamaos de fuente diferentes para cada interfaz de
plataforma.
Adems de armonizar la interfaz de sus aplicaciones, el uso de hojas de estilo tiene tres ventajas principales:
Ahorro de tiempo durante el desarrollo: para cada objeto, usted define un grupo de parmetros en una sola
operacin.
Facilidad de mantenimiento: las hojas de estilo modifican la apariencia de todos los objetos que las utilizan.
Cambiar, por ejemplo el tamao de la fuente en una hoja de estilo cambiar el tamao de la fuente para todos los
objetos que utilizan esta misma hoja de estilo.
Control de desarrollo multiplataforma: cuando una hoja de estilo se aplica, 4D utiliza automticamente los
parmetros definidos para la plataforma en la cual se muestra el formulario (si el objeto tiene la propiedad de
apariencia Sistema).
Nota: un objeto de formulario utiliza una fuente diferente segn la plataforma, su altura se ajusta automticamente
de manera que sea mltiplo de la altura de la fuente seleccionada para la plataforma actual. Tenga esto en cuenta
cuando dibuje sus objetos.

- 557 -
Crear una hoja de estilo

Puede crear hojas de estilo utilizando el editor de hojas de estilo ubicado en la caja de herramientas de 4D.
Para crear una hoja de estilo:
1. Seleccione el comando Caja de herramientas > Hojas de estilo en el men Diseo.
Aparece la pgina de hojas de estilo de la caja de herramientas:

Tambin puede abrir esta ventana desde el editor de formularios, haciendo clic en el botn [...] ubicado junto a la
lista de seleccin de las hojas de estilo en la lista de propiedades.

El orden en el que aparecen las reas depende de la plataforma de operacin actual de 4D: por ejemplo, el rea
- 558 -
Mac OS X (as como tambin el texto de ejemplo asociado) se muestra en la parte superior de la pgina cuando
4D se ejecuta en Mac OS X.
Por defecto, slo est disponible la hoja de estilo Default, la cual puede modificar. Sin embargo, recuerde que
esta hoja de estilo se utiliza por defecto al crear objetos en el editor de formularios.
2. Haga clic en el botn Aadir del editor.
O
Haga clic derecho en el rea de lista de hojas de estilo y elija el comando Aadir en el men contextual.
Se crea una nueva hoja de estilo en la lista, llamada por defecto Hoja de estiloX.
3. Haga clic en la hoja de estilo con el fin de pasar a modo edicin y darle un nuevo nombre.
Una vez validado el nombre, la lista de hojas de estilo se re ordena automticamente en orden alfabtico.
4. En el rea de definicin de la hoja de estilo, seleccione la fuente, tamao y opciones de estilo que quiera para
cada plataforma de ejecucin de la base.
Los cambios se guardan automticamente. El rea de "Texto de ejemplo refleja sus modificaciones para la
plataforma actual.

Si lo prefiere, puede crear una nueva hoja de estilo duplicando una hoja existente. As puede evitar re definir los puntos
comunes entre la nueva hoja de estilo y la que duplica.
Para duplicar una hoja de estilo, haga clic derecho en el nombre de la hoja de estilo y elija el comando Duplicar en el
men contextual. Tambin puede seleccionar una hoja de estilo existente y elegir el comando Duplicar en el men de
opciones de la pgina.

- 559 -
Aplicar una hoja de estilo

El aplicar hojas de estilo definidas por usted le permite evitar tener que configurar por separado los atributos.
Las hojas de estilo definidas se utilizan en la lista de propiedades del El editor de formularios. Las hojas de estilo
pueden aplicarse a todo objeto, esttico o dinmico, que incluya texto: Botones, Campos y variables objetos,
Pestaas, List boxes, etc.
Para aplicar una hoja de estilo a un objeto, seleccione el objeto, luego seleccione la hoja de estilo en la lista desplegable
hojas de estilo, tema Texto, en la lista de propiedades:

Su seleccin determina la fuente, tamao y atributos de fuente para la etiqueta u objeto seleccionado actualmente.
Nota: en contextos multiplataforma, la aplicacin de hojas de estilo referenciando fuentes diferentes segn la plataforma
puede traer una ligera variacin de la altura de los objetos. Esto sucede porque la altura del objeto se ajusta
automticamente para que sea mltiplo de la altura de la fuente definida para la plataforma actual.

- 560 -
Hojas de estilo Automtica

Una hoja de estilo especial est disponible en la Lista de propiedades: Automtica

Nota: esta hoja de estilo slo est disponible en la Lista de propiedades y no aparece en la lista de hojas de estilo de
la Caja de herramientas.
A diferencia de otras hojas de estilo, la hoja de estilo "automtica" no tiene propiedades predefinidas, sino que
determina dinmicamente la fuente y el tamao de fuente a utilizar para el objeto en funcin de los parmetros sistema.
Estos parmetros dependen de:
la plataforma,
el idioma del sistema,
y el tipo de objeto de formulario.
Este funcionamiento automtico se implementa cada vez que se utiliza el formulario, en modo Diseo o en modo
Aplicacin. Con esta hoja de estilo, se le garantiza que los ttulos siempre se mostrarn de acuerdo con los parmetros
actuales del sistema. Sin embargo, su tamao puede variar de una mquina a otra.
La hoja de estilo "Automtica" gestiona la fuente y el tamao de la fuente. Si modifica una de estas propiedades en el
editor de formularios, la hoja de estilo deja de funcionar de forma dinmica. Sin embargo, puede aplicar las
propiedades de estilo personalizadas (Negrita, Cursiva o Subrayado), sin alterar su funcionamiento.
A partir de 4D v13, esta hoja de estilo se aplica por defecto a cada nuevo objeto creado en el editor de formularios.
Naturalmente, las hojas de estilo utilizadas en bases de datos convertidas no se modifican. Si desea reemplazar de
forma automtica las hojas de estilo existentes, puede utilizar la funcin estndar de buscar/reemplazar, que ahora es
compatible con las referencias de hojas de estilo (ver la seccin Buscar y reemplazar).

- 561 -
Filtros y formatos

Filtros y formatos personalizados


El editor de filtros y de formatos
Cdigos de los filtros y formatos

- 562 -
Filtros y formatos personalizados

4D ofrece varios Formatos de salida y filtros de entrada (ver Controles y ayuda a la entrada) estndar que permiten
configurar la visualizacin y la entrada de datos en sus formularios. Si es necesario, puede modificar un formato o un
filtro directamente en la Lista de propiedades de un formulario.
Igualmente puede crear formatos de visualizacin y filtros de entrada personalizados en el editor de filtros y formatos y
luego referirse a ellos por su nombre en cualquier formulario. Los formatos y filtros personalizados son bastante tiles
cuando utiliza los mismos formatos de salida o filtros de entrada en varios lugares. Si utiliza campos con el mismo filtro
de entrada en varios formularios, puede crear el filtro de entrada una vez y especificarlo por nombre cuando lo necesite.
Si decide modificar el filtro o el formato, slo tiene que cambiarlo una vez y cada campo o variable que lo utilice se
actualiza automticamente.
Tambin puede crear formatos de salida que correspondan a filtros de entrada y utilizar estilos para instalarlos. Puede
crear filtros de entrada o formatos de salida en la pgina Filtros de la Caja de herramientas de 4D:

- 563 -
El editor de filtros y de formatos

Crear y definir el filtro o el formato

Los formatos y los filtros la mayora de las veces se crean en pares, uno para el filtro de entrada y el otro para el formato
de salida.
Para crear un filtro o formato personalizado:
1. Seleccione Caja de herramientas > Filtros y formatos en el men Diseo de 4D.
O
En la Lista de propiedades, haga clic en el botn [...] a la derecha del men pop up de seleccin de filtro de
entrada..
Aparece la pgina Filtros de la caja de herramientas (vaca por defecto):
2. Haga clic en el botn aadir o seleccione el comando Aadir del men contextual de la lista (clic derecho en el
rea de la lista).
Se aade a la lista un nuevo elemento, llamado por defecto FiltroX.
3. Escriba el nombre del filtro o formato. Puede modificar este nombre posteriormente presionando la tecla Alt
(Windows) u Opcin (Mac OS) y haciendo clic en el nombre del
formato o filtro que quiere cambiar.
Puede utilizar hasta 255 caracteres de cualquier tipo para asignar el nombre del filtro o formato.

Nota: puede incluir la palabra filtro o formato en el nombre para indicar su propsito.
4. Escriba el cdigo del formato de salida o del filtro de entrada en el rea de definicin.

Por ejemplo, si desea crear un formato para un nmero telefnico local, puede utilizar:
###-####
O si prefiere crear un filtro de entrada para un nmero de parte con el formato XA-654-1, puede utilizar el
siguiente filtro:
!X&"A-Z"##-!0&"0-9"###-#
y el formato de salida correspondiente es ##-###-#.
Para mayor informacin sobre la creacin de formatos de salida y filtros de entrada, consulte la seccin Cdigos
de los filtros y formatos.
Nota: es posible llenar esta rea haciendo doble clic en las reas de ejemplo de la parte inferior de la ventana.
Para mayor informacin sobre las reas de ejemplo, consulte la seccin Uso de las reas de ejemplo a
continuacin.
5. Si desea crear otro filtro o formato, haga clic nuevamente en el botn aadir o seleccione el comando Aadir
del men contextual del rea de la lista (clic derecho).
O
- 564 -
Si desea crear un nuevo elemento basado en un filtro o formato existente, seleccinelo y utilice el comando
Duplicar del men contextual o del men opciones.
Puede editar cualquier filtro o formato seleccionndolo y modificando su nombre o cdigo. Puede borrar cualquier estilo
seleccionndolo y haciendo clic en el botn Borrar o seleccionando el comando Borrar del men contextual del
editor.
Todo formato o filtro personalizado definido en la ventana del editor de Filtros y formatos se aade automticamente al
inicio de la lista de formatos numricos y alfanumricos, precedido de una barra (|) (ver las secciones Controles y
ayuda a la entrada y GET LIST ITEM PARAMETER). Puede elegir un formato personalizado de la misma forma que
elegira un formato integrado.

Utilizar el rea de prueba

El rea de prueba permite controlar el funcionamiento de un filtro/formato personalizado.


Primero, debe designar el tipo de datos a los que va a aplicar el filtro/ formato (Alfa, Numrico, Fecha u Hora) utilizando
el men desplegable asociado.
Una vez definido este parmetro, introduzca un valor de prueba en el rea asociada:
Para los filtros de entrada, el funcionamiento del filtro es controlado durante la entrada de datos,
Para los formatos de salida, presionar la tecla Intro o Retorno de carro despus de escribir el valor. El resultado de
aplicar el formato de salida aparece debajo del rea de entrada:

Uso de las reas de ejemplo

Las reas Documentacin para filtros de entrada y Documentacin para formatos de salida de la ventana de edicin
de filtros y formatos consta de un men y un rea de visualizacin.
El men permite designar un tema sobre el cual desea obtener informacin o ejemplos. Cuando se selecciona un tema,
los caracteres y la informacin correspondiente aparecen en la zona de visualizacin:

Puede hacer doble clic en un ejemplo para insertarlo directamente en el rea de Definicin.
Filtros de entrada:
Caracteres de inicio para visualizacin: modificacin de los caracteres gua
Caracteres de inicio: caracteres de inicio de filtros
Cdigos de inicio: cdigos de definicin de filtros
Atajos: atajos de filtros.
Caracteres de ubicacin: caracteres utilizados para definir ubicaciones posibles
Principales caracteres ignorados: caracteres ignorados en los filtros.
Ejemplos de filtros de entrada de fechas
Ejemplos de filtros de entrada de horas
Ejemplos de filtros de entrada de nmeros de telfono
Ejemplo de filtro de entrada de nmero de Seguridad Social
Otros ejemplos de filtros de entrada.
Formatos de salida:
Caracteres de ubicacin: caracteres utilizados para definir posibles ubicaciones
Principales caracteres ignorados: caracteres ignorados en filtros
Ejemplos de formatos de fechas
Ejemplos de formatos de horas
Ejemplos de formatos de nmeros de telfono
Ejemplo de formato de nmero de seguridad social
- 565 -
Cdigos de los filtros y formatos

Nota preliminar: esta seccin describe los caracteres utilizados para definir los filtros de entrada y los formatos de
visualizacin alfanumricos. Los caracteres utilizados para los formatos de visualizacin numricos se describen en la
seccin Formatos de salida.
El cdigo de un filtro de entrada tiene tres partes, en el siguiente orden:

carcter de inicializacin "argumento" guas


El carcter de inicializacin informa a 4D que el argumento posterior debe utilizarse como filtro durante la entrada
de datos en el campo.
El argumento define los caracteres permitidos.
Las guas definen las posiciones disponibles para los caracteres.
Por ejemplo, el siguiente filtro de entrada slo permite la entrada de las letras a, b, c, o g en dos posiciones:
&"a;b;c;g"##
En este ejemplo, el carcter (&) es el carcter de inicializacin; a;b;c;g es el argumento; y los signos de nmero (#) son
las guas. Este filtro puede interpretarse como Permitir las letras a, b, c, o g en dos posiciones. El usuario podr
digitar ag, gc, ba, ab, aa, ac, o cualquier otra combinacin de los cuatro caracteres autorizados.
Los filtros de entrada pueden combinarse. El siguiente filtro de entrada slo permite la entrada de las letras a, b, c,
o g en dos posiciones, seguidas por 1, 3, u 8:
&"a;b;c;g"#,#&"1;3;8"#
El usuario debe utilizar dos de las letras autorizadas, seguidas por uno de los nmeros autorizados.
Un formato de visualizacin combina los caracteres guas y los caracteres estndar.

Caracteres de inicializacin de un filtro

Dos caracteres pueden marcar el inicio de un filtro: el signo ampersand (&) y la tilde (~). Estos caracteres informan a 4D
que utilice el argumento que los sigue como el filtro para las guas posteriores.
Adicionalmente, la tilde (~) tambin informa a 4D que debe pasar las letras a maysculas. El signo no evita la entrada
de letras minsculas, simplemente las vuelve maysculas.
Los siguientes filtros de entrada tienen los mismos efectos:
&"P"#
~"p"#
La diferencia entre ellos es que el filtro que contiene el signo (&) no acepta la letra p minscula, mientras que el filtro
iniciado con la tilde (~) acepta la entrada de p y la vuelve mayscula.
Como ninguna letra est involucrada, los siguientes filtros de entrada son equivalentes:
&"1;5;8"#
~"1;5;8"#

Argumentos

El argumento de un filtro de entrada sigue al carcter de inicializacin y define los caracteres autorizados para las guas
posteriores. Para crear el argumento de un filtro, escriba los caracteres permitidos entre comillas.
Los argumentos aceptan letras minsculas, maysculas, nmeros, signos de puntuacin y caracteres especiales
(!@#$%^&*(){}[]":';?><,./`~). Si utiliza una letra minscula en el argumento, el usuario slo podr introducir esta letra
como minscula. Si utiliza una letra mayscula en el argumento, el usuario slo podr introducir esta letra como
mayscula.
Un argumento puede contener un carcter simple (una letra o un nmero), por ejemplo, j, J, o 6.
Un argumento puede contener un conjunto de caracteres separados por punto y coma (;), por ejemplo a;r;t o
1;5.
Un argumento puede contener rangos de caracteres. Un rango de caracteres est definido por el primer carcter,
- 566 -
un guin y el ltimo carcter. Ejemplo, a-c y 1-5. El argumento a-c es equivalente a a;b;c, y 1-5 es
equivalente a 1;2;3;4;5.
Un argumento puede contener letras y nmeros independientes y uno o ms rangos, por ejemplo, a;m-z;3;5-9.
La siguiente tabla muestra algunas abreviaciones de argumentos comunes. Las abreviaciones se utilizan en filtros sin
comillas:
Carcter Significado Equivalente
9 Permite nmeros "0-9"
a Permite minsculas y maysculas "a-z;A-Z"
A Permite maysculas "A-Z"
@ Permite caracteres alfanumricos "a-z;A-Z;0-9"
Los siguientes filtros de entrada son equivalentes:
&9#
&"0-9"#
&"1;2;3;4;5;6;7;8;9;0"#
Los siguientes filtros de entrada son equivalentes:
&a#
&"a-z;A-Z"#
Los siguientes filtros de entrada son equivalentes:
&A#
&"A-Z"#

Guas

El signo nmero (#) es el nico carcter gua existentes para los filtros y formatos alfanumricos (otros caracteres estn
disponibles para los filtros y formatos numricos). Se utiliza un signo
nmero por cada carcter que el usuario pueda introducir en el campo.
Por ejemplo, el siguiente filtro de entrada permite al usuario introducir cuatro letras:
&a####
El siguiente filtro de entrada permite al usuario introducir tres letras maysculas, seguidas por dos nmeros:
&A###&9##
Si no utiliza los caracteres gua en el cdigo del filtro, permite cualquier nmero de caracteres. El siguiente filtro de
entrada permite que el usuario introduzca solamente nmeros, pero no limita la cantidad de nmeros introducidos:
&9
Nota: puede definir el nmero mximo de caracteres permitidos en un campo alfanumrico desde el editor de
estructura. (ver Tipos de campos 4D).

Caracteres gua
Cuando un campo con un filtro de entrada se selecciona para la entrada de datos, 4D muestra un guin bajo (_) por
cada gua. A medida que el usuario introduce caracteres vlidos, cada guin bajo se resalta y reemplaza por el carcter
introducido por el usuario.
Usted le indica a 4D cual carcter sustituir por el guin bajo al comenzar el filtro de entrada con un punto de exclamacin
(!) y el carcter que quiere.
Puede substituir el guin bajo por cualquier otro carcter. Por ejemplo, si muestra XXXX y el usuario escribe slo dos
de los caracteres autorizados (por ejemplo AA), el campo contendr AAXX al guardar el registro.
La siguiente imagen muestra un campo seleccionado que contiene guiones bajos y ceros.

- 567 -
Caracteres ignorados

Todo carcter, signos de puntuacin y espacios pueden utilizarse como caracteres ignorados. Los caracteres
ignorados aparecen durante la entrada de datos, pero son ignorados por el cursor y no forman parte de la informacin.
Los caracteres que quiera utilizar como caracteres ignorados se ubican al inicio, al final o entre los caracteres gua, para
proporcionar claridad al usuario durante la entrada de datos.
El filtro de entrada para nmeros telefnicos (&9(###) ###-####) utiliza parntesis, un espacio y un guin como
caracteres ignorados. Despus de introducir un carcter situado delante de un carcter ignorado, el cursor pasa
automticamente a la siguiente posicin de entrada, despus del carcter ignorado.

- 568 -
Explorador de recursos

Presentacin
Utilizar el explorador de recursos
Sincronizacin dinmica en modo cliente-servidor

- 569 -
Presentacin

En 4D v11 SQL, la arquitectura de los recursos est basada en la carpeta Resources, ubicada junto al archivo de
estructura de la base (.4db o .4dc, ver Descripcin de los archivos de 4D). Esta
carpeta permite guardar todos los "recursos" de una base o de un componente; en otras palabras, todos los archivos
necesarios para la traduccin, personalizacin de la interfaz de la aplicacin (archivos imagen, texto, XLIFF, etc.) o para
su funcionamiento en general.
Ms particularmente, para facilitar la gestin de esta carpeta en arquitectura cliente-servidor, 4D v11 SQL incluye una
nueva herramienta que permite administrar el contenido de la carpeta Resources: el explorador de recursos. Esta
herramienta se encuentra en la caja de herramientas de 4D:

El explorador de recursos muestra el contenido de la carpeta Resources de la base actual como una lista jerrquica.
Tambin incluye varias funciones adicionales que facilitan la administracin del contenido de la carpeta: adicin y
supresin de elementos, previsualizacin, etc.
El explorador de recursos puede utilizarse con 4D en modo local o en modo remoto. El explorador de recursos es ms
til en modo remoto: en este contexto permite controlar la sincronizacin del contenido de la carpeta Resources entre
todos los puestos remotos conectados a 4D Server. Es decir, el explorador de recursos le permite administrar el uso
compartido de recursos en el entorno cliente servidor. Un mecanismo de notificacin permite informar a los equipos
cliente sobre la modificacin del contenido de la carpeta Resources. Cada puesto cliente puede sincronizarse con el
servidor.

- 570 -
Utilizar el explorador de recursos

El explorador de recursos permite visualizar y modificar el contenido de la carpeta Resources de la base actual. Cuenta
con varios controles para la adicin, eliminacin, bsqueda y visualizacin de los elementos de recursos.
El explorador de recursos contiene dos reas diferentes: la lista de carpetas y el rea de previsualizacin, cada una
tiene sus propios botones de control.

Lista de carpetas

La lista de carpetas muestra la jerarqua de las carpetas presentes en la carpeta Resources de la base.

Puede seleccionar, desplegar y contraer las carpetas. Al hacer clic en un nombre de carpeta, los archivos que contiene
se muestran en el rea de previsualizacin (parte derecha del explorador de recursos). En la parte inferior de la ventana
se encuentra un rea de control que incluye botones y mens de accin.
El rea de control se encuentra bajo la lista de carpetas y contiene los botones y como tambin un men de
accin. El botn crea una carpeta en la carpeta seleccionada o en el nivel principal si ninguna carpeta est
seleccionada. El botn borra la carpeta seleccionada como tambin su contenido.
Igualmente puede utilizar un men contextual en la lista de carpetas. Los comandos de este men son lo mismo que los
del men de accin.

Los comandos del men de accin son los siguientes:


Nueva carpeta...: crea una carpeta en la carpeta seleccionada o en el nivel principal si ninguna carpeta est
seleccionada. Cuando elige este comando, se muestra una caja de dilogo, que permite introducir el nombre de la
carpeta a crear. Como la carpeta se crear fsicamente en el disco, asegrese de que el nombre no contenga
caracteres no autorizados
por el sistema (tales como: o /).
Renombrar...: muestra una caja de dilogo que permite renombrar la carpeta seleccionada.
Nota: no es posible renombrar la carpeta Resources.
- 571 -
Mostrar en disco (slo en modo local activo): muestra la carpeta en una ventana del sistema operativo.
Suprimir: borra la carpeta seleccionada y su contenido.
Nota: no es posible borrar la carpeta Resources.
Expandir todo/Contraer todo: expande o contrae todas las carpetas de la lista.
Notificar clientes (activo nicamente en modo remoto): permite "forzar" el envo de una a notificacin de
actualizacin del contenido de la carpeta Resources a otros equipos cliente. Los otros clientes pueden efectuar
una sincronizacin inmediata o diferida de su carpeta Resources en funcin de las preferencias generales o de
sus preferencias locales (ver Actualizacin de los equipos clientes).
Utilice este comando cuando realice una modificacin de la carpeta Resources y quiera solicitar la sincronizacin
inmediata de otros clientes.
Actualizar recursos locales (activo nicamente en modo remoto): permite "forzar" la sincronizacin de la
carpeta Resources local con la mquina servidor.
Utilice este comando cuando haya sido notificado de una actualizacin de la carpeta Resources del equipo
servidor (ver Notificacin de los equipos clientes) y la sincronizacin de las carpetas
no es automtica.
Tambin puede forzar la actualizacin global del contenido de la carpeta Resources local (descargar la carpeta
desde el servidor y reemplazar la carpeta local por la carpeta descargada) manteniendo presionada la tecla
Mays mientras selecciona el comando Actualizar recursos locales.

rea de visualizacin

La parte derecha de la ventana del explorador de recursos es un rea de visualizacin que muestra los archivos de la
carpeta seleccionada (incluyendo los archivos que se encuentran en las subcarpetas). Esta rea se actualiza cada vez
que cambia el elemento seleccionado en la lista de carpetas.
Esta rea se beneficia tambin de controles especficos, accesibles va el men de accin asociado:

Abrir: abre el archivo seleccionado en el editor por defecto, si lo hay. Esta accin es equivalente a hacer doble clic
en el archivo.
Renombrar...: muestra una caja de dilogo que permite renombrar el archivo seleccionado.
Seleccionar la carpeta padre: selecciona en la lista de carpetas la carpeta padre del archivo seleccionado. Este
comando le permite visualizar precisamente la ubicacin del archivo en la jerarqua de la carpeta Resources. De
hecho, el rea de previsualizacin muestra la totalidad de archivos presentes en la carpeta seleccionada,
incluyendo los archivos en las subcarpetas.
Suprimir: borra el archivo seleccionado.
Copiar: copia el archivo seleccionado en el portapapeles.
Pegar: pega el contenido del portapapeles en la carpeta seleccionada si el portapapeles contiene una imagen o
una ruta de acceso a un archivo. Si el portapapeles contiene una imagen, 4D crear un archivo imagen del tipo
correspondiente. Se muestra una caja de dilogo, permitindole nombrar el archivo creado.

Vista en miniaturas/ Vista en lista


Estos comandos se alternan. Ellos definen el modo de visualizacin actual del rea.
En modo Vista en miniaturas, los archivos de la carpeta seleccionada se muestran en forma de vietas. Los
archivos de tipo imagen se previsualizan (si el formato de imagen es reconocido por 4D) y los otros tipos de
archivos aparecen con su icono sistema.

- 572 -
En este modo de visualizacin, un men contextual ofrece acceso a los comandos de edicin de archivos.
Un mensaje de ayuda asociado a cada imagen ofrece informacin adicional: ruta de acceso (relativa), nombre,
tipo, fecha y hora de modificacin y tamao.

En modo Vista en lista, los archivos de la carpeta seleccionada se muestran en forma de tabla. Para cada
archivo, la tabla ofrece directamente el nombre, la fecha y la hora de modificacin, el tamao y tipo:

- 573 -
Puede ordenar la tabla haciendo clic en el rea de encabezado de una columna.

Gestin por arrastrar y soltar

El explorador de recursos permite aadir elementos en la carpeta Resources y en sus subcarpetas utilizando arrastrar y
soltar:
Puede modificar la estructura de rbol de la carpeta Resources arrastrando y soltando carpetas al interior de la
lista de carpetas.
Tambin puede aadir archivos a la carpeta Resources arrastrando y soltando desde el escritorio del sistema
operativo. 4D crea automticamente una copia del archivo soltado en la carpeta Resources. Puede soltar archivos
en la lista de carpetas o directamente en la rea de previsualizacin.
Es posible soltar carpetas en la carpeta Resources. La carpeta puede provenir del sistema operativo o de la
carpeta Resources de otra aplicacin 4D. Si la carpeta soltada es de otra aplicacin 4D, se mueve; de lo
contrario, 4D crea una copia (como para los archivos).
Puede soltar una carpeta en la lista de carpetas o directamente en el rea de previsualizacin. En el ltimo caso,
la carpeta se crea en la ubicacin correspondiente al nivel jerrquico mostrado en el rea de previsualizacin.
Puede arrastrar y soltar imgenes provenientes de la carpeta Resources en el editor de formularios y de mtodos.
La imagen se inserta en forma de referencia.

- 574 -
Sincronizacin dinmica en modo cliente-servidor

El explorador de recursos facilita el desarrollo colaborativo en entorno cliente/servidor. Permite particularmente manejar
la sincronizacin en tiempo real de los contenidos de la carpeta Resources en todos los puestos conectados.
Los pasos principales de la sincronizacin Resources son los siguientes:
1. Actualizar la carpeta Resources en el servidor en caso de modificacin en un equipo cliente,
2. Notificacin de todos los clientes conectados,
3. Actualizacin en tiempo real de equipos cliente conectados.
Nota: para clientes no conectados, la sincronizacin de la carpeta Resources se efecta automticamente al
conectarse.

Actualizacin del servidor

Este modo funciona de esta forma: toda modificacin efectuada localmente en la carpeta Resources de un 4D remoto
va el explorador de recursos se transfiere automticamente al servidor.

Notificacin de los equipos clientes

Cuando se ha modificado el contenido de la carpeta Resources en el servidor se le informa a todos los equipos cliente
conectados:
automticamente por el servidor, dos minutos despus de la ltima modificacin efectuada por un 4D remoto (esta
demora ayuda a evitar las notificaciones inoportunas en caso de copia de muchos archivos).
o manualmente va el comando Notificar clientes del men de accin del explorador de recursos (ver Utilizar el
explorador de recursos) en el equipo cliente al origen de la modificacin.
o por programacin, va el comando NOTIFY RESOURCES FOLDER MODIFICATION. Este comando es til en
caso de modificacin del contenido de la carpeta Resources en el equipo servidor va un procedimiento
almacenado.
Del lado del cliente, la forma como se maneja la notificacin de las modificaciones depende de la configuracin de cada
mquina (ver el siguiente prrafo).

Actualizacin de los equipos clientes

Una vez haya sido "notificado" sobre la modificacin del contenido de la carpeta Resources en el servidor, cada equipo
cliente puede sincronizarse. Esta sincronizacin puede ser automtica o manual, dependiendo de las preferencias
especificadas globalmente para la base o individualmente para cada equipo cliente.
Esta configuracin puede definirse globalmente va las Preferencias o individualmente por equipo cliente y por sesin
utilizando el comando SET DATABASE PARAMETER.
La definicin del modo de actualizacin se efecta va la opcin Actualizar carpeta Resources durante una
sesin en la Pgina Cliente-Servidor/Opciones de red de las Preferencias de la base.
Se proponen tres alternativas:
Nunca: la carpeta Resources local no est actualizada durante la sesin. La notificacin enviada por el servidor
se ignora. La carpeta Resources puede actualizarse manualmente utilizando el comando Update Local
Resources.
Siempre: la sincronizacin de la carpeta Resources local se efecta automticamente durante la sesin cuando la
notificacin es enviada por el servidor.
Preguntar: cuando la notificacin es enviada por el servidor, se muestra una caja de dilogo en los equipos
cliente, indicando la modificacin.
El usuario puede aceptar o rechazar la sincronizacin de la carpeta Resources local.
Nota: si la configuracin se efecta en las Preferencias del servidor, aplica a todos los equipos cliente. Si se lleva
acabo en el equipo cliente, aplicar a este puesto nicamente.

- 575 -
Gestin de recursos

Navegar entre tablas y formularios


Mostrar y seleccionar los registros
Edicin de registros
Imprimir registros

- 576 -
Navegar entre tablas y formularios

En las bases de datos, la informacin se almacena en tablas. Cada tabla trata un tipo particular de informacin. Por
ejemplo, una base de contactos comerciales puede contener una tabla que contenga los datos relacionados con las
personas y otra tabla que guarde los datos de las empresas.
Usted utiliza los formularios para introducir y trabajar con sus datos. Cada tabla de su base dispone de un formulario de
entrada y de un formulario de salida. Un formulario de entrada muestra un registro a la vez. El formulario de entrada
permite introducir, mostrar y modificar la informacin de un solo registro. Un formulario de salida muestra varios
registros en una lista. Los formularios de salida permiten navegar entre los registros, seleccionarlos e imprimir una
seleccin. Tambin es posible introducir y modificar registros directamente en un formulario de salida.
En cualquier momento puede pasar de una tabla a otra y cambiar los formularios de entrada y salida con los que est
trabajando en la ventana de visualizacin de los registros.
En el entorno Aplicacin, estos cambios por lo general son llevados a cabo por la interfaz personalizada. La navegacin
entre tablas y los formularios se efecta por medio de los comandos del lenguaje de 4D.
En el entorno Diseo, usted dispone de comandos especficos. Puede cambiar de tabla y de formulario en cualquier
momento.
Cada tabla tiene un formulario de entrada y de salida actual. Estos formularios por defecto se especifican en el
Explorador, para cada tabla de la base. Los formularios se utilizarn de manera sistemtica, a menos que llame otros
formularios durante la sesin.
Para seleccionar las tablas cuyos datos quiere mostrar, puede utilizar el botn Tablas en la barra de herramientas de
4D. Para seleccionar las tablas y formularios a mostrar, debe utilizar la ventana Lista de tablas. Esta ventana permite
pasar rpidamente de una tabla a otra o de un formulario a otro. Puede elegir una nueva tabla o un nuevo formulario
incluso cuando ya est utilizando un formulario de entrada o de salida. Su eleccin se tiene en cuanta de inmediato.

Mostrar los registros

Para pasar al primer plano la ventana de visualizacin de los registros:


1. Haga clic en el botn Tablas en la barra de herramientas de 4D.

O
Elija Mostrar la tabla actual (NombreTabla) en el men Registros.
Los datos de la tabla actual se muestran en el formulario de salida actual de la tabla.
Para cambiar la tabla de registros mostrada:
1. Elija una tabla en la lista asociada al botn Tablas.
O
Elija una tabla en la lista del submen ltimas tablas utilizadas del men Registros.
Esta lista contiene los nombres de las ltimas tablas mostradas durante la sesin:

Los datos de la tabla seleccionada se muestran en el formulario de salida actual de la tabla.

Ventana Lista de tablasList of tables window

Para elegir una tabla o formulario con la ayuda de la ventana Lista de tablas:
1. Elija el comando Lista de tablas en el men Registros.
La ventana Lista de tablas pasa al primer plano.

- 577 -
Si es necesario, utilice la barra de desplazamiento o la ventana de redimensionamiento para mostrar los nombres
de todas las tablas.
2. Haga clic en el nombre de una tabla en la ventana.
4D muestra la seleccin actual de esta tabla en su formulario de salida.
Cada nombre de tabla en la ventana est precedido por dos iconos que simbolizan los formularios de entrada y salida.
El icono a la izquierda lista los formularios de entrada y el icono a la derecha lista los formularios de salida.
Para modificar los formularios actuales:
1. Haga clic en el icono de entrada o salida de la tabla del formulario que quiere modificar y mantenga presionado el
botn del ratn.
Aparece un men desplegable, el cual lista todos los formularios de entrada y salida (en funcin del icono en el
cual haga clic) de la tabla seleccionada. Se subraya en la lista el nombre del formulario de entrada o de salida
utilizado actualmente.

2. Seleccione el formulario que quiere utilizar como formulario de entrada o de salida por defecto.
Estos parmetros permanecern vigentes hasta que defina los nuevos o salga de la base.
Nota: los formularios de entrada y salida por defecto se definen utilizando la Pgina Formularios del Explorador. Para
mayor informacin, consulte Designar los formularios de entrada y de salida.

- 578 -
Mostrar y seleccionar los registros

Seleccin actual

Cuando efecte operaciones en sus datos, seleccione el grupo de registros con el cual quiere trabajar. Este grupo de
registros se llama seleccin actual. La seleccin actual puede contener cero, uno, varios o todos los registros de una
tabla. Cada tabla tiene su propia seleccin actual de registros.
La seleccin actual es un concepto importante en 4D. Las operaciones de base de datos ms comunes se realizan en
los registros de la seleccin actual. Estas operaciones incluyen:
ordenacin de registros,
visualizacin y modificacin de registros particulares,
actualizacin de un grupo de registros,
impresin de un informe,
generacin de etiquetas,
representacin grfica de datos,
exportacin de registros.
En otras palabras, la creacin de una seleccin actual en una tabla es el primer paso hacia otras operaciones de
gestin de datos.
La seleccin actual de registros es siempre el conjunto de registros seleccionado ms recientemente. Por ejemplo,
imagine que la base de datos de su empresa tiene una tabla que almacena los registros de cada empleado.
Supongamos que usted decide buscar los registros de todos los ingenieros en la empresa.
Cuando comienza esta bsqueda, la seleccin actual puede contener los registros de todos los empleados en la
empresa, personal de ventas, produccin, ingenieros, etc. Cuando la bsqueda termina, la seleccin actual contiene
slo los registros de los ingenieros. Si imprimiera una lista de registros, la lista contendra slo los registros en la
seleccin actual, en este caso, los registros de todos los ingenieros en la empresa. Si quisiera representar grficamente
los salarios de los empleados, la grfica mostrara los salarios de todos los ingenieros en la empresa.
La seleccin actual no variar hasta que realice una operacin que la modifique. Puede cambiar la seleccin actual:
seleccionando todos los registros,
seleccionando un subconjunto de registros,
buscando registros.
La barra de ttulo del formulario de salida le indica cuntos registros hay en la tabla actual y cuantos registros hay en la
seleccin actual.
4D Server: en un 4D remoto, la barra de ttulo indica nicamente el nmero de registros de la seleccin actual.
El panel de control de ciertos tipos de formularios de entrada muestra, bajo los botones de navegacin, el nmero del
registro seleccionado y el nmero total de registros de la seleccin actual. El nmero del registro seleccionado
corresponde a su posicin en la seleccin actual.
Cada tabla en una base tiene su propia seleccin actual. En una base relacional, cambiar la seleccin actual en una
tabla puede modificar las selecciones actuales en las tablas relacionadas. Por ejemplo, en una base de datos que
contiene las tablas relacionadas [Empleados] y [Departamentos], una apertura de un formulario de entrada en la tabla
[Departamentos] cambia la seleccin actual en la tabla [Empleados]. Esto significa, que los empleados que pertenecen
a ese departamento se convierten en la nueva seleccin actual en la tabla [Empleados]. Para mayor informacin sobre
relaciones consulte Tipos de relaciones.
Si utiliza procesos para efectuar tareas en la base de datos, puede tener simultneamente varias selecciones actuales
por tabla. Cada proceso se comporta como un entorno 4D individual, lo cual permite efectuar tareas separadas. Puede
ser til tener ms de una seleccin actual, particularmente cuando compara dos o ms tipos de datos, tales como la
facturacin mensual de diferentes regiones de ventas. Para mayor informacin sobre procesos, consulte Procesos en
el manual Lenguaje de 4D.

Mostrar todos los registros

Cuando utilice un formulario de salida para mostrar los registros, puede reinicializar la seleccin actual, de manera que
contenga todos los registros de la tabla actual.
En el entorno Aplicacin, esta operacin puede llevarse a cabo va la accin estndar Select All o el comando ALL
RECORDS del Lenguaje de 4D.
En el entorno Diseo, puede utilizar el comando Mostrar todos del men Registros. Todos los registros de la tabla
actual se incluyen en la seleccin actual.
Nota: el comando Mostrar todos se desactiva cuando utiliza un formulario de entrada.
- 579 -
Crear manualmente una subseleccin de registros

Puede definir una nueva seleccin actual en un formulario de salida seleccionando manualmente algunos registros y
luego declararlos como nueva seleccin actual. Es decir, se crea una subseleccin.
En el entorno Aplicacin, administre registros marcados por los usuarios va los comandos de manipulacin de
Conjuntos y los comandos del tema Selecciones.
En el entorno Diseo, hay un comando Mostrar subconjunto en el men Registros. Cuando se selecciona este
comando, 4D restringe la seleccin actual al conjunto de los registros seleccionado manualmente en la ventana.
Las diferentes posibilidades de seleccin manual de registros se describen en la seccin Seleccionar en
Formularios de salida.

- 580 -
Edicin de registros

Esta seccin presenta las principales operaciones que puede efectuar cuando trabaja con los registros de su base:
aadir registros,
modificar registros,
borrar registros.
Despus de crear una base en el entorno Diseo, puede comenzar a trabajar con sus registros (entrada, modificacin,
eliminacin, etc.). Estas operaciones por lo general se efectan en modo Aplicacin va una interfaz personalizada.
4D tambin le da la posibilidad de introducir, modificar o borrar registros va el entorno Diseo. Esto le permite llevar a
cabo ciertas tareas bsicas y probar los datos de su aplicacin.
Una vez haya aadido registros a su base, puede querer modificar cierta informacin. Si necesita modificar uno o ms
registros, puede utilizar uno de los mtodos de seleccin de registros disponibles en 4D (ver el captulo Buscar
registros). Luego puede modificar los registros utilizando sus formularios de entrada y salida.
En algunas ocasiones usted necesita hacer exactamente el mismo cambio a un grupo de registros en una tabla. Esto se
llama actualizacin global. En 4D, puede actualizar la seleccin actual de una tabla automticamente, sin tener que
modificar cada registro individualmente.
Tambin podra necesitar eliminar uno o varios registros. Puede eliminar un registro si lo considera desactualizado o
innecesario. Si necesita el registro, pero los valores almacenados en l ya no son correctos, debe modificarlo en vez de
eliminarlo. Puede eliminar el registro actual desde un formulario de entrada o eliminar un subconjunto de registros de la
seleccin actual desde el formulario de salida.

Aadir nuevos registros

Puede aadir registros utilizando un formulario de entrada o de salida.


En el entorno Aplicacin, se pueden aadir registros va la accin estndar Aadir subregistro (aadir un registro a la
lista) o va los comandos ADD RECORD y CREATE RECORD.
En el entorno Diseo, 4D ofrece varias funciones de adicin para formularos de entrada y de salida.
Para aadir un nuevo registro utilizando un formulario de entrada:
1. En el entorno Diseo, elija Nuevo Registro en el men Registros.
Puede elegir Nuevo registro mientras utiliza un formulario de entrada o de salida.
4D muestra un formulario de entrada vaco y ubica el cursor en la primera rea editable del formulario.
2. Introduzca un valor en la primera rea editable y luego presionar Tab o Retorno de carro para pasar a la
siguiente rea.
Repita el proceso de entrada de datos en cada rea editable hasta introducir todos los datos para ese
registro. Cuando termine de introducir los datos y est satisfecho con los valores introducidos, puede
aceptar el registro.
3. Presione la tecla Intro del teclado numrico o haga clic en el botn Aceptar en el formulario de entrada para
aceptar el registro.
Nota: esta asignacin de teclado puede modificarse en la Pgina Interfaz de las Propiedades de la base.
Al aceptar el registro, usted le pide a 4D aadir el registro a la base almacenada en el disco. Despus de
presionar intro, se muestra un nuevo formulario de entrada vaco.
4. Si quiere crear otro registro, repita el proceso de entrada y validacin de datos.
O
Al terminar la entrada de datos, haga clic en el botn Cancelar del formulario o utilice la tecla Esc cuando se
muestre el siguiente registro vaco.
Nota: esta asignacin de teclado puede modificarse en la Pgina Interfaz de las Propiedades de la base.
Cualquiera de estas acciones muestra el formulario de salida.
Tambin puede aadir registros directamente desde el formulario de salida. Recuerde que en ese caso no puede
introducir datos en las variables, campos de otras tablas o subformularios.
Para aadir un nuevo registro utilizando el formulario de salida:
1. En el entorno Diseo, elija Nuevo registro en lista en el men Registros.
Un punto de insercin aparece en el primer campo, bajo el ltimo registro mostrado en el formulario de
salida.
2. Escriba un valor en el campo y utilice la tecla Tab o Retorno de carro para desplazarse entre los campos
de ese registro.
- 581 -
Nota: Utilice la combinacin Mays+Tab o Mays+Retorno de carro para moverse en la direccin
contraria entre los campos de los registros.
Los eventuales controles de entrada asociados a los campos del formulario de salida sern utilizados
cuando seleccione esos campos. Por ejemplo, un campo tiene una lista de opciones mostrar la lista de
opciones cuando presione la tecla Tab en l.
3. Presione la tecla Intro en el teclado numrico para guardar el nuevo registro y crear un nuevo registro en
blanco.
O
Haga clic en un campo de otro registro.
4D acepta las entradas en el registro que aadi.

Modificar registros

Usted modifica los registros cuando necesita actualizar informacin o cuando descubre que la informacin introducida
inicialmente es incorrecta. Antes de modificar un grupo de registros, seleccione los registros a modificar como
seleccin actual. Puede efectuar una bsqueda para seleccionar los registros o seleccionarlos manualmente en el
formulario de salida.
Puede modificar los registros en un formulario de entrada o de salida. El formulario de salida es ms prctico para
modificar un grupo de registros, ya que aparecen varios registros a la vez. Sin embargo, el formulario de salida
normalmente no incluye todos los campos del formulario de entrada y podra no duplicar los controles de entrada de
datos del formulario de entrada.
Si un registro est siendo modificado en otro proceso, est bloqueado. Los registros bloqueados pueden verse, pero no
pueden modificarse. Si abre un registro bloqueado, podr ver las entradas en los campos, pero no podr cambiar los
datos.
En modo Aplicacin, la modificacin de registros puede efectuarse va la accin estndar Edit Subrecord (modificar un
registro en lista) o va el comando MODIFY RECORD.
En el entorno Diseo, 4D ofrece varias funciones de modificacin.
Para modificar los registros utilizando un formulario de entrada:
1. Seleccione un registro en el formulario de salida y elija Modificar registro en el men Registros.
O
Haga doble clic en el registro del formulario de salida.
4D muestra el registro en el formulario de entrada por defecto.
2. Seleccione ciertos campos y edite, reemplace o borre los valores.
3. Haga clic en el botn Aceptar o presione la tecla Intro en el teclado numrico para aceptar el registro
modificado y regresar al formulario de salida.
O
Haga clic en un botn de navegacin (Registro anterior, Primer registro, Registro siguiente, ltimo
registro) para aceptar el registro y pasar a otro registro de la seleccin actual.
Los botones de navegacin permiten moverse entre los registros de la seleccin actual.
Puede cancelar sus cambios y regresar al formulario de salida en cualquier momento, haciendo clic en el
botn Cancelar o presionando la tecla Esc.
Puede modificar los campos mostrados directamente en el formulario de salida. Recuerde que en este caso no puede
introducir datos en variables, campos de otras tablas, o subformularios.
En el entorno Aplicacin, es posible controlar la posibilidad de modificar registros en lista.
Para modificar registros utilizando un formulario de salida:
1. Seleccione un registro y luego haga clic en el campo a modificar.
El campo en el formulario de salida se vuelve editable.
Nota: en el entorno Diseo, puede elegir en cualquier momento el comando Modificar registro en el men
Registros para modificar el registro en el formulario de entrada.
2. Escriba el nuevo texto y presione la tecla Tab o la tecla Retorno de carro en el teclado.
4D guarda los cambios realizados y selecciona el siguiente campo.
3. Contine modificando campos de acuerdo a sus necesidades.
4. Haga clic dos veces en un campo de otro registro del formulario de salida para modificarlo.

Actualizaciones globales

Se efecta una actualizacin global cuando se quiere hacer un cambio especfico a un grupo de registros. Se realiza
una actualizacin global para modificar automticamente un grupo de registros, que de otra forma sera una tarea
tediosa y demorada. Por ejemplo, podra efectuar una actualizacin global cuando quiera:
cambiar todos los precios de una tabla Inventario en un cierto porcentaje.
aplicar un formato especfico a un campo numrico o Alfa.

- 582 -
La actualizacin global se efecta aplicando una frmula a la seleccin actual de registros. Es decir, la frmula se
utiliza para hacer los cambios a cada registro de la seleccin actual.
Estos son algunos ejemplos de frmulas y la descripcin de las funciones que realizan:
La siguiente frmula multiplica el campo Salario por 1.05. Se puede utilizar, por ejemplo, para un aumento general
de los salarios de un 5 por ciento:

[Emp]Salario :=[Emp]Salario *1.05

Esta frmula utiliza una funcin interna para pasar el contenido del campo Estado a maysculas. Esto asegura una
presentacin uniforme en etiquetas e informes:

[Cliente]Estado:=Uppercase([Cliente]Estado)

Esta frmula incluye una funcin escrita por el usuario que da formato al campo Apellido. Pasa a mayscula la
inicial del Apellido y mantiene las dems letras en minsculas.

[Emp]Apellido :=Capitalize([Emp]Apellido)

La posibilidad de incluir funciones escritas por el usuario en actualizaciones globales es una caracterstica poderosa de
4D. Las frmulas pueden contener funciones del lenguaje 4D as como
tambin mtodos de proyecto (declarados utilizables en los formularios por el desarrollador). Por razones de
seguridad, el acceso a los mtodos de proyecto en las frmulas puede restringirse (ver Pgina Seguridad).
No es posible escribir frmulas de ms de una lnea lgica, es decir no puede presionar la tecla Retorno de carro e
introducir una segunda lnea. Sin embargo, los mtodos como utilizables en el editor de frmulas, pueden tener varias
lneas.
Para efectuar una actualizacin global, puede utilizar el para escribir la frmula a aplicar a cada registro de la seleccin
actual. Para realizar una actualizacin global aplicando una frmula, elija Aplicar frmula en el men Registros y
escriba su frmula. Tambin puede cargar una frmula guardada previamente en el disco como un archivo (extensin
.4fr). Para mayor informacin, consulte el captulo .
En el entorno Aplicacin, puede ejecutar directamente una frmula de actualizacin utilizando el comando EXECUTE
FORMULA o mostrando el editor de frmulas va el comando EDIT FORMULA.

Eliminar registros

Puede querer eliminar un registro desactualizado o innecesario. Si necesita el registro pero los valores que contiene
son incorrectos, puede modificar el registro en vez de borrarlo.
Puede borrar registros de dos formas:
Borrar un registro individualmente (generalmente, desde un formulario de entrada).
Borrar un conjunto de registros (generalmente, desde un formulario de salida).
En modo Aplicacin, la eliminacin de registros se lleva a cabo va las acciones estndar Delete Record o Delete
Subrecord (eliminacin en lista) o los comandos DELETE RECORD o DELETE SELECTION.
En el entorno Diseo, puede utilizar el comando Borrar del men Edicin y tambin las teclas de borrado.
Atencin: la eliminacin de registros es definitiva y slo puede deshacerse restaurando el backup de la base. Cuando
se eliminan registros, 4D muestra una caja de dilogo de alerta solicitndole confirmar la operacin.
La eliminacin de registros desde el formulario de entrada permite verificar el contenido de cada registro antes de
eliminarlo.
Para eliminar registros desde un formulario de entrada:
1. Abra el registro que quiere borrar.
2. Haga clic en el botn Suprimir registro para eliminar el registro.
Segn el diseo del formulario de entrada, el botn Suprimir registro (o Borrar) puede estar representado
de diferentes formas. Por defecto, est representado por un icono que simboliza una papelera y est
asociado a la accin estndar Delete record. Tambin es posible que un formulario no tenga un botn
borrar.
4D le pide confirmar la eliminacin. No es posible deshacer la eliminacin.
3. Haga clic en el botn Aceptar para completar la eliminacin.

4D elimina el registro actual de la base de datos y regresa al formulario de salida.


En un formulario de salida, puede borrar varios registros en una sola operacin. Los registros a borrar deben ser
- 583 -
seleccionados en el formulario de salida.
Para eliminar registros utilizando el formulario de salida:
1. Seleccione el o los registro(s) a eliminar.
2. Elija Borrar en el men Edicin o presione la tecla Borrar o Retorno de carro.
4D muestra una caja de dilogo solicitndole confirmar la operacin. Una vez validada la operacin no se
podr deshacer.
3. Haga clic en el botn Aceptar para completar la eliminacin.
4D elimina el o los registro(s) seleccionados de la base de datos.
Nota: para borrar todos los registros de una tabla, elija Mostrar todos en el men Registros luego
Seleccionar todos en el men Edicin antes de elegir Borrar en el men Edicin (o de utilizar una tecla
de borrar).

Eliminar registros bloqueados


No es posible borrar registros bloqueados. Los registros se bloquean cuando estn siendo utilizados por otro proceso.
Por ejemplo, si un proceso abre un registro para modificarlo, 4D lo bloquea de manera que otros procesos no puedan
modificarlo.
Nota para 4D Server: los registros tambin se bloquean cuando estn siendo utilizados por otro usuario.
Antes de eliminar registros, debe crear una seleccin con los registros que desea borrar. Si su seleccin contiene
registros bloqueados, la eliminacin se efecta pero los registros bloqueados permanecen en la seleccin actual
despus de la eliminacin. Debe esperar hasta que esos registros sean desbloqueados (es decir, no sean utilizados
ms por otros procesos o usuarios) para borrarlos. Los comandos del tema Registros (bloqueo) pueden utilizarse
para administrar este tipo de escenario.

Registros eliminados en otros procesos


La seleccin actual se puede alterar por registros que estn siendo eliminados en otros procesos. Por ejemplo,
mientras usted trabaja en su base de datos, puede iniciar otro proceso que elimine ciertos registros de una tabla. Los
registros eliminados en ese proceso, se eliminan definitivamente de la tabla. Sin embargo, los registros que ve mientras
trabaja con la base podran no reflejar esos cambios a la tabla hasta que se cree una nueva seleccin de registros.
Para ilustrar este punto, imagine una tabla que contiene cincuenta registros y que todos los registros estn en la
seleccin actual. En este momento, la barra de ttulo del formulario de salida indica que 50 de 50 registros estn
seleccionados. Si otro proceso elimina uno de los registros, la barra de ttulo cambia a 50 de 49 registros
seleccionados. Ahora aparecen ms registros seleccionados de los que hay realmente en la tabla! La barra de ttulo se
actualizar cuando modifique su seleccin actual.
Si intenta modificar o borrar el registro eliminado, aparece un mensaje para indicar que el registro fue borrado.
Nota para 4D Server: los registros borrados por otro usuario tienen el mismo efecto en la seleccin actual. Los
registros se eliminan de la tabla, pero no de la seleccin actual. Por lo tanto, la seleccin actual puede aparecer con
ms registros de los que hay en la tabla.

- 584 -
Imprimir registros

Puede imprimir los registros de sus tablas en cualquier momento. Los registros se imprimen va los formularios de la
base.
En el entorno Aplicacin, la impresin de registros se efectuar por lo general utilizando botones o mens
personalizados. Los registros se imprimirn va formularios dedicados. Los comandos del tema Impresin pueden
utilizarse para establecer procesos de impresin personalizados.
En el entorno Diseo, 4D permite imprimir uno o varios registros y elegir el formulario a utilizar. Puede imprimir una lista
de registros (un informe) o registros en modo pgina.
4D imprime los registros de la seleccin actual. Define la seleccin actual para el subconjunto de registros que quiere
imprimir. Si quiere que el informe liste los registros en un orden en particular, ordene la seleccin actual antes de
imprimir el informe. Si quiere imprimir un slo registro en modo pgina, haga doble clic en l para abrirlo.
Para imprimir registros:
1. En la ventana de visualizacin de los registros, seleccione los registros antes de imprimirlos.
2. (Opcional) Ordene los registros.
Este paso es obligatorio si imprime registros en un informe con rupturas. En este caso, debe ordenar los registros
en al menos un nivel mas que el nmero de niveles del informe. Para mayor informacin, consulte Formularios de
informes impresos.
3. Elija Imprimir en el men Archivo.
Aparece la caja de dilogo Imprimir.

4. Seleccione el formulario a utilizar.


Al hacer clic en un formulario, aparece una previsualizacin en el rea de vista previa.
5. Haga clic en Aceptar.
4D muestra la caja de dilogo de configuracin de la impresora seleccionada. Seleccione las opciones que
prefiera y haga clic en Aceptar. 4D muestra la caja de dilogo de impresin de la impresora seleccionada en el
administrador de impresin. Para previsualizar el informe en la pantalla, elija la opcin Vista preliminar.
Si selecciona esta opcin, el informe se mostrar en pantalla, pgina por pgina. La imagen a continuacin
muestra un informe previsualizado en pantalla bajo Windows:

- 585 -
Note: bajo Mac OS, 4D utiliza el formato PDF, nativamente implantado en el sistema para generar vistas
previas. Bajo Windows, a partir de la versin 13, 4D genera pre visualizaciones de impresin en forma de
documentos XPS. Para mayor informacin, consulte la siguiente seccin.
Cuando una pgina del informe se previsualiza, puede hacer las siguientes operaciones:
Obtener una vista ms precisa del informe haciendo clic en el botn Zoom. Para salir del modo zoom, haga
clic nuevamente en el botn de zoom.
En modo zoom, puede moverse por la pgina arrastrando el puntero al rea de su inters.
Visualizar la Pgina siguiente o la Pgina anterior haciendo clic en los botones correspondientes. Estos
botones estn inactivos cuando el informe tiene una sola pgina.
Cancelar la impresin haciendo clic en el botn Detener.
Imprimir la pgina previsualizada haciendo clic en el botn Imprimir.

Si no selecciono la opcin Vista preliminar, el informe se enviar a la impresora de inmediato.

Vista preliminar de impresin XPS bajo Windows

Desde la versin 13, 4D genera vistas preliminares antes de la impresin en forma de documentos XPS. El formato
XPS (XML Paper Specification) es una especificacin abierta de un lenguaje de descripcin de pgina, desarrollado
inicialmente por Microsoft y luego estandarizado por Ecma International. Ahora ampliamente expandido en las
aplicaciones Windows, permite una representacin precisa en pantalla de los documentos impresos y es independiente
de la configuracin de hardware.

Soporte por el sistema operativo


Para generar documentos XPS de vista previa, 4D llama un driver XPS. Este driver est integrado en Windows a partir
de Windows Vista pero puede obtenerlo en Windows XP SP2 o Windows Server 2003 instalando el framework .NET.
La visualizacin se efecta en un lector XPS, disponible nativamente o utilizando Internet Explorer, en funcin de la
versin de Windows.
- 586 -
La tabla a continuacin resume la disponibilidad del driver y del lector XPS para las diferentes versiones de Windows:
Versin de Windows Driver XPS Lector XPS
Windows XP (SP2) o Windows Server 2003 No No
Windows XP (SP2) o Windows Server 2003 + framework .NET 3.0 S S con IE
Windows Vista Yes S con IE(*)
Windows 7 y superiores S S (reader.exe)
(*) El lector tambin est disponible por separado.

Funcionamiento en 4D
En 4D, la vista previa va XPS se utiliza para:
todos los formularios y objetos 4D, en modo Diseo y Aplicacin,
los editores de etiquetas y de informes rpidos.
Cuando se genera una vista previa de impresin, 4D redirige la impresin a un archivo XPS temporal y lanza la
aplicacin asociada con los archivos .XPS.
Nota: si esta aplicacin no tiene el visualizador XPS (como es el caso, por ejemplo, con Google Chrome), 4D forza la
ejecucin de Internet Explorer.
Los archivos XPS temporales se guardan en la carpeta local del usuario: ...:\Users\
{NombreUsuario}\AppData\Local\Temp\4D\PrintPreview\FolderNumber\NumUUID\
Para evitar saturar esta carpeta, slo los 100 ltimos documentos XPS se conservan. Si el usuario no tiene derechos de
acceso adecuados, se devuelve el error -9799. Tenga en cuenta que Windows puede vaciar la carpeta "Temp" al inicio.
El lector abre el documento de forma automtica, pero no le permite nombrarlo de inmediato, por eso se crea la
subcarpeta UUID en la carpeta numerada con el fin de contener el documento XPS. El documento se nombra de forma
permanente cuando termina la impresin. Por defecto se utiliza, el nombre de la ventana donde se lanza la impresin.
Puede cambiar este nombre llamando al comando SET WINDOW TITLE o SET PRINT OPTION(Spooler document
name option; "xx") antes de la impresin.
Dos comandos permiten un mejor control sobre la opcin de vista previa: Get print preview y Is in print preview).

- 587 -
Buscar registros

Principios de las bsquedas en 4D


Editor de bsquedas Updated 15.0
Buscar por frmula
Bsquedas por formulario
Buscar y modificar

- 588 -
Principios de las bsquedas en 4D

Buscar es una de las operaciones de base de datos ms comunes. Con frecuencia es la forma ms conveniente de
seleccionar los registros con los cuales usted quiere trabajar.
El trmino buscar hace referencia a buscar un grupo de registros en la base de datos, basado en el criterio del
contenido de uno o ms campos. Usted efecta una bsqueda especificando una condicin de bsqueda, es decir un
conjunto de instrucciones que le indique a 4D los registros a incluir en la nueva seleccin actual, tal como Nombre de la
empresa igual a 4D.
Una condicin de bsqueda siempre tiene tres elementos: nombre del campo, operador de comparacin y valor. El
campo debe pertenecer a la tabla actual o a una tabla relacionada. El operador de comparacin indica a 4D cmo
comparar los contenidos del campo con el valor especificado (igual a, mayor que, menor que, etc.). El valor especifica el
nmero, la cadena de caracteres, u otro tipo de valor con el cual cada registro se compara.

Imagine que quiere obtener todos los registros de los empleados cuyo salario es mayor a 2 000 Euros. La condicin de
bsqueda es "Salario mayor que 2 000. Salario es el campo, mayor que es el operador de comparacin y 2 000 es
el valor.
Cuando usted efecta una bsqueda en una base de datos, 4D compara el contenido del campo especificado en la
condicin de bsqueda con el valor definido. La nueva seleccin actual se construye a partir de los registros que
cumplen con las condiciones de bsqueda. La nueva seleccin actual puede tener ningn registro, o un registro o, un
grupo de registros, o todos los registros de la tabla.
Puede realizar una bsqueda mientras est utilizando un formulario de entrada o de salida. Si efecta una bsqueda a
partir de un formulario de entrada, obtiene el primer registro de la nueva seleccin actual mostrado en el formulario de
entrada. Puede ver, modificar, o imprimir el registro.
Si la nueva seleccin actual tiene ms de un registro, puede moverse por los registros utilizando los botones de
navegacin (Registro anterior, Registro siguiente, Primer registro, ltimo registro). Si modifica un registro antes de
presionar un botn de navegacin, 4D guardar las modificaciones en el disco. En bases de datos relacionales, usted
puede efectuar bsquedas en campos de otras tablas, en la medida en que se haya establecido una relacin entre las
tablas.
Si realiza una bsqueda mientras utiliza un formulario de salida, la nueva seleccin actual se muestra en el formulario de
salida. Puede reinicializarla seleccin actual para mostrar todos los registros de la tabla actual eligiendo Mostrar todos
del men Registros.
Nota: si un campo en la base de datos de estructura no se utiliza en la base actual, el diseador de la base puede
ocultar el campo dndole el atributo Invisible. Slo las tablas y los campos visibles aparecen en el editor de bsquedas.
Para mayor informacin sobre esta propiedad, consulte los prrafos Atributos en las secciones Propiedades de las
tablas y Almacenado en registro, archivo de datos o fuera del archivo de datos.

Modos de bsqueda

4D ofrece varios editores para efectuar bsquedas en una base de datos. Puede utilizar la herramienta que quiera para
crear una bsqueda. Los registros que cumplan con los criterios de bsqueda compondrn la nueva seleccin actual.
Puede elegir cualquier mtodo de bsqueda cuando utilice un formulario de entrada o de salida.
En el entorno Diseo, el submen Registros > Buscar as como tambin el men asociado al botn Buscar en la barra
de herramientas de 4D tiene cuatro comandos de bsqueda. Cada comando de men muestra una caja de dilogo o
ventana diferente. Se diferencian en el tipo de bsquedas que realizan y en la forma de mostrar la nueva seleccin
actual.
En el entorno Aplicacin, las ventanas y cajas de dilogo son accesibles va los comandos del lenguaje ubicados en el
tema Bsquedas.
Estos tres comandos de bsqueda representan tres tipos diferentes de efectuar una bsqueda:
Buscar... (comandos del lenguaje QUERY y QUERY SELECTION): muestran el editor de bsquedas de 4D.
Este editor tiene una caja de dilogo que puede utilizarse para realizar bsquedas simples o mltiples. Puede
especificar condiciones de bsqueda mltiples con la ayuda de los operadores de conjuncin. Tambin puede
guardar las condiciones de bsqueda en disco y restringir la bsqueda a la seleccin actual.
Este editor incluye un modo avanzado que permite construir una bsqueda basada en una frmula (comandos del
lenguaje QUERY BY FORMULA and QUERY SELECTION BY FORMULA). Por ejemplo, puede utilizar una
frmula para examinar los tres ltimos dgitos de los nmeros de seis dgitos. Una frmula vlida devuelve una
expresin booleana (TRUE o FALSE).
Buscar por formulario... (comando del lenguaje QUERY BY EXAMPLE) muestra el formulario de entrada actual
para utilizarlo como ventana de bsqueda. Usted define la bsqueda al escribir los valores a buscar en los campos
- 589 -
correspondientes. Puede definir bsquedas mltiples al escribir los valores en varios campos. Los resultados de
su bsqueda se muestran en el formulario de salida actual.
Buscar y modificar...: idntico a Buscar por formulario..., la diferencia es que el primer registro de la seleccin de
la bsqueda se carga y aparece listo para ser modificado. Puede hacer cambios y navegar a travs de los
registros encontrados para modificarlos uno por uno.

- 590 -
Editor de bsquedas

El editor de bsquedas es un editor de propsito general que se puede utilizar para crear bsquedas simples o
mltiples. Puede crear bsquedas mltiples con las conjunciones Y, O, o Excepto. Por ejemplo, puede utilizar el editor
de Bsquedas para realizar una bsqueda de todos los empleados mayores de 60 aos o quines reciben ms de
25.000 Euros.
Puede guardar sus condiciones de bsqueda en el disco y abrirlas cuando quiera repetir la bsqueda. El editor de
bsquedas recuerda su ltima consulta. Puede editar la consulta o borrarla e introducir una nueva consulta. Puede
buscar en los campos de la tabla actual como tambin en los campos de las tablas relacionadas.
Por ltimo, puede efectuar bsquedas avanzadas utilizando frmulas (ver Buscar por frmula).

Mens del Editor

La ventana del editor contiene un men edicin, un men de accin en la seleccin y un men de bsquedas recientes.
Nota: el men Bsquedas recientes aparece cuando al menos una consulta se ha realizado durante la sesin.
Men edicin
El men de edicin contiene comandos para la gestin del cdigo de bsqueda.

Cargar... y Guardar...: estos comandos permiten gestionar cargar y guardar en el disco los archivos de
bsquedas. Si realiza la misma consulta con frecuencia, es posible que desee guardarla en el disco. Al guardar
las consultas en el disco, slo tiene que crearlas una vez. En usos posteriores del editor de bsquedas, slo tiene
que cargar la consulta deseada del disco y hacer clic en Buscar para lanzar la bsqueda.
Para guardar una consulta en el disco, haga clic en Guardar ... en el editor de consultas despus de especificar
sus criterios. 4D muestra una caja de dilogo estndar de guardar archivos, donde puede introducir un nombre de
archivo y elegir su ubicacin en el disco. La extensin de los archivos de bsquedas es ".4df". Todos los
parmetros se guardan: lnea(s) de bsqueda, accin de la bsqueda, as como tambin las bsquedas por
frmula.
Para cargar una consulta guardada, simplemente haga clic en Cargar... en el editor de bsquedas y seleccione el
archivo de bsqueda (extensin ".4df"). 4D carga su bsqueda en el editor de bsquedas. Cuando carga un
archivo, reemplaza cualquier consulta que apareci previamente en el editor de bsquedas.
Copiar frmula en el portapapeles: coloca en el Portapapeles el cdigo de la frmula construida en el rea de
edicin.
Restablecer: borra todas las lneas de bsqueda definidas en el editor. Advertencia: la eliminacin de filas es
irreversible.

Men de acciones de seleccin


Este men define la accin de consulta que se realiza en funcin de la seleccin actual de registros.

- 591 -
Crear nueva seleccin (accin por defecto): 4D busca en todos los registros de las tablas y muestra los
registros encontrados en reemplazo de la seleccin actual original.
Buscar en la seleccin: 4D slo busca en los registros de la seleccin actual original y muestra los registros
encontrados en remplazo de esta seleccin actual.
Aadir a la seleccin: 4D busca en todos los registros de las tablas y aade los registros encontrados a la
seleccin actual. Todos los registros encontrados que ya forman parte de la seleccin actual se visualizan pero no
se duplican.
Remover de la seleccin: 4D busca en todos los registros de las tablas y quita los registros encontrados de la
seleccin actual.

Men bsquedas recientes


Este men aparece cuando al menos una bsqueda ha sido realizada. Contiene las ltimas consultas realizadas durante
la sesin, permitiendo al usuario repetir fcilmente sus consultadas ms frecuentes. Se conservan un mximo de 10
consultas.

Tenga en cuenta que las acciones de seleccin asociadas a las consultas (Buscar en la seleccin, Aadir a la
seleccin, etc.) no se guardan.

Cuando se selecciona una consulta desde este men, su descripcin se muestra en el rea de construccin. A
continuacin, puede ejecutarla directamente o modificarla segn sea necesario.

Bsquedas predefinidas
El editor de bsquedas soporta bsquedas predefinidas. Al igual que una bsqueda guardada estndar, una
bsqueda predefinida contiene una definicin de bsqueda completa, incluyendo todos los criterios y se puede cargar
en el editor de bsquedas en cualquier momento. Las bsquedas predefinidas se pueden anidar en aplicaciones
desplegadas y se listan directamente en un sub-men del editor de bsquedas.
Para definir una bsqueda predefinida:
1. Cree una subcarpeta "Bsquedas" en la carpeta "Resources" de su base.
2. Aada todos los archivos de bsqueda guardados (.4df) en esta carpeta a utilizar como bsquedas predefinidas:

Cuando al menos un archivo de bsqueda .4df relacionado con la tabla actual se encuentra en la carpeta
Resources/Queries, una nuevo elemento Load > se agrega al final del men de Edicin del editor de bsquedas. Este
elemento ofrece acceso a todas las bsquedas predefinidas como elementos del submen:

La seleccin de un elemento del submen carga la bsqueda correspondiente en el editor de bsquedas.


Recuerde: slo los archivos de bsqueda relacionados con la tabla actual se muestran en el submen.

Crear una bsqueda

- 592 -
Para crear una condicin de bsqueda en el editor estndar, slo cree una lnea de la forma "campo operador valor":
1. Para designar el campo, puede utilizar la lista jerrquica ubicada a la derecha del rea de edicin:

Tambin puede hacer clic en el rea de edicin y escribir la(s) un nombre de tabla (no escriba el "["): un
mecanismo de prediccin de texto muestra propuestas que coinciden con lo que escribe:

Una vez elija la tabla, pulse el botn de flecha derecha para validar la propuesta y acceder a la lista de campos.
Luego puede introducir la(s) primera(s) letra(s) del nombre del campo o utilizar las flechas arriba/abajo para
desplazarse a travs de los campos de la tabla:
Esta lista muestra todas las tablas y campos de la base. Si una
estructura virtual se especifica utilizando los comandos SET TABLE TITLES y SET FIELD TITLES sta se tiene
en cuenta.
2. Seleccione un operador de comparacin del men central. La lista de operadores de comparacin se actualiza
con base en el tipo de campo definido:

Adems de los operadores de comparacin estndar, el nuevo editor de bsquedas ofrece operadores
extendidos y tipos de valores previamente introducidos para permitirle realizar rpidamente las consultas ms
comunes (ver Operadores de comparacin).
3. Escriba el valor que quiere buscar.
En un campo Alfa o Texto, puede utilizar el carcter comodn (@) al final del valor para solicitar una bsqueda de
tipo comienza por.
Si el campo seleccionado est asociado a una lista, 4D muestra la lista para que seleccione un valor. Si el campo
que seleccion es booleano, 4D muestra un par de botones de opcin.
4. Si desea especificar una bsqueda mltiple, haga clic en el botn para aadir una lnea. 4D duplica el
contenido de la lnea correspondiente al botn.
Si quiere aadir una lnea de bsqueda utilizando una frmula, presione Alt (Windows) u Opcin (OS X) mientras
hace clic en el botn aadir. Este punto se detalla en la seccin Buscar por frmula.
5. Seleccione la conjuncin que desea (Y, O, Excepto).
Por defecto, 4D sets the And conjunction next to the line that is added.
6. Repita los pasos 1 al 3 para definir el nuevo criterio.
Cuando crea una bsqueda mltiple, 4D evala las condiciones de bsqueda en el orden en que aparecen en el
editor de Bsquedas (es decir, de arriba hacia abajo). No hay prioridad entre los operadores de conjuncin. En
otras palabras, Y no tiene prioridad sobre O. Por lo tanto, si utiliza ms de dos condiciones de bsqueda simples
para construir una consulta mltiple, el orden en que introduce las consultas simples puede afectar el resultado de
la bsqueda.
A medida que construye una bsqueda compuesta, puede modificar las partes existentes de las condiciones de
bsqueda al hacer clic en la lnea que quiere modificar y seleccionar un nuevo campo u operador o escribir un
nuevo valor.
Puede eliminar una lnea de bsqueda seleccionando la lnea y haciendo clic en el botn . Cuidado, la
eliminacin de lneas es irreversible.
7. Elija el destino de la bsqueda utilizando el men de accin en la seleccin: Crear nueva seleccin, Buscar en
seleccin, Aadir a seleccin, Eliminar de seleccin (ver seccin anterior).
8. (Opcional) Para guardar la bsqueda en el disco, seleccione Guardar... en el men edicin.
9. Haga clic en Buscar para lanzar la bsqueda.

- 593 -
Operadores de comparacin

Al escribir una condicin de bsqueda, le indica a 4D cmo comparar los valores especficos al contenido de la base.
Por ejemplo, la condicin de bsqueda, Apellido igual a Saenz utiliza el operador de comparacin es igual a. 4D
deber comparar los valores del campo Apellido con la cadena Saenz.
Las comparaciones basadas en caracteres alfanumricos no diferencian a las maysculas y minsculas. Una bsqueda
del apellido Saenz encontrar los registros saenz, SAENZ, sAenz, etc.
Las bsquedas que utilizan los operadores Contiene y No contiene no son siempre bsquedas secuenciales.
El operador Contiene palabra clave est disponible para los campos de tipo Alfa y Texto nicamente. Para mayor
informacin, consulte la seccin Operadores de comparacin en el manual de Lenguaje 4D.
Estos son los operadores disponibles para cada tipo de campo:
Operador Alp/Txt Fecha Hora Bool Num Imagen Descripcin
es vaco x x El campo no contiene datos
no est vaco x x El campo contiene datos
es igual a x Comparadores numricos estndar
es mayor que
x
o igual a
es
estrictamente x
mayor que
es menor
x
que o igual a
es
estrictamente x
menor que
es diferente x
de
es falso x Comparadores booleanos estndar
es verdadero x
es x x x TEl campo contiene el valor exacto introducido.
no es x x x El campo es diferente del valor introducido.
comienza x x x El valor del campo es mayor o igual al valor
desde introducido (*).
est despus x x x El valor del campo es estrictamente mayor que
el valor introducido (*).
es hasta x x x El valor del campo es menor o igual al valor
introducido (*).
est antes x x x El valor del campo es estrictamente menor o
igual al valor introducido (*).
La primera fecha debe ser anterior a la
est entre x segunda. La consulta busca campos que
contengan las fechas introducidas (inclusive)
est despus La primera fecha debe ser anterior a la
x segunda. La consulta busca campos que
y antes
contengan las fechas introducidas (exclusive).
es hoy x Se muestra la fecha actual.
es ayer x Se muestra la fecha del da anterior.
Valores posibles: - semana (dom-sab) -
est dentro semana (lunes a domingo) - semana (lunes a
x
del actual viernes) - mes - trimestre - ao. Estos valores
se calculan con respecto a la fecha actual.
est dentro
x
del ltimo
est dentro
x
del siguiente
est dentro Valores posibles: - horas - minutos - segundos.
de las x Estos valores se calculan con respecto a la
ltimas hora actual.
est dentro
de las x
siguiente
- 594 -
est entre x x x El valor del campo (incluido) se encuentra entre
los valores introducidos (*).
est entre x x x El valor del campo (excluido) se encuentra
(excludo) entre los valores introducido (*).
dura x Valores posibles: - horas - minutos - segundos.
exctamente
no dura x
dura al
x
menos
dura ms de x
dura mximo x
dura menos
x
de
comienza por x Comparadores de texto estndar
termina en x
contiene x
no contiene x
Bsquedas de palabra(s) clave(s). Tiene que
elegir entre la opcin "todas las palabras" (el
contiene campo debe contener todas las palabras
x x
palabra(s) introducidas) o "algunas palabras" (el campo
debe contener al menos una de las palabras
introducidas).
no contiene
x x
palabra(s)
queda basada en el tamao de la imagen
pesa un
x (distintas unidades estn disponibles:
mximo de
bytes,KB, MB, GB)
pesa por lo
x
menos
(*) Para cadenas, las bsquedas se basan en el alfabeto (donde a < b). Por ejemplo, una bsqueda de tipo nombre
despus de "don" encuentra Don Juan, Dumas, Lpez, y as sucesivamente, pero no encuentra Alves o Dominick.

Carcter comodn (@)

Para facilitar las bsquedas, 4D tiene un carcter comodn (@) que puede reemplazar uno o ms caracteres en una
bsqueda en un campo Alfa o Texto. Por ejemplo, si busca las ocurrencias del nombre Fernando en un campo, puede
especificar el valor a buscar de varias formas:
Buscar por: Encuentra
Fer@ Todos los valores que comienzan por Fer
@do Todos los valores que terminan en do
Fe@do Todos los valores que comienzan por Fer y terminan en do
@ern@ Todos los valores que contienen ern
Nota: es posible combinar el comodn con una bsqueda del tipo Contiene palabra clave nicamente cuando se ubica
al final de la palabra que se est buscando. Por ejemplo, la condicin de bsqueda, Notas contiene palabra clave
anti@ es perfectamente vlida.

Bsquedas simples y compuestas

Es posible buscar en uno o ms campos. Una bsqueda en un campo se llama bsqueda simple. Por ejemplo, la
bsqueda Apellido es Gonzlez es una bsqueda simple. Cuando realiza una bsqueda simple, 4D examina el
contenido de un slo campo de la base.
Una bsqueda en dos o ms campos se llama bsqueda compuesta. Cuando hace una bsqueda compuesta, combina
bsquedas simples con la ayuda de un operador de conjuncin. El operador de conjuncin le indica a 4D cmo
combinar los resultados de las bsquedas individuales. Hay tres operadores de conjuncin:
Y: este operador encuentra todos los registros que coincidan con las dos condiciones simultneamente. Por
ejemplo, la bsqueda Encontrar todos los empleados que trabajen en el departamento de Ingeniera y reciban
ms de 2 000 Euros encuentra nicamente los registros de los empleados de ingeniera que reciben ms de 2
000 Euros.
O: este operador encuentra todos los registros que cumplen con una de las dos condiciones. Por ejemplo, la
bsqueda Encontrar todos los empleados que pertenezcan al departamento de ingeniera o reciban ms de 2
- 595 -
000 Euros encuentra los registros de todas las personas que trabajan en el departamento de Ingeniera y los
registros de quienes reciben ms de 2 000 Euros sin tener en cuenta en qu departamento trabajan.
Excepto: este operador es el equivalente de no (negacin). La bsqueda Encontrar todos los ingenieros
excepto aquellos que reciban ms de 2 000 Euros excluye todos los ingenieros que reciben ms de 25.000
Euros.
Para realizar una bsqueda combinando varios criterios, puede hacer clic tantas veces como sea necesario en el botn
de adicin de lnea de bsqueda .
Los operadores de conjuncin permiten crear bsquedas compuestas, como Encontrar el personal de ventas en
Bogot o Cartagena y quines reciban comisiones superiores al 30 por ciento y quines hagan ventas menores o
iguales a 20 000 Euros. La siguiente imagen muestra una bsqueda especificada en el editor de bsquedas:

Cuando esta bsqueda se ejecuta, 4D encuentra todos los registros de vendedores de Bogot y Cartagena que
obtienen altas comisiones para un bajo volumen de ventas. Hay ejemplos adicionales de los usos de operadores de
comparacin y conjuncin, para cada mtodo de bsqueda.

- 596 -
Buscar por frmula

Las bsquedas por frmula le permiten encontrar registros con base en el resultado de un clculo. En una frmula,
puede utilizar las funciones del lenguaje 4D as como los mtodos proyecto especficamente designados por el
desarrollador .
Las bsquedas por frmula son tiles para escribir condiciones de bsqueda que implican operaciones como las
siguientes:
operaciones o evaluaciones con cadenas alfanumricas,
clculos de fechas,
clculos aritmticos.
Estos son algunos ejemplos de bsquedas por frmula:
La siguiente frmula se utiliza para buscar registros donde los ltimos siete caracteres del nmero de telfono
sean iguales a 2524444.

Substring([Emp]Telefono;4;7)="2524444"

La siguiente frmula busca las personas que cumplen aos hoy:

(Day of(Current date)=Day of([Emp]FechaNacimiento)) & (Month of(Current


date)=Month of([Emp]FechaNacimiento))

La siguiente frmula divide las ventas anuales por el costo de un producto y busca los registros cuyo resultado es
superior a 1 000:

([Stats]VentasAnuales/[Stats]Costo_del_Producto)>1000

Sin embargo, la frmula:

[Stats]VentasAnuales/[Stats]Costo_del_Producto

es incorrecta porque devuelve un valor numrico, no TRUE o FALSE.


No puede escribir frmulas de ms de una lnea lgica. Es decir, no puede presionar la tecla Retorno de carro y escribir
una segunda lnea. Sin embargo, el rea de edicin envolver la siguiente lnea si la declaracin es demasiado larga. Si
necesita utilizar una frmula de bsqueda ms compleja (de ms de una lnea), escrbala como un mtodo proyecto y
llmela en la lnea de bsqueda.

Lanzar una bsqueda por frmula

Las bsquedas por frmula se escriben desde el editor de bsquedas estndar. La bsqueda por frmula es un modo
de bsqueda avanzado.
Para definir una bsqueda por la frmula, muestre el Editor de bsquedas y efecte Alt+clic (Windows) u
Opcin+clic (OS X) en el botn de adicin de lnea de bsqueda .

Nota: para obtener una sola lnea de bsqueda por frmula, elimine la primera lnea aadida por defecto.

La lnea agregada a continuacin incluye mens adicionales:

: muestra como lista jerrquica todas las tablas y campos de las bases cuyo tipo es compatible con una
bsqueda por frmula.
: muestra una lista jerrquica de todos los operadores que se pueden utilizar en una bsqueda por frmula.

: muestra una lista de funciones 4D disponibles por defecto en el contexto de una bsqueda por frmula.
- 597 -
Puede incluir mtodos proyecto en esta lista utilizando el comando SET ALLOWED METHODS.

A travs de esta nueva funcionalidad, los criterios de bsqueda por frmula se pueden combinar con criterios de
consulta estndar:

Gracias a su integracin en esta caja de dilogo, las bsquedas por frmula ahora tienen las mismas funcionalidades
que las bsquedas estndar:
seleccin del procesamiento del resultado gracias al men (Men de acciones de seleccin),
adicin en el men de bsquedas recientes (Men bsquedas recientes),
guardar y cargar a travs de archivos en disco (ver Men edicin).

- 598 -
Bsquedas por formulario

La opcin Bsqueda por formulario es un medio prctico para realizar la mayora de las bsquedas. En este tipo de
bsqueda, usted utiliza un formulario de entrada para definir los valores a buscar. Slo puede buscar en los campos de
la tabla actual. La bsqueda por formulario realiza bsquedas indexadas y secuenciales.
La ventana Buscar por formulario es slo un ejemplo. Su formulario de entrada actual siempre se utiliza como ventana
Buscar por formulario. Puede controlar la apariencia de la ventana Buscar por formulario modificando el formulario de
entrada actual.
Puede utilizar los operadores de comparacin en la ventana Buscar por formulario. Por ejemplo, para utilizar el operador
de comparacin es igual a, introduzca el valor a buscar en el campo apropiado. Si necesita un operador de
comparacin diferente, escriba el valor a buscar precedido de uno de los siguientes signos:
Comparacin Signo de comparacin Ejemplo
es distinto de # #Ventas
es mayor que > >30000
es mayor o igual que >= >=30000
es menor que < <30000
es menor o igual que <= <=30000
Puede definir una bsqueda del tipo comienza por al aadir el carcter comodn (@) despus del valor a buscar.
La siguiente imagen muestra una ventana Buscar por formulario utilizada para buscar todas las empresas cuyo nombre
comienza por S.

Puede crear una bsqueda compuesta al escribir valores en ms de un campo. Si introduce una bsqueda compuesta,
se asume el operador de conjuncin Y (por ejemplo, Nombre comienza por S y est en Cartagena). La siguiente
ventana Buscar por formulario muestra una bsqueda compuesta.

- 599 -
Para utilizar Buscar por formulario:
1. En el entorno Diseo, seleccione Buscar > Buscar por formulario en el men Registros.
O
Elija Buscar por formulario... en el men asociado al botn "Buscar en la barra de herramientas.
4D muestra el formulario de entrada de la tabla actual en una ventana Buscar por formulario. Slo aparecen
activos los botones Aceptar y Cancelar.
2. Introduzca un valor a buscar en un campo.
Por ejemplo, para encontrar los registros de personas de apellido Gonzlez, introduzca Gonzlez en el campo
Apellido.
Para utilizar un operador de comparacin, coloque el operador de comparacin antes del valor. Para realizar una
consulta del tipo comienza por, escriba el valor seguido del smbolo @.
Nota: no es posible efectuar una bsqueda por palabras claves en este editor.
3. Para realizar una bsqueda compuesta, introduzca los valores en campos adicionales.
4D utiliza el operador de conjuncin Y si introduce los valores en ms de un campo.
4. Haga clic en el botn Aceptar o presione la tecla Intro en el teclado numrico para ejecutar la bsqueda.
Para cancelar la bsqueda, haga clic en el botn Cancelar o utilice la tecla Escape o Esc.
El o los registro(s) que cumplen las condiciones de bsqueda se muestran en el formulario de salida actual.

- 600 -
Buscar y modificar

El comando Buscar y modificar permite hacer bsquedas rpidas y modificar registros. Al igual que Buscar por
formulario, utiliza el formulario de entrada actual como ventana de bsqueda. Puede especificar la consulta de la misma
manera que lo hace con la opcin Buscar por formulario.
Cuando se encuentra un registro o seleccin de registros, 4D muestra el primer registro en el formulario de entrada para
ser modificado. Al aceptar el registro, usted vuelve al formulario de salida.
Utilizando Buscar y modificar, los registros encontrados se muestran en el formulario de salida actual. Todos los
registros de la nueva seleccin aparecen simultneamente.
Utilizando Buscar y modificar, tambin se muestra en el formulario de entrada actual, el registro actual de la nueva
seleccin. De esta forma, usted puede reemplazar directamente los valores que quiera. Si la nueva seleccin
contiene varios registros, puede hacer clic en los botones de navegacin del formulario para desplazarse por cada
registro y modificar los valores uno por uno.
Para utilizar Buscar y modificar:
1. En el entorno Diseo, elija Buscar > Buscar y modificar en el men Registros.
O
Elija Buscar y modificar... en el men asociado al botn Buscar en la barra de herramientas.
4D muestra el formulario de entrada actual como ventana de bsqueda. Slo aparecen activos los botones
Aceptar y Cancelar.
2. Especifique su bsqueda como para una bsqueda por formulario.
Para mayor informacin, consulte Bsquedas por formulario.
3. Haga clic en el botn Aceptar o presione la tecla Intro en el teclado numrico para iniciar la bsqueda.
4D realiza la consulta, define la seleccin actual y muestra el primer registro que cumple el (los) criterio(s) de
bsqueda en el formulario de entrada.
4. Haga clic en los iconos de navegacin para desplazarse a los otros registros de la seleccin actual.

- 601 -
Ordenar registros

Principios
Editor de ordenacin

- 602 -
Principios

Una ordenacin reordena registros de acuerdo a los valores en la tabla. Es comn ordenar registros:
para visualizar los registros en pantalla en un orden en particular,
antes de imprimir informes o etiquetas,
antes de graficar datos.
A medida que introduce datos en una base de datos nueva, 4D almacena los registros en el orden en que fueron
introducidos o importados. Cuando lista los registros en un formulario de salida o cuando los imprime, aparecen es este
orden. Con frecuencia, usted querr ver los registros en otro orden. Por ejemplo, puede querer una lista en orden
alfabtico de apellidos en un informe, aplicar una ordenacin sobre el campo Apellido reordena alfabticamente los
registros por Apellido.
Puede aplicar una ordenacin mientras utiliza un formulario de entrada o de salida. Si hace una ordenacin desde un
formulario de entrada, el primer registro de la nueva ordenacin se muestra en el formulario de entrada. De lo contrario,
los registros ordenados se muestran en el formulario de salida.
4D realiza ordenaciones indexadas muy rpidamente. Si est ordenando slo un campo y ese campo est indexado,
4D utiliza el ndice.
Para efectuar una ordenacin, puede utilizar el editor de ordenacin, el cual le permite definir manualmente el criterio de
ordenacin.
En el entorno Aplicacin, puede ejecutar directamente una ordenacin va los comandos ORDER BY o ORDER BY
FORMULA. Sin embargo, es posible mostrar el editor de ordenacin va estos comandos.
En el entorno Diseo, dispone del comando Ordenar... en el men Registros.
La ordenacin permite reordenar la seleccin actual de registros. Esta ordenacin es temporal y aplica nicamente a la
seleccin actual; no afecta el orden en el cual los registros estn guardados en la base. Por lo general, se efecta una
ordenacin despus de una bsqueda y antes de imprimir un informe o etiquetas.

- 603 -
Editor de ordenacin

Descripcin

En el entorno Diseo, elija el comando Ordenar en el men Registros o en el men asociado al botn Buscar en la
barra de herramientas de 4D.

El editor de ordenacin contiene las siguientes reas y comandos:


Lista de campos: esta rea muestra una lista jerrquica de los campos de la tabla actual. Los campos indexados
aparecen en negrita. Puede ordenar por campos de subtablas y de tablas relacionadas (si la relacin es
automtica). Para utilizar un campo de una tabla relacionada o de una subtabla, haga clic en el signo ms (en
Windows) o en la flecha (en Macintosh) para expandir el campo de llave fornea para mostrar los campos de la
tabla relacionada.
Nota: las tablas y los campos con la propiedad invisible no aparecen en la lista. Para mayor informacin sobre
esta propiedad, consulte el prrafo Atributos en las secciones Propiedades de las tablas y Almacenado en
registro, archivo de datos o fuera del archivo de datos.
rea de criterios de ordenacin: esta rea muestra los campos y frmulas en los que se efectuar la
ordenacin y el sentido de cada ordenacin. Las flechas del lado derecho se utilizan para especificar el orden
ascendente o descendente.
Aadir Frmula...: el botn Aadir frmula le permite escribir una frmula como uno de los criterios de
ordenacin. Utilice una frmula cuando quiera ordenar por un criterio diferente a un campo, como un valor
calculado o una parte de un campo. Por ejemplo, podra ordenar de acuerdo a la tasa de piezas rechazadas o por
los ltimos cuatro dgitos de un campo Nmero de parte.
Modificar...: cuando hace clic en el botn Modificar, muestra el criterio de ordenacin seleccionado en el editor de
frmulas. Si el criterio seleccionado es una frmula, la frmula se presenta para edicin. Si el criterio es un campo,
el nombre del campo aparece en la ventana de edicin del editor de frmulas.
Panel de botones: el panel de botones tiene botones para aadir o eliminar campos de la lista de ordenacin.
Tambin puede aadir campos por arrastrar y soltar.
Cancelar: utilice este botn para cancelar la ordenacin y volver al formulario que estaba utilizando.
Ordenar: utilice este botn para realizar la ordenacin. Al hacer clic en este botn, 4D ejecuta la ordenacin y
muestra la lista de los registros ordenados. Si lanza la ordenacin desde un formulario de entrada, el primer
registro de la seleccin actual ordenada se muestra en este formulario.
Nota: el editor de Informes rpidos puede ordenar los registros que aparecen en un informe rpido.

Niveles de ordenacin

Puede definir hasta 30 campos o frmulas para ordenar sus registros. Cada campo o frmula hace referencia a un nivel
de ordenacin. Por ejemplo, los resultados de una ordenacin ascendente de dos niveles aplicada a los campos
Nombre y Apellido, producira la siguiente lista:
vila, Adriana
vila, Alberto
vila, Antonio.
[...]
- 604 -
Zapata, Elena
Zuluaga, Esmeralda
Al ordenar los contenidos de los campos, 4D no diferencia entre maysculas y minsculas (p. ej., Bejarano =
bejarano) ni los caracteres acentuados (p.ej., vila = Avila). Si utiliza una versin internacional de 4D y su sistema
operativo es sensible a los caracteres acentuados (por ejemplo, vila =? Avila), las operaciones de ordenacin
tambin tendrn en cuenta los caracteres acentuados.

Reorganizar los niveles de ordenacin

En cualquier momento puede decidir modificar el orden en el cual los niveles de ordenacin han sido especificados o
eliminar uno o varios niveles al tiempo.
Para reorganizar los niveles de ordenacin, utilice arrastrar y soltar:
1. En el rea de ordenacin, haga clic en el nivel a mover y arrastre el nivel hacia la lista y sultelo donde quiera
ubicarlo.
El nivel se insertar sobre el nivel donde se suelte.
Para eliminar un nivel de ordenacin:
1. En el rea de ordenacin, seleccione el nivel que quiere eliminar.
2. Presione la tecla Retroceso.
O
Haga clic en el botn borrar .
El nivel de ordenacin se elimina del rea.
Para eliminar todos los niveles de ordenacin:
1. Haga clic en el botn de eliminacin global .
Todos los niveles de ordenacin se eliminan del rea.

Orden ascendente y descendente

Puede especificar un orden ascendente o descendente para cada campo o frmula utilizado como criterio de
ordenacin. Ordenar de la A a la Z o de menor a mayor, se conoce como orden ascendente . El orden inverso se
conoce como orden descendente, de mayor a menor, de ltimo a primero y de la Z a la A .
Si efecta una ordenacin de ms de un nivel, puede libremente combinar ordenes ascendentes y descendentes. Una
ordenacin multinivel puede combinar campos y frmulas, y orden ascendente y descendente.
Para modificar el sentido de la ordenacin de un nivel:
1. Haga clic en la flecha a la derecha del nivel en el rea de definicin de criterios de ordenacin.

Ordenar basado en una frmula

Puede basar su ordenacin en un campo o en una frmula. Por ejemplo, la siguiente frmula ordena de acuerdo al mes
en el campo Fecha de nacimiento.

Month of([Children]Fecha de nacimiento)

Para crear una frmula para ordenar:


1. En el editor de ordenacin, haga clic en el botn Aadir Frmula.
4D muestra el .
El editor de frmulas le permite crear una frmula que devuelve los valores a ordenar. La frmula puede devolver
valores de cualquier tipo. Para ms informacin acerca de cmo utilizar el editor de frmulas, consulte .
2. Haga clic en Aceptar cuando termine de escribir la frmula.
4D muestra la frmula en el rea de criterios de ordenacin. La frmula aparece con una flecha que indica el
sentido de la ordenacin.
Para modificar una frmula o crear una frmula utilizando un campo ya ubicado en el rea de definicin de criterios,
puede seleccionar una frmula o un nombre de campo en el rea de ordenacin y haga clic en Modificar... o haga doble
clic en una frmula o en un nombre de campo en el rea de definicin de criterios.

- 605 -
Editor de frmulas

Acceso al editor de frmulas


Descripcin del editor de frmulas

- 606 -
Acceso al editor de frmulas

El editor de frmulas puede utilizarse en varios contextos de la base de datos 4D:


Para modificar globalmente un conjunto de registros (ver "Actualizaciones globales" en la seccin Edicin de
registros).
Para efectuar una ordenacin por frmula (ver Ordenacin basada en una frmula" en Editor de ordenacin),
Para calcular la columna de un informe rpido (ver Asociar frmulas a un informe),
En modo Aplicacin, puede ejecutar directamente una frmula de actualizacin va el comando EXECUTE FORMULA
o mostrar el editor de frmulas va el comando EDIT FORMULA.

Nota: tambin puede utilizar una frmula cuando efecte una bsqueda en los registros de la base. En este caso, utilice
una funcin avanzada del editor de bsquedas y no el editor de frmulas (ver Buscar por frmula).

- 607 -
Descripcin del editor de frmulas

El editor de frmulas le ofrece muchas formas de escribir fcilmente sus instrucciones. Puede hacer clic en el nombre
de los campos, operadores y comandos, as como tambin en mtodos de proyectos, para aadirlos a la frmula.
Cuando hace clic en un elemento, se muestra automticamente en el rea de edicin donde puede modificarlo
utilizando las funciones estndar cortar/copiar/pegar. Tambin puede introducir directamente los elementos en el rea
de edicin o arrastrarlos y soltarlos desde la lista de elementos.

El editor de frmulas contiene las siguientes reas:


Lista de tablas y de campos: esta rea muestra los campos de la tabla. El men ubicado sobre la lista le
permite definir los campos a mostrar. Puede utilizar campos de la tabla actual, de tablas relacionadas o de todas
las tablas.
Nota: las tablas y campos con la propiedad invisible no aparecen en la lista. Para mayor informacin sobre esta
propiedad, consulte el prrafo Atributos en las secciones Propiedades de las tablas y Almacenado en
registro, archivo de datos o fuera del archivo de datos.
Lista de operadores: la lista de operadores le permite seleccionar los operadores a utilizar en la frmula. Los
operadores estn agrupados en temas en el men ubicado sobre la lista:

Cada tema muestra todos los operadores disponibles para el tipo de datos o de operacin correspondiente. Por
ejemplo, el operador de asignacin := est disponible para todos los tipos de datos.
Para una descripcin de cada operador, consulte la siguiente seccin.
Lista de comandos: la lista de comandos contiene las funciones 4D que puede utilizar en frmulas, como
tambin en mtodos de proyecto permitidos por el desarrollador. El men ubicado sobre la lista permite mostrar
los comandos por tema o por orden alfabtico. Consulte el manual de Lenguaje 4D para una descripcin de los
comandos 4D que aparecen en este men.
En principio, los mtodos de proyecto utilizables en las frmulas deben declararse previamente con ayuda del
comando 4D SET ALLOWED METHODS. Sin embargo, por defecto, el Diseador y el Administrador de la base
tienen acceso completo a los comandos 4D y mtodos de usuario en el editor de frmulas. Tambin es posible
desactivar totalmente el control de acceso para todos los usuarios. Estas opciones se definen en la Pgina
Seguridad de las Propiedades de la base.

Operadores de frmulas

Esta es una breve descripcin de los diferentes operadores disponibles en el editor de frmulas. Para una descripcin
ms detallada de las posibilidades ofrecidas por estos operadores, consulte el captulo Operadores del manual de
Lenguaje de 4D.

- 608 -
Operadores de cadenas
A y B son cadenas de caracteres; N es un nmero.
Operador Uso Descripcin
:= Asignacin A:=B Asigna el valor de B a A
+ Concatenacin A+B Devuelve AB
* Repeticin A*N Repite el valor de A N veces
[[ ]] ndices [[A]]N Devuelve el carcter ensimo de A
"" Cadena vaca "" Inserta un par de comillas

Operadores numricos
X y Y son nmeros.
Operador Uso Descripcin
:= Asignacin X:=Y Asigna el valor de Y a X
+ Suma X+Y Devuelve X ms Y
- Resta X-Y Devuelve X menos Y
* Multiplicacin X*Y Devuelve X multiplicado por Y
/ Divisin X/Y Devuelve X dividido por Y
\ Divisin entera X\Y Devuelve la divisin entera de X por Y (X y Y deben ser enteros)
% Mdulo X%Y Divide X por Y y devuelve el residuo
^ Exponenciacin X^Y Devuelve X elevado a la Y

Nota: el operador mdulo % devuelve los valores significativos con los nmeros pertenecientes a la categora de
enteros largos (de -2^31 a +2^31 menos 1). Para calcular el mdulo de nmeros que no forman parte de este intervalo,
utilice el comando Mod.

Operadores de fechas
D1 y D2 son fechas; N es un nmero.
Operador Uso Descripcin
:= Asignacin D1:=D2 Asigna el valor D2 a D1
+ Suma D1+N Devuelve D1 ms N das
- Diferencia D1-D2 o Devuelve el nmero de das entre D1 y D2
D1-N Devuelve D1 menos N das
!//! Fecha vaca !00/00/00! Inserta una fecha vaca

Operadores de horas
H1 y H2 son horas; N es un nmero.
Operador Uso Descripcin
:= H1:=H2 Asigna el valor H2 a H1
Asignacin
+ Suma H1+H2 o Devuelve H1 ms H2
H1+N Devuelve H1 ms N segundos, expresado en segundos transcurridos desde la
media noche
- Diferencia H1-H2 o Devuelve H1 menos H2
H1-N Devuelve H1 menos N segundos, expresado en segundos transcurridos desde la
media noche
* H1*N Devuelve H1 multiplicado por N, expresado en segundos transcurridos desde la
Multiplicacin media noche
/ Divisin H1/N Devuelve H1 dividido por N, expresado en segundos transcurridos desde la media
noche
\ Divisin H1\N Devuelve la divisin entera de H1 por N, expresado en segundos transcurridos
Entera desde la media noche
% Mdulo H1%N Divide H1 por N y devuelve el residuo
?::? Hora ?
Inserta una hora vaca
vaca 00:00:00?

Operadores de comparacin
Z1 y Z2 pueden ser de tipo cadena, numrica, fecha u hora.

- 609 -
Operador Uso Descripcin
= Igual a Z1=Z2 Devuelve True si Z1 es igual a Z2
# Distinto de Z1#Z2 Devuelve True si Z1 es distinto de Z2
> Mayor que Z1>D Devuelve True si Z1 es mayor que Z2
>= Mayor o igual a Z1>=Z2 Devuelve True si Z1 es mayor o igual a Z2
< Menor que Z1<Z2 Devuelve True si Z1 es menor que Z2
<= Menor o igual a Z1<=Z2 Devuelve True si Z1 es menor o igual a Z2

Operadores lgicos
B1 y B2 deben ser booleanos (expresiones que son TRUE o FALSE).
Operador Uso Descripcin
& AND B1 & B2 Devuelve True si B1 es True y B2 es True
| OR B1 | B2 Devuelve True si B1 es True o B2 es True

- 610 -
Informes rpidos

Introduccin
Gestin de informes rpidos
Editor de informes rpidos
Atributos grficos de un informe
Ordenar los registros de un informe
Aadir clculos
Definir los formatos de salida de columnas
Ocultar lneas y columnas
Aadir encabezados y pies de pgina
Ejecutar un informe rpido
Generar el cdigo 4D

- 611 -
Introduccin

Una de las tareas ms importantes en la administracin de informacin es la generacin de informes. El editor de


Informes rpidos es una de las dos herramientas de 4D disponibles para el diseo de informes. Utilice el editor de
Informes rpidos para crear informes desde los entornos Diseo y Aplicacin.
La otra herramienta es El editor de formularios, que se utiliza para disear informes en el entorno Diseo (puede ser
modificado posteriormente en el entorno Aplicacin). Debe utilizar un formulario de salida para disear informes que
requieran diseos complejos o clculos especficos. Esta posibilidad se detalla en el captulo Formularios de salida e
informes.
Utilizando el editor de informes rpidos, puede:
generar listas ordenadas de registros.
crear reas de ruptura.
generar informes de tipo tabla cruzada.
realizar clculos consolidados.
modificar fuentes y estilos del informe.
definir bordes y colores de fondo para las celdas.
guardar y abrir diseos de informes rpidos en disco.
seleccionar diferentes tipos de salidas para los informes, tales como archivos HTML o de texto, rea 4D View,
imprimir o guardar en disco.
El editor de Informes rpidos puede manejarse por programacin utilizando los comandos del tema Informes rpidos.

Editor de informes rpidos

El editor de informes rpidos consta de dos reas principales:


El rea de datos permite especificar el tipo de informe a generar y los datos a integrar; tambin se utiliza para acceder
al asistente de informes rpidos:

El rea del informe rpido:

- 612 -
Esta imagen muestra el rea que aparece cuando un informe rpido se inserta en un formulario. Esta rea es donde se
crean los contenidos de las filas y columnas, donde se definen los criterios de ordenacin, etc. Adems, esta rea
incluye varias barras de herramientas, su propia barra de men y mens contextuales.
Por ejemplo, esta rea se puede ubicar dentro de un formulario, como en la siguiente imagen:

Modo Lista y modo Tabla cruzada

En el editor de informes rpidos hay dos modos de operacin disponibles para generar dos tipos de informes
especficos: Lista y Tabla cruzada.

Modo Lista
Este es el modo por defecto. En este modo, los informes muestran generalmente una lista de registros con niveles
de ruptura donde se pueden realizar clculos. El siguiente es un tpico informe rpido tipo Lista:

- 613 -
Modo Tabla cruzada
Este modo le permite mostrar su informe como una tabla bidimensional. Este modo es til cuando quiere mostrar
los datos de una fuente de datos clasificados en categoras definidas en funcin de otras dos fuentes de datos.
Por ejemplo, un formulario tipo tabla cruzada le permite mostrar en una tabla cuntos productos de cada tipo de
producto se vendieron en cada trimestre. El siguiente es un informe rpido tipo tabla cruzada tpico:

El asistente del editor de informes rpidos

Cuando crea manualmente un informe rpido, puede utilizar un asistente para guiarlo durante la creacin del informe.
Para llamar el asistente, haga clic en el botn Abrir el asistente en el editor de informes rpidos:

Las pginas del asistente reemplazan el rea de datos en la ventana del editor de informes rpidos. La construccin del
informe se realiza a travs de pasos detallados comentados en el lado derecho de la ventana. Para crear un informe
rpido con el asistente, siga las instrucciones que aparecen en la pantalla.
Al terminar la construccin del informe, el asistente le ofrece generar el cdigo 4D correspondiente. Para mayor
informacin sobre este punto, consulte la seccin Generar el cdigo 4D.
Para salir del asistente, haga clic en el botn Modo manual:

- 614 -
Gestin de informes rpidos

Crear un nuevo informe rpido

El editor de informes rpidos permite crear informes rpidos en modo Diseo o Aplicacin.
Tambin es posible insertar un rea de informe rpido en un formulario va el rea de plug-in de tipo informe (ver Areas
de Plug-ins).
Para crear un informe rpido:
1. Seleccione Informe rpido... en el men Utilidades o haga clic en el botn Utilidades>Informe rpido de la
barra de herramientas.
4D muestra el editor de informes rpidos. Si se ha definido un informe anterior, aparece en la ventana del editor.
Para borrar el contenido de la ventana, seleccione Nuevo del men Archivo o haga clic en el icono Nuevo en la
barra de herramientas estndar del editor para comenzar a disear un nuevo informe rpido.
2. Seleccione el tipo de informe a generar haciendo clic en el botn Lista o Tabla cruzada, ubicados en la parte
inferior izquierda de la ventana.
El tipo Lista generalmente aparece seleccionado por defecto. La seleccin de un tipo modifica el rea del informe
rpido.
3. Comience a definir el contenido del informe.

Cargar y guardar un diseo de informe rpido

Puede guardar el diseo de un informe rpido como un archivo que puede abrir en el editor de informes rpidos. El
diseo del informe rpido incluye todas sus especificaciones para el informe, pero no los datos. Al guardar sus diseos
de informes, puede mantener una librera de diseos de informes rpidos y utilizarlos de acuerdo a sus necesidades.
Cuando el editor de informes rpidos est abierto, puede cargar un diseo guardado y utilizarlo para generar un nuevo
informe. Los mismos parmetros de informes rpidos pueden utilizarse varias veces para imprimir diferentes
selecciones de registros.
Nota: el ltimo diseo creado se mostrar la prxima vez que abra el editor de informes rpidos pero slo durante la
misma sesin de trabajo.
Para guardar un diseo de informe rpido:
1. Seleccione Guardar como en el men Archivo.
O
Haga clic en el icono Guardar en la barra de herramientas del editor.
4D muestra una caja de dilogo estndar para guardar archivos. Los archivos de informes rpidos en 4D se
denotan con la extensin ".4QR".
2. Escriba el nombre del archivo de informe rpido y haga clic en el botn Aceptar.
4D guarda el informe como un archivo que puede abrir con el editor de informes rpidos. Puede guardar el archivo
en su disco duro. Si modifica los parmetros del informe posteriormente y quiere guardarlos nuevamente, slo
deber seleccionar el comando Guardar en el men Archivo. El nuevo archivo reemplazar al anterior en el
disco, sin que aparezca la caja de dilogo guardar archivo.
Para cargar un diseo de informe:
1. Seleccione Abrir en el men Archivo.
O
Haga clic en el icono Abrir en la barra de herramientas.
4D muestra una caja de dilogo para abrir archivos con una lista de diseos de informes rpidos disponibles.
2. Haga doble clic en el nombre del archivo o seleccinelo y haga clic en el botn Abrir.
4D reemplaza el diseo actual por el diseo que abri.

- 615 -
Editor de informes rpidos

Descripcin del editor

El editor de informes rpidos contiene los siguientes elementos:


Men de seleccin de la tabla principal: este men permite especificar la tabla principal que se utilizar como
base para generar el informe. Los campos de esta tabla se muestran en la lista de campos y los campos
relacionados se mostrarn con relacin a esta tabla.
Lista de campos: esta lista permite seleccionar los campos a insertar en el informe al hacer doble clic en ellos o
al arrastrarlos y soltarlos. Muestra la lista de campos de la tabla principal, la lista jerrquica de tablas y campos
relacionados o la lista de todas las tablas y campos de la base. Elija el tipo de visualizacin en el men de
seleccin ubicado justo sobre el rea.
Los campos indexados aparecen en negrita. Tambin puede mostrar y seleccionar los campos de las tablas
relacionadas.
Notas:
Las tablas y los campos invisibles no aparecen en la lista de campos del editor de informes rpidos. Para
mayor informacin sobre cmo ocultar tablas y campos, consulte el prrafo Invisible en las secciones
Propiedades de las tablas y Almacenado en registro, archivo de datos o fuera del archivo de datos.
Los campos de tipo Objeto no son soportados por el editor de informes rpidos.
Todas las relaciones en automtico: esta opcin se utiliza para especificar la forma en que el editor de
informes rpidos utilizar las relaciones entre las diferentes tablas de la base de datos. En principio, el editor slo
puede utilizar relaciones automticas. Por defecto, la opcin no aparece seleccionada y el editor slo utiliza las
relaciones automticas.
Si la opcin Todas las relaciones en automtico est seleccionada, el editor de informes rpidos considera las
relaciones manuales de la base como relaciones automticas y permite el acceso a todos los datos relacionados
de la base.
Nota para los desarrolladores:
La opcin Todas las relaciones en automtico hace que todas las relaciones pasen a automtico para el
proceso actual, an despus de que el editor de informes rpidos se cierre. Si quiere asegurarse de que
todas las relaciones sean manuales despus de utilizar el editor de informes rpidos, ejecute la instruccin

SET AUTOMATIC RELATIONS(False;False)

Cuando el editor se llama utilizando el comando QR REPORT, esta opcin no aparece para permitir al
desarrollador manejar el estatus de las relaciones directamente.
Separador de columnas: estas lneas indican los lmites entre las columnas del informe. Se pueden mover
manualmente con el fin de aumentar o disminuir el ancho de cada columna. El redimensionamiento manual
deselecciona la opcin Ancho automtico si haba sido activada para la columna correspondiente.
Celdas: una celda es la interseccin de una fila y una columna.
Barras de desplazamiento: las barras de desplazamiento permiten ver las partes del diseo del informe rpido
que estn por fuera de los lmites del rea del editor.
Lista de ordenacin/rea del criterio de ordenacin:
En modo Lista, esta lista muestra los campos del informe con los que se efectuar la ordenacin, as como
el criterio de ordenacin y el sentido (ascendente o descendente). Cada campo insertado en esta lista
provoca la adicin de una fila de subtotal en el rea del informe rpido.
En modo Tabla cruzada, esta rea muestra el criterio de ordenacin para fuente de datos.
rea del Informe rpido: esta rea le permite construir su informe insertando los campos por arrastrar y soltar, o
haciendo doble clic en ellos, o a travs del men contextual; igualmente puede ajustar el ancho de las columnas,
aadir o borrar rupturas o frmulas, definir los colores y los bordes de las celdas, etc.
Modo listado:

- 616 -
Lnea Ttulo: esta lnea muestra los nombres de los campos o de las frmulas insertadas en el informe. Se
repite para cada pgina del informe. El editor de informes rpidos inserta por defecto los nombres de los
campos, pero usted puede modificar los contenidos.
Lnea detalle: esta lnea contiene la informacin tomada de cada registro y se repite en el informe para
cada registro. Puede asociar un formato de presentacin en funcin del tipo de datos que representa.
Lneas Subtotal: estas lneas muestran los clculos intermedios as como las etiquetas asociadas a ellos.
Se crea una lnea por cada criterio de ordenacin.
Fuentes de datos de columnas: estos ttulos indican la fuente de datos de cada columna.
Modo tabla cruzada:

Fuente de datos: estas dos celdas contienen los campos que se utilizarn para las dos categoras del
array. La celda central tambin puede aceptar fuentes de campos y de clculos al mismo tiempo.
Celdas de total: estas celdas estn diseadas para contener los clculos correspondientes al contenido de
las columnas.
Celdas de ttulos: estas celdas contienen los ttulos de la ltima columna o de la ltima fila. Se puede
modificar su contenido.
Mens contextuales: el editor de informes rpidos tiene mens contextuales que facilitan el acceso a
ciertas lneas, columnas y operaciones en celdas. Un men
contextual puede reemplazar varios comandos de mens o la definicin de diferentes propiedades de
columnas o de celdas.
Las siguientes imgenes muestran diseos de informes rpidos la relacin entre las especificaciones de diseo y la
salida impresa:
Informe lista:

Informe Tabla cruzada:

Aadir y modificar texto

Puede aadir o modificar texto en las reas de etiquetas del informe. Por ejemplo, si solicita los subtotales, puede
etiquetarlos al aadir texto a las otras celdas en las filas Subtotal y Total general. Puede efectuar las siguientes
operaciones:

- 617 -
Editar el texto que 4D aade automticamente a la lnea Ttulo del informe.
Insertar texto en las celdas vacas de las lneas Subtotal y Total general,
Insertar el valor de un campo Subtotal en las lneas Subtotal,
Definir la fuente, tamao de fuente, justificacin y estilo para cualquier texto que aparezca en el informe.
Para aadir texto, haga clic dos veces en una celda vaca del informe rpido. Aparece un punto de insercin de texto en
la celda. Si introduce una etiqueta para un clculo, seleccione una celda de la misma lnea que la celda que contiene con
el clculo. No puede introducir texto en la misma celda que efecta los clculos.
Para modificar texto, haga doble clic en la celda para obtener un cursor de insercin y arrstrelo a travs del texto en la
celda a modificar.
4D resalta el texto seleccionado.

Aadir o insertar columnas

En modo lista, puede crear columnas arrastrando los nombres de los campos desde la lista de campos hacia el rea
del informe rpido. Si quiere aadir un campo de una tabla relacionada, expanda el campo llave fornea en la lista
jerrquica de campos para mostrar los campos de las tablas relacionadas (si en el men desplegable, justo encima de
la lista de campos, est seleccionada la opcin Las tablas relacionadas o Todas las tablas). Puede aadir campos de
tablas relacionadas, si la relacin es automtica. Si quiere utilizar las relaciones manuales, marque la casilla de
seleccin Todas las relaciones en automtico: en este caso, el editor pasa todas las relaciones de la base de datos a
automticas.
Tambin puede insertar una columna adicional vaca en un informe rpido. Una vez insertada la columna, puede
asignarle un campo o frmula.
Nota: no puede aadir o editar una columna en modo tabla cruzada, ya que el informe viene con todas las columnas
necesarias.
Para aadir un campo:
1. Arrastre el nombre de un campo hacia la derecha de las columnas existentes en el rea del informe rpido y suelte
el botn del ratn.
O
Haga doble clic en el nombre de un campo en la lista de campos.
Nota: si arrastra un campo y lo suelta sobre una columna existente, sta columna se reemplaza por la nueva
columna.
4D crea una columna para el campo y pone el nombre del campo en el encabezado de la columna as como en la
celda de la lnea del encabezado.
Por defecto, 4D imprime los nombres de los campos como encabezados de columna en la parte superior de cada
pgina del informe rpido.
Para aadir o insertar una columna utilizando un comando de men:
1. Seleccione el comando Aadir... o Insertar en el men Columnas del editor.
O
Haga clic derecho en un rea vaca del informe rpido, luego seleccione el comando Aadir... o Insertar.
Aparece el editor de frmulas estndar de 4D, permitindole especificar la fuente de datos de la nueva columna (campo
o frmula).

Eliminar columnas

En modo lista, a medida que especifica los campos para su informe rpido, podra querer eliminar algunas columnas
para ubicarlas en otra parte. O podra querer eliminar una columna del informe.
Para eliminar una columna, seleccione Eliminar del men Columnas o haga clic derecho en el encabezado de la
columna a eliminar, luego seleccione el comando Eliminar del men contextual.
4D elimina la columna seleccionada del informe.

Reemplazar columnas

En modo lista, puede reemplazar una columna del informe rpido al arrastrar otro campo sobre ella. Tambin puede
reemplazar un campo con una frmula y viceversa.
Para reemplazar una columna por un campo:
1. Arrastre un campo de la lista de campos hacia la columna que quiere reemplazar.
El reemplazo es instantneo. Si el campo anterior fue designado como nivel de ordenamiento, el campo que lo
reemplaza tambin se substituye en la lista de ordenamiento.

- 618 -
Para reemplazar una columna utilizando el Editor de frmulas:
1. Seleccione la columna que quiere reemplazar y seleccione Editar... en el men Columnas.
O
Haga clic derecho en el encabezado de la columna a reemplazar, luego seleccione el comando Editar... en el
men contextual.
Aparece el editor de frmulas de 4D, permitindole designar la nueva fuente de datos de la columna (campo o
frmula).
Cuando imprime un informe rpido, 4D imprime los resultados de la frmula para cada registro en la lnea de
Detalle. Para mayor informacin sobre cmo aadir una frmula a un informe rpido, consulte Asociar frmulas a
un informe.

Redimensionar las columnas

Por defecto, el editor de informes rpidos dimensiona las columnas automticamente, tal como lo indica el botn Ancho
automtico. El tamao de cada columna se calcula en funcin de la longitud mxima de los datos y de las etiquetas
mostradas en la columna. El editor de informes rpidos dimensiona las columnas en el momento de imprimir el informe
Esta operacin se activa para una columna cuando el atributo Ancho automtico se ha asociado a la columna. Puede
definir y visualizar la activacin de esta opcin en el men Columnas, en el men contextual de las columnas o utilizando
el botn correspondiente de la barra de herramientas Columnas.
Para ver el ancho de cada columna, previsualice el informe en la pantalla. Para mayor informacin sobre cmo
previsualizar el informe, consulte Ejecutar un informe rpido.
Como la opcin Ancho automtico calcula el ancho de una columna a partir del ancho mximo de los datos que
contiene la columna, el ancho puede cambiar en funcin de los registros seleccionados.
Puede redimensionar manualmente una columna, lo cual hace que la opcin Ancho automtico se deseleccione
automticamente (donde aplica). Cuando una columna se dimensiona manualmente, el texto que contiene se ajusta al
ancho especificado utilizando ms de una lnea si es necesario.

Mover columnas

En modo Lista, a medida que especifica los campos para el informe rpido, podra querer mover algunas columnas
para ubicarlas en otro lugar. Para mover una columna, haga clic en el icono de mover a la derecha o a la izquierda en la
barra de herramientas "Columnas" del editor o seleccione Mover a la derecha o Mover a la izquierda desde
el men Columnas para mover la columna hacia donde quiera.
4D mueve la columna seleccionada en la direccin indicada.

- 619 -
Atributos grficos de un informe

Puede modificar la apariencia grfica de un informe rpido. El editor de informes rpidos le permite definir los
siguientes atributos:
la fuente, su tamao, justificacin, estilo y color,
el color de fondo de las celdas,
los bordes de las celdas.
Adicionalmente, 4D ofrece un conjunto de plantillas de informes predefinidas que puede modificar.
Nota: las especificaciones de apariencia slo se tienen en cuenta para la Impresora y el Archivo HTML (colores
nicamente). Con los otros tipos de salidas, el formato de los informe se debe efectuarse despus de generar el
informe, con las aplicaciones receptoras (4D View o un editor de texto). Para mayor informacin acerca del destino de
los informes, consulte Ejecutar un informe rpido.

Definir la fuente, tamao, estilo, justificacin y color de los caracteres

Cuando disea su informe rpido, puede especificar diferentes fuentes, justificacin, estilos y colores. Puede aplicar
esas especificaciones al texto, a los datos y a los clculos en las filas, columnas o celdas del informe rpido.
Si asigna especificaciones a la lnea Detalle del informe, no ver los resultados hasta previsualizar o imprimir el informe.
Puede especificar los atributos de fuente con los comandos de men o los mens contextuales del editor de informes
rpidos.
Para especificar una fuente, un tamao de fuente, un estilo, una justificacin o un color de caracteres:
1. Haga clic derecho en la etiqueta de la lnea, el ttulo de la columna o celda donde quiere aplicar los atributos de
fuente.
2. En eI men contextual, utilice los submens Fuente, Tamao, Estilo, Justificacin o Color de fuente para cambiar
los atributos de fuente que quiera:

O
1. En el informe, seleccione la columna, lnea o celda a configurar.
2. En la barra de herramientas Estilo seleccione una fuente, un tamao, un estilo, una justificacin y un color:

Nota: tambin puede asignar estilos y justificacin desde el men Estilo.


4D aplica los parmetros a los textos, datos o clculos incluidos en el rea seleccionada.

Definir el color de fondo de las celdas

El editor de informes rpidos permite definir un color de fondo para cada celda. Puede definir un color o alternar dos
colores, para dar mayor legibilidad a las tablas.
Es posible definir los colores de fondo para los informes en lista y tabla cruzada. Los colores de fondo se utilizan con las
salidas Impresin y archivo HTML.
- 620 -
Para definir un color de fondo:
1. Seleccione una celda, columna o fila y luego seleccione el color principal en la paleta Color de fondo de la barra
de herramientas:

Puede asignar cualquier combinacin de colores a las filas, celdas y columnas.


2. (Opcional) Si quiere utilizar un color de fondo alterno, seleccinelo en la paleta Color de fondo alt.:

Las celdas a las que se les asign dos colores de fondo alternos mostrarn ambos colores en el editor de
informes rpidos.
Este es un ejemplo de informe en modo Lista generado (previsualizado) que tiene colores de fondo alternos:

Los colores de fondo tambin se tienen en cuenta en la generacin de informes en formato HTML:

Definir bordes

Puede definir los bordes de las celdas para los informes en lista y de tabla cruzada.
Para definir los bordes de una celda, lnea o columna:
1. Seleccione una celda, lnea o columna y luego seleccione Bordes... en el men contextual o en el men Estilo.
- 621 -
Aparece la caja de dilogo Bordes:

El rea de previsualizacin vara dinmicamente en funcin del tipo de seleccin: celda, columna o lnea, tambin
si la celda corresponde a un informe en lista o en tabla cruzada. Por ejemplo, la celda central en un informe en
tabla cruzada no funcionar igual que una celda detalle de un informe de lista. La celda central se repite horizontal
y verticalmente en un informe tabla cruzada, mientras que la celda detalle en un informe lista slo se repite
verticalmente. Adems, otras celdas no se repiten (los ttulos por ejemplo).
Si selecciona una celda de ttulo (que no se repite), las lneas externas representan los bordes de la celda:

Si selecciona una celda detalle en un informe lista (que se repite verticalmente), las lneas externas
representan el borde exterior de las celda repetidas y la lnea interior horizontal representa la separacin
entre dos celdas de la secuencia:

Si selecciona la celda central en un informe tabla cruzada (que se repite horizontal y verticalmente), las lneas
externas representan las lneas externas de las celdas repetidas, y las lneas internas representan los bordes
entre cada celda generada a partir de la celda central:

2. Seleccione el grosor de las lneas y el color a utilizar.


Puede utilizar diferentes colores para diferentes bordes.
3. Seleccione los bordes con los botones de flechas o con los botones de atajos.
Notar que algunos botones de atajo aparecen inactivos, en funcin del tipo de celda en edicin.
- 622 -
4. Repita los pasos 2 y 3 para cada borde a configurar y luego valide los cambios.
Puede utilizar el botn Invertido para volver a la configuracin inicial de bordes.

Utilizar plantillas de informes predefinidas

El editor de informes rpidos contiene un conjunto de plantillas predefinidas que ofrecen varias aproximaciones grficas
para la realizacin de informes impresos o HTML. Puede utilizar las plantillas tal como estn o basarse en ellas para
construir sus propios informes. Puede aplicar un modelo de plantilla en cualquier momento.
Una plantilla de informe combina un conjunto de caractersticas grficas: fuente, colores, estilos, bordes y justificacin.
Puede utilizar todas las caractersticas de la plantilla o parte de ellas.
Para utilizar una plantilla predefinida:
1. Seleccione el comando Presentacin... en el men Estilo.
Aparece la caja de dilogo de seleccin de modelos:

2. En la lista de modelos predefinidos, haga clic en el que quiera utilizar. Puede previsualizar cada modelo en el rea
a la derecho de la caja de dilogo. Seleccione el modelo que mejor responda a sus necesidades; recuerde que
siempre puede modificar su informe posteriormente.
3. Si no quiere utilizar todas las opciones grficas definidas por el modelo, deseleccione las opciones que no quiere
que se tenga en cuenta.
Por defecto, todas las opciones estn seleccionadas. Si por ejemplo, deselecciona la opcin Borde, los bordes
definidos por el modelo no se aplicar a su informe.
Nota: slo la opcin Color se tendr en cuenta para los informes cuyo destino es un archivo HTML.
4. Haga clic en Aplicar.
Las caractersticas seleccionadas se aplican inmediatamente a su informe. Los atributos grficos definidos
anteriormente, se reemplazan. Recuerde que ciertas caractersticas slo sern visibles una vez se genere el
informe.

- 623 -
Ordenar los registros de un informe

Una caracterstica importante del editor de informes rpidos, es la capacidad de ordenar los registros en el informe. La
ordenacin de registros es muy til para:
visualizar los registros en un orden en particular,
crear grupos de registros y reas de subtotal en el informe con el fin de realizar clculos para cada grupo.

Definir el sentido del orden para un informe en lista

Puede definir el sentido del orden en cualquier momento; simplemente arrastre y deje caer una columna en el rea de la
lista Sentido del orden. Por ejemplo, si quiere ordenar los registros de vendedores por el campo Regin de venta, debe
arrastrar y soltar la columna Regin de venta en el rea Sentido del orden.
Igualmente puede ordenar los resultados de una frmula al seleccionar la columna que contiene la frmula y ubicarla en
la lista Sentido del orden. Para mayor informacin sobre adicin de frmulas a informes rpidos consulte Asociar
frmulas a un informe.
Puede ordenar un informe en varios niveles. El orden en que aparecen los campos y frmulas en la lista Sentido del
orden indica los niveles de ordenacin.
Para especificar el sentido del orden utilizando la lista de campos:
1. Arrastre el campo que quiere definir como nivel de orden desde la lista de campos hacia la lista Sentido del orden.
O
Seleccione el campo en la lista de campos y haga clic en el botn de insercin .
El campo se aade a la lista Sentido del orden:

Por defecto, las ordenaciones se realizan en orden ascendente (A -> Z). Puede cambiar el sentido de orden al
hacer clic en el tringulo junto al campo en la lista Sentido del orden.
Nota: si el campo de orden no se ha insertado en una columna del informe, se crea una columna adicional
automticamente en el rea del informe rpido.
Para definir un orden para una columna (campo o frmula):
1. Seleccione Columnas del informe en la lista desplegable de seleccin de campos.

La lista muestra los encabezados de las columnas definidos en el informe:

- 624 -
2. Arrastre la columna que quiere definir como nivel de orden y sultela en la lista Sentido del orden.
O
Seleccione la columna en la lista de columnas y haga clic en el botn de insercin .
4D muestra el nombre de la columna en la lista Sentido del orden.

Modificar el nivel de ordenacin


Para cambiar el nivel de una ordenacin:
1. Haga clic derecho sobre el campo en la lista Sentido del orden para mostrar el men contextual.
2. Seleccione Subir o Bajar para mover el campo hacia arriba o hacia abajo (respectivamente) en los niveles de
ordenacin.

Modificar el nivel de ordenacin


Puede borrar todo campo o frmula de la lista Sentido del orden.
Para eliminar un nivel de ordenacin:
1. Seleccione el campo o frmula a eliminar en la lista y haga clic derecho para mostrar el men contextual.
2. Seleccione Eliminar.
El nivel se elimina. Note que la columna asociada no se elimina del informe. Sin embargo, desaparece la lnea de
subtotal asociada.

Definir la ordenacin para un informe en tabla cruzada

En un informe en tabla cruzada, slo se pueden ordenar los valores de las fuentes de datos horizontales y verticales (las
dos fuentes de datos utilizadas como categoras en la tabla final).
Para ordenar las categoras en un informe en tabla cruzada, haga clic en los indicadores de ordenacin en el rea
Sentido del orden. Una flecha indica el sentido de orden especificado:

Para modificar o eliminar el sentido del orden de una fuente de datos, haga clic nuevamente. Aparecen sucesivamente
los diferentes sentidos posibles. Cuando no se muestra una flecha, no se ha seleccionado ningn sentido de
ordenacin. En este caso, los valores se mostrarn en el orden en que aparecen en la seleccin.

Niveles de ruptura

En un informe rpido, puede definir niveles de ruptura para separar los registros en grupos de acuerdo a los valores de
uno o ms campos. Se imprime un rea de ruptura en cada nivel de ruptura. Puede hacer clculos en cada rea de
ruptura. Los clculos suma, media, mnimo, mximo, nmero y desviacin estndar, se realizan para cada grupo de
registros.
Los niveles de ruptura son determinados por los niveles de ordenacin y las lneas de ruptura. Por ejemplo, si ordena
sus registros por Zona de Ventas, 4D inserta una ruptura entre cada grupo de registros de una misma zona de ventas.
Estas filas se insertan automticamente cuando se define un criterio de ordenacin.
- 625 -
Despus de aadir una lnea subtotal al informe rpido, puede solicitar clculos para cada ruptura. Por ejemplo, puede
insertar un clculo en una fila subtotal para mostrar el subtotal de ventas de cada zona de ventas. Consulte Aadir
clculos.

La etiqueta de una fila subtotal indica el cambio de valor que provoca la ruptura.

Uso de valores de campos de ruptura en las etiquetas

Puede mejorar la apariencia y claridad de sus informes etiquetando cada lnea subtotal con el valor del campo de
ruptura.
Para solicitar que el valor de un campo de ruptura se imprima en una etiqueta ubicada en el rea de ruptura, utilice el
signo nmero (#) en la etiqueta. Por ejemplo, el texto Total de salarios en el departamento # insertar el nombre del
departamento (en este caso, el valor del campo Departamento) en el lugar donde aparece el signo nmero cuando se
imprima el informe.
El signo nmero no necesita estar ubicado en la misma columna del campo de ruptura. El signo mostrar el valor del
campo de ruptura en cualquier celda de la lneas subtotal.
La siguiente imagen ilustra el uso del signo nmero en una etiqueta en la fila subtotal:

Espacio subtotal

Es posible configurar las lneas de subtotales para controlar la distribucin de la pgina y la apariencia del informe
rpido. Por ejemplo, puede generar una ruptura de pgina despus de cada subtotal.
Las opciones de distribucin de la pgina subtotal pueden utilizarse para definir visualmente las diferentes partes del
informe.
Para definir el espacio de una lnea de subtotal:
1. Seleccione una lnea de subtotal y elija el comando Espacio de totales del men Archivo del editor.
O
Haga clic derecho en el ttulo de la fila subtotal y elija el comando Espacio entre totales.
Aparece la caja de dilogo Propiedades de los subtotales:

2. Elija una de las siguientes tres opciones:


Sin cambio (opcin seleccionada por defecto): no se aplica ninguna propiedad especfica a la lnea de
subtotal; la lnea de subtotal tiene las mismas caractersticas de espacio que las otras lneas del informe.
- 626 -
Generar un salto de pgina: se genera un salto de pgina despus de cada lnea de subtotal en el informe.
Generar espacio extra: se aade un espacio especfico debajo de cada lnea de subtotal en el informe.
Una opcin adicional puede utilizarse para definir el modo de interlineado:
Puntos extra: puede definir una altura especfica de espacio extra en puntos.
% Extra de altura: puede definir la cantidad extra de espacio a aadir como un porcentaje de la altura
estndar de las filas del informe. Por ejemplo, para generar un espacio extra correspondiente a dos
lneas vacas, escriba el valor 200.

- 627 -
Aadir clculos

Asociar frmulas a un informe

Puede aadir una frmula a una columna del informe rpido. Por ejemplo, puede aadir una formula que calcule el
salario mensual de los empleados a partir del campo Salario Anual.
Para asociar una frmula a una columna:
1. Aada o inserte una columna vaca.
O
Haga clic en una columna existente y seleccione Editar... en el men Columnas.
O
Haga doble clic en el encabezado de una columna existente.
O
Haga clic derecho en el encabezado de una columna existente para mostrar el men contextual y seleccione
Editar...
4D muestra el Editor de frmulas, el cual puede utilizar para crear una frmula. Si seleccion una columna
existente, la frmula que cree reemplazar el contenido previo de la columna.
Nota: asegrese de que la frmula que cree no modifique la seleccin actual. La modificacin de la seleccin
actual de registros mientras imprime un
informe rpido, puede causar problemas si el informe est basado en la seleccin actual.
2. Construya la frmula seleccionando los campos, operadores, comandos y/o mtodos 4D, luego escriba los
valores que quiere en el rea de edicin.
O
Haga clic en el botn Cargar... para recuperar una frmula existente en disco.
Para mayor informacin sobre el editor de frmulas, consulte el captulo Editor de frmulas.
Para guardar la frmula como un archivo que pueda recuperar y utilizar en otra columna o en otro informe, haga
clic en el botn Guardar... e introduzca un nombre de archivo en la caja de dilogo.
3. Haga clic en el botn Aceptar para asignar la frmula a la columna.
4D aade una nueva etiqueta a la columna que la identifica como una frmula. Puede etiquetar nuevamente la
columna al escribir una etiqueta en la celda del ttulo de la columna. Las frmulas se etiquetan de C1 a Cn. Estas
etiquetas son el nombre de las variables que contienen el valor actual de la columna. Puede utilizar estas variables
en otras frmulas.

Aadir clculos

Puede aadir clculos efectuados a partir del contenido de campos y frmulas a cada lnea de subtotal y de total
general. En un informe tabla cruzada, los clculos se deben insertar en la lnea central.
Los botones de clculos estndar de la barra de herramientas del editor de informes rpidos, identifican las opciones
de clculos disponibles para los informes:

Estos botones corresponden a los siguientes clculos:


Suma: calcula el total de los valores del informe o de la ruptura.
Promedio: calcula el promedio de los valores del informe o de la ruptura.
Mnimo: muestra el menor valor del informe de la ruptura.
Mximo: muestra el valor ms alto del informe o de la ruptura.
Nmero: calcula el nmero de registros del informe o de la ruptura.
Desviacin estndar.: muestra la raz cuadrada de la varianza del informe o de la ruptura (la varianza es un valor
de dispersin alrededor del promedio).
Estas opciones tambin aparecen en el men contextual del editor de informes rpidos para las celdas de las lnea de
subtotal y total general o en modo tabla cruzada para las celdas total y central..
Informes en lista
Cuando ubica un clculo en la lnea de Total, el clculo se realiza para todos los registros en el informe. Si ubica el
clculo en una fila subtotal, el clculo se realiza para los registros de cada ruptura por separado.
Informes en tabla cruzada
Los clculos se aplican como se describe a continuacin:

- 628 -
1 = Aplica a cada celda de la tabla
2 = Aplica a valores en cada lnea
3 = Aplica a valores en cada columna
4 = Aplica a valores en la ltima lnea y ltima columna
Para aadir un clculo:
1. Seleccione la celda donde quiere insertar el clculo.
Los clculos suma, mnimo, mximo y promedio, slo se pueden aplicar en campos numricos o de frmula.
2. Haga clic en los botones de clculo a insertar.
O
Desde el men contextual, seleccione los clculos a insertar.
4D muestra un icono de clculo en la celda seleccionada para cada clculo solicitado. La siguiente imagen
muestra iconos de suma en la lnea de subtotal:

Uso de cdigos para los clculos


Puede insertar clculos utilizando los siguientes cdigos:
##S se reemplazar por suma en la lnea de subtotal o total general.
##A se reemplazar por promedio.
##C se reemplazar por nmero.
##X se reemplazar por mximo.
##N se reemplazar por mnimo.
##D se reemplazar por desviacin estndar.
##xx, donde xx es un nmero de columna. Este cdigo se reemplazar por el valor actual de la columna, utilizando
su formato. Si esta columna no existe, el cdigo no se reemplaza.
Estos cdigos son muy tiles para combinar etiquetas y datos en una celda.

Mostrar los valores repetidos en las columnas de rupturas


En un informe con subtotales, las columnas utilizadas para agrupar los registros sobre los cuales se efectan los
clculos, se llaman columnas de rupturas. En el informe que se muestra a continuacin, el campo Departamento es una
columna de ruptura, ya que los registros en el informe se agrupan por departamento.
Cuando se imprime un informe como este, los valores para la columna de ruptura se imprimen slo una vez por ruptura.
En otras palabras, el nombre de un departamento se imprime nicamente para el primer registro del grupo y no se
repite hasta que el departamento cambie.

En algunos casos, puede querer repetir los valores de las columnas de ruptura, de tal manera que aparezcan una vez
por cada registro del rea de ruptura. Puede hacerlo al seleccionar la propiedad Valores repetidos para la columna.
- 629 -
Esta propiedad puede seleccionarse haciendo clic en el botn Valores repetidos en la barra de herramientas, o
seleccionando
el comando de men Valores repetidos en el men contextual del editor de informes rpidos, o seleccionando la
opcin Valores repetidos en el men Columnas.
Para repetir los valores de los campos en una columna de ruptura:
1. Seleccione la columna de ruptura haciendo clic en el encabezado de la columna y luego seleccione el comando
Valores repetidos en el men Columnas o haga clic en el botn Valores repetidos en la barra de
herramientas Columnas.
O
En el men contextual de la columna, seleccione Valores repetidos.
En este men, una marca de seleccin junto a un comando significa que la propiedad se asign a la columna.
Cuando se imprime el informe, los valores de la columna de ruptura se repiten para cada registro.
La siguiente imagen muestra el informe anterior despus de marcar la casilla de seleccin Valores repetidos para la
columna Departamento:

- 630 -
Definir los formatos de salida de columnas

Puede definir los formatos de salida de las columnas que contienen valores numricos, alfanumricos, fecha, hora e
imagen.
Por ejemplo, si muestra los salarios en una columna, puede aadir un formato numrico a la celda Detalle para el campo
Salario. El formato $###,##0.00;-$###,##0.00 ubica el signo de dlar ($) a la izquierda del nmero y puede mostrar
cantidades en dlares desde -$999,999.99 hasta $999,999.99.
Si el informe contiene campos Alfa tales como nmeros de telfono o nmeros de seguridad social, puede utilizar un
formato Alfa. Si su informe muestra fechas, horas o imgenes, tambin puede asignarles un formato de salida.
4D ofrece diferentes formatos de salida por defecto. Sin embargo, puede crear sus propios estilos de formatos de
salida para formatos numricos y alfanumricos. Para mayor informacin sobre este tema, consulte Formatos de
salida.
Para asignar un formato de salida a un campo numrico, alfa, fecha, hora o imagen:
1. Haga clic derecho en una celda de la columna a la que quiera asociar un estilo.
Aparece el men contextual del editor.

2. Seleccione el formato de salida que quiere en el submen Formato.


El contenido del submen vara en funcin del tipo de datos en la columna: numricos, alfa, fecha, hora o imagen.
Si la columna del informe contiene datos a los que no se les puede aplicar formato de salida, el comando de
Formato no aparece en el men contextual.
El formato se introduce en la celda Detalle. Si tambin solicita clculos para la columna, el formato definido en la celda
Detalle se aplica automticamente a los clculos. La nica excepcin es el clculo Nmero que siempre se muestra
como un nmero entero y no acepta ningn smbolo de formato, tal como el signo dlar ($). Tambin puede indicar
manualmente los formatos a aplicar haciendo clic dos veces en la celda e introduciendo los elementos del formato
utilizando el teclado.
Se pueden aplicar diferentes formatos a las diferentes columnas del informe.

- 631 -
Ocultar lneas y columnas

4D le permite ocultar lneas o columnas en un informe rpido en Lista. Si lo desea, puede mostrar una columna o lnea
oculta. Esta posibilidad es til, por ejemplo cuando quiere que el informe incluya slo los clculos en resumen. Por
ejemplo, oculte la lnea de Detalle si quiere mostrar nicamente los clculos que aparece en las lneas de subtotal y total
general. Tambin puede utilizar esta caracterstica para ocultar una de las lneas subtotal o la lnea total. Puede ocultar
una columna si necesita utilizarla como columna de ordenacin pero no quiere mostrarla en el informe.
Puede ocultar/mostrar una lnea o columna utilizando el men contextual del editor de informes rpidos, el men
Columnas o la barra de herramientas Columnas.
Nota: no puede ocultar una lnea o columna en un informe en tabla cruzada.
Para ocultar una lnea o columna:
1. Seleccione la lnea o columna que quiere ocultar haciendo clic en su encabezado.
2. Haga clic derecho en el encabezado de la lnea o columna a ocultar, luego seleccione Ocultar en el men
contextual.
O
Seleccione el comando Ocultar en el men Columnas del editor de informes rpidos.
O
Haga clic en el botn Ocultar de la barra de herramientas Columnas.
4D muestra la lnea o columna en color gris para recordarle que no aparecer al imprimir o previsualizar el informe
rpido.

Mostrar una lnea o columna oculta

Cuando una lnea o columna est oculta, aparece una marca de seleccin junto al comando Ocultar en el men
Columnas o men contextual, cuando la columna o la lnea estn seleccionadas. Adicionalmente, el botn
correspondiente de la barra de herramientas Columnas aparece presionado.
Puede mostrar una lnea o columna oculta seleccionando nuevamente la opcin Ocultar del men Columnas o del men
contextual, o presionado el botn correspondiente en la barra de herramientas Columnas. Al hacerlo, la lnea o columna
aparece normalmente en el rea del informe rpido.

- 632 -
Aadir encabezados y pies de pgina

Antes de imprimir un informe rpido, puede aadir encabezados y pies de pgina utilizando la caja de dilogo
Encabezado y pie de pgina.
Esta caja de dilogo le permite:
aadir texto o imgenes al encabezado y pie de pgina,
especificar el tamao de las reas de encabezado y pie de pgina,
utilizar textos independientes para las partes izquierda, central y derecha del encabezado y pie de pgina,
especificar fuentes, tamaos y estilo de fuente para el encabezado y el pie de pgina,
insertar cdigos que aadan nmeros de pgina, fecha y hora a sus informes.
Slo puede especificar encabezado y pie de pgina cuando el destino del informe es la impresin estndar. Sin
embargo, una vez se definen, se mantienen con el informe, an cuando el destino se modifique. Para mayor informacin
sobre destinos de salida, consulte Ejecutar un informe rpido.
Para aadir encabezados y pies de pginas:
1. Seleccione Encabezado y pie de pgina... del men Archivo del editor.
Aparece la caja de dilogo Encabezado y pie de pgina.
Nota: el rea de previsualizacin tiene en cuenta la configuracin del formato de impresin.
La caja de dilogo Encabezado y pie de pgina le permite especificar encabezados y pies de pgina en una
misma pantalla. Utilice el men desplegable Encabezados/Pies de pgina para definir el rea que quiere
modificar.
2. Seleccione Encabezados o Pies de pgina en el men de seleccin:

3. Introduzca la altura del encabezado o pie de pgina en el rea Altura.


Cuando entra por primera vez a la caja de dilogo, la altura del encabezado y pie de pgina es 25 puntos. No slo
puede cambiar este valor, sino tambin la unidad de medida para indicar los valores en centmetros o pulgadas.
A medida que introduce la altura del encabezado y pie de pgina, las lneas en el rea de previsualizacin de la
pgina se desplazan para indicar el tamao del encabezado y del pie de pgina al imprimir el informe.
4. Si quiere utilizar una imagen, pguela en el rea de imagen (utilice los comandos estndar copiar y pegar):

Por defecto, la imagen est pegada en el centro del rea de encabezado o de pie de pgina. Sin embargo,
puede modificar su alineacin haciendo clic en los iconos de alineacin:

Si quiere que la altura de la imagen se convierta en la altura del encabezado/pie de pgina, haga clic en el
botn Aplicar:

5. Seleccione un rea de entrada y escriba el texto para el encabezado o pie de pgina:

- 633 -
A la derecha de cada rea de entrada, hay tres botones que le permiten introducir variables en el rea de entrada.
Puede insertar el nmero de pgina actual, hora de ejecucin, o fecha de ejecucin:

Tambin puede utilizar el cdigo de las variables directamente:


#H para la hora,
#D para la fecha,
#P para el nmero de pgina.
6. Asigne los atributos de fuente para el encabezado/pie de pgina luego haga clic en el botn Aceptar para validar
los cambios.

- 634 -
Ejecutar un informe rpido

Cuando termine de crear su informe, debe ejecutarlo, es decir generarlo. 4D le ofrece varios tipos de salidas para un
informe rpido:
impresin en una impresora estndar seleccionada,
guardar en disco, en un archivo de texto,
generacin de un documento 4D View,
generacin de un documento HTML.
Para seleccionar un destino de salida, seleccione Destinos en el men Archivo.

Impresora

Esta opcin utiliza la impresora seleccionada en su configuracin actual de impresin.


Para imprimir su informe rpido:
1. En el men Archivo, seleccione Impresora del submen Destinos.
Esta opcin est seleccionada por defecto.
2. Si es necesario, seleccione Ajustes de impresin en el men Archivo y especifique sus parmetros de
impresin.
Nota: este comando slo est disponible cuando el destino Impresora est seleccionado.
3. Si quiere previsualizar su informe, seleccione Vista preliminar... en el men Archivo.
Nota: este comando slo est disponible cuando el destino Impresora est seleccionado.
Aparece la caja de dilogo de vista previa, con el informe que dise con los datos actuales de la base.
4. Seleccione Generar... en el men Archivo.
5. Seleccione las propiedades adecuadas para su informe y haga clic en el botn Aceptar.

Archivo en disco

Esta opcin enva su informe rpido a un archivo en disco que usted puede abrir y modificar con otras aplicaciones,
incluyendo editores de texto y hojas de clculo. Esta opcin exporta los registros del informe rpido a un archivo de
texto.
Cuando utiliza esta opcin, 4D utiliza automticamente los encabezados de columna como primer registro exportado.
Para generar el informe en un archivo Texto:
1. En el men Archivo, seleccione Archivo en disco en el submen Destinos.
2. Seleccione Generar... en el men Archivo.
4D muestra una caja de dilogo estndar para guardar archivos y le pide introducir el nombre del archivo.
3. Escriba el nombre del archivo y haga clic en el botn Guardar.
4D muestra una caja de dilogo para mantenerlo informado del progreso de la operacin. Una vez generado el
informe, 4D lo regresa al editor de informes rpidos. No olvide modificar la salida si quiere imprimir el informe.

4D View

Esta opcin genera el informe en una ventana externa de 4D View, el plug-in de 4D para mostrar datos. Cuando
selecciona 4D View en el submen Destino, el informe se presenta como una ventana 4D View en vez de hacerlo en
forma de tabla. 4D View utiliza todos los datos en el informe.
Nota: el destino 4D View slo est disponible si el plug-in 4D View est instalado en su entorno 4D y si tiene las
licencias apropiadas.
Para generar un informe en un documento 4D View:
1. En el men Archivo, seleccione 4D View del submen Destinos.
2. Seleccione Generar... en el men Archivo.

4D crea una ventana 4D View con todos los datos. Puede modificar su contenido, imprimirlo o guardarlo utilizando los
comandos de men de 4D View.

- 635 -
Archivo HTML

Esta opcin enva su informe rpido a un archivo HTML. Cuando selecciona esta opcin, se utiliza la plantilla HTML por
defecto, a menos que se cambie por programacin.
Cuando utiliza esta opcin, 4D utiliza automticamente los encabezados de las columnas como primer registro
exportado.
Para generar un archivo HTML:
1. En el men Archivo, seleccione la opcin Archivo HTML del submen Destinos.
2. Seleccione Generar... en el men Archivos.
4D muestra una caja de dilogo estndar para guardar archivos y le pide introducir un nombre del archivo.
3. Escriba el nombre del archivo y haga clic en el botn Guardar.
4D muestra una caja de dilogo que lo mantiene informado acerca del progreso de la operacin. Despus de
imprimir el informe en un archivo HTML, 4D vuelve al
editor de informes rpidos. Recuerde cambiar el destino de salida si quiere volver a enviar el informe rpido a una
impresora estndar.
El conjunto de caracteres utilizado para la generacin del cdigo HTML se especifica utilizando el parmetro Conjunto
estndar de las Preferencias de la aplicacin (ver Pgina Web/Opciones (II)).

- 636 -
Generar el cdigo 4D

El editor de informes rpidos le permite generar automticamente el cdigo 4D correspondiente a un informe definido y
pegarlo en el portapapeles. Esta funcin permite construir manualmente los esbozos de los informes rpidos que se
podrn personalizar utilizando el lenguaje de 4D (comandos del tema Informes rpidos). Esta funcionalidad slo esta
disponible en modo Diseo.
El botn para generacin de cdigo est ubicado en la ltima pgina del asistente de creacin de informes rpidos:

Incluso si crea manualmente el informe rpido, puede utilizar esta funcin mostrando la etapa Finalizacin del
asistente.
Cuando hace clic en este botn, aparece una caja de dilogo que le permite definir los parmetros relacionados con la
generacin del cdigo:

Las opciones siguientes estn disponibles:


Bordes: esta opcin permite incluir en el cdigo 4D generado las propiedades de bordes definidas para las
celdas del informe.
Visibilidad de las paletas: marque esta opcin para especificar que quiere incluir en el cdigo 4D generado la
configuracin de visualizacin actual de las diferentes barras de herramientas del editor (Estndar, Estilos,
Columnas...).
Se recomienda no marcar esta opcin si el cdigo va a ser utilizado en un rea fuera de pantalla.
Propiedades del texto: utilice esta opcin para especificar que quiere incluir la definicin de estilo de fuente del
informe (fuente, estilo, etc.) en el cdigo 4D. Si esta opcin no est seleccionada, las siguientes tres opciones no
tienen efecto.
Tipo, Tamao, Alineacin: cuando esta opcin est marcada, el cdigo 4D generado incluye la
informacin relacionada con la fuente, el tamao de fuente y la alineacin de los textos en la plantilla del
informe rpido.
- 637 -
Estilo (Negrita, Cursiva, Subrayado): cuando esta opcin est marcada, el cdigo 4D generado incluye
informacin relacionada con estilos de texto en la plantilla del informe rpido.
Color (Texto, Fondo): cuando esta opcin est seleccionada, el cdigo 4D generado incluye informacin
relacionada con los colores de texto en la plantilla del informe rpido.
Una vez haya definido las opciones, haga clic en el botn Generar el cdigo para generar el cdigo 4D; luego aparece
el cdigo en el rea de previsualizacin de la caja de dilogo:

Puede modificar las opciones de cdigo y hacer clic nuevamente en el botn Generar el cdigo con el fin de actualizar
el rea de previsualizacin.
Si est satisfecho con el cdigo generado, haga clic en el botn Copiar al Portapapeles, luego haga clic en el botn
Cerrar para cerrar la caja de dilogo.
Puede pegar el cdigo en un mtodo o en un archivo existente utilizando el atajo estndar Ctrl+V (Windows) o
Comando+V (Mac OS), o el comando Pegar en el men Edicin.

- 638 -
Editor de etiquetas

Descripcin del editor de etiquetas


Crear un modelo de etiquetas
Crear una hoja de etiquetas

- 639 -
Descripcin del editor de etiquetas

El editor de etiquetas de 4D ofrece en una forma conveniente para imprimir una amplia variedad de etiquetas. Con el
editor de etiquetas puede:
Disear etiquetas para correos, carpetas y tarjetas de archivos y para muchas otras necesidades,
Crear e insertar elementos decorativos en plantillas de etiquetas,
Definir la fuente, tamao y estilo a utilizar en las etiquetas,
Especificar el nmero de etiquetas horizontales y verticales en cada pgina,
Definir el nmero de etiquetas a imprimir por registro,
Especificar las mrgenes de la pgina de etiquetas,
Designar un mtodo a ejecutar durante la impresin de cada etiqueta o registro,
Cargar y guardar diseos de etiquetas,
Imprimir etiquetas.
Las etiquetas tambin se pueden crear utilizando el editor de formularios de 4D. Utilice el editor de formularios para
disear etiquetas especializadas que incluyan variables o aprovechen las herramientas grficas disponibles en editor
de formularios. Para mayor informacin sobre el uso del editor de formularios para la creacin de etiquetas, consulte
Crear etiquetas.
Utilice el editor de etiquetas para crear, dar formato e imprimir etiquetas. El editor de etiquetas contiene los parmetros
para el diseo y ubicacin de las etiquetas en el papel. Por ejemplo, cuando crea etiquetas de direcciones, puede
querer un diseo de etiqueta que incluya el nombre y apellido de la persona en la primera lnea, la direccin en la
segunda lnea, etc. Como parte del diseo, el editor de etiquetas le permite especificar el nmero de etiquetas por
pgina y las mrgenes a utilizar en el papel de etiquetas, de tal manera que el texto aparezca centrado dentro de las
etiquetas.
Como parte del diseo, el editor de etiquetas le permite especificar el nmero de etiquetas por pgina y las mrgenes a
utilizar en el papel de etiquetas, de tal manera que el texto aparezca centrado dentro de las etiquetas.
Al terminar el diseo de una etiqueta, puede guardarla en el disco de manera que pueda reutilizarla.
Para abrir el editor de etiquetas:
En el entorno Diseo, seleccione Etiquetas... en el men Utilidades o en el men asociado al botn
Herramientas en la barra de herramientas de 4D.
En el entorno Aplicacin, utilice el comando PRINT LABEL.
El editor de etiquetas tiene dos pginas, la pgina Etiqueta y la pgina Disposicin, cada una identificada por una
pestaa en la parte superior de la caja de dilogo. Utilice la pgina Etiqueta para especificar el contenido de la etiqueta
la pgina Disposicin para definir el tamao y la posicin de las etiquetas en la pgina.
Etiqueta: esta pgina contiene las funciones para la creacin y diseo de su plantilla de etiqueta. Tambin puede
designar un formulario que se utilizar para la generacin de etiquetas.
Disposicin: esta pgina contiene las funciones necesarias para la definir la posicin de las etiquetas en la
pgina y su impresin. Puede hacer esto usted mismo o permitirle al programa calcular cuntas etiquetas pueden
ir en una pgina. Tambin puede asociar un mtodo a su pgina de etiquetas.

Pgina Etiqueta

La pgina Etiqueta contiene los parmetros para el diseo y formato de las etiquetas.
Contiene los siguientes elementos:

- 640 -
Lista de campos: esta rea muestra los nombres de los campos de la tabla actual en una lista jerrquica. Si la
tabla est relacionada con otras tablas, los campos de llave fornea tienen un signo ms (en Windows) o una
flecha (en Macintosh). Puede mostrar los campos de la tabla relacionada expandiendo los campos relacionados.
Los campos de las tablas relacionadas estn indentados.
Para utilizar un campo de esta lista en su plantilla de etiqueta, arrstrelo al rea de previsualizacin de la etiqueta
a la derecha de la lista.
Notas:
Las tablas y campos visibles aparecen en el editor de etiquetas. Para mayor informacin sobre cmo volver
tablas y campos invisibles, consulte el prrafo Invisible en Propiedades de las tablas y Almacenado en
registro, archivo de datos o fuera del archivo de datos.
Los campos de tipo objeto no son soportados por el editor de etiquetas.
Texto esttico: esta rea le permite aadir texto esttico a su etiqueta. Haga clic en el botn en forma de flecha
sobre el rea a insertar el texto introducido en el rea de vista previa. Puede ubicarlo en esta rea utilizando el
ratn.
rea de vista previa: esta rea le permite insertar todos los elementos que quiere en su etiqueta y visualizar el
resultado. El rectngulo blanco representa una etiqueta (su tamao se configura en la pestaa "Disposicin").
Puede arrastrar campos a la etiqueta o insertar texto esttico del rea "Texto esttico". Tambin puede
concatenar dos campos (por ejemplo, Nombre y Apellido) soltando el segundo campo en el primero. Se separan
automticamente por un espacio.
La barra de herramientas sobre esta rea contiene las herramientas para dibujar, seleccionar, alinear, distribuir y
duplicar objetos. Tambin puede pegar en esta rea elementos que se encuentren en el portapapeles.
Objeto, Texto y Estilo: estas tres reas contienen las opciones que puede utilizar para configurar la apariencia
de los elementos ubicados en el rea de vista previa. El rea "Aspecto del objeto" tiene controles que le permiten
especificar los colores de fondo y primer plano, patrones de relleno y bordes para objetos individuales en la
etiqueta. Las reas "Texto" y Estilo permiten definir la apariencia del texto seleccionado definiendo su fuente,
tamao, formato de salida, estilo del texto, etc. Puede aplicar estos parmetros a campos o texto esttico.
Formulario a usar: esta lista desplegable le permite evitar el editor de etiquetas y utilizar un formulario para
imprimir las etiquetas. Si est utilizando el editor de etiquetas para crear una etiqueta, elija en la lista Sin
Formulario (por defecto). Si quiere utilizar un formulario, seleccinelo en esta lista. 4D ignorar cualquier otra
especificacin en el editor de etiquetas e imprimir las etiquetas de acuerdo al diseo del formulario indicado;
igual que en cualquier trabajo de impresin, se ejecuta todo formulario o mtodo de objeto asociado al formulario.
Para mayor informacin sobre el diseo de formularios para etiquetas, consulte el prrafo Utilizar el editor de
etiquetas.
Si quiere crear sus etiquetas utilizando el editor, elija la opcin Sin Formulario.

- 641 -
Botn Aspecto por defecto: este botn aplica el conjunto de atributos de apariencia por defecto al objeto
seleccionado. Todos los parmetros definidos en el rea "Objeto" vuelven a sus valores por defecto.

Pgina Disposicin

La pgina Disposicin le permite configuar su hoja de etiquetas. El rea de previsualizacin, ubicada a la derecha de la
pantalla , muestra en tiempo real el resultado de sus parmetros.

Configurar pgina: este botn le permite definir el formato de la pgina en la cual se imprimirn las etiquetas.
Cuando hace clic en este botn, se muestra la caja de dilogo de configuracin de la impresora seleccionada en
su sistema.
Nota: la hoja creada por el editor se base en la pgina lgica de la impresora, es decir la pgina fsica menos las
mrgenes que no se pueden utilizar a cada lado de la hoja. Las mrgenes fsicas de la pgina se muestran con
lneas azules en el rea de previsualizacin.
Botones Orientacin y Orden: estos botones le permiten especificar la orientacin de la pgina y el orden en que
la informacin se debe asignar a las etiquetas. Recuerde que la orientacin de la hoja es independiente de la
orientacin de la pgina. Si modifica este parmetro, asegrese de cambiar la configuracin de la pgina de
acuerdo a la caja de dilogo de configuracin de la impresora.

Etiquetas por fila y por columna: estas cajas se utilizan para controlar el tamao de las etiquetas especificando
el nmero de etiquetas que aparecen en su hoja de etiquetas.
rea de definicin del tamao de las etiquetas: esta rea incluye varias opciones para definir el tamao de las
etiquetas con respecto a las diferentes mgenes a aplicar.
La lista desplegable Unidad permite cambiar las unidades en las que especifica las medidas de su etiqueta
y pgina. Puede utilizar pxeles, milmetros, centmetros o pulgadas.
Los botones radio Tamao de la etiqueta y Tamao de la pgina se utilizan para seleccionar la etiqueta o
la pgina para definir las dimensiones. Si hace clic en Tamao etiqueta, puede introducir los valores Ancho
de la etiqueta y Alto de la etiqueta en las reas apropiadas, excepto cuando la casilla "Redimensin
automtica" est seleccionada (ver el siguiente prrafo). Si hace clic en Tamao de la pgina, puede
introducir los valores para Margen derecho y Margen inferior. Estas mrgenes se simbolizan con lneas
azules en el rea de vista previa.
La opcin Redimensin automtica le indica a 4D que calcule automticamente el tamao de las
etiquetas (es decir, los parmetros Ancho de la etiqueta y Alto de la etiqueta) de acuerdo a los valores
definidos en todos los dems parmetros. Cuando esta opcin est activa, el tamao de las etiquetas se
calcula cada vez que se modifica un parmetro en de la pgina. Los parmetros Ancho de la etiqueta y
Alto de la etiqueta ya no pueden definirse manualmente.
Las reas Margen superior y Margen izquierda definen las mrgenes correspondientes para la hoja de
etiquetas. Estas mrgenes se simbolizan con lneas azules en el rea de vista previa.
Los parmetros Intervalo horizontal e Intervalo vertical permiten definir el espacio entra las etiquetas.

- 642 -
Lista desplegable Etiquetas por registro: este control le permite imprimir ms de una copia de cada etiqueta. Si
imprime ms de una copia, 4D imprime las copias consecutivamente en vez de hacer copias de las pginas de
etiquetas.
Lista desplegable Cdigo estndar: este control le permite asignar automticamente en la hoja de etiquetas
todos los parmetros de un cdigo estndar, es decir de una norma utilizada actualmente. Cuando selecciona un
comando de este men, todos los parmetros se modifican en funcin de los valores definidos en el cdigo
estndar.
Mtodo a aplicar y Aplicar una vez: estos parmetros permiten activar un mtodo particular durante la impresin
de las etiquetas. Por ejemplo, puede ejecutar un mtodo que escriba la fecha y la hora en la que se imprime cada
etiqueta. El men asociado a la opcin Mtodo a aplicar incluye todos los mtodos de proyecto definidos en la
base.
Los botones radio Aplicar una vez permiten especificar si el mtodo se ejecuta una vez por etiqueta o por
registro. Este control slo tiene sentido cuando se imprime ms de una copia de cada etiqueta y tambin se est
ejecutando un mtodo al momento de imprimir.
rea de vista previa: esta rea ofrece una vista reducida de cmo se ver una pgina completa de etiquetas, de
acuerdo a las dimensiones introducidas en el editor de etiquetas. El rea de vista previa tambin refleja el tamao
del papel seleccionado en la caja de dilogo de Configuracin de la impresora. Tambin puede seleccionar la
primera etiqueta a imprimir en la pgina. El borde rojo indica el tamao fsico de la pgina y el borde azul indica el
tamao del rea imprimible.

Guardar y cargar diseos de etiquetas

4D permite guardar cada diseo de etiquetas como un archivo que puede abrir desde el editor de etiquetas. Guardando
sus diseos de etiquetas, puede mantener una librera de etiquetas para utilizar de acuerdo a sus necesidades.
Los diseos de etiquetas guardan los parmetros definidos en las pginas Etiqueta y Disposicin.
Para guardar un diseo de etiquetas, haga clic en el botn Guardar en el editor e indique el nombre y la ubicacin
del diseo a crear.
Para cargar un diseo de etiqueta, haga clic en el botn Cargar en el editor y designe el diseo a cargar en la
caja de dilogo de apertura de archivos (4D reemplaza el diseo de etiqueta actual por el diseo seleccionado).
Los archivos de etiquetas de 4D contienen la extensin .4LB.

- 643 -
Crear un modelo de etiquetas

Este prrafo describe las posibilidades que ofrece el editor de etiquetas para crear su propio diseo de etiquetas. Para
una descripcin completa de cada elemento, consulte la seccin anterior. Puede utilizar el editor para crear etiquetas
individuales y la hoja de etiquetas por separado y en cualquier orden, de acuerdo a sus prioridades:
Si sus etiquetas deben tener un tamao especfico, puede comenzar por definir su tamao en la pgina
"Disposicin" y luego especifique su contenido,
Si sus etiquetas deben tener un contenido y aspecto especfico, puede comenzar por definirlos en la pgina
"Etiqueta" y luego adaptar la hoja de etiquetas al contenido.
Nota: para que todas las funcionalidades descritas a continuacin estn disponibles, debe estar seleccionada la
opcin Sin formulario en la pgina "Etiqueta" del editor (para ms informacin sobre esta opcin, consulte el prrafo
Pgina Etiqueta).
Puede modificar el formato de un diseo de etiqueta que aparece en el rea de construccin. Este parmetro se
establece en la pgina "Disposicin". Consulte la seccin Crear una hoja de etiquetas.

Insertar campos

Para insertar campos en su diseo de etiquetas:


1. Vaya a la pgina "Etiqueta".
2. Arrastre el primer campo a insertar en la etiqueta de la lista de campos al rea de vista previa de la etiqueta.
Si el campo est en una tabla relacionada, expanda el campo relacionado para mostrar los campos en la tabla
relacionada. Su campo se aade al rea de vista previa de la etiqueta. Los marcadores de seleccin indican que
est seleccionado.
3. Contine arrastrando campos al rea de vista previa de la etiqueta.

Concatenar campos
Durante el diseo de etiquetas, es posible que necesite concatenar varios campos. Por ejemplo, en una etiqueta de
direccin, los campos Nombre y Apellido se pueden concatenar en la primera lnea de la etiqueta. Tambin puede
concatenar campos verticalmente.
La ventaja de la concatenacin de los campos es que 4D se encarga del espacio entre los mismos.
Para concatenar varios campos:
1. Arrastre el primer campo al rea vista previa de la etiqueta.
2. Suelte un segundo campo en el primer campo.
O
Mantenga presionada la tecla Mays y suelte otro campo en el primer campo.
Cuando concatena dos campos con slo arrastrar y soltar, el separador utilizado es el definido en los
recursos de 4D. Por defecto, se utiliza el carcter espacio. Los campos concatenados se ubican en la
misma lnea y estn separados por el smbolo "+". Cuando 4D imprime la etiqueta, se inserta un espacio
entre los campos en la misma lnea.
Si concatena dos campos arrastrando y soltando el segundo campo mientras mantiene presionada la tecla
Mays, el retorno de carro se utiliza como separador. Cuando se imprimen las etiquetas, si el segundo
campo est vaco, su posicin se elimina y se sustituye por el siguiente campo. Si un campo contiene texto
con retornos de carro, se tienen en cuenta.
Por ejemplo, esta funcionalidad le permite crear etiquetas de direcciones usando varios campos
concatenados ([Clientes]Direccion1, [Clientes]Direccion2, etc.) sin generar una lnea vaca cuando un campo
est vaco.
Puede automticamente cambiar el tamao de un grupo de campos concatenados de forma que
corresponda al nmero de lneas que contiene. Para hacerlo, presione Ctrl+clic (Windows) o Comando+clic
(Mac OS) en la marca inferior derecha del grupo.

- 644 -
Para eliminar un campo concatenado:
1. Seleccione la lnea que contiene uno o ms campos concatenados.
2. Presione la tecla Retroceso.
Se elimina el ltimo campo en la lnea.

Insertar elementos grficos

Puede crear e insertar elementos grficos en su diseo utilizando el editor de etiqueta, con el fin de mejorar su
apariencia o para incluir informacin adicional en cada registro. Puede agregar tres tipos de elementos grficos:
Texto esttico,
Lneas, crculos o cualquier forma geomtrica dibujada en el editor,
Imgenes pegadas desde el portapapeles.

Insertar texto esttico


Puede insertar texto esttico en su diseo de la etiqueta para, por ejemplo, etiquetar los campos utilizados:
1. Introduzca (o pegue) el texto en el rea de texto esttico.
2. Haga clic en el botn flecha ubicado sobre el rea.
El objeto de texto esttico se agrega al rea de vista previa de la etiqueta en la esquina inferior izquierda.
3. Haga clic en el texto luego reubquelo arrastrndolo y alinendolo con otros objetos.

Insercin de lneas y formas geomtricas


El rea de vista previa incluye una barra de herramientas que puede utilizar para crear formas geomtricas. Por
ejemplo, puede crear un marco para el contenido de su etiqueta.
Tambin puede crear rectngulos, valos y lneas.
Para dibujar un elemento grfico, haga clic en una de las herramientas sobre el rea de vista previa y luego dibuje el
objeto.
Tambin puede utilizar una restriccin para dibujar crculos, cuadrados o lneas rectas manteniendo presionada la tecla
Mays mientras dibuja el objeto.
Nota: si desea dibujar un marco alrededor de un campo insertado en la etiqueta, puede utilizar el siguiente atajo:
seleccione el campo y presione Ctrl+1 en Windows o Comando+1 en Mac OS. Un marco se crea a una distancia de 1
pxel del campo. Presione Ctrl+2 o Comando+2 para crear un marco a 2 pxeles del campo, etc.

Pegar una imagen


Puede pegar una imagen del portapapeles en su diseo de etiqueta, por ejemplo, para aadir un logo. Slo tiene que
seleccionar el rea de vista previa y luego pegar la imagen utilizando el atajo de teclado estndar Ctrl+V (Windows) o
Comando+V (Mac OS).
Duplicar objetos
El botn permite duplicar el objeto seleccionado. Puede duplicar campos y/o elementos grficos.

Seleccionar objetos

Si quiere aplicar estilo o modificaciones a uno o a varios objetos en su etiqueta, debe seleccionarla primero. Hay varias
formas de seleccionar campos o elementos grficos.
Para seleccionar uno o varios objetos de manera discontinua, haga clic en un primer elemento a seleccionar,
presione la tecla Mays mientras hace clic en los objetos a seleccionar.
Para seleccionar objetos adyacentes, haga clic en el rea de vista previa y deslice el cursor de manera que pueda
dibujar un rectngulo de seleccin. Todos los objetos tocados por el rectngulo dibujado estn seleccionados.
Si presiona la tecla Alt bajo Windows u Opcin bajo Mac OS mientras dibuja el rectngulo, slo los objetos dentro
del rectngulo quedan seleccionados.

Modificar la disposicin de los objetos

El editor de etiquetas permite modificar los elementos despus de haber sido insertados en el rea de vista previa.
Todos los elementos en el rea pueden redimensionarse, moverse, alinearse, distribuirse o ubicarse en otro plano.
Estos campos pueden aplicarse a campos y a los elementos grficos.

Mover objetos
Puede mover uno o varios objetos insertados en el rea de vista previa utilizando el ratn o las siguientes teclas:

- 645 -
las teclas de flechas del teclado mueven una seleccin de objetos en pasos de 1 pxel.
Ctrl (bajo Windows) o Comando (bajo Mac OS) + las teclas de fechas del teclado mueven un objeto en pasos de
10 pxeles.

Alinear y distribuir objetos


Las herramientas de alineacin le permiten alinear objetos. Cuando alinea un objeto a otro, puede alinearlo hacia arriba,
hacia abajo, hacia al lado, centrarlos horizontal o verticalmente.

Distribuir elementos significa definir automticamente los intervalos horizontales o verticales entre al menos tres
objetos. Esto es particularmente til cuando muchos objetos estn presentes. El intervalo obtenido es un promedio de
los espacios existentes en la seleccin.
Por defecto, se define un intervalo constante basado en las esquinas de los objetos seleccionados. Tambin puede
distribuir objetos con base en sus partes superiores, inferiores, centros, como se ve en el siguiente diagrama:

Superponer objetos
Puede querer crear un diseo que utilice objetos en diferentes capas. Por ejemplo, ubicar un rectngulo sombreado
detrs de los campos en la etiqueta. El editor de etiquetas ofrece las herramientas Enviar al fondo y Traer al frente,
que le permiten superponer objetos en la etiqueta.
Al hacer clic en las herramientas Enviar al fondo o Traer al frente se mueven los objetos seleccionados una capa
hacia adelante o hacia atrs:

Si quiere mover los objetos slo un capa hacia adelante o hacia atrs, presione la tecla Mays mientras hace clic en
Enviar al fondo o Traer al frente.

Modificar el contenido de los objetos

Puede modificar el contenido de los objetos presentes en el rea de vista previa. Por ejemplo, puede cambiar el color o
los patrones de los objetos, as como tambin las fuentes o el tamao de los objetos de tipo texto.
Nota: el contenido de las imgenes pegadas desde el portapapeles no puede cambiarse. Por ejemplo no puede
modificar su color. Slo los elementos creados en el editor pueden modificarse.

Redimensionar objetos
Puede redimensionar todo objeto objetos en la etiqueta seleccionndolo y arrastrando una de sus esquinas o utilizando
las siguientes teclas:
Alt (bajo Windows) u Opcin (bajo Mac OS) + teclas de flecha del teclado para reducir o agrandar un objeto en
pasos de un pxel.
Alt+Ctrl (bajo Windows) u Opcin+Comando (bajo Mac OS) + teclas de flecha del teclado para reducir o
- 646 -
agrandar un objeto en pasos de 10 pxeles.

Modificar la apariencia de un objeto


Puede modificar el fondo y primer plano de los objetos con la ayuda de las funciones del rea "Aspecto del objeto":
Los colores de fondo y primer plano se definen utilizando los mens de imagen Fondo y Primer plano. Si el
objeto es un campo o texto esttico, el color de primer plano controla el color del texto y el color de fondo controla
el color del rectngulo del objeto. Si selecciona un objeto dibujado en el editor, el color de fondo se aplica a los
bordes y a los patrones del objeto, mientras que el color de fondo se aplica al fondo "blanco" del objeto.
Nota: para aplicar un color de fondo o primer plano al borde de un objeto nicamente, mantenga presionada la
tecla Mays mientras hace la seleccin.
El men de imagen Relleno controla el patrn de relleno del objeto seleccionado. El men de imagen Borde
controla el patrn de relleno para el borde. Estas funciones no tienen efecto en un campo o texto esttico.
El men desplegable Grosor controla el ancho de una lnea o del borde de un objeto bidimensional.
Cuando aade un objeto a la etiqueta, el objeto toma los atributos de apariencia del objeto ms recientemente creado.
Si quiere asignar los atributos de apariencia por defecto a este objeto (o a cualquier otro), seleccione el objeto y haga
clic en el botn Aspecto por defecto. Los colores de fondo y primer plano, patrones de relleno, borde y ancho de lnea
retoman los valores por defecto.

Modificar el estilo del texto


Puede utilizar las reas Texto y Estilo para definir el aspecto del texto seleccionado: fuente y tamao, alineacin,
formato. Estos parmetros se aplican a los campos y a los textos estticos.
Los mens Fuente y Tamao permiten definir estos parmetros para los textos seleccionados. Muestran las
fuentes y tamaos disponibles en su sistema operativo. Tambin puede introducir un tamao de fuente
manualmente.
El men Alineacin permite definir la alineacin de los ttulos con respecto al marco de seleccin que los rodea.
Puede asignar un formato de visualizacin para el campo seleccionado utilizando el combo box Formato. En este
caso, cuando se imprime la etiqueta, los valores de los registros sern formateados de acuerdo a este parmetro.
Los formatos aplicables estn relacionados con el tipo de campo seleccionado. Tambin puede crear su propio
formato en el rea de entrada del combo box. Para mayor informacin sobre los formatos de visualizacin,
consulte Formatos de salida.
El rea Estilo permite aplicar las opciones de estilo estndar a los textos seleccionados.

- 647 -
Crear una hoja de etiquetas

El editor de etiquetas permite configurar con precisin la hoja en la cual se imprimirn las etiquetas. Puede definir su
tamao y el de cada etiqueta, decidir cuntas etiquetas se imprimirn por hoja, elegir la orientacin, definir las
mrgenes, etc.
Para crear una hoja de etiquetas:
1. Vaya a la pgina "Disposicin".
2. Defina la orientacin y el orden de impresin de las etiquetas para su hoja haciendo clic en los conos
correspondientes.
La orientacin de la hoja es independiente de la de la pgina. Si quiere modificar la orientacin de la pgina, haga
clic en el botn Configurar pgina. Aparece la caja de dilogo de configuracin de la impresin para su sistema
operativo, permitindole definir directamente la orientacin de la pgina. Si es necesario, el rea de
previsualizacin de etiquetas cambia para reflejar su seleccin.
3. Si es conveniente, seleccione el tipo de papel de etiquetas a utilizar de la lista desplegable Cdigo estndar.
Las dems reas de entrada en la pgina cambian para reflejar las caractersticas del papel seleccionado. Si es
necesario, puede modificar estas especificaciones. De lo contrario, puede ir directamente al paso 9.
4. Introduzca el nmero de etiquetas por fila y por columna en las reas correspondientes.
Puede introducir un nmero directamente o utilizar los botones de flecha ubicados junto al rea de entrada. Para
validar su eleccin, haga clic en otra rea o presione la tecla Tab o Retorno de carro.
Cuando elija la opcin Tamao automtico, la variacin del nmero de etiquetas influye en el tamao de las
etiquetas que pueden "caber" en cada lnea o columna. El rea de previsualizacin de etiquetas se ajusta para
mostrar la apariencia de las etiquetas en una pgina impresa.
5. Si quiere, elija una unidad de medida de la lista desplegable Unidad, para introducir el tamao de las mrgenes.
Cuando modifica este parmetro, todos los valores que miden distancia se convierten a la nueva unidad.
6. Introduzca los valores para reflejar las mrgenes en su papel de etiquetas en los parmetros "Margen superior",
"Margen izquierdo", "Intervalo vertical" e "Intervalo horizontal".
Las mrgenes que defina se aplican a la hoja de etiquetas. Los intervalos se insertan entre cada etiqueta en la
hoja.
7. Haga clic en el botn radio Tamao de la pgina para definir el Margen derecho e inferior.
Estas mrgenes se simbolizan por lneas azules en el rea de vista previa.
8. Haga clic en el botn radio Tamao de la etiqueta para definir el ancho y alto de la etiqueta.
Tambin puede permitir al programa calcular el tamao de la etiqueta automticamente. Esta opcin se describe
en Redimensin automtica.
9. Si quiere imprimir ms de una copia de cada etiqueta, utilice la lista desplegable Etiquetas por registro para
seleccionar el nmero de copias a imprimir.
Las copias se imprimen consecutivamente en el papel de etiquetas. 4D no duplica la pgina completa de
etiquetas.
10. Si la primera hoja del papel de etiquetas est utilizada parcialmente, haga clic en la primera etiqueta vaca en el
rea de previsualizacin. 4D comenzar a imprimir las etiquetas a partir de la etiqueta indicada. Slo la primera
hoja es afectada por esto.
11. Si quiere ejecutar un mtodo durante la impresin de las etiquetas, seleccinelo en la lista desplegable Mtodo a
aplicar.
Esta opcin se cubre en Asociar un mtodo a las etiquetas.
La hoja de etiquetas est completa. Puede hacer clic en la pestaa "Etiqueta" para verificar que el contenido de la
etiqueta corresponda a las dimensiones definidas.

Cdigo estndar

Esta opcin permite especificar las etiquetas, las dimensiones de la pgina y las mrgenes, seleccionando una etiqueta
comercial estndar de la lista desplegable.
Si las hojas estndar estn instaladas en 4D, aparecern en la lista desplegables Cdigo estndar. Cuando
selecciona una opcin de este men, todos los valores que definen el tamao de la hoja se configuran automticamente
y la hoja queda lista para impresin. Sin embargo, puede definir el nmero de etiquetas a imprimir por registro como
tambin el mtodo a aplicar.

Redimensin automtica

Puede definir el ancho y altura de sus etiquetas manualmente o puede dejar que el editor de etiquetas los calcule en
funcin de los otros parmetros definidos. En este caso, 4D optimiza el uso del espacio para imprimir el mayor nmero
- 648 -
de etiquetas posibles por hoja.
Cuando selecciona la opcin Redimensin automtica, el tamao de las etiquetas se calcula en funcin de los
siguientes parmetros:
Nmero de etiquetas por lnea y por columna,
Margen superior e izquierdo,
Intervalo horizontal y vertical.
Nota: si introduce un margen derecho o inferior, no se tienen en cuenta.
Si modifica uno de estos parmetros mientras la opcin Redimensionamiento automtico est seleccionada, las
etiquetas se redimensionan automticamente en el rea de vista previa.

Asociar un mtodo a las etiquetas

Puede asociar un mtodo proyecto a sus etiquetas el cual se ejecuta en el momento de la impresin de las etiquetas.
Puede elegir su modo de ejecucin: cuando se imprime cada etiqueta o cuando se imprime cada registro.
Para asociar el mtodo a la hoja de etiquetas, seleccinelo en el men "Mtodo a aplicar". Este men contiene los
nombres de todos los mtodos de proyecto creados en la base. Si no hay ninguno, el men est vaco.
Nota: los mtodo proyecto declarados invisibles y los mtodos de componentes no se muestran en este men.
Despus de elegir el mtodo, debe definir cuando se ejecuta haciendo clic en uno de los botones radio "Aplicar una
vez": por etiqueta o por registro. Esta opcin no es til si el parmetro "Etiquetas por registro" es diferente de uno 1.

- 649 -
Exportar e importar datos

Introduccin
Formatos de archivos
Delimitadores de campos, registros y archivos
Importar datos de archivos
Exportar datos a archivos
Importar y exportar datos va una fuente de datos ODBC
Guardar y cargar parmetros de importacin o exportacin

- 650 -
Introduccin

Las funciones de importar y exportar datos de 4D ofrecen una manera rpida y confiable de transferir informacin hacia
y desde su base de datos. Si pasa una base de datos a 4D desde otra base de datos o desde una hoja de clculo,
puede evitar el trabajo de reintroducir los datos importando los datos. Puede importar los datos desde las aplicaciones
para administracin de datos Windows o desde cualquier aplicacin no Windows, cuyos datos se hayan transferido a
Windows.
Tambin puede exportar datos desde 4D, de manera que puedan ser utilizados en otros tipos de programas que
procesan informacin. Por ejemplo, puede exportar datos a programas especializados en la generacin de grficos y
clculos estadsticos. Tambin puede transferir datos a otros tipos de ordenadores.
Puede importar o exportar datos utilizando los parmetros en las cajas de dilogo correspondientes o utilizando un
formulario. Importar o exportar utilizando las cajas de dilogo es mucho ms rpido que utilizando un formulario. Sin
embargo, si utiliza un formulario puede utilizar mtodos de objeto y de formulario para procesar los datos. Cuando
importa o exporta datos utilizando un formulario, los mtodos de objeto y de formulario se ejecutan para cada registro
procesado.
Una vez definidos los parmetros de importacin o exportacin, puede guardarlos o cargarlos desde los archivos de
parmetros de Importacin/Exportacin.
Cuando importa o exporta datos va un archivo, usted especifica el formato del archivo, los separadores de campos y
registros, y los campos a importar o exportar.
Por ltimo, 4D le permite importar y exportar datos desde y hacia una fuente de datos ODBC, sin pasar por un archivo
intermedio. Este punto se cubre en Importar y exportar datos va una fuente de datos ODBC.
Notas:
Tambin puede utilizar el editor de Informes rpidos para exportar registros. Para mayor informacin, consulte la
opcin Archivo en disco en Ejecutar un informe rpido.
Puede exportar e importar datos utilizando los comandos del lenguaje 4D. Consulte la seccin Importacin y
exportacin del manual Lenguaje de 4D.

- 651 -
Formatos de archivos

El formato de archivo define la forma en que se organizan los campos y registros en un archivo de importacin o
exportacin. Algunos formatos de archivo incluyen igualmente el formato de la informacin. 4D le permite elegir entre
varios formatos de archivos as como tambin entre las diferentes opciones de formatos internos.

Formatos soportados

Esta es una descripcin de los diferentes formatos que soporta 4D para importar y exportar datos.
Texto
Este formato separa los campos de un registro con el delimitador fin-de-campo y los registros con el delimitador fin-de-
registro. Los delimitadores de registros dependen de la plataforma de destino: Retorno de carro/Salto de lnea bajo
Windows y Retorno de carro bajo Mac OS.

Este formato no est asociado a un conjunto de carcteres especifico; puede elegir el que se ajuste a sus necesidades
del men "Conjunto de carcteres" (UTF-8 por defecto) o utilizando el comando USE CHARACTER SET. El UTF-16
no es soportado.
Durante la exportacin, 4D escribe un BOM (Byte Order Mask) si el conjunto de caracteres es UTF-8. Cuando 4D
detecta un BOM durante la importacin, el conjunto de caracteres especificado por el BOM tiene prioridad.

Texto de longitud fija


El formato texto de longitud fija destina un nmero especfico de caracteres por campo. No se utilizan separadores entre
campos. Todos los registros tienen el mismo nmero de caracteres an si los valores de los registros caben en menos
caracteres. Cuando esto pasa, se utiliza un carcter de relleno, generalmente un espacio, para rellenar los campos.
Puede especificar un carcter de relleno para cada tipo de datos o utilizar los caracteres por defecto (consulte Pgina
Relleno). Sin embargo, si un valor tiene ms caracteres de los destinados para el campo, se trunca el valor.
Durante la importacin, 4D retira los carcteres de relleno al final de cada cadena.
Las otras caractersticas de este formato son las mismas del formato Texto.
DIFF
Siglas del formato Data Interchange. DIF es un formato estndar que utiliza en principio el conjunto de carcteres
"IBM437", llamado "Latin-US (DOS)" (soportado por los comandos CONVERT FROM TEXT y Convert to text).
Cuando selecciona este formato, 4D no utiliza los posibles filtros de importacin/exportacin actuales definidos
utilizando el comando USE CHARACTER SET.
La eleccin de la plataforma de destino determina nicamente los delimitadores de registros: Retorno de carro/salto de
pgina bajo Windows y Retorno de carro bajo Mac OS.
En el formato DIF, las cadenas de carcteres no pueden contener retornos de carro (cdigos de caracter 10 o 13). 4D
los reemplaza por espacios durante la exportacin. Adems, la comilla " se utiliza como delimitador interno. Las
comillas en cadenas a exportar se doblan ("").
Por ejemplo, Lunes\rMartes"Mircoles" se exportar en DIF como "Lunes Martes""Mircoles"""
Al importar datos, 4D borra los carcteres que se encuentran al final de las cadenas.
DBF
Este nombre se utiliza para el formato dBase. dBase es un formato de archivos comnmente utilizado en aplicaciones
de base de datos DOS y Windows.
4D generalmente procesa este formato de archivo de la misma forma que lo procesa el formato DIFF.
Note que en el formato DBF, las cadenas se exportan con un tamao fijo con carcteres de relleno (bien sea ' ' o '0'
dependiendo del tipo de datos). Al importar datos, 4D retira los carcteres de relleno que encuentra al final de las
cadenas.

SYLK
Siglas del formato SYmbolic LinK.
Este formato no est asociado a un conjunto de carcteres especfico; puede elegir el que se ajuste a sus necesidades
en el men Conjunto de carcteres (UTF-8 por defecto) o utilizando el comando USE CHARACTER SET. No hay
gestin de BOM (Byte Order Masks). El UTF-16 no es soportado.
El delimitador de registros depende de la plataforma de destino: Retorno de carro/Salto de lnea bajo Windows y
- 652 -
Retorno de carro bajo Mac OS.
Los retornos de carro (cdigo de caracter 13) presentes en las cadenas exportadas pasan como: <escape><blank>:
bajo Windows y <escape><blank>= bajo Mac OS.
Nota: la importacin y exportacin al formato SYLK tambin es soportada por el plug-in 4D View.
4D Application
Este formato, especfico de 4D, facilita el intercambio de registros entre diferentes bases de datos 4D. Este formato
soporta todos los tipos de datos 4D, incluyendo Imagen y Blob. La extensin de los archivos de exportacin 4D es
.4IE.
Cuando este formato est seleccionado, no es posible elegir la plataforma de destino, ni un conjunto de carcteres
(siempre se utiliza Unicode) y los filtros de importacin/exportacin instalados utilizando el comando USE
CHARACTER SET se ignoran.
XML
XML (eXtensible Markup Language) es un estndar de intercambio de datos. Este lenguaje se basa en el uso de
etiquetas que permiten describir de manera precisa los datos intercambiados as como su estructura. Los archivos XML
son archivos con formato texto; su contenido es analizado por las aplicaciones que importan los datos. Muchas
aplicaciones soportan este formato. Para mayor informacin acerca de la terminologa XML, consulte XML en el manual
Lenguaje de 4D.
Este formato no est asociado a un conjunto de caracteres especfico, el conjunto se define en la caja de dilogo de
exportacin. Se especifica en el documento XML mismo. Todo carcter de importacin/exportacin definido utilizando
el comando USE CHARACTER SET se ignora.
El delimitador de registros depende de la plataforma de destino: Retrono de carro/Salto de lnea bajo Windows y
Retorno de carro bajo Mac OS.

Opciones de formato

Las siguientes opciones de formato estn disponibles para cada formato de archivo importado o exportado.
Character Set
El men Conjunto de caracteres est disponible para los formatos de archivos Texto, SYLK y XML (export). Contiene
una lista estndar de conjuntos de caracteres definidos por la IANA (para mayor informacin, consulte:
http://www.iana.org/assignments/character-sets).
Nota: el men Character Set est bloqueado para el conjunto de caracteres "IBM437" para los formatos DIFF y DBF y
este men no est disponible para el formato 4D.
Durante una exportacin, utilice este men para especificar la codificacin a utilizar para los datos exportados.
Durante una importacin, utilice este men para especificar la codificacin de los datos importados. Este men
est inactivo si el encabezado del archivo de exportacin incluye un BOM (ver Pgina encabezado) porque en
este caso la codificacin de los datos importados es predefinida automticamente.
La codificacin por defecto para las operaciones de importacin y exportacin es UTF-8 o el conjunto de
caracteres definido por el comando USE CHARACTER SET (si ha sido ejecutado). Note que la seleccin de una
codificacin en la caja de dilogo de importacin o de exportacin no modifica el conjunto de caracteres actual de
la aplicacin.

Plataforma de destino
Este men permite predefinir los Delimitadores de campos, registros y archivos. Las opciones disponibles son:

Automtico: valor de fin de registro definido en funcin de la plataforma actual.


Macintosh: fin de campo = Tab, fin de registro = Retorno de carro, fin de archivo = <Ninguno>
Windows: fin de campo = Tab, fin de registro = Retorno de carro+Retorno de lnea, fin de archivo = <Ninguno>
Unix: fin de registro = Retorno de lnea
Personalizado: muestra la Pgina Delimitadores.

- 653 -
Delimitadores de campos, registros y archivos

Los delimitadores de fin de campo estn ubicados entre los campos de un registro y los delimitadores fin de registro
estn ubicados despus de cada registro. Los delimitadores de fin de archivo estn ubicados al final del archivo a
importar o exportar. Pueden ser necesarios cuando intercambia archivos entre ciertas aplicaciones.
Los delimitadores se utilizan slo con los formatos Texto y Texto de longitud fija. El formato Texto de longitud fija no
utiliza delimitadores de campos y por lo general, tampoco el formato de texto utiliza un delimitador de archivo explcito.
Cuando importa datos utilizando el formato Texto, 4D utiliza los delimitadores embebidos en el archivo para determinar
dnde terminan los campos y los registros. Cuando exporta datos, 4D pone por usted automticamente los
delimitadores.
Al exportar datos, si los caracteres definidos como delimitadores de campo o de registro estn presentes en los
campos, son reemplazados automticamente por espacios. De esta manera, no sern interpretados incorrectamente
como delimitadores y por lo tanto no se interrumpir el proceso de importacin. Por ejemplo, si utiliza un punto y coma
como delimitador de campo y un campo contiene un "a;b", el valor exportado ser "a b".
Sin embargo, se recomienda asegurarse de que los campos exportados no contengan caracteres que se utilicen
tambin como delimitadores de campos o de registros.

- 654 -
Importar datos de archivos

Puede importar datos desde archivos en XML, 4D, SYLK, DIFF, DBF, Text, o Texto de longitud fija (ver Formatos de
archivos). Para importar datos previamente exportados por otra aplicacin, consulte la documentacin de esa
aplicacin para conocer las modalidades de exportacin de datos en estos formatos. Si la otra aplicacin utiliza un
formato diferente para exportar datos, podra necesitar modificar el archivo utilizando un editor de texto o un procesador
de palabras.
Si importa datos desde otra aplicacin que corre en la misma plataforma de su base de datos, primero exporte los
datos utilizando la otra aplicacin. Observe el orden en que los campos fueron exportados, el formato utilizado por la
aplicacin para guardar el archivo, y si fue utilizado el formato texto, los delimitadores utilizados por la aplicacin. Al
importar los datos, debe ajustarse a estos parmetros.
No necesita construir la estructura completa de su tabla antes de importar los datos. Puede crear las tablas necesarias
directamente en la caja de dilogo Importar.
Tiene la opcin de seleccionar los campos para los cuales los datos se importarn en la caja de dilogo Importar o
especificando un formulario de entrada que contenga los campos para los cuales se importarn los datos.
En el entorno Diseo, usted importa datos por intermedio de la caja de dilogo de importacin. En el entorno
Aplicacin, tambin puede mostrar esta caja de dilogo (comando IMPORT DATA) o importar directamente los
archivos va los comandos del tema Importacin y exportacin.

Definir los datos a importar

Para importar los datos en el entorno Diseo:


1. Seleccione Importar datos> Desde un archivo... del men Archivo de 4D.
4D muestra una caja de dilogo estndar de abrir archivos. Seleccione el tipo de archivo a importar: XML, Texto,
DIFF, DBF, SYLK, o 4IE. Para mayor informacin sobre los tipos de archivos, consulte la seccin Formatos de
archivos.
2. Seleccione el archivo a importar y haga clic en el botn Abrir.
Aparece la caja de dilogo Importar:

El rea Archivo muestra la ruta del archivo a importar. Si quiere importar otro archivo, haga clic en el botn [...]
para seleccionar otro archivo.
3. En el rea de seleccin de tablas y campos, seleccione la tabla y los campos hacia los cuales quiere importar los
datos.

- 655 -
Puede seleccionar una de las siguientes opciones:
Importar los datos a una tabla y campos existentes.
Seleccione una tabla en el men desplegable Tabla de importacin (por defecto, la primera tabla est
seleccionada). La lista jerrquica permite ver y seleccionar los campos a los cuales quiere importar los
datos.
Crear una nueva tabla para importar los datos.
Marque la casilla de seleccin Crear tabla. 4D crear una nueva tabla a la cual importar los datos. 4D
determina el nmero de campos y el tipo de cada uno de acuerdo a los datos que se estn importando.
Si quiere cambiar el nombre de la nueva tabla o de un campo, haga doble clic en el elemento
correspondiente en el rea de Seleccin de tablas y campos para que se vuelva editable o seleccionando la
opcin del encabezado Ttulo de columna como nombre de campo (ver Pgina Encabezado).
Tambin puede modificar el tipo de datos de los nuevos campos haciendo clic en la barra de ttulos de
campos del rea de vista previa: un men desplegable muestra los diferentes tipos disponibles:

La tabla se crea slo durante la importacin. Si cancela la importacin o desmarca esta opcin, la estructura
de la base permanece intacta.
Nota: con el sistema de acceso por contraseas, puede desactivar la opcin Crear tabla para evitar que
los usuarios creen una nueva tabla en la base desde la caja de dilogo Importar. Para hacerlo, utilice la caja
de dilogo Preferencias para crear un grupo que tenga acceso al entorno Diseo (por supuesto, primero
debe activar el sistema de acceso por contraseas 4D). Los usuarios no incluidos en este grupo de acceso,
no podrn seleccionar la opcin Crear tabla en la caja de dilogo Importar.
Importar datos utilizando un formulario.
Esta opcin se describe en detalle en Utilizar un formulario para la importacin.
El rea de vista previa muestra el contenido del archivo a importar, en forma de columnas de datos. Si importa los
datos utilizados en un formulario, aparecen todos los campos del formulario. Puede redimensionar cada columna.
4. Si es necesario, utilice los mens desplegables del rea de ttulos en el rea de vista previa para seleccionar los
campos en los cuales se importar cada columna del archivo a importar.
Nota: esta caracterstica no est disponible cuando la casilla Crear tabla est marcada o cuando importa los
datos utilizando un formulario.
La barra de ttulo de cada columna indica el nombre y tipo del campo al cual se importar la columna. Si es
necesario, utilice el men desplegable para seleccionar un campo diferente.

Para asignar un campo a una columna, puede seleccionar la columna y hacer doble clic en el nombre del campo
en la lista jerrquica de campos.
Tambin puede seleccionar la opcin No importado. En este caso, no se importar la columna de datos.
Campos por defecto
Este botn permite asignar inteligentemente las columnas del archivo a importar a los campos en la tabla
de acuerdo a su tipo de datos y no por el orden en que aparecen. El tipo de dato de cada columna se estima
y se asigna a un campo compatible. La interpretacin se hace de la siguiente forma:

- 656 -
Tipo de campo estimado Tipo 4D
Todos nmero Real (Nmero)
True/False Booleano
Fecha en un formato 4D Fecha
Hora Hora
Otros Alfa

Si no se encuentra un campo compatible, la columna no se importa.


Si quiere importar la columna, debe asignarle un campo manualmente utilizando el men desplegable del
encabezado de la columna en el rea de vista previa.
Nmero de caracteres para archivos de formato Texto de longitud fija: cuando importa un archivo
Texto de longitud fija, el rea de vista previa muestra el nmero de caracteres de cada columna bajo el icono
de tipo de dato de los campos. El nmero de caracteres asignado a cada columna se basa en la primera fila
de datos. Puede modificar la distribucin de los caracteres entre las columnas arrastrando los separadores
en el rea de encabezados o introduciendo valores en las reas de longitud de campo, pero no puede
aadir caracteres a la fila.
5. (Opcional) Defina los parmetros principales de importacin en el rea Registros.
Estas opciones se describen en rea Registros.
6. (Opcional) Defina las otras opciones de importacin utilizando las pginas Encabezado, Delimitadores, Relleno,
XML y/o Formato.
Estas opciones se describen en Opciones de importacin.
7. Si quiere guardar sus parmetros, haga clic en el botn Guardar configuracin.
Este punto se describe en Guardar y cargar parmetros de importacin o exportacin.
8. Haga clic en el botn Importar para iniciar la importacin del archivo de texto.
4D muestra un indicador de progreso de la importacin de datos a su base de datos.

Opciones de importacin

4D ofrece varias opciones de importacin asequibles a travs de las pestaas del rea de Opciones. El nmero de
pestaas y su contenido vara de acuerdo al tipo de archivo utilizado y de las opciones seleccionadas.
rea Registros
Las opciones del rea Registros (pgina Archivo) especifica las principales caractersticas de la operacin:

Aadir o Reemplazar: los registros importados pueden reemplazar la seleccin actual (botn de radio
Remplazar) o aadirse a los datos existentes y formar una nueva seleccin (botn de radio Aadir).
Formato, Conjunto de caracteres y Plataforma de destino: opciones de formato del archivo de importacin
(ver la seccin Formatos de archivos)
Reconstruir ndices despus de la importacin: cuando esta opcin est seleccionada (por defecto), los
ndices de los campos en los cuales se importan los datos se reconstruyen despus de la importacin. Este
mecanismo permite acelerar las importaciones de un gran volumen de datos. Si la importacin hace referencia a
una cantidad de datos menos que la que ya contiene el campo, puede ser til deseleccionar esta opcin antes de
la importacin. En este caso, el ndice se actualiza gradualmente y no se reconstruye en su totalidad.

Pgina Encabezado
Esta pgina slo est disponible al importar archivos de formato texto y texto de longitud fija.

Importar desde la lnea #: esta opcin permite especificar la primera lnea a importar del archivo de texto. Utilice
esta opcin para indicar a 4D que ignore la informacin del encabezado, como ttulos o nombres de campos, en el
archivo a importar. Esto es muy til particularmente cuando el archivo a importar comienza con lneas no
formateadas (ttulo, fecha, etc.), porque las columnas a importar se calculan a partir del formato de la primera lnea.

- 657 -
Ttulo de columna como nombre del campo: esta opcin le indica a 4D que utilice los ttulos de columnas
como nombres de los campos si usted ha seleccionado la opcin Crear tabla.

Pgina Delimitadores
Esta pgina le permite especificar los delimitadores de campos, registros y archivo utilizados en archivos de formato
texto y texto de longitud fija. Estas opciones estn preconfiguradas en funcin de la plataforma especificada en el men
"Plataforma de destino" de rea Registros.

Los delimitadores se describen en detalle en la seccin Delimitadores de campos, registros y archivos. Para
cambiar los delimitadores por defecto, utilice la lista desplegable que contienen los valores ms utilizados para cada
delimitador. Tambin puede introducir un delimitador en las reas de entrada a la derecha.
La lista desplegable en la parte superior de la pgina le permite visualizar los delimitadores en diferentes formatos:
Caracter, Decimal (formato por defecto) y Hexadecimal. Note que al utilizar caracteres no imprimibles como
delimitadores (como Tab, Salto de lnea, y Retorno de carro), la opcin Carcter no mostrar nada.
Nota: los delimitadores restablecen sus valores por defecto al hacer clic en el botn Por defecto o si el tipo de
documento se modifica en la pgina Archivo.

Pgina XML
Esta pgina slo est disponible para archivos XML. Permite configurar el modo de anlisis del contenido XML
importado.

En el momento de la importacin de los datos, 4D interpreta el contenido del documento XML para extraer la
informacin. Por defecto, esta operacin se realiza sin ninguna validacin especfica. Se asume que el documento XML
est bien formado y por consiguiente su estructura es correcta y su interpretacin es inequvoca.
Sin embargo, puede solicitar la validacin del documento en el momento de la importacin: para hacerlo, marque la
casilla Validacin. En este caso, 4D analiza el contenido del documento con base en su
DTD (Document Type Definition, definicin de tipo de documento) y verifica que corresponda a esta definicin. La
importacin slo se realiza si el documento es validado.
Nota: para mayor informacin sobre DTD, consulte Pgina XML.
Si el DTD del documento importado no est incluido en el documento mismo, pero en un archivo separado, o si quiere
utilizar otro DTD para validar el documento, marque la opcin Utilizar otro DTD e indique el
archivo que contiene el DTD utilizando el botn [...].
Una vez completa la importacin, se cierra la caja de dilogo y la tabla en la cual se importaron los datos se convierte en
la tabla actual.
- 658 -
Pgina Formato
Esta pgina est disponible para la importacin de archivos Texto, texto de longitud fija y XML. Permite definir los
formatos para los campos de tipo Booleano.

La sintaxis a aplicar es True_Valor;False_Valor. Por ejemplo, si importa un campo de tipo booleano cuyos valores son,
por ejemplo, Negro (para true) y Blanco (para false), puede introducir Negro;Blanco. El combo-box muestra los tipos
de formatos booleanos ms utilizados. Puede introducir otro formato que no este en el combo-box.
Pgina Relleno
Esta pgina slo aparece cuando el formato de archivo es texto de longitud fija. Permite definir el carcter de relleno a
utilizar para cada tipo de datos. El carcter de relleno por defecto es el espacio.

Para ms informacin sobre los archivos formato texto de longitud fija, consulte la seccin Formatos de archivos.
Se pueden utilizar diferentes caracteres de relleno para tres tipos de valores: Alfa/Booleano (los campos booleanos se
importan como alfas), Numrico y Fecha/Hora. Por lo general, se utiliza el espacio para rellenar los campos de
formato fijo. Las listas desplegables contienen otros caracteres. Las reas de entrada ubicadas a la derecha muestran
los caracteres de relleno seleccionados. Si quiere utilizar otros caracteres, introdzcalos directamente en las reas de
entrada.
El men en la parte inferior de la pgina le permite ver los caracteres de relleno en diferentes formatos: Carcter,
Decimal (formato por defecto) y Hexadecimal. Un carcter de relleno no imprimible no aparecer si utiliza el formato
Carcter.

Utilizar un formulario para la importacin

Si quiere importar el archivo de texto utilizando un formulario, haga clic en la pestaa Formulario ubicada en la parte
superior del rea de seleccin de tablas y campos. La ventaja de utilizar un formulario es que para cada registro
importado se ejecutan los mtodos de objeto y de formulario. Esto permite procesar los datos mientras importa datos
(por ejemplo, sin escribir una rutina de importacin personalizada).

- 659 -
Puede utilizar formularios que contengan variables editables y campos, pero no botones. Los mtodos de formulario y
los mtodos asociados con campos y variables, se ejecutan cuando se importa cada registro. Sin embargo, note que
los efectos de estos mtodos no se muestran en el rea de vista previa.
Si utiliza un formulario para la importacin, tenga en cuenta las siguientes recomendaciones:
Los mtodos se ejecutan en el evento formulario On Load.
El orden de entrada del formulario determina el orden en que se importan las columnas de datos. Debe
asegurarse que el orden de entrada del formulario coincida con el orden de las columnas en el archivo de texto.
Si hay menos campos y variables en el formulario que columnas en el archivo de texto, se ignoran las columnas
extra del archivo.
Un formulario utilizado para importar datos, no debe contener botones. Igualmente, los objetos de subformularios
se ignoran.
Nota para 4D Server: no es posible importar datos utilizando un formulario que contenga mtodos en un procedimiento
almacenado en el servidor. De hecho, como los eventos de formulario no son administrados en el servidor, no se
llamarn los mtodos asociados.

- 660 -
Exportar datos a archivos

Cuando exporta datos, usted crea un archivo en formato 4D, XML, SYLK, DIFF, DBF, Text, o texto de longitud fija, que
puede ser abierto o importado por otras aplicaciones. Si exporta datos para utilizar con otra aplicacin, consulte la
documentacin de esa aplicacin sobre la importacin de datos. Seleccione un formato de archivo y delimitadores
compatibles con la otra aplicacin.
En algunos casos, puede necesitar utilizar una o ms opciones para estructurar correctamente el archivo a exportar para
la aplicacin objetivo. Por ejemplo, algunos programas aceptan archivos con formato texto pero requieren que el primer
registro contenga los nombres de los campos. Puede aadir este registro utilizando un software de procesamiento de
texto.
4D exporta los registros en el orden que se encuentran actualmente. Puede optar por exportar todos los registros de una
tabla o slo la seleccin actual.
En la caja de dilogo Exportar tiene la opcin de seleccionar los campos a exportar o especificar un formulario. Si utiliza
un formulario, se exportan los campos del formulario.
En el entorno Diseo, puede exportar datos por intermedio de la caja de dilogo de exportacin. En el entorno
Aplicacin, tambin puede mostrar esta caja de dilogo (comando EXPORT DATA) o exportar directamente los
archivos va los comandos del tema Importacin y exportacin.

Definir los datos a exportar

Para exportar datos en el entorno Diseo:


1. Seleccione Exportar > Datos a un archivo... en el men Archivo de 4D.
Aparece la caja de dilogo Exportar:

2. En el rea Registros, seleccione el formato del archivo de exportacin, Texto, Texto de longitud fija, DIFF,
SYLK, DBF, Aplicacin 4D o XML y sus opciones de formato (ver la seccin Formatos de archivos).
3. (Opcional) Haga clic en el [...], introduzca un nombre y elija la ubicacin del archivo a exportar y luego haga clic en
el botn Guardar.
Aparece nuevamente la caja de dilogo Exportar, con la ruta del archivo a exportar en el rea Archivo. Este paso
no inicia el proceso de exportacin. (Si omite estos pasos, tambin puede especificar el nombre y ubicacin del
archivo a exportar cuando haga clic en el botn Exportar).
4. En el rea de Seleccin de tablas y campos, seleccione la tabla y los campos a exportar.
Puede elegir una de las siguientes opciones:
Seleccionar los campos a exportar en la caja de dilogo Exportar.
Si utiliza esta opcin, elija una tabla de la lista desplegable Exportar desde la tabla para que aparezcan los
- 661 -
campos disponibles para exportar en la lista de campos. Elija los campos utilizando los dos botones azules
ubicados sobre el rea de vista previa. Puede eliminar campos del rea de vista previa utilizando los
botones rojos:

Exportar los datos utilizando un formulario.


Esta opcin exporta los campos del formulario. Esta opcin se describe en detalle en Utilizar un
formulario para la exportacin.
5. (Opcional) En el rea de vista previa, modifique los campos cuyos datos va a exportar.
Nota: esta caracterstica no est disponible si exporta datos utilizando un formulario.
El rea de vista previa muestra el contenido del archivo a exportar como columnas de datos. El rea de
encabezado para cada columna es un men desplegable que puede utilizar para cambiar el campo asignado a la
columna.
El icono del lado izquierdo del nombre del campo indica su tipo de dato. Puede hacer clic derecho para desplegar
un men contextual con los formatos apropiados para el tipo de datos de la columna. Si quiere, elija un formato del
men contextual. Si no asigna un formato, se utiliza el Formato por defecto. Tambin puede seleccionar un
formato en la pgina de opciones Formato (ver Pgina Formato).

Puede eliminar una columna del archivo a exportar y del rea de previsualizacin. Para hacerlo, haga clic en el
encabezado de la columna y haga clic en el botn Eliminar.
Modificar la longitud de los campos de longitud fija
Si elige el formato texto de longitud fija, el rea de vista previa indica el nmero de caracteres para cada
columna.

Puede redimensionar cada columna arrastrando el separador de columnas en la barra de ttulo. Si est
utilizando el formato texto de longitud fija, cambia el nmero de caracteres destinado a la columna en el
archivo a exportar. Puede definir el nmero de caracteres introduciendo un valor en el rea de entrada
ubicada bajo el icono de tipo de dato de los campos. El nmero de caracteres por defecto es: los campos
de texto tienen una longitud de 80 caracteres, los campos Alfa tienen una longitud mxima asignada en el
entorno Diseo y los campos numricos tienen una longitud de 10 caracteres.
6. En el rea Registros, indique si quiere exportar todos los registros de la tabla seleccionada (opcin Exportar
todo), o nicamente la seleccin actual (opcin Exportar seleccin).
En ambos casos, el nmero de registros a exportar se muestra en esta rea.

7. Defina las otras opciones de exportacin en las pginas Encabezado, Delimitadores, Formato, XML y Relleno
(opcional).
Estas opciones se describen en Opciones de exportacin.
8. Si quiere guardar sus parmetros, haga clic en el botn Guardar preferencias.
Esta caracterstica se describe en la seccin Guardar y cargar parmetros de importacin o exportacin.
- 662 -
9. Haga clic en Exportar para iniciar la exportacin del archivo.
Si no ha especificado el nombre y ubicacin del archivo a exportar, aparece una caja de dilogo estndar para
guardar archivos (ver paso 3). De lo contrario, la exportacin se lleva a cabo directamente.

Opciones de exportacin

4D ofrece varias opciones de exportacin asequibles a travs de las pestaas del rea Opciones. El nmero de
pestaas y su contenido, vara de acuerdo al tipo de archivo a exportar y de las opciones seleccionadas.

Pgina encabezado
Esta pgina slo est disponible para exportar archivos Texto y Texto de longitud fija:

Esta pgina le permite especificar el encabezado del archivo de exportacin:


Ttulo: esta opcin le permite introducir un ttulo para el documento a exportar. Introduzca el ttulo en el rea que
aparece bajo la casilla de seleccin.
Generar BOM para codificacin Unicode: inserta en el encabezado del archivo de exportacin un Byte Order
Mark (BOM). Esta informacin adicional facilita la interpretacin del texto por el software de importacin, si
soporta esta funcin.
Esta opcin est seleccionada por defecto pero slo se tiene en cuenta cuando el carcter Unicode est
seleccionado para la exportacin. Si este no es el caso, no se aade el BOM.
Ttulo de la columna: esta opcin exporta los nombres de los campos como primer registro en el archivo de
exportacin.
Numeracin de fila: esta opcin numera cada lnea, es decir cada registro exportado. La numeracin inicia en 1
y se incrementa de 1 en 1.

Pgina Delimitadores
Esta pgina le permite especificar los delimitadores de campos, registros y archivo utilizados en archivos de formato
texto y texto de longitud fija. Estas opciones estn preconfiguradas en funcin de la plataforma especificada en el men
"Plataforma de destino" de rea Registros.

Los delimitadores se describen en detalle en la seccin Delimitadores de campos, registros y archivos. Para
cambiar los delimitadores por defecto, utilice la lista desplegable que contienen los valores ms utilizados para cada
delimitador. Tambin puede introducir un delimitador en las reas de entrada a la derecha.
La lista desplegable en la parte superior de la pgina le permite visualizar los delimitadores en diferentes formatos:
Caracter, Decimal (formato por defecto) y Hexadecimal. Note que al utilizar caracteres no imprimibles como
- 663 -
delimitadores (como Tab, Salto de lnea, y Retorno de carro), la opcin Carcter no mostrar nada.
Nota: los delimitadores restablecen sus valores por defecto al hacer clic en el botn Por defecto o si el tipo de
documento se modifica en la pgina Archivo.

Pgina XML
Esta pgina de parmetros slo est disponible al exportar archivos XML. Permite la configuracin del contenido del
archivo XML exportado.

DTD
Cuando exporta en formato XML, 4D le permite generar o no una DTD (definicin de tipo de documento). Un DTD
registra el conjunto de reglas y propiedades especficas que debe cumplir el documento XML. Estas reglas definen,
particularmente, el nombre y contenido de cada etiqueta al igual que su contexto. Esta formalizacin de elementos
permite verificar que un documento XML es vlido y particularmente til ante la presencia de etiquetas recurrentes en
un documento XML. Observe que no es obligatorio generar un DTD.
Para definir el manejo del DTD, debe seleccionar una de las tres opciones siguientes:
Sin DTD (opcin por defecto): cuando marca esta opcin, no se genera un DTD durante la exportacin. El
documento XML generado no puede ser validado.
Generar DTD en la exportacin: genera un DTD durante la exportacin y la incluye en el archivo XML (DTD
interno). As, el archivo XML generado es independiente.
Generar DTD autnomo: el DTD se genera en un archivo separado (DTD externo). Un DTD externo se puede
compartir entre varios usuarios y as, homogeneizar la estructura de los documentos XML generados desde las
diferentes fuentes.
Nota: 4D permite que una tabla y un campo tengan el mismo nombre; sin embargo, el lenguaje XML prohbe el
uso de diferentes elementos con el mismo nombre. Por lo tanto, cuando utiliza la opcin Generar DTD, los datos
4D exportados no deben contener una tabla y un campo con el mismo nombre, de lo contrario, el archivo XML
generado no es vlido y no puede ser abierto por un analizador XML.
Referenciar la DTD: utilice el botn [...] asociado, para designar un archivo DTD externo existente. 4D incluir una
referencia a este DTD en el archivo exportado.
XSL
XSL (eXtensible Stylesheet Language) permite la representacin visual de los elementos definidos en un documento
XML. Este lenguaje se utiliza para definir esquemticamente las hojas de estilo a utilizar para procesar y visualizar el
contenido de un documento XML. Para mayor informacin, consulte Administracin de transformaciones XSL en el
manual Lenguaje de 4D.
Referenciar el XSL: utilizando el botn [...], puede asociar un archivo XSL para los datos exportados.
Cuando un archivo XSL ha sido seleccionado, debe definir su utilizacin con los datos exportados utilizando dos
opciones:
Aplicar la transformacin XSL: cuando esta opcin est seleccionada, 4D realiza directamente la
transformacin XSL de los datos en el momento de la exportacin.
Insertar un enlace hacia el archivo XSL: cuando esta opcin est seleccionada, 4D slo inserta la referencia al
XSL designado en el documento exportado (la transformacin no se efecta).
El archivo XML exportado contendr entonces las referencias a este archivo XSL.
Opciones XML
Reemplazar espacios: esta opcin hace que los caracteres espacio ( ) se reemplacen por caracteres
subrayado (_) en los campos de nombres de valores del archivo XML generado. Esta opcin est marcada por
defecto, pues los espacios no se permiten en los campos XML de nombres de valores.
Sin embargo, puede deseleccionar esta opcin cuando sea necesario para propsitos especficos. En este caso,
- 664 -
el archivo generado no cumplir las reglas generales de sintaxis de XML definidas por el W3C.
Codificar el binarios en base64: esta opcin aade el encabezado "data:;base64," a los campos binarios
exportados (campos de tipo BLOB e imagen). Cuando esta opcin no est seleccionada, los campos se codifican
en base64 sin el encabezado.
Con indentaciones: esta opcin aplica indentacin automtica a los datos exportados. La indentacin permite
visualizar la jerarqua de los elementos XML.
Codificar las imgenes en PNG: esta opcin codifica automticamente las imgenes exportadas en formato
PNG, sin importar el formato original. Cuando esta opcin no est seleccionada, las imgenes se codifican en su
formato nativo.
Note que cuando se exportan imgenes en SVG, se recomienda no seleccionar esta opcin de manera que las
imgenes conserven sus propiedades.

Pgina Formato
Esta pgina permite definir los formatos de los valores exportados. Esta opcin est disponible para todos los formatos
de archivos, excepto para el formato 4D Application. Por defecto, se utilizan los formatos estndar 4D.

Nota: tambin puede definir el formato de una columna utilizando el men contextual en el rea de encabezado de
columna (ver el paso 5 en Definir los datos a exportar).
Puede definir los formatos de los campos de tipo Alfa, Numrico, Fecha, Hora y Booleano en el rea de vista previa.
Cuando selecciona una columna, el combo-box correspondiente se activa en la pgina. En ese momento puede
seleccionar un formato del combo box o introducir su propio formato. Para mayor informacin sobre los formatos de
visualizacin de 4D, consulte la seccin Formatos de salida.
Formatos Fecha/Hora ISO
El formato de visualizacin ISO Fecha Hora est disponible para exportar datos tipo fecha u hora. Este formato
corresponde al estndar de representacin XML para fechas y horas (formato ISO8601). Por ejemplo, en este
formato la hora 1:20 p.m. de mayo 31, 2003 se escribe como 2003-05-31T13:20:00.
4D no permite almacenar en un mismo campo una fecha y una hora.
Sin embargo, puede exportar los datos en este formato de manera que la fechas u horas se registren conforme al
estndar XML. Si exporta fechas, los valores exportados, sern del estilo: 2003-05-31T00:00:00; mientras que si
exporta horas ser: 0000-00-00T13:20:55.

Pgina Relleno
Esta pgina slo aparece cuando el formato de archivo es texto de longitud fija. Permite definir el carcter de relleno a
utilizar para cada tipo de datos. El carcter de relleno por defecto es el espacio.

- 665 -
Para ms informacin sobre los archivos formato texto de longitud fija, consulte la seccin Formatos de archivos.
Se pueden utilizar diferentes caracteres de relleno para tres tipos de valores: Alfa/Booleano (los campos booleanos se
importan como alfas), Numrico y Fecha/Hora. Por lo general, se utiliza el espacio para rellenar los campos de
formato fijo. Las listas desplegables contienen otros caracteres. Las reas de entrada ubicadas a la derecha muestran
los caracteres de relleno seleccionados. Si quiere utilizar otros caracteres, introdzcalos directamente en las reas de
entrada.
El men en la parte inferior de la pgina le permite ver los caracteres de relleno en diferentes formatos: Carcter,
Decimal (formato por defecto) y Hexadecimal. Un carcter de relleno no imprimible no aparecer si utiliza el formato
Carcter.

Utilizar un formulario para la exportacin

Si quiere utilizar un formulario para la exportacin, haga clic en la pestaa Formulario, ubicada en la parte superior de
la caja de dilogo Exportar. Luego puede seleccionar un formulario de la lista de
formularios para la tabla seleccionada.
La ventaja principal de utilizar un formulario es que los mtodos de formulario y de objeto asociados a los campos y
variables, se ejecutan cuando se exporta cada registro. Esto le permite procesar los datos mientras los exporta. Los
campos y variables se exportan en el orden especificado por el orden de entrada del formulario. Sin embargo, note que
el efecto de estos mtodos no aparece en el rea de vista previa.
Los mtodos se ejecutan en el evento formulario On Load. No ubique botones en el formulario. Los objetos de
subformulario se ignoran.
Nota para 4D Server: no es posible exportar datos utilizando un formulario que contenga mtodos en un proceso
almacenado en el servidor. De hecho, como los eventos de formulario no son administrados por el servidor, los mtodos
asociados no se llamarn.

- 666 -
Importar y exportar datos va una fuente de datos ODBC

4D le permite importar y exportar datos desde o hacia una fuente de datos ODBC.
El protocolo ODBC (Open DataBase Connectivity) es una interfaz que permite a las diferentes aplicaciones
comunicarse entre ellas utilizando el lenguaje SQL. Una fuente de datos ODBC es una ventana abierta
permanentemente en un documento que pertenece a una aplicacin, incluso cuando la aplicacin no est abierta.
Muchas aplicaciones (bases de datos, hojas de clculo, manejadores de datos, etc.) permiten publicar datos como una
fuente ODBC utilizando un driver ODBC especfico.
Toda aplicacin que soporte el protocolo ODBC puede leer o escribir los datos en una fuente ODBC. La funcin de
importacin de 4D permite recuperar los datos desde una fuente ODBC mientras la funcin de exportacin permite
insertar los datos en la fuente ODBC.

Definicin de una fuente ODBC

Bajo Windows, la definicin de una fuente ODBC se efecta utilizando el panel de control Herramientas
administrativas y luego los Orgenes de datos (ODBC):

Bajo Mac OS X, la definicin de una fuente ODBC se efecta utilizando el programa ODBC Administrator ubicado en
la carpeta Utilidades:

- 667 -
Para mayor informacin sobre estas cajas de dilogo, consulte la documentacin del sistema operativo.

Importar datos desde una fuente ODBC

El concepto de importacin de datos desde una fuente ODBC es el mismo que cuando se importan otros tipos de
datos, con la excepcin de que se utiliza una caja de dilogo intermediaria que le permite seleccionar una fuente ODBC.
En el entorno Aplicacin, la importacin puede efectuarse con la ayuda del comando IMPORT ODBC. En el entorno
Diseo, se hace utilizando el men Archivo de 4D.
Para importar datos desde una fuente ODBC:
1. Elija el comando Importar > Desde una fuente ODBC... en el men Archivo de 4D.
Aparece la caja de dilogo de conexin ODBC:

2. Seleccione el origen de datos a utilizar como tambin (si es necesario) los identificadores de acceso y luego haga
clic en Conexin.
Aparece la caja de dilogo de importacin de datos de 4D.
3. A la derecha de la caja de dilogo, defina la tabla SQL de la cual quiere importar los datos:

- 668 -
4. Seleccione la tabla y los campos 4D en los cuales los datos deben ser importados o marque la opcin Crear
tabla (esta opcin no est disponible para bases compiladas).
Como para los otros tipos de importaciones, el rea de vista previa muestra la correspondencia entre los datos
importados y los campos. Tambin puede hacer clic en la pestaa Formulario e importar datos utilizando un
formulario. Para mayor informacin sobre estas funciones, consulte la seccin Importar datos de archivos.
5. Elija las opciones de importacin en la parte derecha de la caja de dilogo:
Origen de datos: esta rea describe la fuente de datos a la cual la base est conectada. Puede mostrar de
nuevo la caja de dilogo de seleccin de fuente de datos haciendo clic en el botn [...].
Registros: puede aadir o reemplazar los registros de la tabla de importacin con los datos provenientes
de la fuente.
6. Haga clic en Importar para importar los datos.
Una vez importados los datos, la conexin entre 4D y la fuente de datos se cierra automticamente.

- 669 -
Guardar y cargar parmetros de importacin o exportacin

Las cajas de dilogo de importar y exportar le permiten guardar y cargar sus parmetros en y desde el disco.
Puede realizar esta operacin utilizando las cajas de dilogo de importar-exportar de los archivos y fuentes ODBC. Sin
embargo, los proyectos guardados en la caja de dilogo de importar-exportar ODBC no son compatibles con la caja de
dilogo importar-exportar estndar y viceversa.
Para guardar o cargar los parmetros de importacin o exportacin, haga clic en el botn Guardar preferencias o
Cargar preferencias en la parte inferior de la caja de dilogo:

Los archivos de parmetros de importacin y exportacin tienen la extensin .4SI en Windows (tipo 4DSI en Mac
OS). Un archivo de configuracin almacena todos los parmetros definidos en el editor de importaciones o
exportaciones:
Nombre y ruta de acceso del archivo o de la fuente ODBC,
Tablas y campos seleccionados y el nombre del formulario, que la exportacin utiliza,
Opciones de importacin o exportacin (tipo de archivo, delimitadores, etc.).
Esta caracterstica le permite automatizar el proceso de importacin o exportacin. Utilizar un archivo de parmetros es
particularmente til junto con los comandos IMPORT ODBC y EXPORT ODBC.

- 670 -
Publicacin y uso de servicios web

Introduccin
Publicar un servicio web con 4D
Suscripcin a un servicio web en 4D

- 671 -
Introduccin

Qu son los servicios web?

Un servicio web es un conjunto de funciones agrupadas como una entidad y publicado en una red. Estas funciones
pueden ser llamadas y utilizadas por toda aplicacin compatible con servicios web y conectada a la misma red. Desde
luego, los servicios web estn diseados para ser utilizados en su mxima capacidad en el contexto de publicacin en
Internet.
Los servicios web pueden efectuar todo tipo de tareas, tales como hacer seguimiento a los paquetes de un
transportador, comercio electrnico, control de valores, monitorear mercados de valores, etc.
El programa que publica el servicio se llama servidor. Toda aplicacin compatible con servicios web puede utilizar una
o ms de estas funciones; este es el programa cliente.
La ventaja de los servicios web es su interoperabilidad con diferentes sistemas de informacin: no es necesario que los
programas servidor y cliente sean compatibles entre si para que el sistema funcione. Desde el punto de vista de la
aplicacin cliente, un servicio web es una caja negra: los valores se envan a ella y se devuelven otros valores
resultantes del proceso.
Los servicios web propuestos por el servidor pueden ser pblicos o privados. Hay un gran nmero de servicios web
pblicos en Internet que toda aplicacin pueden solicitar gratuitamente.
Mantenida por el W3C (World Wide Web Consortium, autoridad reguladora de Internet) y las grandes empresas del
sector de la industria informtica, los servicios web representan una solucin de conectividad confiable, duradera y
evolutiva.

Funcionamiento de los servicios web Principales definiciones

Los servicios web transitan esencialmente utilizando el protocolo de transporte HTTP.


SOAP: los servicios web utilizan un protocolo de comunicacin de alto nivel abierto llamado SOAP (Simple
Object Access Protocol). Este protocolo est basado completamente en el lenguaje XML, tanto a nivel de la
estructura del mensaje (sobre) como de los datos intercambiados. El funcionamiento de este protocolo est
definido por los RFCs (Request for Comment, documentos que estandarizan varios aspectos de Internet), lo cual
garantiza una amplia compatibilidad.
El principio de funcionamiento de un servicio web es el siguiente: un cliente del servicio web enva una peticin en
XML al servidor va el protocolo SOAP. El servidor analiza la solicitud, efecta la operacin solicitada y devuelve
su respuesta utilizando el mismo protocolo y lenguaje.
WSDL: los servidores de servicios web generalmente publican un WSDL (Web Service Description Language)
con el fin de definir las especificaciones de acceso a los servicios ofrecidos. El WSDL permite a los servidores de
servicios web publicar el modo de uso de los servicios ofrecidos (URLs, listas de mtodos, parmetros, etc.) y
viene en forma de una archivo XML, generalmente creado por la misma aplicacin servidor. Este archivo no es
obligatorio.
UDDI: el UDDI (Universal Description Discovery and Integration) es una base de datos mundial que lista todos los
servicios web pblicos.
Tenga en cuenta que no es obligatorio hacer pblico un servicio web y que en la mayora de los casos no es
necesario.

Integracin de los servicios web en 4D

4D puede utilizarse como un servidor y/o cliente de servicios web. La integracin de servicios web en 4D es simple y
segura: varios parmetros permiten controlar de forma precisa las condiciones de publicacin y de suscripcin.

4D como un servidor de servicios web


Puede publicar todo mtodo de proyecto como un servicio web, sin hacer una modificacin mayor. La publicacin es
una propiedad del mtodo:

- 672 -
Nota: la publicacin de servicios web con 4D requiere de una licencia especfica: la licencia SOAP.
El servidor web de 4D maneja automticamente la gestin de servicio como tambin la publicacin y el mantenimiento
del archivo WSDL. El anlisis del contenido XML de las peticiones, el formato de los parmetros, el envo de resultados,
etc., son efectuados por 4D sin que sea necesaria una programacin especfica.

Si quiere personalizar el procesamiento de las peticiones, puede utilizar los comandos especficos del lenguaje de 4D.
Consulte la seccin Servicios Web (Servidor) en el manual Lenguaje de 4D.

4D como un cliente de servicios web


Sus bases de datos pueden utilizar todo tipo de servicio web ofrecido en Internet o en su red. La mayora de las veces,
el asistente de servicios web le permitir utilizar instantneamente cualquier servicio web, con un mnimo de
programacin:

- 673 -
Utilizar un servicio web en 4D consiste en enviar solicitudes por la red y recuperar una respuesta. Los mtodos proxy
estn encargados de estas operaciones. La creacin de mtodos proxy de llamada de servicios web es completamente
automtica y puede realizarse sin programacin. Simplemente llame estos mtodos en su cdigo.
Es posible personalizar estos mtodos utilizando los comandos del lenguaje de 4D, de la misma forma que para la
parte servidor (ver Servicios Web (Cliente)).

Seguridad de los servicios web


Los servicios web publicados por 4D heredan los mecanismos de seguridad establecidos por el servidor web de 4D.
Las peticiones de servicios web se benefician de los mismos parmetros que las solicitudes web clsicas: contraseas,
mtodos de base On Web Authentication y On Web Connection, utilizacin del protocolo SSL, etc.
Adicionalmente, configuraciones especficas (por ejemplo los comandos Get SOAP info y Is SOAP request) permiten
controlar de forma precisa la publicacin de los servicios web.
Del lado del cliente, la conexin a los servidores de servicios web se puede llevar a cabo en modo seguro utilizando
SSL. El comando WEB SERVICE AUTHENTICATE tambin permite la conexin a los servidores que requieren
autenticacin.
Compatibilidad de RPC, DOC y tipos Complejos
La capa de comunicacin de los servicios web (asegura el transporte, el llamado de los servicios y la seguridad de los
intercambios) puede funcionar en dos modos diferentes: el modo RPC (Remote Procedure Call) y el modo DOC
(Mensaje/Documento). La diferencia entre los modos est en el nivel de construccin de las solicitudes y las respuestas
para el servidor y el cliente. El modo DOC es necesario para ciertas aplicaciones clientes.
4D soporta el modo RPC y el modo DOC:
Del lado del cliente, este soporte es transparente va el asistente de servicios web. El cdigo generado se adapta
automticamente al modo de publicacin.
Del lado del servidor, este soporte tambin es transparente: los mtodos son publicados automticamente como
servicios web en modo DOC y en modo RPC. La eleccin del modo se lleva a cabo va el URL del WSDL
(consulte Generacin de WSDL).
Para publicar un servicio web 4D en modo RPC, slo necesita utilizar el siguiente URL para el WSDL:
http://ServerAddress/4DWSDL
El servidor 4D se encarga de procesar las solicitudes y respuestas en RPC. Las solicitudes RPC se envan
automticamente a la siguiente direccin: http://ServerAddress/4DSOAP.
Para publicar un servicio web 4D en modo DOC, slo necesita utilizar la siguiente URL para el WSDL:
http://ServerAddress/4DWSDL/DOC
El servidor 4D maneja el procesamiento de las solicitudes y respuestas en DOC. Las solicitudes DOC se
envan automticamente a la direccin http://ServerAddress/4DSOAP/DOC
Dos tipos diferentes de datos XML son intercambiados va el protocolo SOAP: datos de tipo simple y datos de tipo
complejo. Los datos de servicios web publicados en modo RPC pueden ser de tipo simple o de tipo complejo. En
cambio, los datos de servicios web publicados en modo DOC son sistemticamente de tipo complejo. 4D soporta
servicios web utilizando datos de tipo simple y complejo
Los datos XML de tipo complejo no pueden utilizarse directamente en una base de datos 4D y necesitan un proceso
especfico. En la mayora de los casos, el asistente de servicios web efectuar el proceso por usted; sin embargo,
algunas veces puede ser necesario completar este proceso utilizando los comandos XML del lenguaje de 4D. Para
mayor informacin, consulte Procesamiento de tipos complejos.

Configuracin
- 674 -
La pgina Web services de las Propiedades de la base (tema Web) permite definir los parmetros generales sobre
la publicacin y uso de servicios web:

La accin de estos parmetros se describe en las siguientes pginas. Para una descripcin detallada de cada opcin,
consulte la seccin Pgina Web/Web Services.

- 675 -
Publicar un servicio web con 4D

La publicacin de un servicio web en 4Dse efecta generalmente en tres etapas:


1. Creacin del mtodo a publicar
2. Configuracin de la publicacin (WSDL)
3. Publicacin
Se pueden definir etapas adicionales de personalizacin, pero no son obligatorias.

Crear un mtodo servicio web

Puede crear todo tipo de mtodo de proyecto destinado a una publicacin como un servicio web. El mtodo debe
aceptar los parmetros y devolver un resultado. Es imperativo que estos parmetros se declaren en el encabezado del
mtodo utilizando los comandos del tema Compilador.
Por defecto, 4D da formato a los parmetros necesarios para la operacin de mtodos publicados como servicios web.
Sin embargo, puede modificar estos parmetros utilizando el comando SOAP DECLARATION.
4D se encarga automticamente de codificar y decodificar los datos recibidos y enviados va SOAP.
Atencin: los nombres de los mtodos se utilizan como etiquetas XML en las solicitudes SOAP. Conforme a la norma
XML, estos nombres no deben tener espacios o cifras. Adems, para evitar todo riesgo de incompatibilidad, se
recomienda no utilizar caracteres extendidos (tales como los caracteres acentuados).
Para definir y controlar el desarrollo de un mtodo publicado como un servicio web, debe utilizar los comandos del tema
Servicios web, consulte la seccin Servicios Web (Servidor) en el manual Lenguaje 4D.

Publicacin de Mtodos

Para poder publicar uno o ms mtodos de su base de datos como servicios web, se deben cumplir las siguientes
condiciones.
La mquina utilizada como servidor SOAP (aplicacin 4D monopuesto o 4D Server) tiene una licencia SOAP 4D.
Debe iniciarse el servidor web de 4D.
Debe estar seleccionada la opcin Permitir solicitudes de servicios web en la pgina Web Services de la caja
de dilogo de las Propiedades de la base. Si esta opcin no est seleccionada, 4D rechaza las solicitudes SOAP
y no genera un WSDL.

Cuando esta opcin est seleccionada, 4D crea el archivo WSDL (ver Generacin de WSDL).
Cada mtodo a publicar debe Ofrecerse como servicio web. Esta configuracin se lleva a cabo utilizando una
opcin de la ventana Propiedades del mtodo:

- 676 -
Nota: para mayor informacin sobre esta ventana, consulte la seccin Propiedades de los mtodos proyecto.
Cuando la opcin Ofrecido como Servicio web est seleccionada, el mtodo correspondiente puede ser
llamado como servicio web va una solicitud SOAP.
Nota: si la opcin Publicado en WSDL tambin est seleccionada, el mtodo aparecer en el WSDL del
servidor (ver el siguiente prrafo).
En la Pgina Mtodos del Explorador de 4D, los conos especficos indican los mtodos ofrecidos como servicios web
y los publicados en el archivo WSDL .

Generacin de WSDL

El WSDL describe, en lenguaje XML, la sintaxis y la informacin necesaria para llamar el mtodo 4D (Nombre del
mtodo, URL, parmetros, etc.).
En 4D, el WSDL corresponde a un solo servicio web y define los mtodos y sus parmetros y puede ser consultado en
un lugar especfico. En 4D, el WSDL no es un archivo real (slo existe en memoria y no est escrito en el disco); este
es un URL llamado 4DWSDL para servicios web publicado en modo RPC o 4DWSDL/DOC para los servicios web
publicados en modo DOC. Siempre est ubicado en la raz del servidor web.
Por ejemplo, si la direccin de su servidor web es http://www.myserver.com, usted podra consultar el WSDL en la
siguiente URL:
http://www.myserver.com/4DWSDL(modo RPC)
http://www.myserver.com/4DWSDL/DOC (modo DOC)
Para aadir o suprimir un mtodo en el WSDL, simplemente seleccione o deseleccione la opcin correspondiente en la
ventana Propiedades del mtodo. 4D actualizar inmediatamente los contenidos WSDL.
Nota: en el Explorador de 4D, un icono especfico identifica los mtodos publicados en el WSDL.
Cuando las solicitudes servicios web estn autorizadas, 4D genera automticamente y dinmicamente el WSDL del
servidor 4D Web si al menos un mtodo tiene seleccionada la opcin Publicado en WSDL en la ventana Propiedades
del mtodo. Por defecto, esta opcin no est seleccionada.

Personalizar el nombre del servicio web

Cada servicio web publicado en Internet tiene un nombre. Este nombre se utiliza para diferenciar los servicios a nivel de
servidor SOAP (cuando el servidor publica varios servicios web), como tambin en los directorios de los servicios web.
Por defecto, 4D utiliza el nombre A_WebService. Este parmetro puede modificarse en la pgina "Web services" del
tema Web de las Propiedades de la base.
Atencin: conforme a la norma XML para nombres de etiquetas, la cadena de caracteres utilizada no debe comenzar
con un nmero ni tener espacios. Adems, para evitar todo riesgo de incompatibilidad, se recomienda no utilizar
caracteres extendidos (tales como los caracteres acentuados).

Personalizar un espacio de nombres

Cada servicio web publicado en Internet debe ser nico. La unicidad de los nombres de servicios web se asegura
utilizando espacios de nombres XML. Un espacio de nombres es una cadena de caracteres arbitraria que permite
- 677 -
identificar de manera nica un conjunto de etiquetas XML. Generalmente, el espacio de nombres comienza con el URL
de la empresa (http://miempresa.com/miespaciodenombre). En este caso, no es indispensable tener algo en particular
en la URL definida; lo que importa es que la cadena de caracteres utilizada sea nica.
Por defecto, 4D utiliza el siguiente namespace: http://www.4d.com/namespace/default. Este parmetro puede
modificarse en la pgina "Web services" del tema Web de las Propiedades de la base.

Aadir comentarios a mtodos publicados

Los comentarios asociados a los mtodos ofrecidos como servicios web y publicados en el WSDL aparecen
automticamente en el archivo como un campo documentacin.
Estos comentarios deben introducirse en la Pgina Mtodos del Explorador (ver la seccin Utilizar los comentarios).
Este mecanismo permite describir o documentar los mtodos publicados. La interpretacin y el manejo de este campo
depende de la implementacin del cliente servicio web.

Acceder a un servicio web publicado por 4D

Una vez su servicio web es publicado por 4D, toda aplicacin cliente que soporte servicios web puede conectarse a l.
El modo de acceso al servidor y el proceso del intercambio de informacin con el servidor servicio web depender de la
aplicacin cliente utilizada para la operacin.
Toda la informacin necesaria para el uso de un servicio web (tal como el URL del servicio, los parmetros a utilizar,
etc.) se publica en el WSDL de 4D. En principio, el uso de un servicio web debera comenzar con la lectura del WSDL
del servidor SOAP con el fin de recuperar esta informacin. En 4D, el URL del WSDL es
http://ServerAddress/4DWSDL (modo RPC) o http://ServerAddress/4DWSDL/DOC (modo DOC).
Sin embargo, este paso no es obligatorio. La conexin al servidor SOAP puede efectuarse directamente.
Esta es una lista de los valores necesarios para establecer solicitudes SOAP, as como su mtodo de definicin:
URL de acceso a un Servicio Web publicado por 4D
http://ServerAddress/4DSOAP/ (modo RPC) o
http://ServerAddress/4DSOAP/DOC (modo DOC)
(no personalizables).
Nombre del Servicio web
Por defecto: A_WebService
Valor personalizable (ver Personalizar el nombre del servicio web).

Nombre del mtodo publicado


Nombre del mtodo de proyecto 4D definido por el desarrollador (ver Crear un mtodo servicio web).
Parmetros del mtodo
Los parmetros deben declararse en el mtodo (definido por el desarrollador).
Nombres SOAP por defecto: FourD_arg0, FourD_arg1... FourD_argn
Nombres personalizables utilizando el comando SOAP DECLARATION.
Espacio de nombres
Por defecto: http://www.4d.com/namespace/default
Valor personalizable (ver Personalizar un espacio de nombres).
Contenido del campo SOAP Action
ServiceName#MethodName (no personalizable).

- 678 -
Suscripcin a un servicio web en 4D

4D le permite suscribirse a servicios web; es decir, llamar servicios web externos desde el interior de sus bases de
datos.
Utilizando los servicios web disponibles en Internet, puede aadir fcilmente numerosas funciones adicionales a sus
bases, tales como informacin del mercado de valores, seguimiento de entrega de paquetes, ejecucin de clculos
complejos, etc. La multitud de servicios web disponibles en Internet puede suplir la mayora de las necesidades.
Igualmente puede suscribirse a los servicios web que usted ha publicado en otras bases y de esta forma permitir que
varias bases de datos se comuniquen entre ellas mismas.

Cmo funciona

Toda base 4D puede suscribirse a un servicio web; simplemente necesita estar conectada a Internet.
Por lo general, para poder llamar un servicio web, debe seguir los siguientes pasos:
1. Encuentre el URL del Servicio Web al cual quiere suscribirse.
Para hacer esto, puede utilizar los sitios web que hacen un inventario de los servicios web publicados en Internet
(por ejemplo www.xmethods.net) o directorios como el UDDI. En la mayora de los casos, debe obtener el URL del
archivo WSDL para el servicio web.
Nota: 4D puede utilizar servicios web publicados en modo RPC o DOC (ver Compatibilidad de RPC, DOC y
tipos Complejos).
2. Utilizando el asistente de servicios web, analice el contenido del WSDL del servicio web a utilizar y genere el
mtodo proxy correspondiente.
El mtodo proxy es el mtodo de proyecto local encargado de interrogar el servicio web y de recuperar los valores
devueltos. Este paso se describe en la seccin a continuacin.
Notas:
Es posible crear mtodos proxy en el asistente de servicios web sin utilizar el archivo WSDL (simplemente
introduzca manualmente los parmetros a utilizar).
Tambin es posible crear mtodos proxy en el editor de mtodos, sin utilizar el asistente de servicios web
(usuarios avanzados).
3. En el cdigo de su base, llame el mtodo proxy cada vez que lo necesite pasndole los parmetros apropiados.
Este paso se describe en Llamar un mtodo proxy.

El mtodo proxy maneja la conexin al servicio web:

Utilizar el asistente de servicios web

La suscripcin a un servicio web desde una aplicacin 4D est a cargo completamente del asistente de servicios web.
Este asistente efecta automticamente:
el anlisis de archivos WSDL de los servicios web a utilizar,
la definicin de los parmetros de los mtodos proxy a crear,
la creacin de los mtodos proxy.

Ventana del asistente

- 679 -
Para abrir la ventana del asistente de servicios web, elija el comando Asistente servicios Web... en el men Diseo
de 4D. Aparece la ventana del asistente:

tNota: tambin es posible mostrar el asistente de servicios web desde el men de opciones de la pgina Mtodos del
Explorador (ver ).
Esta ventana incluye tres reas:
el rea URL: permite introducir o seleccionar el URL del archivo WSDL para el servicio web seleccionado. Esta
rea es un combo box que almacena los valores previamente introducidos en forma de lista desplegable.
el rea central muestra los resultados del anlisis de contenido del archivo WSDL: nombres de los servicios y de
los mtodos publicados.
el rea inferior (Parmetros avanzados, oculta por defecto) muestra los parmetros del mtodo seleccionado en
el rea central.
El botn Descubrir activa el anlisis del archivo WSDL designado y el llenado de las reas de informacin.
El botn Examinar... muestra una caja de dilogo estndar de abrir archivos, permitiendo seleccionar un archivo WSDL
almacenado localmente. Su ruta de acceso, comienza por file://, se muestra en el
rea URL: (es posible introducir manualmente la ruta de acceso en esta rea).
El botn Crear permite generar el mtodo proxy correspondiente al servicio web seleccionado.
El botn Cerrar cierra la caja de dilogo del asistente de servicios web.

Anlisis de un WSDL y creacin del mtodo proxy (modo estndar)


El uso tpico del asistente de servicios web consiste en analizar un archivo WSDL y luego generar el o los mtodo(s)
proxy correspondientes. Esta operacin estndar es totalmente automtica y
no necesita de programacin o de otro conocimiento particular por parte del usuario.
Para analizar un archivo WSDL y generar el mtodo proxy:
1. En el rea URL:, introduzca o pegue el URL del archivo WSDL del servicio web a utilizar:

Este URL puede provenir, por ejemplo, de un directorio de servicios web o haberse comunicado directamente
por el servidor del servicio web.
Igualmente puede especificar un URL local, es decir, la direccin de un archivo WSDL almacenado en su disco
duro. Para hacer esto, haga clic en el botn Examinar... y elija el archivo WSDL local, o introduzca directamente
su ruta de acceso en el rea URL:. La ruta de acceso del archivo local comienza por file:// luego utiliza el
separador de carpetas del sistema. Debe pasar una ruta de acceso absoluta.
2. Haga clic en el botn Descubrir para que 4D analice el contenido del archivo WSDL.
Despus de un momento, el rea central muestra los resultados del anlisis del archivo: el (los) nombre(s) del
servicio(s) web como tambin el (los) mtodo(s) publicado(s) aparecen en forma de lista jerrquica.

- 680 -
Nota: puede mostrar directamente el cdigo fuente XML del archivo WSDL en su navegador web por defecto
manteniendo presionada la tecla Mays al hacer clic en el botn Descubrir.
Al hacer clic en un servicio web se muestra su documentacin (si la hay) al lado derecho de la ventana. De lo
contrario, aparecer la indicacin No documentacin.
De la misma forma, la documentacin (si existe) para cada mtodo aparece cuando selecciona su nombre:

Nota: si el anlisis del archivo WSDL revela la presencia de parmetros de tipo complejo, el asistente muestra
una bandera amarilla junto al mtodo concerniente .
3. Seleccione el mtodo servicio web que quiere utilizar luego haga clic en el botn Crear.
4D genera instantneamente el mtodo proxy correspondiente y lo muestra en una ventana del editor de mtodos:

El nombre del mtodo proxy est definido por la concatenacin del prefijo por defecto proxy_ y el nombre del
mtodo servicio web. El prefijo por defecto puede modificarse en la Pgina Web/Web Services de las
Propiedades de la base. El nombre del mtodo proxy tambin puede modificarse despus de su creacin; esto
no influencia el funcionamiento del mtodo.

Uso de parmetros avanzados


Los mtodos proxy generados por el asistente de servicios web a partir del anlisis de un archivo WSDL son
inmediatamente operacionales y pueden utilizarse tal cual (modo estndar).
Sin embargo, usted puede modificar los parmetros resultantes del anlisis del WSDL. Por ejemplo, es posible
renombrar el mtodo proxy.
Igualmente puede utilizar el asistente de servicios web para crear un mtodo proxy para el cual usted ha introducido
- 681 -
manualmente los parmetros. En este caso, no utilice el analizador WSDL.
No es obligatorio introducir todos los parmetros para poder crear un mtodo. Incluso es posible no introducir ningn
parmetro con el fin de crear una plantilla de mtodo proxy que luego puede llenar utilizando el lenguaje de
programacin de 4D.
En estos modos no estndar, debe utilizar los parmetros avanzados del asistente de servicios web. Para mostrar estos
parmetros, haga clic en el botn ubicado en la parte inferior izquierda de la ventana del asistente. Aparecen los
campos de los parmetros avanzados. Si un mtodo est seleccionado, los campos muestran sus parmetros actuales:

Todos los parmetros son modificables. Note, sin embargo, que la modificacin de los parmetros resultantes del
anlisis WSDL (excepto el nombre del mtodo) debe ser efectuada con precaucin porque el funcionamiento del
servicio web puede afectarse como consecuencia.
Esta es una descripcin de los parmetros avanzados:
Nombre del mtodo: nombre que el asistente dar al mtodo proxy a crear. Por defecto, este nombre est
formado por el prefijo proxy_ (modificable en las Preferencias) seguido del nombre del mtodo seleccionado.
Este nombre puede modificarse libremente (por ejemplo, si ya existe en la base de datos) sin que esto influya en
el funcionamiento del servicio web.
URL de acceso: URL al cual el mtodo proxy enva las solicitudes SOAP.
Accin Soap: contenido del campo SOAPAction. Este campo contiene generalmente el valor
NombreServicio#NombreMetodo.
Espacio de nombres: namespace del servicio web (para mayor informacin, consulte Personalizar un espacio
de nombres).
Parmetros: esta tabla lista los parmetros del mtodo publicado.

Cada lnea de la tabla describe un parmetro:


la primera columna indica si el parmetro es de entrada (in) o de salida (out). Esta caracterstica es
evaluada desde el punto de vista del mtodo proxy y no del mtodo publicado.
la segunda columna indica el nombre del parmetro.
la tercera columna indica el tipo de SOAP del parmetro. Los diferentes tipos de SOAP aceptados por 4D
pueden ser visualizados en el men Tipo ubicado en el rea Propiedades. El Asistente de servicios web
ser el responsable de asociar los tipos SOAP con los tipos 4D correspondientes en el mtodo proxy.
La siguiente tabla describe los tipos de valores SOAP aceptados y los tipos 4D correspondientes:

- 682 -
Tipo SOAP Tipo 4D correspondiente
boolean Booleano
int Entero largo
time Hora
float Real
double Real
date Fecha
string Texto
base64Binary BLOB
ArrayOfBoolean Array booleano
ArrayOfInt Array entero largo
ArrayOfTime Array entero largo
ArrayOfFloat Array real
ArrayOfDate Array fecha
ArrayOfString Array texto
AsXML BLOB

Nota: El tipo AsXML no es un tipo SOAP, estrictamente hablando, pero se utiliza para soportar tipos XML
complejos (ver [#title id="1221" anchor="503589"/]).
El rea Propiedades muestra las caractersticas del parmetro seleccionado en la tabla. El asistente de
servicios web le permite modificar los parmetros existentes o aadir parmetros, por ejemplo si el archivo
WSDL no est actualizado.
Para modificar un parmetro, seleccinelo y luego efecte las modificaciones en el rea Propiedades.
Para aadir un parmetro, haga clic en el botn Aadir luego defina sus caractersticas en el rea
Propiedades.
Para borrar un parmetro, seleccinelo en la lista y luego haga clic en el botn Suprimir.
Nota: las modificaciones efectuadas en los parmetros avanzados slo se tendrn en cuenta si un mtodo
proxy es efectivamente creado con la ayuda del botn Create

Llamar un mtodo proxy

Para llamar un mtodo proxy en su cdigo, simplemente escriba su nombre y pase los parmetros requeridos. Estos
parmetros se declaran en el rea de encabezado del mtodo proxy por el Asistente de servicios web. Conforme a la
sintaxis estndar para pasar parmetros entre mtodos en 4D, son llamados $0, $1, $2... Pueden visualizarse en los
parmetros avanzados de la descripcin del mtodo publicado (ver Uso de parmetros avanzados) y a veces se
describen en su documentacin.
Por ejemplo, en el caso de un mtodo llamado WS_EuroConverter, el mtodo proxy puede llamarse de esta forma:

Despus de la ejecucin del mtodo, aparece la siguiente alerta:

Procesamiento de tipos complejos

4D le permite utilizar servicios web publicados en modo RPC o DOC, incluyendo tipos complejos (ver Compatibilidad
de RPC, DOC y tipos Complejos).
Nota: a pesar del hecho de ser tipos XML complejos, los arrays de datos son manejados por 4D como tipos simples.
- 683 -
Los mtodos proxy generados por el asistente de servicios web que incluyen tipos complejos (es decir, publicados en
modo RPC con tipos complejos o en modo DOC) son similares a los mtodos proxy estndar. Sin embargo, notar que
en ciertos casos con estos servicios web, el comando WEB SERVICE CALL incluye, como un parmetro, una
constante que contiene la palabra manual.
De hecho, el uso de tales servicios web requiere un proceso adicional. La principal razn es que los tipos complejos son
intercambiados en forma de documentos o elementos XML. Esto significa que para extraer o incluir informacin en
estos parmetros SOAP, es necesario un anlisis XML previo, mientras en el caso de los tipos simples, los valores de
los parmetros se pueden leer directamente.

Uso de tipos simples (RPC)

Uso de tipos compuestos (DOC)

Slo las tablas y los datos de tipo complejo en un nivel (un solo nivel jerrquico en la solicitud SOAP) son totalmente
soportados por el asistente de servicios web. Si se encuentran elementos ms complejos en la solicitud, el asistente lo
indicar con una bandera desplegada junto al nombre del mtodo. El soporte de este tipo de servicio web generalmente
requiere de procesos personalizados por parte del desarrollador.
En 4D, los parmetros de tipo complejo (excepto tablas) son manejados en forma de BLOBs. Los comandos XML de
4D permiten tratar el contenido de estos BLOBs. Para mayor informacin, consulte los temasServicios Web (Cliente) y
XML DOM del manual de Lenguaje 4D.

- 684 -
Backup y restauracin de la aplicacin

Introduccin
Backup de la base
Parmetros de backup programados
Configurar los archivos de backup
Configurar los parmetros de backup
Estrategia de backup automtico
Gestin del archivo de historial
Restauracin de bases
Configuracin y archivos de seguimiento

- 685 -
Introduccin

4D incluye un mdulo completo de backup de bases de datos y de restauracin.


Este mdulo permite hacer back up de una base en uso sin tener que salir de la aplicacin. Cada backup puede incluir
el archivo de estructura, el archivo de datos y todo archivo o carpeta adicional. Estos parmetros son definidos primero
en las Preferencias de la aplicacin.
Los backups se pueden iniciar manualmente o automticamente a intervalos regulares y sin intervencin del usuario.
Los comandos de lenguaje especficos, as como los mtodos de base de datos especficos, permiten integrar las
funciones de backup a una interfaz personalizada.
Las bases de datos pueden restaurarse automticamente cuando se abre una base de datos daada.
Igualmente, el mdulo de backup integrado puede aprovechar el archivo de historial. Este archivo conserva un registro
de todas las operaciones realizadas con los datos y tambin asegura seguridad total entre los dos backups. En caso de
problemas con una base de datos en uso, las operaciones faltantes en el archivo de datos, se reintegran
automticamente la prxima vez que se abra la base. Puede visualizar el contenido del archivo de historial en cualquier
momento.
El mdulo de backup integrado le permite:
iniciar en cualquier momento un backup completo de archivos de la base (estructura, datos, historial, archivos
asociados, etc.),
establecer backups automticos a intervalos regulares, base hora, da, semana o mes,
definir parmetros avanzados para los backups (nmero de conjuntos, compresin de archivos, opciones para
iniciar despus de una restauracin, etc.),
restaurar automticamente una base de datos y sus archivos adjuntos en caso de un incidente,
integrar automticamente en una base restaurada las operaciones faltantes guardadas en el archivo historial,
revertir operaciones efectuadas en los datos de la base.
Nota: tambin puede implementar soluciones alternativas de replicacin y de sincronizacin de datos para mantener
versiones idnticas de las bases con fines de backup. Estas soluciones pueden basarse en los siguientes mecanismos
y tecnologas:
Establecer un espejo lgico con 4D Server (utilizando los mecanismos del mdulo de backup integrado): ver
Configurar un espejo lgico en el manual 4D Server - Referencia.
Sincronizacin utilizando SQL: ver Replicacin va SQL en el manual 4D - Referencia SQL.
Sincronizacin utilizando HTTP: ver en el manual Lenguaje de 4D.

- 686 -
Backup de la base

Se puede iniciar un backup de tres formas:


manualmente, utilizando el comando Backup... del men Archivo de 4D o el botn Backup del Centro de
seguridad y mantenimiento (MSC).
automticamente, utilizando el programador que puede definirse en las Propiedades de la base,
por programacin, utilizando el comando BACKUP.
La eleccin depende del uso de la base de datos y su estrategia de backup.
Nota para 4D Server: un backup puede iniciarse manualmente desde una mquina remota utilizando un mtodo que
llame al comando BACKUP. El comando se ejecutar, en todos los casos, en el servidor.
Para efectuar un backup manual:
1. Seleccione el comando Copia de seguridad... en el men Archivo 4D.
Aparece la ventana de backup:

Puede ver la ubicacin de la carpeta backup utilizando el men pop-up asociado al rea "Destino del backup".
Esta ubicacin se define en la pgina Pgina Backup/Configuracin de las Propiedades de la base.
O
Seleccione Centro de seguridad y mantenimiento en el men Ayuda de 4D y se muestra la Pgina Backup.
Para mayor informacin sobre el CSM, consulte el captulo Centro de seguridad y mantenimiento.
El botn Propiedades de la base provoca la visualizacin de la caja de dilogo de las Propiedades de la base
(Pgina Backup/Configuracin).
2. Haga clic en el botn Backup para iniciar el backup utilizando los parmetros actuales.

Para realizar un backup automtico peridico:


1. En la pgina Pgina Backup/Periodicidad de las Propiedades de la base, defina la frecuencia del backup.
Los backups se realizan automticamente en los momentos definidos en esta pgina sin intervencin del usuario.
Para mayor informacin sobre el uso de esta caja de dilogo, consulte Parmetros de backup programados.
Para realizar un backup programado utilizando el lenguaje 4D:
1. Ejecute el comando BACKUP en un mtodo.
El backup se inicia utilizando los parmetros actuales. Puede utilizar los mtodos base Mtodo de base de
datos On Backup Startup y Mtodo de base de datos On Backup Shutdown para controlar el proceso de
backup (ver el manual de Lenguaje 4D).

Ejecucin de un backup

Una vez se inicia el backup, 4D muestra una caja de dilogo con un termmetro que indica el progreso del backup:

- 687 -
Este termmetro tambin se muestra en la pgina Backup del CSM si utiliz esta caja de dilogo.
El botn Parar le permite al usuario interrumpir el backup en cualquier momento (consulte En caso de problemas
durante el backup).
El resultado del ltimo backup (exitoso o fallido) se guarda en el rea Informaciones del ltimo backup de la Pgina
Backup en el CSM o en la pgina Pgina Mantenimiento de 4D Server. Tambin se registra en el Diario de backup
de la base.

Acceso a la base durante el backup


Durante un backup, el acceso a la base es restringido por 4D de acuerdo al contexto. 4D bloquea los procesos
relacionados a los tipos de archivos incluidos en el backup: si slo se hace backup del archivo de estructura, no es
posible el acceso a la estructura pero se permite el acceso a los datos.
Por el contrario, si slo se hace backup del archivo de datos, permite el acceso a la estructura. En este caso, las
posibilidades de acceso a la base son las siguientes:
Con la versin monopuesto 4D, la base se bloquea para lectura y escritura; todos los procesos quedan
congelados. No es posible realizar ninguna accin.
Con 4D Server, la base de datos se bloquea slo para escritura; las mquinas cliente pueden ver los datos. Si una
mquina cliente enva una solicitud de aadir, eliminar o cambiar al servidor, aparece una ventana pidindole al
usuario que espere hasta que termine el backup.
Una vez se guarda la base, la ventana desaparece y la accin se efecta. Para cancelar la solicitud en proceso y
no esperar a que termine el backup, simplemente haga clic en el botn Cancelar la operacin.
Sin embargo, si la accin que est esperando para ser ejecutada proviene de un mtodo lanzado antes del
backup, no debe cancelarla porque slo las operaciones a ejecutar sern canceladas. Igualmente, un mtodo
ejecutado parcialmente puede producir inconsistencias lgicas en la base.
Nota: cuando la accin que espera para ser ejecutada proviene de un mtodo y el usuario hace clic en el botn
Cancelar la operacin, 4D Server devuelve el error -9976 (Este comando no puede ejecutarse porque se est
llevando a cabo el backup de la base de datos).

En caso de problemas durante el backup


Es posible que un backup no se ejecute correctamente. Las causas pueden ser muchas: interrupcin del usuario,
archivo adjunto no encontrado, problemas con el disco de destino, transaccin incompleta, etc. 4D trata el incidente de
acuerdo con la causa.
En todos los casos, el estado del ltimo backup (exitoso o fallido) se guarda en el rea "Informacin sobre el ltimo
backup" en la Pgina Backup del CSM o en la Pgina Mantenimiento de 4D Server, as como en el Diario de
backup de la base.
Interrupcin del usuario: el botn Parar en la caja de dilogo de progreso del backup, permite a los usuarios
interrumpir el backup en cualquier momento. En este caso, la copia de los elementos se detiene y se genera un
error. Puede interceptar este error en el mtodo de base Mtodo de base de datos On Backup Shutdown.
Archivo adjunto no encontrado: cuando no se encuentra un archivo adjunto, 4D realiza un backup parcial
(backup de los archivos de la base y de los archivos adjuntos accesibles) y devuelve un error.
Backup imposible (el disco est lleno o protegido contra escritura, disco faltante, falla de disco, transaccin
incompleta, base no lanzada en el momento del backup automtico programado, etc.):
Si este error se presenta por primera vez, 4D har un segundo intento por realizar el backup. El tiempo de
espera entre los dos intentos se define en la Backup/Backup y restauracin de las Propiedades de la
base.
Si el segundo intento falla, aparece una caja de dilogo de alerta del sistema y se genera un error. Puede
interceptar este error en el mtodo de base Mtodo de base de datos On Backup Shutdown.

- 688 -
Parmetros de backup programados

Puede automatizar los backups de las bases abiertas con 4D o 4D Server (incluso cuando no hay mquinas cliente
conectadas). El principio consiste en definir una frecuencia de backup (en horas, das, semanas o meses); para cada
sesin, 4D inicia automticamente un backup utilizando los parmetros de backup actuales.
Si la aplicacin no fue lanzada en el momento terico del backup, la prxima vez que se lance 4D, se considera que el
backup ha fallado y se aplica la configuracin apropiada, definida en las Propiedades de la base (consulte En caso de
problemas durante el backup).
Los parmetros de backups programados se definen en la Pgina Backup/Periodicidad de las Propiedades de la
base:

Las opciones que se encuentran en esta pestaa le permiten definir y configurar los backups peridicos automticos de
la base. Puede elegir un parmetro estndar rpido o personalizar completamente la periodicidad.
Aparecen diferentes opciones en funcin del valor definido en el men Backup automtico:

Nunca: la funcin de backup programado est inactiva.


Cada hora: programa un backup automtico cada hora, a partir del a prxima hora.
Cada da: programa un backup automtico cada da. Puede indicar la hora cuando el backup debe comenzar.
Cada semana: programa un backup automtico cada semana. Dos reas de entrada adicionales le permiten
indicar el da y la hora cuando debe comenzar el backup.
Cada mes: programa un backup automtico cada mes. Dos reas de entrada adicionales le permiten indicar el
da del mes y la hora cuando debe comenzar el backup.
Personalizado: permite configurar backups automticos "a la medida". Cuando selecciona esta opcin,
aparecen varias reas de entrada adicionales:
Cada X hora(s): permite programar los backups sobre una base horaria. Puede introducir un valor entre 1 y
24.
Cada X da(s) a las x: permite programar backups con una base horaria. Introduzca 1 si quiere efectuar un
backup diario. Cuando seleccione esta opcin, debe indicar la hora a la que debe iniciar el backup.
Cada X semana(s) da a las x: esta opcin permite programar los backups con base semanal. Introduzca 1
si quiere efectuar un backup por semana. Cuando seleccione esta opcin, debe indicar el da (s) de la
semana y la hora a la que debe comenzar el backup. Puede seleccionar varios das de la semana. Por
ejemplo, puede utilizar esta opcin para definir dos backups semanales: uno el mircoles y otro el viernes.
Cada X meses, X da a las x: esta opcin permite programar backups con base mensual. Introduzca 1 si
quiere efectuar un backup mensual. Cuando seleccione esta opcin, debe indicar el da del mes y la hora a
la que debe comenzar el backup.

- 689 -
Configurar los archivos de backup

La Pgina Backup/Configuracin de las Propiedades de la base permite definir los archivos a los cuales hacer
backup, as como tambin la ubicacin de los archivos de backup y el archivo de historial. Estos parmetros son
especficos para cada base de datos abierta por la aplicacin 4D.

Nota para 4D Server: estos parmetros pueden definirse desde el equipo 4D Server nicamente.

Contenido

Esta rea le permite definir cuales archivos y/o carpetas copiar durante la siguiente copia de seguridad.
Archivo de datos: archivo de datos de la base. Cuando esta opcin est seleccionada, el archivo de historial
actual de la base, si existe, se incluye en la copia de seguridad al mismo tiempo que los datos.
Archivo de estructura: archivo de estructura de la base. En casos de bases compiladas y fusionadas con 4D
Volume Desktop, esta opcin permite guardar el archivo .exe bajo Windows y el paquete bajo Mac OS.
Archivo de estructura usuario (opcional): archivo de estructura de usuario de la base, contiene los formularios
de usuario personalizados (donde aplica). Para mayor informacin, consulte el captulo Formularios de usuario.
Archivos adjuntos: esta rea permite especificar un conjunto de archivos y/o carpetas, a incluir en la copia de
seguridad al mismo tiempo que la base de datos. Estos archivos pueden ser de cualquier tipo (documentos o
plantillas plug-in, etiquetas, reportes, imgenes, etc.).
Puede definir archivos individuales o carpetas cuyo contenido har parte de la copia de seguridad. Cada
elemento adjunto aparece con su ruta de acceso completa en el rea Archivos adjuntos.
Borrar: borra el archivo seleccionado de la lista de archivos adjuntos.
Aadir carpeta...: muestra una caja de dilogo que le permite seleccionar un archivo, para adjuntarlo al
- 690 -
backup. En caso de una restauracin, la carpeta se recuperar con su estructura interna. Puede seleccionar
toda carpeta o volumen conectado a la mquina, con excepcin de la carpeta que contiene los archivos del
la base.
Aadir archivo...: muestra una caja de dilogo que le permite seleccionar un archivo para aadir al backup.
Para mayor informacin sobre los archivos de bases 4D, consulte Descripcin de los archivos de 4D.

Ubicacin de las copias de seguridad

Esta rea permite ver y cambiar la ubicacin en la cual se almacenarn los archivos de backup as como los archivos de
backup del archivo de historial (si aplica).
Para ver la ubicacin de los archivos, haga clic en el rea con el fin de mostrar su ruta de acceso como men pop-up.
Para cambiar la ubicacin donde se guardan estos archivos, haga clic en el botn [...]. Aparece una caja de dilogo de
seleccin de carpetas, la cual permite seleccionar una carpeta o disco donde se ubicarn los backups. Las reas
Espacio utilizado y Espacio disponible se actualizan automticamente e indican el espacio de disco disponible en el
disco de la carpeta seleccionada.

Gestin del archivo de historial

La opcin Utilizar el archivo de historial, cuando est seleccionada, indica que la base utiliza un archivo historial. Su
ruta de acceso se encuentra debajo de esta opcin. Cuando esta opcin est
seleccionada, no es posible abrir la base de datos sin el archivo historial.
Por defecto, toda base creada con 4D utiliza un archivo de historial: la creacin de este archivo es parte de la estrategia
de backup automtico (consulte Estrategia de backup automtico). El archivo de historial se llama
NombreArchivoDatos.journal y se ubica en la carpeta que contenga la estructura de la base.
La activacin de un nuevo archivo de historial requiere que los datos de la base sean guardados antes en una copia de
seguridad. Cuando seleccione y valide esta opcin, aparecer una caja de dilogo de alerta para informarle que es
necesario realizar un backup:

Si hace clic en Aceptar, el backup comienza inmediatamente despus que el archivo de historial es activado. Si hace
clic en Cancelar, la solicitud se guarda pero la creacin del archivo de registro se posterga y se crear slo despus
del siguiente backup de la base de datos.

- 691 -
Configurar los parmetros de backup

La modificacin de las opciones de backup es opcional. Sus valores por defecto corresponden a un uso estndar de la
funcin de backup.
Las opciones de backup se definen en la Backup/Backup y restauracin de las Propiedades de la base:

Parmetros generales

Esta rea establece diferentes mecanismos a tener en cuenta durante los backups.
Conservar nicamente las ltimas X copias de seguridad: este parmetro permite activar y configurar el
mecanismo utilizado para borrar los archivos de backup ms antiguos, lo cual evita el riesgo de saturacin del
disco duro.
Esta caracterstica funciona as: una vez termina el backup actual, 4D borra el archivo ms antiguo si se encuentra
en la misma ubicacin del archivo al que se le hace backup y tiene el mismo nombre (puede pedir que el archivo
ms antiguo se borre antes del backup para ahorrar espacio).
Si, por ejemplo, el nmero de conjuntos se fija en 3, los primeros tres backups crean los archivos MiBase-0001,
MiBase-0002, y MiBase-0003 respectivamente. Durante el cuarto backup, se crea el archivo MiBase-0004 y se
borra MiBase-0001. Por defecto, el mecanismo para borrar juegos est activado y 4D conserva 3 conjuntos de
backups.
Para desactivar el mecanismo, simplemente deseleccione la opcin.
Nota: este parmetro se refiere a los conjuntos de backup de la base y a los del archivo de historial.
Efectuar un backup slo si el archivo de datos ha sido modificado: cuando esta opcin est seleccionada,
4D inicia los backups programados slo si se han aadido, cambiado o eliminado datos en la base desde el
ltimo backup. De lo contrario, el backup programado se cancela y pospone hasta el prximo backup
- 692 -
programado. No se genera error; sin embargo el diario de backup registra que el backup ha sido pospuesto.
Esta opcin tambin permite ahorrar tiempos de mquina en el backup de las bases principales utilizadas en
consultas. Note que la activacin de esta opcin no tienen en cuenta las posibles modificaciones realizadas al
archivo de estructura o a los archivos adjuntos.
Nota: este parmetro se refiere a los backups de la base y del historial.
Borrar el backup ms antiguo antes/despus del backup: esta opcin slo se utiliza si la opcin Conservar
nicamente las X ltimas copias de seguridad est seleccionada. Esto le permite especificar si 4D debe
comenzar por borrar el archivo ms antiguo antes de efectuar el backup (opcin antes) o si la eliminacin debe
ocurrir una vez se haya efectuado el backup (opcin despus). Para que este mecanismo funcione, el archivo ms
antiguo no debe haber sido renombrado o desplazado.
Si el backup falla: esta opcin permite definir el mecanismo utilizado para manejar backups fallidos (backup
imposible). Cuando no se puede realizar un backup, 4D permite hacer un nuevo
intento.
Nota: 4D considera un backup como fallido si la base no se lanza en el momento en que el backup automtico fue
programado.
Reintentar en la prxima fecha y hora programada: esta opcin slo tiene sentido cuando se trabaja con
backups automticos programados. Cancela el backup fallido y se genera un error.
Reintentar de nuevo dentro de X segundos, minutos u horas: cuando esta opcin est seleccionada,
se hace un nuevo intento de backup despus del periodo de espera. Este mecanismo permite anticipar
ciertas circunstancias que bloquean el backup. Puede definir un periodo de espera en horas, minutos o
segundos utilizando el men correspondiente. Si el nuevo intento tambin falla, se genera un error y la falla
se anota en el rea estado del ltimo backup y en el archivo de diario de backups.
Cancelar la operacin tras X intentos: este parmetro permite definir el mximo nmero de intentos de
backup fallidos.
Si el backup no se ha efectuado con xito despus de alcanzar el nmero mximo de intentos definido, se
cancela y se genera el error 1401 (El mximo nmero de intentos de backup se ha alcanzado; el backup
automtico est desactivado temporalmente). En este caso, no se intentar realizar un nuevo backup
automtico mientras la aplicacin no se reinicie, o se lleve a cabo con xito un backup manual.
Este parmetro es til para evitar un caso de un problema extendido (que necesita de intervencin humana)
que evita que se realice el backup y haga que la aplicacin intente repetidamente el backup en detrimento
de su rendimiento general. Por defecto, este parmetro no est seleccionado.

Archivo

Esta rea permite definir las opciones de generacin de los archivos. Estas opciones aplican a los archivos de backup
principales y a los archivos de backup del historial.
Tamao del segmento (Mb)
4D le permite segmentar archivos, es decir cortar un archivo en tamaos ms pequeos. Esto le permite, por
ejemplo, almacenar un backup en diferentes discos (CDs, ZIPs, etc.). Durante un proceso de restauracin, 4D
fusionar automticamente los segmentos. Cada segmento se llama MiBase[xxxx-yyyy].4BK, donde xxxx es el
nmero de backup y yyyy es el nmero de segmento. Por ejemplo, los tres segmentos del sexto backup de la base
MiBase se llamarn MiBase[0006-0001].4BK, MiBase[0006-0002].4BK y MiBase[0006-0003].4BK.
El men Tamao de segmento es un combo box que permite definir el tamao en MB de cada segmento del
backup. Puede elegir uno de los tamaos predefinidos o introducir un tamao especfico entre 0 y 2048. Si pone 0,
no hay segmentacin (este es el equivalente de poner Ninguno).
Factor de compresin
Por defecto, 4D comprime los backups para ahorrar espacio de disco. Sin embargo, la fase de compresin de
archivos puede volver muy lentos los backups cuando se manejan grandes volmenes de datos.
La opcin Factor de compresin le permite ajustar la compresin:
Ninguno: no se aplica ningn factor de compresin. El backup es ms rpido pero los ficheros son
considerablemente ms grandes.
Rpido (por defecto): esta opcin es constituye un compromiso entre velocidad del backup y tamao del
archivo.
Compacto: el factor de compresin mximo se aplica a los archivos.
Los archivos toman el mnimo espacio posible en el disco, pero el backup es mucho ms lento.
Factor de entrelazamiento y Factor de redundancia
4D genera archivos utilizando algoritmos especficos basados en mecanismos de optimizacin (entrelazamiento)
y seguridad (redundancia). Puede establecer estos mecanismos de acuerdo a sus necesidades. Los mens para
estas opciones tambin contienen los factores Bajo, Alto y Ninguno (por defecto).
Factor de entrelazamiento: el entrelazamiento consiste en guardar datos en sectores no contiguos para
limitar los riesgos en caso de dao de los sectores. Entre ms alto el factor, en contraparte el procesamiento
de los datos consume ms memoria.
Factor de redundancia: la redundancia permite asegurar los datos presentes en un archivo al repetir la
misma informacin varias veces. Entre ms alto sea el factor de redundancia, mejor es la seguridad del
archivo; sin embargo, el almacenamiento es lento y el tamao del archivo mayor.
- 693 -
Restauracin Automtica

Estas opciones se utilizan para configurar los mecanismos automticos a tener en cuenta durante la apertura de una
base de datos daada.
Restaurar el ltimo backup si la base de datos est daada: cuando esta opcin est marcada, el programa
inicia automticamente la restauracin del archivo de datos del ltimo backup vlido de la base, si detecta alguna
anomala (por ejemplo un archivo corrupto) durante el lanzamiento de la base. No es necesaria ninguna
intervencin por parte del usuario; la operacin se registra en el diario del backup.
Nota: en el caso de una restauracin automtica, slo se restituye el archivo de datos. Si quiere recuperar los
archivos adjuntos o el archivo de estructura, debe realizar una restauracin manual.
Integrar el ltimo historial si la base est incompleta: cuando esta opcin est seleccionada, el programa
integra automticamente el historial durante la apertura o restauracin de una
base.
Cuando abre una base, el historial actual se integra automticamente si 4D detecta que las operaciones
guardadas en el historial no estn presentes en los datos. Esta situacin se presenta, por ejemplo, cuando
ocurre un corte de energa entonces las operaciones en la cach de datos no se escriben en el disco.
Cuando se restaura una base, si el archivo de historial actual o archivo de backup de historial tienen el
mismo nmero que el archivo de backup guardado en la misma carpeta, 4D examina su contenido. Si
contiene operaciones no presentes en el archivo de datos, lo integra automticamente.
No se le muestra ninguna caja de dilogo al usuario; la operacin es completamente automtica. La meta es hacer que
el uso sea lo ms fcil posible. La operacin se registra en el diario de backup.

- 694 -
Estrategia de backup automtico

4D ofrece una estrategia de backup por defecto en el momento de la creacin de una base de datos. Esta estrategia
introduce un conjunto de parmetros de backup que aseguran una seguridad mnima de la base.
Puede cambiar estos parmetros despus de la creacin de la base.
La estrategia de backup est activa por defecto cuando se crea una nueva base de datos. Para desactivarla,
simplemente deseleccione la opcin Activar la estrategia de backup automtico para cada nueva base de datos
en la Pgina General de las Preferencias del usuario.
La estrategia de backup automtico incluye los siguientes parmetros:
Backup automtico cada domingo a las 00:00:00 horas.
Backup de todos los archivos de la base (datos, historial, estructura y estructura usuario) junto al archivo de
estructura de la base.
Creacin y activacin de un archivo de historial (llamado NombreArchivoDatos.journal).
Conservacin de los 3 ltimos backups, archivo estndar, etc.
Integracin automtica del ltimo historial al abrir si la base est incompleta.
Claro est, que tambin es posible cambiar estos parmetros despus de la creacin de la base.

- 695 -
Gestin del archivo de historial

Una base explotada continuamente siempre est registrando cambios, y adiciones o eliminaciones de registros.
Realizar backups regulares de los datos es importante pero no permite (en caso de un incidente) recuperar los datos
introducidos desde el ltimo backup. Para responder a esta necesidad, 4D ahora ofrece una herramienta especfica: el
archivo de historial. Este archivo permite asegurar la seguridad permanente de los datos de la base.
Adicionalmente, 4D trabaja continuamente con una cach de datos en memoria. Todo cambio efectuado en los datos
de la base se guarda temporalmente en la cach antes de escribirse en el disco duro. Esto acelera el funcionamiento de
las aplicaciones; de hecho, acceder a la memoria es ms rpido que acceder al disco duro. Si ocurre un incidente en la
base antes de que los datos almacenados en la cach puedan escribirse en el disco, debe incluir el archivo de historial
actual con el fin de restaurar completamente la base.
4D tiene funciones que analizan el contenido del archivo de historial, haciendo posible deshacer las operaciones
realizadas con los datos de la base. Estas funciones son accesibles en el CSM: consulte las secciones Pgina
Anlisis de actividad y Pgina Retroceder.

Funcionamiento del archivo de historial

El archivo de historial generado por 4D contiene todas las operaciones realizadas en los datos de las tablas con
historial de la base, las cuales se registran secuencialmente. Por defecto, todas las tablas se guardan en el historial, es
decir, se incluyen en el archivo de historial, pero se puede deseleccionar tablas individuales utilizando la propiedad
Incluir en el archivo de historial.

De esta forma, cada operacin efectuada por un usuario causa dos acciones simultneas: la primera en la base (la
instruccin se ejecuta normalmente) y la segunda en el archivo de historial (la descripcin de la operacin se registra).
El archivo de historial se crea de manera independiente sin afectar o hacer ms lento el trabajo del usuario. Una base
slo puede trabajar con un archivo de historial al tiempo. El archivo de historial registra los siguientes tipos de
operaciones:
apertura y cierre del archivo de datos,
apertura y cierre de procesos (contextos),
adicin de registros o BLOBs,
modificaciones de registros,
eliminacin de registros,
creaciones y cierre de transacciones.
Para mayor informacin sobre estas acciones, consulte Pgina Anlisis de actividad.
El archivo de historial es administrado por 4D, teniendo en cuenta por igual todas las operaciones que afectan el archivo
de datos, sin importar las manipulaciones efectuadas por un usuario, los mtodos 4D, el motor SQL, los plug-ins 4D(4D
Write, 4D View, etc.), un navegador web.
El siguiente esquema resume el principio general de funcionamiento del archivo de historial:

- 696 -
El archivo de historial actual se guarda automticamente con el archivo de datos actual. Este mecanismo tiene dos
ventajas principales:
evitar la saturacin del disco donde se guarda el archivo de historial. Sin un backup, el archivo de historial utilizara
eventualmente todo el espacio de disco disponible. Para cada backup de archivo de datos, 4D o 4D Server cierra
el archivo de historial actual e inicia inmediatamente un nuevo archivo vaco, evitando el riesgo de saturacin. El
archivo de historial antiguo se archiva y eventualmente se destruye conforme al mecanismo para manejar los
conjuntos de backups.
Conservar los archivos de historial correspondientes a los backups con el fin de poder analizar o reparar ms
adelante una base. La integracin de un archivo de historial slo se puede realizar en la base que le corresponda.
Es importante, para poder integrar correctamente un archivo de historial en un backup, tener archivos de backups
y de historial archivados simultneamente.

Crear el archivo de historial

Por defecto, toda base creada con 4D utiliza un archivo de historial: la creacin de este archivo es parte de la estrategia
de backup automtico (consulte Estrategia de backup automtico). El archivo de historial se llama
NombreArchivoDatos.journal y se ubica en la carpeta que contenga la estructura de la base.
En cualquier momento puede saber si su base utiliza un archivo de historial: simplemente verifique si la opcin Utilizar
el historial est seleccionada en la Pgina Backup/Configuracin de las Propiedades de la base (ver Gestin del
archivo de historial). Si deselecciona esta opcin o si utiliza una base sin archivo de historial y quiere establecer una
estrategia de backup con un archivo de historial, tendr que crear uno.
Para crear un archivo de historial:
1. En la Pgina Backup/Configuracin de las Propiedades de la base, marque la opcin Utilizar el historial.
El programa muestra una caja de dilogo estndar de creacin de archivos. Por defecto el archivo de historial se
llama NombreArchivoDatos.journal.
2. Conserve el nombre del archivo por defecto o elija otro nombre y seleccione la ubicacin del archivo.
Si dispone de al menos dos discos duros, es recomendable ubicar el archivo de historial en un disco diferente del
que contiene la base. En caso de que se pierda el disco de duro de la base, an podr llamar a su archivo de
historial.
3. Haga clic en Guardar.
El disco y el nombre del archivo de historial abierto aparecen en el rea Utilizar el historial de la caja de dilogo.
Puede hacer clic en esta rea para mostrar un men pop-up que contenga las series de carpetas en el disco.
4. Valide la caja de dilogo Preferencias.
Nota: A partir de 4D v14, los nuevos mecanismos internos de generacin y uso del archivo de historial se implementan
con el fin de que este archivo sea ms robusto. La utilizacin de un archivo de historial necesita que todas las tablas con
historial tengan una llave primaria. Si este no es el caso (en una base convertida, por ejemplo), una caja de dilogo de
advertencia indica que no es posible activar el archivo de historial, siempre y cuando las llaves primarias no se hayan

- 697 -
definido correctamente para todas las tablas con historial. Con el fin de hacer que su aplicacin sea compatible, puede
usar el Definir la estructura de la base de datos. Este asistente verifica el estado de cada tabla y le permite definir
una llave primaria.
Para crear un archivo de historial directamente, la base de datos debe estar en una de las siguientes situaciones
(excepto por cumplir con temas relacionados con llaves primarias, ver arriba):
el archivo de datos vaco,
acaba de efectuar un backup de la base y todava no se ha hecho ninguna modificacin a los datos.
En todos los otros casos, cuando valide la caja de dilogo Preferencias, aparecer una caja de dilogo de alerta para
informarle que es necesario realizar un backup. Si hace clic en Aceptar, el backup inicia inmediatamente luego se
activa el archivo de historial. Si hace clic en Cancelar, la solicitud se guarda pero la creacin del archivo de historial se
pospone y se crear slo despus del prximo backup de la base. Esta precaucin es indispensable porque para
restaurar una base despus de algn incidente, necesitar una copia de la base en la cual se integren las operaciones
grabadas en el archivo de historial.
Sin hacer nada ms, todas las operaciones efectuadas en los datos se registran en este archivo y se utilizarn
posteriormente cuando se abra la base.
Debe crear otro archivo de historial si crea un nuevo archivo de datos. Debe definir o crear otro archivo de historial si
abre otro archivo de datos que no est asociado a un archivo de historial (o si no est el archivo de historial).

Cerrar el historial

Si quiere interrumpir el registro del archivo de historial actual, deseleccione la opcin Utilizar historial en la pgina
Pgina Backup/Configuracin de las Propiedades de la base.
4D muestra un mensaje de alerta con el fin de recordarle que esta accin evita que aproveche la seguridad que ofrece
el archivo de historial:

Si hace clic en el botn Cerrar, se cierra de inmediato el archivo de historial actual (no es necesario validar despus la
caja de dilogo de las Propiedades).
Si quiere cerrar el archivo de historial actual porque es demasiado grande, debe efectuar un backup del archivo de
datos, lo que producir un backup del historial.
Notas para 4D Server:
El comando New log file cierra automticamente el historial actual e inicia uno nuevo.

Si por alguna razn el archivo de historial se vuelve inaccesible durante una sesin de trabajo, se genera el error
1274 y 4D Server no permite a los usuarios escribir o modificar los datos. Cuando el archivo de historial sea
accesible de nuevo, es necesario hacer un backup.

- 698 -
Restauracin de bases

4D le permite recuperar la integridad de los datos de una base en caso de incidentes, sin importar las causas del
incidente. Se pueden producir dos categoras principales de incidentes:
La detencin no planeada de una base mientras est en uso.
Este incidente puede ocurrir por un corte de energa, falla de un elemento del sistema, etc. En este caso,
dependiendo del estado actual de la cach de datos en el momento del incidente, la restauracin de la base
puede necesitar de diferentes operaciones:
Si la cach estaba vaca, la base se abre normalmente. Todas las modificaciones realizadas en la base se
graban. Este caso no necesita de ninguna operacin en particular.
Si la cach contiene operaciones, el archivo de datos est intacto pero necesita integrar el archivo de
historial actual.
Si la cach estaba en proceso de escritura, el archivo de datos probablemente est daado. Se debe
restaurar el ltimo backup e integrar el archivo de historial actual.
La prdida de uno o varios archivos de la base.
Este incidente puede ocurrir por sectores defectuosos en el disco que contiene la base, un virus, un error de
manipulacin, etc. Es necesario restaurar el ltimo backup y luego integrar el archivo de historial actual. Para
saber si una base est daada despus de un incidente, simplemente lncela nuevamente con 4D. El programa
efecta un autodiagnstico y precisa las operaciones de reparacin a efectuar. En modo automtico, las
operaciones se efectan directamente sin intervencin del usuario (consulte la siguiente seccin). Si se dispuso
una estrategia de backup regular, las herramientas de recuperacin de 4D le permitirn recuperar (en la mayora
de los casos) la base en el estado excto en que estaba antes del incidente.
Notas:
4D puede lanzar automticamente procedimientos de recuperacin de las bases despus de incidentes. Estos
mecanimso se administran utilizando las dos opciones accesibles en la Backup/Backup y restauracin de la
ventana de Propiedades de la base. Para mayor informacin, consule el prrafo Restauracin Automtica.
Si el incidente es el resultado de una operacin inapropiada efectuada en los datos (eliminacin de un registro,
por ejemplo), puede intentar reparar la base utilizando la funcin "rollback" del archivo de historial. Esta funcin
est disponible en la Pgina Retroceder del CSM.

Restauracin manual de un backup (dilogo estndar)

Puede restaurar manualmente los contenidos de un archivo generado por el mdulo de backup. Una restitucin manual
puede ser necesaria por ejemplo para restituir la totalidad del contenido de un archivo (archivos de estructura y/o
archivos adjuntos incluso), o con el fin de realizar bsquedas entre los archivos.
La restauracin manual tambin puede realizarse junto con la integracin del archivo de historial actual.
La restauracin manual de backups puede realizarse va una caja de dilogo estndar de apertura de documentos, o va
la pgina Restauracin del Centro de seguridad y mantenimiento (CSM).
La restauracin va una caja de dilogo estndar permite restituir cualquier archivo. Esta funcin se describe a
continuacin.
La restauracin va el CSM ofrece ms opciones y permite previsualizar el contenido de los archivos. Por otra
parte, slo pueden restaurarse los archivos asociados a la base abierta. Esta funcin se describe en
Restauracin manual de un backup (CSM).
Para restaurar una base manualmente va una caja de dilogo estndar:
1. Inicie la aplicacin 4D y elija Restaurar... en el men Archivo.
No es obligatorio que una base de datos est abierta.
O
Ejecute el comando RESTORE desde un mtodo de 4D.
Aparece una caja de dilogo estndar de apertura de archivos, donde puede indicar el archivo de backup (.4bk) o
el archivo de backup del historial (.4bl) a restituir.
2. Seleccione el archivo a restaurar y haga clic en Abrir.
Se muestra la siguiente caja de dilogo, donde puede especificar la ubicacin donde se restaurarn los archivos:

- 699 -
Por defecto, 4D restaura los archivos en una carpeta llamada Nombrearchivo (sin extensin) ubicada junto al
archivo. Puede hacer clic en el botn [...] para especificar una ubicacin diferente.
3. Haga clic en el botn Restaurar.
4D extrae todos los archivos del backup de la ubicacin definida.
Si el archivo de historial actual o un archivo de backup de historial tienen el mismo nmero que el archivo de
backup se guarda en la misma carpeta, 4D examina su contenido. Si contiene operaciones que no estn
presentes en el archivo de datos, el programa le propone integrar estas operaciones. La integracin se efecta
automticamente si la opcin de integracin automtica del historial est seleccionada (consulte Restauracin
Automtica).
4. (Opcional) Haga clic en Aceptar para integrar el archivo de historial en la base restaurada.
Si la restauracin e integracin se llevaron a cabo correctamente, 4D muestra una caja de dilogo indicando que
la operacin fue exitosa.
5. Haga clic en Aceptar.
Se muestra la carpeta de destino. Durante la restauracin, 4D ubica todos los archivos de backup en esta carpeta,
sin importar la posicin de los archivos originales en el disco en el momento en que se inici el backup. De esta
manera sus archivos se encontrarn ms fcilmente.

Restauracin manual de un backup (CSM)

Puede restituir manualmente un archivo de la base de datos actual va la pgina Restauracin del Centro de seguridad
y de mantenimiento (CSM). Esta pgina ofrece varias opciones que permiten controlar la Restauracin de bases:

La lista en la parte izquierda de la ventana muestra los backups existentes de la base. Tambin puede hacer clic en el
botn Examinar... ubicado bajo el rea para abrir otro archivo de una ubicacin diferente. Luego se aade a la lista de
archivos.
Cuando usted selecciona un backup en esta lista, la parte derecha de la ventana muestra la informacin relativa a este
- 700 -
backup:
Ruta de acceso: ruta de acceso completa del archivo de backup seleccionado. El botn Mostrar abre la carpeta
de backup en una ventana sistema.
Fecha y hora: fecha y hora del backup.
Contenido: contenido del archivo de backup. Cada elemento de la lista est asociado a una casilla de seleccin,
que permite especificar si quiere restaurar o no. Tambin puede utilizar los botones Seleccionar todo o
Deseleccionar todo para definir la lista de elementos a restaurar.
Ubicacin de los archivos restaurados: carpeta en la cual se ubicarn los archivos restaurados. Por defecto,
4D restaura los archivos en una carpeta llamada Nombrearchivo(sin extensin) ubicada junto al archivo de
estructura de la base. Para cambiar esta ubicacin, haga clic en [...] y especifique la carpeta en donde quiere
efectuar la restauracin.

Integracin sucesiva de varios archivos de historial


La opcin Integrar uno o varios archivos de historial despus de la restauracin permite integrar sucesivamente
varios backups de historial en una base de datos. Si, por ejemplo, usted dispone de 4 archivos de historial consecutivos
(correspondientes a 4 backups de la base), puede restaurar el primer backup luego integrar uno a uno los backups de
historial. Esto significa que usted puede, por ejemplo, recuperar un archivo de datos incluso cuando faltan los ltimos
archivos de backup de la base.

Cuando esta opcin est seleccionada, 4D muestra una caja de dilogo estndar de apertura de archivos despus de
la restauracin, la cual puede utilizarse para seleccionar el archivo de historial a integrar. La caja de dilogo de apertura
se muestra de nuevo despus de la integracin, hasta que se cancele.

Integracin manual del historial

Si no ha seleccionado la opcin de integracin automtica del archivo de historial (ver Integracin sucesiva de varios
archivos de historial), aparece una caja de dilogo de alerta durante la apertura de la base cuando 4D constata que el
archivo de historial contiene ms operaciones de las que se han efectuado en la base.

Para que este mecanismo funcione, 4D debe poder acceder al archivo de historial en su ubicacin actual.
Puede elegir integrar o no los datos del historial actual. No integrar el historial actual permite evitar reproducir los errores
efectuados en los datos.

- 701 -
Configuracin y archivos de seguimiento

Diario de backup

Para facilitar el seguimiento y la verificacin de las copias de seguridad de su base, el mdulo de backup escribe un
resumen de cada operacin realizada en un archivo especial, el cual es similar a un diario de actividades. Como un
manual, todas las operaciones de la base (backups, restauraciones, integraciones de historial) se registran en este
archivo sin importar si las operaciones fueron programadas o realizadas manualmente. La fecha y la hora en que
ocurrieron estas operaciones tambin se anotan en el diario.
El diario de backup se llama Backup Journal.txt y se ubica en la carpeta "Logs" de la base.
El diario de backup puede abrirse con cualquier editor de texto. Para facilitar su anlisis, la informacin en el diario est
separada por tabulaciones y cada lnea de informacin termina con un retorno de carro.
Manejo del tamao del diario de backup
En ciertas estrategias de backup (por ejemplo, en el caso de backups a varios archivos adjuntos), el tamao del diario
de backup puede crecer rpidamente.
Dos mecanismos permiten controlar el tamao:
Backup automtico: antes de cada backup, la aplicacin examina el tamao del archivo de diario de backup
actual. Si es mayor a 10 MB, el archivo actual se archiva y se crea un nuevo archivo. Los archivos guardados se
llaman Diario de Backup[xxx].txt, donde xxx es un nmero de 1 a 999. Una vez se alcanza el nmero de archivo
999, se comienza nuevamente con el nmero y se reemplazan los archivos existentes.
Reducir la cantidad de informacin almacenada: para hacerlo, simplemente modifique el valor de la llave
VerboseMode en el archivo Backup.xml de la base. Por defecto, esta llave
tiene el valor True. Si cambia el valor de esta llave por False, slo la informacin principal se guardar en el diario
de backup: fecha y hora de inicio de la
operacin y los errores encontrados. Las llaves XML relacionadas con la configuracin del backup se describen
en el manual XML Keys-Backup (PDF).

Backup.xml

Las preferencias de backup de 4D estn disponibles como un archivo XML asociado a la base. 4D utiliza los datos de
este archivo para configurar las opciones de backup (opciones que se encuentran en la caja de dilogo de
Preferencias) en el momento del lanzamiento de cada backup. Este archivo tambin puede utilizarse para leer o asignar
opciones adicionales, tales como la cantidad de informacin almacenada en el diario de backup.
El archivo de configuracin XML de backups se llama Backup.xml. Se crea automticamente en la siguiente ubicacin:

CarpetaBase/Preferencias/Backup/Backup.xml
... donde CarpetaBase es la carpeta que contiene el archivo de estructura de la base. Las subcarpetas
Preferences/Backup se crean automticamente cuando es necesario.
La descripcin de las llaves XML de configuracin de backups se describe en el manual XML Keys-Backup (PDF).

- 702 -
Centro de seguridad y mantenimiento

Presentacin
Pgina Informacin
Pgina Anlisis de actividad
Pgina Verificar
Pgina Backup
Pgina Compactar
Pgina Retroceder
Pgina Restaurar
Pgina Reparar

- 703 -
Presentacin

La ventana del Centro de seguridad y de mantenimiento (CSM) agrupa todas las herramientas necesarias para
controlar, analizar, hacer mantenimiento, backup y compactar los archivos de datos y de estructura. El CSM est
disponible en todas las aplicaciones 4D: 4D monopuesto, 4D Server o 4D Desktop.
Hay muchas formas de acceder a la ventana del CSM. El modo de acceso tambin determina el modo de apertura de la
base: modo mantenimiento o modo estndar. En modo mantenimiento, la base no es abierta por 4D, slo se entrega
su referencia al CSM. En modo estndar, la base es abierta por 4D.

Visualizacin en modo mantenimiento

En modo mantenimiento, slo se muestra la ventana del CSM (la base no es abierta por la aplicacin 4D). Eso significa
que las bases que estn muy daadas para que 4D las abra en modo estndar pueden abrirse en modo mantenimiento.
Adems, ciertas operaciones (compactacin, reparacin, etc.) necesitan que la base se abra en modo mantenimiento
(ver Restricciones de acceso).
Puede abrir el CSM en modo mantenimiento desde dos partes:
Caja de dilogo estndar de apertura
La caja de dilogo estndar de apertura de base de datos incluye la opcin Centro de seguridad de
mantenimiento del men asociado con
el botn Abrir:

Luego puede simplemente designar la base a examinar y hacer clic en el botn Abrir.
Men Ayuda/Centro de seguridad y mantenimiento o botn CSM de la barra de herramientas (base no
abierta)

Cuando llama esta funcin, aparece una caja de dilogo estndar de apertura de archivos de manera que puede
indicarle la base a examinar. 4D no abrir la base.

Visualizacin en modo estndar

En modo estndar, una base de datos est abierta. En este modo, ciertas funciones de mantenimiento no estn
disponibles. Existen varias posibilidades para acceder a la ventana del CSM:
Usando el Men Ayuda/Centro de seguridad y mantenimiento o botn CSM de la barra de herramientas en

- 704 -
modo Diseo .

Este comando abre la ventana del CSM. Esta funcin no est disponible en modo Aplicacin.
Usando la accin estndar CSM es posible asociar con un comando de men creado o un botn (ver la seccin
Acciones estndar).
Usando el comando de lenguaje OPEN SECURITY CENTER.

Restricciones de acceso

Ciertas funciones del CSM no estn disponibles dependiendo del tipo de aplicacin, el modo de apertura del CSM o
(cuando las contraseas se activan) el perfil del usuario:
Las funciones que afectan la estructura de la aplicacin (verificacin, reparacin y compactacin) son accesibles
nicamente desde las aplicaciones 4D (modo local) y 4D Server.
En las aplicaciones 4D (modo remoto) y 4D Desktop, se ocultan los botones y las pestaas correspondientes.
La informacin relativa al contenido de los archivos de datos y de estructura estn disponibles slo cuando la base
se abre la base de datos (el CSM debe abrirse en modo estndar).
Las funciones de compactar, retroceder, restaurar y reparar datos slo pueden utilizarse con archivos de datos
que no estn abiertos (el CSM debe abrirse en modo mantenimiento). Si estas funciones son solicitadas cuando
la base est abierta en modo estndar, se muestra una caja de dilogo para permitirle reiniciar la aplicacin en
modo mantenimiento.
Si se activan las contraseas, las funciones de compactar, retroceder, restaurar y reparar datos slo son
accesibles por el Administrador y el Diseador.

- 705 -
Pgina Informacin

La pgina Informacin ofrece informacin sobre el entorno 4D y el entorno sistema, la base de datos y los archivos de
la aplicacin. Cada pgina es accesible utilizando las pestaas ubicadas en la parte superior de la ventana.

Programa

Esta pgina indica el nombre, la versin y la ubicacin de la aplicacin como tambin de la carpeta 4D activa (para
mayor informacin sobre la carpeta 4D activa, consulte la descripcin del comando Get 4D folder en el manual
Lenguaje 4D).
La parte central de la ventana muestra el nombre y la ubicacin de los archivos de estructura de datos de la base. La
parte inferior de la ventana indica el nombre del propietario de la licencia 4D y el tipo de licencia, como tambin el
nombre del usuario de la base cuando las contraseas se han activado (Diseador en caso contrario).
Visualizacin y seleccin de rutas de acceso: en la pgina Programa, las rutas de acceso se muestran en
forma de mens pop-up que contienen la ruta de las carpetas como se encuentran en el disco:

Si selecciona un elemento de men (disco o carpeta), se muestra en una nueva ventana sistema.
El comando Copiar la ruta copia la ruta de acceso completa en el portapapeles en forma de texto, utilizando los
separadores de la plataforma actual.
Carpeta Licenses
El botn Carpeta Licenses permite mostrar el contenido de la carpeta Licenses activa en una nueva ventana
sistema. Todos los archivos de licencia instalados en su entorno 4D estn agrupados en esta carpeta, ubicada en
su disco duro. Cuando se abren con un navegador web, estos archivos muestran informacin relativa a
las licencias que contienen y sus caractersticas.
La ubicacin de esta carpeta pude variar dependiendo de la versin o del lenguaje de su sistema operativo. Para
mayor informacin sobre la ubicacin de esta carpeta, consulte el comando Get 4D folder.
Nota: tambin puede acceder a esta carpeta desde la caja de dilogo Actualizar licencia (disponible en el men
Ayuda).
Cuando hace clic en el botn Carpeta Licenses,4D abre la carpeta Licenses en una ventana estndar del
sistema. Si activ su aplicacin 4D, la carpeta debe contener al menos un archivo de licencia (archivo en formato
html). Si activ varios productos, plug-ins o extensiones, la carpeta contendr varios archivos de licencia.

Tablas

Esta pgina lista todas las tablas de la base (incluyendo las tablas invisibles) como tambin sus caractersticas: nmero
de cada tabla, nmero total de registros, campos e ndices para cada tabla.

Datos y Estructura

Las pginas Datos y Estructura ofrecen informacin sobre el espacio libre y el ocupado de los archivos de datos y de
estructura de la base.
Notas:
No se puede acceder a estas pginas en modo mantenimiento.
La pgina Datos no tiene en cuenta los datos que puedan haberse guardado fuera del archivo de datos (ver la
seccin Almacenamiento externo de los datos).
La pgina Estructura slo est disponible en las aplicaciones 4D y 4D Server.
Esta informacin se presenta en forma grfica:
- 706 -
Los archivos muy fragmentados reducen el rendimiento del disco y por lo tanto de la base. Si la tasa de ocupacin es
muy baja, 4D se lo indicar con un icono de advertencia (que aparece en el botn Informacin y en la pestaa del tipo
de archivo correspondiente) y le informar que es necesaria una compactacin:

Tambin se muestra un icono de alerta en el botn de la GET STYLE SHEET INFO:

- 707 -
Pgina Anlisis de actividad

Esta pgina permite visualizar las operaciones presentes en el archivo de historial actual. Esta funcin es til para
analizar la utilizacin de una base de datos o detectar la o las operaciones que producen errores o disfuncionamientos.
En el caso de una base de datos en modo cliente-servidor, permite verificar las operaciones efectuadas para cada
mquina cliente.
Nota: tambin es posible devolver las operaciones efectuadas en los datos de la base. Para mayor informacin
consulte Pgina Retroceder.

Nota: slo el Administrador y el Diseador de la base pueden acceder a la funcin de verificacin del historial.
Cada operacin grabada en el archivo de historial aparece en forma de una lnea. Las columnas ofrecen diferente
informacin sobre la operacin. Puede reorganizar las columnas como quiera haciendo clic en su encabezado.
La informacin mostrada permite identificar la fuente y el contexto de cada operacin:
Operacin: nmero de secuencia de la operacin en el archivo de historial.
Accin: tipo de operacin efectuada. Esta columna puede contener una de las siguientes operaciones:
Apertura del archivo de datos: apertura de un archivo de datos.
Cierre del archivo de datos: cierre del archivo de datos.
Creacin de un contexto: creacin de un proceso que especifica un contexto de ejecucin.
Cierre de un contexto: cierre de un proceso.
Adicin: creacin y almacenamiento de un registro.
Adicin de un BLOB: almacenamiento de un BLOB en un campo BLOB.
Eliminacin: eliminacin de un registro.
Modificacin: modificacin de un registro.
Inicio de transaccin: transaccin iniciada.
Validacin de transaccin: transaccin validada.
Cancelacin de transaccin: transaccin cancelada.
Tabla: tabla a la cual pertenece el registro creado/suprimido/modificado o el BLOB.
Llave primaria/BLOB: contiene la llave primaria del registro (cuando la llave primaria est compuesta de varios
campos, los valores so separados por punto y comas) o nmero de secuencia del BLOB involucrado en la
operacin.
Proceso: nmero interno del proceso en el cual la operacin se efectu. Este nmero corresponde al contexto de
la operacin.
Tamao: tamao en bytes de datos procesados por la operacin.
Fecha y Hora: fecha y hora a la cual fue efectuada la operacin.
Usuario: nombre del usuario que efectu la operacin. En modo cliente-servidor, aparece el nombre de la
mquina del cliente; en modo monopuesto, aparece la identificacin del usuario. Si las contraseas de 4D no
estn activas, esta columna est vaca.
Valores ((columna no mostrada por defecto): valores de los campos del registro en el caso de adicin o
modificacin. Los valores estn separados por ;. Slo se muestran los valores representados en forma
alfanumrica.
Haga clic en el botn Analizar para actualizar el contenido del archivo de historial actual de la base seleccionada
(nombre por defecto nombredatos.journal). El botn Navegar... permite seleccionar abrir otro archivo de historial de la
base. El botn Exportar... permite seleccionar el contenido del archivo en forma de texto.

- 708 -
Pgina Verificar

Esta pgina permite verificar la integridad de los datos y de la estructura. La verificacin puede llevarse acabo en los
registros y/o ndices como tambin en los objetos de diseo (mtodos, formularios, etc.).
La pgina efecta nicamente una verificacin de los objetos. Si se encuentran errores y se deben realizar
reparaciones, ser necesario utilizar la Pgina Reparar.

Acciones

La pgina contiene cuatro botones de accin que permiten un acceso directo a las funciones de verificacin:
Verificar los registros y los ndices: inicia el proceso de verificacin total de los datos.
Verificar nicamente los registros: inicia el proceso de verificacin de los registros nicamente (los ndices no
se verifican).
Verificar nicamente los ndices: inicia el proceso de verificacin de los registros nicamente (los ndices no se
verifican).
La verificacin de los registros y de los ndices tambin puede efectuarse en modo detallado, tabla por tabla (ver
la seccin Lista de tablas a continuacin).
Atencin: esta opcin controla la coherencia fsica de los ndices, sin enlace a los datos. Seala las llaves invalidas
pero no permite detectar las llaves duplicadas (dos ndices apuntan al mismo registro). Este tipo de error solo
puede detectarse utilizando la opcin Verificar los registros y los ndices.
Verificar la aplicacin: inicia el proceso de verificacin de todos los objetos definidos en el modo Diseo (tablas,
mtodos, formularios, etc.).
Nota: la verificacin de los registros e ndices tambin puede efectuarse en modo detallado, tabla por tabla (ver la
seccin Detalles).

Abrir el archivo de historial

Sin importar la verificacin solicitada, 4D genera un archivo de historial en la carpeta de la base. Este archivo lista todas
las verificaciones efectuadas e indica los errores encontrados, cuando aplica ([OK] se muestra cuando la verificacin es
correcta). Se crea en formato XML y HTML y se llama NombreBase_Verify_log.
Al hacer clic en el botn Abrir el archivo de historial, 4D muestra el archivo de historial en formato HTML en el
navegador por defecto del la mquina:

- 709 -
Lista de tablas

El botn Lista de tablas muestra una pgina detallada que permite visualizar y seleccionar los registros y los ndices a
verificar:

- 710 -
Especificar los elementos a verificar permite ahorrar tiempo durante la verificacin.
La lista principal muestra todas las tablas de la base. Para cada tabla, puede limitar la verificacin a los registros y/o a
cada ndice. Haga clic en el icono en forma de tringulo para desplegar el contenido de una tabla o los ndices de un
campo y seleccione/deseleccione las casillas de seleccin en funcin de sus necesidades. Por defecto, todo est
seleccionado. Tambin puede utilizar los botones de atajo Seleccionar todos, Deseleccionar todos, Todos los
registros y Todos los ndices.
Para cada lnea de tabla, la columna Accin indica las operaciones a efectuar. Cuando la tabla se despliega, las lneas
Registros y Campos indexados indican el nmero de elementos relacionados.
La columna Estado muestra el estado de la verificacin de cada elemento utilizando smbolos:
Verificacin efectuada sin problema
Verificacin efectuada, se encontraron problemas
Verificacin efectuada parcialmente
Verificacin no efectuada
Haga clic en Verificar para iniciar la verificacin o en <Estndar para volver a la pgina estndar.
El botn Abrir el archivo de historial permite mostrar el archivo de historial en formato HTML en el navegador por
defecto del ordenador (ver Abrir el archivo de historial).
Nota: la pgina estndar no tiene en cuenta las modificaciones efectuadas en la pgina detallada: cuando hace clic en
un botn de verificacin en la pgina estndar, todos los elementos se verifican. Por otra parte, los parmetros
efectuados en la pgina detallada se conservan de una sesin a otra.

- 711 -
Pgina Backup

La pgina Backup permite visualizar los parmetros del backup de la base y lanzar un backup manual:

Esta pgina consiste de las siguientes tres reas:


Destino del archivo de Backup: muestra informacin sobre la ubicacin del archivo de backup de la base.
Tambin indica el espacio ocupado y el disponible en el disco de backup.
Informacin del ltimo Backup: muestra la fecha y hora del ltimo backup (automtico o manual) de la base.
Contenido del archivo de backup: lista los archivos y carpetas incluidos en el archivo de backup.
El botn Backup permite iniciar un backup manual. Para mayor informacin, consulte Backup de la base.
Esta pgina no permite modificar los parmetros de backup. Para hacer esto, debe hacer clic en el botn Propiedades
de la base...

- 712 -
Pgina Compactar

Esta pgina permite acceder a las funciones de compactacin del archivo de datos y de estructura (ver Descripcin de
los archivos de 4D).

Por qu compactar?

La compactacin de un archivo responde a dos tipos de necesidades:


Reduccin del tamao y optimizacin de los archivos: los archivos pueden contener espacios inutilizados
(huecos). De hecho, cuando borra registros, formularios, etc. el espacio que ocupaban previamente en el archivo
queda vaco. 4D reutiliza estos espacios vacos cuando es posible, pero como el tamao de los datos es variable,
las eliminaciones o modificaciones sucesivas generan inevitablemente espacios inutilizables por el programa. Lo
mismo sucede cuando se borra una gran cantidad de datos: los espacios vacos permanecen sin asignar en el
archivo. El radio entre el tamao del archivo de datos y el espacio realmente utilizado para los datos es la tasa de
ocupacin de los datos. Una tasa que sea demasiado baja puede llevar a un deterioro del rendimiento de la base,
adems del desperdicio del espacio. La funcin de compactacin permite reorganizar y optimizar el
almacenamiento de
los datos con el fin de eliminar los huecos. Las reas Informacin resumen los datos relacionados con la
fragmentacin de los archivos y sugiere las operaciones a efectuar. Las pestaas Datos y Estructura de la
pgina Informacin del CSM indican la fragmentacin actual de los archivos de la base.
Actualizacin completa de los datos aplicando el formato actual definido en el archivo de estructura. Este principio
es til cuando los datos de la misma tabla se guardan en diferentes formatos, por ejemplo luego de un cambio en
la estructura de la base.
Nota: la compactacin slo est disponible en modo mantenimiento. Si intenta realizar esta operacin en modo
estndar, una caja de dilogo de alerta le informar que la base se cerrar y reiniciar en modo mantenimiento. Es
posible compactar un archivo de datos no abierto por la base de datos (ver Compactar registros e ndices).

Compactar el archivo de datos o de estructura

El procedimiento de compactacin estndar del archivo de datos y de estructura es idntico.


Para iniciar directamente la compactacin del archivo de datos o de estructura, haga clic en el botn correspondiente en
la ventana del CSM:

Datos:

Estructura:

Nota: la compactacin incluye la duplicacin del archivo original, el botn se desactiva si el espacio en el disco que
contiene el archivo es insuficiente.
Esta operacin compacta el archivo principal as como los posibles archivos de ndices. 4D copia los archivos
originales y los coloca en una carpeta llamada Replaced Files (Compacting), creada junto al archivo de origen.
Cuando se completa la operacin, los archivos compactados reemplazan automticamente los archivos de origen. La
base de datos es inmediatamente operacional sin ninguna otra manipulacin.
Notas:
Puede modificar la carpeta en la cual se guardan los archivos originales utilizando el modo avanzado.
Si realiza varias compactaciones, cada vez se crea una nueva carpeta. La carpeta se llamar Replaced Files
(Compacting)_1, Replaced Files (Compacting)_2, etc.
Atencin: cada operacin de compactacin involucra la duplicacin del archivo original lo cual aumenta el tamao de la
carpeta de la aplicacin. Es importante tener esto en cuenta (especialmente bajo Mac OS donde las aplicaciones 4D
aparecen como paquetes) de manera que el tamao de la aplicacin no aumente excesivamente. Una intervencin
manual al interior del paquete puede ser til para eliminar las copias de los archivos de origen y conservar bajo el
- 713 -
tamao del paquete.
Una vez se completa la compactacin, 4D genera un archivo de historial en la carpeta de la base. Este archivo, llamado
nombrebase_compact_log, se crea en formato XML y HTML. Puede utilizarse para ver todas las operaciones
efectuadas.
Cuando hace clic en el botn Abrir el archivo de historial, 4D muestra el archivo de historial en formato HTML en el
navegador por defecto de la mquina (ver Abrir el archivo de historial).

Modo Avanzado

La pgina Compactar contiene un botn Avanzado>, que permite acceder a una pgina de opciones para la
compactacin de los archivos de datos y de estructura:

Compactar registros e ndices


El rea Compactar los registros y los ndices muestra la ruta de acceso del archivo de datos actual as como tambin
un botn [...] que puede utilizarse para especificar otro archivo de datos. Cuando hace clic en este botn, se muestra
una caja de dilogo estndar de apertura de documentos, permitindole designar el archivo de datos a compactar.
Debe seleccionar un archivo de datos compatible con el archivo de estructura abierto.
Una vez validada esta caja de dilogo, la ruta de acceso del archivo a compactar se indica en la ventana.
El segundo botn [...] permite especificar otra ubicacin para los archivos originales a guardar antes de la
compactacin. Esta opcin puede utilizarse particularmente para compactar archivos voluminosos utilizando diferentes
discos.

Forzar la actualizacin de los registros


Cuando esta opcin est seleccionada, 4D reescribe todos los registros para cada tabla durante la operacin de
compactacin, de acuerdo con su descripcin de la estructura. Si esta opcin no est seleccionada, 4D simplemente
reorganiza el almacenamiento de datos en el disco. Esta opcin es til en los siguientes casos:
Cuando se modifican los tipos de campos en la estructura de la aplicacin despus de que los datos fueron
introducidos. Por ejemplo, puede que haya cambiado un campo Entero largo a un tipo Real. 4D permite incluso
cambios entre dos tipos muy diferentes (con riesgos de prdida de datos), por ejemplo un campo Real se puede
cambiar a Texto y viceversa.
En este caso, 4D no convierte retroactivamente los datos ya introducidos, los datos se convierten slo cuando los
registros se cargan y se guardan a continuacin. Esta opcin permite forzar la conversin de todos los datos.
Cuando una opcin de almacenamiento externo de datos de tipo Texto, Imagen o BLOB ha sido modificada
despus de que los datos se introdujeron. Esto puede suceder durante la conversin de una base a versin 13 o
superior en particular por las nuevas opciones de almacenamiento disponibles (ver Almacenamiento externo de
los datos). Como es el caso de redigitalizacin descrito anteriormente, 4D no convierte retroactivamente los
datos ya introducidos. Para ello, puede hacer que los registros que se actualicen con el fin de aplicar el modo de
almacenamiento a los registros que ya han sido introducidos.
Cuando las tablas o los campos se han eliminado. En este caso, la compactacin con actualizacin de los
registros recupera el espacio de estos datos suprimidos y por lo tanto reduce el tamao del archivo.
Nota: todos los ndices se actualizan cuando se selecciona esta opcin.
Compactar la tabla de direcciones
(opcin accesible slo cuando la opcin anterior est seleccionada)
Esta opcin reconstruye por completo la tabla de direcciones de los registros durante la compactacin. Esto optimiza el
tamao de la tabla de direcciones y se utiliza principalmente en bases de datos con grandes volmenes de datos
creados y luego eliminados. En otros casos, la optimizacin no es un factor decisivo.
Tenga en cuenta que esta opcin ralentiza considerablemente la compactacin e invalida los conjuntos guardados
utilizando el comando SAVE SET. Se recomienda eliminar los conjuntos guardados en este caso debido a que su uso
puede conducir a la seleccin de datos incorrectos.
Notas:
La compactacin tiene en cuenta registros de las tablas en la Papelera. Si hay un gran nmero de registros en la
Papelera, esto puede ser un factor adicional que ralentice la operacin.
La utilizacin de esta opcin vuelve la tabla de direcciones y la base de datos, incompatibles con el archivo de
historial actual (si lo hay). Se guardar automticamente y un nuevo archivo de historial se crear la prxima vez
que se lance la base.

Compactar el archivo de estructura


El rea Compactar el archivo de estructura muestra la ruta de acceso al archivo de estructura de la base as como
tambin un botn [...] permite especificar otra ubicacin para guardarlos archivos originales antes de la compactacin.
- 714 -
Cuando usted hace clic en uno de los botones Compactar, la operacin comienza inmediatamente. Cuando la
compactacin est completa, 4D genera un informe en la carpeta de la base. Cuando hace clic en el botn Abrir el
archivo de historial, 4D muestra el archivo de historial en formato HTML en el navegador por defecto del ordenador
(ver Abrir el archivo de historial).

- 715 -
Pgina Retroceder

Esta pgina permite acceder a la funcin de retroceder entre las operaciones efectuadas en el archivo de datos. Esta
funcin slo est disponible si la base funciona con un archivo de historial. Se parece a una funcin de anulacin
aplicada a varios niveles. Es particularmente til cuando un registro se borra por error en una base.
Para que esta funcin est disponible, la base debe tener un archivo de historial.

Nota: slo el Administrador y el Diseador de la base pueden acceder a verificar el archivo de historial.
La lista de operaciones es idntica a la de la ventana de anlisis de la actividad. Para mayor informacin, consulte
Pgina Anlisis de actividad.
Seleccione la lnea despus de la cual se deben cancelar todas las operaciones. La operacin de la lnea seleccionada
ser la ltima que se conservar. Si por ejemplo, quiere cancelar una eliminacin, seleccione la operacin ubicada justo
antes de la eliminacin. Se cancelar la operacin de eliminacin as como todas las operaciones siguientes.

Haga clic en el botn Volver a atrs. 4D le pide confirmar la operacin.


Si hace clic en Aceptar, los datos se restauran al estado exacto en el que estaban en el momento de la accin
seleccionada. El men ubicado en la parte inferior de la ventana permite seleccionar el archivo de historial a utilizar
- 716 -
cuando aplica la funcin retroceder una base restaurada. En este caso, debe especificar el archivo de historial
correspondiente al archivo.
As es cmo funciona la funcin retroceder: cuando el usuario hace clic en el botn Volver a atrs, 4D cierra la base
actual y restaura el ltimo backup de datos de la base. La base restaurada se abre y 4D integra las operaciones del
historial hasta la operacin seleccionada. Si la base no se ha guardado, 4D parte de un archivo de datos vaco.

- 717 -
Pgina Restaurar

Restauracin manual de un backup (CSM)

Puede restituir manualmente un archivo de la base de datos actual va la pgina Restauracin del Centro de seguridad
y de mantenimiento (CSM). Esta pgina ofrece varias opciones que permiten controlar la Restauracin de bases:

La lista en la parte izquierda de la ventana muestra los backups existentes de la base. Tambin puede hacer clic en el
botn Examinar... ubicado bajo el rea para abrir otro archivo de una ubicacin diferente. Luego se aade a la lista de
archivos.
Cuando usted selecciona un backup en esta lista, la parte derecha de la ventana muestra la informacin relativa a este
backup:
Ruta de acceso: ruta de acceso completa del archivo de backup seleccionado. El botn Mostrar abre la carpeta
de backup en una ventana sistema.
Fecha y hora: fecha y hora del backup.
Contenido: contenido del archivo de backup. Cada elemento de la lista est asociado a una casilla de seleccin,
que permite especificar si quiere restaurar o no. Tambin puede utilizar los botones Seleccionar todo o
Deseleccionar todo para definir la lista de elementos a restaurar.
Ubicacin de los archivos restaurados: carpeta en la cual se ubicarn los archivos restaurados. Por defecto,
4D restaura los archivos en una carpeta llamada Nombrearchivo(sin extensin) ubicada junto al archivo de
estructura de la base. Para cambiar esta ubicacin, haga clic en [...] y especifique la carpeta en donde quiere
efectuar la restauracin.

Integracin sucesiva de varios archivos de historial


La opcin Integrar uno o varios archivos de historial despus de la restauracin permite integrar sucesivamente
varios backups de historial en una base de datos. Si, por ejemplo, usted dispone de 4 archivos de historial consecutivos
(correspondientes a 4 backups de la base), puede restaurar el primer backup luego integrar uno a uno los backups de
historial. Esto significa que usted puede, por ejemplo, recuperar un archivo de datos incluso cuando faltan los ltimos
archivos de backup de la base.

Cuando esta opcin est seleccionada, 4D muestra una caja de dilogo estndar de apertura de archivos despus de
- 718 -
la restauracin, la cual puede utilizarse para seleccionar el archivo de historial a integrar. La caja de dilogo de apertura
se muestra de nuevo despus de la integracin, hasta que se cancele.

- 719 -
Pgina Reparar

Esta pgina permite reparar el archivo de datos o el archivo de estructura cuando est daado. Por lo general, slo
utilizar estas funciones por solicitud de 4D, cuando se detectan anomalas al abrir la base o despus de una
verificacin (ver Pgina Verificar).
Atencin: cada reparacin involucra la duplicacin del archivo original el cual aumenta el tamao de la carpeta de la
aplicacin. Es importante tener en cuenta este mecanismo (especialmente bajo Mac OS donde las aplicaciones 4D
aparecen como paquetes) de manera que el tamao de la aplicacin no aumente excesivamente. Eliminar manualmente
las copias del archivo original dentro del paquete puede ser til para conservar bajo el tamao del paquete.

Nota: la reparacin no est disponible en modo mantenimiento. Si intenta efectuar esta operacin en modo estndar,
una caja de dilogo de alerta le informar que la base se cerrar y se reiniciar en modo mantenimiento.

Reparar el archivo de datos

El rea Reparar el archivo de datos muestra la ruta de acceso del archivo de datos actual as como tambin un botn
[...] que puede utilizarse para especificar otro archivo de datos. Al hacer clic en este botn, se muestra una caja de
dilogo estndar de apertura de documentos, permitindole designar el archivo de datos a reparar.
Una vez valida la caja de dilogo, la ruta de acceso del archivo a reparar se indica en la ventana.
Por defecto, el archivo de datos original se duplicar antes de la reparacin. Se ubicar en una subcarpeta llamada
Replaced files (repairing) en la carpeta de la base. El segundo botn [...] permite designar otra ubicacin para guardar
los backups de los archivos originales antes de la reparacin. Esta opcin permite reparar los archivos voluminosos
utilizando diferentes discos.
Hay dos opciones de reparacin: Reparacin estndar y Recuperacin por encabezados de registros. Estas
opciones se describen a continuacin.
Una vez haya configurado los elementos a recuperar, haga clic en el botn Reparar o Analizar y reparar... (segn la
opcin elegida) para iniciar la reparacin. Si elije la recuperacin por encabezados de registros, una caja de dilogo
intermediaria le permite seleccionar los elementos a recuperar (ver Recuperacin por encabezados de registros).

- 720 -
4D crea un nuevo archivo de datos vaco en la ubicacin del archivo de origen. El archivo de origen pasa a la carpeta
llamada "\Replaced Files (Repairing) date time" cuya ubicacin se define en el rea "Archivo de backup de los archivos
originales" (carpeta de la base por defecto). El archivo vaco se llena con los datos recuperados.
Cuando termina el procedimiento de reparacin, se muestra la pgina "Reparacin" del CSM. Un mensaje indica si la
reparacin fue exitosa. S este es el caso, puede abrir la base inmediatamente.

El botn Abrir el archivo de historial muestra una pgina web en su navegador que describe los resultados de la
operacin. Esta pgina lista las verificaciones o reparaciones efectuadas e indica todos los errores encontrados,
aparece ([OK] cuando la verificacin es correcta). El archivo se genera en la carpeta Logs de la base. Este archivo se
crea en formato XML y HTML y se llama NombreBase_Repair_log.
Reparacin estndar
La reparacin estndar permite reparar los datos en los cuales slo algunos registros o ndices estn daados (las
tablas de direcciones quedan intactas). Los datos se compactan y reparan. Este tipo de reparacin slo puede
realizarse cuando el archivo de datos y el archivo de estructura corresponden.
Recuperacin por encabezados de registros
Utilice esta opcin de reparacin de bajo nivel slo cuando el archivo de datos est muy daado y despus de que
todas las otras soluciones (restauracin de backup, reparacin estndar) hayan sido ineficaces.
Los registros de 4D son de tamao variable. Por lo tanto, es necesario mantener el lugar en que se almacenan en su
disco en una tabla para encontrarlos de nuevo. El programa accede a la direccin del registro a travs de un ndice y
una tabla de direcciones. Si slo los registros o ndices estn daados, la opcin de reparacin estndar suele ser
suficiente para resolver el problema. Sin embargo, cuando la tabla de direcciones se ve afectada, se requiere una
recuperacin ms sofisticada, ya que es necesario reconstruirla. Para ello, el CSM utiliza el marcador que se encuentra
en el encabezado de cada registro. Los marcadores se comparan con un resumen del registro, incluyen la informacin
esencial a partir de la cual es posible reconstruir la tabla de direcciones.
Notas:
Si ha deseleccionado la opcin Registros borrados definitivamente en las propiedades de una tabla en la
estructura de la base, realizar una recuperacin por encabezados puede hacer que los registros eliminados
previamente reaparezcan.
La recuperacin por encabezados no tiene en cuenta las restricciones de integridad. Ms concretamente,
despus de esta operacin es posible obtener valores duplicados con los campos nicos o valores NULL con
campos declarados no NULL.
Al hacer clic en el botn Analizar y reparar..., 4D realiza un anlisis completo del archivo de datos. Cuando termina el
anlisis, los resultados aparecen en la siguiente ventana:

- 721 -
Nota: si todos los registros y todas las tablas han sido asignados, slo se muestra el rea principal en la pantalla.
El rea "Contenido del archivo de datos analizado" incluye dos tablas que resumen la informacin del anlisis del
archivo de datos.
La primera tabla muestra la informacin del anlisis del archivo de datos. Cada lnea representa un grupo de
registros recuperables en el archivo de datos:
La primera columna indica el orden de recuperacin de los grupos de registros.
La columna ## indica el nmero de la tabla asignada al grupo, si es que existe.
La columna Tablas asignadas indica los nombres de las tablas que se asignaron automticamente a los
grupos de registros identificados. Los nombres de las tablas asignadas automticamente aparecern en
color verde.
La columna Registros recuperables indica el nmero de registros recuperables en el grupo.
La columna Recuperar le permite indicar para cada grupo si desea recuperar los registros. Por defecto,
esta opcin est seleccionada para cada grupo.
La segunda tabla muestra las tablas que no fueron asignadas, es decir, las tablas que no pueden estar asociadas
con ningn registro.
Asignacin manual
Si varios grupos de registros no pudieron ser asignados a las tablas debido al dao de la tabla de direcciones, puede
asignarlos manualmente.
Para ello, primero seleccione un grupo de registros no asignado en la primera tabla. El rea "Contenido de los
registros" muestra una vista previa de los contenidos de los primeros registros del grupo para facilitar asignarlos:

- 722 -
A continuacin, seleccione la tabla a asignar al grupo en la tabla "Tablas sin asignar" y haga clic en el botn Asignar
tabla. Tambin puede asignar una tabla por arrastrar y soltar.
El grupo de registros se asocia a la tabla y se recuperar en esta tabla. Los nombres de las tablas que se asignan
manualmente aparecen en negro.
Utilice el botn Desasignar tabla para eliminar la asociacin efectuada manualmente entre la tabla y el grupo de
registros.

Reparar el archivo de estructura

El rea Reparar el archivo de estructura muestra la ruta de acceso del archivo de estructura de la base as como un
botn [...] que puede utilizarse para especificar otra ubicacin para guardar los backups de archivos originales
efectuados antes de la reparacin.
Al hacer clic en uno de los botones Reparar, si es necesario la base se cierra y se abre nuevamente en modo
mantenimiento antes de que comience la operacin.
Cuando termina la reparacin, 4D genera un archivo de historial en la carpeta de la base. Este archivo, llamado
databasename_Repair_log, se crea en formato XML y HTML. Puede utilizarse para ver todas las operaciones
efectuadas. Cuando usted hace clic en el botn Abrir el archivo de historial, 4D muestra el archivo de historial en
formato
HTML en el navegador por defecto del ordenador (ver Abrir el archivo de historial).

- 723 -
Compilacin

Presentacin
Ventana de compilacin
Propiedades de compilacin
Ayudas a la compilacin

- 724 -
Presentacin

Es posible compilar su aplicacin, es decir traducir todos sus mtodos a lenguaje de mquina. La compilacin de una
base permite verificar la coherencia del cdigo y acelerar su ejecucin, como tambin hace posible proteger
integralmente el cdigo. La compilacin es una etapa indispensable entre el desarrollo de bases de datos utilizando 4D
y el despliegue de aplicaciones autnomas.
El proceso de compilacin es completamente automtico; sin embargo, la compilacin requiere ms rigor en la
escritura del cdigo 4D. La seccin Compilador del manual Lenguaje 4D ofrece consejos e informacin especfica
relacionada con la programacin con miras a la compilacin. Adems, recuerde que el compilador le indicar errores
de programacin y los situar en su contexto.

Qu es un compilador?

Un ordenador es una mquina en la cual los comandos se escriben utilizando nicamente 0 y 1. Este lenguaje binario
es llamado lenguaje de mquina. El corazn de la mquina, el microprocesador, slo entiende este lenguaje. Un
programa escrito en cualquier lenguaje de programacin de alto nivel (C, C++, Java, BASIC, 4D, etc.) primero es
traducido a lenguaje de mquina, de manera que el microprocesador del ordenador lo entienda.
Hay dos formas de hacer esto:
Las instrucciones pueden traducirse durante la ejecucin; entonces el programa es interpretado.
Las instrucciones se traducen en bloque antes de la ejecucin del programa; entonces el programa es compilado.

Modo interpretado
Cuando una serie de instrucciones se ejecuta utilizando un intrprete, el proceso se descompone as:
el programa lee la instruccin en el lenguaje del programa,
traduce la instruccin al lenguaje de mquina,
ejecuta la instruccin.
Este ciclo se ejecuta para cada una de las instrucciones en el programa. El programa que maneja la ejecucin de este
tipo de ciclo es llamado interpreter. En una base en desarrollo, los mtodos 4D son interpretados.
Modo compilado
Un programa compilado est completamente traducido antes de su ejecucin. Este proceso resulta en una serie de
instrucciones en lenguaje mquina. Esta serie puede conservarse y utilizarse varias veces. De esta forma, la fase de
traduccin se realiza slo una vez y la versin compilada del programa est disponible para ser ejecutada
repetidamente.
Esta fase es completamente independiente de todo uso del programa. El programa que maneja la traduccin se llama
compilador.
Objetos compilados
El compilador de 4D compila en su base los mtodos base, los mtodos de proyecto, los triggers, los mtodos de
formulario y los mtodos de objeto. Si no tiene ninguno de estos elementos en una aplicacin, el compilador no tendr
nada que compilar.
Cuando haya completado la compilacin exitosamente, la utilizacin de la base compilada es idntica a la de la base
original.

Por qu compilar sus bases?

El primer beneficio de la compilacin es en la velocidad de ejecucin. Hay dos beneficios adicionales relacionados
directamente con la compilacin:
Verificacin sistemtica de su cdigo,
Proteccin de sus bases y componentes.

Velocidad de ejecucin
El aumento en la velocidad se debe a dos caractersticas del cdigo compilado: la traduccin directa y definitiva del
cdigo y el acceso directo a las direcciones de las variables y de los mtodos.

- 725 -
Traduccin directa y definitiva del cdigo
El cdigo de los mtodos escritos en 4D ser traducido una sola vez con el compilador. Cuando se utiliza una
base de datos compilada, se ahorra el tiempo requerido en modo interpretado para traducir todas las
instrucciones. Por ejemplo un bucle que contiene una secuencia de instrucciones que se repite 50 veces:

For($i;1;50)
`Secuencia de instrucciones
End for

Cada instruccin de la secuencia se traduce 50 veces en una base interpretada. Utilizando el compilador, se
elimina la fase de traduccin de cada instruccin de la secuencia. Por cada instruccin de la secuencia,
ahorramos 50 traducciones.
Acceso directo a las direcciones de las variables y de los mtodos
En bases de datos interpretadas, el acceso a las variables se efecta por intermedio de un nombre. Por lo tanto,
4D debe acceder al nombre para acceder al valor de la variable.
En cdigo compilado, el compilador asocia una direccin a cada variable, escribe directamente la direccin de la
variable en el cdigo y va directamente a la direccin cuando es necesario.
Notas:
- Las operaciones que requieren acceso directo a disco pueden no afectarse porque su velocidad de ejecucin
est limitada por la velocidad de transmisin entre el ordenador y sus perifricos (unidades de almacenamiento o
disco duro).
- Los comentarios no se traducen por lo tanto no aparecen en el modo compilado. Por lo anterior, los comentarios
no afectan el tiempo de ejecucin en modo compilado.

Verificacin de su cdigo
El compilador tambin funciona como un verificador de la sintaxis de sus bases. El compilador revisa sistemticamente
su cdigo y nota posibles ambigedades, mientras 4D slo lo hace cuando se ejecuta el mtodo.
Suponga que uno de sus mtodos contiene una serie de pruebas y de secuencias de instrucciones a ejecutar. Es
improbable que usted pruebe completamente todos los casos si el nmero de pruebas es muy grande. En este caso, un
error de sintaxis en un caso no probado podra no aparecer hasta que un usuario final lo encuentre.
Este tipo de problema se evita cuando utiliza una base compilada. Cuando compila una base, el compilador escanea
toda la base de datos y analiza cada instruccin. El compilador detecta cualquier anormalidad y genera un mensaje de
error o advertencia.
Proteccin de sus aplicaciones y componentes
Una vez haya compilado su base de datos, puede utilizar el generador de aplicaciones para borrar el cdigo
interpretado. En este caso, el acceso al entorno Diseo (excepto para registros) est bloqueado. Para mayor
informacin sobre el generador de aplicaciones, consulte el captulo .
En una base compilada, los comandos relacionados al desarrollo estn desactivados.
Cuando un componente compilado se instala en una base local, los mtodos de proyecto compartidos son accesibles
en el Explorador y pueden llamarse en los mtodos de la base local pero sus contenidos no aparecen en el rea de
previsualizacin ni en el depurador. Los otros mtodos de proyecto del componente no aparecer ms. Para mayor
informacin sobre componentes, consulte el captulo Desarrollar e instalar componentes 4D.
Los beneficios son:
el desarrollo de la base no puede modificarse voluntaria o involuntariamente,
ahora sus mtodos estn protegidos.

Compilacin en 4D

El compilador est integrado a 4D. La compilacin de una base de datos se efecta utilizando la siguiente caja de
dilogo:

- 726 -
Tambin es posible lanzar directamente una compilacin con los parmetros actuales va el comando Iniciar
compilacin que se encuentra en el men Diseo y en el men asociado al botn Compilador de la barra de
herramientas.
La compilacin se realiza teniendo en cuenta opciones de compilacin genricas, configuradas en la Pgina
Compilador de las Propiedades de la base.
Una vez compilada la base, an es posible pasar en cualquier momento de modo interpretado a modo compilado y
viceversa, utilizando los comandos Reiniciar en interpretado y Reiniciar en compilado del men Ejecutar, sin tener
que salir de la aplicacin 4D, excepto cuando se ha borrado el cdigo interpretado (ver la seccin anterior).
La caja de dilogo de apertura de base de datos permite igualmente elegir el modo interpretado o compilado al lanzar
la base (ver Opciones de la caja de dilogo de apertura).
Si modifica la estructura de su base en modo interpretado, debe recompilarla para tener en cuenta los cambios en
modo compilado.
Cuando pasa de un modo a otro, 4D cierra el modo actual y abre el nuevo modo. Este funcionamiento requiere salir y
reabrir la aplicacin. Por lo tanto, cada vez que pase de un modo a otro, 4D ejecuta los mtodos de base (si se
especifica) en este orden: Mtodo base On Exit -> Mtodo base On Startup

- 727 -
Ventana de compilacin

Para desplegar la ventana de compilacin, seleccione el comando Compilador... en el men Diseo. Tambin puede
hacer clic en el botn Compilador de la barra de herramientas de 4D o elegir el comando Compilador en el men
asociado:

Nota: estos comandos estn inactivos si la base no contiene ningn mtodo.


Esta ventana se utiliza para lanzar la compilacin de la base o para verificar la sintaxis de los mtodos. Adems, los
botones permiten generar/regenerar los mtodos de declaracin de la base de datos, borrar cdigo compilado, mostrar
u ocultar advertencias y acceder directamente a las Propiedades de la base.

Nota: la compilacin de bases de datos necesita una licencia adecuada. Sin esta licencia, no es posible efectuar una
compilacin (el comando Iniciar compilacin y el botn Compilar estn inactivos). Sin embargo, es posible verificar la
sintaxis y generar mtodos de declaracin.

Compilar

Este botn produce el lanzamiento inmediato del proceso de compilacin la base. Equivale exactamente al comando
Iniciar compilacin en el men Diseo. Si la base ya ha sido compilada, el nuevo cdigo compilado reemplaza al
anterior. Inicialmente, los diferentes pasos de verificacin, declaracin e inicializacin, se efectan de acuerdo a la
configuracin definida en la Pgina Compilador de la ventana de las Propiedades de la base.
Si no se detectan errores, comienza la compilacin propiamente dicha. Si se detectan errores, el proceso se detiene y
el rea de informacin de la ventana muestra en forma de lista jerrquica los nombres de los mtodos y los nmeros de
lneas concernientes:

- 728 -
Haga doble clic en cada error detectado con el fin de abrir directamente el mtodo concerniente en el Editor de
mtodos editor de mtodos de 4D; se selecciona la lnea que contiene el error y aparece el tipo de error en el rea de
sintaxis de la ventana. Los comandos Error siguiente/ Error anterior del men Mtodo del editor le permiten navegar
entre las lneas que contienen errores.

Nota: el nmero de errores encontrados durante sus primeras compilaciones puede ser desalentador, pero no deje que
esto lo desanime. Pronto descubrir que tienen el mismo origen, es decir, no cumplir con ciertas convenciones de la
base. El compilador siempre da un diagnstico preciso de los errores con el fin de ayudarlo a corregirlos.

Verificar sintaxis

Este botn inicia la ejecucin de la fase de verificacin de sintaxis. Al final de la verificacin, los eventuales errores
detectados se listan en el rea de informacin. Como se describe en el siguiente prrafo, es posible hacer doble clic en
una lnea de error con el fin de mostrar el mtodo correspondiente.
Esta opcin es la nica disponible si no tiene la licencia adecuada que permita la compilacin de aplicaciones.
La verificacin de la sintaxis tambin puede lanzarse directamente utilizando el comando Verificar la sintaxis asociado
al botn Compilador.

Declarar tipos

- 729 -
Este botn crea (o actualiza) los mtodos "Compiler". Los mtodos "Compiler" son mtodos de proyecto que agrupan
todas las declaraciones de tipos de variables, arrays de procesos e interproceso, as como los mtodos de declaracin
de variables locales. Estos mtodos, cuando existen, son utilizados directamente por el compilador durante la
compilacin del cdigo, lo cual acelera la compilacin. Si estos mtodos ya existen, sus contenidos se actualizan.
Estos mtodos, cuyos nombres deben obligatoriamente comenzar por Compiler_, son generados por 4D. Usted
puede definir el nombre por defecto de cada uno de los 5 mtodos de compilacin en las Preferencias (ver Mtodos
Compilador para...). Los mtodos compiler generados y mantenidos automticamente por 4D tienen el atributo
Invisible:

Slo se generan los mtodos compiler necesarios (es decir, aquellos para los cuales los elementos existen en la base).
El rea de informacin indica los eventuales errores encontrados durante la creacin o actualizacin de los mtodos.
Hacer doble clic en una lnea de error hace que se muestren el mtodo y la lnea
relacionada en el editor de mtodos.
Para mayor informacin sobre mtodos de declaracin, consulte la seccin Compilador del manual de Lenguaje 4D.

Borrar cdigo compilado

Este botn permite borrar el cdigo compilado del archivo de estructura. Cuando hace clic en este botn, se borra todo
el cdigo generado durante la compilacin. El tamao del archivo de estructura se reducir como corresponde si
efecta una compactacin (ver GET STYLE SHEET INFO).
El comando Reiniciar en compilado del men Ejecutar queda inactivo y la opcin Base compilada no aparece ms
en el men asociado al botn Abrir en la caja de dilogo de apertura de la base de datos.

Note que los posibles mtodos compiler generados no son borrados por este comando.

Mostrar avisos

Los avisos son mensajes especficos, generados por el compilador cuando verifica la sintaxis. Estos mensajes tienen la
intencin de llamar la atencin sobre las instrucciones que pueden conducir a errores de ejecucin. Los avisos no
impiden la compilacin. Para mayor informacin sobre avisos, consulte Avisos.
Segn las circunstancias y el estilo de programacin, los avisos pueden ser ms o menos relevantes. La opcin Mostrar
los avisos permite mostrar/ocultar los avisos en el rea de informacin de la ventana del compilador.

Cuando esta opcin est seleccionada, los avisos (si los hay) aparecen en la ventana, despus de otros tipos de
errores. Aparecen en itlicas seguidas por su nmero de advertencia:

Al hacer doble clic en un aviso se abre el mtodo correspondiente.

Desactivacin de avisos durante la compilacin


Es posible desactivar selectivamente ciertos avisos durante la compilacin. Para hacerlo, debe insertar en el cdigo de
un mtodo 4D:

//%W-<nmero de aviso>

Los nmeros de aviso estn al final de cada mensaje en la lista de errores de compilacin. Por ejemplo, para desactivar
el siguiente aviso:
1: Puntero(s) en una declaracin de array (518.5)
... slo debe escribir el siguiente comentario en un mtodo 4D, preferiblemente un mtodo COMPILER_xxx (mtodo
compilado primero):

- 730 -
//%W-518.5

Acceso directo a las preferencias de compilacin

El botn permite mostrar la Pgina Compilador de las Propiedades de la base. Las opciones definidas en esta
caja de dilogo se aplican a la base abierta nicamente.

- 731 -
Propiedades de compilacin

Opciones de compilacin

Esta rea agrupa las opciones genricas utilizadas durante el proceso de compilacin.
Control de ejecucin: permite activar/desactivar el control de ejecucin. El control de ejecucin es un anlisis
adicional que permite controlar el cdigo y de acuerdo al estado de los objetos de la base en un momento dado.
Para mayor informacin sobre el control de ejecucin, consulte Control de ejecucin.
Generar el archivo de smbolos: esta opcin permite generar un archivo tipo ASCII que contiene la lista de
variables, su tipo y el mtodo del cual ha sido deducido el tipo. El archivo de smbolos contiene igualmente la lista
de sus mtodos y funciones junto con el tipo de parmetros y el tipo de un eventual resultado.
El archivo se ubica en la carpeta que contiene la estructura de la base y se llama automticamente
NombreBase_symbols.txt.
Para mayor informacin sobre del archivo de smbolos, consulte Archivo de smbolos.
Generar archivo de error: esta opcin permite generar el archivo de errores durante la verificacin de la sintaxis.
Este archivo lista los errores generales, los errores relacionados con una lnea especfica y las advertencias.
Los errores detectados por el compilador son accesibles automticamente en el men Mtodo de 4D. No
obstante, puede ser til tener un archivo de errores que puede ser transferido de una mquina a otra,
especialmente cuando hay varios desarrolladores trabajando en un sistema cliente-servidor.
El archivo de errores se genera en formato XML para facilitar el anlisis automtico de su contenido. Tambin
permite la creacin de interfaces personalizadas de presentacin de errores. El archivo de errores se llama
automticamente NombreBase.xml y se crea junto al archivo de estructura de la base.
Para mayor informacin sobre el archivo de errores, consulte Archivo de errores.
Compilar tambin para los procesadores 64 bits: esta opcin permite compilar la base para los procesadores
64 bits (adems de la compilacin 32 bits). Note que:
4D Server tambin est disponible en versin 64 bits a partir de la versin 12.1.
No es posible compilar en 64 bits una base 4D no convertida a Unicode.
Inicializar las variables locales: esta opcin permite definir el modo de inicializacin de las variables locales al
principio de los mtodos:
a cero: las variables se reinicializan en cero por defecto (cadena vaca para las cadenas de caracteres, 0
para nmeros...).
a un valor aleatorio: el compilador asigna un valor aleatorio, siempre el mismo, (1919382119 para enteros
largos, rgrg para las cadenas de caracteres, True para los booleanos...). Esta opcin permite ubicar
variables locales que haya olvidado inicializar.
no: el compilador no inicializa las variables. De esta forma, usted gana tiempo durante la ejecucin de la
base de datos, siempre y cuando su inicializacin sea correcta.
Ruta de compilacin: esta opcin permite definir el nmero de pasadas efectuadas por el compilador y por
consiguiente la duracin de la compilacin.
Asignar tipo a las variables: pasar por todas las etapas que hacen posible la compilacin.
Asignar tipo a las variables de proceso e interproceso: no se efecta la pasada de digitacin para las
variables proceso e interproceso. Esta opcin puede utilizarse cuando haya asignado las variables de
proceso e interproceso bien sea manualmente o utilizando la funcin de la generacin automtica de los
mtodos compilador.
Asignar tipo a todas las variables: no se efecta la pasada de digitacin de las variables locales, proceso
e interproceso. Utilice esta opcin cuando todas las variables proceso, interproceso y locales hayan sido
digitadas claramente.

Digitacin por defecto

Esta rea permite definir el tipo por defecto de los objetos ambiguos de la base.
Numrico: esta opcin permite forzar la digitacin de numricos de una manera inequvoca, bien sea real o
entero largo. No tiene prioridad sobre las directivas que puedan haberse definido en su base. Puede optimizar la
ejecucin de sus bases si elije el tipo Entero largo.
Botn: esta opcin permite forzar la digitacin de los botones de una manera inequvoca, bien sea real o entero
largo. No tiene prioridad sobre las otras directivas que puedan haberse definido en su base. Concierne a los
botones estndar as como a los siguientes objetos: casillas de seleccin, casillas de seleccin 3D, botones
inversos, botones 3D, botones imagen, rejilla de botones, botones radio, botones radio 3D, botones radio imagen,
mens imagen, mens desplegables jerrquicos y listas jerrquicas.

Mtodos Compilador para...


- 732 -
Esta rea le permite renombrar los mtodos Compilador generados automticamente por el compilador. Estos
mtodos renen todas las declaraciones de tipo de variables, arrays de proceso e interproceso, as como los mtodos
de declaracin de variables locales. Estos mtodos se generan desde la ventana del compilador. Para mayor
informacin, consulte la seccin Ventana de compilacin.
Se pueden generar hasta 5 mtodos compilador; un mtodo compilador se genera slo si la base contiene los
elementos correspondientes:
Variables: agrupa las declaraciones de variables de proceso;
Variables interproceso: agrupa las declaraciones de los arrays interproceso;
Arrays: agrupa las declaraciones de los arrays de proceso;
Arrays interproceso: agrupa las declaraciones de los arrays interproceso;
Mtodos: agrupa las declaraciones de variables locales designando los parmetros de los mtodos (por ejemplo,
C_LONGINT(mimetodo;$1)).
Puede renombrar cada uno de estos mtodos en las reas correspondientes.
No obstante, siempre estarn precedidos por la etiqueta Compiler_ (no-modificable). El nombre de cada mtodo
(incluyendo el prefijo) debe ser nico y no mayor a 31 caracteres. Los caracteres extendidos (caracteres acentuados,
smbolos tipogrficos, etc.) y los espacios no estn permitidos.

- 733 -
Ayudas a la compilacin

Hay tres tipos de ayuda para el anlisis y correccin de bases de datos:


la ayuda al anlisis en realidad es ofrecida por el archivo de smbolos. Esta tabla le permite encontrar ms
rpidamente sus variables. Esta es una herramienta valiosa para la interpretacin de errores reportados por el
compilador.
la ayuda a la correccin es ofrecida por el archivo de errores que puede utilizar como archivo de texto.
la ayuda de ejecucin o control de ejecucin ofrece una herramienta adicional de control para monitorear la
coherencia y la fiabilidad de sus aplicaciones.
Nota: tambin se ofrece una asistencia significativa en la declaracin de variables por los mtodos compiler
automticos, ver Declarar tipos.

Archivo de smbolos

El archivo de smbolos es un documento de tipo texto cuyo largo depende del tamao de sus bases. Por defecto, este
archivo no se genera en el momento de la compilacin. Para hacerlo, debe seleccionar la opcin correspondiente en las
Preferencias de la aplicacin (ver Opciones de compilacin). Cuando se genera, el archivo se ubica en la carpeta que
contiene la estructura de la base y se llama NombreBase.symbols.txt.
El archivo de smbolos se presenta como se ve a continuacin cuando se abre utilizando un editor de texto:

El encabezado muestra el nombre de la base, la fecha y la hora de creacin del documento. El documento est dividido
en cuatro partes:
Lista de variables interproceso.
Lista de variables proceso.
Lista de variables locales, en su mtodo.
Lista completa de los mtodos de proyecto y de los mtodos de base con sus parmetros, si aplica.

Lista de variables de proceso e interproceso


Estas dos listas estn divididas en cuatro columnas:
La primera columna contiene los nombres de las variables de proceso e interproceso y arrays utilizadas en su
base. Estas variables estn en orden alfabtico.
La segunda columna contiene el tipo de la variable. Los tipos son determinados una directiva de compilacin o
por el compilador en funcin del uso de la variable. Si el tipo de una variable no puede determinarse, la columna
queda vaca.
La tercera columna contiene el nmero de dimensiones del array, si la variable es un array.
La cuarta columna contiene la referencia al contexto en la cual el compilador estableci el tipo de la variable. Si la

- 734 -
variable se utiliza en varios contextos, slo el contexto mencionado es utilizado por el compilador para determinar
su tipo.
Si la variable se encuentra en un mtodo base, el nombre del mtodo base es dado como si hubiera sido
definido en 4D, precedido por (M)*.
Si la variable se encuentra en un mtodo de proyecto, el mtodo es identificado como si hubiera sido
definido en 4D, precedido por (M).
Si la variable se encuentra en un trigger (mtodo de tabla), el nombre de tabla dado, es precedido por (MT).
Si la variable se encuentra en un mtodo de formulario, el nombre de formulario se da precedido por el
nombre de tabla y de (FM).
Si la variable se encuentra en un mtodo de objeto, el nombre del mtodo de objeto dado, es precedido por
el nombre del formulario, el nombre de la tabla y por (MO).
Si la variable es un objeto de un formulario y no aparece en ningn mtodo de proyecto, mtodo de
formulario, trigger o mtodo de objeto, el nombre del formulario en el cual aparece es dado, precedido por
(F).
Al final de cada lista, encuentra los tamaos de las variables de proceso e interproceso en bytes.
Nota: en el momento de la compilacin, el compilador no puede determinar en cual proceso se utiliza una variable de
proceso dada. Una variable de proceso puede tener un valor diferente en cada proceso. Por lo tanto, todas las variables
de proceso se duplican sistemticamente cada vez que se crea un nuevo proceso: es conveniente tener cuidado con la
cantidad de memoria que van a ocupar. Igualmente, recuerde que el espacio para las variables de proceso no est
relacionado con el tamao de memoria para el proceso.
Lista de variables locales
La lista de variables est organizada por mtodo de base, mtodo de proyecto, trigger (mtodo de tabla), mtodo de
formulario y mtodo de objeto, en el mismo orden que en 4D.
Esta lista est dividida en tres columnas:
La primera columna contiene la lista de variables locales utilizadas en el mtodo;
La segunda columna contiene el tipo de la variable;
La tercera columna contiene el nmero de dimensiones si la variable es un array.

Lista completa de mtodos


Una lista completa de sus mtodos de base y de proyecto se da al final del archivo, con los tipos de sus parmetros y
del resultado devuelto.
Esta informacin se presenta en el siguiente formato:

Nombre del mtodo(tipos de parmetros):tipo de resultado

Archivo de errores

Puede generar o no un archivo de errores durante la compilacin utilizando una opcin ubicada en las Propiedades de
la base (ver Opciones de compilacin). Cuando se genera, el archivo de errores se llama
NombreDeLaBase_errors.xml y se crea junto al archivo de estructura de la base.
Aunque los errores son directamente accesibles va la ventana del compilador, puede ser til tener un archivo de errores
que pueda transmitirse desde un equipo a otro, particularmente dentro del marco de varios desarrolladores diferentes
trabajando juntos en un entorno cliente servidor. El archivo de errores se genera en formato XML con el fin de facilitar el
anlisis automtico de su contenido. Tambin autoriza la creacin de interfaces personalizadas de presentacin de
errores.
La longitud del archivo de errores depende del nmero de errores y avisos emitidos por el compilador. Cuando se abre
un archivo de errores utilizando un editor de texto, se ve de esta forma:

- 735 -
La estructura del archivo de errores es la siguiente:
En la parte superior del archivo est la lista de errores y avisos, organizados por mtodo y en el orden de su
creacin en 4D;
En la seccin ***Errores generales***, se agrupan todas las imposibilidades de declaracin y las ambigedades
de identidad. Estos errores y avisos se listan utilizando el siguiente formato:
Primero, el nmero de lnea en el mtodo (0 indica errores generales);
Segundo, el atributo aviso indica si la anomala detectada es un aviso (warning="true") o un error
(warning="false");
Y tercero, un diagnostico que describe el error.
Si su base de datos no presenta ningn error general, el archivo no tendr una seccin Errores generales.
Un archivo de errores puede contener tres tipos de mensajes:
Errores asociados a una lnea especfica,
Errores generales,
Avisos.

Errores asociados a una lnea especfica


Estos errores se muestran en contexto, la lnea en la cual se encuentran, con una explicacin. El compilador reporta este
tipo de error cuando encuentra una expresin en la cual ve una inconsistencia relacionada con el tipo de dato o sintaxis.
En la ventana del compilador, haga doble clic en cada error detectado para abrir el mtodo relacionado directamente en
el editor de mtodos 4D con la lnea que contiene el error resaltado.
La lista de diagnsticos de errores de sintaxis /digitacin se encuentra en la seccin Mensajes de error del manual
Lenguaje de 4D.
Errores generales
Estos son errores que no permiten compilar la base de datos. Hay dos casos en los cuales el compilador reporta un
error general:
El tipo de una variable de proceso no puede determinarse.
Dos tipos diferentes de objetos tienen el mismo nombre.
Los errores generales se llaman as porque no pueden asociarse a ningn mtodo en particular. En el primer caso, el
compilador no puede realizar una declaracin especfica en cualquier parte de la base. En el segundo, no puede decidir
si asociar un nombre dado con un objeto o con otro.
La lista de errores generales se encuentra en la seccin Mensajes de error del manual Lenguaje de 4D.

Avisos
Los avisos no son errores. Los avisos no impiden la compilacin de la base; simplemente sealan errores potenciales
de cdigo.
En la ventana del compilador, los avisos aparecen en caracteres itlicos. Haga doble clic en cada aviso para abrir el
mtodo relacionado directamente en el editor de mtodos 4D. La lista de avisos se encuentra en la seccin
Advertencias del manual Lenguaje 4D.
Es posible desactivar algunos avisos (ver Desactivacin de avisos durante la compilacin).

Control de ejecucin - 736 -


Control de ejecucin

El control de ejecucin se selecciona por defecto en las Propiedades de la base (ver Opciones de compilacin).
Mientras todas las otras opciones funcionan durante el proceso de compilacin, el control de ejecucin comienza
cuando ejecuta una base compilada. Es decir, los mensajes de control de ejecucin slo aparecen mientras se est
ejecutando su base de datos compilada.
El control de ejecucin introduce un anlisis adicional con respecto a la coherencia lgica y sintctica que caracteriza
normalmente un compilador. Durante el control de ejecucin, el compilador hace la siguiente pregunta: Considerando lo
que ha solicitado, Lo sorprender el resultado que obtenga? El control de ejecucin es un controlador in situ, que
evala el estado de los objetos en la base en un momento dado.
As es cmo funciona el control de ejecucin. Imagine que declar el array MiArray como tipo Texto. El nmero de
elementos en MiArray puede variar dependiendo del mtodo actual. Si quiere asignar el valor Hola al elemento 5 de
MiArray, escribe:

MiArray{5}:="Hola"

Si MiArray tiene cinco elementos o ms, todo est bien. La asignacin se efecta normalmente. Sin embargo, si
MiArray tiene menos de cinco elementos en ese momento, su asignacin no tiene sentido.
Esta situacin no puede detectarse en compilacin por la suposicin de que los mtodos se estn ejecutando. El
compilador no sabe la circunstancia en la cual este mtodo se llama. Slo el control de ejecucin le permite monitorear
que est pasando exactamente mientras su base est en uso. En el ejemplo anterior, el compilador mostrara un error
de ejecucin en 4D. Fcilmente se ve por que el control de ejecucin es particularmente valioso cuando se procesan
arrays, punteros y cadenas de caracteres.
Los mensajes enviados por el compilador cuando solicita control de ejecucin se listan en la seccin Mensajes de
control de ejecucin del manual Lenguaje de 4D.
Desactivar localmente el control de ejecucin
Incluso cuando el control de ejecucin se haya activado, en algunos casos usted preferira que no se aplicara a ciertas
partes confiables del cdigo. Particularmente, en el caso de los bucles repetidos muchas veces y cuando se ejecuta la
base compilada en equipos viejos, el control de ejecucin puede hacer el proceso ms lento. En la medida que tenga la
certeza de que el cdigo relacionado es confiable y no puede causar errores de sistema, puede desactivar localmente
el control de ejecucin.
Para hacerlo, debe enmarcar el cdigo a excluir del control de ejecucin con los comentarios //%R- y //%R+. El
comentario //%R- desactiva el control de ejecucin y //%R+ lo activa nuevamente:

... //El control de ejecucin est activo


// %R-
... //Ponga aqu el cdigo a excluir del control de ejecucin
// %R+
... //El control de ejecucin se activa nuevamente para el resto del mtodo

Nota: este mecanismo slo funciona si el control de ejecucin est activo.

Diagnosticar anomalas

Imagine que nota anomalas cuando ejecuta sus bases. Antes de especular sobre las posibles causas de estos
problemas, recuerde la ayuda que ofrece el compilador.
Las posibles anomalas que se pueden presentar:
4D muestra sus propios mensajes de error.
Si es posible, corrija errores en su base de datos de acuerdo a las instrucciones de 4D. Si estas son muy
generales, compile su base nuevamente, asegurndose de que la opcin Control de ejecucin est activa. En la
ubicacin donde fue mostrado el mensaje de 4D, ver un mensaje ms informativo del compilador.
Sus bases de datos compiladas no funcionan exactamente como su base interpretada. Observe los mensajes de
aviso.
Las variables numricas o alfanumricas no devuelven los valores esperados. Verifique las opciones de
asignacin de tipo en las Preferencias y examine el archivo de smbolos para verificar que todas sus variables
estn bien declaradas.
Su base funciona normalmente en modo interpretado, pero en modo compilado ocurre una cada del sistema.
Asegrese de compilar la base utilizando la opcin Control de ejecucin y verifique si su base compilada est
utilizando los mismos plug-ins que utiliz al momento de la compilacin.

- 737 -
Terminar y desplegar aplicaciones finales

Principios de despliegue
El generador de aplicaciones
Pgina Estructura compilada
Pgina Aplicacin
Pgina Cliente/Servidor
Pgina Plug-ins y componentes
Pgina Licencias
Gestin de archivo de datos en las aplicaciones finales New 15.0
Actualizacin automtica de las aplicaciones servidor o monopuesto
Personalizar el icono de una aplicacin ejecutable

- 738 -
Principios de despliegue

4D incluye un generador de aplicaciones finales. Este generador simplifica el proceso de finalizacin y desarrollo de las
aplicaciones 4D compiladas. Este generador maneja automticamente las caractersticas especficas de los diferentes
sistemas operativos, en particular la construccin de paquetes de software bajo Mac OS y facilita el desarrollo de
aplicaciones cliente- servidor.
El generador de aplicaciones le permite:
generar una base de datos compilada, sin cdigo interpretado,
generar una aplicacin autnoma, es decir, fusionada con 4D Volume Desktop, el motor de la base de datos de
4D,
construir diferentes aplicaciones a partir de la misma base de datos compilada a travs de un proyecto XML,
construir aplicaciones cliente-servidor homogneas,
generar aplicaciones cliente-servidor con actualizacin automtica de las partes clientes y servidor.
Nota para 4D Server: la generacin de aplicacin est disponible slo en la versin monopuesto de 4D.
Las posibilidades de despliegue de las bases de datos 4D se resumen en el siguiente diagrama:

- 739 -
El generador de aplicaciones

La generacin de aplicaciones se efecta desde la ventana del Generador de aplicaciones. Para desplegar esta
ventana, seleccione el comando Generar aplicacin... en el men Diseo de 4D.
La generacin slo puede efectuarse una vez la base sea compilada. Si selecciona este comando sin haber compilado
la base previamente, o si el cdigo compilado no corresponde al cdigo interpretado, aparecer una caja de dilogo de
advertencia indicando que la base debe (re)compilarse.
Aparece la ventana del generador de aplicaciones, con varias pginas accesibles utilizando las pestaas:

La Pgina Estructura compilada permite generar una versin compilada nicamente de la estructura o de un
componente.
La Pgina Aplicacin permite configurar y generar la versin monopuesto de la aplicacin.
La Pgina Cliente/Servidor permite configurar la versin cliente-servidor de la aplicacin.
La Pgina Plug-ins y componentes permite designar los plug-ins y los componentes a integrar en la aplicacin.
La Pgina Licencias le permite definir los nmeros de serial a integrar.
Es posible definir simultneamente diferentes parmetros objetivo (mono-usuario y cliente-servidor) para la aplicacin;
cada uno debe seleccionarse explcitamente utilizando una casilla de seleccin.
El botn Generar genera las aplicaciones correspondientes a todos los objetivos seleccionados. Al hacer clic en este
botn, 4D muestra un termmetro de progresin indicando las diferentes fases en curso de ejecucin. Los nuevos
parmetros, si son vlidos, se guardarn en el proyecto de aplicacin (ver ).
El botn Aplicar permite registrar los parmetros definidos sin lanzar la generacin de la aplicacin.
Si hace clic en el botn Cancelar o si se produce un error durante el proceso, los archivos en curso de generacin se
suprimen y una caja de dilogo de alerta le informa la causa de la interrupcin.

Definicin del nombre y de la ubicacin de la aplicacin

- 740 -
La parte superior de la ventana de generacin de la aplicacin permite definir el nombre y la ubicacin de los archivos a
generar.
El rea Nombre de la aplicacin contiene, por defecto, el nombre del archivo de estructura de la base. Este nombre
ser utilizado por los archivos generados (base de datos compilada, aplicacin ejecutable y aplicacin cliente-servidor).
4D aadir automticamente los sufijos necesarios (.4dc, .exe, server...) de acuerdo al tipo de aplicacin generada.
Cuando conserva el nombre por defecto, el nombre de la aplicacin refleja toda modificacin del nombre del archivo de
estructura de la base. Si modifica el nombre de la aplicacin, el nuevo nombre se utiliza por defecto para cada nueva
generacin de la base actual. El nombre introducido NO debe tener una extensin. Adems, no debe contener
caracteres prohibidos por el sistema operativo (tales como .?! bajo Windows, : bajo Mac OS, etc.).
El rea Carpeta de destino se utiliza para indicar donde se ubicarn los elementos generados. Por defecto, 4D utiliza
una carpeta llamada StructureName_Build ubicada junto a la carpeta (o "package" bajo Mac OS) de la base
seleccionada.
Para modificar la carpeta de destino, haga clic en el botn de seleccin [...] situado a la derecha del rea de
visualizacin. Aparece la caja de dilogo Buscar carpeta, permitindole indicar la nueva carpeta de destino. Una vez se
valida esta caja de dilogo, se muestra la ruta de acceso completa. La nueva ubicacin se utilizar por defecto para
cada generacin posterior de la base actual.
En el momento de la generacin, 4D crear automticamente una o varias carpetas intermediarias (llamadas Base
compilada, Aplicacin Final, Aplicacin Demo, Aplicacin Client o Aplicacin Server de acuerdo al tipo de
generacin solicitada) en la ubicacin especificada. Esto evita el riesgo de borrar accidentalmente archivos con el
mismo nombre y permite efectuar simultneamente varios tipos de generaciones.

Llaves XML de parmetros

Cada parmetro de la ventana se guarda como una llave XML en un archivo de proyecto de la aplicacin llamado
"BuildApp.XML y se ubica en la subcarpeta BuildApp de la carpeta Preferencias de la base.
Los parmetros por defecto se utilizan la primera vez que se utiliza la caja de dilogo. El contenido del archivo de
proyecto se actualiza, si es necesario, cuando hace clic en el botn Generar o Aplicar.
Es posible definir otros proyectos XML para la misma base de datos y explotarlos utilizando el comando BUILD
APPLICATION.
Note que las llaves XML ofrecen opciones adicionales adems de las presentadas en la caja de dilogo del generador
de aplicaciones:
Definicin de una direccin IP o del nmero de puerto TCP del servidor,
Definicin de un intervalo de nmeros de versiones compatibles entre la aplicacin cliente y la aplicacin servidor
(por ejemplo, las aplicaciones clientes 1.1 a 1.3 pueden conectarse a la aplicacin servidor 1.3).
Definicin de una ruta de acceso para el archivo de datos, la cual permite la generacin de aplicaciones
inmediatamente operacionales, sin que sea necesario designar un archivo de datos, en la maquina del usuario.
La elevacin de los privilegios en Windows permite la instalacin automtica de las aplicaciones fusionadas en
los lugares protegidos del sistema.
La descripcin de estas llaves se detalla en un manual separado MissingRef.

Archivo de historial

4D genera un archivo de historial la primera vez que se genera una aplicacin en dos formatos: XML y HYML. Estos
archivos se llaman NomProyect.log.xml y NomProyect.log.html (NomProyect es el nombre del proyecto de
aplicacin, es decir BuildApp por defecto) y se ubican junto al archivo de proyecto de la aplicacin, en la subcarpeta
BuildApp de la carpeta Preferences de la base. Un par de archivos de historial se genera para cada proyecto de
aplicacin.
El contenido de estos dos archivos es idntico, slo difiere su formato. Cada vez que se genera una aplicacin, ambos
archivos se actualizan con la misma informacin. El archivo HTML permite visualizar los errores y advertencias de
manera grfica.
El archivo historial almacena la siguiente informacin para cada generacin:
Inicio y fin de la construccin de los objetivos,
Nombre y ruta de acceso completa de los archivos generados,
Fecha hora de la generacin,
Posibles errores presentados.

- 741 -
Pgina Estructura compilada

La pgina Estructura compilada del generador de aplicaciones le permite generar un archivo de estructura compilado
estndar y/o un componente compilado.
En los dos casos, los archivos de estructura compilados generados son idnticos. Slo difiere la arquitectura de las
carpetas generadas.
Durante la generacin, 4D crea automticamente diferentes carpetas destinadas a recibir los archivos generados. Sin
importar la opcin elegida, la base de datos actual no se modifica: las copias se generan en su disco.
Cuando los archivos de estructura compilados contienen cdigo 32 bits y 64 bits (ver Opciones de compilacin), se
generarn las versiones correspondientes de las bases compiladas.
Una vez configuradas las diferentes opciones de esta ventana, haga clic en el botn Construir para generar los
archivos en la ubicacin indicada.

Generar una estructura compilada

Esta opcin permite generar una base de datos que contenga nicamente cdigo compilado. Si defini Mibase en el
rea Nombre de la aplicacin, obtiene:
un archivo llamado MiBase.4dc (archivo de base de datos compilada)
un archivo llamado MiBase.4DIndy ((archivo de ndice de la estructura)
El archivo .4dc puede ser abierto por 4D Developer, 4D Server o 4D SQL Desktop. Durante la construccin, 4D borra el
cdigo interpretado del archivo de estructura. Ya no es posible acceder al modo Diseo de esta base.
La base compilada se ubica:
En una carpeta de tipo MiBase.4dbase, que tiene propiedades especficas bajo Mac OS (ver Extensin
.4dbase ) MiBase es el Nombre de la aplicacin definido,
la cual se ubica en una carpeta llamada Compiled Database,
la cual se ubica en la Carpeta de destino definida".
Atencin: antes de regenerar una base de datos compilada, 4D borra el contenido previo de la carpeta Compiled
database. Por lo tanto, si quiere conservar las versiones intermedias, debe renombrar la aplicacin o mover las
versiones compiladas y/o los elementos adicionales a conservar.
Incluir las carpetas asociadas
Cuando selecciona esta opcin, las carpetas relacionadas con la base se copian en la carpeta Compiled Database
folder: Plugins, Resources, Components. Para mayor informacin sobre estas carpetas, consulte Arquitectura de
las bases .
Esta opcin permite generar los archivos de estructura compilados listos para usar. La arquitectura tpica de una
estructura compilada es la siguiente:

Generar un componente

Esta opcin permite generar un componente compilado a partir de la estructura.


Un componente es un archivo de estructura 4D estndar en el cual han sido desarrolladas funcionalidades especficas.
Una vez el componente haya sido configurado e instalado en otra base 4D (base local), sus funcionalidades son
accesibles desde la base local. Para mayor informacin sobre componentes, consulte el captulo Desarrollar e instalar
componentes 4D.
- 742 -
Si defini MiComponente en el rea Nombre de la aplicacin, obtiene:
un archivo llamado MiComponente.4dc (archivo de estructura compilado)
un archivo llamado MiComponente.4DIndy (archivo de ndice de la estructura).
Los elementos generados son similares a los de una estructura compilada, con las siguientes diferencias:
el componente se genera como una carpeta (o paquete) en una carpeta llamada "Components,
la carpeta Resources asociada se copia automticamente en la carpeta del componente. Por otra parte, las
carpetas Components y/o Plugins no se copian (un componente no puede utilizar plug-ins u otros
componentes).
La arquitectura tpica de un componente compilado es la siguiente:

- 743 -
Pgina Aplicacin

4D le permite generar directamente una aplicacin ejecutable desde su base. Slo debe tener 4D Volume Desktop, el
motor de la base de datos 4D y una licencia apropiada. Esta operacin se prepara en la pgina Aplicacin del
generador de aplicaciones.
La funcin de generacin de aplicaciones ejecutables de 4D permite crear directamente desde 4D las versiones
autnomas (.exe) de sus bases 4D compiladas.
Bajo Mac OS, esta funcin maneja la creacin de paquetes de software.
Este principio consiste en fusionar un archivo de estructura compilada con 4D Volume Desktop. Las funcionalidades
ofrecidas por el archivo 4D Volume Desktop estn asociadas a la oferta del producto al cual est suscrito. Para mayor
informacin, consulte la documentacin comercial y el sitio de Internet de 4D (http://www.4d.com/).

Puede definir un archivo de datos por defecto o permitir a los usuarios crear y utilizar su propio archivo de datos (ver
la seccin Gestin de archivo de datos en las aplicaciones finales ).
Es posible automatizar la actualizacin de las aplicaciones monopuesto fusionadas por medio de una secuencia de
comandos del lenguaje (ver Terminar y desplegar aplicaciones finales).

Seleccin de la carpeta 4D Volume Desktop

Para generar una aplicacin ejecutable, primero debe designar la ubicacin de la carpeta de 4D Volume Desktop. El
botn para la creacin de aplicaciones ejecutables est gris si no se ha indicado una carpeta en el rea
correspondiente, o si la carpeta indicada no contiene un archivo 4D Volume Desktop vlido.
Debe seleccionar la carpeta que contiene el archivo de 4D Volume Desktop:
Bajo Windows, la carpeta contiene los archivos 4D Volume Desktop.4DE, 4D Volume Desktop.RSR, as como
tambin los diferentes archivos y carpetas necesarios para su funcionamiento. Estos elementos deben ubicarse
en el mismo nivel de la carpeta seleccionada.
Bajo Mac OS, 4D Volume Desktop se ofrece en forma de un paquete de software estructurado que contiene
varios archivos y carpetas genricos.
Para seleccionar la carpeta 4D Volume Desktop, haga clic en el botn [...]. Aparece una caja de dilogo que le permite
designar la carpeta (Windows) o paquete (Mac OS) de 4D Volume Desktop.
Una vez seleccionada la carpeta, se muestra su ruta de acceso completa y si contiene 4D Volume Desktop, la opcin
de generacin de aplicacin ejecutable se activa:

Archivos generados

Para generar una aplicacin ejecutable, haga clic en el botn Crear.


4D crea automticamente una carpeta Final Application en la Carpeta de destino especificada y pone una
subcarpeta con el nombre de la aplicacin definida.
Si especific MiApli en el rea Nombre de la aplicacin, encontrar los siguientes archivos en esta carpeta:
Bajo Windows
MyAppli.exe que es su ejecutable y MiApli.RSR que contiene los recursos de la aplicacin.
Las carpetas 4D Extensions y Resources, as como las diferentes libreras (DLL) y archivos necesarios para
el funcionamiento de la aplicacin.
Una carpeta Database que contiene particularmente los archivos DatabaseName.4DC y
DatabaseName.RSR que constituyen la estructura compilada de la base como tambin la carpeta
- 744 -
Resources de la base.
Nota: esta carpeta tambin contiene la carpeta Default Data, si se ha definido (ver Gestin de archivo de
datos en las aplicaciones finales ).
(Opcional) Una carpeta Components y una carpeta PlugIns contienen respectivamente, los archivos de los
componentes y de los plug-ins incluidos en la base. Para mayor informacin, consulte Pgina Plug-ins y
componentes.
Una carpeta Licenses contiene en forma de archivo XML la lista de nmeros de licencia integrados en la
aplicacin. Para mayor informacin sobre este punto, consulte Pgina Licencias.
Los elementos adicionales aadidos en la carpeta 4D Volume Desktop (ver Personalizar la carpeta 4D
Volume Desktop).
Todos estos elementos deben conservarse en la misma carpeta con el fin de que el ejecutable funcione.
Bajo Mac OS
Un paquete de software llamado MiApli.app contiene su aplicacin y todos los elementos necesarios para su
funcionamiento, incluyendo los plug-ins, componentes y licencias. Para mayor informacin sobre la
integracin de componentes y plug-ins, consulte Pgina Plug-ins y componentes. Para mayor informacin
sobre la integracin de licencias, consulte Pgina Licencias.
Nota: Bajo Mac OS, el comando Application file del lenguaje 4D devuelve la ruta de acceso del archivo
NombreAplicacin (ubicado en la carpeta Contents:Mac OS del paquete de software) y no la del archivo .comp
(carpeta Contents:Resources del software).
La arquitectura tpica de una aplicacin ejecutable es la siguiente (ejemplo en Windows):

Personalizar la carpeta 4D Volume Desktop

Durante la construccin de la aplicacin ejecutable, 4D copia el contenido de la carpeta 4D Volume Desktop en la


subcarpeta Final Application. Ahora puede personalizar los contenidos de la carpeta 4D Volume Desktop original de
acuerdo a sus necesidades. Puede por ejemplo:
instalar una versin de 4D Volume Desktop correspondiente a un lenguaje especfico;
Aadir una carpeta PlugIns personalizada;
Personalizar el contenido de la carpeta Resources.
Nota: bajo Mac OS, 4D Volume Desktop se ofrece en forma de un paquete de software. Para modificarlo, primero
debe desplegar su contenido (Control+clic en el icono).

Ubicacin de los archivos web

Si su aplicacin ejecutable se utiliza como servidor web, los archivos y carpetas requeridos por el servidor deben
instalarse en las ubicaciones especficas. Estos elementos son los siguientes:
archivos cert.pem y key.pem (opcional): estos archivos son utilizados por las conexiones SSL y por los comandos
de encriptacin de datos,
carpeta raz web por defecto,
archivo logweb.txt (historial de peticiones web).
Bajo Windows: estos elementos deben instalarse en la subcarpeta Final Application\MiAppli\Database.
Bajo Mac OS: estos elementos deben instalarse junto al software MiAppli.app.

- 745 -
Pgina Cliente/Servidor

4D permite generar aplicaciones cliente-servidor personalizadas, homogneas, multiplataforma y con opcin de


actualizacin automtica. Las aplicaciones Cliente y Servidor se configuran en la pgina Cliente/Servidor de la caja de
dilogo del generador de aplicaciones.

Qu es una aplicacin cliente/servidor?

Una aplicacin cliente-servidor viene de la combinacin de tres elementos:


una base 4D compilada,
la aplicacin 4D Server,
la aplicacin 4D Volume Desktop (Mac OS y/o Windows).
Una vez generada, una aplicacin cliente-servidor se compone de dos partes personalizadas: la parte Servidor (nica) y
la parte Cliente (para instalar en cada mquina cliente). Por razones de comparacin, recuerde que un despliegue
estndar utilizando 4D Server necesita la aplicacin 4D Server, el archivo de estructura de la base, el archivo de datos
de la base y la aplicacin 4D en modo remoto.
Adicionalmente, la aplicacin cliente-servidor es personalizada y su manejo simplificado:
Para lanzar la parte servidor, el usuario simplemente hace doble clic en la aplicacin servidor. No es necesario
seleccionar el archivo de estructura.
Para lanzar la parte cliente, el usuario simplemente hace doble clic en la aplicacin cliente, la cual se conecta
directamente a la aplicacin servidor. No es necesario seleccionar una base de datos en una caja de dilogo de
conexin. Si la conexin falla, el usuario puede introducir la direccin del servidor en una caja de dilogo de
conexin estndar.
Tambin es posible forzar la visualizacin de la caja de dilogo de conexin estndar manteniendo presionada
la tecla Opcin (Mac OS) o Alt (Windows) mientras lanza la aplicacin cliente.
Slo la parte cliente puede conectarse a la parte servidor correspondiente. Si un usuario trata de conectarse a la
parte servidor utilizando una aplicacin 4D estndar, se devuelve un mensaje de error y la conexin es imposible.
Finalmente, una aplicacin cliente/servidor puede definirse de manera que la parte cliente pueda actualizarse
automticamente va red. Esta funcin se detalla en la seccin Copia de las aplicaciones clientes en la aplicacin
servidor.

Tambin es posible automatizar la actualizacin de la parte del servidor a travs del uso de una secuencia de
comandos del lenguaje (ver Terminar y desplegar aplicaciones finales).

Aplicaciones cliente/servidor

Construir aplicacin servidor: marque esta opcin para generar la parte servidor de su aplicacin durante la
fase de creacin. Debe definir la ubicacin en su disco de la aplicacin 4D Server a utilizar. Este 4D Server debe
corresponder a la plataforma actual (la cual ser la plataforma de la aplicacin server).
Para seleccionar la carpeta 4D Server, haga clic en el botn [...] y ubique la aplicacin 4D Server. Bajo Mac OS,
debe seleccionar el paquete 4D Server directamente.
Versin actual: le permite indicar el nmero de la versin actual de la aplicacin generada. Posteriormente
puede aceptar o rechazar las conexiones de las aplicaciones cliente en funcin del nmero de su versin. El
intervalo de compatibilidad de las aplicaciones cliente y servidor como se define con la ayuda de llaves XML
especificas (ver ).
Construir aplicacin cliente: marque esta opcin para generar la parte cliente de su aplicacin durante la fase
de generacin. Debe designar la ubicacin en su disco de la aplicacin 4D Volume Desktop a utilizar. Este 4D
Volume Desktop debe corresponder a la plataforma actual (la cual ser la plataforma de la aplicacin cliente). Si
quiere crear una aplicacin cliente para una plataforma "concurrente", debe realizar la misma operacin en esta
plataforma. Para mayor informacin consulte el siguiente prrafo.
Para seleccionar la carpeta 4D Volume Desktop, haga clic en el botn [...] y ubique la aplicacin. Bajo Mac OS,
debe seleccionar el paquete 4D Volume Desktop directamente.

Personalizar las carpetas Personalizar las carpetas 4D Server y/o 4D Client


- 746 -
Durante la construccin de una aplicacin cliente/servidor ejecutable, 4D duplica el contenido de la carpeta 4D Server
en la subcarpeta Server de la carpeta de destino y el contenido de la carpeta 4D Volume Desktop en la subcarpeta
Client de la carpeta de destino. Ahora puede personalizar totalmente los contenidos de las carpetas 4D Server y 4D
Volume Desktop originales segn sea necesario.
Por ejemplo, puede:
Instalar una versin de 4D Server que corresponda a un lenguaje especfico;
Aadir archivos o carpetas en la carpeta PlugIns;
Personalizar el contenido de la carpeta 4D Extensions.
Nota: bajo Mac OS, 4D Server se ofrece como un paquete. Primero deber desplegar su contenido (Control+clic
sobre su icono) para poder modificarlo.

Copia de las aplicaciones clientes en la aplicacin servidor

Las opciones de esta rea permite configurar el mecanismo de actualizacin de las partes clientes de sus aplicaciones
cliente/servidor va la red a cada nueva versin de la aplicacin generada.
Permitir la actualizacin automtica de la aplicacin cliente Windows/Macintosh: seleccione estas
opciones para que su aplicacin cliente/servidor se beneficie del mecanismo de actualizacin automtica de las
partes clientes va la red.
Si quiere crear una aplicacin cliente multiplataforma, debe designar en su disco la ubicacin de la aplicacin 4D
Volume Desktop correspondiente a la plataforma concurrente de la plataforma de generacin. Por ejemplo, si
crea su aplicacin bajo Windows, debe utilizar el botn [...] la aplicacin 4D Volume Desktop Mac OS (ofrecida en
forma de paquete).
La actualizacin de la aplicacin cliente es necesaria si quiere utilizar una nueva versin de 4D Server o uno de los
componentes
Los cambios realizados a la aplicacin personalizada (desarrollo y/o datos) siempre se transmiten automticamente a
cada mquina cliente.
Este sistema evita que el desarrollador deba instalar manualmente las actualizaciones a cada mquina cliente.
La actualizacin de las aplicaciones clientes evita al programador tener que instalar manualmente las nuevas versiones
de 4D en cada mquina cliente. El procedimiento de actualizacin automtica de las aplicaciones 4D client se efecta
va HTTP y utiliza una aplicacin utilitaria llamada "updater" que se instala en los equipos cliente y se encarga de la
gestin de las actualizaciones.
Desplegar una notificacin de actualizacin
La notificacin de actualizacin de la aplicacin cliente se realiza automticamente despus de la actualizacin de la
aplicacin servidor.
Cuando se genera una nueva versin de la aplicacin cliente/servidor utilizando el generador de aplicaciones, la nueva
parte cliente se copia como un archivo comprimido en la subcarpeta Upgrade4DClient de la carpeta
NombreAplicacin Server (bajo Mac OS, estas carpetas se incluyen en el paquete servidor). Si ha seguido el proceso
de generacin de una aplicacin cliente multiplataforma, un archivo .4darchive de actualizacin est disponible para
cada plataforma:

Nota: los archivos adicionales archive.mac y archive.win permiten actualizar la aplicaciones v13 a v14. Puede
desactivar su generacin automtica utilizando la llave XML BuildV13ClientUpgrades con el comando BUILD
APPLICATION.
Para provocar las notificaciones de actualizacin de las aplicaciones cliente, simplemente reemplace la antigua versin
de la aplicacin servidor por la nueva y luego ejectela. El resto del proceso es automtico.
Del lado del cliente, cuando la "antigua" aplicacin cliente trata de conectarse a la aplicacin servidor actualizada, se
muestra una caja de dilogo en la mquina cliente, indicando que una nueva versin est disponible. El usuario puede
actualizar su versin o cancelar la caja de dilogo.

- 747 -
Si el usuario hace clic en Aceptar, la nueva versin se descarga a la mquina cliente por la red. Una vez se
descarga, la antigua aplicacin cliente se cierra y la nueva versin se lanza y se conecta al servidor. La antigua
versin de la aplicacin pasa a la papelera de la mquina.
Si el usuario hace clic en Cancelar, la actualizacin se cancela; si la versin antigua de la aplicacin cliente no
est en el rango de versiones aceptadas por el servidor (consultar el siguiente prrafo), se cierra la aplicacin y no
es posible conectarse. De lo contrario (por defecto), se establece la conexin.

Forzar actualizaciones automticas


En algunos casos, le gustara evitar que las aplicaciones cliente cancelen la descarga de actualizaciones. Por ejemplo,
si utiliza una nueva versin de la aplicacin fuente 4D Server, la nueva versin de la aplicacin cliente se debe instalar
en cada mquina cliente.
Para forzar la actualizacin, simplemente excluya el nmero de la versin actual de las aplicaciones cliente (X-1 y
anteriores) en el intervalo de nmeros compatibles con la aplicacin servidor. En ese caso, el mecanismo de
actualizacin no permitir la conexin de las aplicaciones clientes no actualizadas. Por ejemplo, si la nueva versin de la
aplicacin cliente-servidor es 6, puede estipular que toda aplicacin cliente con nmero de versin menor a 6 no se
pueda conectar.
El nmero de versin actual est definido en la pgina Cliente-Servidor de la caja de dilogo del generador de la
aplicacin (ver arriba). Los intervalos de nmeros autorizados se definen en el proyecto de la aplicacin utilizando llaves
XML especficas. Para mayor informacin, consulte el prrafo Llaves XML de parmetros.

En evento de error
Si 4D no puede efectuar la actualizacin de la aplicacin cliente, la mquina del cliente muestra el siguiente mensaje de
error: La actualizacin de la aplicacin cliente fall. La aplicacin se cerrar ahora.
Hay muchas causas posibles de este error. Cuando recibe este mensaje, es aconsejable revisar primero los siguientes
parmetros:
Nombres de las rutas de acceso: verifique la validez de los nombres de las rutas de acceso definidos en el
proyecto de la aplicacin va la caja de dilogo del generador de la aplicacin o va las llaves XML (por ejemplo
ClientMacFolderToWin). Particularmente, verifique los nombres de las rutas de acceso para las versiones de 4D
Volume Desktop.
Privilegios de lectura/escritura: en la mquina cliente, revise que el usuario actual tenga los derechos de
acceso a escritura para la actualizacin de la aplicacin cliente.

Archivos generados

Al final del proceso de generacin de una aplicacin cliente/servidor, encontrar una nueva carpeta en la carpeta de
destino llamada Client Server executable. Esta carpeta contiene dos subcarpetas, Nombre Aplicacin Client y
Nombre Aplicacin Server:

Nota: estas carpetas no se generan si ocurre un error. En ese caso, abra el archivo de historial (consulte el prrafo
Archivo de historial para encontrar la causa del error.
La carpeta Nombre Aplicacin Client contiene la parte cliente de la aplicacin correspondiente a la plataforma de
ejecucin del generador de la aplicacin. Esta carpeta debe instalarse en cada maquina cliente. La carpeta Nombre
Aplicacin Server contiene la parte servidor de la aplicacin.
El contenido de estas carpetas varia dependiendo de la plataforma actual:
Bajo Windows, cada carpeta contiene el archivo ejecutable de la aplicacin, llamado NombreAplicacion
Client.exe para la parte cliente y NombreAplicacion Server.exe para la parte servidor as como para los archivos
.rsr correspondientes. Las carpetas tambin contienen varios archivos y carpetas necesarios para el
funcionamiento de las aplicaciones y los elementos personalizados ubicados en las carpetas originales 4D
Volume Desktop y 4D Server.
Bajo Mac OS, cada carpeta contiene nicamente el paquete de la aplicacin llamado NombreAplicacion Client
para la parte cliente y NombreAplicacion Server para la parte servidor. Cada paquete contiene todos los
elementos necesarios para que la aplicacin funcione. Bajo Mac OS, se lanza un paquete haciendo doble clic en
l.
- 748 -
Nota: los paquetes Mac OS generados contienen los mismos elementos que las subcarpetas Windows. Puede
desplegar su contenido (Control+clic en el icono) para modificarlos.
Si selecciona la opcin Permitir actualizacin automtica de la aplicacin cliente, se aade una subcarpeta adicional
llamada Upgrade4DClient en la carpeta/paquete NombreAplicacion Server. Esta subcarpeta contiene la aplicacin
cliente en formato Mac OS y/o Windows bajo la forma de archivo comprimido. Este archivo se utiliza durante la
actualizacin automtica de la aplicacin cliente.
Ubicacin de los archivos web
Si la parte cliente y/o servidor de su aplicacin ejecutable se utiliza como servidor web, los archivos y carpetas
requeridos por el servidor deben instalarse en ubicaciones especficas. Estos elementos son los siguientes:
archivos cert.pem y key.pem (opcional): estos archivos son utilizados por las conexiones SSL y por los comandos
de encriptacin de datos,
carpeta raz web por defecto (CarpetaWeb).
Bajo Windows
Aplicacin servidor: estos elementos deben instalarse en la subcarpeta Client Server
executable\NombreAplicacion Server\Server Database.
Aplicacin cliente: estos elementos deben instalarse en la subcarpeta Client Server
executable\NombreAplicacion Server\Server Database.
Bajo Mac OS
Aplicacin servidor: estos elementos deben instalarse junto al paquete de software NombreAplicacion
Server.
Aplicacin cliente: estos elementos deben instalarse junto al paquete de software NombreAplicacion
Client.

- 749 -
Pgina Plug-ins y componentes

La pgina Plugins y componentes del Generador de aplicaciones permite definir cada plug-in y cada componente
que quiera utilizar en su aplicacin monopuesto o cliente-servidor. Para mayor informacin sobre los plug-ins y
componentes 4D, consulte la seccin Instalacin de plugins o componentes.
La pgina lista los elementos cargados por la aplicacin 4D actual:

La columna Tipo indica el tipo de elemento: plug-in o componente.


La columna Activo indica los elementos que se integrarn en la aplicacin generada. Por defecto, todos los elementos
estn seleccionados. Para deseleccionar un plug-in o un componente, haga clic en la casilla de seleccin asociada.
Si quiere integrar otros plug-ins en la aplicacin ejecutable, slo debe ubicarlos en la carpeta PlugIns o Components
junto a la aplicacin 4D Volume Desktop o junto a la aplicacin 4D Server. El mecanismo para copiar el contenido de la
carpeta de la aplicacin fuente (ver Personalizar la carpeta 4D Volume Desktop) puede utilizarse par integrar todo
tipo de archivo a la aplicacin ejecutable.
En caso de conflicto entre dos versiones diferentes del mismo plug-in (una cargada por 4D y la otra ubicada en la
carpeta de la aplicacin fuente), la prioridad es para el plug-in instalado en la carpeta de 4D Volume Desktop/4D
Server.
Por otra parte, la presencia de dos instancias del mismo componente impedir la apertura de la aplicacin.
Nota: el uso de plug-ins y/o componentes compilados en una versin de despliegue requiere de los nmeros de licencia
adecuados.

- 750 -
Pgina Licencias

La pgina Licencias y certificados se puede utilizar para:


designar el o los nmero(s) de licencia que desea integrar en su aplicacin monopuesto
firmar la aplicacin por medio de un certificado en OS X.

Licencias

La pgina muestra la lista de licencias de despliegue disponibles que puede integrar en su aplicacin.
Por defecto, la lista est vaca. Debe aadir explcitamente su licencia 4D Developer Professional as como cada
licencia 4D Desktop Volume a utilizar en la aplicacin generada. Puede aadir otro nmero 4D Developer Professional
y sus licencias asociadas diferentes de las que estn siendo actualizadas actualmente.
Para aadir o suprimir una licencia, utilice los botones [+] y [-] situados en la parte inferior de la ventana.
Cuando hace clic en el botn [+], aparece una caja de dilogo abrir, mostrando por defecto el contenido de la carpeta
[Licencias] de su mquina. Para mayor informacin sobre la ubicacin de esta carpeta, consulte Carpeta Licencias en
la descripcin del comando Get 4D folder.
Debe designar los archivos que contienen su licencia Developer as como tambin sus licencias de despliegue. Estos
archivos fueron generados o actualizados en el momento de la adquisicin de la licencia 4D Developer Professional y
de las licencias 4D Desktop Volume.
Una vez haya seleccionado un archivo, la lista indica las caractersticas de la licencia que contiene: nmero de producto
o de expansin, fecha de validez, nmero 4D Developer Edition (Master) y ubicacin:

Si la licencia no es vlida, un mensaje le avisar.


Puede designar tantos archivos vlidos como quiera. Durante la generacin de la aplicacin ejecutable, 4D utilizar las
licencias ms apropiadas.
Una vez generada la aplicacin, se incluye automticamente un nuevo archivo de licencia de despliegue en la carpeta
- 751 -
Licenses junto a la aplicacin ejecutable (Windows) o en el paquete (Mac OS).

Certificacin de aplicaciones bajo OS X

El generador de aplicaciones puede firmar las aplicaciones 4D fusionadas bajo OS X (aplicaciones monopuesto, 4D
Server y partes clientes bajo OS X). Firmar una aplicacin permite autorizar su ejecucin por la funcionalidad
Gatekeeper de OS X cuando la opcin "Mac App Store y Desarrolladores identificados" est seleccionada (consulte
"Gatekeeper" ms abajo).
Marque la opcin Firmar aplicacin para incluir la certificacin en el proceso de generacin de la aplicacin para
OS X. 4D comprobar la disponibilidad de los elementos requeridos para la certificacin al momento de la
generacin:

Esta opcin se muestra bajo Windows y OS X, pero slo se tiene en cuenta para las versiones OS X.
Nombre del certificado: escriba el nombre de su certificado de desarrollador validado por Apple en esta rea de
entrada. El nombre del certificado suele ser el nombre del certificado en el utilitario Llaver de acceso:

Para obtener un certificado de desarrollador de Apple, Inc., puede utilizar los comandos del men Llavero de acceso o
vaya a la pgina:
http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html
Nota: este certificado requiere la presencia del utilitario codesign de Apple. Este utilitario se ofrece por defecto y
normalmente se encuentra en la carpeta /usr/bin/. Si se produce un error, asegrese de que este utilitario est presente
en su disco.

Acerca de Gatekeeper

Gatekeeper es una funcin de seguridad de OS X que controla la ejecucin de las aplicaciones descargadas de
Internet. La opcin "Mac App Store y desarrolladores identificados" est seleccionada por defecto a partir de OS
X.8 Mountain Lion (Apple no recomienda seleccionar la opcin de ms bajo nivel "Cualquier sitio"). Si una aplicacin
descargada no viene del Apple Store o no est firmada, es rechazada y no puede ser ejecutarse.

- 752 -
La nueva opcin Firmar aplicacin del Generador de aplicaciones de 4D le permite generar aplicaciones compatibles
con esta opcin por defecto.
Las especificaciones relacionadas con Gatekeeper evolucionan con cada versin de OS X. Ms especficamente, las
firmas codesign son de tipo "v1" y/o "v2" dependiendo del sistema operativo en el que se generan. Del lado
Gatekeeper, acepta las firmas "v1" y/o "v2" en funcin del sistema operativo de ejecucin de la aplicacin final. La
siguiente tabla resume los principios de compatibilidad:
Versin OS X Firma generada por codesign Aceptacin por Gatekeeper
10.8.x y anteriores v1 aplicaciones firmadas v1 nicamente
10.9.0 a 10.9.4 v1 y v2 aplicaciones firmadas v1 o v2
10.9.5 y superiores v1 y v2 aplicaciones firmadas v2 nicamente

- 753 -
Gestin de archivo de datos en las aplicaciones finales

Apertura del archivo de datos

Cuando un usuario lanza por primera vez una nueva aplicacin fusionada o actualizada (monopuesto o o cliente-
servidor), 4D intenta seleccionar un archivo de datos vlido. Varios lugares son examinados sucesivamente por la
aplicacin.
La secuencia de apertura para el lanzamiento de una aplicacin fusionada es:
1. 4D intenta abrir el ltimo archivo de datos abierto (no aplicable durante el lanzamiento inicial).
2. Si no lo encuentra, 4D intenta abrir el archivo de datos en una carpeta de datos por defecto junto al archivo
.4DC en modo de slo lectura (nuevo en 4D v15, se describe a continuacin).
3. Si no lo encuentra, 4D intenta abrir el archivo de datos por defecto estndar (el mismo nombre y la misma
ubicacin que el archivo .4DC).
4. Si no lo encuentra, 4D muestra un dilogo estndar "Abrir archivo de datos".

Definir una carpeta de datos por defecto

Ahora 4D v15 ofrece una manera sencilla para anidar un archivo de datos por defecto en una aplicacin fusionada, por
lo que la aplicacin puede instalarse o actualizarse en las mquinas de los usuarios finales sin necesidad de utilizar una
caja de dilogo adicional. Para definir un archivo de datos por defecto::
El desarrollador debe ofrecer un archivo de datos por defecto (llamado "Default.4DD") y gurdarlo en una carpeta
especifica (llamada "Default Data") dentro del paquete de la base (4dbase). Este archivo por defecto debe ser
entregado junto con todos los dems archivos necesarios, dependiendo de la configuracin de la base: index
(.4DIndx), blobs externos, journal, etc. Es responsabilidad del desarrollador ofrecer archivos de datos por defecto
vlidos. Sin embargo, note que, dado que el archivo de datos por defecto se abre en modo de slo lectura, se
recomienda desactivar la opcin "Usar archivo de registro" en el archivo de estructura original antes de crear el
archivo de datos.
Cuando se crea la aplicacin, la carpeta de datos predeterminada est integrada en la aplicacin fusionada por el
proceso de creacin de la aplicacin. Todos los archivos dentro de esta carpeta de datos predeterminada
tambin estn anidados.
El siguiente grfico ilustra esta nueva funcionalidad:

Cuando el archivo de datos por defecto se detecta al primer lanzamiento, se abri silenciosamente en modo de slo
lectura, lo que le permite ejecutar cualquier operacin personalizados que no modifican el archivo de datos en s.

- 754 -
Actualizacin automtica de las aplicaciones servidor o monopuesto

En principio, la actualizacin de las aplicaciones servidor o mono puesto fusionadas necesitaba una intervencin del
usuario (o la programacin de rutinas sistema personalizadas): cuando una nueva versin de la aplicacin fusionada
estaba disponible, era necesario salir de la aplicacin en produccin y reemplazar manualmente los archivos antiguos
por los nuevos, y luego reiniciar la aplicacin y seleccionar el archivo de datos actual.
Puede automatizar este procedimiento utilizando los siguientes comandos del lenguaje: SET UPDATE FOLDER,
RESTART 4D, y tambin Get last update log path para monitorear las operaciones. La idea es implementar una
funcin en su aplicacin 4D que desencadene la secuencia de actualizacin automtica que se describe a continuacin.
Puede ser un comando de men o un proceso que se ejecuta en el fondo y verifica a intervalos regulares la presencia de
un archivo en el servidor FTP.
Este es el escenario de una actualizacin de una aplicacin servidor o monopuesto fusionada:
1. Usted transfiere, por ejemplo utilizando un servidor FTP, la nueva versin de la aplicacin servidor o mono puesto
fusionada en el equipo en produccin.
2. En la aplicacin en produccin, llame el comando SET UPDATE FOLDER: este comando designa la ubicacin
de la carpeta que contiene la actualizacin "pendiente" de la aplicacin actual.
Opcionalmente, puede volver a copiar en esta carpeta los elementos personalizados de la versin en produccin
(archivos usuario).
3. En la aplicacin en produccin, llame al comando RESTART 4D: este comando desencadena la ejecucin de un
programa utilitario llamado "updater" que sale de la aplicacin actual, la reemplaza utilizando la actualizacin
"pendiente" si se ha definido, y reinicia con el archivo de datos actual. La versin anterior se renombra.
Notas:
Este funcionamiento es compatible con las aplicaciones servidor Windows que ejecutan como un servicio (ver
Registrar una base como servicio).
Tambin tiene nuevas llaves XML para elevar los privilegios de instalacin para que pueda utilizar las carpetas
protegidas bajo Windows (ver el manual BuildV13ClientUpgrades).

Historial de actualizaciones

El procedimiento de instalacin ahora produce un archivo de historial que detalla las operaciones de actualizacin de
las aplicaciones fusionadas (cliente, servidor o monopuesto) en los equipos de destino.
Este archivo es til para analizar los posibles errores que se producen durante el proceso de instalacin.
El historial de actualizaciones se llama YYYY-MM-DD_HH-MM-SS_log_<sequence>.txt, por ejemplo, 2013-08-25_14-
23-00_log_1.txt para un archivo creado el 25 de agosto de 2013 a las 14:23.
Este archivo se crea en la carpeta de la aplicacin "Updater", es decir:
bajo OS X:
{nombreusuario}/Library/Appplication Support/{NombreProducto}/4D/Updater/
bajo Windows:
\{nombreusuario}\AppData\Roaming\{NombreProducto}\4D\Updater\
Puede encontrar la ubicacin de es te archivo en cualquier momento con el nuevo comando Get last update log path.

- 755 -
Personalizar el icono de una aplicacin ejecutable

4D asocia un icono por defecto a las aplicaciones ejecutables. Sin embargo, es posible personalizar el icono para cada
aplicacin.

Bajo Mac OS

4D se encarga de la personalizacin del icono, durante la generacin de la aplicacin ejecutable.


Para hacerlo, debe crear un archivo de icono (tipo icns type), antes de la construccin del archivo de la aplicacin y
ubicarlo junto al archivo de estructura interpretado.
Nota: Apple, Inc. ofrece una herramienta para generar los archivos de icono icns.
Su archivo de icono debe tener el mismo nombre que el archivo de estructura interpretado e incluir la extensin .icns.
4D tiene en cuenta automticamente este archivo durante la generacin de la aplicacin ejecutable (el archivo .icns se
renombra NombreAplicacin.icns y se copia en la carpeta Resources; se actualiza la entrada CFBundleFileIcon del
archivo info.plist).

Bajo Windows

4D se encarga de la personalizacin del icono, durante la generacin de la aplicacin ejecutable.


Para hacerlo, debe crear un archivo de icono (extensin .ico) y ubicarlo junto al archivo de estructura interpretado.
Su archivo de icono debe tener el mismo nombre que el archivo de estructura interpretado e incluir la extensin .ico.
4D tiene en cuenta automticamente este archivo durante la generacin de la aplicacin ejecutable.

- 756 -
Desarrollar e instalar componentes 4D

Presentacin
Instalacin y compatibilidad de los componentes
Desarrollo de componentes
Interaccin entre componentes y bases locales

- 757 -
Presentacin

Un componente 4D es un conjunto de objetos 4D representando una o ms funcionalidades que se pueden instalar en


diferentes bases. Por ejemplo, puede desarrollar un componente 4D de correo electrnico que maneje todos los
aspectos del envo, recepcin y almacenamiento de e-mails en bases 4D.
La creacin e instalacin de componentes 4D se efecta directamente desde 4D. Bsicamente, los componentes se
administran como plugins de acuerdo a los siguientes principios:
Un componentes es un simple archivo de estructura (compilado o no) de arquitectura estndar o en forma de
paquete (ver Extensin .4dbase ).
Para instalar un componente en una base, slo necesita copiarlo en la carpeta Componentes de la base,
ubicada junto al archivo de estructura. Es posible utilizar un atajo (Windows) o un alias (Mac OS). Para
desinstalarlo, simplemente suprmalo de la carpeta.
No es posible utilizar tablas estndar o archivos de datos en los componentes 4D. Sin embargo, un componente
puede crear y/o utilizar tablas, campos y archivos de datos utilizando los mecanismos de bases externas. Las
bases externas son bases 4D independientes manipuladas con los comandos SQL. Para mayor informacin,
consulte Sobre las bases externas.
La creacin de componentes requiere una licencia apropiada. Por otra parte, la instalacin y utilizacin de componentes
en una aplicacin 4D no tiene restricciones.

Definiciones

Los mecanismos de gestin de los componentes en 4D requieren la implementacin de los siguientes trminos y
conceptos:
Base matriz: base de datos 4D utilizada para desarrollar el componente. La base matriz es una base estndar,
sin atributos especficos. Una base matriz forma un solo componente. La base matriz est diseada para ser
copiada, compilada o no, en la carpeta Components de la base que utilizar el componente (base local).
Base local: base en la cual se instala y utiliza un componente.
Componente: base matriz, compilada o no, copiada en la carpeta Components de la base local y cuyo contenido
se utiliza en la base local.
Formulario Proyecto: formulario no relacionado con una tabla. Los formularios de proyecto son particularmente
adaptados a la generacin de componentes. Para mayor informacin sobre los diferentes tipos de formularios,
consulte Formularios tabla y formularios proyecto.
Formulario Tabla (tambin llamado formulario estndar): formulario asociado a una tabla. Este tipo de
formulario no puede utilizarse en un componente.
Note que una base puede ser a la vez matriz y local, es decir, una base matriz puede utilizar uno o ms componentes.
Sin embargo, un componente no puede utilizar sub-componentes.

Proteccin de componentes: Compilacin

Por defecto, todos los mtodos de proyecto de una base matriz instalados como componente son virtualmente visibles
desde la base local. En particular:
Los mtodos de proyecto compartidos se encuentran en la Pgina Mtodos del Explorador y pueden llamarse en
los mtodos de la base local (ver Compartir mtodos proyecto). Su contenido puede seleccionarse y copiarse
en el rea de previsualizacin del Explorador. Tambin pueden verse en el depurador. Sin embargo no es posible
abrirlos en el editor de mtodos ni modificarlos.
Los otros mtodos de proyecto de la base matriz no aparecen en el Explorador pero pueden igualmente verse en
el depurador de la base local.
Para proteger eficientemente los mtodos de proyecto de un componente, simplemente compile la base matriz y
ofrzcala en forma de archivo .4dc (base compilada que no contiene cdigo interpretado). Cuando una base matriz
compilada se instala como componente:

- 758 -
Los mtodos de proyecto compartidos son accesibles en la Pgina Mtodos del Explorador y pueden llamarse
en los mtodos de la base local. Sin embargo, su contenido no aparecer en el rea de previsualizacin ni en el
depurador.
Los otros mtodos de proyecto de la base matriz nunca aparecen.

- 759 -
Instalacin y compatibilidad de los componentes

Carpeta Components

Para instalar un componente en una base 4D, simplemente copie el archivo de estructura de la base matriz en la
carpeta Components accesible para la base local. Puede colocar la carpeta Components en dos partes:
A nivel de la aplicacin 4D ejecutable: en este caso, los componentes estn disponibles para todas las bases de
datos abiertas por esta aplicacin.
Al mismo nivel que el archivo de estructura de la base: en este caso, los componentes slo estn disponibles en
esta base.
Para mayor informacin, consulte Ubicacin de las carpetas Plugins y Components.
4D busca matrices del tipo .4db ((base matriz interpretada), .4dc(base matriz compilada) o .4dbase (base matriz de tipo
paquete) en la carpeta Components. Los otros elementos, en particular los archivos de datos o archivos de estructura
usuario (.4DA), se ignoran. Puede utilizar alias o atajos a las bases matrices. Esto puede ser muy til durante la fase de
desarrollo del componente ya que toda modificacin efectuada en la base matriz pasa inmediatamente a todas las
bases locales.
La carpeta Components puede contener todo archivo o carpeta personalizada necesaria para el funcionamiento del
componente (xliff, imgenes, etc.). Por otra parte, no puede contener plug-ins o subcarpetas Components. Si estos
elementos estn presentes, son ignorados por 4D. Los plug-ins utilizados por los componentes deben instalarse en la
base local o en 4D.

Interpretado / Compilado / Unicode

Una base local ejecutada en modo interpretado pude utilizar indiferentemente componentes interpretados o compilados,
en modo Unicode o no. Es posible instalar componentes interpretados y compilados en la misma base local. Sin
embargo, si varios componentes compilados estn presentes, deben ejecutarse en el mismo modo Unicode.
Una base local ejecutada en modo compilado no puede utilizar un componente interpretado. En este caso, slo se
pueden utilizar componentes compilados. Igualmente, el modo Unicode debe ser el mismo para las bases locales y los
componentes.
La siguiente tabla resume las posibilidades de uso de componentes:
Componentes Componentes
interpretados compilados
No No
Unicode Unicode
Unicode Unicode
Base local
Unicode X X X (*) X (*)
interpretada
No X X X (*) X (*)
Unicode
Base local
Unicode - - X -
compilada
No
- - - X
Unicode
(*) Si se instalan varios componentes compilados, deben funcionar en el mismo modo Unicode.
Notas:
Una base interpretada que contiene componentes interpretados puede compilarse si no llama mtodos del
componente interpretado. De lo contrario, aparece una caja de dilogo de alerta al intentar lanzar la compilacin y
la operacin no se llevar a cabo.
Por lo general, un mtodo interpretado puede llamar un mtodo compilado y no al contrario, excepto utilizando los
comandos EXECUTE METHOD y EXECUTE FORMULA.
Para mayor informacin sobre intercambios entre componentes y bases locales componentes, consulte Interaccin
entre componentes y bases locales.

Mac OS / Windows

Un componente interpretado desarrollado bajo Mac OS puede instalarse en un entorno Windows y viceversa.

- 760 -
Por otra parte, los componentes compilados deben ejecutarse en la misma plataforma de compilacin, a menos que
hubieran sido compilados para ambas plataformas.

Cliente-Servidor

Los componentes instalados en la base servidor se transfieren automticamente a las mquinas clientes va un
mecanismo parecido al de los plug-ins.
Por otra parte, no se recomienda modificar un componente en cliente/servidor ya que los cambios se almacenarn
localmente y el componente no se actualizar en la mquina servidor.

Carga de los componentes al inicio

Los componentes se cargan al abrir la base local.


Si un componente contiene cdigo compilado y cdigo interpretado que no corresponde, se muestra un mensaje
de error y el componente no se carga en la base local.
Si falta un componente al inicio, la base local no abre y se genera el error -10509 (Imposible abrir la base). Puede
verificar la presencia de componentes al abrir una base utilizando el comando COMPONENT LIST. Si quiere
utilizar las bases locales que funcionan con o sin ciertos componentes, puede utilizar el siguiente tipo de cdigo:

ARRAY TEXT($arrComponents_Txt;0)
COMPONENT LIST($arrComponents_Txt)
If(Find in array($arrComponents_Txt;"ComponentA")>0) // El componente A no tiene
que estar presente
EXECUTE METHOD("ComponentAMethod")
End if

Ejecutar cdigo de inicializacin

Un componente puede ejecutar automticamente cdigo 4D al abrir o cerrar la base local, por ejemplo para cargar y/o
guardar las preferencias o estados de usuario relacionados con el funcionamiento de la base local.

La ejecucin del cdigo de inicializacin o de cierre se efecta por medio del Mtodo base On Host Database
Event. Para obtener ms informacin, consulte la descripcin de este mtodo base en el manual Lenguaje de 4D.

Tenga en cuenta que por razones de seguridad, la ejecucin de este mtodo de base debe ser autorizada
expresamente en la base local para que pueda llamarlo. Para ello, debe seleccionar la opcin Ejecutar el mtodo "On
Host Database Event" en la Pgina Seguridad de las Propiedades de la base:

Conflictos de nombres (ocultar mtodos)

A diferencia de otros objetos compartidos (ver Objetos compartidos y no compartidos), los mtodos de proyecto
compartidos tienen una existencia fsica en la base y no se crean simplemente por la ejecucin de cdigo.
Por consiguiente, un conflicto de nombre puede ocurrir cuando un mtodo de proyecto compartido del componente tiene
el mismo nombre que el mtodo de proyecto de la base local. En este caso, cuando el cdigo se ejecuta en el contexto
de la base local, es el mtodo de la base local el que se llama. Esto significa que es posible ocultar un mtodo de
componente con un mtodo personalizado (por ejemplo para obtener una funcionalidad diferente).
Por supuesto, cuando se ejecuta el cdigo en el contexto del componente, es el mtodo del componente el que se
llama.
Esta mscara se indica con una advertencia en caso de compilacin de la base local.
Nota: si dos componentes comparten mtodos con el mismo nombre, se genera un error en el momento de la
compilacin de la base local.

- 761 -
Desarrollo de componentes

Como un componente se presenta en forma de una base de datos 4D, el desarrollo de un componente es similar al
desarrollo de una funcionalidad de una base. Existen sin embargo restricciones y reglas especficas relacionadas con la
naturaleza de los componentes.

Objetos utilizables y no utilizables

Un componente puede llamar a la mayora de los objetos de 4D: mtodos de proyecto, formularios de proyecto, barras
de mens, listas de seleccin, imgenes de la librera, etc.
Slo los siguientes objetos no pueden ser utilizados por un componente:
tablas y campos 4D estndar (pero puede crear y utilizar las tablas y campos vas las bases externas),
formularios tabla sus mtodos de formulario asociados (por otra parte, un componente puede llamar un formulario
tabla de la base local),
formularios usuario,
mtodos de base y triggers.
No es necesario eliminar esto elementos si existen en las bases matrices. Cuando un objeto no utilizable est
presente, simplemente se ignora una vez instalado el componente.
Nota: los usuarios y grupos as como los posibles derechos de acceso definidos en la base matriz se ignoran en la
base local.
Slo son visibles los mtodos de proyecto compartidos por el componente y pueden seleccionarse en modo Diseo en
la base local. Por otra parte, los mtodos de proyecto compartidos de la base local pueden ser llamados por el
componente. Para mayor informacin consulte Compartir mtodos proyecto.
Slo los formularios "publicados" por el componente pueden ser visibles e integrarse en los formularios de la base local
como subformularios. Para mayor informacin, consulte Compartir formularios.
Los otros objetos del componente (formularios de proyecto, listas de seleccin, mens, etc.) pueden ser utilizados por el
componente pero no sern accesibles como objetos de estructura desde la base local. Note que ciertos objetos estn
particionados y otros son compartidos entre la base local y los componentes. Para mayor informacin, consulte Objetos
compartidos y no compartidos.
Un componente puede utilizar los plug-ins instalados en la aplicacin 4D o en la base local. No es posible instalar plug-
ins en la carpeta del componente.
Los mtodos base y los parmetros genricos de las bases matrices (carpeta Web, Preferencias, etc.) nunca se tienen
en cuenta.

Comandos no utilizables

Los siguientes comandos no son compatibles para ser utilizados dentro de un componente porque modifican el archivo
de estructura, abierto en modo slo lectura. Su ejecucin en un componente provoca el error -10511, The
CommandName command cannot be called from a component:
ON EVENT CALL
Method called on event
SET PICTURE TO LIBRARY
REMOVE PICTURE FROM LIBRARY
SAVE LIST
ARRAY TO LIST
EDIT FORM
CREATE USER FORM
DELETE USER FORM
CHANGE PASSWORD
EDIT ACCESS
Set group properties
Set user properties
DELETE USER
CHANGE LICENSES
BLOB TO USERS
SET PLUGIN ACCESS
- 762 -
Notas:
El comando Current form table devuelve Nil cuando se llama en el contexto de un formulario de proyecto. Por lo
tanto, no puede utilizarse en un componente.
Los comandos SQL de definicin de datos (CREATE TABLE, DROP TABLE, etc.) no pueden utilizarse en el
marco de componentes.

Uso de formularios

Slo los formularios proyecto (formularios no asociados a una tabla especfica) pueden utilizarse en un
componente. Todos los formularios de proyecto presentes en la base matriz pueden ser utilizados por el
componente.
Un componente puede llamar a los formularios tabla de la base local. Note que en este caso es necesario utilizar
punteros en lugar de nombres de tabla entre corchetes [] para especificar los formularios en el cdigo del
componente.
Nota: si un componente utiliza el comando ADD RECORD, el formulario de entrada actual de la base local se
mostrar, en el contexto de la base local. Por lo tanto, si el formulario incluye variables, el componente no tendr
acceso a l (ver Interaccin entre componentes y bases locales).

Puede publicar formularios de componentes como subformularios en las bases locales. Esto significa que puede,
particularmente, desarrollar componentes ofreciendo objetos grficos. Por ejemplo, los Widgets ofrecidos por 4D
estn basados en el uso de subformularios en componentes. Esto se describe en Compartir formularios.

Uso de tablas y campos

Un componente no puede utilizar las tablas y los campos definidos en la estructura 4D de la base matriz. Sin embargo,
puede crear y utilizar las bases externas, y utilizar las tablas y los campos en funcin de sus necesidades. Las bases
externas se crean y administran va el lenguaje SQL. Una base externa es una base 4D independiente de la base 4D
principal, pero manipulada desde la base 4D principal. Utilizar una base externa significa designar temporalmente esta
base como base actual, en otras palabras, como la base objetivo de peticiones SQL ejecutadas por 4D. Puede crear
bases externas utilizando el comando SQL CREATE DATABASE.
Para mayor informacin sobre las bases externas, consulte Sobre las bases externas.

Ejemplo
El siguiente cdigo se incluye en un componente y efecta tres acciones bsicas con una base de datos externa:
crea la base de datos externa si no existe,
aade datos en la base de datos externa,
lectura de datos desde la base de datos externa.
Creacin de la base de datos externa:

<>MyDatabase:=Get 4D folder+"\MyDB" // (Windows) guarda los datos en un directorio


autorizado
Begin SQL
CREATE DATABASE IF NOT EXISTS DATAFILE :[<>MiBase];
USE DATABASE DATAFILE :[<>MiBase];
CREATE TABLE IF NOT EXISTS KEEPIT
(
ID INT32 PRIMARY KEY,
kind VARCHAR,
name VARCHAR,
code TEXT,
sort_order INT32
);

CREATE UNIQUE INDEX id_index ON KEEPIT (ID);

USE DATABASE SQL_INTERNAL;

End SQL

Escritura en la base de datos externa:

- 763 -
$Ptr_1:=$2 // recuperacin de los datos de la base local por medio de punteros
$Ptr_2:=$3
$Ptr_3:=$4
$Ptr_4:=$5
$Ptr_5:=$6
Begin SQL

USE DATABASE DATAFILE :[<>MiBase];

INSERT INTO KEEPIT


(ID, kind, name, code, sort_order)
VALUES
(:[$Ptr_1], :[$Ptr_2], :[$Ptr_3], :[$Ptr_4], :[$Ptr_5]);

USE DATABASE SQL_INTERNAL;

End SQL

Lectura desde una base externa:

$Ptr_1:=$2 // acceso a los datos de la base local por medio de punteros


$Ptr_2:=$3
$Ptr_3:=$4
$Ptr_4:=$5
$Ptr_5:=$6

Begin SQL

USE DATABASE DATAFILE :[<>MiBase];

SELECT ALL ID, kind, name, code, sort_order


FROM KEEPIT
INTO :$Ptr_1, :$Ptr_2, :$Ptr_3, :$Ptr_4, :$Ptr_5;

USE DATABASE SQL_INTERNAL;

End SQL

Uso de recursos

Los componentes pueden utilizar recursos (antiguos recursos Mac OS clsicos o archivos de tipo XLIFF).
Conforme a los principios de gestin de recursos (ver Arquitectura de las bases ), los archivos de recursos de los
componentes deben ubicarse en una carpeta Resources, ubicada junto al archivo .4db o .4dc del componente. Si el
componente es de arquitectura .4dbase (arquitectura recomendada), la carpeta Resources
debe ubicarse dentro de esta carpeta..
Los mecanismos automticos son operacionales: los archivos XLIFF presentes en la carpeta Resources de un
componente sern cargados por este componente. Un componente tambin utilizar automticamente los recursos Mac
OS clsicos ubicados en el archivo .rsr junto al archivo .4db o .4dc. Los archivos de recursos clsicos ubicados en la
carpeta Resources deben cargarse explcitamente en el componente utilizando los comandos del tema Recursos.
En una base local contiene uno o ms componentes, cada componente as como las bases locales tienen su propia
cadena de recursos. Los recursos son particionados entre las diferentes bases: no es posible acceder a los recursos
del componente A desde el componente B o la base local (ver Objetos compartidos y no compartidos).

Ayuda en lnea para componentes

Un mecanismo especfico ha sido implementado para permitir a los desarrolladores aadir ayudas en lnea a sus
componentes. El principio es el mismo al propuesto para las bases de datos 4D (ver Anexo A: Ayuda en lnea
personalizada):
la ayuda del componente debe ofrecerse como archivo .htm, .html o (Windows nicamente) .chm,
el archivo de ayuda debe ubicarse junto al archivo de estructura del componente y tener el mismo nombre que el
archivo de estructura,
- 764 -
este archivo se carga automticamente en el men Ayuda de la aplicacin con la etiqueta Ayuda para... seguido
por el nombre del archivo de ayuda.

- 765 -
Interaccin entre componentes y bases locales

Visualizacin de los componentes

Cuando un componente se instala en una base local, su nombre aparece en la Current form table del Explorador de la
base local, en el tema Mtodos componente. Los mtodos proyecto compartidos se listan como listas jerrquicas y si el
componente es interpretado, su contenido se muestra en el rea de previsualizacin.

Para mayor informacin sobre la definicin de los mtodos compartidos, consulte Compartir mtodos proyecto.

Objetos compartidos y no compartidos

Ciertos tipos de objetos definidos por un componente se desarrollan en un espacio de ejecucin propio, el cual elimina
las posibilidades de conflictos con los objetos existentes de la base local y con otros componentes. Estos objetos se
llaman no compartidos o particionados. Por ejemplo, las variables estn particionadas, lo cual significa que una
variable <>Mivar de tipo Entero largo creada y manipulada por un componente puede coexistir con una variable <>Mivar
variable de tipo Texto creada y utilizada por la base local (o por otro componente).
Otros objetos comparten el mismo espacio de ejecucin entre la base local y los componentes. El empleo de estos
objetos requiere tomar ms precauciones pero permite a la base local y a los componentes comunicarse mutuamente.
Estos objetos se llaman compartidos o no-particionados.
Por ejemplo, los conjuntos son no particionados, lo cual significa que si un componente crea el conjunto miConjunto, se
borrar si la base local ejecuta la instruccin:

CLEAR SET(mySet)

Objetos no compartidos
Los objetos no compartidos (particionados) entre los componentes y las bases locales son los siguientes:
hojas de estilo
mensajes de ayuda
listas de seleccin
imgenes de la librera
mens y barras de mens creadas va el editor de mens
mtodos de proyecto sin la propiedad Compartido por componentes y base local
semforos
procesos
- 766 -
variables (locales, procesos e interproceso)
variables sistema (OK, Document, etc.)
formularios tabla
formularios proyecto sin la propiedad "Publicar como subformulario"
recursos y referencias a los archivos de recursos abiertos

Objetos compartidos
Los objetos compartidos (no particionados) entre los componentes y las bases locales son los siguientes:

conjuntos
selecciones temporales
listas jerrquicas utilizando una referencia (creadas va los comandos New list, Load list, Copy list o BLOB to
list)
mens y barras de mens utilizando la referencia devuelta por el comando Create menu.
mtodos de proyecto con la propiedad Compartido por componentes y base local
formularios proyecto con la propiedad "Publicada como subformulario en la base local"
referencias de estructura XML
referencias de archivos abiertos (excepto para los archivos de recursos)
punteros
Nota: por supuesto, los objetos no utilizables presentes en una base matriz son ignorados por la base local (ver
Objetos utilizables y no utilizables).

Compartir mtodos proyecto

Todos los mtodos proyecto de una base matriz se incluyen por definicin en el componente (la base es el
componente), lo cual significa que pueden ser llamados y ejecutados por el componente.
Por otra parte, por defecto estos mtodos de proyecto no sern visibles, ni pueden ser llamados por la base local. En la
base matriz debe designar explcitamente los mtodos que quiere compartir con la base local. Estos mtodos de
proyecto sern visibles en la Current form table del Explorador y pueden llamarse en el cdigo de la base local (pero
no pueden ser modificados en el editor de mtodos de la base local). Estos mtodos constituyen los puntos de entrada
en el componente.
Por el contrario, por razones de seguridad, por defecto un componente no puede ejecutar mtodos proyecto que
pertenezcan a la base local. En algunos casos, podra necesitar autorizar a un componente a acceder a los mtodos de
proyecto de su base local. Para hacerlo, debe designar explcitamente los mtodos proyecto de la base local que quiere
que sean accesibles a los componentes.

Esta configuracin se efecta va la propiedad Compartido por componentes y base principal en la caja de dilogo
de propiedades de los mtodos:

- 767 -
Tambin es posible aplicar esta propiedad a los diferentes mtodos a la vez va la caja de dilogo de atributos globales
(accesible desde el men contextual del Explorador) (ver Cambio global de atributos de mtodos).
El efecto de esta opcin est definido por el contexto de utilizacin de la base: si la base se utiliza como un
componente, el mtodo ser accesible en la base local y visible en el Explorador. Si la base es una base local, el
mtodo ser utilizable por los componentes.

Compartir formularios

Puede compartir los formularios de la base matriz y utilizarlos como subformularios en la base local.

Publicar un subformulario (componente)


Del lado del componente (base matriz), slo los subformularios proyecto pueden especificarse como subformularios
publicados.

Para que un formulario de componente pueda ser seleccionado como un subformulario en una base local, debe haber
sido expresamente designado como "formulario publicado" en la caja de dilogo de las propiedades del formulario va
la opcin Publicado como subformulario en la base local:

- 768 -
Nota: esta caja de dilogo es accesible va el comando Propiedades del formulario del men contextual o del men de
accin del Explorador (ver Propiedades del formulario (Explorador)).

Debe administrar las interacciones entre el subformulario y los formularios padres de la base local utilizando los
mecanismos y herramientas descritas en Subformularios en pgina.

Uso de un subformulario de componente (base principal)


Del lado de la base principal, es imperativo que los subformularios provenientes de componentes se utilicen en modo
pgina: en el editor de formularios, cuando el objeto subformulario se selecciona en el formulario padre, deselecciona la
opcin Subformulario listado en el tema "Subformulario" de la Lista de Propiedades.
Luego elija, <Ninguno> en el men "Tabla". Los formularios publicados por los componentes se listan en el men
"Formulario detallado". Su nombre es seguido por el del componente entre parntesis. Puede seleccionar de esta lista
el formulario a utilizar en la lista "Formulario detallado".

Una nueva instancia del objeto seleccionado se crea inmediatamente en el formulario.

Pasar variables

Los componentes y las bases locales no comparten las variables locales proceso o interproceso. La nica forma de
acceder a las variables del componente desde la base local y viceversa es utilizando punteros.
Ejemplo utilizando un array:
En la base local:

- 769 -
ARRAY INTEGER(MiArray;10)
AMethod(->MiArray)

En el componente, el mtodo de proyecto AMethod contiene:

APPEND TO ARRAY($1->;2)

Ejemplos utilizando variables:

C_TEXT(mivariable)
component_method1(->mivariable)
C_POINTER($p)
$p:=component_method2(...)

El uso de punteros para permitir la comunicacin de los componentes y la base local requiere que se tengan en cuenta
las siguientes especificaciones:
El comando Get pointer no devolver un puntero a una variable de la base local si se llama desde un componente
y viceversa.
La arquitectura de los componentes autoriza la coexistencia, dentro de la misma base interpretada, de
componentes interpretados y compilados (por el contrario, slo los componentes compilados pueden utilizarse en
una base compilada). El uso de punteros en este caso debe respetar el siguiente principio: el intrprete puede
desapuntar un puntero construido en modo compilado, pero no es posible desapuntar un puntero construido en
modo interpretado.
Vamos a ilustrar este principio con el siguiente ejemplo: dados dos componentes, C (compilado) e I (interpretado),
instalados en la misma base local.
si el componente C define la variable miCvar, el componente I puede acceder al valor de esta variable
utilizando el puntero ->miCvar.
si el componente I define la variable miIvar, el componente C no puede acceder a esta variable utilizando el
puntero ->mivarI. Esta sintaxis produce un error de ejecucin.
La comparacin de punteros va el comando RESOLVE POINTER no es recomendable con componentes ya que
el principio de particionamiento de variables autoriza la coexistencia de variables del mismo nombre pero con
contenido radicalmente diferente en un componente y la base local (u otro componente). El tipo de variable puede
incluso ser diferente en ambos contextos.
Si los punteros miptr1 y miptr2 apuntan cada uno a una variable, siguiente la comparacin producir un resultado
incorrecto:

RESOLVE POINTER(miptr1;vNomVar1;vnumtabla1;vnumcamp1)
RESOLVE POINTER(miptr2;vNomVar2;vnumtabla2;vnumcamp2)
If(vNomVar1=vNomVar2)
//Esta prueba devuelve True aunque las variables sean diferentes

En este caso, es necesario utilizar la comparacin de punteros:

If(miptr1=miptr2) //Esta prueba devuelve False

Acceso a las tablas de la base local

Aunque los componentes no pueden utilizar tablas, los siguientes comandos pueden llamarse dentro de un componente:
DEFAULT TABLE
NO DEFAULT TABLE
Current default table
En efecto, estos comandos son tiles cuando un componente debe utilizar tablas de la base local. En este caso los
punteros permitirn a la base local y al componente comunicarse entre s. Por ejemplo, este es un mtodo que puede
ser llamado desde un componente:

C_LONGINT($1) //Nmero de tabla en la base local


$punterotabla:=Table($1)
DEFAULT TABLE($punterotabla->)
CREATE RECORD //Usa la tabla por defecto de la base local
- 770 -
$punterocampo:=Field($1;1)
$punterocampo->:="value"
SAVE RECORD

Alcance de los comandos del lenguaje

Excepto por Comandos no utilizables, un componente puede utilizar todo comando del lenguaje 4D.
Cuando se llaman los comandos desde un componente, se ejecutan en el contexto del componente, excepto por el
comando EXECUTE METHOD que utiliza el contexto del mtodo especificado por el
comando. Note tambin que los comandos de lectura del tema Grupos y usuarios pueden ser utilizados desde un
componente pero leern los usuarios y grupos de la base local (un componente no tiene
sus propios usuarios y grupos).
Los comandos SET DATABASE PARAMETER y Get database parameter son la excepcin a este principios: su
alcance es global a la base. Cuando estos comandos son llamados desde un componente, se aplican a la base local.
Adems, se han definido medidas especficas para los comandos Structure file y Get 4D folder cuando se utilizan en
el marco de componentes (ver el manual de Lenguaje).
El comando COMPONENT LIST permite conocer la lista de los componentes cargados por la base local.

Depuracin

Cuando utiliza componentes no compilados, su cdigo aparece en el depurador estndar de la base local.
El depurador respeta los espacios de ejecucin de los objetos particionados. Si muestra el valor de la variable var1 de
la base local en la ventana de evaluacin luego ejecute el cdigo que pertenece al componente que contiene igualmente
una variable var1, el valor mostrado no se actualizar. Debe mostrar otra instancia de la variable en la ventana de
evaluacin para obtener su valor en el contexto actual.

- 771 -
Anexos

Anexo A: Ayuda en lnea personalizada


Anexo B: 4D utilizando lneas de comando
Anexo C: Arquitectura XLIFF
Anexo D: Uso de diccionarios especializados

- 772 -
Anexo A: Ayuda en lnea personalizada

4D permite asociar un archivo de ayuda en lnea personalizado a cada una de sus bases.
El sistema de ayuda en lnea personalizado de 4D es compatible con todos los entornos 4D (base monopuesto o
cliente-servidor, interpretada o compilada, ejecutada con 4D Desktop Interpreted, o integrado con 4D Desktop Volume,
etc.).
4D soporta dos formatos de archivos de ayuda: CHM y HTML. Estos formatos corresponden a los estndares de la
industria informtica.
Adems, puede asociar una seccin especfica de este archivo de ayuda a cada formulario de la base, lo cual le
permite ofrecer una ayuda contextual en lnea.

Configurar el sistema de ayuda en lnea de la base

Formatos de archivos
Debe utilizar uno de los siguientes formatos:
Formato HTML compilado (extensin .CHM): formato estndar de ayuda en lnea para Windows. Los archivos
CHM son abiertos por la aplicacin Microsoft HTML Help Executable (HH.EXE), integrada al sistema operativo.
Estos archivos son compatibles con Windows XP y Windows Vista.
Microsoft ofrece gratuitamente la aplicacin HTML Help Workshop, necesaria para la preparacin y
compilacin de los archivos .CHM.
Formato HTML (extensin .HTM ): este es el formato HTML. Con este formato puede crear una ayuda en lnea
idntica para todas las plataformas. La ayuda en lnea se muestra en un navegador web.

Asociar el archivo de ayuda en lnea a la base


Una vez generado el archivo Ayuda, debe asociarlo a una base de manera que se abra cuando los usuarios llamen la
ayuda en lnea (ver Llamar la ayuda en lnea desde una base) Para asignar un archivo de ayuda a una base,
asegrese de que:
El nombre del archivo de ayuda sea idntico al del archivo de estructura de la base. Obligatoriamente debe tener
la extensin .CHM o .HTM, dependiendo de su formato y plataforma.
El archivo de ayuda est ubicado junto al archivo de estructura o en la carpeta Resources ubicada en el mismo
nivel del archivo de estructura de la base.
4D Server: si quiere que la ayuda sea accesible a todos los equipos clientes, ubique el archivo en la carpeta
Resources. Entonces ser transferido automticamente a las estaciones de trabajo de los clientes.
Los plug-ins pueden tener un archivo de ayuda, el cual debe ubicarse en la carpeta PlugIns tanto en aplicaciones
monopuesto como en cliente/servidor. El archivo de ayuda de un plug-in debe tener el mismo nombre del plug-in con la
extensin .CHM o .HTM. Par los plug-ins propuestos en forma de carpeta, el archivo ayuda debe ubicarse:
- junto al ejecutable del plug-in, en /Contents/MacOS o /Contents/Windows
- o en la carpeta /Contents/Resources del plug-in.
Los componentes pueden igualmente incluir un archivo de ayuda personalizado, ubicado junto al archivo de estructura
del componente. Para mayor informacin, consulte Ayuda en lnea para componentes.

Crear una ayuda contextual en lnea


La creacin de ayuda en lnea contextual se realiza asociando un nmero de seccin con cada uno de sus formularios.
Cuando llama la ayuda en lnea desde un formulario, se muestra la pgina de ayuda correspondiente. Cuando el usuario
llama la ayuda en lnea, se muestra el tema de ayuda que tiene el mismo ID que el formulario.
La ayuda en lnea contextual est disponible:
bajo Windows, si la ayuda en lnea est en formato CHM.
bajo Windows y Mac OS, si la ayuda en lnea est en formato HTML.
La asignacin de un nmero de identificacin a un formulario se efecta en las propiedades del formulario, para mayor
informacin, consulte la seccin Ayuda.
Una vez haya asignado el nmero de identificacin para el formulario, necesita asignar el mismo nmero de
identificacin al archivo ayuda. Esta operacin vara de acuerdo al formato que est utilizando:
Para los archivos CHM, consulte la documentacin de la aplicacin HTML Help Workshop.
- 773 -
Para los archivos HTML, debe declarar cada seccin con la ayuda de un ancla y asignarle un nmero.
Una seccin se declara utilizando un marcador de tipo:

<A NAME="Section">

Por ejemplo:

<A NAME="21">

El URL de la seccin es de esta forma:

<A HREF="#Section">...</A>

Por ejemplo:

<A HREF="#21">...</A>

Si el nmero de seccin pasado al formulario es 0 o si no existe en el archivo, 4D muestra la primera pgina del archivo
de ayuda.

Llamar la ayuda en lnea desde una base

En 4D, puede llamar una ayuda en lnea personalizada de una base de datos de dos formas:
Eligiendo Ayuda de NombreBase en el men Ayuda. En este caso, se muestra la primera pgina del archivo
ayuda.
presionando la tecla F1 (Mac OS y Windows) o la tecla Help (Mac OS nicamente) cuando se muestra un
formulario en modo Aplicacin. En este caso, si un nmero de ayuda ya ha sido asociado al formulario, se muestra
la pgina correspondiente (ayuda contextual); de lo contrario se muestra la primera pgina del archivo ayuda.
Nota: bajo Mac OS, el funcionamiento de la tecla F1 puede personalizarse. En modo Aplicacin, cuando el usuario
presiona la tecla F1:
si un archivo NomBase.HTM existe junto al archivo de estructura de la base, se implementa el mecanismo
estndar de gestin de ayudas en lnea de 4D. El archivo de ayuda se abre en una ventana del navegador por
defecto.
De lo contrario, 4D no hace nada y el desarrollador debe procesar el evento como quiera. Esto permite configurar
sistemas de ayuda totalmente personalizados o asignar otra funcin a la tecla F1.

- 774 -
Anexo B: 4D utilizando lneas de comando

Puede utilizar la Terminal de Mac OS X o la consola de Windows para manejar sus aplicaciones 4D (4D y 4D Server)
por lneas de comando. Esta funcionalidad le permite abrir o cerrar una base de datos remotamente, lo cual puede ser
particularmente til para los administradores de servidores web.

Informacin bsica

Puede ejecutar las lneas de comando relativas a las aplicaciones 4D utilizando el Terminal OS X o la consola de
Windows.
Bajo OS X, debe utilizar el comando open.
Bajo Windows, puede pasar los argumentos directamente.
Nota: bajo OS X, puede pasar directamente los argumentos accediendo a la carpeta donde se encuentra la aplicacin
en el interior del paquete (ruta Contents/MacOS). Por ejemplo, si el paquete 4D se encuentra en la carpeta MiCarpeta,
debe escribir la lnea de comandos de la siguiente manera: /MyFolder/4D.app/Contents/MacOS/4D &. Sin embargo, le
recomendamos que utilice el comando open.

Comandos y argumentos

Esta es una descripcin de las lneas de comandos y de sus argumentos los cuales son soportados por las aplicaciones
4D:
Lanzar la aplicacin
Sintaxis: RutaAplicacion
Ejemplo OS X:
#codeRAW]open ~/Desktop/4D.app[#/codeRAW]
Ejemplo Windows:
%HOMEPATH%\Desktop\4D\4D.exe

La accin de este comando es idntica a un doble clic en la aplicacin 4D. La aplicacin se ejecuta y aparece la
caja de dilogo de seleccin de base de datos.
Lanzar la aplicacin con un archivo de estructura
Sintaxis: RutaAplicacion[--structure] rutaEstructura| rutaPaquete
Ejemplo OS X:
open ~/Desktop/4D.app --args ~/Documents/myDB.4dbase

Ejemplo Windows:
%HOMEPATH%\Desktop\4D\4D.exe %HOMEPATH%\Documents\myDB.4dbase\myDB.4db

Este comando lanza la aplicacin y abre el archivo de estructura diseado con el archivo de datos actual. No
aparece la caja de dilogo.
Lanzar la aplicacin con un archivo de estructura y un archivo de datos
Sintaxis: RutaAplicacion --estructura rutaEstructura | packagePath --data dataPath
Ejemplo OS X:
open ~/Desktop/4D.app --args --structure ~/Documents/myBase.4dbase --data
~/Documents/data/myData.4DD

Ejemplo Windows:
- 775 -
%HOMEPATH%\Desktop\4D\4D.exe --structure
%HOMEPATH%\Documents\myBase.4dbase\myDB.4db --data
%HOMEPATH%\Documents\data\myData.4DD
o:
%HOMEPATH%\Desktop\4D\4D.exe /structure
%HOMEPATH%\Documents\myBase.4dbase\myDB.4db /data
%HOMEPATH%\Documents\data\myData.4DD

Este comando lanza la aplicacin y abre el archivo de estructura diseado con el archivo de datos seleccionado.
No aparece la caja de dilogos.
Salir de la aplicacin (OS X nicamente)
Sintaxis: kill -s INT process_ID
Ejemplo:
Kill -s INT 323

La accin de este comando es idntica a la seleccin del comando Quit. Los procesos se cierran uno por uno, el
cach se guarda y se cierra la aplicacin.
Nota: el nmero de proceso de la aplicacin 4D (process_ID) puede obtenerse utilizando los comandos ps o top.
Ayuda

- 776 -
Anexo C: Arquitectura XLIFF

4D soporta el estndar XLIFF para la localizacin de textos y ttulos de interfaz. Esta tecnologa es utilizada internamente
por las aplicaciones 4D. Los desarrolladores 4D como tambin los de plug-ins pueden beneficiarse de esta nueva
implementacin en sus propias aplicaciones y plug-ins personalizados.
El principio de definicin de una interfaz de aplicacin 4D que se traduce dinmicamente es el siguiente: todos los
elementos dependientes del lenguaje (texto, etiquetas e imgenes) se almacenan fuera de la aplicacin, en forma de
archivos, en una carpeta llamada Resources. En los formularios, mens, etc., las etiquetas y las imgenes se
especifican como referencias. Durante la ejecucin de la aplicacin, estos elementos se muestran dinmicamente
desde archivos externos dependiendo del contexto lingstico. El estndar XLIFF codifica el modo de referenciacin y
muestra las etiquetas.
En el editor de formulario, puede ver el contenido "real" de las reas estticas en el editor de formularios haciendo clic
en el rea o seleccionando Mostrar formato o Mostrar nombre en el men Objeto:

Nota de compatibilidad: adems de XLIFF, 4D an soporta el sistema anterior, basado en el concepto de recursos
(tipo STR#). Sin embargo, hoy en da este sistema es obsoleto. Ambos sistemas pueden utilizarse al tiempo, en
particular en las aplicaciones convertidas (este punto se explica con ms detalle en las siguientes pginas).

Qu es XLIFF?

XLIFF (XML Localization Interchange File Format) es un estndar dedicado a los procesos de traduccin y adaptacin
lingstica. Permite establecer una correspondencia entre un lenguaje fuente y un lenguaje objetivo al interior del archivo
XML.
El estndar XLIFF constituye una alternativa a los anteriores sistemas de localizacin basados en recursos. Varias
herramientas, incluyendo software gratuito, permiten la gestin de los archivos XLIFF.
Para mayor informacin sobre el estndar XLIFF, consulte la especificacin oficial XLIFF 1.1 que se encuentra en la
siguiente direccin:
http://www.oasis-open.org/committees/xliff/documents/xliff-specification.htm
Atencin: el estndar XLIFF es sensible a maysculas y minsculas.

- 777 -
Llamar cadenas XLIFF desde una base 4D

Ubicacin de las referencias


En 4D, las referencias XLIFF pueden utilizarse en:
Campo Nombre del objeto en las lista de propiedades del editor de formularios
Campo Nombre de la ventana en la caja de dilogo de propiedades del formulario accesible desde el
Explorador
Textos estticos, incluyendo ttulos de botones, casillas de seleccin, etc.
Editor de mens (excepto sintaxis NombreObjeto, ver a continuacin)
Editor de mensajes de ayuda (excepto sintaxis NombreObjeto, ver a continuacin)
Notas:
Para que la referencia XLIFF sea reconocida, debe ubicarse al inicio del rea de texto.
No es posible mostrar las referencias XLIFF en el editor de mensajes de ayuda. Para utilizar los mensajes de
ayuda basados en XLIFF, introduzca directamente las referencias XLIFF en el campo Mensajes de ayuda de la
lista de propiedades.

Sintaxis de las referencias

En 4D, puede utilizar referencias XLIFF va una de las siguientes sintaxis:


Sintaxis :15115,3
Cuando esta sintaxis se utiliza con los archivos XLIFF, el primer valor (15115 en el ejemplo) designa el atributo id
del elemento grupo.
El segundo valor (3 en este ejemplo) designa el atributo id del elemento trans-unit.
Nota de compatibilidad: esta sintaxis es idntica a la de las referencias de recursos STR# antigua generacin,
de tipo :xxxx,yyy donde xxxx es el nmero del recurso STR# y yyy es el nmero del elemento. Por ejemplo,
:10115,3 significa que 4D debe utilizar el tercer elemento del recurso STR# nmero 10115. De esta forma usted
puede conservar en una base convertida un antiguo sistema basado en recursos mientras instala un nuevo
sistema XLIFF. De hecho, 4D buscar primero los valores correspondientes a 1015,3 en todos los archivos XLIFF
cargados; luego, si no encuentra la cadena, la buscar en todos los archivos de recursos abiertos. Con este
mecanismo, puede implementar un sistema basado en XLIFF en una aplicacin sin tener que editar las
referencias dinmicas existentes: slo debe copiar un archivo XLIFF en la ubicacin correcta (ver a continuacin)
y ser tenido en cuenta por 4D. Ambos sistemas pueden utilizarse simultneamente. En todos los casos, los
archivos XLIFF tienen prioridad sobre los archivos de recursos si la misma referencia se presenta en ambas
ubicaciones.
Sintaxis :xliff:OKButton
Esta alternativa de sintaxis slo se puede utilizar con los archivos XLIFF cargados. En este caso, el valor
referenciado (OKButton en el ejemplo) designa el atributo resname del elemento trans-unit.
Sintaxis ObjectName (basado en el campo Nombre, en la lista de propiedades)
El propsito de esta sintaxis es facilitar la traduccin de los formularios existentes. A diferencia de otras sintaxis,
se utiliza nicamente con formularios. El principio es enmarcar en el archivo XLIFF los elementos trans-unit para
dos elementos group cuyos atributos resname contienen respectivamente, el nombre de la tabla y del formulario.
Ejemplo (formulario tabla)
Para traducir la etiqueta del botn Guardar en el formulario Form1 de la tabla [Clientes], el archivo XLIFF tiene
estas lneas:

<group resname="[Clientes]"> <group resname="Form1"> <trans-unit


resname="Guardar"> ... </trans-unit> </group> </group>

Ejemplo (formulario proyecto)


En un formulario proyecto, el nombre de la tabla debe reemplazarse por [ProjectForm], lo que produce lo
siguiente:

<group resname="[ProjectForm]"> <group resname="Form1"> <trans-unit


resname="Guardar"> ... </trans-unit> </group> </group>

Si utiliza diferentes sintaxis en su base, el orden de prioridad aplicado al buscar una traduccin vlida en los archivos
XLIFF ser:
1. sintaxis :15115,3
- 778 -
2. sintaxis :xliff:OKButton
3. sintaxis MyTitle
Los comandos Get indexed string y STRING LIST TO ARRAY del tema Resources pueden utilizar documentos
XLIFF.
Es posible visualizar la referencia XLIFF o el ttulo traducido en funcin del lenguaje actual en el editor de formularios
utilizando, respectivamente, los comandos Show Name y Show Resource del
men Objeto. Para mayor informacin, consulte Utilizar las referencias en los textos estticos.

Instalar los archivos XLIFF personalizados

Para implementar una arquitectura XLIFF para su aplicacin localizada, debe crear uno o ms archivos XLIFF vlidos y
copiarlos en la carpeta e Resources de la base.
Para mayor informacin sobre la carpeta Resources de la base, consulte Gestin de la carpeta Resources.
La ruta de acceso completa a utilizar es la siguiente:
Windows:
MiBase\Resources\Lang.lproj\MyEnLoc.xlf
Mac OS:
MiPaquete:Resources:Lang.lproj:MyEnLoc.xlf
donde:
MiBase es la carpeta que contiene los archivos de la base y MiPaquete es el paquete de la base bajo Mac OS.
Lang.lproj es una carpeta que contiene los archivos XLIFF para el lenguaje Lang. El nombre de la carpeta debe
cumplir el estndar internacional (ver el siguiente prrafo). Por ejemplo, para las versiones en ingls la carpeta
debe tener el nombre en.lproj.
4D cargar automticamente los archivos XLIFF en la carpeta correspondiente al lenguaje actual de la base. Para
definir el lenguaje actual de la base, 4D buscar sucesivamente en la carpeta Resources de la base un lenguaje
correspondiente a (en el orden de prioridad siguiente):
1. El lenguaje del sistema (bajo Mac OS, varios idiomas pueden definirse con un orden de preferencia, 4D utiliza
este parmetro).
2. El lenguaje de la aplicacin 4D.
3. Ingls
4. Si ninguna de estas bsquedas da resultados, se carga el primer lenguaje que se encuentra en la carpeta
Resources.
El comando Get database localization permite conocer el lenguaje actual definido para la base.
Si se utiliza una variacin del lenguaje y no ests disponible en los archivos XLIFF, se utilizar el siguiente lenguaje ms
cercano.
Los nombres de los archivos XLIFF son libres; slo deben tener la extensin .xlf.. Puede ubicar varios archivos XLIFF
en la misma carpeta del lenguaje; se cargarn en el orden alfabtico de los nombres de los archivos.
Nombre de la carpeta .lproj
El nombre de la carpeta .lproj debe respetar una de las normas descritas anteriormente. 4D buscar un nombre de
carpeta vlido basado en cada una de estas normas, en el orden siguiente:
1. Language-Regional Codes
En esta combinacin, un lenguaje es descrito por un cdigo lenguaje (ISO639-1) + un signo menos + un cdigo
pas (ISO3166) o un cdigo script de 4 letras (ISO15924).
Por ejemplo, fr-ca (fr-ca.lproj) para el lenguaje francs canadiense.
2. ISO639-1
Este estndar define cada lenguaje por dos letras. Por ejemplo, en (en.lproj) para el ingls.
Ref: http://www.loc.gov/standards/iso639-2/php/English_list.php
3. Nombre Legacy
En esta convencin, el nombre del lenguaje se escribe completamente en ingls. Por ejemplo, ingls
(english.lproj) para el ingls.
Nota: las dos primeras convenciones son soportadas nicamente para versin 10.4 de Mac OS o superiores.
Con las versiones anteriores de este sistema operativo, slo puede utilizarse el nombre Legacy.
Una tabla de cdigos de lenguaje soportados por 4D se encuentra en Cdigos del lenguaje.
Si se encuentran varias definiciones del lenguaje, 4D siempre utilizar la traduccin ms precisa. Por ejemplo, si el
parmetro de lenguaje del sistema operativo es francs canadiense, 4D buscar primero las traducciones fr-ca y
luego, si no las encuentra, las traducciones fr.
- 779 -
Nota: el mismo principio aplica dentro de los archivos XLIFF para la etiqueta target-language. Debe asegurarse de
definir este atributo dentro de los archivos XLIFF ya que un archivo ubicado en la carpeta fr-ca.lproj que tiene una
etiqueta target-language=fr se considerar como una traduccin a fr y no a fr-ca.
Recarga de los archivos XLIFF personalizados
Los archivos XLIFF se recargan dinmicamente mientras localiza la aplicacin, de manera que puede ver las palabras
o frases localizadas encajen en los objetos marco (botones, cajas de grupo, etc.). Esta recarga ocurre cuando 4D pasa
al primer plano, si la fecha u hora de modificacin ha cambiado desde la ltima carga. El formulario actual se cargar
simultneamente.

Cdigos del lenguaje

La siguiente tabla lista los cdigos de lenguaje soportados por 4D para la gestin de archivos XLIFF.
Lenguajes ISO639-1 Legacy ISO3166/ ISO15924
AFRIKAANS af afrikaans
ALBANIAN sq albanian
ARABIC_SAUDI_ARABIA ar arabic sa
ARABIC_IRAQ ar arabic iq
ARABIC_EGYPT ar arabic eg
ARABIC_LIBYA ar arabic ly
ARABIC_ALGERIA ar arabic dz
ARABIC_MOROCCO ar arabic ma
ARABIC_TUNISIA ar arabic tn
ARABIC_OMAN ar arabic om
ARABIC_YEMEN ar arabic ye
ARABIC_SYRIA ar arabic sy
ARABIC_JORDAN ar arabic jo
ARABIC_LEBANON ar arabic lb
ARABIC_KUWAIT ar arabic kw
ARABIC_UAE ar arabic ae
ARABIC_BAHRAIN ar arabic bh
ARABIC_QATAR ar arabic qa
BASQUE eu basque
BELARUSIAN be belarusian
BULGARIAN bg bulgarian
CATALAN ca catalan
CHINESE_TRADITIONAL zh chinese hant
CHINESE_SIMPLIFIED zh chinese hans
CHINESE_HONGKONG zh chinese hk
CHINESE_SINGAPORE zh chinese sg
CROATIAN hr croatian
CZECH cs czech
DANISH da danish
DUTCH nl dutch
DUTCH_BELGIAN nl dutch be
ENGLISH_US en english
ENGLISH_UK en english gb
ENGLISH_AUSTRALIA en english au
ENGLISH_CANADA en english ca
ENGLISH_NEWZEALAND en english nz
ENGLISH_EIRE en english ie
ENGLISH_SOUTH_AFRICA en english za
ENGLISH_JAMAICA en english jm
ENGLISH_BELIZE en english bz
ENGLISH_TRINIDAD en english tt
ESTONIAN et estonian
FAEROESE fo faorese
FARSI fa persian
- 780 -
FINNISH fi finnish
FRENCH fr french

FRENCH_BELGIAN fr french be
FRENCH_CANADIAN fr french ca
FRENCH_SWISS fr french ch
FRENCH_LUXEMBOURG fr french lu
GERMAN de german
GERMAN_SWISS de german ch
GERMAN_AUSTRIAN de german at
GERMAN_LUXEMBOURG de german lu
GERMAN_LIECHTENSTEIN de german li
GREEK el greek
HEBREW he hebrew
HUNGARIAN hu hungarian
ICELANDIC is iceland
INDONESIAN id indonesian
ITALIAN it italian
ITALIAN_SWISS it italian ch
JAPANESE ja japanese
KOREAN_WANSUNG ko korean
KOREAN_JOHAB ko korean
LATVIAN lv latvian
LITHUANIAN lt lithuanian
NORWEGIAN no norwegian
NORWEGIAN_NYNORSK nn nynorsk no
POLISH pl polish
PORTUGUESE pt portuguese
PORTUGUESE_BRAZILIAN pt portuguese br
ROMANIAN ro romanian
RUSSIAN ru russian
SERBIAN_LATIN sr serbian latn
SERBIAN_CYRILLIC sr serbian cyrl
SLOVAK sk slovak
SLOVENIAN sl slovenian
SPANISH_CASTILLAN es spanish
SPANISH_MEXICAN es spanish mx
SPANISH_MODERN es spanish
SPANISH_GUATEMALA es spanish gt
SPANISH_COSTA_RICA es spanish cr
SPANISH_PANAMA es spanish pa
SPANISH_DOMINICAN_REPUBLIC es spanish do
SPANISH_VENEZUELA es spanish ve
SPANISH_COLOMBIA es spanish co
SPANISH_PERU es spanish pe
SPANISH_ARGENTINA es spanish ar
SPANISH_ECUADOR es spanish ec
SPANISH_CHILE es spanish cl
SPANISH_URUGUAY es spanish uy
SPANISH_PARAGUAY es spanish py
SPANISH_BOLIVIA es spanish bo
SPANISH_EL_SALVADOR es spanish sv
SPANISH_HONDURAS es spanish hn
SPANISH_NICARAGUA es spanish ni
SPANISH_PUERTO_RICO es spanish pr
SWEDISH sv swedish
SWEDISH_FINLAND sv swedish fi
- 781 -
THAI th thai
TURKISH tr turkish
UKRAINIAN uk ukrainian
VIETNAMESE vi vietnamese

- 782 -
Anexo D: Uso de diccionarios especializados

4D incluye un mecanismo que permite definir listas personalizadas de palabras que sern aceptadas por el corrector de
ortografa. Esto hace posible utilizar diccionarios especializados con trminos especficos de una profesin, campo de
accin, empresa, etc., dentro de una aplicacin.
Es posible utilizar varios diccionarios especializados para cada idioma principal. Este principio funciona con 4D y 4D
Write.
Para mayor informacin sobre correccin ortogrfica en 4D, consulte Correccin ortogrfica.

Instalacin

Para aadir un diccionario especializado en un idioma determinado, simplemente ponga un archivo de formato de texto
en la subcarpeta del idioma principal, dentro de la carpeta Spellcheck. Puede darle cualquier nombre al archivo pero
debe terminar con el sufijo .txt (por ejemplo, astronoma.txt).
Las subcarpetas del idioma se crean en 4D en la siguiente ubicacin:
Bajo Windows: (Carpeta de la aplicacin 4D)\Resources\Spellcheck\
Bajo Mac OS: (Paquete 4D):Contents:Resources:Spellcheck:
Los nombres de las subcarpetas corresponden a los idiomas principales y no deben modificarse:
English
French
German
Spanish
Norsk
Cada carpeta contiene un archivo de palabras por defecto. Puede aadir palabras a este archivo o aadir otros
archivos. Los archivos usuario deben guardarse en formato UTF-8.
Cliente/Servidor
Los archivos de correccin ortogrfica se almacenan en la aplicacin 4D remota. Si quiere instalar diccionarios
especializados dentro de una solucin cliente/servidor, debe asegurarse de que los diccionarios se instalen en cada
mquina remota (en la ubicacin descrita anteriormente).

Contenido de los archivos

Los archivos de los diccionarios especializados son listas de palabras separadas por retornos de carro. Por ejemplo:
4D
Server
Desktop
Puede aadir palabras sencillas (ej.: carro) y compuestas separadas por un guin (ej.: carro-casa), pero no puede
aadir secuencias de palabras separadas por espacios (ej.: Marco Daz).
El formato interno de los archivos texto es diferente para Windows y Mac OS, por razones relacionadas particularmente
a los saltos de lneas. Por lo tanto debe crear un archivo de diccionario especializado para cada plataforma. Para poder
transponer un archivo de diccionario de una plataforma a otra, primero debe convertir los saltos de lnea al formato Mac
OS o Windows segn la plataforma de destino, utilizando un software como Notepad++.

Carga y uso

Los diccionarios especializados se cargan al inicio de la aplicacin, igual que los diccionarios especializados. El
idioma actual de los diccionarios est basado en el de la aplicacin.
Durante una sesin, puede cambiar el diccionario actual utilizando el comando SPELL SET CURRENT DICTIONARY.
En este caso, si existe un diccionario especializado en la carpeta del idioma correspondiente, se cargar el diccionario.
Durante el uso, no hay diferencia entre el proceso de palabras de los diccionarios estndar y los especializados.

- 783 -

S-ar putea să vă placă și