Vous êtes sur la page 1sur 46

INTRODUCCIN AL PROCESO DE PROGRAMACIN.

El trabajo de un programador consiste en escribir instrucciones tales como las


instrucciones del programa de encontrar el doble de un nmero, por ejemplo. La
tarea de un programador se puede dividir en seis pasos:
1.
2.
3.
4.
5.
6.

Entender el problema
Plantear la lgica para la resolucin del problema
Desarrollar la aplicacin para resolver el problema
Compilar la aplicacin
Probar la aplicacin
Poner la aplicacin en ejecucin

A continuacin se realizarn de manera detenida cada uno de estos puntos.


Entender el problema.
Se escriben programas para satisfacer las necesidades de otras personas. Dichas
personas se les da el nombre de usuarios. Un clsico ejemplo de esto es un
programa o aplicacin de hoja de clculo. Exista una necesidad de manejo
ordenado de nmeros y de procesamiento de informacin, una empresa se aboc
a la tarea de crear una aplicacin que maneje la informacin de manera tabular, le
aadi capacidades de procesamiento a dichas tablas y por ltimo la ofreci a los
usuarios para resolucin de problemas que manejen datos de manera tabular. Al
final de cuentas, el usuario no necesita saber cmo funciona de manera interna
una hoja de clculo, sino resolver el procesamiento del informacin en las tablas.
Supongamos que un ingeniero residente le dice a uno de los supervisores de obra
que "se necesita una lista de todos los obreros sujetos a jornal, que han estado
trabajando aqu durante los ltimos cinco o ms das, porque queremos ofrecer un
bono especial por el trabajo realizado". Este problema puede considerarse que no
est completamente explicado. Esto incluyen a los trabajadores que llegaron
tarde el lunes? Qu hay de las personas que salieron temprano los dems das?
Qu sucede con aquellas personas que no rindieron lo que supuestamente
deben rendir? Qu pasara si alguno de los empleados estuvo incapacitado por
el seguro social? Y as por el ejemplo pueden surgir an ms dudas.
Entender realmente el problema puede ser uno de los aspectos ms difciles antes
de intentar resolverlo. En cualquier trabajo, la descripcin de lo que usuario
necesita puede ser vaga o peor an, el usuario puede incluso no saber qu es lo
que realmente quiere.
Plantear la lgica para la resolucin del problema.
La esencia del proceso de programacin reside en plantear la lgica del programa.
Durante esta fase del proceso de programacin, el programador plantear los
pasos del programa, diciendo tanto que pasos incluir como en que orden. Hay

muchas formas de plantear la solucin de un problema. Las dos herramientas ms


comunes son los diagramas de flujo y el pseudo cdigo. Ambas herramientas
sirven para escribir los pasos del programa. Lo que se conoce como el
planteamiento del problema, de manera ms exacta se le conoce como
"desarrollar un algoritmo". El programador no se preocupa de la sintaxis del
lenguaje de programacin en este punto, sino por averiguar qu y secuencias de
sucesos conducir a la salida deseada desde los datos de entrada disponibles.
Esto puede compararse a la planificacin de un viaje sobre el papel antes de
subirse un automvil.
Desarrollar la aplicacin para resolver el problema
Una vez que el programador ha desarrollado la lgica del programa, entonces
puede escribir programa en uno de los 400 o ms lenguajes de programacin que
existen. Es en este punto en el que el programador puede empezar a preocuparse
de cada comando se halla escrito correctamente y que la puntuacin vaya en
lugares correctos-en otras palabras, utilizar la sintaxis correcta del lenguaje que se
ha escogido para la programacin.
Algunos programadores muy experimentados pueden combinar con xito el
planteamiento lgico y estructura real de las instrucciones, o codificacin del
programa, en un solo paso. Si los programas son muy simples, incluso algunas
personas con experiencia pueden saltarse varios pasos, yendo directamente a la
codificacin. Pero si el problema a resolver es ms complejo de lo que parece, la
codificacin de manera directa puede resultar muy difcil, sobre todo si la persona
que se dedica a la programacin no tiene experiencia. Recurriendo al ejemplo
anterior, esto significara subir y manejar un automvil, sin conocer la ruta a seguir.
En este momento, puede parecer que escribir el programa en un lenguaje de
programacin es una tarea muy difcil, teniendo en cuenta todas las reglas
gramaticales y escritura que se deben aprender. Sin embargo, el planteamiento es
realmente el paso ms difcil.
Compilar la aplicacin.
An qu hay muchos lenguajes de programacin, muchos entornos de
programacin, muchas aplicaciones dirigidas al desarrollo de aplicaciones para
Windows, las computadoras solamente conocen un lenguaje, su propio lenguaje
de mquina, que consta de ceros y unos. Las computadoras entienden este
lenguaje de mquina porque ellas mismas estn hechas de miles de
pequesimos interruptores elctricos, cada uno de los cuales puede estar en
estado de encendido o apagado, que se representan mediante un 1 y un 0
respectivamente. Es en este momento que el lenguaje de programacin o el
entorno de programacin entra a los rescate.
Los entornos de programacin convierten las aplicaciones que se han diseado en
una pantalla, en lo que las computadoras pueden entender. A este proceso se le

conoce como compilar. Los lenguajes de programacin estn escritos de manera


de que las personas que los utilizan entiendan fcilmente lo que est escrito en la
pantalla de la computadora. Casi todas las aplicaciones dirigidas a la
programacin poseen un elemento que convierten dichas instrucciones en el
lenguaje de la mquina. A este elemento se le conoce con el nombre compilador.
Es pues el trabajo del compilador el reunir todos los recursos necesarios para
ejecutar una aplicacin, as de todos los elementos que componen la aplicacin
que el programador ha desarrollado y convertirlos en el lenguaje de la mquina.
Es en este momento necesario discutir estos dos puntos: el lenguaje que el
humano entiende, y el lenguaje que la mquina entiende. Tanto los lenguajes de
programacin se dicen que se encuentran a un nivel superior a lenguaje que la
mquina entiende. El lenguaje que la mquina entiende se le conoce como
lenguaje de bajo nivel. Los diversos lenguajes de programacin se les reconoce
dependiendo de qu tan diferentes o mejor dicho, qu tanto se alejan del lenguaje
de bajo nivel. As pues tenemos lenguajes de programacin de nivel intermedio,
as como lenguajes de programacin de alto nivel. Al final de cuentas, no importa
qu tan alto sea el nivel del lenguaje de programacin, el compilador del lenguaje
se encargar de convertir dichas instrucciones en ceros y unos.
Probar la aplicacin
En todos los lenguajes de programacin, as como en el lenguaje humano, se
requieren de reglas para su escritura. Si la persona que desarrolla un programa
comete algn error al escribir en dicho lenguaje, se dice que se ha cometido un
error de sintaxis. Afortunadamente, muchos entornos de programacin le
proporcionan a las personas que desarrollan aplicaciones de herramientas
expresamente dirigidas a minimizar los errores de sintaxis.
Una vez libre de errores de sintaxis, no necesariamente se produce el resultado
correcto. Una aplicacin puede quedar ciclada (atoradas), puede fallar, o en el
mejor de los casos puede no producir el resultado deseado. Cuando sucede lo
anterior se dice que el programador cometi algn error de lgica. Estos errores
son ms difciles de encontrar y es por ello que es necesario revisar la lgica del
programa que se desarroll.
Poner la aplicacin en ejecucin
Una vez libre de errores tanto de sintaxis como de lgica, un usuario podr utilizar
esa aplicacin. Poner a trabajar una aplicacin puede significar: ejecutarla de una
vez, si se desarrollo para satisfacer la peticin de una tarea muy especfica; puede
ser una aplicacin que se use por mucho tiempo, si va ejecutar de manera regular;
si la aplicacin forma parte de un gran sistema que est siendo desarrollados, etc.
Quizs la gente que vaya a introducir los datos deba capacitarse previamente para
introducir los datos al formato de los programas que utilice la aplicacin, los
usuarios quizs deban entrenarse para comprender los datos de salida, los datos
existentes de la empresa quizs deban ser cambiados a un formato totalmente

nuevo que se acomoda se programa. Puede ocurrir tambin que existan maneras
ms eficientes para manejar la informacin, por lo que la aplicacin requiera de
mejoras. En resumidas cuentas, la conversin para utilizar una nueva aplicacin o
conjunto de programas puede a veces tardan meses cuando nos y llevarse a cabo
en una organizacin.
LA HISTORIA DEL DESARROLLO DE APLICACIONES DE WINDOWS.
Las interfaces grficas de usuario (GUI, por sus siglas en ingls) han
revolucionado el mundo informtico. Quiz ms importante a largo plazo es el
hecho de que las aplicaciones Windows tienen una interfaz de usuario consistente
y hasta cierto punto, mas agradable y fcil de utilizar. Esto conlleva a que los
usuarios de los ordenadores tienen ms tiempo para dominar una aplicacin, sin
tener que preocuparse de las teclas que deben pulsarse dentro de los mens y
cuadros de dilogo.
El xito que tuvieron el desarrollo y la utilizacin de aplicaciones orientadas a
Windows dejaron relegada la programacin orientada a DOS a aplicaciones
sencillas que no requeran de una interfaz grfica y a la enseanza de diversos
lenguajes de programacin, en entornos que no tampoco requeran de
capacidades grficas. Con el atrevimiento de Windows 95, la ventana de
desarrollo de DOS qued an ms relegada dentro del men de inicio de la barra
de Windows, ya no con su nombre original (DOS), sino como "Smbolo del
Sistema", dentro de los Accesorios del men de Programas del botn de Inicio.
Por otro lado, las compaas que producan compiladores para lenguajes de
programacin, comenzaron a darle preferencia al desarrollo de entornos para la
programacin en Windows. Esto a su vez tuvo como consecuencia de que dichas
empresas dejaran de mantener sus productos orientados al entorno de DOS. Con
el paso del tiempo, las herramientas y entornos de programacin orientadas a
DOS quedaron obsoletas. Ahora es posible conseguir tales productos de manera
gratuita, pero desafortunadamente las aplicaciones que se desarrollen con ellos ya
tienen un uso muy restringido o incluso no son compatibles con las nuevas
tecnologas de computacin.
Es obvio que la programacin orientada a Windows ofrece muchas ms ventajas,
tanto tecnolgicas, cientficas y comerciales. Pero todo esto tiene un precio; antes
de la existencia de aplicaciones tales como Visual Basic, Visual C o Delphi, el
desarrollo de aplicaciones para Windows era mucho ms complicado que
desarrollar aplicaciones para DOS. Los programadores tenan que preocuparse
ms de lo que estaba haciendo el ratn, de dnde estaba el usuario dentro de un
men y de si estaba realizando un clic o un doble clic en un punto determinado.
Desarrollar aplicaciones para Windows requera expertos programadores en C, e
incluso stos tenan problemas.
Con el uso comn de entornos para el desarrollo rpido de aplicaciones (RAD)
para Windows, se pueden desarrollar aplicaciones completas ms rpidamente.

