27
Tutorial de Delphi Versión 6.0 Prof. Dulmar Tovar Universidad de Oriente - Anaco 20/02/2015 Sanchez Adargelis 21.629.029 Moreno Rosmaira 21.629.056 Celis Dagnarys 25.671.130 Falzarano Daniello 24.504.703 Yacoub José 21.041.318

Tutorial de Delphi

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tutorial de Delphi

Tutorial de DelphiVersión 6.0

Prof. Dulmar Tovar Universidad de Oriente - Anaco 20/02/2015

Sanchez Adargelis 21.629.029

Moreno Rosmaira 21.629.056

Celis Dagnarys 25.671.130

Falzarano Daniello 24.504.703

Yacoub José 21.041.318

Page 2: Tutorial de Delphi

Tutorial de Delphi

Página 2

Page 3: Tutorial de Delphi

Tutorial de Delphi

Página 3

INDICE

Historia ____________________________________________________________________4

Creación de un programa en Delphi_______________________________________________5

El Entorno de Desarrollo Integrado________________________________________________6

La ventana Principal _________________________________________________________ 7

Componentes de la Paleta Standard______________________________________________ 7

El Inspector de Objetos ______________________________________________________ 7

Formularios _______________________________________________________________ 8

Ficheros o archivos de un proyecto Delphi ________________________________________ 8

Propiedades y Eventos _________________________________________________________9

Programación_____________________________________________________________ 11

Estructura de un programa en Delphi ___________________________________________ 12

Estructura Condicional if..then..else_______________________________________________12

Estructura Selectica case ______________________________________________________13

Ciclo for___________________________________________________________________14

Ciclo While ________________________________________________________________14

Ciclo Repeat _______________________________________________________________14

Ejemplos __________________________________________________________________14

Lineal – Ejercicio nro. 16_____________________________________________________ 15

Con estructura Selectiva – Ejercicio nro. 4 _______________________________________ 19

Con Ciclo – Ejercicio nro. 13 _________________________________________________ 23

Bibliografia ________________________________________________________________27

Page 4: Tutorial de Delphi

Tutorial de Delphi

Página 4

Historia

Delphi se inicio como un nombre código para la versión beta de un proyecto de desarrollo confidencial en Borland: un ambiente de desarrollo visual de próxima generación para Windows basado en el lenguaje de programación de Borland Object Pascal. El nombre código surgió a mediados de 1993, luego que el equipo de desarrollo estuvo a través de casi 6 meses de profunda investigación, ejercicios de pruebas de conceptos, y análisis de mercadeo. Algunos miembros del entonces equipo de desarrollo de Pascal estuvieron ocupándose del tema alrededor de la oficina del gerente de Desarrollo Rápido Gary Whizin, participando en tormentas de ideas sobre nombres código claves para ser usado en el nuevo producto. Alrededor de 10 personas pertenecientes a los dptos de R&D, QA y Marketing. Era frecuente ver a Anders Heilsberg, Chuck Jazdzewski, Allen Bauer, Zack Urlocker, Richard Nelson, Danny Thorpe, entre otros. Borland tiene una larga historia de nombres código inusuales, ajustándose a la práctica que sugiere asignar nombres códigos que no tengan una relación directa con el producto en cuestión.

Gary siempre tuvo en mente el nombre código “Oracle”, haciendo referencia a la conectividad SQL hacia servidores Oracle. Esto evidentemente chocaba con el hecho de que ya existía una compañía de software con ese nombre y su producto estrella.

Mientras transcurría las discusiones al respecto, Danny Thorpe pensaba “como se le habla a un oráculo? “El Oráculo en Delphi”, esto fue la asociación de palabras que surgió en su mente. Entonces Danny sugirió el nombre “Delphi”, aseverando que “si tú quieres hablarle al oráculo, ve a Delphi”. Esta palabra hacía referencia a un templo pagano en las ruinas de una civilización extinta. No era exactamente una palabra inspiradora para un nuevo producto pero se engancho con facilidad en los integrantes del equipo de mercadeo, quienes le dieron su total apoyo.

Page 5: Tutorial de Delphi

Tutorial de Delphi

Página 5

Creación de un programa en Delphi

Delphi es un poderoso IDE (Integrated Development Environment), o Entorno de Desarrollo Integrado, que permite lo que se conoce como RAD (Rapid Application Development) o Desarrollo Rápido de Aplicaciones.

