Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
1 Lenguaje Delphi
1.1 Historia
1.2 Breve tutorial de instalacin y uso de herramientas de Compilacin
1.3 Programa Hola Mundo
1.4 Diccionario de palabras reservadas, operadores y smbolos del lenguaje
1.5 Smbolos especiales
1.6 Comentarios y directrices de compilacin
1.7 Tipos de datos fundamentales y su representacin
1.8 Operaciones de entrada y salida bsica
1.9 Tipos de datos complejos y su representacin
1.10 Declaracin e inicializacin de variables
1.11 Tabla de Operadores con asociatividad y precedencia
1.12 Estructuras de decisin e iteracin
1.13 Declaracin, definicin y uso de mtodos y funciones
1.14 Implementacin y uso de la Programacin Orientada a Objetos
1.15 Esquema de administracin y separacin de la memoria
1.16 Implementacin de Corrutinas
1.17 Manejo de Excepciones
1.18 Gramtica en EBNF del lenguaje
1.19 Caractersticas especficas del Lenguaje
1.20 Fuentes Bibliogrficas
Lenguaje Delphi
Delphi es un entorno de desarrollo de software diseado para la programacin de propsito general con
nfasis en la programacin visual. En Delphi se utiliza como lenguaje de programacin una versin
moderna de Pascal llamada Object Pascal.
Historia
Es producido comercialmente por la empresa estadounidense Aberform, adquirida en Mayo de 2008 por
Embarcadero Technologies, una empresa del grupo Thoma Cressey Bravo, en una suma que ronda los
30 millones de dlares. En sus diferentes variantes, permite producir archivos ejecutables para
Windows, Linux y la plataforma .NET.
CodeGear ha sido escindida de la empresa Borland, donde Delphi se cre originalmente, tras un proceso
que pretenda en principio la venta del departamento de herramientas para desarrollo.
Delphi inicialmente slo produca ejecutables binarios para Windows: Delphi 1 para Win16 y con
Delphi 2 se introdujo Win32. En el ao 2013 lanzaron la version XE5 la cual permite crear ejecutables
binarios para Windows 32 y 64 bits, Mac OSX, IOS para IPhone y IPad y celulares inteligentes o
tabletas Android.
Las herramientas usadas para la Compilacin de Delphi segn el sistema operativo son:
Para Windows:
Borland Delphi 7, RAD Studio 2007
Para Linux y Unix:
Kylix 3.0.
Pero en esta documentacin nos centraremos en la instalacin y uso de las herramientas del Borland
Delphi 7. Algo que diferencia a Delphi de muchos otros competidores es el hecho 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.
Ahora como todo tutorial iniciaremos con una pequea aplicacin de una ventana con un botn que
desplegar un mensaje con el rtulo de Hola mundo. Para eso, nos vamos al primer men de la parte
superior y damos clic a la opcin file, acto seguido damos clic a new y luego a application.
Se genera un proyecto con un formulario vaco, es ah donde comienza la tarea de comenzar a arrastrar
los dems elementos visuales al formulario vaco como: etiquetas, cajas de textos, lista de textos,
memos, botones, etc. En el programa slo necesitaremos arrastrar un botn. Cada elemento tiene su
Object Inspector, es una herramienta que nos permite modificar los atributos de los objetos como el de la
figura al lado izquierdo de nuestro programa. Nos vamos al atributo caption y modificamos escribiendo
el rtulo que deseamos para el botn. Ahora para poder comenzar a programar lo que debe hacer el
botn, recuerde que se programa por eventos as que seleccionamos el botn, luego nos vamos a su
Object Inspector y le damos a la pestaa Events y elegimos el evento onClick y en el espacio en
blanco le damos doble clic. Se nos desplegar una ventana de editor de texto con el siguiente cdigo.
end;
end.
Ahora el espacio entre begin y end; es ah por donde se inicia a programar lo que deseamos que el
botn haga en el evento onClick; que, bsicamente es el evento cuando el botn le den clic. Ahora le
ponemos la siguiente instruccin.
Ahora unas aspectos a tomar en cuenta: cada instruccin termina con un punto y coma, cuando se desea
imprimir o mostrar un mensaje debe hacerlo entre comillas simples (), y para ejecutarlo hay varias
maneras, puede de un slo con darle clic a F9, se ejecutar siempre y cuando no halle ningn error, y si
lo hubiera en la parte inferior del editor de cdigo aparece la lista de errores. La otra forma es ir al
primer men y buscar Run y luego darle clic en el men que se desplega Run. La instruccin
showMessage(); desplega un mensaje con el argumento que reciba puede ser un mensaje string o del
tipo Pchar(Combinacion de nmeros y letras). Ejecucin del programa.
Esto es una lista de palabras reservadas y estas no pueden redefinirse o ser usadas como identificadores:
Smbolos especiales
Los smbolos especiales son caracteres no alfabticos, o pares de estos caracteres, que tienen
significados fijos. Los siguientes caracteres son smbolos especiales:
Los comentarios son ignorados por el compilador, excepto cuando su funcin es de separadores
delimitando tokens adyacentes o directrices de compilacin. Existen muchas directrices de compilacin:
{$WARNINGS OFF}
Integer
Nmeros enteros comprendidos entre 32768 y 32767; 16 bits (ocupan 2 bytes cada uno en la memoria)
Byte
Nmeros enteros positivos comprendidos entre 0 y 255; 8 bits (ocupa 1 byte cada uno en la memoria)
Word
Nmeros positivos comprendidos entre 0 y 65535; 16 bits (ocupan 2 bytes cada uno en la memoria)
LongInt
Nmeros enteros comprendidos entre 2147483647 y 2147483647 32 bits (ocupan 4 bytes cada uno en
la memoria)
ShortInt
Nmeros negativos y positivos enteros comprendidos entre 128 y 127; 8 bits (ocupa 1 byte cada uno en
la memoria)
Real
Single
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
Double
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
String
Char
Pchar
Pointer
Punteros que pueden apuntar a cualquier estructura de datos; sin enlace con un tipo concreto
(denominados punteros sin tipo)
Boolean
Tipo de Datos Booleano, cuyas variables pueden tomar los valores True (verdadero) o False (falso)
Read();
Write(Mensaje,)
Este comando nos imprime una salida y puede recibir muchos argumentos, entre ellos mensajes String y
si queremos imprimir un nmero que est almacenado en una variable simplemente se pone el nombre
de la variable como parmetro.
Si es una aplicacin con formularios y ventanas, eso depende de cuales sean los elementos de entrada y
cuales los de salida, a continuacin una breve descripcin de objetos (Ms comunes) y sus mtodos de
entrada y salida.
Pero hay que aclarar que los mtodos de entrada y salidas de Label y
Elemento Entrada Salida Edit(Caja de Texto) reciben o envan String o cadena de caracteres
.Caption := as que para problemas que requieran de entradas numricas o
salidas numricas se usan los siguientes mtodos de conversin.
Label .Caption
En Delphi existen los datos complejos entre los cuales tenemos los registros y los arreglos tipo tabla y
los arreglos tipo vector.
Para declarar un arreglo del tipo Vector o lista se usa el siguiente formato.
< nombre del Arreglo>: array [1..n] of <Tipo del Arreglo>;
Ejemplos:
Edades: array [1..10] of Integer;
Nombres: array [1..30] of String;
Nombres: array [1 30] of String[20];
Esta declaracin se hace en la parte var del programa principal, en el caso de una aplicacin de
formulario en el var del programa del TForm.form1, porque un arreglo son elementos que se
comparten entre todos los eventos de los objetos
Antes de iniciar con las estructuras de decisin e iteracin, se debe conocer los operadores de las
condiciones que son la base de las dos siguientes estructuras a ver.
Hay que tener claro que la diferencia entre = y := es, que el primero compara dos variables y el
segundo es una asignacin de valores.
A continuacin se presenta una tabla con los operadores para cuando
Operador Significado hay ms de una condicin a evaluar.
> Mayor que
< Menor que Operador Significado
>= Mayor o Igual que AND y lgico
<= Menor o Igual que OR o lgico
= Igual NOT negacin
<> Distinto de
Decisin
Uso del If
If Condicin(es) then
Begin
Bloque de Instrucciones;
End
Else
Begin
Bloque de Instrucciones;
End
Case <Variable> of
Constante1: Begin
Instrucciones;
End;
Constante2: Begin
Instrucciones;
End;
Constante3: Begin
Instrucciones;
End;
Else
Begin
Instrucciones;
End;
<Variable>, generalmente si es un Integer, cada Constante sera 1, 2, 3, hasta donde sea necesario, y
si es un Char, cada constante a evaluar sera a, b, c,etc.
Iteracin
Ciclo For
Ciclo While
While (Condicin) Do
Begin
Instrucciones;
*Instruccin de salida del Ciclo;
End
Repeat
Instrucciones;
*Instruccin de salida del Ciclo;
Until (Condicin);
Dependiendo de la condicin, la instruccin puede variar pero esta instruccin es vital para
evitar ciclos infinitos.
Delphi por supuesto tiene lo que es el uso de funciones y Procedimientos, ahora definiremos por
separado cada uno de estos mdulos.
Procedimientos:
Es un modulo de un programa que realiza tareas especficas y que no puede regresar valores a la parte
principal del programa u otro procedimiento que lo est invocando.
Este esquema de la definicin y declaracin se hace en la seccin de VAR del programa principal.
Uso.
Simplemente en el programa principal se copia el nombre del procedimiento previamente definido en el
lugar donde se le requiera.
Funciones:
Una funcin es un mdulo de un programa separado del cuerpo principal, que realiza una tarea
especfica y que puede regresar un valor a la parte principal del programa u otra funcin o
procedimiento que la invoque.
Declaracin y Definicin de las Funciones.
Este esquema de la definicin y declaracin se hace en la seccin de VAR del programa principal.
Uso.
Simplemente en el programa principal se hace el llamado a funcin.
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.
Comenzando con el concepto de encapsulacin de datos que trata bsicamente de encerrar un conjunto
de datos dentro de un objeto que slo los mtodos del propio podr manipular. Para eso se hace uso de
la palabra reservada Type.
type
{<Nombre del Objeto> = Object}
Persona = Object
{Atributos}
nombre:String[25];
private apellido:String[25];
{Procedimientos y Funciones}
procedure init(name:String;apell:String);
procedure nombreCompleto;
procedure setApellido(apell:String);
function getNombre:String;
Ahora slo falta definir las funciones y procedimientos del Object Persona, Observe que un atributo
tiene la palabra reservada de Private, esta palabra hace que el atributo slo pueda ser accesado o
modificado por medio de mtodos del propio Objeto. El primer atributo se asume que es un atributo
pblico; es decir, que puede ser modificado y/o accesado sin necesidad de mtodos. A continuacin se
definen los procedimientos y funciones del objeto.
var
procedure Persona.init;
begin
nombre:=name;
setApellido(apell);
end;
procedure Persona.nombreCompleto;
begin
writeln(Nombre,' ',getApellido);
end;
procedure setApellido;
begin
apellido := apel;
end;
function Persona.getApellido:String;
begin
getApellido:= apellido;
end;
La definicin de las funciones y procedimientos se hace en la seccin var del main y la diferencia
est en que el nombre de la funcin o del procedimiento siempre es precedido por el Nombre del objeto
ms punto.
Ejemplo:
Persona.setApellido
Persona.nombreCompleto
Otro aspecto a destacar es que tanto las funciones como los procedimientos, en el momento de
definirlos no es necesario copiar la lista de parmetros que necesiten y en el caso de las funciones no es
necesario escribe : <tipo que retornan> porque ya estn encapsulados en el type.
Ahora para las herencias sencillamente donde se crea es esqueleto en el Type se hace lo siguiente:
Type
Padre = Object
{esqueleto de la clase Padre};
end;
Hijo = Object (Padre)
{esqueleto de la clase Hijo};
end;
Var
{definiciones de los procedimientos y funciones de Padre};
{definiciones de los procedimientos y funciones de Hijo};
Una recomendacin es que los mtodos comunes entre el padre y el hijo se deben declarar y definir en
el padre, porque esos mtodos se heredan de manera implcita en el hijo, dejando solamente la tarea de
declarar y definir los mtodos nicos del hijo.
Por ltimo falta mencionar la declaracin del polimorfismo, bsicamente es una herencia mltiple de
un padre a varios hijos, ac se usa la palabra reservada virtual. Este hace que los mtodos
(procedimientos y funciones) comunes entre el padre y el hijo puedan sobrescribirse. Bsicamente
permite que si hay un padre que hereda a varios hijos un mtodo en comn pero que cada mtodo segn
el hijo funciona de manera diferente, puedan ser definidos en cada hijo usando siempre el mismo
nombre.
Implementacin de Corrutinas
Manejo de Excepciones
El manejo de excepciones en Delphi no vara mucho de los dems lenguajes de hoy en da y su siguiente
estructura es la siguiente.
TRY
{Bloque de instrucciones}
EXCEPT
ON Exception DO
BEGIN
{Bloque de Instrucciones}
END;
END; Fin del Try
Este bloque captura errores de manera genrica, pero tambin se puede disear bloques de excepciones
con indicaciones ms especficas.
Por ejemplo del Bloque anterior se pueden puede cambiar de la siguiente manera para que slo intente
el Try-Except con errores especficos.
TRY
{Bloque de instrucciones}
EXCEPT
ON TipoException1 DO
BEGIN
{Bloque de Instrucciones}
END;
ON TipoException2 DO
BEGIN
{Bloque de Instrucciones}
END;
ON TipoException3 DO
BEGIN
{Bloque de Instrucciones}
END;
Delphi est basado en una versin de Pascal denominada Object Pascal. Borland en los ltimos aos
defenda que el nombre correcto del lenguaje es tambin Delphi, posiblemente debido a pretensiones de
marca, aunque en sus mismos manuales el nombre del lenguaje apareca como Object Pascal, por lo
que la comunidad de programadores no ha adoptado mayoritariamente este cambio (supuesta
aclaracin, segn Borland). Object Pascal expande las funcionalidades del Pascal estndar:
delphiallimite.blogspot.com (http://delphiallimite.blogspot.com)
programacionfacil.com (http://www.programacionfacil.com/borland_delphi/start)
es.wikipedia.org
geocities.com (http://www.geocities.com/v.iniestra/delphi/index.html)
Obtenido de https://es.wikibooks.org/w/index.php?title=Lenguaje_Delphi&oldid=298085
Esta pgina fue modificada por ltima vez el 24 feb 2016 a las 17:56.
El texto est disponible bajo la Licencia Creative Commons Atribucin-CompartirIgual 3.0;
pueden aplicarse trminos adicionales. Vase Trminos de uso para ms detalles.