delphi rincon

Click here to load reader

Post on 03-Jul-2015

79 views

Category:

Documents

3 download

Embed Size (px)

TRANSCRIPT

Borland Delphi Indice Titulo Pagina Introduccin 3 Programacin Orientada a Objetos 4 Encapsulacin 4 Herencia 4 Polimorfismo 5 Que es Delphi? 7 Memoria Principal 8 Sistemas Operativos Soportados 8 Espacio Necesario en el Disco Duro 9 El entorno Delphi 9 La Ventana Principal 10 La Ventana de Programa 10 El Object Inspector 11 El Editor de Cdigo Fuente 13 Desarrollo Visual de un Programa 14 Variables, Tipos de Datos y Constantes 15 Declaracin de Variables 15 Asignacin de Valores a Variables 17 Tipos de Datos Estndar 18 Instrucciones ms Importantes 19 La Instruccin IF 19 La Instruccin CASE 21

1

La Instruccin REPEAT 23 La Instruccin WHILE 25 La Instruccin FOR 27 Diferencias entre Visual Basic y Delphi 29 Glosario de Trminos 30 Dedicatorias y Consideraciones Finales 31 Bibliografa 32 Conclusin 33 Introduccin Inprise es una firma sobradamente conocida por la calidad de sus herramientas de desarrollo entre las que cabe destacar Borland C++, Borland C++ Builder, Borland Intrabuilder, Borland Jbuilder y sobretodo Borland Delphi. Borland Delphi que represento la primera apuesta de Inprise por un entorno de desarrollo netamente visual, sigue evolucionando y lo hace convirtindose en una herramienta de ultima generacin sumamente avanzada. El entorno de desarrollo de Borland Delphi es simple, flexible y potente al mismo tiempo, contando con un gran numero de componentes prefabricados que simplificarn de forma notable la creacin de cualquier aplicacin. El lenguaje de base de Borland Delphi es Object Pascal, una potente versin de Pascal que hereda toda la experiencia que Inprise ha adquirido durante mas de una dcada de desarrollo de compiladores de este lenguaje. Algo que diferencia a Delphi de muchos otros competidores es el echo de tratarse de un compilador altamente optimizado, que genera cdigo directamente ejecutable, no pseudo cdigo que debe ser interpretado posteriormente en tiempo de ejecucin. Esto tiene bsicamente dos consecuencias: el ejecutable es ms rpido, al no tener que ser interpretado en tiempo de ejecucin y el tamao total final de la aplicacin suele ser inferior ya que no es necesaria la distribucin adicional del programa que interpreta y ejecuta el cdigo al que se suele denominar Runtime. Programacin Orientada al Objeto La programacin orientada al objeto no es mas que una evolucin de los lenguajes estructurados hacia una simplificacin del mantenimiento del cdigo, as como mayores posibilidades de reutilizacin de este. Generalmente la POO se asocia rpidamente con lenguajes como C++, pero Object Pascal, de ah su nombre cuenta con todos los componentes bsicos de un lenguaje orientado a objetos con la encapsulacin, la herencia y el polimorfismo. Encapsulacin Generalmente partiendo de un correcto diseo de los tipos de objetos, los datos que se declaren en el interior del objeto solo sern manipulados por los mtodos de ese objeto. A esta caracterstica de los objetos se la conoce como encapsulacin, ya que en cierta forma asla los datos y 2

mtodos de un objeto, como si se tratase de una cpsula, impidiendo as que sean usados unos parmetros errneos al llamar a un mtodo o que un determinado procedimiento manipule las variables que no son. La encapsulacin es uno de los pilares de la POO, usada correctamente facilitara en gran medida el mantenimiento del cdigo, ya que tomada la definicin de un objeto y la implementacin de los mtodos podemos trabajar sobre ellos sabiendo de antemano que forman una entidad totalmente independiente del resto de la aplicacin. Herencia La encapsulacin es la caracterstica de la POO que permite asociar cdigo y datos formando objetos autosuficientes y, por lo tanto, constituye uno de los puntos principales de los lenguajes orientados a objetos. Otra de las caractersticas es la reutilizacin del cdigo para lo cual tenemos que utilizar la herencia. A la accin de crear un tipo de objeto a partir de otro ya existente se le llama derivacin. Al tipo original se le conoce como tipo base o ascendente, mientras que al nuevo tipo, que hereda las caractersticas del anterior, se le llama tipo derivado o descendente. Al hacer que un tipo derivado herede todos los miembros del tipo base ser heredado tambin los miembros de datos y los mtodos. Polimorfismo La propia palabra, polimorfismo, nos indica que se trata de algo capaz de presentarse o adoptar diversas formas, lo que traducido a un lenguaje orientado a objetos le corresponde con un objeto que puede corresponder a distintos tipos. Suponga que hemos creado un tipo Tvehiculo que vamos a utilizar como base para derivar tres descendientes: Tbicicleta, Tciclomotor y Tautomovil, de las cuales a su vez se van a derivar otros tipos, constituyndose la jerarqua de tipos que se muestra: Aunque un deportivo, un turismo y un coche de competicin son obviamente distintos, tienen muchas cosas en comn: dos ejes, cuatro ruedas, etc. En realidad, todos son coches. Lo mismo ocurre con un camin, un autobs o un coche, que a pesar de ser distintos siguen teniendo muchas cosas en comn y se caracterizan todos por ser automviles. Tanto un automvil como una bicicleta o un ciclomotor pertenecen a una misma familia, la de los vehculos, a la que podramos aadir mltiples medios mas, como puede ser el tren, barco, avin o el carro de caballos. Analice detalladamente esta jerarqua, vera que si el tipo Tvehiculo incorpora un cierto miembro, este ser heredado por todos los dems tipos, ya que Tvehiculo es la base de todos ellos. Los miembros de Tautomovil, sin embargo son solo herederos por sus descendientes directos e indirectos y no por el tipo Tbicicleta y sus derivados. Por lo tanto, una variable del tipo Tvehiculo podra apuntar a un objeto cualquiera de esta jerarqua, ya que todos ellos contienen en su interior un Tvehiculo. Una variable del tipo Tautomovil podra apuntar a un Tcamion, Tautobus o Tcoche, incluso a un Tturismo o Tberlina, por el contrario no podr apuntar a un objeto Tbicicleta. Al utilizar una variable de un cierto tipo que apunte a un objeto de otro tipo, permite manipular objetos de distintos tipos de una genrica, ahorrando mucho cdigo. Qu es Delphi? Delphi es una poderosa herramienta de desarrollo de programas que permite la creacin de aplicaciones para Windows 3.1/3.11, 95, 98 y NT. 3