En pocas palabras, Delphi le ofrece la posibilidad, tanto a profesionales como entusiastas de la programación, de poder crear programas en poco tiempo y con muy poco esfuerzo.

Para quienes ya han tenido una primera experiencia con esta herramienta, incluso sin tener mucho conocimiento en programación de computadores, esta proposición es totalmente cierta.

Los entornos visuales de programación han simplificado significativamente el proceso de desarrollo de una aplicación.

Los promotores de estos entornos coinciden en que para poder desarrollar cualquier programa en estas herramientas de programación visual, se deben seguir al menos los siguientes pasos:

1.- Crear un nuevo proyecto

2.-Colocar los componentes u objetos requeridos en el formulario

3.- Modificar las propiedades de los componentes

4.- Anadir el código necesario para los manejadores de eventos apropiados

Page 6: Tutorial de Delphi

Página 6

El Entorno de Desarrollo Integrado

El entrono de desarrollo está conformado por un conjunto de ventanas que pueden ocultarse o mostrarse según se necesite, al igual que organizarlas adecuadamente en el escritorio del computador.

Las ventanas empleadas co

Ventana Principal Formulario Editor de Código Inspector de Objetos Object TreeView (Árbol de vista de objetos)

Tutorial de Delphi

El Entorno de Desarrollo Integrado

El entrono de desarrollo está conformado por un conjunto de ventanas que pueden ocultarse o mostrarse según se necesite, al igual que organizarlas adecuadamente en el

Las ventanas empleadas con mayor frecuencia son:

Ventana PrincipalFormulario

CódigoInspector de ObjetosObject TreeView (Árbol de vista de objetos)

Tutorial de Delphi

El entrono de desarrollo está conformado por un conjunto de ventanas que pueden ocultarse o mostrarse según se necesite, al igual que organizarlas adecuadamente en el

Page 7: Tutorial de Delphi

Tutorial de Delphi

Página 7

La ventana Principal

En la ventana Principal se puede apreciar todas las opciones principales del Menú de opciones del entrono, los diferentes botones de acceso a las opciones secundarias, así como el conjunto de paleta de componentes, conocida también en otros ambientes como Barra de Herramientas.

Nuestra atención estará centrada principalmente en el grupo de componentes pertenecientes a la paleta Standard, la cual proporciona los tres componentes más utilizados en cualquier programa, desde el más simple.

Componentes de la Paleta Standard

En Delphi, los formularios y componentes son conocidos también como “objetos”. Cada objeto es una entidad auto contenida que integra el código (procedimientos y funciones) para ejecutar sus acciones. La información pertinente es pasada hacia y desde cualquier parte del programa en forma de mensajes.

Label: usado para escribir texto corto como títulos, nombres de variables, etc.

Edit: este control se emplea como entrada y salida de datos.

Button: el botón es el iniciador de procesos por excelencia.

Con solo estos tres objetos es posible desarrollar aplicaciones muy útiles, que requieran ingresar datos para ser procesados y luego mostrar los resultados.

El Inspector de Objetos

Page 8: Tutorial de Delphi

Tutorial de Delphi

Página 8

El inspector de objetos es una ventanita muy útil que nos permite ver y modificar las propiedades de los componentes, así como asociar los event handlers (manejadores de evento) para dichos componentes.

En caso de que no esté visible en pantalla, es posible acceder al inspector de objetos pulsando la tecla F11, o mediante la secuencia de opciones de menú View|Object Inspector.

Formularios

Un Formulario o Form, es el componente principal en el desarrollo visual de aplicaciones, ya que sobre él se ubican todos los otros objetos que estarán a disposición de los usuarios, para facilitar su interacción.

Este es la base de lo que conocemos como Interfaz de Usuario, ya que le permite a los usuarios poder interactuar con la aplicación ingresando los datos requeridos, para que posteriormente el programa despliegue los resultados para el usuario a través de esta misma interfaz.

Cada formulario es almacenado por el IDE en un archivo o fichero con extensión .DFM, y el mismo tendrá asociado otro archivo de tipo unit con el mismo nombre que el formulario y extensión .PAS. Este archivo .PAS es el que se conoce como código fuente, y es el que contiene el código de nuestro programa.

Ficheros o archivos de un proyecto Delphi

El entorno de desarrollo de Delphi, genera un conjunto de archivos, de forma automática, cada vez que es creado un nuevo proyecto. Cada uno de estos archivos tiene una utilidad para el entorno.