Los errores de programacin no se generan tan frecuentemente y, si lo hacen, son


ms sencillos de corregir. Adems incluye dos conceptos importantes:
1. Un mtodo visual de creacin de aplicaciones, incluyendo formularios
(ventanas), controles y, componentes del formulario.
2. La habilidad de asociar cdigo directamente a cada evento de cada
elemento del diseo visual.
DESARROLLO DE APLICACIONES EN WINDOWS.
Windows 95/98/NT/Me/2000/XP han sido diseados para tomar las ventajas de las
nuevas tecnologas de hardware y software. Entre las innovaciones ms
importantes de la programacin con Windows se tienen:

API (Application Programming Interface) de 32 bit, para la manipulacin de


volmenes an ms grandes de informacin.
Un modelo de memoria sin muchas de las restricciones de versiones
anteriores de Windows, lo que significa que las cadenas ya no estn
limitadas a 65.535 caracteres, pudiendo alcanzar casi los 2 billones de
caracteres de longitud.
La capacidad de incrustar objetos OLE entre la inmensa mayora de
aplicaciones Windows 95 con solo arrastrar y soltar.
La adaptacin de los controles OLE (OCXs) para utilizarlos en cualquier
aplicacin.
La utilizacin de libreras de intercambio dinmico, mejor conocidas como
DLL, a su iniciacin en cualquier aplicacin y as reducir el esfuerzo de
desarrollo de nuevos programas.
Optimizacin del registro central para almacenar informacin de las
aplicaciones. Esto sustituye a los ficheros INI utilizados en Windows 3.x
para mantener informacin acerca del sistema y las aplicaciones.
Optimizacin de la implementacin de multimedia, incluyendo sonidos,
grficos y animaciones.
Introduccin de un nuevo modo de presentacin de las aplicaciones,
incluyendo la barra de tareas, controles de ficha y archivos de ayuda.

LA PROGRAMACIN VISUAL Y GUIADA POR EVENTOS.


Un programa realizado en DOS es un conjunto de sentencias que se ejecutan de
arriba a abajo ms o menos, en el orden que el programador ha diseado. Una
aplicacin en Windows presenta todas las opciones posibles en uno o ms
formularios para que el usuario elija entre ellas. Cada formulario puede contener
uno o ms objetos (mejor conocidos como controles), los cuales pueden realizar
una o ms acciones. Obviamente cada accin estar compuesta de un grupo de
sentencias. La secuencia en la que se ejecutarn las sentencias no puede ser
prevista por el programador. Esto da lugar a la Programacin Orientada a
Eventos. Para programar una aplicacin en Windows hay que escribir cdigo

separado para cada objeto en general, quedando la aplicacin dividida en


pequeos procedimientos, conducidos cada uno de ellos por un evento. Un evento
es una accin reconocida por un objeto (formulario o control) el suceso puede ser
causado por el usuario o, indirectamente por el cdigo. En una aplicacin, cada
formulario y cada control tienen predefinidos un conjunto de eventos. Cuando
ocurren estos eventos, la aplicacin invoca al procedimiento asociado con el
objeto para ese evento.
Para desarrollar una aplicacin orientada a Windows, los pasos que se seguirn
son los siguientes:

Definir de manera precisa el problema que se pretende resolver con la


aplicacin.
Crear la interfaz de usuario. Esto significa esto significa crear los
formularios que necesite la aplicacin, aadir los controles u objetos
necesarios para cada formulario.
Modificar las propiedades de cada objeto. Esto significa aadir ttulos, darle
formatos, modificar colores, modificar tamaos, estilos, artculos, opciones,
etc, para cada objeto.
Escribir el cdigo asociado a los eventos de cada objeto y sta es la parte
ms importante. Es mediante la combinacin del cdigo de los eventos, la
interaccin de los componentes u objetos en el formulario y las tareas
realizadas por todos los formularios con los cuales el problema se resuelve
o no.

EL PROCESO DE LOS EVENTOS


Conocer dicho anteriormente cada uno de los procesos de los eventos consiste en
una serie de instrucciones se reconocen con el nombre de programa. Dicho
programa es tan slo una porcin del total del cdigo necesario para crear una
aplicacin. Por ejemplo, supongamos que tenemos un formulario con control y
deseamos que se control realice una operacin. Se tienen que tener en cuenta
primero que informacin requerida de entrada: es un nmero? Son varios
nmeros? Ser una frase? No proporcionar el usuario el dato de manera libre?
Se requerir al usuario introduzcan informacin de un grupo de datos?, etc. Esta
informacin se le conoce como datos de entrada.
Seguidamente se requerir un proceso especfico para la manipulacin del
informacin que el usuario haya introducido al programa. Es aqu donde se debe
tener ya definida una lgica para resolucin del problema. Esto es lo que se
conoce como proceso.
Finalmente, ser necesario especificar si el programa muestra el resultado al
usuario, si no lo muestra, si el resultado ser utilizado por otro proceso en otro
evento, etc. A esto se le conoce como informacin de salida.

En trminos llanos, un proceso (o mejor dicho el proceso completo) comprender


que estas tres partes: datos de inicio, el proceso, y datos de salida.
Es en este punto donde los pasos que se propusieron para el proceso de
programacin son tambin vlidas, slo que esta vez estn especficamente
orientadas al proceso del evento. Puede que un control no requiera de proceso
alguno. Tambin es posible que algn control no requiera de datos de entrada. Lo
mismo ocurre en los casos donde control no necesite proporcionar datos de salida.
Sea cual sea el caso, la tarea que el control resolver de manera especfica
necesite de:
1. Entender la tarea a realizar por el proceso del evento
2. Plantear la lgica del proceso
3. Establecer las variables utilizadas por el proceso: de entrada, de salida,
internas del proceso, etc.
4. Codificar el proceso.
4. Compilar la aplicacin
5. Ejecutar el proceso.
Cada control, tenga o no cdigo asociado, requerir de haber sido analizados
siguiendo los pasos anteriormente descritos.
PROYECTOS
Una de las cualidades del desarrollo de aplicaciones es quizs en no se trabaja
con un solo elemento. La mayora de los entornos de programacin trabajan con
un grupo de archivos, mapas binarios, archivos de texto, archivos de cdigo,
archivos de recursos, descripcin de aplicacin, programas de proyectos, etc. Es
por sta razn que los entornos de programacin actuales trabajan en base a
proyectos. Un proyecto no es otra cosa que la aplicacin en s, organizada de tal
manera que el compilador agrupe toda la informacin para convertirla despus en
lenguaje de mquina y as utilizarse posteriormente por el sistema operativo de la
mquina. Cuando un proyecto incluye una cantidad diversa de archivos es posible
que exista confusin por parte de la persona que est desarrollando. Es
recomendable que cada proyecto resida en un directorio nicamente y
exclusivamente para ello.
Tmese por ejemplo un proyecto de Delphi, que genera un archivo ejecutable. Es
un proyecto vaco (todava no se le ha creado botones, controles o se le ha escrito
cdigo):
Project1.dpr
Project1.cfg
Project1.dof
Project1.res

este ser archivo principal del proyecto


en esta archivos se guarda toda la configuracin del proyecto
este ser archivo donde se guardan las definiciones de los
formularios
aqu se guardan todos los recursos necesarios para el proyecto
(mapas binarios, iconos, etc.)

Unit1.dcu
Unit1.dfm
Unit1.pas

est una unidad compilada de Delphi


este archivo es la representacin grfica del formulario
en esta archivos se guardan el cdigo asociado a todos los
controles del formulario que se ha creado, aunque no tenga ningn
control puesto en ese formulario