Las aplicaciones pueden colocarse de forma muy sencilla en la pantalla segn el principio de mdulos. Para ello se dispone de una paleta dotada de una gran variedad de componentes, algo as como los bloques de construccin de cada programa, esta paleta es denominada por Borland VCL*. Esta VCL es mucho ms poderosa que la de Turbo Pascal o las conocidas OWL* 1.0 de Borland Pascal 1.0, y ofrece una abstraccin mucho mas alta del sistema operativo. El programador es totalmente independiente de las particularidades de Windows como manejadores, punteros y funciones API*. La programacin se hace con los cmodos componentes de Delphi y no con las complejas llamadas al sistema de Windows. Esto simplifica enormemente la hasta ahora poco clara programacin bajo Windows. A diferencia de otras herramientas de desarrollo programables (Visual Basic, Toolbook, etc.), con Delphi es posible crear de forma sencilla nuevos componentes que pueden entonces incorporarse a en la paleta de los componentes ya existentes y que pueden utilizarse de la misma forma. La VCL puede estructurarse libremente y as adaptarse totalmente a las situaciones de programacin. Delphi no solo dispone de componentes para la sencilla creacin de entornos como cuadros de lista, conmutadores o cuadro de dialogo terminados, sino que cubre con sus componentes muchos temas de programacin bajo Windows: se incluye entre los mismos un complejo centro de control para la creacin de aplicaciones multimedia as como una gran variedad de componentes que actan debajo del entorno, como tipos de listado muy variados y contenedores generales de datos. Tambin hay herramientas de comunicacin DDE y OLE a travs de las que se pueden crear vnculos de datos y comandos con otras aplicaciones. Uno de los aspectos mas destacados lo constituyen los componentes que Borland ha incluido en Delphi para el desarrollo rpido y sencillo de aplicaciones muy poderosas de bases de datos. No se esta limitado a un formato de datos determinado, sino que se tiene acceso a de 50 tipos de formatos de datos diferentes a travs de controladores suministrados por terceros (IDAPI y ODBC*). Entre estos se encuentran todos los estndares importantes de bases de datos en el rea del PC como XBase, Paradox, Access, etc. Pero tambin es posible de acceder en forma muy cmoda a servidores de bases de datos de otros sistemas (por ejemplo UNIX) por medio de SQL*. Delphi dispone del Object Pascal, un lenguaje de programacin muy poderoso que esta sin dudas a la altura del C++ y que incluso lo supera en algunos aspectos. Este lenguaje surge a partir del desarrollo de Borland Pascal 7.0, un lenguaje que ocupa un lugar muy importante en la programacin de ordenadores personales. El Object Pascal es totalmente compatible con Borland Pascal 7.0, lo que permite que programas que sean desarrollados en este ultimo puedan ser convertidos a Delphi. Las aplicaciones terminadas quedan disponibles como archivos ejecutables (EXE) que pueden utilizarse solos y sin bibliotecas adicionales. Consecuentemente, la velocidad con la que pueden ejecutarse los programas creados es muy alta. Delphi es una TwoWayTool, es decir una herramienta de dos direcciones, porque permite crear herramientas de dos formas: una de forma visual en la pantalla por medio de la funcin de arrastrar y colocar (Drag & Drop), la otra es a travs de la programacin convencional, escribiendo el cdigo. Ambas tcnicas pueden utilizarse de forma alternativa o simultanea. Memoria principal Tambin la dotacin de memoria es un factor que no puede dejar de tenerse en cuenta en un producto como Delphi, que utiliza la memoria de forma tan intensiva. Con 4 MB casi no se podr trabajar. Si con esa memoria logra iniciar Delphi (lo cual no siempre esta garantizado) el sistema estar ocupado la mayor parte del tiempo colocando datos y partes del programa en el 4

disco duro y leyndolos entonces de nuevo desde el mismo. Mientras ms grandes sean sus proyectos, mas se incrementar el tiempo de espera. Con 8 MB debe ser posible trabajar de forma aceptable con Delphi. Para grandes proyectos con muchas imgenes ser mejor trabajar con 12 MB. Pero si adems de trabajar con Delphi quiere hacerlo simultneamente con otros programas (por ejemplo, su programa preferido de dibujos para desarrollar sus imgenes propias) entonces se necesitaran16 MB o ms de memoria. Sistemas Operativos Soportados Delphi necesita por lo menos Windows 3.1. El modo real de su procesador, Windows 3.0, no resulta adecuado con l, Delphi no realizar su trabajo. Tambin puede ejecutarse Delphi bajo Windows 95, Windows 98 y Windows NT. Espacio Necesario en el Disco Duro No debe olvidar que Windows tambin necesita constantemente espacio en el disco duro para el intercambio de datos y programas. Despus de la instalacin de Delphi debe disponerse al menos de 30 Mb para el archivo de intercambio e Windows, si no quiere que el trabajo se convierta en un reto a la paciencia. Si Delphi se coloca en la misma unidad que la del archivo de intercambio, entonces debe tener en cuenta esta necesidad. Al menos 10 MB tienen que reservarse para textos fuente y proyectos propios que se desean desarrollar con Delphi. Debido a la orientacin grfica del trabajo, se requieren grandes volmenes de datos para imgenes de fondo, conmutadores grficos, etc. lo que hace que un proyecto pueda alcanzar fcilmente 400 KB o ms. En total si se pretende instalar una versin completa de Delphi, ser necesario disponer de 120 MB de espacio libre en el disco duro. El entorno de Delphi La eficacia de la VCL, es una de las bases en que se apoya el programador en el trabajo con Delphi. Pero para qu sirve la mejor biblioteca si no se dispone de ningn entorno adecuado para su utilizacin? Afortunadamente Borland ha procurado una segunda base slida en forma de un entorno de trabajo de alto rendimiento, diseado nicamente con la ayuda de una biblioteca de clase moderna, es decir, la VCL misma. El entorno de programacin tpico consta en Delphi de cuatro ventanas que comparten el espacio disponible en la pantalla. Cada una de estas ventanas puede modificarse, cerrarse y volverse a abrir mediante el men view. Se trata aqu de la ventana principal, el Object inspector, el editor de cdigo fuente y, finalmente de una o varias ventanas de programa, que representan el entorno de un programa desarrollado por uno mismo.

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 tambin finalizan su servicio. En la barra de mens de la ventana principal estn disponibles todas las ordenes relacionadas con el procesamiento de un proyecto concreto. La carga y almacenamiento de proyectos pertenecen igualmente al men, as como la ocultacin de todas las ventanas y ventanas adicionales (de ayuda) que estn a disposicin del programador en el entorno de desarrollo. Tambin se encuentran aqu las ordenes para compilar y ejecutar un programa escrito por uno mismo. 5

