No. 9 de 9 de articulos. Delphi

Para comentar la creación y utilización de bases de datos desde Embarcadero C++ Builder, utilizando los controles de acceso a bases de datos FireDac y bases de datos MySQL.

Se propone realizar una aplicación que lleve el préstamo y devolución de libros en una pequeña biblioteca.

En primer lugar se ha de disponer de una base de datos MySQL, la cual esta compuesta por las siguientes tablas y datos.


Tabla Países


Tipo Campo
Tamaño de campo
Clave Principal

Nombre Campo
id int 11 Si
iso char 2  
nombre varchar 80  

Tabla Editoriales

Nombre Campo Tipo Campo Tamaño de campo Clave Principal
codigo varchar 20 Si
nombre varchar 200  
pais int 11 Clave Foranea Países

Partiendo de estas dos tablas, vamos a comenzar la aplicación utilizando Embarcadero C++ Builder, accedemos al programa y creamos una nueva aplicación.

Para realizar esta acción se ha de pulsar sobre la opción denominada “VCL Forms Application C++ Builder”, situada en el submenú “New”, del menú “File”.

image

Al pulsar sobre esta opción se presenta un primer formulario en blanco, el cual utilizaremos como menú de acceso al resto de formularios de la aplicación.

image

Grabar el proyecto

Una buena costumbre que se ha de adquirir, es de grabar de vez en cuando los cambios que se realizan, para no tener que lamentar perdidas.

Para realizar esta acción y siendo esta la primera vez vamos a seleccionar la opción “Save All”, del menú “File”.

Se nos preguntara el nombre a asignar a los archivos y en que ubicación, es conveniente crear una carpeta para cada proyecto, a lo que respondemos y terminamos así de grabar el proyecto entero.

image

 

Crear el Menú de la aplicación

Para crear el menú de la aplicación se pueden utilizar muchos controles, pero nosotros vamos a utilizar el formulario que tenemos ya abierto y en blanco para situar botones en el mismo que servirán como opciones de menú para acceder a los formularios de la aplicación.

Al formulario le asignaremos las siguientes propiedades:

Propiedad Valor
Caption Menú
BorderStyle bsNone
Name FormMenu
WindowState wsMaximized

A continuación insertaremos controles de tipo etiqueta, botón, lista de imagen y paneles, que nos servirán como acceso a los diferentes formularios de la aplicación.

image

Comenzaremos con el control TImageList, el cual nos permite cargar imágenes en el control de un determinado tamaño, que posteriormente podemos utilizar para visualizarlas en otros controles. Para realizar esta acción de carga de imágenes en primer lugar cambiamos la propiedades Width y Height del ImageList asignándole un valor de 64.

A continuación realizamos un clic con el botón derecho del ratón sobre el control, y se visualiza un menú, en el cual se ha de seleccionar la opción “Image list editor”, la que hará que se presente el siguiente cuadro de dialogo.

image

En el que se ha de pulsar el botón “Add” (Añadir) para poder cargar las imágenes que nos interesan, en mi caso he utilizado imágenes de tipo ico. Cargamos las que creamos necesarias que vamos a utilizar, se ha de tener en cuenta que estas imágenes serán todas del mismo tamaño y si cambiamos las propiedades del control de ancho y alto, tendremos que volver a cargar las imágenes.

A continuación seguimos con la parte superior del formulario en el cual se ha situado en primer lugar un panel, con la propiedad Align, establecida al valor “alTop”, que hará que se ajuste el panel a la parte superior del formulario. Dentro del panel situamos una etiqueta estableciendo el caption de la misma con el nombre del programa, de forma que se presente mas o menos como la imagen siguiente.

image

Situamos a continuación un botón normal al cual le aplicaremos las siguientes propiedades:

Propiedad Valor
Caption &Países
Images ImageList1 (control de imagenes)
ImageIndex Seleccionar la imagen de la lista o teclear el numero de indice de la misma.
ImageAlignment iaLeft

De esta forma el control presentara el siguiente aspecto.

image

A continuación en la parte inferior del formulario situaremos otro panel, en esta ocasión con la propiedad Align, con un valor de “alBottom”, situando en el interior del mismo dos botones, uno con la alineación a la izquierda y otro con la alineación a la derecha.

A los botones les indicaremos las propiedades correspondientes para que presenten el siguiente aspecto.