los archivos anteriores sirven para que Delphi produzca el siguiente archivo:
Project1.exe. Dicho archivo es el programa ejecutable. El compilador de Delphi
ley la informacin contenida en el archivo Project1.dpr, para generar dicho
ejecutable.
Aparentemente el trabajo con un proyecto ya sea de Delphi o de cualquier entorno
de programacin es bastante complicado, sin embargo el entorno de
programacin es el que se encarga de administrar todos estos archivos. Adems
Delphi crea varios archivos temporales en el directorio donde se localiza en dicho
proyecto. Esto reduce el esfuerzo de la persona que desarrolla una aplicacin,
pero no lo libera de tener cuidado con la administracin de los archivos y
directorios donde radican los proyectos. Si por algn error se borra alguno de los
archivos anteriores, la aplicacin probablemente no funcione. Esta aparente
complejidad no debe amedrentar al programador. Si se tiene cuidado con
administracin de los archivos y directorios en el disco rgido de la computadora,
no debe de haber ningn problema.
Las aplicaciones actuales no necesariamente estn compuestas por un proyecto
en particular. Un proyecto puede hacer uso de recursos de otros proyectos o
incluso, un proyecto puede estar compuesto de diversos proyectos o ser parte de
otro proyecto. Pero por el momento, las aplicaciones del curso estarn limitadas a
un solo proyecto, salvo se especifique lo contrario.
Formularios
Objetos
Prcticamente todos los elementos de los entornos visuales son objetos, que unas
veces se encuentran definidos de antemano (los formularios, los controles, objetos
no visuales, etc), y otras se definen en nuestra propia aplicacin.
Todo el desarrollo de aplicaciones visuales est ntimamente ligado con la
definicin y uso de objetos, por lo que es fundamental conocer la mecnica que el
lenguaje de programacin utiliza para describir un objeto, sus caractersticas y su
funcionamiento, sobre todo a la hora de que el programador cree sus propios
controles. En muchos casos no es necesario conocer el funcionamiento de la
programacin orientada a objetos para programar, puesto que en la mayora de los
casos existen controles ya creados sin necesidad de tener que programarlos. Por
ejemplo la mayora de los objetos forman parte de la VCL de Delphi y otros
controles ya han sido escritos por terceros, sin embargo puede ser til desarrollar
un control propio para mostrar por ejemplo, una tabla de valores que contenga

datos provenientes de una hoja de clculo o una base de datos.


La propia programacin visual de algunos entornos de desarrollo, hacen posible
utilizar objetos de forma prctica sin tener por qu comprender al cien por cien su
funcionamiento.
Controles
Un control es cualquiera de los elementos que podemos insertar en un formulario,
tanto si su funcin es visual como si no lo es (obviamente un control es tambin un
objeto). Un ejemplo de control puede ser uno exclusivamente para dibujar grficas.
Sin conocer exactamente el cmo realiza su funcin, el programador manipula una
serie de propiedades, mtodos y eventos que caracterizan al control, a travs de
los cuales se "maneja" el control en la forma deseada. Por supuesto el usuario
puede crear sus propios controles y usarlos en distintas aplicaciones, de forma
que la reusabilidad del cdigo es mxima. A los controles que cuentan con una
parte visual, como puede ser un botn, se les denomina controles.
Propiedades
Los controles en la mayora de los casos son de uso general, por lo que a la hora
de usarlos de alguna forma se deben de adecuar a las necesidades del programa.
Para ello se hace uso de las propiedades de cada objeto, mediante las cuales
podremos establecer el ttulo de una ventana, el tipo de letra de una etiqueta de
texto o el color en el que aparecen los distintos controles.
Se puede pensar en las propiedades como si fuesen variables pertenecientes a un
objeto (aunque no necesariamente es as), de tal forma que para acceder a ellas
generalmente habr que indicar no slo el nombre de la propiedad, sino tambin a
qu objeto pertenece.
La modificacin o consulta del valor de una propiedad puede diferir segn
intentemos acceder a ella mientras estamos diseando un formulario, en tiempo
de diseo, o bien mediante el cdigo del programa, en tiempo de ejecucin.
Ciertas propiedades estn slo accesibles en tiempo de ejecucin, por lo que
mientras estamos diseando la ficha no aparecern. Adems hay algunas
propiedades que son de slo lectura, por lo que su valor puede ser consultado,
pero no modificado, y otras que son slo de escritura.
Aunque a primera vista si se usa un control prefabricado, las propiedades pueden
parecer simples variables, en la mayora de las ocasiones una propiedad no es
una variable, y la modificacin o consulta de su valor puede conllevar que
internamente el componente ejecute un cierto cdigo. Si por ejemplo se tuviese un
control para comunicaciones serie que se encargase de enviar mensajes a un
ordenador remoto, se podra tal vez asignar una cadena de caracteres a una
hipottica propiedad "Envia". De esta forma, con una simple asignacin
(Envia:='Mensaje a mandar') se pondra en marcha todo el mecanismo implcito en

el componente para enviar el mensaje al ordenador remoto. Esta propiedad podra


ser un ejemplo de propiedad de slo escritura, ya que slo interesa mandar el
mensaje al ordenador remoto, sin conservar informacin acerca del mensaje, por
lo que sera inapropiada su lectura.
Eventos
Como se ha descrito anteriormente, la programacin en el entorno Windows se
caracteriza por estar dirigida por eventos, de tal forma que un programa no tiene
por qu ejecutarse necesariamente de forma secuencial, sino que ciertas
porciones de cdigo se ejecutarn cuando ocurra un cierto evento.
Los eventos son seales que el entorno recibe desde distintos elementos, como
puedan ser el ratn, el teclado o un temporizador. Estos eventos son redirigidos a
las aplicaciones, que en caso de aceptarlos debern responder adecuadamente
de ellos. Ciertos eventos pueden ser gestionados por el propio Windows, otros
quedarn a cargo del propio lenguaje que se est usando, y un tercer grupo sern
los que lleguen hasta el programa. En los entornos visuales, prcticamente todo el
cdigo que se escribe ir asociado a algn evento. Si se retoma el ejemplo del
componente para comunicaciones serie, podra interesar que se ejecutara un
evento cada vez que se recibiese un carcter por el puerto serie, de forma que
podramos escribir el cdigo necesario para guardar el carcter en un archivo cada
vez que se produjese el evento. Normalmente los eventos a los que reaccionarn
los componentes sern las pulsaciones del teclado o el ratn, activaciones de los
componentes, etc.
Mtodos
Los componentes visuales adems de disponer de propiedades y poder responder
a ciertos eventos, habitualmente tambin disponen de mtodos. Un mtodo es un
procedimiento o funcin que nos permite realizar una determinada accin en el
componente, pudiendo necesitar o no el paso de algn parmetro.
Al igual que ocurre en las propiedades, al momento de usar un cierto mtodo
normalmente se tiene que indicar primero el objeto o componente al que
pertenece, de tal forma que la accin del mtodo recaiga sobre l, y no sobre
cualquier otro. El hecho de que cada objeto sea propietario de una serie de
propiedades y mtodos, variables y cdigo, que no son accesibles a ningn otro
objeto externo, recibe el nombre de encapsulacin, aunque tambin es posible
definirlos de tal modo que sean accesibles a otros objetos.

Identificadores
Adems de variables, se utilizan identificadores para nombres de procedimientos, de funciones,
campos en registros, nombres de unidades, y ms. Los identificadores pueden mezclar letras
maysculas y minsculas e incluir nmeros y el carcter de guin bajo ( _ ), pero no pueden
contener espacios u otros caracteres especiales, tales como ! " # $ % & / ? , etc. Los
identificadores deben comenzar con un carcter. No hay una longitud mxima permisible para
stos, aunque se ignora todo lo que rebase los 255 caracteres. En realidad, de manera prctica,
todo lo que exceda unos 20 caracteres es demasiado largo para ser til. Los siguientes son
ejemplos de nombres de variables:
UnaVariableconNombreMuyLargo : integer;
{ un nombre largo de variable entera }
mi_variable

: integer;

{ una variable con guiones bajos }

: real;

{ nombre de variable real de un solo


carcter }

: real;

{ igual que el anterior }

Label2

: string;

{ un nombre de variable que contiene


una cadena de caracteres }

Los siguientes son ejemplos de cmo NO definir identificadores


MiFuncin SenoCuadrado { Tiene un espacio en blanco }
1_Intento

{ Comienza con un nmero }

Salario$

{ Contiene un carcter no vlido en el nombre }

A#o

{ Igual que el anterior }

3Mx Delta
Nota

{ Comienza
blanco }

con

nmeros

contiene

espacios

en

Aunque Object Pascal no es sensible al uso de maysculas, debe esforzarse para


utilizar las maysculas de manera consistente en sus programas. El uso apropiado de
las maysculas facilita la lectura del programa y le ahorrar ms de un dolor de cabeza
si alguna vez necesita portar su aplicacin a otros lenguajes de programacin ms
adelante (por ejemplo, portar un programa Deiphi a C++Builder).

Palabras Reservadas
A diferencia de los identificadores, las palabras reservadas son identificadores que representan
instrucciones, etiquetas, operadores, funciones o procedimientos propios del lenguaje. La siguiente
tabla muestra un pequeo conjunto de estas palabras reservadas:
ABSOLUTE

AND

ARRAY

ASM

ASSEMBLER

BEGIN

BOOLEAN

BYTE

CASE

CHAR

COMP

CONST

CONSTRUCTOR

DESTRUCTOR

DIV

DO

DOUBLE

DOWNTO

ELSE

END

EXPORT

EXPORTS

EXTENDED

EXTERNAL

FAR

FILE

FOR

FORWARD

FUNCTION

GOTO

IF

IMPLEMENTATION IN

INDEX

INHERITED

INLINE

INTEGER

INTERFACE

INTERRUPT

LABEL

LIBRARY

LONGINT

MOD

NAME

NEAR

NIL

NOT

OBJECT

OF

OR

PACKED

POINTER

PRIVATE

PROCEDURE

PROGRAM

PUBLIC

REAL

RECORD

REPEAT

RESIDENT

SET

SHL

SHORTINT

SHR

SINGLE

STRING

THEN

TO

TYPE

UNIT

UNTIL

USES

VAR

VIRTUAL

WHILE

WITH

WORD

XOR

Ninguna de estas palabras reservadas puede ser usada como identificador, ya que cada una
de ellas tiene predefinida su funcin.

Tipos de datos de Object Pascal


En Object Pascal, un tipo de datos define la forma en que el compilador almacena informacin en
la memoria. En algunos lenguajes de programacin, se puede asignar cualquier tipo de valor a una
variable. Por ejemplo, observe los siguientes ejemplos de cdigo Visual Basic:
X=

