Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NÚCLEO DE ANZOÁTEGUI
Informe de Delphi
Bachilleres:
Ocona P, Andry R.
CI: 26.853086
Garcia C, Ismael A.
C.I: 26.552.860
Historia
A finales del año 1970 surge la primera versión completa de Pascal, un lenguaje de
programación imperativo (Procedural), de alto nivel y de propósito general. Fue
desarrollado por un profesor suizo llamado Niklaus Wirth como un lenguaje para
enseñar a sus alumnos la programación de un modo disciplinado y sistemático.
A pesar de haberse establecido estándares, Borland International crea en 1983 una
versión no estándar que se hizo muy popular. Se la denominó Turbo Pascal 1.0 y
funcionaba bajo MS-DOS. La última versión de Turbo Pascal fue la 7.0, comercializada
a finales del año 1992, consolidando la orientación a objetos y nuevas propiedades
extraídas fundamentalmente de lenguajes como C y Modula-2.
En el año 1995 se crea el nuevo sucesor de Pascal, al que se llamó Delphi, siendo la
primera herramienta con un entorno de desarrollo visual construida por Borland
caracterizándose también por ser un lenguaje orientado a eventos.
En el año 2001 Borland lanzó al mercado la versión de Delphi 6.0 que funciona bajo
Windows y es compatible con todas las versiones anteriores.
Conociendo Delphi XE Delphi es uno de los entornos de desarrollo RAD (Desarrollo
Rápido de Aplicaciones), más respetado y extensamente utilizado hoy. Más de 1,7
millones de desarrolladores a lo largo de todo el mundo eligen Delphi sobre otras
herramientas, porque Delphi acelera radicalmente el desarrollo de aplicaciones de
escritorio, estaciones de trabajo, táctiles, terminales de punto de venta, y Web sin
sacrificar ni una pizca de potencia o control en la programación. Las aplicaciones
creadas con Delphi son rápidas, compactas, proporcionan UI’s ricos, y pueden
conectarse con virtualmente cualquier base de datos o fuente de datos tal y como viene
de fábrica.
Con Delphi, puedes: Reducir RADicalmente el tiempo de desarrollo y construir
aplicaciones Windows hasta 5 veces más rápido que con otras soluciones de desarrollo
Acelerar la manera en que pasas del prototipo a producción con herramientas de
arrastrar y soltar y una potente biblioteca de componentes Liberar a tus clientes del
teclado con deslumbrantes UI’s basados en funcionamiento táctil.
Características principales de Delphi: IDE RAD con diseño rápido de arrastrar y
soltar Más de 250 controles VCL Soporte integrado táctil y de gestos dbExpress con
soporte para las 9 principales bases de datos Middleware DataSnap para n-capas con
JSON, REST, HTTP, COM, y XML Soporte para depurar aplicaciones con múltiples
hilos UML / métricas de código y auditorías Despliegue en Windows 2000, XP, Vista, y
Windows 7 con el mismo código Delphi XE está disponible en las ediciones
Professional, Enterprise, y Architect.
Base de datos: una de las principales características y ventajas de Delphi es su
capacidad para desarrollar aplicaciones con conectividad a bases de datos de diferentes
fabricantes. El programador de Delphi cuenta con una gran cantidad de componentes
para realizar la conexión, manipulación, presentación y captura de los datos, algunos de
ellos liberados bajo licencias de código abierto o gratuito. Estos componentes de acceso
a datos pueden enlazarse a una gran variedad de controles visuales, aprovechando las
características del lenguaje orientado a objetos, gracias al polimorfismo. En la paleta de
componentes pueden encontrarse varias pestañas para realizar una conexión a bases de
datos usando diferentes capas o motores de conexión. Hay motores que permiten
conectarse a bases de datos de diferentes fabricantes tales como BDE, DBExpress o
ADO, que cuentan con manejadores para los formatos más extendidos. También hay
componentes de conexión directa para un buen número de bases de datos específicas:
Firebird, Interbase, Oracle, etcétera. A continuación un breve resumen de las capas de
conexión disponibles para las bases de datos más populares: Interbase/Firebird: IBX
(InterBase eXpress), IBO (IB Objects), MDO (Mercury Data Objects), *DBExpress,
BDE, FibPlus, Zeos Oracle: DOA (Direct Oracle Access), NCOci8 dBase: BDE
FoxPro: BDE Paradox: BDE Microsoft SQL Server: BDE, ADO, *DBExpress mySQL:
Zeos (nativo), *DBExpress, BDE y ADO (usando ODBC) Postgres: BDE, ADO,
ZEOSDBO
Unidades
Aunque cada formulario se define mediante una unidad, el recíproco no es cierto. Las
unidades no tienen por qué definir formularios. Pueden, simplemente, definir y hacer
disponible una colección de rutinas. Seleccionando el comando Archivo > Nuevo y
luego el icono Unit en la página New del Object Repository, se añade una unidad en
blanco al proyecto actual. Esta unidad en blanco contiene el siguiente código,
delimitando las secciones en que se divide una unidad:
unit Unit1;
interface
implementation
end.
El concepto de unidad es sencillo. Una unidad tiene un único nombre, que corresponde
a su nombre de archivo, una sección de interfaz que declara qué es visible a otras
unidades, y una sección de implementación con el código auténtico y otras
declaraciones ocultas. Finalmente, la unidad puede tener una sección de inicialización
opcional con cierta porción de código de inicio, que se ejecuta cuando el programa se
carga en la memoria; también puede tener una sección de finalización, opcional, que se
ejecutaría al terminar el programa.
La estructura general de una unidad, con todas sus secciones posibles, es la siguiente:
unit unitName;
interface
// constantes exportadas
const
Zero = 0;
// variables globales
var
Total: Integer;
implementation
uses
D, E;
// variable global oculta
var
PartialTotal: Integer;
initialization
// parte de inicialización, opcional
finalization
// código de limpieza, opcional
end.
Unidades y accesibilidad
Variables locales: Si se declara una variable dentro del bloque que define una
rutina o un método, no se puede usar esta variable fuera de ese procedimiento. El
campo de acción del identificador abarca todo el procedimiento, incluyendo
rutinas anidadas (a no ser que un identificador definido en la rutina anidada
anule una definición externa con el mismo nombre). La memoria para esta
variable se almacena en la pila cuando el programa se ejecuta la rutina que lo
define. Tan pronto como finalice la ejecución de la rutina, la memoria en la pila
se libera automáticamente.
Variables globales ocultas: Si se declara un identificador en la porción de
implementación de una unidad, no se puede usar aquella fuera de la unidad, pero
se puede usar en cualquier bloque y procedimiento definido dentro de la unidad.
La memoria para esta variable se adjudica tan pronto como comienza el
programa, y se mantiene mientras no finalice. Se puede utilizar la sección de
inicialización de la unidad para dar un valor inicial específico.
Variables globales: si declara un identificador en la porción de la interfaz de la
unidad, su campo de acción se extiende a cualquier otra unidad que utilice la
unidad en que se declara. Tal variable ocupa memoria y tiene la misma vigencia
que una del tipo anterior; la única diferencia es su visibilidad.
En este caso puede, simplemente, usar el nombre de unidad como prefijo del nombre del
tipo o rutina definida en aquella. Por ejemplo, puede referirse al
procedimiento ComputeTotal definido en la unidad Totals dada
como Totals.ComputeTotal. Esto no será necesario muy a menudo, a no ser que incurra
en el error de dar el mismo nombre a dos cosad distintas en un programa.
De cualquier manera, si echa un vistazo a la biblioteca VCL y los archivos de Windows,
encontrará que algunas funciones Delphi tienen el mismo nombre (pero, en general,
distintos parámetros) que ciertas funciones API de Windows disponibles en el mismo
Delphi. Un ejemplo es el sencillo procedimiento Beep.
Entonces, tan pronto como pulse el botón oirá un breve sonido. Ahora, pase a la
instrucción uses de la unidad y modifique ligeramente el aspecto actual del código ...
uses
Windows, Messages, SysUtils, Classes, ...
uses
SysUtils, Windows, Messages, Classes, ...
Si, ahora, intenta recompilar este código, dará con un error de compilación: "Not
enough actual parameters." (No hay suficientes parámentros actuales). El problema
consiste en que la unidad Window define otra función Beep con dos parámetros. Dicho
de forma más general, lo que ocurre en las definiciones de las primeras unidades se
podría ocultar con definiciones correspondientes en unidades posteriores. La solución
segura es, de hecho, bastante simple :
Unidades y programas
Una aplicación Delphi consiste en dos tipos de archivo de código fuente: una o más
unidades y un archivo de programa. Las unidades se pueden considerar archivos
secundarios, a que se puede referir con la parte principal de la aplicación, el programa.
En teoría, esto es cierto. En la práctica, el archivo de programa es, habitualmente, un
archivo generado de forma automática, y tiene un papel limitado. Sólo tiene que iniciar
el programa, ejecutando el formulario principal. El código del archivo de programa,
o Delphi project file (DPR) puede ser editado tanto manualmente como usando el
Project Manager y alguna de las opciones de proyecto relacionadas con el objeto de la
aplicación y los formularios.
program Project1;
uses
Forms,
Unit1 in ‘Unit1.PAS’ {Form1DateForm};
begin
Application.Initialize;
Application.CreateForm (TForm1, Form1);
Application.Run;
end.
Como se ve, sólo aparece una sección uses y el código principal de la aplicación,
encerrada por las palabras clave begin y end. La instrucción uses del programa es
especialmente importante, porque se usa para administrar la compilación y el
enlazamiento de la aplicación.
Inicio
Leer N
Si “Cuadro de texto 1” <> ““ entonces
Inicio
Si “Cuadro de texto 1” > “1000” entonces
Inicio
Si “Cuadro de texto 1” <> “1” entonces
Inicio
Mostrar mensaje “Intentalo nuevamente”
Fin
Fin
Sino
Inicio
Mostrar mensaje “bien hecho lo lograste”
Fin
Fin
Sino
Inicio
Mostrar mensaje “Solo números de entre 0 y 1000”
Fin
Fin
Código en Delphi
begin
Button1.Visible:=False;
Button2.Visible:=True;
Edit1.Visible:=False;
Label1.Visible:=False;
a:=strtofloat(edit1.Text);
If (edit1.Text <> '') then
begin
If (Edit1.Text > '1.000') then
begin
if (edit1.Text <> '1.00') then
begin
showmessage('Intentalo
nuevamente');
end;
end
else
begin
showmessage('Bien hecho, lo
lograste');
end;
end
else
begin
showmessage('Solo numeros entre 0
y 1000');
end;
end;
Diagrama de Flujo