Page 9: Tutorial de Delphi

Tutorial de Delphi

Página 9

En la imagen adjunta puede apreciarse todo el conjunto de extensiones archivos de un proyecto y su significado.

Propiedades y Eventos

Cada componente tiene unas características concretas que los identifica, así como características que comparten con otros componentes. Por ejemplo tanto un formulario como un cuadro edit y un botón, tienen una medida de ancho y de largo.

Estas características de los componentes u objetos es lo que conocemos como “Propiedades”. Cuando colocamos un objeto sobre un formulario, frecuentemente

Page 10: Tutorial de Delphi

Tutorial de Delphi

Página 10

modificamos algunas de sus propiedades para adaptarlas a los requerimientos del programa que se esté desarrollando.

Como ya se había mencionado, es posible ver y modificar las propiedades de un componente, en fase de diseño, mediante el Inspector de Objetos.

Estas mismas propiedades pueden ser vistas o modificadas posteriormente cuando el programa se encuentra en fase de ejecución, mediante el uso de las sentencias adecuadas.

Por ejemplo, en fase de diseño se modifica el titulo de la ventana del formulario Form1 cambiando el contenido de la propiedad “Caption” en el Inspector de Objetos. Si se quisiera lograr esto mismo en fase de ejecución, se debe asignar la cadena de titulo deseada a la propiedad “Caption” del objeto Form1 como sigue:

Form1.Caption := ‘Titulo de la ventana’;

Page 11: Tutorial de Delphi

Tutorial de Delphi

Página 11

Los eventos por su parte, están relacionados con el comportamiento que tendrán los componentes, lo que hace pensar que estos contienen el código encargado de ejecutar las acciones o procesos definidos en nuestro programa.

Al igual que las propiedades, los eventos asociados a un componente pueden ser identificados mediante el Inspector de objetos.

Cada evento define el comportamiento del objeto frente a una situación específica, la cual es iniciada por el sistema o por el usuario.

Por ejemplo, el evento “OnClick” asociado a un botón, claramente se refiere a lo que debe suceder cuando el botón es pulsado una vez, lo que se conoce como “Click”, que es la acción que ejerce el usuario cuando pulsa el botón izquierdo del mouse sobre el botón. En este caso, es evidente que el iniciador del evento fue el usuario del programa.

A diferencia de las propiedades, los eventos no pueden ser modificados directamente en el Inspector de objetos, sino que desde allí es posible trasladarse a la sección del código donde ya se encuentra o será generado el manejador de evento correspondiente, que no es más que un procedimiento.

Para el caso de que se desee acceder al manejo del evento OnClick para un botón, desde la pestana de eventos del Inspector de Objetos, se hace doble click sobre dicho evento, y el IDE nos trasladara inmediatamente a la sección del unit del formulario, donde se encuentra el manejador para dicho evento.

Programación

Al mencionar programación en Delphi, directamente nos referimos a la codificación del algoritmo que hemos desarrollado para solucionar cualquier problema planteado. En este punto se debe recordar que de todos los archivos generados por el entorno de programación, el que tiene extensión .PAS, identificado por defecto como Unit, es el que contendrá nuestro código fuente de programa.

Manejador del evento Click

Page 12: Tutorial de Delphi

Tutorial de Delphi

Página 12

Estructura de un programa en Delphi

Cuando se crea un nuevo proyecto en Delphi, el entorno genera y muestra en pantalla el primer formulario de la aplicación, el cual identifica por defecto como Form1, al cual asocia también por defecto una ventana de código que identifica como Unit1.pas. En la figura se muestra la estructura básica de un programa.

Estructura Condicional if..then..else

La estructura condicional es utilizada cuando se nos presenta la situación en que se debe ejecutar una acción o conjunto de acciones de manera condicionada, es decir, si se cumple la condición planteada, se ejecutara un grupo de acciones y en caso contrario se ejecutara un grupo de acciones diferentes.

Page 13: Tutorial de Delphi

Tutorial de Delphi

Página 13

Estructura Selectica case

Si se plantea dentro de nuestro problema la necesidad de elegir dentro de un grupo de más de dos alternativas según una condición dada, entonces la estructura apropiada a emplear en la solución es el “case”.