-1.0

' Real negativo

X=

-1

' Entero negativo

X=

1000

' Entero positivo

X=

3.14

' Real positivo

En BASIC, el intrprete se encarga de asignar suficiente espacio de almacenamiento para


ajustarse a cualquier tamao o tipo de nmero.

Declaracin de una variable


En Object Pascal debe declarar el tipo de variable antes de poder utilizarla:
var
X1

: Integer;

: Integer;

: Double;

: Byte;

... y ms adelante

X1 := -1;
X := 1000;
Y := 3.14;
Z := 27;
Esto le permite al compilador efectuar una verificacin de tipo y asegurarse de que las cosas estn
en orden al ejecutarse el programa. El uso inadecuado de un tipo de datos dar como resultado un
error o advertencia del compilador que puede analizarse y corregirse de modo que pueda prevenir
un problema antes de que empiece.
Algunos tipos de datos tienen signo y otros no. Un tipo de datos con signo puede contener
nmeros tanto positivos como negativos, mientras que un tipo de datos sin signo slo puede
contener nmeros positivos. La Tabla 1 muestra los tipos bsicos de datos en Object Pascal, la
cantidad de memoria que cada uno requiere y el rango de valores posible para cada tipo de datos.
Esta tabla no incluye los tipos de cadena, los cuales se exponen ms adelante, en la seccin
"Cadenas".
Tabla 1.- Tipos de Datos Empleados en Object Pascal (Programas de 32 Bits).
Tipo de datos

Tamao
en bytes

Rango posible de valores

ShortInt

-128 a 127

Byte

0 a 255

Char

0 a 255 (igual que Byte)

WideChar

0 a 65,535 (igual que Word)

SmallInt

-32,768 a 32,767

Word

0 a 65,535

LongInt

-2,147,483,648 a2,147,483,647

Int64

-9,223,372,036,854,775,808 a 9,223,372,036,854,775,807

Integer

Igual que LongInt

Cardinal

0 a 2,147,483,647

Single

1.5 X 10-45 a 3.4 X 1038

Double

5.0 X 10-324 a 1.7 X 10308

Real

5. 0 X l0-324 a 1.7 X 10308 (igual que Double)

Extended

10

3.4 x 10-4932 a 1.1 X 104932

Comp

-9,223,372,036,854,775,808 a 9,223,372,036,854,775,807

Currency

-922,337,203,685,477.5808 a 922,337,203,685,477.5807

Boolean

True or false

Variant

16

Vara

Al examinar la Tabla 1, podr notar que un tipo Integer es igual que uno LongInt. Entonces,
por qu Object Pascal tiene dos tipos de datos diferentes que son exactamente iguales? En
esencia es algo que se viene arrastrando de tiempos pasados. En el entorno de programacin de
16 bits, un tipo Integer requiere de 2 bytes de almacenamiento y un tipo LongInt requiere de 4
bytes.
Sin embargo, en el entorno de programacin de 32 bits, ambos requieren de 4 bytes de
almacenamiento y tienen el n-simo rango de valores. Delphi slo produce programas de 32 bits,
as que Integer y LongInt son idnticos. La mayora de los programadores emplean Integer
en vez de Longlnt.
Tal vez tambin haya notado que los tipos Int64 y Comp (computacional) tienen un rango de
valores idntico. La diferencia entre estos dos tipos est en la forma en que el compilador los trata
de manera interna. El tipo Int64 es un tipo entero, mientras que el tipo Comp es un tipo real. Es
probable que tenga pocos motivos para utilizar en sus programas el tipo Comp.
Note adems que los tipos de datos Real y Double son idnticos. En versiones anteriores de
Delphi, el tipo Real era una variable de 6 bytes. Ahora es una variable de 8 bytes. Este cambio se
hizo para hacer compatible el tipo de datos Real con los procesadores actuales. El tipo Real se
considera obsoleto y en sus aplicaciones Delphi usted debera utilizar Double en lugar de Real.

Nota

El tipo de datos Int64 es nuevo en Delphi. Hay muchas razones para la existencia de
un tipo de enteros de este tamao. Una de las ms importantes es la necesidad de un
valor entero que pueda contener los grandes valores que los discos duros actuales
requieren. Por ejemplo, Windows contiene una funcin llamada GetDiskFreeSpaceEX, la
cual puede devolver valores mayores a 2,147,483,647 (el valor mximo de un
Integer). Un tipo de datos entero de 64 bits era necesario por razones como sta.

Nota

Los tipos de datos Single, Double, Extended y Currency utilizan nmeros de


punto flotante (nmeros con posiciones decimales). Los dems tipos de datos slo
utilizan valores enteros. No es posible asignar un valor que contenga una fraccin
decimal a un tipo de datos entero. Por ejemplo, el siguiente cdigo generar un error
del compilador:
var
X : Integer;
Ms adelante ...
X := 3.75;
Realmente no necesita preocuparse mucho por esto, debido a que el compilador es
muy bueno al decirle qu puede hacer y qu no.

Conversin entre tipos de datos


Object Pascal realiza, cuando es posible, la conversin entre diferentes tipos de datos. Tome por
ejemplo el siguiente fragmento de cdigo:
var
Resultado

: SmallInt;

Num1

: Integer;

Num2

: Integer;

Ms adelante ...

Num1 := 200;
Num2 := 200;
Resultado := Numl * Num2;
En este caso se trata de asignar el resultado de multiplicar dos valores Integer a un SmallInt.
Aunque esta frmula mezcla dos tipos de datos, Object Pascal puede efectuar una conversin. Tal
vez se sorprenda al descubrir que el resultado es -25,536. Si observa la Tabla 1, ver que un
SmallInt puede tener un valor mximo de 32,767. Qu pasa si toma un tipo SmallInt con un

valor de 32,767 y se le suma 1? Obtendr un valor de -32,768. Esto es en esencia igual al contador
de kilmetros de un automvil que pasa de 99,999 a 00,000 al conducir ese ltimo kilmetro. Para
ilustrarlo, realice los siguientes pasos:
1.

Inicie con una nueva aplicacin y coloque una etiqueta y un botn sobre el
formulario.

2.

Haga doble clic en el botn para crear un controlador de evento para el evento
OnClick del botn.

3.

Modifique el cdigo del dicho evento para que luzca como ste:

procedure Tform1.Button1Click(Sender: TObject);

var
X

: SmallInt;

begin
X := 32767;
X := X + 1;
Label1.Caption := IntToStr(X);
end;

4.

Ejecute el programa y haga clic en el botn.

Al hacer clic en el botn debe ver que la etiqueta cambia a -32768 (en caso de que se lo est
preguntando, la funcin IntToStr traduce un valor entero a una cadena de caracteres). Este
ejercicio ilustra que 32767 ms 1 es igual a -32768.

En realidad este ejemplo ilustra lo que se conoce corno desbordamiento o efecto circular. Debe
tener presentes los valores mximos posibles que pueden contener sus variables y elegir el tipo de
datos que sea lo suficientemente grande para garantizar que la variable contendr el valor sin
desbordamiento. En general no se equivocar demasiado si usa el tipo Integer como su tipo de
datos de eleccin. No es probable que tenga problemas de desbordamiento ya que el tipo de datos
Integer le ofrece un rango aproximado de -2 mil millones a +2 mil millones.

En ciertos casos, Object Pascal no puede realizar una conversin. Si es se el caso, obtendr
un error del compilador que dir algo como "Incompatible types: 'Integer' and 'Real' ".

Este error le indica que est tratando de asignar un valor que no puede almacenarse en un
tipo de datos en particular. Otro error del compilador que podra ver tiene que ver con lo
que se denomina verificacin de rango. Por ejemplo, tome este cdigo:
var
X
: Byte;
begin
X := 1000;
end;
Este cdigo generar un error del compilador que dice "Constant expression violates
subrange bounds" . El compilador le indica que est tratando de asignar un valor de 1000 a
la variable X, ya que X est declarada como de tipo Byte y un byte slo puede contener
valores de 0 a 255.
Nota

Aprenda a observar los mensajes, sugerencias y advertencias del compilador cuando


ocurran errores. Cuando ocurren errores o se emiten advertencias, el compilador trata
de decirle que algo no est bien en su cdigo, y necesita hacer algo respecto a esas
advertencias. En ltima instancia, debe esforzarse por tener compilaciones libres de
advertencias. En algunos casos raros no es posible evitar una advertencia, pero
asegrese de examinar con detenimiento todas las advertencias. Haga su mejor
esfuerzo por entender la razn de la advertencia y de ser posible corrjala.

Las unidades de Pascal

Programar es algo ms que slo introducir cdigo. Es, en ltima instancia, la combinacin de
conceptuar una tarea de programacin y despus escribir el cdigo para llevarla a cabo. El cdigo
que usted escribe simplemente va a un archivo de texto. El compilador toma ese archivo y lo
compila en cdigo de mquina que la computadora puede entender. El archivo de texto que Delphi
compila en cdigo de mquina se denomina unidad.
Una unidad es un archivo de texto que puede compilarse a un mdulo de cdigo.