La barra de herramientas extensamente equipada ocupa, con mucho, el rea mayor de la ventana principal, en su mitad izquierda encontramos, de nuevo las funciones ms importantes del sistema de men, como botones de herramientas.

Toda la parte derecha esta reservada para la representacin de cada componente. Se simbolizan mediante varios botones grficos. La interpretacin de cada grfico se simplifica con un pequeo texto, que aparecer siempre que el puntero del ratn se site sobre alguno de los botones. Para aumentar aun la claridad, los componentes se han dividido en otras paginas y ordenado temticamente en las secciones estndar, adicional, captura de datos, manejo de datos, dilogo, sistema, VBX y ejemplos. Se puede alternar de una seccin a otra con la ayuda de las pestaas con inscripciones que aparecen en la parte inferior de las barras de herramientas. La ventana de programa un formulario para cada finalidad La creacin de entornos de programa, as como un parte significativa de la programacin, tienen lugar en Delphi de forma puramente visual, es decir, uno simplemente toma el componente deseado de la barra de herramientas de la ventana principal y lo sita en una ventana especialmente destinada para ello, llamado formulario formular. Naturalmente, en un programa se puede crear y utilizar cualquiera de dichos formularios. Tampoco hay ninguna diferencia entre disear una ventana principal o un dialogo. Con un formulario se pueden reproducir el aspecto y comportamiento de todo tipo de ventanas, simplemente con especificar las propiedades correspondientes y/o escribir ampliaciones propias. Evidentemente aqu se encuentra el ajuste de tamao y posicin: con este fin, cada formulario posee, mientras se representa en el entorno de desarrollo (no necesariamente en el programa ejecutado), un borde que permite modificar la posicin y el tamao por los cuatro lados. Mientras que el formulario representa solamente el marco de un programa, los componentes contenidos en el, se encargan de la interaccin con el usuario. Los componentes que se utilizan mas a menudo son los cuadros de texto, las listas de seleccin, o los botones de alternar, aunque tambin las barras de men o de estado cuentan entre los posibles candidatos, solo por nombrar algunos ejemplos. Una vez seleccionados e introducidos en el formulario, los componentes, como es natural, tambin se podrn modificar a voluntad posteriormente. Como propiedades principales cabra mencionar del mismo modo que antes para el formulario el tamao y la posicin. Con este fin muchos componentes poseen un borde que se hace visible mediante la pulsacin del botn izquierdo del ratn y con cuya ayuda puede adaptarse a voluntad el tamao en todas direcciones. La modificacin de la posicin se realiza con un simple Drag & Drop (arrastrar y colocar). El Object Inspector No obstante, malo seria para la eficacia del VCL que el tamao y la posicin fueran las nicas propiedades que admitieran modificaciones. Afortunadamente, cada componente dispone de un gran numero de parmetros modificables, de modo que para su procesamiento, incluso con una sola ventana propia, basta: el Object Inspector. En el Object Inspector se indican en orden alfabtico todas las propiedades y eventos del componente seleccionado en ese momento. Si se selecciona otro componente (por ejemplo, con la ayuda de la lista desplegable en la primera lnea del Object Inspector, o bien mediante la pulsacin directa sobre otro 6

componente del formulario), el contenido del Object Inspector se adapta al instante.

Las propiedades y eventos se representan en el Object Inspector en distintas paginas de la ventana con la ayuda de las pestaas de la parte inferior de la ventana (o bien mediante CTRL + TAB) se puede escoger la pagina deseada. Cada pagina esta subdividida en dos mitades. Consideremos primero la pagina de propiedades. All se encuentran, en la mitad izquierda, los nombres de todas las propiedades. Como ejemplo sirve aqu una propiedad presente en muchos componentes: Caption (ttulo). La mitad derecha contiene el valor actual de cada propiedad. Puede tratase de nmeros, cadenas de caracteres, constantes determinadas, as como de grficos y textos enteros. En caso de que la propiedad mencionada arriba Caption, sea una cadena de caracteres se podra haber introducido, por ejemplo, la palabra Acerca de.... Suponiendo que se estn manejando ahora las propiedades de un formulario, aparecer el texto introducido en la barra de ttulo de la ventana, mientras que en el caso de un botn de alternar, el texto aparecer en forma de inscripcin. Como ya se ha mencionado, a la pagina de eventos del Object inspector se accede mediante la pulsacin de la pestaa correspondiente en la parte inferior de la ventana o bien por medio del teclado CTRL + TAB. En su mitad izquierda. La ventana contiene los nombres de todos los lugares de corte en los que se puede aadir una rutina propia, como en el caso de las propiedades, esta lista de componentes tambin es distinta. Un evento que puede producirse en todos los componentes visibles es, por ejemplo, OnClick. Si se aade una rutina en ese lugar de corte de eventos, se producir una llamada siempre que el usuario del programa pulse el botn izquierdo del ratn sobre dicho componente. Dentro de ese formato de cdigo fuente debe escribirse el cdigo del programa deseado. El nombre de la rutina representa la conexin entre el evento del componente y el cdigo fuente. Si se modifica el nombre de un evento en el Object Inspector, el nombre que le pertenece se adapta automticamente en el cdigo fuente. Naturalmente, las rutinas de eventos pueden agregarse repetidas veces. Si se ha vinculado, por ejemplo, una opcin de men con una rutina OnClick que se encarga de la apertura de un archivo, y se quiere disponer de la misma funcin en un botn de alternar en la barra de smbolos, no es necesario escribir dos veces el cdigo de 7

