ES

www.codigo-facil.com > Utilidad y creacion de una Unit en Delphi

Como crear nuestra Unit en Delphi ?


En este articulo veremos la utilidad y creacion de una unidad o unit en Delphi

Introduccion


Las unidades o units, como se le conocen en Delphi y Object Pascal, son importantes ya que nos permiten una mejor estructuracion de nuestro codigo fuente, facilitando asi el almacenamiento de nuestros procedimientos y funciones en un archivo independiente, lo que facilita de esta forma su reutilizacion para futuros proyectos.

La creacion de una unidad es muy sencilla basta con seguir los siguientes pasos :

File > New > Unit

Pero el objetivo de este articulo es ademas explicar su estructura principal e incluir un sencillo ejemplo practico donde veamos su utilidad.

Estructura de una Unit


Cuando creamos la unidad en seguida veremos como se crea una nueva pestaña en el editor de codigo con la estructura minima necesaria para poder ser compilada. Destacar que se le asignara un nombre automaticamente teniendo la posibilidad de cambiarlo en el momento que registremos la unit por primera vez. No debemos olvidar que el nombre de la unit debe ser igual al nombre del archivo fisico .pas.

Como habia comentado antes la unit consta de una estructura con una serie de clausulas necesarias y que no se pueden eliminar, mas adelante analizare la utilidad de cada una.

  1. unit nombre_unidad;

  2. interface

  3. implementation

  4. end.
Las clausulas que hemos visto arriba sirven para delimitar las diferentes secciones de la unidad. Vamos a prestar especial atencion a las causulas interface e implementation.

Las otras dos clausulas como podemos deducir nos indican el incio y final de la unidad.

Clausula para iniciar la unidad :
  1. unit nombre_unidad;

Clausula para finalizar la unidad :
  1. end.

Pero donde realmente se va a desarrollar toda la unidad lo vamos a encontrar en la secciones marcadas con las clausulas interface e implementation.

Dentro de interface podremos incluir otras librerias mediante la clausula uses, ademas de declarar las constantes, tipos de datos, procedimientos o variables que podran ser utilizados por otras partes de la aplicacion. Destcar que solo se incluyen las declaraciones de procedimientos o funciones sin la implementacion.

En implementation desarrollaremos los procedimientos y funciones declarados ateriorlmente en la clausula interface. Destacar que tambien podremos incluir otros procedimientos, funciones o variables sin haberlos declarado previamente en interface, aunque estos solo podran ser utilizados dentro de la unit, siendo invisibles para las otras partes de la aplicacion.

Resumiendo, interface nos sirve para declarar tipos de datos, procedimientos, funciones o variables. Dejando la implementacion de estas funciones o procedimientos al codigo incluido despues de la clausula implementation.

Un ejemplo practico


Pero no hay nada mejor que poner en practica todo la teoria con un pequeño ejemplo. Para este cometido vamos a crear una unidad que calculara el area de una figura geometrica.

Para ello creremos una unit que se encargara de verificar los valores de entrada y del posterior calculo dependiendo de la figura seleccionada. el programa principal sera un simple formulario como el de la imagen que podemos ver a continuacion :
Es un formulario sencillo que consta de los siguientes componentes :
  • Combobox, para elegir el tipo de figura geometrica.
  • 2 Edits, para idicar la base y la altura de la figura
  • Boton, para calculr el area
La comprobacion de los valores de entrada y el calculo del area la realiza la unit que hemos creado para este ejemplo. El codigo de esta unit lo podemos ver a continuacion :
  1. unit  UnitUtils;

  2. interface

  3.   uses
  4.     dialogs,SysUtils;

  5.   type
  6.     TFigura = record
  7.       base : real;
  8.       altura : real;
  9.       area : real;
  10.     end;

  11.   function calcularArea(base,altura:string;tipoFigura:byte):real;

  12.   var
  13.   figura : tFigura;

  14. implementation

  15.   procedure converion(base,altura:string);
  16.   begin
  17.     try
  18.       figura.base:=strtofloat(base);
  19.       figura.altura:=strtofloat(altura);
  20.     except
  21.       showmessage('Error el formato de los datos no es correcto');
  22.       abort;
  23.   end;

  24.   function calcularArea(base,altura:string; tipoFigura:byte):real;
  25.   begin
  26.     converion(base,altura);
  27.     if (tipoFigura<=1)then
  28.       figura.area:=figura.base*figura.altura
  29.     else
  30.       figura.area:=figura.base*figura.altura/2;
  31.     result := figura.area;
  32.   end;

  33. end.
Comentarios sobre el codigo :

Como podemos ver en el ejemplo anterior tenemos una pequeña muestra de lo explicado anteriormente. Hemos declarado nuestro propio tipo de datos, una funcion, y una variable. Estos datos al estar dentro de interface son visbles para aquellas partes de la aplicacion donde se incluya la unidad.

Sin embargo si nos fijamos dentro de implementation ademas de tener la implementacion de la funcion previamente declarada en interface, hemos incluido otra funcion, que se encarga de verificar si los datos introduciodos son verdaderos numeros. No debemos olvidar que al no haber incluido la declaracion en interface esta funcion solo podra ser utilizada por las funciones que esten dentro de la unit, siendo invisible por el resto de la aplicacion.

Enlaces de interes :

En la realizacion de este ejemplo hemos utilizado algunas estructuras que las podemos encontrar en algunas publicaciones, de esta forma pueden econtrar mas informacion sobre :

Con este ultimo apunte hemos llegado al final de este articulo, espero que os haya resultado de utilidad. Como siempre aqui me despido y nos vemos en futuras publicaciones, gracias a to@s por vuestro apoyo.

Ultimas noticias

Crea tu propio framework en javascript

Recopilacion de articulos donde mostrare paso a paso como podemos crear nuestro propio framework en javascript, totalmente funcional y listo para ser utilizado en nuestros futuros proyectos.

Para mas informacion :

Tutorial para crear tu propio FrameWork en JavaSript

Más información
13/12/2013 11:42:57

Como crear una DLL en delphi?

En esta serie de 2 capitulos veremos como crear y utilizar una DLL en Delphi.

Abajo os dejo los enlaces a estos 2 capitulos que componen este mini tutorial, espero que sea de vuestro agrado :

Capitulo 1 : Creacion y utilizacion de una DLL

Capitulo 2 : Creacion de un formulario dinamico utilizando una DLL
Más información
19/09/2013 17:35:59

Ya puedes publicar tu opinion

A partir de ahora ya puedes comentar todas las publicaciones que encuentres en el portal.

Podras opinar tanto si algo te gusta como si no, o si crees que es conveniente completar alguna publicacion, ya que la encuentras incompleta o erronea.

O simplemente por si nos quieres felictar por algo bien hecho :-).

Valoraremos cualquier critica que nos puedas hacer.
Más información
20/05/2013 15:30:10

Tutorial PHP5

Fundamentos de la programacion orientada a objetos
Un interesante tutorial repartido en una serie de capitulos donde se tratan los conocimientos basicos de la programacion orientada a objetos (POO) en PHP5.

Para mayor informacion siga el siguiente enlace :

Tutorial POO en PHP

Más información
04/09/2013 15:44:29
0