Tipos de unidades
Una aplicacin GUI (Interfaz Grfica de Usuario, por sus siglas en ingls) de Delphi contendr por
lo menos dos unidades. La unidad fuente del proyecto contiene el cdigo fuente del mismo. Estas
unidades tienen la extensin DPR. Puede ver la unidad fuente del proyecto seleccionando Project |
View | Source. Normalmente no es necesario modificar la unidad fuente del proyecto. De hecho, no
debe modificarla a menos de que sepa exactamente lo que est haciendo. Si la modifica en forma
accidental, podra descubrir que su aplicacin ya no compila. (Ciertas tcnicas de programacin
avanzada requieren modificaciones al cdigo fuente del proyecto, pero eso es algo de lo que no
tiene que preocuparse por el momento.)
El segundo tipo de unidad que siempre tiene una aplicacin GUI de Delphi es la unidad del
formulario principal. Una unidad de formulario, como su nombre implica, es una unidad de cdigo
fuente con un formulario asociado. Este tipo de unidad tiene una extensin de nombre de archivo
PAS. ste es el tipo de unidad que usar con ms frecuencia en sus programas Delphi. Una
aplicacin GUI de Delphi siempre tendr una unidad de formulario (para el formulario principal),
pero tambin puede tener una o ms unidades de formulario adicionales. Por ejemplo, una
aplicacin que despliega un cuadro About (Acerca de), tendr la unidad del formulario principal y
una unidad para el cuadro About.

Nota

Habr notado que se sigue diciendo "aplicacin GUI de Delphi'. Esto se debe a que se quiere distinguir entre
una aplicacin GUI y una aplicacin de consola. Una aplicacin de modo consola es una aplicacin de
Windows de 32 bits que se ejecuta en una ventana de consola (cuadro de DOS). Una aplicacin de consola
no tiene formulario principal y podra o no contener otros formularios. Sin embargo, una aplicacin de consola
s tiene una o ms unidades.

Hay un tercer tipo de unidad que puede emplear en aplicaciones Delphi. sta es una unidad que
slo contiene cdigo fuente. Una unidad de slo cdigo contiene cdigo que se llama desde otras
unidades en el proyecto.

Anatoma de una unidad de Delphi


Las unidades de Delphi deben seguir un formato predefinido. Esto no debe sorprenderle. La unidad
tiene que estar en un formato predefinido a fin de que el compilador pueda leerla y compilar el
cdigo de la misma.
Una unidad de proyecto Delphi contiene la palabra clave program, seguida por el nombre de la
unidad y un bloque de cdigo marcado por las palabras clave begin y end. Puede ver cmo luce
una unidad bsica seleccionando Project | View Source. La unidad fuente de proyecto para un
proyecto Delphi predeterminado luce como en el Listado 1.

Nota

Los nmeros de lnea del Listado 1 no forman parte de la unidad en s. Se pusieron


slo para referencia. Algunos de los listados que ver en estos apuntes tendrn
nmeros de lnea para referencia y otros no. Como sea, tenga en cuenta que el
lenguaje Pascal no utiliza nmeros de lnea como hacen otros lenguajes (el ms
notable, BASIC estndar).

Listado 1.- El cdigo fuente para un proyecto Delphi predeterminado


01: program MiPrimerAp;
02:
03: Uses
04:

Forms,

05:

Primero in 'Primero.pas' {Form1};

06:
07: {$R *.RES}
08:
09: begin
10:

Application.Initialize;

11:

Application.CreateForm(TForm1, Form1);

12:

Application.Run;

13: end.

En la lnea 1 la palabra clave program identifica a esta unidad como la unidad fuente principal del
programa. Puede ver que el nombre de la unidad, MiPrimerAp, sigue a la palabra clave program
(Delphi asigna al proyecto un nombre predeterminado hasta que usted guarde el proyecto con un
nombre ms significativo). A partir de la lnea 3 se ve una seccin identificada por la palabra clave
uses. Todo nombre de unidad que siga a esta palabra clave, hasta el punto y coma, son unidades
que dicha unidad requiere a fin de compilar. La palabra clave uses se describe con ms detalle un
poco ms adelante en la seccin "La lista uses".
En la lnea 7 se ve una directiva de compilador que le indica a Delphi que incluya el archivo de
recursos de este proyecto ({$R *.RES}).
La lnea 9 contiene la palabra clave begin, y la lnea 13 la palabra clave end. Note que la palabra
clave end en la unidad est seguida de un punto. (Una unidad puede tener muchos bloques de
cdigo delimitados con begin y end, pero slo una instruccin end final.) El cdigo de las lneas
10, 11 y 12 es el que inicializa la aplicacin, crea el formulario principal de la aplicacin e inicia la
ejecucin de sta. Para escribir programas en Delphi no es necesario que se preocupe por los
detalles de este cdigo.

Nota

Las palabras clave begin y end marcan un bloque de cdigo. Un bloque de cdigo
puede contener slo unas cuantas lneas, o puede contener cientos o incluso miles de
lneas de cdigo.

Veamos otra unidad bsica de Pascal. Elija File | New. Cuando aparezca el cuadro de dilogo New
Items, localice el icono con el nombre unit y haga doble clic en l. Delphi crear una nueva
unidad y la desplegar en el editor de cdigo. El Listado 2 muestra el cdigo generado para esta
unidad.

Listado 2.- Una unidad Pascal vaca


01:

Unit Unit2;

02:
03:

Interface

04:
05:

Implementation

06:
07:

end.

Esta unidad tiene dos cosas en comn con la unidad mostrada en el Listado 1. Primero, sta
comienza con la palabra clave unit seguida por el nombre de unidad Unit2 (un nombre
predeterminado creado por Delphi). Aunque el cdigo del Listado 1 comienza con la palabra clave
program y que el cdigo anterior inicia con la palabra clave unit, hay algunos elementos en
comn: una unidad Pascal comienza con una de estas dos palabras seguidas del nombre de la
unidad, y al final de ambos listados aparece la palabra clave end. Aqu, otra vez, la palabra clave
end est seguida de un punto para sealar el final de la unidad.
El cdigo del Listado 2 difiere del cdigo del Listado 1 en que tiene secciones marcadas como
interface e implementation. Una unidad que no es la unidad fuente principal del programa
debe contener una seccin interface y una implementation. Estas dos Palabras clave se
describirn con ms detalle en las secciones tituladas "La seccin interface" y "La seccin
implementation", respectivamente. El Listado 2 tambin difiere del Listado 1 en que no hay
instruccin begin. La unidad principal de un programa debe tener tanto las instrucciones begin
como end, pero una unidad fuente slo debe contener una instruccin end final.
Las siguientes secciones describen palabras clave que se emplean dentro de una unidad Pascal.

La lista uses
La lista uses es una lista de unidades externas a las que hace referencia esta unidad.

Observe el Listado 1. Note la palabra clave uses en la lnea 3. sta indica el inicio de una seccin
que contendr una lista de otras unidades de las que depende esta unidad. Por ejemplo, la lnea 11
del Listado 1 se ve como sigue:
Application.CreateForm(TForm1, Form1);
Esta lnea de cdigo contiene informacin que se localiza en otras unidades y no puede
encontrarse en esta unidad. El procedimiento identificado por Application.CreateForm se
ubica en una unidad de Delphi de nombre Forms.pas, y los identificadores Tform1 y Form1 se
localizan en la unidad del formulario principal del proyecto, la cual se llama Primero.pas. La lista
uses le indica a Delphi dnde buscar informacin adicional que requerir para compilar esta
unidad. Aqu tenemos otra visin de la lista uses:
uses
Forms,
Primero in 'Primero.pas' {Form1};
Note que la lista uses contiene dos nombres de unidades, Forms y Primero. En cierto modo ste
no es un buen ejemplo de una lista uses ya que la segunda unidad listada contiene texto adicional
que por lo regular no se encuentra en una lista uses (Primero in 'Primero.pas' {Form1}).
Este texto se emplea para especificar un formulario que est contenido en una unidad y que slo
ser utilizado por la unidad fuente principal del proyecto. (El texto entre llaves es un comentario
utilizado como referencia y no tiene relacin con el resto del cdigo. Los comentarios se discuten
ms adelante en la seccin "Comentarios en el cdigo").
Hay dos reglas que necesita tener presentes al construir la lista uses:
Primera, cada unidad de la lista debe estar separada de la siguiente por medio de una coma.
Segunda, despus de la ltima unidad listada debe seguir un punto y coma. El punto y coma
seala el final de la lista uses.
Naturalmente, la lista debe contener nombres de unidad vlidos. Entonces, la lista uses est
indicada por la palabra clave uses y termina con un punto y coma. Fuera de eso, no importa cmo
est organizada dicha lista. Por ejemplo, por lo que toca al compilador, las siguientes dos listas
uses son idnticas:
uses
Windows, Messages, SysUtils, Classes, Graphcs, Controls, Forms, Dialogs,
StdCtrls;
uses
Windows,
Messages,
sysutils,

Classes,
Graphics,
Controls,
Forms,
Dialogs,
StdCtrls;
Una unidad puede tener cualquier nmero de listas uses. No es necesario que todas las unidades
que esta unidad necesite estn en una sola lista uses.
Nota

En ciertos casos, Delphi agregar por usted unidades a su lista uses. Esto se hace a
travs del elemento de men File | Use Unit.

La seccin interface
Observe de nuevo el Listado 2. Note que tiene una seccin marcada con la palabra clave
interface. Esta palabra clave marca el inicio de la seccin de interfaz de la unidad.
La seccin interface es la seccin de una unidad en la que se declaran los identificadores
exportados desde esta unidad. Un identificador exportado es aqul que puede ser accedido por
otras unidades del proyecto.
La mayora de las unidades contendrn cdigo que otras unidades utilizan. El cdigo podra
implementarse como una clase, un procedimiento, una funcin o una variable de datos. Todos los
objetos que estn disponibles para otras unidades desde esta unidad deben declararse en la
seccin interface. Podra decirse que la seccin interface contiene una lista de elementos
que otras unidades pueden utilizar. La seccin interface inicia con la palabra clave interface
y termina en la palabra clave implementation.