programa correspondiente. Basta con indicar asimismo el nombre de la rutina ya existente en el evento OnClick del botn de alternar. El editor de Cdigo Fuente Como se ha indicado anteriormente, en el editor de cdigo fuente se encuentra el entorno creado por uno mismo. Tambin se integran aqu todas las rutinas de eventos definidas. Delphi coloca para cada ventana diseada un archivo de cdigo fuente propio. Por lo tanto un proyecto consta como mnimo de tantos archivos de cdigo fuente como ventanas existan, mas el archivo de proyecto (con el que normalmente no debe hacerse nada). En programas grandes pueden aparecer fcilmente varias docenas de ellos. Por esta razn, el editor dispone de un administrador de paginas, realizado totalmente al estilo del resto del producto con la ayuda de pestaas. Cada pagina contiene su propio archivo. Los archivos innecesarios pueden cerrarse mediante la opcin de men File/Close file. Igual que en el Object Inspector, puede accederse a una pagina en concreto mediante la pulsacin de la pestaa correspondiente, o bien con la combinacin de teclas CTRL + TAB. Naturalmente, el editor ofrece toda una serie de otras funciones que han sido desarrolladas especialmente para las necesidades de los programadores. Desarrollo Visual de un Programa Delphi aplica su nuevo concepto de desarrollo. Combina las ventajas de una enorme biblioteca de clase orientada al objeto con una programabilidad extremadamente sencilla ya que es visual . Borland designa su nueva biblioteca de clase como VCL. Todo el entorno de una aplicacin puede disearse con ella en solo una fraccin de tiempo y sin conocimientos preliminares avanzados. Ofrece una abstraccin no conocida hasta la fecha de todas las singularidades especificas de Windows. Con el propio sistema operativo prcticamente no se entra en contacto, a no ser que se programe a propsito para ello. El ncleo de la VCL, son los ya mencionados componentes, todos los elementos de entorno y de programas listos para el uso, que pueden insertarse fcilmente en la ventana correspondiente mediante Drag & Drop. Con ello se aprovecha el principio que se emplea desde hace tiempo en el llamado Case Tools*, es decir, el desarrollo de programas a partir de mdulos prefabricados, que deben enlazarse solo de una manera determinada. El tipo de enlace determina el desarrollo del programa. En cuanto al procesamiento de programas creados de este modo, existen algunas diferencias. Unos ejecutan el programa directamente mediante el intrprete en pasos individuales. Estos programas no son aptos para la ejecucin por si mismos, sino solo dentro del programa en que fueron desarrollados. La ejecucin es muy larga. Por otra parte, otros crean un tipo de cdigo intermedio comprendido y ejecutado por una biblioteca Runtime desarrollada para ello. Visual Basic es un conocido ejemplo de esto. Desgraciadamente las aplicaciones mas complejas tambin padecen aqu de falta de velocidad de ejecucin. En Delphi, por el contrario, se crea durante la compilacin, un autentico cdigo de programa legible para la maquina, que puede ser procesado directamente por el procesador. La velocidad de los archivos EXE creados es por consiguiente, alta, y puede competir perfectamente con programas escritos en C o en C++. Variables, Tipos de Datos y Constantes 8

Qu son los identificadores? Cualquier nombre que aparece en una aplicacin Delphi y que no corresponde a palabras reservadas (denominadas palabras clave) es un identificador. Pueden ser nombres de variables, tipos de datos, procedimientos, funciones u objetos. En general puede seguirse la regla de que los identificadores se declaran en cdigo de programa antes de su utilizacin, es decir, se informa al compilador sobre su presencia. El compilador verifica literalmente la sintaxis del programa antes de su ejecucin, e informa al programador de la presencia de posibles errores. En caso de error el proceso de compilacin se interrumpe inmediatamente. De esta manera el programador puede corregir el error aparecido y efectuar de nuevo el proceso de compilacin. Los identificadores no pueden tener el mismo nombre que las palabras claves en el sistema y que posean funciones determinadas. Esta funcin es necesaria para permitir al compilador la identificacin inequvoca de palabras clave e identificadores introducidos por el programador. Si se salta esta regla, el compilador comunica el mensaje de error correspondiente. Declaracin de Variables Una variable es un identificador definido por el usuario, declarado antes del cdigo del programa. El contenido de una variable depende, entre otros factores, del tipo de datos asignado, y se almacena en la memoria del ordenador. El valor de la variable puede modificarse de forma arbitraria durante la ejecucin del programa. Esta circunstancia se produce por la asignacin de valores. Al declarar una variable hay que tener en cuenta la eleccin del nombre, que debe hacerse de forma que la utilizacin de la variable sea identificada en el programa. Este procedimiento es imprescindible para facilitar la lectura del programa y su comprensin. Al declarar una variable o cualquier otro tipo de identificador (por ejemplo constantes o tipos de datos) es preciso seguir determinadas reglas referidas a la sintaxis. En primer lugar hay que tener en cuenta que los nombres de la variables no pueden tener mas de 63 caracteres, ya que el compilador solo toma en cuenta los primeros 63 caracteres. Por otra parte los nombres de las variables, lo mismo que de los dems identificadores, deben empezar con una letra o con un trazo de subrayado. No pueden contener diresis ni caracteres como, por ejemplo, & o %. En un programa, las denominadas variables globales o publicas pueden declararse una sola vez. En caso de una declaracin duplicada, el compilador da un mensaje de error. Las denominadas locales o privadas no pueden declararse dos veces dentro de una misma rutina. Por el contrario, se admite la declaracin de la misma variable dentro de diversas rutinas. El mbito de aplicacin de las variables globales abarca todo el mdulo del programa en el que se declara la variable en cuestin. Para conseguir esta condicin, la declaracin debe encontrarse al comienzo del mdulo; por ejemplo en una UNIT. Las variables locales, en contraste, solamente son vlidas dentro de la rutina en que estn declaradas. Es imposible el empleo de las variables fuera de esa rutina. En la declaracin propiamente dicha, las variables globales no se diferencian de las locales. A continuacin se especifica la forma de declaracin de las variables en una aplicacin Delphi. En primer lugar se representa la palabra reservada VAR de la declaracin de variable. A continuacin es posible la definicin e prcticamente cualquier variable. En cada declaracin debe figurar el nombre de la variable y el tipo de datos. Las dos partes de la variable se dividen mediante el carcter de dos puntos. La indicacin de tipo de datos debe ir seguida de un smbolo de punto y coma que permita al compilador identificar inequvocamente el final de la declaracin de una o de ms variables (y otras condiciones). Var Valor1:integer; 9

Valor2:integer; Valor3:byte; Valor4:byte; En el ejemplo anterior, las variables Valor1 y Valor2 son del tipo integer (nmeros enteros comprendidos desde el 32768 y el 32767) y las variables Valor3 y Valor4, del tipo byte (numero comprendidos desde el 0 al 255). Para simplificar la declaracin es posible agrupar las variables del mismo tipo, separndolas por una coma. El carcter de dos puntos solo se coloca tras la ultima denominacin de variable, en un bloque de variables, y al carcter de dos puntos le siguen generalmente la indicacin del mismo tipo de datos aplicable a todas las variables dentro del bloque. El resultado es el siguiente. Var Valor1, Valor2: integer; Valor3, Valor4: byte; Asignacin de valores a Variables Una vez conocida la forma en que se declaran las variables en los programas Delphi, procede analizar la forma en que estas actan en el programa y el funcionamiento de cada asignacin de valor. Antes de dar un ejemplo concreto, cabe sealar que los valores susceptibles de admisin por las diferentes variables dependen del tipo de datos asignado a las variables en cuestin. As por ejemplo a la variable Valor4 no se le puede asignar el valor 1000, ya que queda fuera del rango definido para el tipo de datos estndar byte. En este caso solo son validos los valores comprendidos desde 0 hasta 255. Si se asigna a una variable un valor que queda fuera del rango valido para el tipo en cuestin, el compilador proporciona inmediatamente un mensaje de error. A continuacin se muestra un ejemplo de asignacin de valores a variables de diferentes tipos. Var Valor1, Valor2: integer; Valor3, Valor4: byte; String1: string; Char1: char; Boolean1: boolean; Begin Valor1:= 1000; Valor2:= 20000; Valor3:=10;