image

 

Modulo de datos

Como nuestra aplicación va a hacer uso de una base de datos MySQL, es conveniente que creemos un modulo de datos, el cual tendrá la conexión y tablas necesarias para que nuestro programa utilice la base de datos.

Para realizar esta acción se ha de pulsar sobre el menú “File”, a continuación situarse sobre la opción “New” y pulsar sobre la opción “Other”.

image

Al pulsar sobre esta opción se presenta en pantalla el siguiente cuadro de dialogo.

image

En este cuadro de dialogo se ha de pulsar sobre la opción situada en la columna de la izquierda y denominada “C++ Builder Files”, seleccionando a continuación en la parte derecha la opción “Data Module” y pulsando a continuación el botón “Ok”.

image

 

Al aparecer este nuevo modulo de datos vamos a incluir en primer lugar el control correspondiente a la conexión, para realizar esta acción seleccionamos el control “TFDPhysMySQLDriverLink”, situado en la pestaña de controles “FireDac Links”, el cual nos proporciona el enlace con MySQL. Cambiamos la propiedad Name del control, asignándole el nombre “EnlaceMySQL”.

Insertamos a continuación el control “TFDGUIxWaitCursor”, situado en la pestaña de controles “FireDac UI”, y le asignamos el nombre “CursorDeEspera”.

A continuación insertamos el control que se encarga de realizar la conexión con nuestra base de datos, este control se denominada “TFDConnection” y se encuentra situado en la pestaña de controles “FireDac”. A este control le asignamos el nombre, utilizando la propiedad Name de “Conexion”.

Una vez que el control se ha insertado para configurar la conexión realizamos un clic con el botón derecho del ratón sobre el control de conexión, presentando un menú en el que se ha de seleccionar la opción “Connection Editor”.

image

Al seleccionar esta ultima opción se presenta el siguiente cuadro de dialogo.

image

En la que se han de especificar las siguientes opciones:

Propiedad Valor
Driver ID: Seleccionar de la lista el valor MySQL.
Database Nombre de la base de datos, creada en MySQL
User_Name Nombre del usuario que tiene acceso a la base de datos.
Password Contraseña del usuario que tiene acceso a la base de datos.
Server Dirección IP o nombre de dominio del servidor de base de datos.  En esta ocasión como el servidor en nuestro caso se ejecuta mediante XAMPP, puede ser localhost o 127.0.0.1
Port Usualmente 3306, que el puerto que utiliza el servidor de MySQL.

Una vez especificados los datos si se quiere probar la conexión se puede utilizar el botón “TEST”.

Si la conexión se realiza correctamente, pulsamos el botón “Ok”, y establecemos las siguientes propiedades del control de conexión.

Propiedad Valor
Connected False. Aunque durante el proceso de diseño, para poder probar componentes es muy probable que tengamos que activarla.
LoginPrompt False. Aunque FireDac implementa un control que permite realizar un cuadro de dialogo para el acceso, en este caso lo vamos a implementar nosotros.

También vamos a establecer el nombre del formulario de datos, para realizar esta acción cambiamos las siguientes propiedades del formulario de datos.

Propiedad Valor
Name FormDatos

 

 

Volvemos a continuación al formulario correspondiente al menú. Este seria un buen momento para grabar los cambios hechos en la aplicación.

Conectar el formulario de menú con el modulo de datos.

Para que el formulario de opciones y menú pueda hacer uso de los datos, se ha de realizar el enlace entre un formulario y otro, para realizar esta acción se ha  de pulsar en la pestaña situada en la parte inferior y denominada en mi caso “Unit5.cpp”, que se corresponde con el nombre del archivo del formulario de menú.

image

Al pulsar sobre la pestaña se muestra el código correspondiente al formulario de menú, subimos hasta la parte superior del mismo y realizamos la inclusión del formulario de datos mediante un “include”

image

Se puede observar en la línea marcada la orden insertada, en mi caso el formulario de datos se denomina el archivo Unit1.h.

Guardar y Probar

Seria conveniente guardar de nuevo todo el proyecto y probar si funciona correctamente de momento. Si es así en la próxima entrega realizaremos la conexión insertando un cuadro de dialogo para acceder a la base de datos en el menú principal y haremos que se nos muestre información sobre la misma.

Navegacion SeriesAnterior en la serie...

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies