0% encontró este documento útil (1 voto)
520 vistas12 páginas

Introduccion A Delphi

Este documento proporciona una introducción a Delphi, incluyendo: 1) una descripción general de lo que es Delphi y sus ventajas sobre otros lenguajes como Visual Basic y C++; 2) una explicación del entorno de Delphi, incluyendo la ventana principal, el inspector de objetos, el editor de código y las ventanas de formularios; y 3) descripciones de conceptos básicos como objetos, componentes, propiedades y eventos.

Cargado por

chekarlonm
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (1 voto)
520 vistas12 páginas

Introduccion A Delphi

Este documento proporciona una introducción a Delphi, incluyendo: 1) una descripción general de lo que es Delphi y sus ventajas sobre otros lenguajes como Visual Basic y C++; 2) una explicación del entorno de Delphi, incluyendo la ventana principal, el inspector de objetos, el editor de código y las ventanas de formularios; y 3) descripciones de conceptos básicos como objetos, componentes, propiedades y eventos.

Cargado por

chekarlonm
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

INTRODUCCION A DELPHI

1. INTRODUCCIÓN

2. ¿QUÉ ES DELPHI?

3. EL ENTORNO DE DELPHI
a. La ventana principal
b. La ventana de programa. Formularios (Forms)
c. El inspector de objetos (object inspector)
d. El editor de código fuente

4. CONCEPTOS BÁSICOS EN LA PROGRAMACIÓN CON DELPHI


a. Objetos
b. Componentes
c. Propiedades
d. Eventos
e. Métodos

5. BASES DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

6. TRATAMIENTO DE ERRORES Y EXCEPCIONES

7. PROGRACIÓN MDI

8. ESTRUCTURA DE UN PROYECTO DELPHI


Introducción
El texto sobre Delphi que vais a leer es parte de mi Proyecto Fin de Carrera
(teleco técnica). Este consistía en un simulador de sistemas mecánicos
mediante el análisis de su circuito eléctrico equivalente. El nombre de programa
es ANALOGIA.EXE, por lo que cuando me refiera en el texto a "ANALOGIA",
ya sabeis de qué se trata. De todas formas no te preocupes, no tienes que
saber nada sobre analogías electromecánicas, simplemente puedes aprender
algo sobre programación bajo Delphi.

El programa ANALOGIA ha sido realizado íntegramente con Delphi 1, para


plataformas Windows de 16 bits o 32 bits, ya que resulta el compilador idóneo
para realizar potentes aplicaciones con las facilidades de uso y herramientas
que caracterizan a los entornos de programación modernos. A continuación
veremos las ventajas de utilizar Delphi en lugar de C++ o Visual Basic, por
ejemplo. Básicamente decir que Delphi aúna la potencia y rapidez de ejecución
de que carece Visual Basic con la facilidad de la programación visual de las
herramientas tipo RAD (Rapid Application Development) de que carece C++.

La razón de no haber empleado Delphi 2 (o el novísimo Delphi 3), que


realiza una compilación para 32 bits, es la cantidad de usuarios que todavía no
disponen de sistemas operativos (Windows) de 32bits (Windows95 y Windows
NT). Con delphi 1 el programa se puede ejecutar con cualquier tipo de
Windows disponible.

Delphi es algo más que el sucesor del famoso Pascal 7.0 de Borland.
Dispone no sólo de un compilador muy rápido (más que la gran mayoría de los
compiladores de C++, como ya era tradicional en Turbo Pascal), sino también
de potentes herramientas para la creación visual de aplicaciones, de completas
herramientas para la creación y manejo de bases de datos, aplicaciones
multimedia, enlace DDE, OLE, creación de DLLs, VBX, etc.

¿Qué es Delphi?

Para hacernos una idea de lo que es, y de lo que se puede conseguir con
Delphi, vamos a ver de forma breve las propiedades más importantes y
destacadas de que consta.

• Delphi 1 es una potente herramienta de desarrollo de programas que


permite la creación de aplicaciones para Windows 3.x, Windows95 y
Windows NT. De hecho, aunque el programa ANALOGIA.EXE corre
perfectamente en cualquier tipo de Windows, fue desarrollado sobre una
plataforma Windows NT Workstation.

• Las aplicaciones pueden colocarse de forma muy sencilla en la pantalla