10

Valor4:=40; Sring1:= `esto es una cadena de caracteres'; Char1:= `c'; Boolean1:= true; End. Como puede verse, en Object Pascal, la asignacin siempre se realiza con la ayuda de los caracteres :=. A la izquierda de la asignacin aparece la variable, y a la derecha, el valor asignado a la variable en cuestin. La terminacin se realiza con un carcter de punto y coma. Para aumentar la legibilidad del cdigo fuente es recomendable emplear comillas como en el ejemplo anterior. Adems, en cada lnea solamente debe escribirse una instruccin. Tipos de Datos Estndar A continuacin se exponen en forma de tabla los tipos de datos disponibles en condiciones estndar en el lenguaje Object Pascal. Las variables de los tipos previamente definidos pueden generarse directamente. Nmeros enteros comprendidos entre Integer 32768 y 32767; 16 bits (ocupan 2 bytes cada uno en la memoria) Nmeros enteros positivos comprendidos entre 0 y 255; 8 bits (ocupa 1 byte cada uno en la memoria) Nmeros positivos comprendidos entre 0 y 65535; 16 bits (ocupan 2 bytes cada uno en la memoria) Nmeros enteros comprendidos entre 2147483647 y 2147483647 32 bits (ocupan 4 bytes cada uno en la memoria) Nmeros negativos y positivos enteros comprendidos entre 128 y 127; 8 bits (ocupa 1 byte cada uno en la memoria) Nmeros de coma flotante de 11 a 12 decimales significativos (delante y detrs de la coma); ocupan 6 bytes cada uno en la memoria Nmeros de coma flotante de 7 a 8 decimales significativos; solo es posible si est activada la opcin de compilador {$N+}; ocupan 4 bytes cada uno en la memoria Nmeros de coma flotante de 15 a 16 cifras delante y detrs de la coma; solo es posible si est activada la opcin de compilador {$N+}; ocupan 8 bytes cada uno en la memoria Nmeros de coma flotante de 19 a 20 cifras delante y detrs de la coma; solo es posible si est activada la opcin de compilador {$N+}; ocupan 10 bytes

Byte Word

LongInt

ShortInt

Real

Single

Double Extended

11

Comp

String Char Pchar Pointer Boolean Instrucciones ms Importantes

cada uno en la memoria Nmeros de coma flotante de 19 a 20 cifras delante y detrs de la coma; solo es posible si est activada la opcin de compilador {$N+}; ocupan 8 bytes cada uno en la memoria Secuencia de smbolos con una longitud mxima de 255 caracteres ASCII* Caracteres ASCII simples Puntero a una cadena terminada en carcter nulo Punteros que pueden apuntar a cualquier estructura de datos; sin enlace con un tipo concreto(denominados punteros sin tipo) Tipo de Datos Booleano, cuyas variables pueden tomar los valores True (verdadero) o False (falso)

