versión 11 (Modificado)
Una aplicación es una base de datos diseñada para responder a una necesidad específica. Tiene una interfaz de usuario diseñada especialmente para facilitar su uso. Las tareas que una aplicación realiza están limitadas a aquellas apropiadas para su objetivo. La creación de aplicaciones con 4D es más fácil que con programación tradicional. 4D se puede utilizar para crear una variedad de aplicaciones, incluyendo:
Un sistema de facturación
Un sistema de control de inventarios
Un sistema de contabilidad
Un sistema de pago de nómina
Un sistema de recursos humanos
Un sistema de seguimiento de clientes
Una base de datos accesible por Internet o Intranet
Incluso es posible que una sola aplicación pueda contener todos estos sistemas. Este tipo de aplicaciones corresponden al uso tradicional de bases de datos. Adicionalmente, las herramientas en 4D le permiten crear aplicaciones originales, tales como:
un sistema de seguimiento de documentos
un sistema gráfico de manejo de imágenes
una aplicación de publicación de catálogos
un sistema de control y monitoreo de un dispositivo serial
un sistema de mensajería electrónica (E-mail)
un sistema de programación multiusuario
una lista como una lista de menús, una colección de videos, o una colección de música
Generalmente, una aplicación puede comenzar como una base de datos utilizada en el entorno Diseño. La base se "transforma" en una aplicación a medida que se personaliza. Lo que diferencia una aplicación es que el sistema necesario para manejar la base de datos está oculto del usuario. La gestión de la base está automatizada, y los usuarios utilizan menús para realizar tareas específicas.
Cuando utiliza una base 4D en el entorno Diseño, debe conocer los pasos a seguir para obtener un resultado. En una aplicación 4D, se utiliza el modo Aplicación, en el cual debe manejar todos los aspectos que son automáticos en el entorno Diseño, es decir:
Navegación entre tablas: la ventana Lista de tablas, el comando Últimas tablas utilizadas o los botones de navegación no están disponibles para el usuario. Puede utilizar los comandos de menús y métodos para controlar la navegación entre tablas.
Menús: en modo Aplicación, sólo aparecen por defecto los menús Archivo con el comando de menú Salir, Edición, Modo y Ayuda (así como el menú aplicación bajo Mac OS). Si la aplicación necesita más menús, debe crearlos y manejarlos utilizando métodos 4D o acciones estándar.
Editores: los editores, como los editores de búsqueda y de ordenación, no están disponibles automáticamente en el entorno Aplicación. Si quiere utilizarlos, debe llamarlos utilizando métodos 4D.
Las siguientes secciones incluyen ejemplos de automatización del uso de una base utilizando el lenguaje.
Entorno Aplicación: un ejemplo
Los menús personalizados son la interfaz primaria de una aplicación. Los menús personalizados facilitan a los usuarios el aprendizaje y utilización de una base de datos. Crear menús personalizados es muy sencilloasocie métodos o acciones estándar a cada comando de menú (también llamados elementos de menús) en el editor de menús.
La sección "Punto de vista del usuario" describe lo que sucede cuando el usuario selecciona un comando de menú. Luego, "Detrás del escenario" describe el trabajo de diseño que se ha efectuado. Aunque el ejemplo es sencillo, es evidente cómo los menús personalizados hacen que una base sea más fácil para aprender y utilizar. En el entorno Diseño, en lugar de las herramientas "genéricas" y comandos de menú, el usuario sólo ve elementos que corresponden a sus necesidades.
Punto de vista del usuario
El usuario selecciona un comando de menú llamado Crear del menú Personas para añadir una nueva persona a la base de datos.
Aparece el formulario de entrada de la tabla Personas.
El usuario introduce el nombre de la persona y luego presiona la tecla Tab para pasar al siguiente campo.
El usuario introduce el apellido de la persona.
El usuario presiona la tecla Tab para pasar al siguiente campo: el apellido se convierte en letras mayúsculas.
Una vez el usuario termina de introducir el registro y hace clic en el botón de validación (generalmente el último botón en la barra de botones).
Aparece otro registro vacío, y el usuario hace clic en el botón Cancelar (el que tiene una "X") para terminar el "bucle de entrada de datos." El usuario vuelve a la barra de menús.
Detrás del escenario
La barra de menús fue creada en el entorno Diseño, utilizando el editor de menús.
El comando de menú Nuevo está asociado a un método de proyecto llamado Nueva persona. Este método fue creado en el entorno Diseño, utilizando el editor de métodos.
Cuando el usuario selecciona este comando de menú, el método Nueva persona se ejecuta:
Repeat ADD RECORD([Personas]) Until (OK=0)
El bucle Repeat...Until al interior del cual se encuentra el comando ADD RECORD tiene exactamente los mismo efectos que le comando de menú Nuevo Registro en el entorno Diseño. Muestra el formulario de entrada al usuario, de manera que pueda añadir un nuevo registro. Cuando el usuario guarda el registro, aparece otro nuevo registro vacío. Este bucle ADD RECORD continúa ejecutándose hasta que el usuario hace clic en el botón Cancelar.
Cuando se introduce un registro, ocurre lo siguiente:
No hay método para el campo Nombre, entonces no se ejecuta nada.
Hay un método para el campo Apellido. Este método fue creado en el entorno Diseño utilizando los editores de formularios y métodos. El método se ejecuta:
Apellido:=Uppercase(Apellido)
Esta línea convierte los caracteres del campo Apellido en mayúsculas.
Después de introducir un registro, cuando el usuario hace clic en el botón Cancelar en el formulario siguiente, la variable OK toma el valor cero, terminando la ejecución del bucle ADD RECORD.
Como no hay más instrucciones a ejecutar, el método Nueva persona se detiene y devuelve el control a la barra de menús.
Comparar una aplicación 4D con el entorno Diseño
Comparemos la manera en que una tarea se realiza en el entorno Diseño y la misma tarea realizada utilizando el lenguaje. La tarea es:
Encontrar un grupo de registros
Ordenarlos
Imprimir un informe
La próxima sección, "Utilizando una base en el entorno Diseño," muestra las tareas realizadas en el entorno Diseño.
La siguiente sección, "Utilizando los editores integrados en el entorno Aplicación," muestra las mismas tareas realizadas en una aplicación.
Note que aunque ambos métodos realizan la misma tarea, los pasos en la segunda sección son automatizados por programación.
Utilizando una base en el entorno Diseño
El usuario selecciona Buscar>Buscar... en el menú Registros.
Aparece el editor de Búsquedas.
El usuario introduce el criterio de búsqueda y hace clic en el botón Buscar. Se efectúa la búsqueda.
El usuario selecciona Ordenar... en el menú Registros.
Aparece el editor Ordenar.
El usuario introduce el criterio de ordenación y hace clic en el botón Ordenar. Se efectúa la ordenación.
Luego, para imprimir los registros, son necesarios los siguientes pasos:
El usuario selecciona Imprimir en el menú Archivo.
Aparece la caja de diálogo para seleccionar el formulario a imprimir, porque los usuarios necesitan saber qué formulario imprimir.
Aparecen las cajas de diálogo de impresión. El usuario elige los parámetros, y se imprime el informe.
Utilizando los editores integrados en el entorno Aplicación
Examinemos cómo estas operaciones pueden efectuarse en el entorno Aplicación.
El usuario selecciona Informe en el menú Personas.
Incluso en este punto, utilizar una aplicación es más fácil para los usuariosellos no necesitan saber que el primer paso es efectuar una búsqueda.
Un método llamado Mi informe se asocia al comando de menú; se ve de esta forma:
QUERY ([Personas]) ORDER BY ([Personas]) OUTPUT FORM ([Personas]; "Informe") PRINT SELECTION ([Personas])
Se ejecuta la primera línea:
QUERY ([Personas])
Aparece el editor de búsquedas.
Los usuarios introducen el criterio de búsqueda y hacen clic en el botón Buscar. Se efectúa la búsqueda.
Se ejecuta la segunda línea del método Mi informe:
ORDER BY ([Personas])
Observe que el usuario no necesita saber que ordenar los registros es el siguiente paso.
Aparece el editor Ordenar.
El usuario introduce los criterios de búsqueda y hace clic en el botón Ordenar. Se efectúa la ordenación.
Se ejecuta la tercera línea del método Mi informe:
OUTPUT FORM ([Personas]; "Informe")
Una vez más, el usuario no necesita saber que hacer después; el método se encarga de eso.
Se ejecuta la línea final del método Mi informe:
PRINT SELECTION ([Personas])
Aparecen las cajas de diálogo de impresión. El usuario fija los parámetros y se imprime el informe.
Automatizar más la aplicación
Los mismos comandos utilizados en el ejemplo anterior pueden usarse para automatizar más la base de datos.
Miremos la nueva versión del método Mi Informe.
El usuario elige Informe en el menú Personas. Un método llamado Mi informe2 se asocia al comando de menú. Se ve de esta manera:
QUERY([Personas];[Personas]Empresa="Acme") ORDER BY([Personas]; [Personas]Apellido;>;[Personas]Nombre;>) OUTPUT FORM([Personas];"Informe") PRINT SELECTION([Personas];*)
Se ejecuta la primera línea:
QUERY([Personas];[Personas]Empresa="Acme")
No aparece el editor de búsquedas. En su lugar, la consulta se especifica y realiza por el comando QUERY. El usuario no tiene que hacer nada.
Se ejecuta la segunda línea del método Mi informe2:
ORDER BY([Personas];[Personas]Apellido;>;[Personas]Nombre;>)
El editor Ordenar no aparece, y la ordenación se realiza de inmediato. Una vez más, no es necesaria ninguna acción por parte del usuario.
Se ejecutan las líneas finales del método Mi informe2:
OUTPUT FORM ([Personas]; "Informe") PRINT SELECTION ([Personas]; *)
Las cajas de diálogo de impresión no aparecen. El comando PRINT SELECTION acepta un parámetro opcional asterisco (*) que le indica al comando que utilice los parámetros de impresión vigentes cuando el formulario del informe fue creado. Se imprime el informe.
Esta automatización adicional le ahorra al usuario tener que introducir opciones en tres cajas de diálogo. Estos son los beneficios:
La búsqueda se efectúa automáticamente: esto evita que los usuarios seleccionen un criterio de búsqueda equivocado cuando hacen una búsqueda.
La ordenación se realiza automáticamente: esto evita que los usuarios seleccionen criterios de ordenación equivocados cuando definen una ordenación.
La impresión se efectúa automáticamente: esto evita que los usuarios seleccionen un formulario equivocado para imprimir.
Ayudas para el desarrollo de aplicaciones 4D
A medida que desarrolla una aplicación 4D, descubrirá muchas funcionalidades que no había observado cuando comenzó. Incluso puede aumentar la versión estándar de 4D añadiendo otras herramientas y plug-ins a su entorno de desarrollo 4D.
Plug-ins 4D
4D ofrece varios plug-ins que pueden utilizarse para aumentar las capacidades de sus aplicaciones.
4D Write: Procesador de palabras
4D Draw: Programa de dibujo gráfico
4D View: Hoja de cálculo y editor de listas
4D Internet Commands (integrado): Utilidades de comunicación vía Internet.
4D ODBC Pro: Conectividad vía ODBC
4D for OCI: Conectividad con ORACLE Call Interface
4D Open for Java: Conectividad con aplicaciones Java
4D Open for 4D: Conectividad (de 4D a 4D) para construir sistemas 4D de información distribuida.
Para mayor información, contacte 4D o sus Partners. Visite nuestros sitios Web:
Latinoamerica y España:
USA e Internacional:
Francia:
La comunidad 4D y herramientas de terceras partes
Existe una comunidad 4D internacional muy activa, compuesta por grupos de usuarios, foros electrónicos, y Partners 4D. Los Partners 4D producen Herramientas de terceras partes. Puede suscribirse al foro de usuarios de 4D en la siguiente dirección:
La comunidad 4D ofrece acceso consejos y soluciones, información y herramientas adicionales que le ahorrarán tiempo y energía, y aumentarán su productividad.