según el principio de módulos. Para ello se dispone de una paleta
dotada de una gran variedad de componentes, algo así como los
bloques de construcción de cada programa. Esta paleta es denominada
por Borland VCL (Visual Component Library), o biblioteca de
componentes visuales. Tiene un aspecto similar a Visual Basic, pero
aunque el aspecto externo indica la misma facilidad de uso que Visual
Basic, el corazón del sistema Delphi es mucho más potente.

• Esta VCL es mucho más amplia que la de Turbo Pascal para Windows
o la conocida OWL 1.0 (Object Windows Library) de Borland Pascal, y
ofrece además una abstracción mucho más alta del sistema operativo.
El programador es totalmente independiente de las particularidades de
Windows, tales como manejadores (Handlers), punteros y funciones del
API de Windows (Application Programming Interface). La programación
se realiza con los cómodos componentes de Delphi y no con las
complejas llamadas al sistema de Windows. Esto simplifica
enormemente la hasta ahora poco clara programación bajo Windows.

• En realidad el hecho de que no necesitemos (normalmente) usar


llamadas al API, no quiere decir que Delphi no lo permita. En casos muy
concretos es necesario y no se puede hacer de otra manera. Un ejemplo
concreto en ANALOGIA.EXE es la rutina que escribe las letras verticales
de las etiquetas de los componentes del sistema mecánico (si el sistema
es vertical). Esta rutina hace uso de varias llamadas al API de Windows
puesto que Delphi no admite la posibilidad de escribir en vertical
directamente. Pero como se ve, es un caso muy particular para una
necesidad muy concreta.

• A diferencia de otras herramientas de desarrollo visuales (Visual Basic,


Toolbook, etc) con Delphi es posible crear nuevos componentes que
pueden entonces incorporarse en la paleta con los componentes ya
existentes y que pueden ser utilizados de la misma forma. La VCL puede
estructurarse libremente y así adaptarse totalmente a las situaciones
propias de programación.

• Delphi no solo dispone de componentes para la sencilla creación de


entornos de aplicaciones como cuadros de lista, conmutadores o
cuadros de diálogo terminados, sino que cubre con sus componentes
muchos temas de la programación bajo Windows: se incluye entre los
mismos un completo centro de control para la creación de aplicaciones
multimedia, así como una gran variedad de componentes que actúan
"debajo" del entorno, como tipos de listado muy variados y contenedores
generales de datos. También hay herramientas de comunicación para
DDE y OLE a través de las que se pueden crear vínculos de datos y
comandos con otras aplicaciones. Uno de los aspectos más destacados
lo constituyen los componentes que Borland ha incluido en Delphi para
el desarrollo de completas aplicaciones de bases de datos. No se está
limitado a un formato de datos determinado, sino que se tiene acceso a
50 formatos de datos diferentes a través de controladores suministrados
por terceros (IDAPI y ODBC). Entre éstos se encuentran todos los
estándares importantes de bases de datos en el área del PC como
XBase, Paradox, Access, etc. Pero también es posible acceder de forma
muy cómoda a servidores de bases de datos de otros sistemas (por
ejemplo UNIX) por medio del SQL (Structured Query Language) que
constituye un estándar de lenguaje de uso general para consultar y
modificar datos administrados por servidores especiales de bases de
datos como Oracle, Sybase, Informix o Adabas.

• Delphi dispone del Object Pascal, un lenguaje de programación muy


poderoso que está sin dudas a la altura del C++ y que incluso lo supera
en algunos aspectos. Este lenguaje surge a partir del desarrollo del
Borland Pascal 7.0, un lenguaje que ocupa un lugar muy importante en
la programación de ordenadores personales. El Object Pascal es
totalmente compatible con el Borland Pascal 7.0, lo que permite que
programas desarrollados con este último puedan ser convertidos a
Delphi. Incluso la biblioteca de clases OWL 1.0 se incluye con el paquete
de Delphi. Aspectos nuevos en el Object Pascal en relación a sus
predecesores son el Exception-Handling (tratamiento y canalización de
errores en run-time), un manejo más sencillo de los punteros con
reconocimiento automático y referenciación, las llamadas propiedades
de objetos que pueden ser asignadas como las variables, etc.

• Las aplicaciones terminadas quedan disponibles como archivos


