Documente Academic
Documente Profesional
Documente Cultură
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
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:
-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.
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.
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:
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
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:
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.
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
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:
- 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.
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:
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.
... 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.
- 21 -
Instalacin de plugins o componentes
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.
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.
- 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.
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.
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.
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:
- 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:
Nota: XX indica el nmero de versin principal de 4D. En versin 12 por ejemplo, el archivo se llama 4D v12
Preferences.4DPreferences.
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:
Este grupo de opciones permite definir los parmetros a aplicar durante la creacin de una nueva aplicacin.
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
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.
- 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).
Editor de estructura
- 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.
Puede configurar esta opcin en funcin de sus hbitos de trabajo y necesidades de desarrollo.
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.
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
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.
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.
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:
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
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).
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
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.
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.
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.
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.
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:
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.
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.
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
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.
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).
- 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:
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.
- 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.
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.
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.
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.
- 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.
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
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.
Comunicacin Cliente-Servidor
- 66 -
Pgina Cliente-Servidor/Configuracin IP
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.
- 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
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".
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
- 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
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.
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
- 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 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).
- 76 -
Pgina Web/Opciones (II)
Conversin de texto
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)
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)
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.
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.
- 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.
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.
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
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
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.
- 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.
- 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.
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.
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.
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).
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.
Cuando selecciona una carpeta en el Explorador, el rea de vista previa de la ventana muestra informacin sobre la carpeta:
- 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.
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:
- 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.
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 ).
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.).
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.
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
- 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.
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.
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.
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.
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:
- 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.
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.
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:
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
- 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.
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.
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.
Cuanto mayor sea el tiempo de actualizacin, ms tiempo de CPU es consumida por el proceso Runtime Explorer.
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.
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.
- 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
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
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:
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.
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).
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]:
- 133 -
Lista todas las variables en la base:
- 134 -
- 135 -
Ventana de resultados
La Ventana de resultados lista los objetos que cumplen con los criterios definidos va diferentes tipos de bsquedas:
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.
Men de opciones
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:
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:
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.
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
- 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.
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
- 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.
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).
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:
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.
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.
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.
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.
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.
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":
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:
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:
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.
- 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):
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:
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).
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.
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:
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 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).
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.
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.
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:
Acceder al asistente
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.
- 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.
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
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.
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)
- 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])
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")
- 183 -
ARRAY TEXT($arrGirls;3)
$arrGirls{1}:="Emma"
$arrGirls{2}:="Susan"
$arrGirls{3}:="Jamie"
OB SET ARRAY([Persons]Children;"Girls";$arrGirls)
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.
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:
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).
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.
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.
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.
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
- 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:
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.
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.
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.
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).
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.
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.
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].
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.
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.
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.
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
Definicin
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
- 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:
- 233 -
Editar un formulario
- 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:
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.
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.
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.
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
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.
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.
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
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.
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.
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.
- 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.
Impresin
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).
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.
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.
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 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.
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.
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.
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.
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.
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.
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
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:
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.
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.
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:
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.
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).
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.
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.
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:
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.
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:
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.
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
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).
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:
Para obtener ms informacin, consulte la descripcin del comando OBJECT SET TEXT ORIENTATION.
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.
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:
- 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.
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.
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.
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).
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).
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.
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.
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:
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.
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.
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:
[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 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
- 292 -
Crear un mtodo de 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.
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: 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:
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.
- 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.
- 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.
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.
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:
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.
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.
- 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
- 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
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:
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:
- 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.
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).
- 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
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.
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.
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
- 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:
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
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..
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.
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.
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:
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.
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
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.
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.
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).
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.
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.
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:
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:
Esta propiedad est seleccionada por defecto para las nuevas bases.
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.
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.
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).
- 344 -
Propiedades de los objetos activos
- 345 -
Nombres de los objetos
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:
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.
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.
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).
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).
Texto ejemplo
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.
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.
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.
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.
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.
- 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.
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)).
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).
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.
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.
- 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:
- 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.
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.
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:
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.
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:
- 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).
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:
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 *.
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).
- 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
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:
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.
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.
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.
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.
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).
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.
- 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).
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).
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.
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.
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.
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:
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.
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"/].
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.
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.
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:
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):
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
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
- 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
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
- 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.).
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.
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.
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:
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.
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.
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.
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
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
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.
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.
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.
- 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.
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.
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.
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.
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.
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.
- 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.
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.
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:
... 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.
Para obtener ms informacin, consulte la descripcin del comando EXECUTE METHOD IN SUBFORM.
- 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.
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.
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.
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.
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.
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.
- 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.
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
- 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.
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.
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.
- 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.
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.
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.
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:
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 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.
- 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.
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).
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.
- 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.
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
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.
- 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
- 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
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).
- 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.
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.
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
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:
- 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.
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.
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).
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:
- 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:
- 460 -
Editar 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
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.
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.
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).
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.
- 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.
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.
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 .
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.
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...
- 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.
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.
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.
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.
Barra de estado
La barra de estado ubicada en la parte inferior derecha del editor muestra la posicin del cursor todo el tiempo:
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.
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:
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 .
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:
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.
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:
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.
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
- 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.
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.
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:
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.
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:
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.
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: .
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.
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.
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.
- 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.
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.
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.
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.
- 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:
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 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.
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).
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).
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
- 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).
- 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
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.
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
- 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.
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.
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.
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.
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.
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.
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.
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).
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).
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.
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
- 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
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:
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
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 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.
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.
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.
- 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.
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
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:
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.
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).
- 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.
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:
Para borrar el icono de la lnea, seleccione la opcin Sin icono en el men del rea Icono lnea.
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.
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.
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.
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.
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
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.
- 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.
- 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.
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:
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
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.
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.
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.
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.
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).
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:
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.
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
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.
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.
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:
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:
- 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
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
- 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
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.
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:
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.
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.
- 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.
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.
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.
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).
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
- 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.
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:
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.
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.
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:
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.
- 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.
- 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.
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.
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
- 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).
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.
- 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.
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:
- 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.
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.
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 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
[Stats]VentasAnuales/[Stats]Costo_del_Producto
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.
: 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.
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.
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.
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.
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.
- 605 -
Editor de frmulas
- 606 -
Acceso al editor de frmulas
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.
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
- 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:
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:
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
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.
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
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:
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.
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.
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.
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:
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:
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:
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.
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.
- 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.
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.
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:
- 627 -
Aadir clculos
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:
- 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:
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.
- 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.
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:
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:
- 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:
- 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
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:
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
- 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.
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
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.
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.
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.
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.
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.
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.
- 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.
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.
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:
- 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.
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
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.
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.
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:
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:
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.
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.
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.
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
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.
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.
- 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.
- 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)).
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
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.
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).
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.
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.
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).
- 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.
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.
- 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.
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.
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.
- 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
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:
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.
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
- 686 -
Backup de la base
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.
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.
- 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:
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
- 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).
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:
- 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?
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:
- 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.
- 717 -
Pgina Restaurar
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.
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.
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.
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.
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: 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.
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:
//%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
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.
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.
- 733 -
Ayudas a la compilacin
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.
- 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.
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.
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).
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:
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.
- 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.
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.
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
- 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).
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
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
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.
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.
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:
- 750 -
Pgina Licencias
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:
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
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".
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
Bajo Windows
- 756 -
Desarrollar e instalar componentes 4D
Presentacin
Instalacin y compatibilidad de los componentes
Desarrollo de componentes
Interaccin entre componentes y bases locales
- 757 -
Presentacin
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.
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.
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.
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
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:
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.
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.
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:
End SQL
- 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
End SQL
Begin SQL
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).
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
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.
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).
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.
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.
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)
APPEND TO ARRAY($1->;2)
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
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:
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
- 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.
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.
<A NAME="Section">
Por ejemplo:
<A NAME="21">
<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.
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
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.
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.
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).
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 -