Esto puede ser resuelto mediante un bloque de condicionales if..then..else anidados, pero haría que nuestro programa fuese un poco más complicado y menos eficiente.

Page 14: Tutorial de Delphi

Tutorial de Delphi

Página 14

Ciclo for

El ciclo for es una de las estructuras repetitivas más utilizadas, ya que permite resolver la mayoría de los problemas que requieren de la repetición de un conjunto de instrucciones.

Es importante destacar que se usara este tipo de estructuras cuando se conozca de antemano la cantidad de veces que se ejecutaran las instrucciones del ciclo.

Ciclo While

Al igual que el for, el ciclo while permite ejecutar repetidamente un conjunto de instrucciones. La diferencia entre ambos ciclos radica en que para el caso del while, no se conoce de antemano al cantidad de veces que se harán las repeticiones, ya que esto dependerá de si se presenta o no la condición establecida para salir del ciclo.

Ciclo Repeat

El ciclo repeat tiene la misma funcionalidad que el ciclo while, ya que también requiere de una condición para finalizar las repeticiones. La diferencia entre ellos radica en que a condición se presenta al principio del ciclo para el caso del while, y al final del ciclo para el caso del repeat.

Ejemplos

Page 15: Tutorial de Delphi

Tutorial de Delphi

Página 15

Todos los ejemplos desarrollados en este tutorial, han sido tomados de la guía de Ejercicios Propuestos de la cátedra Introducción a la Programación.

Lineal – Ejercicio nro. 16

El programa de tipo lineal es una secuencia de instrucciones que se ejecuta de principio a fin sin repeticiones.

Enunciado

Dada las horas trabajadas de una persona y la tarifa de pago, calcular su salario e imprimirla.

Análisis

Datos de entrada: horas trabajadas y tarifa de pago.

Proceso: multiplicar cantidad de horas trabajadas por el monto de la tarifa de pago.

Datos de salida: salario.

Formulario

Page 16: Tutorial de Delphi

Tutorial de Delphi

Página 16

object Form1: TForm1 Left = 461 Top = 262 Width = 361 Height = 148 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13object Label1: TLabel

Left = 16 Top = 8 Width = 98 Height = 16 Caption = 'Horas trabajadas' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -13 Font.Name = 'Tahoma' Font.Style = [] ParentFont = False end object Label2: TLabel Left = 136 Top = 8 Width = 84 Height = 16 Caption = 'Tarifa de pago' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -13 Font.Name = 'Tahoma' Font.Style = [] ParentFont = False

end object Label3: TLabel Left = 256 Top = 8 Width = 40 Height = 16 Caption = 'Salario' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack

Page 17: Tutorial de Delphi

Tutorial de Delphi

Página 17

Font.Height = -13 Font.Name = 'Tahoma' Font.Style = [] ParentFont = False end object Edit1: TEdit Left = 32 Top = 32 Width = 65 Height = 21 TabOrder = 0 end object Edit2: TEdit Left = 144 Top = 32 Width = 65 Height = 21 TabOrder = 1 end object Edit3: TEdit Left = 240 Top = 32 Width = 81 Height = 21 TabOrder = 2 end object Button1: TButton Left = 128 Top = 64 Width = 89 Height = 25 Caption = 'Calcular' TabOrder = 3 OnClick = Button1Click endend

Page 18: Tutorial de Delphi

Tutorial de Delphi

Página 18

Código

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);var horas_trabajadas, tarifa_pago, salario: Currency;begin horas_trabajadas := StrToCurr(Edit1.text); tarifa_pago := StrToCurr(Edit2.text); salario := horas_trabajadas * tarifa_pago; Edit3.Text := CurrToStr(salario);end;

end.

Page 19: Tutorial de Delphi

Tutorial de Delphi

Página 19

Con estructura Selectiva – Ejercicio nro. 4

El programa de tipo Selectivo es una secuencia de instrucciones que se ejecuta de principio a fin sin repeticiones, en la cual se elije una de varias posibles alternativas de flujo en un punto marcado por un grupo de condiciones.

Enunciado

Hacer un programa que muestre el mensaje de acuerdo a la edad ingresada: Si la edad es de 0 a 10 años “niño”, si la edad es de 11 a 14 años “púber”, si la edad es de 15 a 18 años “adolescente” , si la edad es de 19 a 25 años “joven” , si la edad es de 26 a 65 años “adulto”, si la edad es mayor de 65 “anciano”.

Análisis