ejecutables (.EXE) que pueden utilizarse solos y sin bibliotecas
adicionales, tal y como se ha hecho en ANALOGIA.EXE.
Consecuentemente la velocidad con la que pueden ejecutarse los
programas creados es muy alta. Excepcionalmente, si se incluyen
llamadas a VBX, o DLLs, éstas se deben incluir junto con el ejecutable.
También es necesario incluir el BDE (Borland Database Engine) en las
aplicaciones de bases de datos, por lo cual no se incluye con
ANALOGIA.EXE.

• Delphi es una "Two-Way-Tool", es decir, una herramienta de dos


direcciones, porque permite crear el desarrollo de programas de dos
formas: una de forma visual en la pantalla, por medio de las funciones
de Drag & Drop (Arrastrar y colocar) y la otra a través de la
programación convencional, escribiendo el código. Ambas técnicas
pueden utilizarse de forma alternativa o simultánea.
El entorno de Delphi

El entorno de programación típico consta en Delphi de cuatro ventanas que


comparten el espacio disponible de la pantalla. Cada una de estas ventanas
puede modificarse, cerrarse y volverse a abrir mediante el menú View. Estas
ventanas fundamentales son:

1. La ventana principal
2. El inspector de objetos (object inspector)
3. El editor de código fuente
4. La ventana (o ventanas) de programa (Forms)

El entorno de Delphi con el Form principal de ANALOGIA.EXE


La ventana principal

La barra de programa del margen superior de la pantalla representa la


ventana principal de Delphi. Si se cierra, todas las otras ventanas también
finalizan su servicio. En la barra de menús de la ventana principal están
disponibles todas las órdenes relacionadas con el procesamiento de un
proyecto concreto. La carga y almacenamiento de proyectos pertenecen
igualmente al menú, así como la presentación u ocultación de las distintas
ventanas del entorno de desarrollo.

También se encuentran aquí las órdenes para compilar y ejecutar un


programa. Finalmente, desde aquí también se puede llamar a una parte de los
programas externos suministrados con el paquete de Delphi: el "Image Editor",
el "Database Desktop", y el "BDE Config". El único utilizado en
ANALOGIA.EXE es el editor de imágenes, ya que es capaz de crear y editar
ficheros .BMP (por ejemplo las imágenes de los componentes mecánicos,
etc), .ICO (el icono de la aplicación), .CUR (Los distintos cursores que he
definido), .RES (Resource File) y .DCR (Component Resource).

El mayor espacio de la ventana principal lo ocupa la paleta de componentes,


que se encuentra dividida en secciones temáticas a través de unas pestañas.
Al igual que en el programa ANALOGIA.EXE, si situamos el cursor sobre cada
icono, saldrá un mensaje indicando el tipo de acción que realiza.

Vista general de la ventana principal

Las áreas en que se divide la paleta de componentes son:

Area Descripción
Contiene todos los elementos de control que Windows pone a disposición
normalmente, empaquetados en la estructura clara de un componente. En
Standard
ANALOGIA.EXE los más usados son, los botones, cuadros de lista,
menú, paneles, etiquetas, RadioButtons y CheckBoxes.
Contiene todos los componentes que Windows no pone a disposición
como elementos de control estándar, pero han resultado útiles con el paso
Additional del tiempo en varios programas. Principalmente se ha usado en
ANALOGIA.EXE los botones de gráficos, el TabbedNoteBook, las tablas
(TStringGrid), el visor de gráficos (Timage), y el TScrollBox.
Aquí se encuentran los componentes desarrollados especialmente para una
captura cómoda y rápida de las bases de datos. Se puede tratar tanto de
Data Acces
bases de datos locales, como de sistemas repartidos (con importancia
especial en la versión Client-Server de Delphi).
Data Dispone de componentes variados para el procesado de datos, trabajando
Controls en conjunción con los elementos del área "Data Access".
Contiene todos los diálogos estándar de Windows, empaquetados como
Dialogs componentes, tales como diálogos de open/save, impresión, etc. Los
diálogos de archivo e impresión son usados en ANALOGIA.EXE
Contiene varios componentes que ofrecen determinados servicios de
System sistema en Windows, como reloj, barras de archivos, funciones
multimedia, DDE y OLE 2.0, etc.
Contiene algunos elementos VBX visualizados como si fuesen
VBX componentes, tales como un visor de gráficos, un generador de diagramas,
etc.
Este último área contiene algunos otros componentes útiles cuyo código
fuente se adjunta, tales como barras de progresión, calendario, etc.
Samples
ANALOGIA.EXE hace uso de la barra de progresión y del botón con
flechas.