Las instrucciones se cuentan entre los elementos ms importantes del cdigo de programa. Controlan, literalmente, la ejecucin del programa. Existen instrucciones de bifurcacin, como IF y CASE, y de iteracin, como REPEAT, WHILE y FOR. A continuacin se describen detalladamente cinco de estas instrucciones, que se emplean en todos los casos de escritura de aplicaciones Delphi. La instruccin IF Esta condicin se genera con la palabra reservada IF. A continuacin sigue la condicin, es decir, una expresin, de cuyo resultado depende el camino de ejecucin del programa. Si la condicin es verdadera, el cdigo de programa se bifurca tras al palabra clave THEN. Si la expresin es falsa, se ejecuta el cdigo de programa que aparece a continuacin del bloque THEN o tras la palabra clave ELSE. If Suma = 100 then MessageDig (`Suma es 100', mtinformation, [mbOK], 0) Else MessageDig (`Suma no es 100', mtinformation, [mbOK], 0); Si en el ejemplo anterior, la variable Suma no tiene el valor 100, el cuadro de mensaje aparece con el texto Suma es 100. Si el valor es distinto de 100, la ventana de mensajes aparece con el texto Suma no es 100. Para comprender mejor la instruccin IF esta construccin se denomina si entonces sino instruccin". El bloque ELSE es opcional y no tiene por que aparecer siempre. Cuando existe, y el valor booleano de la condicin es False, el cdigo de programa se ejecuta a continuacin del bloque THEN. If Suma = 100 then MessageDig (`Suma es 100', mtinformation, [mbOK], 0); MessageDig (`Este cuadro de mensaje aparece siempre', mtinformation, [mbOK], 0)

12

Independientemente de lo expuesto, tanto si la suma es 100 como si no, en el presente ejemplo, el cuadro de mensaje aparece con el texto Este cuadro de mensaje aparece siempre. Ello es debido a que la instruccin no forma parte del bloque IF. Tanto el bloque THEN como el ELSE, en una condicin IF, pueden estar formados por varias instrucciones. Para que se ejecuten todas las instrucciones, deben estar encerradas con una instruccin BEGIN END. If Suma = 100 then Begin MessageDig (`Suma es 100', mtinformation, [mbOK], 0); Mult := suma * 100; End Else Begin MessageDig (`Suma no es 100', mtinformation, [mbOK], 0); Mult := suma * 200; End; La condicin de la instruccin IF puede estar formada por varias condiciones parciales enlazadas entre si mediante los operadores booleanos tales como AND (tratamiento Y) u OR (tratamiento O). Adems, pude utilizarse completamente la negacin NOT. Cuando esta activada la opcin {$B+} del compilador, este valora totalmente las expresiones. Si dicha opcin no est activada, el compilador genera un cdigo de valoracin conforme al procedimiento denominado parcial, en el que las expresiones parciales (condiciones parciales) van valorndose secuencialmente conformemente aparecen. La valoracin se interrumpe cuando el resultado persiste, es decir, cuando el valor de la expresin completa ya no puede variar. A continuacin se presenta una condicin IF formada por varias condiciones parciales: If (suma = 100) or (suma = 200) then MessageDig (`Suma es 100 o 200', mtinformation, [mbOK], 0) Else MessageDig (`Suma no es 100 ni 200', mtinformation, [mbOK], 0); En este caso, el resultado de la condicin IF es True cuando se cumple una de las dos condiciones. Esto ocurre porque se utiliza el operador OR para el tratamiento de las condiciones. Si en lugar de dicho operador se aplica el operado AND, el valor de la expresin en conjunto de la instruccin IF, nunca podr ser True. Ello es debido a que una variable como la variable suma utilizada en el ejemplo, siempre tiene que tener un nico valor. Dos valores de la misma variable simultneamente son imposibles en la regla de la lgica. La instruccin CASE 13

A travs de la instruccin CASE pueden establecerse varias condiciones en un bloque. Cuando se cumple una de las condiciones expuestas en el bloque CASE, el cdigo de programa que aparece a continuacin de la condicin en cuestin se ramifica. Case suma of 100: MessageDig (`Suma es 100', mtinformation, [mbOK], 0); 200: MessageDig (`Suma es 200', mtinformation, [mbOK], 0); 500: MessageDig (`Suma es 500', mtinformation, [mbOK], 0); 1000: MessageDig (`Suma es 1000', mtinformation, [mbOK], 0); End; A continuacin de la palabra CASE se expresa la referencia de las condiciones siguientes. A esta informacin le sigue la palabra reservada OF. En la lnea siguiente comienza el bloque, que contiene las condiciones y las correspondientes ramificaciones cdigo. El final del bloque se reconoce por el compilador gracias a la palabra clave END. Opcionalmente, en un bloque CASE tambin es posible una seccin ELSE, de forma anloga a como ocurre con una condicin IF. Case suma of 100: MessageDig (`Suma es 100', mtinformation, [mbOK], 0); 200: MessageDig (`Suma es 200', mtinformation, [mbOK], 0); 500: MessageDig (`Suma es 500', mtinformation, [mbOK], 0); 1000: MessageDig (`Suma es 1000', mtinformation, [mbOK], 0) Else MessageDig (`Suma no es 100, ni 200, ni 500'+

14

`ni tampoco 1000', mtinformation, [mbOK], 0); End; La instruccin CASE no siempre es posible. El compilador proporciona un mensaje de error, por ejemplo, si durante el tratamiento de un programa, aparece la creacin de un bloque CASE con una variable, partiendo de un tipo String. Tampoco es posible la instruccin CASE cuando el tipo de variables de referencia es estructurado (por ejemplo array o record). Sin embargo es preferible a la instruccin IF cuando el tipo de variables a las que se refiere el bloque CASE son Integer o del tipo subrango. La instruccin CASE debe utilizarse sobre todo cuando se necesitan varias condiciones y ramificaciones, como es el caso del ejemplo anterior. Es mucho ms eficaz que la condicin con varias instrucciones IF. Para aclarar estas condiciones, las condiciones del bloque CASE del ejemplo anterior se han convertido a IF. If suma = 100 then MessageDig (`Suma es 100', mtinformation, [mbOK], 0) Else If suma = 200 then MessageDig (`Suma es 200', mtinformation, [mbOK], 0) Else If suma = 500 then MessageDig (`Suma es 500', mtinformation, [mbOK], 0) Else If suma = 1000 then; MessageDig (`Suma es 1000', mtinformation, [mbOK], 0) Else MessageDig (`Suma no es 100, ni 200, ni 500'+ `ni tampoco 1000', mtinformation, [mbOK], 0); Como puede comprobarse, la estructura del cdigo del bloque de condiciones preparado con ayuda de la instruccin CASE es mas claro que el correspondiente a la estructura en base a condiciones IF del ejemplo anterior. Un inconveniente de las condiciones en el bloque CASE es que no cabe la posibilidad de enlazar condiciones entre s a base de operadores booleanos tales como AND y OR. Por lo tanto definen una condicin nica. Si varias condiciones conducen a la misma ramificacin de cdigo, en el bloque CASE pueden enumerarse separadas por comas, a fin de reducir la longitud del cdigo fuente. En el siguiente ejemplo se muestra como funciona esta condicin.

15

Case suma of 100, 200, 500, 1000: MessageDig (`Suma es 100, 200, 500 o 1000', mtinformation, [mbOK], 0) Else MessageDig (`Suma no es 100, ni 200, ni 500'+ `ni tampoco 1000', mtinformation, [mbOK], 0); La instruccin REPEAT En los apartados anteriores se han visto las instrucciones IF y CASE para generar condiciones en un programa Delphi. Ahora se describen las instrucciones de bucle que se utilizan para ejecuciones repetidas de partes del cdigo de programa. En primer lugar se describe detalladamente la instruccin REPEAT, Con la instruccin REPEAT se crean repeticiones de instrucciones en el programa Delphi, hasta que se cumple una condicin de interrupcin que aparece a continuacin de la palabra clave UNTIL. La condicin de interrupcin es una expresin booleana, y de forma anloga a como ocurre con la condicin IF, se compone de varias condiciones parciales. La condicin de interrupcin se cumple cuando el resultado de expresin total es True. A continuacin se describe la instruccin REPEAT en base a un ejemplo concreto. Antes del bucle REPEAT... UNTIL se establece en 0 el valor de la variable suma. Cada vez que se cumpla la condicin de bucle se aumenta en 1 el valor de suma, lo que puede realizarse de una forma de una forma muy sencilla con el operador +. El bloque REPEAT UNTIL se repite una y otra vez hasta que la variable suma alcanza el valor 100, que es la condicin de trmino de bucle. Suma := 0; Repeat Suma := Suma + 1; Until Suma = 100; Para probar de inmediato en la practica la instruccin REPEAT, puede realizarse primero un nuevo proyecto en Delphi. A continuacin, se ha de insertar en el proyecto una nueva UNIT generada al pulsar el botn del ratn en la opcin NEW UNIT (men File). En el cdigo fuente del nuevo archivo UNIT que contiene el nombre de UNIT2, se ha de insertar la instruccin USES en la que se indica que debe utilizarse la UNIT estndar WinCrt. Esta condicin es necesaria para la visualizacin de texto por medio de una de las rutinas estndar WRITE o WRITELN. Una vez realizadas las operaciones descritas, se declara en la seccin interface de la UNIT el procedimiento ShowRepeatLoop. En la seccin de implementacin se escribe el cdigo de la rutina en cuestin, de forma que el listado de la unidad en conjunto tenga la forma siguiente: unit Unit2;

16

interface uses WinCrt Procedure ShowRepeatLoop; Var Suma : integer; Begin Suma := 0; Repeat Suma := suma + 1; Writeln(suma); Until suma = 100; End; End. Una vez escrito el cdigo fuente de la unidad, en el formulario que se genera al realizar un proyecto nuevo, se ha de insertar un botn y programar la rutina Tform.Button1Click, tal y como se muestra en el listado siguiente: Procedure Tform1.Button1Click (sender: TObject); Begin ShowRepeatLoop End; Antes de ejecutar el programa (pulsando la tecla F9), en la instruccin USES del archivo UNIT, enlazado con el formulario donde se encuentra el botn Button1, se inserta la entrada UNIT2, de forma que el compilador pueda enlazar esta UNIT con la del formulario. Esta opcin es necesaria para que no se produzcan mensajes de error al compilar el proyecto, debido a que la rutina ShowRepeatLoop es desconocida. Tras ejecutar el programa y pulsar el botn del ratn sobre el botn insertado en el formulario en el modo de desarrollo, se abre una ventana y se muestran en ella los diferentes pasos de la ejecucin del bucle REPEAT... UNTIL. Van apareciendo los valores de la variable suma creados por la rutina ShowRepeatLoop al llamar al procedimiento estndar WRITELN. La instruccin WHILE

17

Aparte de la instruccin REPEAT, el lenguaje Object Pascal de Delphi tiene otras dos funciones mas de bucle, se trata de las instrucciones WHILE y FOR. En este apartado se analizan las propiedades de la WHILE DO. En primer lugar conviene decir que la diferencia entre las instrucciones REPEAT y WHILE radica en que la condicin de la instruccin WHILE... DO se expresa al principio, directamente despus de la palabra clave WHILE. El bucle WHILE... DO se ejecuta mientras la citada condicin es True. Sin embargo en la instruccin REPEAT, se trata de una condicin de interrupcin y la condicin de la instruccin WHILE puede tomarse como condicin para la ejecucin del bucle. De forma anloga a como ocurre con la condicin de interrupcin de la instruccin REPEAT, tambin en la instruccin WHILE, la condicin para la ejecucin del bucle puede estar formada por varias condiciones parciales que se someten a tratamiento lgico de cualquier tipo con la ayuda de los operadores AND y OR. La condicin se cumple cuando el resultado de la expresin completa es True. En estos casos, la ramificacin hacia el cdigo de programa tiene lugar dentro de la instruccin WHILE DO. Cuando el resultado de la expresin completa es False, se tiene criterio de interrupcin de la ejecucin reiterada del cdigo. En este caso, las instrucciones en el bloque WHILE... DO se saltan, y la ejecucin del programa contina con la siguiente instruccin, directamente despus del bloque. Para comprender mejor la instruccin WHILE, se presenta un ejemplo de cdigo que facilite la comprensin de esta instruccin, recurriendo a la suma que se ha utilizado en el apartado anterior. Como consecuencia de las propiedades de la instruccin WHILE, la condicin en el bucle WHILE DO debe ser modificada ligeramente, en comparacin con la condicin del bucle REPEATUNTIL. El cdigo de programa del bloque WHILEDO solo puede ejecutarse cuando el valor de suma sea inferior a 100, por lo que es necesario modificar la formulacin de la condicin. Suma := 0; While suma < 100 do Suma := suma + 1; Conviene no olvidar que el valor de suma antes de la instruccin WHILE de ponerse a 0. Para que la ejecucin del bucle WHILEDO en el programa pueda seguirse paso a paso, la UNIT UNIT2 se ampla con un nuevo procedimiento que recibe el nombre de ShowWhileLoop. De forma anloga a como ocurre con el procedimiento ShowRepeatLoop, para presentar el texto en pantalla se utiliza en esta rutina la instruccin estndar Writeln. Procedure ShowWhileLoop; Var Suma : integer; Begin Suma := 0; While suma < 100 do Begin

18

Suma := suma + 1; Writeln (suma); End; End; En total, en el bucle ShowWhileLoop pueden ejecutarse dos instrucciones, por lo que el principio del bloque completo debe marcarse con la palabra reservada Begin, y el final, con End. Para comprobar las diferencias entre la ejecucin de las rutinas ShowRepeatLoop y ShowWhileLoop, puede recurrirse a insertar un segundo botn en le formulario del programa. El correspondiente control toma automticamente el nombre Button2, en el caso que se utilicen componentes Button. Pulsando dos veces el botn del ratn sobre la columna de valores del evento OnClick (en el inspector de objetos) se genera una rutina de tratamiento para el evento. Pero antes de realizar estas operaciones no hay que olvidarse de seleccionar Button2 pulsando el botn de ratn. En la rutina de tratamiento generada por Delphi, provista del nombre Tform1.Button2Click, llamar al procedimiento ShowWhileLoop. Una vez arrancado el programa, se ha de pulsar una vez el botn del ratn sobre el botn Button1, con lo que llamara a la rutina ShowRepeatLoop (instruccin Repeat). Obsrvese los valores que se muestran en la ventana y, una vez terminada la salida de texto, cirrese la ventana y plsese el botn del ratn sobre el botn Button2 en el formulario para llamar a la segunda rutina, la rutina ShowWhileLoop (instruccin While). Al pulsar el botn del ratn sobre el control activo, se abrir igualmente una ventana y se mostraran los valores actuales que la variable suma va tomando durante la ejecucin del bucle. Si se ha observado detenidamente la salida de texto anterior, en la primera ventana, podr comprobar que ambas rutinas ShowRepeatLoop y ShowWhileLoop hacen lo mismo, a pesar de que utilizan diferentes tipos de bucles. La instruccin FOR Hasta aqu se ha hablado de dos tipos de bucles, que se ejecutan cuando la condicin definida es True (bucle While... do) o False (Bucle Repeat... Until). En el presente apartado se presenta el tercer tipo de bucle, denominado FOR... DO, en el que no se necesita ninguna condicin para la interrupcin o para la ejecucin del cdigo del programa. En los bucles FOR... DO se define exactamente con anterioridad cuantas veces se repetir la ejecucin del cdigo. Para la implementacin de un bucle FOR... DO es imprescindible declarar previamente una variable numrica, por ejemplo del tipo Integer o Byte. La instruccin FOR introduce la denominada iteracin a intervalos, que se ejecuta hasta que el contador alcanza un determinado valor, partiendo del valor inicial. En la instruccin FOR se indica tanto el valor inicial del contador como el final. De esta forma se define la cantidad de repeticiones para el cdigo del bucle FOR... DO. Entre los valores inicial y final del contador debe aparecer la palabra clave TO (incremento del contador o la DOWNTO (decremento del contador). El empleo de bucles es particularmente recomendable para cumplimentar los campos de las variables de matriz con valores crecientes o decrecientes, o para ponerlos a 0. Para acceder a todos los campos de matriz, basta con escribir a continuacin de la denominacin ARRAY, entre corchetes, la variable numrica que aumenta (incremento) o disminuye (decremento) en 1 con cada repeticin del cdigo. Var Array : array[1..100] of integer;

19

Count : integer; Begin For count : = 1 to 100 do Array1[count] := count; End; En el presente ejemplo se recorren todos los campos de la matriz de 1 a 100 y a cada campo se le asigna su ndice. Para recorrer los campos de matriz en sentido inverso es preciso cambiar la palabra clave TO de la instruccin FOR por DOWNTO. Adems es preciso cambiar entre si los valores de comienzo y de final del contador. For count := 100 downto 1 do Array1[count] := count; Los bucles FOR... DO tambin pueden anidarse. El anidamiento es necesario, por ejemplo, cuando es necesario rellenar una matriz multidimensional. Por lo dems para cada bucle aisladamente considerado debe utilizarse una variable contadora por separado. Var Array2 : array[1..10, 1..100, 1..5] of integer; Count1, Coount2, Count3: integer; Begin For count1 := 1 to 10 do For count2 := 1 to 100 do For count3 := 1 to 5 do Array2[count1, count2, count3] := 0; End; En el ejemplo anterior se recorren todos los campos de la matriz tridimensional y se pone 0 a su valor. En los bucles FOR... DO tambin es posible definir criterios de interrupcin, pero dado que no est previsto inicialmente, para esta finalidad se recurre a la condicin IF. Para abandonar un bucle FOR... DO se utiliza la instruccin estndar EXIT. Var Arrat3:array[10..1000] of integer; Count3: integer; 20

Begin For count3 := 10 to 1000 do Begin Array3[count3] := 0 If count3 = 200 then Exit; {abandonar el bucle} End; End; Un programador de Delphi debe ser consciente de la gran rapidez de los bucles, por lo que la aplicacin debe realizarse siempre que se conozcan los nmeros de repeticiones y se desee ejecutar el cdigo con rapidez. Diferencias Entre Visual Basic y Delphi Delphi produce aplicaciones en cdigo mquina, mientras que Visual Basic produce cdigo para ser interpretado. Esto quiere decir que las aplicaciones Delphi son mucho ms rpidas que las equivalentes escritas en Visual Basic (de 10 a 20 veces, segn los datos lo Borland). Pero tambin significa que nos ahorramos la instalacin del intrprete que necesitan los programas de Visual Basic. En cualquiera de las versiones de Delphi podemos programar DLLs, para poder comunicarnos con otros lenguajes de programacin. Los componentes visuales de Delphi tienden, por lo general, a ser ms eficientes que los correspondientes controles VBXs ya que forman parte del propio programa ejecutable final y no de una biblioteca dinmica. Un control definido en una DLL, por ejemplo, duplica inevitablemente parte del entorno de tiempo de ejecucin del sistema en que fue programado, ocupa ms memoria y provoca un mayor intercambio de pginas de memoria virtual con el disco. En Delphi podemos programar directamente los componentes visuales. En cambio, Visual Basic no permite programar controles VBX ni OCX. Utilizando Delphi incluso podemos crear nuevos controles que hereden caractersticas de controles ya existentes. Delphi puede programar tanto controladores como servidores de automatizacin. Por ltimo, los componentes visuales de Visual Basic pueden utilizarse desde Delphi, ya sean los obsoletos VBX para la versin de 16 bits, o los nuevos OCX en la versin de 32. Delphi utiliza Object Pascal desde sus primeras versiones, un lenguaje Orientado a Objetos, lo que produce que podemos beneficiarnos de caractersticas tan importantes como son el encapsulamiento, el polimorfismo y la herencia. Glosario de Trminos API : Aplication Programing Interface (Interfaz de programacin de aplicaciones)

21

ASCII : American Standard Code for Information Interchange (cdigo americano estndar de intercambio de informacin), es un formato de archivo que no contiene formato de texto, por lo que se puede transferir en distintos sistemas operativos y programas. Los archivos ASCII se usan universalmente para intercambiar informacin entre equipos. CASE TOOLS : Computer Aided Software Engineering (desarrollo de software asistido por ordenador) ODBC : Open Database Conectivity. Es una interfaz de programacin que permite a las aplicaciones tener acceso a datos en sistemas de administracin de bases de datos que utilizan el SQL como estndar de acceso a datos. OWL : Object Windows Library (librera de objetos de Windows) SQL : Structured Query Language (lenguaje de consultas estructurado). Constituye un estndar de lenguaje de uso general, para consultar y modificar datos administrados por servidores especiales de bases de datos como Oracle, Sybase, Informix o Adabas). VCL : Visual Component Library (biblioteca de componentes visuales. Dedicatorias y Consideraciones Finales Este presente trabajo se lo queremos dedicar a toda la gente que hay tras nosotros, partiendo primeramente por nuestras familias quienes gracias a su gran esfuerzo nos han ayudado en este difcil camino, creyendo en nosotros y apoyndonos, a nuestros abuelos, tos, hermanos, amigos, nuestras(os) novias(os), my lovin' guitar, por su inspiracin, al gato amarillo y al Flix, en fin todos aquellos que en poca o gran medida han hecho que nuestro sueo de apoco se convierta en realidad. A todos ustedes quienes siempre recordaremos. Extra gracias : Al seor Luis Galdames Bert y al seor Jorge Fuentes por su gran ayuda, apoyo y conocimientos entregados sin fines de lucro alguno. (ya nos veremos pronto las caras) Los autores. Julio de 2001. Bibliografa Para la realizacin de este trabajo se utilizaron los siguientes textos como referencia. El Gran Libro de Delphi. Autores : Arthur Burda y Gnther Frber Editorial : Marcombo/Data Becker Programacin Orientada a Objetos Autor : Luis Joyanes Aguilar Editorial : McGrawHill Aprenda Visual Basic 6.0 ya 22

Autor : Michael Halvorson Editorial : McGrawHill Programacin con Delphi 4 Autor : Francisco Charte Ojeda Editorial : Anaya Multimedia Conclusin 32 Vehculo Ciclomotor Bicicleta Automvil Montaa Paseo Camin Autobs Coche Competicin Deportivo Turismo Berlina Familiar

23