Datos de entrada: edad.

Proceso: comparar la edad ingresada con los posibles rangos de edades.

Datos de salida: mensaje.

Formulario

Page 20: Tutorial de Delphi

Tutorial de Delphi

Página 20

object Form1: TForm1 Left = 351 Top = 246 Width = 298 Height = 174 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 24 Top = 16 Width = 35 Height = 19 Caption = 'Edad' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 Font.Name = 'Tahoma' Font.Style = [] ParentFont = False Transparent = True end object Label2: TLabel Left = 72 Top = 16 Width = 57 Height = 19 Caption = 'Mensaje' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 Font.Name = 'Tahoma' Font.Style = [] ParentFont = False Transparent = True end object Edit1: TEdit Left = 24 Top = 40 Width = 41 Height = 21 TabOrder = 0

Page 21: Tutorial de Delphi

Tutorial de Delphi

Página 21

end object Edit2: TEdit Left = 72 Top = 40 Width = 185 Height = 21 TabOrder = 1 end object Button1: TButton Left = 96 Top = 72 Width = 81 Height = 25 Caption = 'Procesar' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -13 Font.Name = 'Tahoma' Font.Style = [] ParentFont = False TabOrder = 2 OnClick = Button1Click endend

Código

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Edit2: TEdit; Label2: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

Page 22: Tutorial de Delphi

Tutorial de Delphi

Página 22

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);var edad: integer;beginedad := StrToInt(Edit1.text);case edad of 0..10:Edit2.text := 'niño'; 11..14:Edit2.text := 'puber'; 15..18:Edit2.text := 'adolescente'; 19..25:Edit2.text := 'joven'; 26..65:Edit2.text := 'aduto'; 66..120:Edit2.text := 'anciano';else Edit2.text := 'valor incorrecto';end;end;end.

Page 23: Tutorial de Delphi

Tutorial de Delphi

Página 23

Con Ciclo – Ejercicio nro. 13

El programa de tipo cíclico se caracteriza por un conjunto de instrucciones que se repiten en una o varias secciones del programa.

Enunciado

Calcular mediante un algoritmo repetitivo la suma de los N primeros números naturales.

Análisis

Datos de entrada: N.

Proceso:

Este problema podría ser resuelto eficientemente conociendo que se requiere la suma de una progresión aritmética, cuya expresión es:

Suma = N*(N+1)/2 (el primer término de la progresión es 1)

Pero en vista de que el problema plantea una solución mediante algoritmo repetitivo, lo único que se requiere entonces es definir una variable acumuladora inicializada en cero, e ir sumando progresivamente todos los números naturales que serán generados automáticamente por un ciclo “for”.

Datos de salida: suma.

Formulario

Page 24: Tutorial de Delphi

Tutorial de Delphi

Página 24

object Form1: TForm1 Left = 485 Top = 246 Width = 196 Height = 167 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 32 Top = 16 Width = 11 Height = 19 Caption = 'N' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -16 Font.Name = 'Tahoma' Font.Style = [] ParentFont = False end object Label2: TLabel Left = 80 Top = 16 Width = 40 Height = 19 Caption = 'Suma' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -16 Font.Name = 'Tahoma' Font.Style = [] ParentFont = False end object Edit1: TEdit Left = 24 Top = 40 Width = 33 Height = 21 TabOrder = 0 end object Edit2: TEdit

Page 25: Tutorial de Delphi

Tutorial de Delphi

Página 25

Left = 80 Top = 40 Width = 81 Height = 21 TabOrder = 1 end object Button1: TButton Left = 56 Top = 72 Width = 73 Height = 25 Caption = 'Calcular' Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -13 Font.Name = 'Tahoma' Font.Style = []

ParentFont = False TabOrder = 2 OnClick = Button1Click endend

Código

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

var

Page 26: Tutorial de Delphi

Tutorial de Delphi

Página 26

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);var i, n, suma : integer;begin suma := 0; n := StrToInt(Edit1.text); for i := 1 to n do suma := suma + i; Edit2.Text := IntToStr(suma);end;

end.

Page 27: Tutorial de Delphi

Tutorial de Delphi

Página 27

Bibliografia

Freire, J. L. (2001). Tutorial de Delphi. Madrid, España.

Penabad, M. R. (2006). DELPHI – PROGRAMACIÓN ORIENTADA A OBJETOS. ENTORNO VISUAL.