La ventana de programa. Formularios (Forms)

Delphi hace fácil precisamente las tareas rutinarias, dejando para el


programador la tarea realmente importante de codificar el programa, no el
entorno.

El entorno (ventanas, colocación de botones, listas, etc) se crea de forma


puramente visual, es decir, simplemente se coge con el ratón el componente
deseado de la barra de herramientas de la ventana principal y lo sitúa en la
ventana sobre la que se desarrolla el programa (Form).

En el Form se puede reproducir el aspecto y el comportamiento de todo tipo


de ventanas, simplemente especificando las propiedades correspondientes y/o
escribiendo ampliaciones propias. De esta forma se caracteriza a la ventana a
través de sus propiedades: anchura, altura, coordenadas, estilo de los bordes,
colores, eventos ante los que reacciona, etc.

El inspector de objetos (object inspector)

Como se ha mencionado, los componentes vienen definidos por sus


propiedades, y los eventos ante los que reaccionan (aparte de los "métodos" de
que disponga, que son parecidos a los procedimientos).

El inspector de objetos es una ventana desde la cual se pueden ver y


modificar la mayoría de las propiedades y eventos del componente, ya que se
listan en dicha ventana tanto las propiedades como los eventos por orden
alfabético.

La mitad derecha de la ventana contiene el valor actual de cada propiedad.


Puede tratarse de números, cadenas de caracteres, constantes determinadas,
gráficos, textos, punteros, etc.
En el caso de estar visualizando la parte correspondiente a eventos, vemos
que sale una lista con muchos de los eventos ante los cuales el componente
reacciona (no todos, algunos no son accesibles a través del inspector de
objetos y hay que definirlos mediante código). Si por ejemplo queremos colocar
(en ANALOGIA.EXE) un componente mecánico cuando el usuario haga click
con el ratón, debemos hacer que el "Lienzo" (en realidad un TScrollBox)
reaccione ante el evento OnClick. Para ello efectuamos un doble click sobre el
campo situado a la derecha de "OnClick" en el inspector de objetos
(inspeccionado el TScrollBox) con lo cual se nos escribe directamente el
siguiente código en la ventana de edición de código:

procedure TForm1.LienzoClick (Sender: TObject);


begin

end;

Lo que se pone dentro del procedimiento será lo que se ejecute cuando se


produzca el evento OnClick sobre el TScrollBox. En nuestro caso de ejemplo
dibujar un componente mecánico.

Naturalmente, las rutinas de eventos pueden agregarse repetidas veces. Por


ejemplo (en ANALOGIA.EXE) si se ha vinculado la opción del menú "Cerrar"
con una rutina OnClick que se encarga de cerrar la ventana activa, y
disponemos también de el icono con la llave (un TSpeedButton), no es
necesario escribir otra vez el mismo código. Basta con indicar el nombre de la
rutina existente en el evento OnClick en el botón.

El editor de código fuente

Como se indicó al principio, Delphi es una "Two-Way-Tool", de forma que lo


que se va programando visualmente, va apareciendo en forma de código en el
editor de código fuente. De la misma forma, si no queremos hacer uso de las
capacidades de programación visual, podemos limitarnos a escribir el código
(incluida la creación de ventanas, etc.) que se ejecutará.

El editor dispone de una ventana distinta por cada Unit de que disponga el
programa, seleccionándose una ventana u otra por medio de pestañas. En
concreto, el programa ANALOGIA dispone de once units (de las cuales nueve
tienen su form adjunto), cada una de las cuales se selecciona en el editor con
su pestaña correspondiente.

Adicionalmente dispone de posibilidad de copia al portapapeles, resaltado de


palabras clave, inserción de puntos de ruptura, índices, búsquedas, etc.
Conceptos básicos en la programación
con Delphi

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:

1. Objetos
2. Componentes
3. Propiedades
4. Eventos
5. Métodos

Objetos

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.
Componentes

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.

Propiedades

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.

Eventos

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.

Métodos

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.

También podría gustarte