|
No es el objeto del presente
proyecto hacer un repaso exhaustivo de la programación en Pascal, por eso vamos
a ver de forma somera solo algunas de las características de que dispone
Delphi, principalmente aquellas que le diferencian más del Pascal estándar.
Para ello, vamos a introducir una serie de conceptos:
Como su propio nombre indica, el Object Pascal (usado por Delphi) es un lenguaje totalmente orientado a objetos. Prácticamente todos los elementos del entorno Delphi son objetos, que unas veces se encuentran definidos de antemano (los forms, los componentes de la paleta, objetos no visuales, etc), y otras se definen en nuestra propia aplicación (por ejemplo el componente TPostIt de ANALOGIA.EXE definido en la unit U_Misc).
Todo el desarrollo de aplicaciones en Delphi está íntimamente ligado con la definición y uso de objetos, por lo que es fundamental conocer la mecánica que Object Pascal utiliza para describir un objeto, sus características y su funcionamiento, sobre todo a la hora de que el programador cree sus propios componentes. En muchos casos no es necesario conocer el funcionamiento de la programación orientada a objetos para programar con Delphi, puesto que en la mayoría de los casos existen controles ya creados sin necesidad de tener que programarlos. Por ejemplo en ANALOGIA.EXE la mayoría de los objetos forman parte de la VCL de Delphi y otros dos componentes han sido escritos por terceros (RChart y TFormulaParser), sin embargo ha sido útil desarrollar un componente propio (TPostIt) para mostrar la tabla de valores de los componentes en el programa.
La propia programación visual
de Delphi, que escribe parte del código automáticamente, hace posible utilizar
objetos de forma práctica sin tener por qué comprender al cien por cien su
funcionamiento.
Un componente es cualquiera de
los elementos que podemos insertar en una ficha, tanto si su función es visual
como si no lo es (por supuesto un componente es también un objeto). Un ejemplo
de componente puede ser RChart, usado en ANALOGIA.EXE para dibujar las
gráficas. Sin conocer exactamente el cómo realiza su función, el programador
manipula una serie de propiedades, métodos y eventos que caracterizan al
componente, a través de los cuales se "maneja" el componente en la
forma deseada. Por supuesto el usuario puede crear sus propios componentes y
usarlos en distintas aplicaciones, de forma que la reusabilidad del código es
máxima. A los componentes que cuentan con una parte visual, como puede ser un
botón, se les denomina controles.
Los componentes, y de hecho todos los objetos de Delphi son de uso general, por lo que a la hora de usarlos de alguna forma deberemos adecuarlos a nuestras necesidades. Para ello nos serviremos de las propiedades de cada objeto, mediante las cuales podremos establecer el título de una ventana, el tipo de letra de una etiqueta de texto o el color en el que aparecen los distintos controles.
Se puede pensar en las propiedades como si fuesen variables pertenecientes a un objeto (veremos que no es así exactamente), de tal forma que para acceder a ellas generalmente habrá que indicar no sólo el nombre de la propiedad, sino también a qué objeto pertenece.
La modificación o consulta del valor de una propiedad puede diferir según intentemos acceder a ella mientras estamos diseñando un form, en tiempo de diseño, o bien mediante el código del programa, en tiempo de ejecución. Ciertas propiedades están sólo accesibles en tiempo de ejecución, por lo que mientras estamos diseñando la ficha no aparecerán. Además hay algunas propiedades que son de sólo lectura, por lo que su valor puede ser consultado, pero no modificado, y otras que son sólo de escritura.
Aunque a primera vista si
usamos un componente prefabricado, las propiedades pueden parecer simples variables,
en la mayoría de las ocasiones una propiedad no es una variable, y la
modificación o consulta de su valor puede conllevar que internamente el
componente ejecute un cierto código. Si por ejemplo tuviésemos un componente
para comunicaciones serie que se encargase de enviar mensajes a un ordenador
remoto, podríamos tal vez asignar una cadena de caracteres a una hipotética
propiedad "Envia". De esta forma, con una simple asignación
(Envia:='Mensaje a mandar') se pondría en marcha todo el mecanismo implícito en
el componente para enviar el mensaje al ordenador remoto. Esta propiedad podría
ser un ejemplo de propiedad de sólo escritura, ya que sólo interesa mandar el
mensaje al ordenador remoto, sin conservar información acerca del mensaje, por
lo que sería inapropiada su lectura.
Como dije anteriormente, la programación en el entorno Windows se caracteriza por estar dirigida por eventos, de tal forma que un programa no tiene por qué ejecutarse necesariamente de forma secuencial, sino que ciertas porciones de código se ejecutarán cuando ocurra un cierto evento.
Los eventos son señales que el
entorno recibe desde distintos elementos, como puedan ser el ratón, el teclado
o un temporizador. Estos eventos son redirigidos a las aplicaciones, que en
caso de aceptarlos deberán responder adecuadamente de ellos. Ciertos eventos
pueden ser gestionados por el propio Windows, otros quedarán a cargo del propio
lenguaje que estemos usando, y un tercer grupo serán los que lleguen hasta
nuestro programa. En Delphi prácticamente todo el código que escribimos irá
asociado a algún evento. Si retomamos el ejemplo del componente para
comunicaciones serie, podría interesarnos que se ejecutara un evento cada vez
que se recibiese un carácter por el puerto serie, de forma que podríamos
escribir el código necesario para guardar el carácter en un archivo cada vez
que se produjese el evento. Normalmente los eventos a los que reaccionarán los
componentes serán las pulsaciones del teclado o el ratón, activaciones de los
componentes, etc.
Los componentes Delphi además de disponer de propiedades y poder responder a ciertos eventos, habitualmente también disponen de métodos. Un método es un procedimiento o función que nos permite realizar una determinada acción en el componente, pudiendo necesitar o no el paso de algún parámetro.
Al igual que ocurre en las
propiedades, a la hora de usar un cierto método normalmente tendremos que
indicar primero el objeto o componente al que pertenece, de tal forma que la
acción del método recaiga sobre él, y no sobre cualquier otro. El hecho de que
cada objeto sea propietario de una serie de propiedades y métodos, variables y
código, que no son accesibles a ningún otro objeto externo, recibe el nombre de
encapsulación, aunque también es posible definirlos de tal modo que sean
accesibles a otros objetos.
Aún no hay comentarios para este recurso.
Monografias, Exámenes, Universidades, Terciarios, Carreras, Cursos, Donde Estudiar, Que Estudiar y más: Desde 1999 brindamos a los estudiantes y docentes un lugar para publicar contenido educativo y nutrirse del conocimiento.
Contacto »