2. ¿Qué son?¿Qué son?
Un componente es una clase de uso específico, listaUn componente es una clase de uso específico, lista
para usar, que puede ser configurada o utilizada depara usar, que puede ser configurada o utilizada de
forma visual, desde el entorno de desarrollo.forma visual, desde el entorno de desarrollo.
La principal diferencia, respecto a una clase normal, esLa principal diferencia, respecto a una clase normal, es
que la mayor parte del trabajo lo podemos hacer deque la mayor parte del trabajo lo podemos hacer de
forma visual, con el ratón y ajustando las opciones queforma visual, con el ratón y ajustando las opciones que
se nos ofrece en nuestro entorno.se nos ofrece en nuestro entorno.
3. En la programación orientada a objetos,En la programación orientada a objetos,
debemos codificar una serie de operaciones, másdebemos codificar una serie de operaciones, más
o menos laboriosas, para preparar los objetoso menos laboriosas, para preparar los objetos
para su uso. Programar estas operacionespara su uso. Programar estas operaciones
requiere su tiempo, su complejidad y pueden serrequiere su tiempo, su complejidad y pueden ser
origen de errores. Si embargo, en laorigen de errores. Si embargo, en la
programación basada en componentes, todasprogramación basada en componentes, todas
estas operaciones las realizamos de forma visual,estas operaciones las realizamos de forma visual,
para así poder dedicar la atención a nuestropara así poder dedicar la atención a nuestro
problema.problema.
4. Tipos de componentesTipos de componentes
Aunque hay muchos tipos, podemos diferenciarAunque hay muchos tipos, podemos diferenciar
claramente dos grupos: “Visuales” y “Noclaramente dos grupos: “Visuales” y “No
visuales”visuales”
5. Componentes VisualesComponentes Visuales
Los componentes visuales son aquellos que, alLos componentes visuales son aquellos que, al
utilizarlos, muestran algún elemento (o dibujo) en lautilizarlos, muestran algún elemento (o dibujo) en la
pantalla y es el usuario de nuestros programas el quepantalla y es el usuario de nuestros programas el que
interactúa con él. El componente es el principalinteractúa con él. El componente es el principal
responsable de dibujar en la pantalla lo que searesponsable de dibujar en la pantalla lo que sea
oportuno, dependiendo de su estado, del valor de susoportuno, dependiendo de su estado, del valor de sus
atributos, etc. Hay muchos componentes de este tipo,atributos, etc. Hay muchos componentes de este tipo,
como pueden ser los botones (TButton), etiquetas decomo pueden ser los botones (TButton), etiquetas de
texto (TLabel), formas (TShape), etc.texto (TLabel), formas (TShape), etc.
6. Componentes No VisualesComponentes No Visuales
Los componentes no visuales son aquellos queLos componentes no visuales son aquellos que
no aparecen en la ventana, y se insertan en unno aparecen en la ventana, y se insertan en un
formulario para que el programador los utilice.formulario para que el programador los utilice.
Son más fáciles de programar que losSon más fáciles de programar que los
componentes visuales, ya que no tienen ningúncomponentes visuales, ya que no tienen ningún
tipo de interfaz gráfico. Ejemplos detipo de interfaz gráfico. Ejemplos de
componentes no visuales podrían ser uncomponentes no visuales podrían ser un
temporizador (TTimer), una tabla (TTable) otemporizador (TTimer), una tabla (TTable) o
una conexión a base de datos (TConnection,una conexión a base de datos (TConnection,
TSQLConnection, etc.).TSQLConnection, etc.).
7. Todo componente tiene propiedades, eventos,Todo componente tiene propiedades, eventos,
métodos y atributos.métodos y atributos.
LasLas propiedadespropiedades son datos públicos del componente, muyson datos públicos del componente, muy
parecidas a los atributos de una clase, aunque se accede a ellas aparecidas a los atributos de una clase, aunque se accede a ellas a
través de dos métodos: un método para leer su valor, y otro paratravés de dos métodos: un método para leer su valor, y otro para
modificarlo. Existen propiedades de sólo lectura, en las quemodificarlo. Existen propiedades de sólo lectura, en las que
podemos consultar pero no modificar su valor, y propiedades depodemos consultar pero no modificar su valor, y propiedades de
sólo escritura. Por ejemplo, las propiedades “Alto” (Width) ysólo escritura. Por ejemplo, las propiedades “Alto” (Width) y
“Ancho” (Height) de un botón permiten que un programador“Ancho” (Height) de un botón permiten que un programador
pueda cambiar las dimensiones del componente. Cuando elpueda cambiar las dimensiones del componente. Cuando el
programador cambia alguna de ellas, el componente debeprogramador cambia alguna de ellas, el componente debe
redibujarse en la pantalla, para mostrar los nuevos cambios.redibujarse en la pantalla, para mostrar los nuevos cambios.
8. LosLos eventoseventos son funciones del componente,son funciones del componente,
que se ejecutarán automáticamente cuandoque se ejecutarán automáticamente cuando
ocurra “algo importante”. Un programadorocurra “algo importante”. Un programador
puede poner el código que quiera en el evento,puede poner el código que quiera en el evento,
para así poder hacer una acción cuando esepara así poder hacer una acción cuando ese
“algo importante” ocurra.“algo importante” ocurra.
9. LosLos métodosmétodos son funciones, que permitenson funciones, que permiten
realizar acciones. Normalmente, se utilizanrealizar acciones. Normalmente, se utilizan
métodos para dos tareas distintas: realizar algométodos para dos tareas distintas: realizar algo
importante (como repintar en pantalla, cambiarimportante (como repintar en pantalla, cambiar
el foco o algo así), o para establecer el valor deel foco o algo así), o para establecer el valor de
los atributos internos, haciendo algún tipo delos atributos internos, haciendo algún tipo de
comprobación previa. Como las propiedadescomprobación previa. Como las propiedades
pueden ser leídas o escritas a través de métodos,pueden ser leídas o escritas a través de métodos,
a veces es equivalente la llamada a un método ya veces es equivalente la llamada a un método y
el cambio de una propiedad.el cambio de una propiedad.
10. Y por último, losY por último, los atributosatributos. Tienen la misma. Tienen la misma
misión que en programación orientada a objetos,misión que en programación orientada a objetos,
es decir: almacenar datos internos al objeto (oes decir: almacenar datos internos al objeto (o
clase). En el maravilloso mundo de losclase). En el maravilloso mundo de los
componentes, los atributos siempre son internoscomponentes, los atributos siempre son internos
y de uso privado, y debemos utilizar lasy de uso privado, y debemos utilizar las
propiedades para que un programador puedapropiedades para que un programador pueda
leer o establecer un dato.leer o establecer un dato.
11. Sabiendo esto, podemos decir que la principalSabiendo esto, podemos decir que la principal
“misión” del programador de componentes es“misión” del programador de componentes es
definir un grupo de propiedades, métodos ydefinir un grupo de propiedades, métodos y
eventos para que otros programadores puedaneventos para que otros programadores puedan
utilizar el componente de forma sencilla yutilizar el componente de forma sencilla y
rápida.rápida.