La seccin implementation
La seccin implementation de una unidad es aqulla que contiene el cdigo real de la unidad.
La seccin implementation inicia con la palabra clave implementation y termina con la
siguiente palabra clave de la unidad. Por lo regular esta palabra clave es el end final de la unidad,
pero podra ser la palabra clave initialization en las unidades que tienen una seccin de
inicializacin. Por el momento es difcil decir algo ms, ya que hay otros aspectos de Pascal que se
necesita exponer antes de acabar todo esto. Sin embargo, se dar un ejemplo que ilustrar el uso
de las secciones interface e implementation.
Supngase que se crea una unidad que tiene un procedimiento denominado HaceAlgo.
Supngase adems que usted desea que HaceAlgo est disponible para otras unidades de su

proyecto. En ese caso declarara el procedimiento HaceAlgo en la seccin interface y despus


lo definira en la seccin implementation. La unidad completa lucira como la del Listado 3.
Listado 3.- Una unidad con una funcin pblica.
unit Unit2;

Interface
procedure HaceAlgo;

Implementation

procedure HaceAlgo;
begin
...
{Aqu va el cdigo de HaceAlgo. }
...
end;

end.
Note que el procedimiento HaceAlgo se declar en la seccin interface y se defini ms
adelante en la seccin implementation. Aqu se est adelantando un poco. Las funciones y
procedimientos se expondrn en otra seccin y ser entonces cuando se abord en detalle las
declaraciones y definiciones.

Las secciones initialization y finalization


Las secciones initialization y finalization se pueden emplear para realizar cualquier
cdigo de inicio y de limpieza que requiera una unidad. Todo cdigo en la seccin
initialization se ejecutar al cargar en memoria a la unidad. A la inversa, todo cdigo
en la seccin finalization se ejecutar justo antes de que se descargue de la memoria a la
unidad. Puede tener slo una seccin initialization, pero no puede tener una seccin
finalization sin una initialization. Ambas secciones son opcionales.
Palabras clave adicionales utilizadas en las unidades
Una unidad Pascal puede contener otras palabras clave opcionales que marcan secciones que se
separan con un fin en particular. Algunas de ellas tienen usos mltiples. Las siguientes secciones
describen dichas palabras clave slo cuando se utilizan en unidades.

La palabra clave const

Una unidad puede contener de manera opcional una o ms secciones const. La seccin const
se designa con la palabra clave const. Dicha seccin describe una lista de variables que se
conocen como constantes.
Una constante es un identificador que no cambia. Por ejemplo, digamos que tiene ciertos valores
que su programa utiliza una y otra vez. Puede asignar variables constantes para dichos valores.
Para ilustrarlo, agreguemos una seccin const al programa del Listado 3. Agregar una seccin
const para las constantes que son pblicas (disponibles para otras unidades) y otra seccin
const para las constantes que slo estn disponibles para esta unidad. El Listado 4 muestra la
unidad con las dos secciones const incorporadas.
Listado 4.- La unidad con secciones const incorporadas.
unit Unit2;

Interface

const
AppCaption = 'Mi Primer Programa v. 1.0';

procedure HaceAlgo;

Implementation

procedure HaceAlgo;

const
BaseX = 20;
BaseY = 200;

begin
...
{Aqu va el cdigo de HaceAlgo. }
...
end;

end.

Debido a que la constante AppCaption est declarada en la seccin interface, se puede


utilizar en cualquier parte de la unidad y en cualquier unidad que sta tenga en su lista uses. Sin
embargo, las constantes BaseX y BaseY slo estn disponibles dentro de esta unidad ya que
estn declaradas en la seccin implementation.

La palabra clave type


La palabra clave type se utiliza para declarar nuevos tipos de datos que su programa utilizar.

Declarar un nuevo tipo de datos es una tcnica esotrica de programacin que es difcil explicar en
esta etapa, de modo que tal vez un ejemplo ayude. Suponga que su aplicacin necesita de un
arreglo (un conjunto de valores) de 20 elementos de tipo byte y que este tipo de arreglo se utilizar
una y otra vez. Puede declarar un nuevo tipo como sigue:
type
TipoMiArray = array [0..19] of Byte;

Ahora puede utilizar el identificador TipoMiArray en vez de escribir array [0..19] of Byte cada vez
que desee un arreglo de 20 bytes.

La palabra clave var


La palabra clave var se utiliza para declarar una seccin de cdigo en la cual se declaran
variables. La palabra clave var se emplea para declarar variables (las variables se exponen en
detalle en la seccin titulada "Variables"). Hay varios lugares en los que puede declarar una
seccin var. Puede tener una seccin var a nivel de la unidad, puede tener una para un
procedimiento o funcin, o ambos. Incluso puede tener varias secciones var en una unidad. El
listado 1.5 muestra la unidad de ejemplo con las secciones type y var incorporadas.

Listado 5.- La unidad con las secciones type y var incorporadas.


unit Unit2;

Interface

type
MiArray = array [0..19] of Byte;

const
AppCaption = 'Mi Primer Programa v. 1.0';

var
X : Integer;
MiArray, MiOtroArray : TipoMiArray;

procedure HaceAlgo;

Implementation

procedure HaceAlgo;

const
BaseX = 20;
BaseY = 200;

begin
...
{Aqu va el cdigo de HaceAlgo. }
...
end;

end.

Al igual que con la palabra clave const, var tiene ms de un uso. Tambin se emplea para
declarar parmetros de funciones y procedimientos como parmetros de variables.
Nota

Las secciones descritas por las palabras clave var, const y type comienzan en la
palabra clave y terminan en la siguiente palabra clave de la unidad.

Comentarios en el cdigo
Antes de entrar en el detalle del lenguaje Pascal, se hablar brevemente acerca de los
comentarios del cdigo. Los comentarios son lneas de texto en su cdigo fuente que estn ah
con fines de documentacin y que son ignoradas por el compilador. Los comentarios se pueden
emplear para describir lo que hace el cdigo, suministrar informacin de derechos de autor, o
simplemente para realizar anotaciones para usted u otros programadores.

Los comentarios pueden indicarse hasta en tres formas diferentes. Las siguientes son lneas
vlidas de comentarios:
(* No olvidar liberar
esta memoria! *)

{ ADTAPI.PAS 2.50
Copyright (c) TurboPower Software 1996-98
Jorge necesita corregir esta seccin de cdigo }

// Este cdigo es realmente bueno


// Este cdigo necesita depurarse ms adelante

Probablemente el tipo ms comn de comentario utilizado en Delphi utilice llaves, como se ilustra
en el segundo caso. Para iniciar el comentario se emplea una llave de apertura y para terminarlo
una llave de cierre { / }. Otro tipo de comentario utiliza (* para iniciarlo y *) para concluirlo.
Existe una diferencia entre los comentarios indicados en esta forma y el empleo de llaves: los
comentarios del par (* / *) pueden emplearse para comentar grandes secciones de cdigo que
contengan otras lneas de comentarios. Estos dos tipos de comentarios pueden utilizarse para
comentar una o varias lneas de cdigo.
Nota

En Pascal, las llaves tienen otro uso. Cuando se emplean junto con un signo de
moneda ($), significan una directiva del compilador. Para indicarle al compilador que
no genere sugerencias de compilacin, puede colocar una lnea como sta en su
cdigo fuente:
{$HINTS OFF}
Cuando el compilador ve esta lnea, deja de generar sugerencias en esta unidad hasta
que encuentre una directiva {$HINTS ON} correspondiente.

El tercer tipo de comentario se indica mediante dos diagonales. Con frecuencia se le llama el estilo
C de comentarios, ya que se utiliza en C y C++. Este tipo slo puede utilizarse para lneas
individuales de cdigo. Debe tener presente que este tipo de comentario no es vlido en todas las
versiones de Delphi o Pascal. Si est escribiendo cdigo que podra utilizarse en Delphi 1 as como
en versiones posteriores, debe asegurarse de no emplear este tipo de comentarios.
Nota

Para el cdigo de produccin (cdigo que otros vern), se utiliza el estilo de llaves. Se
emplea el tipo de comentario de doble diagonal para comentar rpidamente una lnea o
dos con fines de prueba, pero slo como una medida temporal. Rara vez se utiliza el
estilo de comentarios (* / *).

El compilador ignora todo texto comentado. Si utiliza la configuracin predeterminada del IDE de
Delphi, todas las lneas de comentarios se mostrarn en texto en cursivas. Esto facilita identificar
las lneas de comentarios.
Nota

Variables

Si trabaja en un entorno de programacin en equipo, tal vez tenga que leer el cdigo
de sus colaboradores y viceversa. Los comentarios concisos en el cdigo pueden
ahorrarle horas a cualquier programador que tenga que leer y dar mantenimiento al
cdigo de otro programador. Incluso si trabaja en un entorno de un solo programador,
comentar su cdigo es una buena idea. Se sorprendera de saber con que rapidez
olvida lo que se supone que hace el cdigo que escribi. Los buenos comentarios de
cdigo pueden ahorrarle a usted y a sus colaboradores mucho tiempo, as que no se
olvide de documentar su cdigo!

Las variables tienen que declararse antes de que puedan ser utilizadas. Una variable se
declara, como antes se describi, en una seccin especial de cdigo indicada con la palabra clave
var, por ejemplo,
var
X : Integer;

{ variable X declarada como una variable


entera }

Y : Integer;

{ variable Y declarada como una variable


entera }

Antes se expuso a la palabra clave var en trminos de una unidad de Pascal. Se dijo que las
variables utilizadas en la unidad se declaran en la seccin var de la misma. Esto es cierto, pero
tambin puede tener una seccin var en una funcin o procedimiento. Esto le permite declarar
variables en funciones y procedimientos, as como en unidades. El siguiente es un ejemplo de una
seccin var en un procedimiento:
procedure TNRMain.EjecutaClick(Sender: TObject);

var
Xn_1,
Xn,
Precision
I

deltaX, : real;
: integer;

