Recibe un cordial saludo.

Un tema al cual se enfrenta un programador Free Lance en su ámbito
laboral, día a día, es desarrollar una aplicación de la forma más ágil o rápida
posible, teniendo en cuenta que la aplicación debe cumplir varios criterios en
su desarrollo, como lo son: Portabilidad, mantenibilidad, eficiencia,
usabilidad, fiabilidad y funcionalidad. Para lograr que un desarrollo cumpla
con los criterios descritos, contamos con la programación orientada a objetos,
mejor conocida como la POO o en ingles OOP, la cual nos permite manejar la
herencia (Inherited), ya sea simple o múltiple. Se recomienda, si no tiene
conocimiento sobre el tema de la POO, estudiar sobre el mismo, ya que no me centraré
en dicha explicación.
FPC y su IDE LZ no es ajeno a este tipo de programación, por
lo cual en este artículo veremos la forma de trabajar con una forma o
formulario padre, del cual iremos heredando los demás formularios de nuestro
proyecto.
Nota: Para realizar correctamente este ejemplo debe haber leído el artículo de conexión a MySQL, ya que en base a ese ejemplo desarrollaremos este y los futuros. Al finalizar encontrará las fuentes del ejemplo. También cabe anotar que hay algunos pasos omitidos, los cuales usted como lector debe investigar.
Antes de continuar debemos analizar qué tipo de aplicación desarrollaremos y que tipo de objetos o componentes necesitamos en nuestros formularios (objetos concurrentes) cada vez que los creemos, para no estar agregándolos por cada forma.
Nota: Para realizar correctamente este ejemplo debe haber leído el artículo de conexión a MySQL, ya que en base a ese ejemplo desarrollaremos este y los futuros. Al finalizar encontrará las fuentes del ejemplo. También cabe anotar que hay algunos pasos omitidos, los cuales usted como lector debe investigar.
Antes de continuar debemos analizar qué tipo de aplicación desarrollaremos y que tipo de objetos o componentes necesitamos en nuestros formularios (objetos concurrentes) cada vez que los creemos, para no estar agregándolos por cada forma.
En este ejemplo necesitamos que nuestro form al crearse
tenga los siguientes objetos.
- Boton de salida (TBitBtn paleta additional).
- Un DataSource. (Paleta Data Acces)
- Un TSQLQuery (Paleta SQLdb)
- Un TDBNavigator. (Paleta Data controls)
- Teniendo el IDE LZ abierto, nos vamos al menú archivo nuevo formulario y creamos nuestro form. Ver imagen. Este formulario que hemos creado es el que usaremos como form padre, del cual heredaremos los demás formularios de nuestro proyecto, ahora le configuramos la propiedades Caption := FrmBase y Name := FrmBase en el inspector de propiedades de LZ, luego agregamos nuestros objetos al form. Ver imagen.


- Al DataSource1. La propiedad DataSet la apuntamos al SQLQuery1.
- Al SQLQuery1. La propiedad Database la apuntamos a nuestro Dataconexión, y automáticamente la propiedad Transaction se nos configura.
- Al DBNavigator1. La propiedad DataSource la apuntamos a nuestro DataSource1, y a la propiedad Anchors los siguientes valores : [akRight,akBottom].
- Al BitBtn1. La propiedad Caption le colocamos 'Salir', la propiedad Anchors los siguientes valores : [akRight,akBottom], la propiedad AutoSize el valor True, luego en el inspector de objetos, en la paleta eventos, buscamos el evento OnClick y hacemos Click sobre el botoncito que aparece a la derecha y nos muestra la ventana de edición de código donde escribiremos los siguiente.
Close; //Cerramos la ventana. Ver imagen.
- Hasta este punto hemos terminado nuestro form base o padre, ahora surge una prengunta, ¿Como hago para heredar de este form los que cree de aquí en adelante?. Bueno esto lo veremos en el siguiente y último capítulo de nuestro artículo.
- Para que los formularios creados de aquí en adelante hereden (Inherited) o sean basados del form padre que hemos creado, debemos hacer los siguiente.
- Ir al menú archivo y elegimos nuevo.
- En esta ventana no ubicamos en la sección elemento heredado (Componente de proyecto heredado), y en la parte derecha elegimos nuestro form base (FrmBase) y pulsamos aceptar. Ver imagen.
- Luego de haber dado aceptar se nos crea nuestro form con todos los objetos de nuestro form base o padre. Ver imagen.
- Como podemos ver, este método de herencia que nos brinda LZ, es muy pero muy importante, ya que nos permite ahorrar tiempo en nuestros desarrollos, además para cambios futuros, solo basta con modificar nuestra clase padre y luego el resto hereda los cambios.
Espero sugerencias, comentarios al respecto.
Saludos.
Excelente, Gracias Lewis, me gustaria ver los ejemplo, pero no puedo bajar el fuente, ya lo retirastes? Saludes
ResponderEliminarHola Douglas, alli están al final, no los he eliminado.
EliminarAl final dice fuentes.
EliminarAcá dejo el link desde GoogleDriver.
Eliminarhttps://drive.google.com/file/d/0B9Sc0eusjEfmc2M1ZmxhUWd1Rlk/edit?usp=sharing
Hola Mtro. Lewis, excelente ejemplo.
ResponderEliminarPara manejar clases en los botones y cuadros de texto, como se haría.
o es similar a esto, si tuvieras un ejemplo.
Gracias.
Gracias he aprendido y he hecho mis componentes.
Eliminarsaludos y bendiciones.
Excelente Blog.
Hola Oscar, para ese efecto hay que crear un componente que herede de alguna de las clases de Lazarus.
ResponderEliminarVoy a tratar de hacer un ejemplo, y lo estaré publicando.
Hola, con este mismo ejemplo, como seria si tengo que modificar la tabla en el heredado? es decir, quiero heredar el formulario padre, pero necesito modificar algunos datos en el hijo?
ResponderEliminarHola amigo, te paso un link de un ejemplo de un CRUD, con herencia, está en mariaDB.
Eliminarhttps://drive.google.com/open?id=1zxPq2Zjmu2HUL2AB2-lBYUUXsCZxBrOC