Title: Desarrollo Rpido de Aplicaciones con BORLAND Delphi
1Desarrollo Rápido de Aplicaciones con BORLAND
Delphi
- Marta Sananes
- IEAC/FACES
- Julio 2001
- Borland Software Corporation
2Contenido
- Ambiente integrado de desarrollo (IDE)
- Lenguaje ObjectPascal
- Jerarquía de Clases
- Componentes
- Acceso a Bases de Datos
- Procesamiento concurrente
- Generación de Gráficos
- Excepciones
- Aplicaciones distribuidas
- Archivos de Ayuda
- Más información...
3Ambiente integrado de desarrollo
- Construcción visual de Formas colocando
- Componentes
- Generación de código, con programación
- por Eventos
- Editor Sintáctico
- Facilidades de Depuración
- Manejo de varios Proyectos simultáneamente
- Capacidad de expansión por adición de
- Componentes
- Ayuda en línea
4Lenguaje ObjectPascal
- Origen
- Segunda Extensión OO de Pascal. Sintaxis diseñada
conjuntamente por el equipo Apple Clascal
(Primera Extensión) y Niklaus Wirth.
(Object-Oriented Programming for the Macintosh). - Delphi ObjectPascal
- Ampliación de capacidades de OP. Modelo de
Objetos equiparable al de Java. - Características del Modelo de Objetos
- Tipos de acceso Private, Protected, Public,
Published - Direccionamiento de métodos Static, Virtual,
Dynamic - Propiedades atributos con métodos de acceso
- Delegación de responsabilidades interface,
implements
5Jerarquía de Clases
6Componentes
MainMenu PopUpMenu
Label Edit Memo Button CheckBox
RadioButton ListBox
ComboBox
ScrollBar GroupBox RadioGroup Panel ActionList
Cada tipo de Componente representa una Clase
nativa de Componente dentro de la Jerarquía de
clases de Delphi o alguna incorporada a la VCL
(Visual Component Library). Al seleccionar un
Componente y colocarlo en la forma, Delphi
genera la declaración de una instancia del Objeto
de la clase del Componente. Sus listas de
propiedades y de posibles Eventos se muestran en
el Object Inspector. El programador puede
configurar propiedades a su gusto y seleccionar
a cuáles eventos responderá el Componente,
especificando el nombre del respectivo
procedimiento y completando su código dentro del
esqueleto creado por el editor sintáctico.
7Acceso a Bases de Datos
DataSource Table Query
StoredProc
DataBase
Session
BatchMove
UpdateSQL
DB Grid Navigator
Text Edit
Memo Image
ListBox ComboBox
CheckBox
RadioGroup LookUpListBox
LookUpComboBox RichEdit
Delphi presenta dos paletas de Componentes para
acceso y uso de Bases de Datos. Las versiones
Professional y Enterprise, permiten acceso a
Bases de Datos remotas soportadas por distintos
SMBD, como Sybase, Oracle, DB2.
8Acceso a Bases de Datos Ejemplo con Sybase
9Acceso a Bases de Datos Ejemplo con Sybase
10Acceso a Bases de Datos Ejemplo con Sybase
11Acceso a Bases de Datos Ejemplo con Sybase
12Acceso a Bases de Datos Ejemplo con Sybase
13Acceso a Bases de Datos Ejemplo con Sybase
14Acceso a Bases de Datos Ejemplo con Sybase
Tanto en tiempo de diseño como de ejecución de la
aplicación, se presenta el cuadro de diálogo de
acceso a la BD
15Acceso a Bases de Datos Ejemplo con Sybase
Campos definidos en la Tabla se pueden incorporar
a la aplicación como Objetos de clases
predefinidas para su uso directo.
16Acceso a Bases de Datos Ejemplo con Sybase
17Acceso a Bases de Datos Ejemplo con Sybase
18Procesamiento concurrente
TThread es una de las clases predefinidas de
Delphi. Se crea un descendiente de TThread para
representar un hilo de ejecución en una
aplicación con múltiples hilos en ejecución
concurrente (multi-threaded application). Cada
nueva instancia de una subclase de TThread es un
nuevo hilo de ejecución. Múltiples instancias de
clases derivadas de TThread hacen que una
aplicación Delphi sea multi-hilada. Durante el
proceso de ejecución de una aplicación
concurrente, un hilo ejecuta una parte de la
aplicación y el Sistema Operativo le asigna
tiempo de CPU. Todos los hilos de un proceso
comparten el mismo espacio de direcciones y
pueden acceder a las variables globales del
proceso. Conviene usar hilos para mejorar el
desempeño de una aplicación cuando Hay que
manejar entradas de varios dispositivos de
comunicación. Hay que distinguir entre varias
tareas con distintas prioridades.
19Generación de Gráficos
- TCanvas Clase que define propiedades (Pen,
- Brush,..) de un área de dibujo y un conjunto de
- métodos de dibujo (Arc, Line, Rectangle,...).
Las - Formas heredan la propiedad Canvas de clase
- TCanvas de la clase madre TForm. La clase de
- Componente TPaintBox también contiene un
Canvas. - TCanvas tiene dos descendientes, TControlCanvas
y - TMetafileCanvas, para dibujar imágenes de
- controles y para crear imágenes metafile,
- respectivamente.
- OpenGL Usando las Units OpenGL (interfaz a
- OpenGL32.dll) y Windows (interfaz a la
Windows - API). OpenGL es original de Silicon
Graphics. - Delphi Games Creator (DGC) Paquete de libre
- distribución que contiene una interfaz para
- acceder a la librería DirectX de la API de
- Windows 95.
- WDGraph Librería emuladora extendida de la TP
- Graph, desarrollada para la versión Windows del
20Excepciones
Se manejan dentro de bloques try...except. Por
ejemplo, try X Y/Z except on EZeroDivide
do HandleZeroDivide end La sintaxis de un
bloque try...except statement es try statements
except exceptionBlock end donde statements es una
secuencia de instrucciones y exceptionBlock es
otra secuencia de instrucciones o una secuencia
de exception handlers, seguida opcionalmente
por una instrucción else. Un exception handler
tiene la forma on identifier type do
statement type es un tipo usado para representar
excepciones (como EZeroDivide, EOverflow, etc.)
Un bloque try...except ejecuta las instrucciones
de la lista inicial. Si no ocurre ninguna
excepción, el exceptionBlock se ignora y el
control pasa a la siguiente instrucción. Si
ocurre una excepción al ejecutar la lista
inicial, se intenta manejarla de acuerdo a lo
especificado en el exceptionBlock.
21Aplicaciones distribuidas
- Son aplicaciones que se distribuyen entre varias
máquinas y plataformas para trabajar en forma
integrada, típicamente sobre una red, para
realizar una variedad de funciones relacionadas. -
- Delphi provee varias opciones para la
implementación de aplicaciones distribuidas - TCP/IP
- COM y DCOM
- CORBA
- Database
- Delphi Help
22Aplicaciones distribuidas TCP/IP
Las aplicaciones que usan TCP/IP pueden ser
distribuidoras de mensajes (como un servidor Web
que despacha mensajes de pedido de tipo HTTP) o
distribuidora de objetos (como una aplicación de
Base de Datos distribuida que se comunica usando
Windows sockets). La forma más básica de
agregar funcionalidad TCP/IP a una aplicación es
usando client o server sockets. Delphi
también proporciona soporte a aplicaciones que
extienden servidores Web mediante la creación de
CGI scripts o DLLs. Además, Delphi proporciona
soporte para aplicaciones de Bases de Datos
basadas en TCP/IP. Delphi Help
23Aplicaciones distribuidas COM/DCOM
COM provee una arquitectura propia de Windows
para distribución de objetos. Las aplicaciones
COM usan objetos que son implementados por un
proceso diferente o, si se usa DCOM, en una
máquina distinta. Microsoft Transaction Server
(MTS) es un ambiente que provee servicios de
transacciones, seguridad, y pooling de
recursos para aplicaciones distribuidas
COM. Delphi Help
24Aplicaciones distribuidas CORBA
Common Object Request Broker Architecture (CORBA)
es un método para usar objetos distribuidos en
aplicaciones. El Standard CORBA se usa en varias
plataformas, por lo que programando aplicaciones
CORBA se puede hacer uso de programas que no se
estén ejecutando en una máquina Windows. Al
igual que DCOM, CORBA es una arquitectura de
distribución de objetos, por lo que aplicaciones
Cliente pueden hacer uso de objetos que estén
implementados en un servidor remoto. Delphi Help
25Aplicaciones distribuidas Bases de Datos
Delphi provee soporte para crear aplicaciones
distribuidas de base de datos usando la
tecnología MIDAS. Esta tecnología incluye un
conjunto coordinado de componentes que permiten
construir una amplia variedad de multi-tiered
aplicaciones de database (multi-locaciones).
Aplicaciones distribuidas de bases de datos
pueden construirse sobre una variedad de
protocolos de comunicación, incluyendo DCOM,
CORBA, TCP/IP y OLEnterprise. Delphi Help
26Archivos de Ayuda
Delphi proporciona el compilador de Ayudas de
Microsoft (Microsoft Help Compiler hcw.exe) y el
ambiente de desarrollo de Ayudas Microsoft Help
Workshop (hcrtf.exe). La clase TApplication, que
se instancia en cada Aplicación como el objeto
Application, incluye las propiedades HelpFile,
CurrentHelpFile y los métodos HelpContext,
HelpJump y HelpCommand. Las Aplicaciones pueden
así proporcionar a sus usuarios Ayuda general y
Ayuda sensible al contexto.
27Más Información...
www.borland.com/delphi www.borland.com/kylix
(versión Delphi para Linux) community.borland.com
Manual Avanzado de Delphi 4. P.Díaz et al.
Ediciones Anaya Multimedia S.A., 1999 Delphi in
a nutshell. Ray Lischner. OReilly Associates,
Inc. 2000 www.pegasoft.net (representante
Borland en Venezuela) www.faces.ula.ve/sananes/C
ursos/Delphi/EjDelphi.htm Otros productos
Jbuilder, CBuilder, Visibroker