begin
...
{ Aqu va ms cdigo }
...
end;

end.

Despus de declarar una variable, puede utilizarla para manipular datos en la memoria. Quizs
esto no tenga mucho sentido para usted, as que se darn algunos ejemplos. Los siguientes
fragmentos de cdigo emplean las variables de nombre X y Y antes declaradas. Al final de cada
lnea de cdigo hay un comentario que describe lo que sucede cuando se ejecuta la lnea:
X

:=

100;

{ 'X' ahora contiene el valor 100 }

:=

X + 50;

{ 'X' ahora contiene el valor 150 }

:=

150;

{ 'Y' ahora contiene el valor 150 }

:=

X + Y;

{ 'X' ahora contiene el valor 300 }

Una variable es una ubicacin que se aparta en la memoria de la computadora para contener
algn valor.

Note varias cosas respecto a este cdigo. Primero, note que el valor de X cambia al manipularse la
variable. (Un poco ms adelante se expondrn los operadores, funciones y procedimientos de
Object Pascal que se emplean para manipular variables). Puede ver que se asignan valores a las
variables, se suman, se incrementan, etctera.

Note adems que cada instruccin en este segmento de cdigo termina con un punto y coma ( ; ).
El punto y coma se usa al final de toda instruccin de un programa Pascal.
Nota

Muy pronto en el proceso de aprendizaje del lenguaje Pascal, el programador debe


aprender la diferencia entre una expresin y una instruccin. La definicin oficial de
instruccin es una expresin seguida de un punto y coma. Una expresin es una
unidad de cdigo que se evala a una cierta cantidad.

Si esto produce confusin, considere la siguiente instruccin:

c := a + b;

En este ejemplo la porcin a la derecha del operador de asignacin, a + b, es una expresin. La


lnea completa es una instruccin. Podra decirse que una expresin es un subconjunto de una
instruccin. Una sola instruccin puede estar conformada por varias expresiones. Los nombres de
variables siguen las reglas descritas para los identificadores.

Constantes
Como se expuso con anterioridad, una constante es un identificador asignado a un valor que no
cambia. Los trminos "variable" y "constante" no se eligieron al azar. El programador puede
modificar un valor de variable; un valor de constante no puede cambiarse. Las constantes se
declaran utilizando la palabra clave const. Para declarar una constante, simplemente liste el
nombre de la constante y su valor, por ejemplo:
const

AnchoporDefecto = 400;
AltoporDefecto = 200;
Descripcion = ' Mensaje del programador.';
Note que al declarar una constante, se utiliza el signo de igual y no el operador de asignacin ( :=).
Note adems que no se especifica un tipo de datos. El compilador determina el tipo de datos de la
constante con base en el valor que se le est asignando. Las constantes pueden emplearse en su
cdigo en donde normalmente tendra un valor literal.
El uso sensato de constantes facilita la modificacin posterior del comportamiento de un programa,
en caso necesario. Para modificar el comportamiento de un programa, slo es necesario cambiar el
valor de una o ms constantes en la parte superior de la unidad, en vez de rastrear a lo largo de la
unidad todas las ocurrencias del valor y cambiarlas por otro.

Operadores de Object Pascal


Los operadores se utilizan para manipular datos. Los operadores realizan clculos, verifican la
igualdad, hacen asignaciones, manipulan variables y realizan otras labores ms esotricas que la
inayora de los programadores nunca emplea. Hay muchos operadores en Object Pascal. En vez
de presentarlos todos aqu, slo listar los de uso ms comn. La Tabla 2 contiene una lista de
ellos.

Tabla 2.- Operadores de uso comn en Object Pascal.


Operador

Descripcin

Ejemplo

Operadores matemticos
+

Suma

x := y + z;

Resta

x := y - z;

Multiplicacin

x := y * z;

Divisin de nmero real

x := y / 3.14;

div

Divisin entera

x := y div 10;

Operadores de asignacin
:=

Asignacin

x := 10;

Operadores lgicos
and

AND Lgico

if (x = 1) and (y = 2) then

or

OR Lgico

if (x = 1) or (y = 2) then

Operadores de igualdad

Igual a

if (x = 10) then

<>

Diferente de

if (x <> 10) then

<

Menor que

if (x < 10) then

>

Mayor que

if (x > 10) then

<=

Menor que o igual a

if (x <= 10) then ...

>=

Mayor que o igual a

if (x >= 10) then ...

Operadores unarios
^

Operador de apuntador

MiObjeto.Data^;

Direccin de operador

ptr := @MiRegistro;

and

AND a nivel de bits

x := x and $02;

or

OR a nivel de bits

x := x or $FF;

not

NOT a nivel de bits

x := x and not $02;

not

NOT lgico

if not Valido then ...

Operadores diversos
$

Operador de valor hexadecimal

X :=$FF;

[ ]

Operador de subndice de arreglo

X := MiArray[51];

Operador de membresa (punto)

X := Record.Data;

Como puede ver, la lista de operadores es un tanto abrumadora. No se preocupe por tratar de
memorizar cada uno. Al trabajar con Object Pascal, aprender en forma gradual cmo emplear
todos los operadores. Algunos, si acaso, se utilizan rara vez y otros los utilizar todo el tiempo.
Notar que las palabras clave and, or y not se emplean en dos contextos: lgico y a nivel de bits.
Por ejemplo, la palabra clave and puede usarse para especificar una operacin de AND lgico o
una operacin de AND a nivel de bits. Observe este cdigo:
if (Bandera = True) and (X > 20) then Z := X;
En este ejemplo la palabra clave and se est usando en dos contextos completamente diferentes.
Sin duda en un principio puede resultar confuso. Descanse seguro de que el compilador sabe
cmo se est empleando la palabra clave y har lo correcto. Estamos viendo material avanzado
muy temprano en el libro, as que no se preocupe si esto no tiene mucho sentido para usted ahora.
Es casi seguro que ms adelante tenga ms sentido del que ahora tiene.
Al avanzar en el libro ver muchos ejemplos de estos operadores. En vez de tratar de memorizar la
funcin de cada operador, trate de aprender a travs del estudio minucioso de los programas de
muestra y fragmentos de cdigo.

Algunas funciones de OBJECT PASCAL


Abs

Returns the absolute value of the argument.

Addr

Returns the address of a specified object.

ArcTan

Returns the arctangent of the argument.

Chr

Returns a character with a specified ordinal number.

Concat

Concatenates a sequence of strings.

Copy

Returns a substring of a string.

Cos

Returns the cosine of the argument (x is an angle, in radians).

CSeg

Returns the current value of the CS register.

DSeg

Returns the current value of the DS register.

Eof

Returns the end-of-file status.

Eoln

Returns the end-of-line status of a text file.

Exp

Returns the exponential of the argument.

FilePos

Returns the current file position of a file.

FileSize

Returns the current size of a file.

Frac

Returns the fractional part of the argument.

Hi

Returns the high-order byte of the argument.

Int

Returns the Integer part of the argument.

IOResult

Returns the status of the last I/O operation performed.

Length

Returns the dynamic length of a string.

Ln

Returns the natural logarithm of the argument.

Lo

Returns the low-order Byte of the argument.

MaxAvail

Returns the size of the largest contiguous free block in the heap.

MemAvail

Returns the amount of all free memory in the heap.

Odd

Tests if the argument is an odd number.

Ofs

Returns the offset of a specified object.

Ord

Returns the ordinal number of an ordinal-type value.

ParamCount

Returns the number of parameters passed to the program on the command line.

ParamStr

Returns a specified command-line parameter.

Pi

Returns the value of Pi.

Pos

Searches for a substring in a string.

Pred

Returns the predecessor of the argument.

Ptr

Converts a segment base and an offset address to a pointer-type value.

Random

Returns a random number.

Round

Rounds a real-type value to an Integer-type value.

SeekEof

Returns the end-of-file status of a file.

SeekEoln

Returns the end-of-line status of a file.

Seg

Returns the segment of a specified object.

Sin

Returns the sine of the argument.

SizeOf

Returns the number of bytes occupied by the argument.

SPtr

Retruns the current value of the SP register.

Sqr

Returns the square of the argument.

Sqrt

Returns the square root of the argument.

SSeg

Returns the current value of the SS register.

Succ

Returns the successor of the argument.

Swap

Swaps the high- and low-order bytes of the argument.

Trunc

Truncates a real-type value to an Integer-type value.

UpCase

Converts a character to uppercase.

Procedimientos Pascal
Append

Opens an existing file for appending.

Assign

Assigns the name of an external file to a file variable.

BlockRead

Reads one or more records into a variable.

BlockWrite

Writes one or more records from a variable.

ChDir

Changes the current directory.

Close

Closes an open file.

Dec

Decrements a variable.

Delete

Deletes a substring from a string.

Dispose

Disposes a dynamic variable.

Erase

Erases an external file.

Exit

Exits immediately from the current block.

FillChar

Fills a specified number (count) of contiguous bytes with a specified value (can be
type Byte or Char).

Flush

Flushes the buffer of a text file open for output.

FreeMem

Disposes a dynamic variable of a given size.

GetDir

Returns the current directory of specified drive.

GetMem

Creates a dynamic variableof the specified size and puts the address of the block in a
pointer variable.

Halt

Stops program execution and returns to the operating system.

Inc

Increments a variable.

Insert

Inserts a substring into a string.

MkDir

Creates a subdirectory.

Move

Copies bytes from source to dest.

New

Creates a new dynamic variable and sets a pointer variable to point to it.

Randomize

Initializes the built-in random number generator with a random value (obtained from
the system clock).

Read

For typed files, reads a file component into a variable. For text files, reads one or
more values into one or more variables

Readln

Executes the Read procedure, then skips to the next line of the file.

Rename

Renames an external file.

Reset

Opens an existing file.

Rewrite

