Este
ejemplo muestra la forma más sencilla de programar en el ambiente
Delphi para crear aplicaciones que se comunican con los usuarios únicamente
en modo "Consola", es decir, sin interfaces gráficas diseñadas
sino mediante la interfaz estandard de comandos MSDOS de Windows. El texto
del programa en lenguaje ObjectPascal (OP) aparece a la izquierda con fondo
gris pizarra, a la derecha con fondo verde, hay notas explicativas.
Con este modo "Consola" de comunicación, Delphi proporciona la manera más rápida para lograr que aplicaciones desarrolladas en lenguaje TurboPascal para el sistema operativo DOS, puedan adaptarse para ambientes Windows. En
general TurboPascal es compatible con el lenguaje ObjectPascal incluido
en Delphi, salvo las diferencias que el compilador señala. Por supuesto,
ObjectPascal es un Pascal Orientado a Objetos (OO) mucho más enriquecido.
|
|
|
Este ejemplo muestra la forma más simple de programar en el ambiente Delphi para crear aplicaciones que se comunican con los usuarios mediante interfaces gráficas, usando formas de diálogos de estilos predefinidos contenidas en la Delphi-Unit Dialogs. El texto del programa en lenguaje ObjectPascal (OP) aparece a la izquierda con fondo gris pizarra, a la derecha con fondo verde, hay notas explicativas. |
program
HolaDial;
uses Dialogs; begin
|
Para preparar
este programa:
1. Proceda igual que en el caso anterior del Programa HolaCons, pero asignando el nombre HolaDial. 2.También hay que agregar la línea con uses Dialogs para que el compilador pueda incluir los procedimientos contenidos en la Unit Dialogs. |
El
siguiente ejemplo es ya una aplicación que se comunica con los usuarios
mediante una ventana o Forma de interfaz gráfica. Para Delphi
es un proyecto construido en forma visual en su ambiente de desarrollo.
La construcción de un Proyecto (Project) con interfaz gráfica (GUI) comienza siempre con la construcción de la Forma. Delphi va generando los archivos que conforman el Proyecto. Después el programador va agregando código de programación OP a los procedimientos de atención de los Eventos de los usuarios, según el plan de la aplicación. Puede agregar sus propias declaraciones y procedimientos, incluyendo nuevas Clases con sus métodos. En una aplicación compleja puede agregar más Formas. Por cada Forma se genera una Unit (archivo o módulo OP con declaraciones y código de programación). También puede agregar Units sin formas asociadas. |
Se
muestra el contenido de los tres archivos que conforman este proyecto:
El primero es el archivo de extensión
.dpr
(Delphi PRoject), que es el archivo raíz del proyecto, escrito
en lenguaje ObjectPascal.
El
segundo es la única Unit de este proyecto, de extensión
.pas
que contiene la programación correspondiente al manejo de la Forma
de interfaz de usuario del proyecto, también en lenguaje ObjectPascal.
El tercero, de extensión
.dfm (Delphi
ForM), es parte de la visualización en modo texto de la Forma
diseñada por el programador como interfaz de usuario. Este archivo
contiene las declaraciones correspondientes al diseño de la Forma;
es generado por Delphi transcribiendo la construcción que
hace el usuario en forma visual. No hace falta que el programador vea este
archivo ni debe modificar manualmente el texto, Delphi se encarga de su
actualización cada vez que visualmente se modifique la apariencia
o el contenido de la Forma asociada, ya sea por acciones directas sobre
la Forma o modificando propiedades con el Object Inspector.
El texto del programa en lenguaje ObjectPascal (OP) aparece a la izquierda
con fondo gris pizarra, a la derecha con fondo verde, hay notas explicativas. |
program
Hola;
uses
{$R *.RES} begin
|
Para proyectos diseñados
con formas de interfaz
gráfica para usuarios, Delphi genera el archivo de extensión .dpr. En la sección uses coloca los nombres y las ubicaciones de todas las Units incorporadas al proyecto, además de la referencia a la Delphi-Unit Forms, que contiene la Clase TForm, clase primitiva de todas las formas. |
unit UHola; | Unit preparada usando la programación visual de Delphi, que genera la declaración de la forma y los esqueletos de los métodos. El progrmador completa y agrega codificación en ObjectPascal. |
interface | Comienzo de bloque de declaraciones. |
uses
Windows, Messages, SysUtils,Classes, Graphics,Forms, Dialogs, StdCtrls, ExtCtrls; |
Delphi-Units que contienen Clases de la jerarquía de Clases disponibles en Delphi. |
type
TMiForma = class(TForm) Letrero: TLabel; Boton: TButton; Image1: TImage; procedure QueAparezca(Sender: TObject); private { Private declarations } public { Public declarations } end; |
Delphi genera las declaraciones de los controles y componentes colocados por el programador en la forma y registra en el archivo de la forma (UHola.dfm en este caso) las propiedades asignadas con el ObjectInspector. |
var
MiForma: TMiForma; implementation {$R *.DFM} |
Delphi genera la declaración
de la variable de tipo referencia a objeto de la clase TMiForma.
Comienzo de bloque de implementación de métodos de la clase definida. |
procedure
TMiForma.QueAparezca(Sender:TObject);
begin Boton.Visible:=False; Letrero.Visible:=True; end; |
Programacion del procedimiento de respuesta al evento OnClick en el componente de tipo TButton. |
object MiForma:
TMiForma
Left = 206 Top = 170 BorderStyle = bsSingle BorderWidth = 3 Caption = 'Programa Hola' ClientHeight = 247 ClientWidth = 233 Color = clBlack .............. Otras propiedades de la Forma object Letrero: TLabel Left = 0 Top = 184 Width = 233 Height = 65 Alignment = taCenter AutoSize = False Caption = 'Hola publico !!' Color = clNavy .............. Otras propiedades del Letrero Visible = False end object Image1: TImage Left = 0 Top = 0 Width = 241 Height = 185 Picture.Data = { ............. Datos de la imagen, originalmente en .\Archivos de Programas\Archivos comunes\ Borland Shared\Images\Splash\16color\earth.bmp } Transparent = True end object Boton: TButton Left = 0 Top = 224 Width = 233 Height = 25 Caption = 'Presione aqui' TabOrder = 0 OnClick = QueAparezca end end |
El archivo de extensión .dfm
corresponde a la definición de esta Forma. La Forma contiene un
componente de tipo TLabel
,
|