Creates and opens a new file.

RmDir

Removes an empty subdirectory.

RunError

Stops program execution.

ScrollTo

Scrolls the CRT window to show a screen location.

Seek

Moves the current position of a file to a specified component.

SetTextBuf

Assigns an I/O buffer to a text file.

Str

Converts a numeric value to a string.

Truncate

Truncates the file at the current file position.

Val

Converts a string value to its numeric representation.

Write

For typed files, writes a variable into a file component. For text files, writes one or
more values to the file.

Writeln

Executes the Write procedure, then outputs an end-of-line marker to the file.

El Entorno Integrado de Desarrollo (IDE)

Esta seccin contiene un vistazo rpido al IDE de Delphi. Debido a que se est abordando la
programacin Windows, se asume que el lector tiene conocimientos acerca del uso y manejo de
ventanas y del ratn de la computadora.
El IDE de Delphi se divide en tres partes fundamentales:

1.- La ventana superior contiene las barras de


herramientas y la paleta de componentes. Las barras de
herramientas ofrecen acceso rpido a tareas tales como abrir,
cerrar, guardar y compilar proyectos. La paleta de componentes
contiene una amplia serie componentes que estn a disposicin
del usuario para agregarlos al proyecto que se est desarrollando.
Cada componente es una pieza binaria de software
independiente, que realiza cierta funcin especfica predefinida.

2.- El inspector de objetos es una ventana que le muestra al usuario el


valor de las diversas propiedades y eventos que tiene el componente
que se halla seleccionado con el ratn. Por defecto, si no se tiene
seleccionado ningn componente, las propiedades que se muestran en
el inspector de objetos son las del formulario que se encuentra en
pantalla.
Una propiedad determina la manera en que se comporta un
componente.
La solapa de eventos contiene una lista de los posibles eventos que
competen a un componente seleccionado. Por ejemplo, al hacer clic
sobre un componente cuando est corriendo la aplicacin, ocurre un
evento denominado OnClick.
Un evento es lo que ocurre como resultado de la interaccin entre un
componente y el usuario o con Windows.
Un controlador de evento es una seccin de cdigo que se invoca en
respuesta a un evento.

3.- El espacio de trabajo de Delphi le proporciona al usuario de espacio en pantalla para la


creacin, modificacin y programacin de los elementos de un proyecto. Por defecto, el espacio de
trabajo muestra a sus dos componentes: el diseador de formularios y al editor de cdigo. El
diseador de formularios se encarga de proporcionarle al usuario un espacio para la colocacin y
manejo de los componentes grficos del proyecto. Por otra parte, el editor de cdigo se encarga de
proporcionarle al usuario de los medios para la programacin de los componentes del proyecto.

Ejemplo del Uso de la IDE


Supngase que se va a crear una aplicacin sencilla que escriba en una ventana el mensaje
"Bienvenidos a Object Pascal", cuando el usuario pulse un botn (al que se le denominar
"Ejecutar").
Como primer paso se deber de abrir Delphi y automticamente ya se tendr dispuesto un
formulario vaco para trabajar.

Figura 1.IDE
de
Delphi
con
un
formulario
vaco.

a vez que se tiene a disposicin el formulario, proceda a realizar lo


uiente: En la ventana del inspector de objetos, localice la propiedad
ption del formulario. En este ejemplo, dicha propiedad tiene escrito
almente la cadena de caracteres "Form1", como se muestra en la
uiente figura:

riba en el espacio disponible la siguiente oracin: "Mi primera


cacin en Delphi".

habr notado que al momento de realizar la accin anterior, el


o del formulario se ve sustituido por la oracin que se escribi en
nspector de objetos. As pues, el formulario tendr la siguiente
riencia:

ontinuacin se colocar el botn que ejecutar la accin que se


e en el formulario. Para ello, localice la paleta de componentes en
entana superior. En dicha paleta, localice el componente botn y
eccinelo pulsando el botn izquierdo del ratn. Luego de ello,
a un clic aproximadamente en el centro del formulario, a cierta
ancia del ttulo del formulario.

stese un poco el tamao del formulario para tener la apariencia de


gura que se tiene en esta pgina. Para ello, basta con pulsar el
n izquierdo del ratn sobre la esquina inferior derecha del
mulario y arrastrar el puntero hasta el tamao deseado.

eccione con el ratn el botn que se agreg al formulario. Localice


el inspector de objetos la propiedad Caption y cmbiela escribiendo
ecutar" en la casilla disponible. Como anteriormente se observ, el
n muestra ahora la palabra "Ejecutar".

ra bien, Localice en el inspector de objetos la propiedad Name del


n. Como se puede observar, el nombre del componente no se ha
dificado. Seleccione dicha propiedad y cmbiela escribiendo
ecutar" en la casilla disponible.

ceda a localizar en la paleta de componentes al componente


mo" (Campo memorando). Seleccinelo pulsando el botn
uierdo del ratn.

go de lo anterior, haga un clic aproximadamente en el centro del


mulario, a cierta distancia debajo del botn que se insert
eriormente. Ajuste el tamao de dicho componente para que tenga
apariencia como la de la siguiente figura.

alice en el inspector de objetos la propiedad Name del Memo.


eccione dicha propiedad y cmbiela escribiendo "Resultado" en la
lla disponible. De manera anloga, el cambio hecho en la casilla
ver reflejado en el componente memo del formulario.

be aclarar que a diferencia del caso del botn (en los cuales un
mbio en la propiedad Caption del botn se reflej en el formulario,
s no en el nombre del componente), en el caso de los
mponentes memo es un tanto a la inversa. Para ser ms precisos,
componentes memo ni siquiera tienen la propiedad Caption
nida. En lugar de ello, los componentes memo tienen una
piedad llamada Lines. Est fue la propiedad que se modific de
nera automtica y que se ve reflejada en pantalla.

calice en el inspector de objetos la propiedad Lines del Memo.


este caso muestra una cadena "(Tstrings)". Si se pulsa con el
n dos veces sobre dicha casilla, el sistema mostrar una
tana para editar dicho texto.

pngase que se quiere agregar ms texto a dicha ventana


sultado. Escriba en el editor de lneas que se le presenta la
uiente frase: "Resultado de la ejecucin del programa", y pulse
otn Ok.

apariencia final del formulario ser de la siguiente manera:

Para finalizar con el ejemplo, se recuerda que el ejemplo pide que se " escriba en una ventana el
mensaje "Bienvenidos a Object Pascal", cuando el usuario pulse un botn ". Para ello, realice un
clic doble con el botn izquierdo del ratn, sobre el botn "Ejecutar". Al hacer esto, deber aparecer
en pantalla el editor de cdigo. El editor de cdigo automticamente agregar lo necesario para
que la aplicacin pueda trabajar con Windows. A la sazn, el editor muestra el siguiente texto:
procedure TForm1.EjecutarClick(Sender: TObject);
begin

end;

end.

Nota

Aquellas personas que ya tienen una formacin en versiones previas de Pascal para DOS, tales
como Turbo Pascal o FPK, podran sentirse amedrentados por dicha accin. En primer lugar,
Delphi ya asign un nombre para este procedimiento (TForm1.EjecutarClick), as como unas
instrucciones entre parntesis (Sender: TObject). Por el momento, el significado de la
instruccin entre parntesis no se explicar. Basta con saber que dicha instruccin (a la que
llamaremos parmetro), es necesaria para que la aplicacin final pueda "dialogar" con el sistema
operativo Windows.

En la ventana de edicin de cdigo, escriba la siguiente instruccin:


procedure TForm1.EjecutarClick(Sender: TObject);
begin
Resultado.Lines.Add('Bienvenidos a Object Pascal');{Aqu va}
end;

end.

Una vez hecho la programacin, ser necesario grabar el trabajo (si es que no se ha hecho).
Asgnele un nombre que sea cmodo y fcil para recordar ("MiPrimerAp" sera algo conveniente).
Una vez grabado el trabajo, ya slo queda hacer correr la aplicacin. Para ello, localice en la
ventana superior el botn de ejecucin (Run)

... y haga clic sobre l


En este momento aparecer en pantalla el formulario, con la nica diferencia de que ahora se est
ejecutando la aplicacin. Pulse el botn "Ejecutar" y observe el resultado de dicha operacin:

Antes de pulsar el botn

Despus de pulsarlo

Figura 2.- La aplicacin final del ejemplo


Para finalizar, vase la totalidad del cdigo que tanto usted como Delphi han generado para hacer
correr la aplicacin. Esto se logra invocando al explorador de cdigo. Para ello localice en la
ventana superior la opcin del men View | Code Explorer. El explorador de cdigo mostrar algo
similar a lo siguiente:

ura 3.- El explorador de cdigo


de Explorer)

El editor de cdigo es muy similar al explorador de Windows. Para ver una parte especfica del
cdigo, basta con pulsar dos veces sobre los elementos de la ventana izquierda del editor de
cdigo. Por ejemplo, al hacer doble clic sobre el elemento Tform1, aparecer la siguientes lneas
de programa:

unit Primero; { Este nombre de unidad lo hizo el autor }


Interface
Uses
Windows, Messages,
Dialogs, StdCtrls;

SysUtils,

Classes,

Graphics,

Controls,

Type
TForm1 = class(TForm)
Ejecutar: TButton;
Resultado: TMemo;
procedure EjecutarClick(Sender: TObject);
Private
{ Private declarations }
Public

Forms,

{ Public declarations }
end;
var
Form1: TForm1;
Implementation
{$R *.DFM}

procedure TForm1.EjecutarClick(Sender: TObject);


{ El procedimiento del botn }
begin
Resultado.Lines.Add('Bienvenidos a Object Pascal');
{ Lo nico que el usuario program }
end;
end.

Vous aimerez peut-être aussi