Professional Documents
Culture Documents
La ventana principal
La paleta de botones permiten las mismas opciones que la barra de menús, por
ejemplo podemos abrir o guardar un programa de Delphi tanto eligiendo la opción
File / Open como pulsando sobre el icono correspondiente:
Todos estos botones tienen una correspondencia con una opción del menú, y en
muchas ocasiones también tienen asociada una tecla de acceso rápido.
Por último, en la ventana principal de Delphi, encontramos las paletas de
componentes Delphi. En principio la paleta activa es la llamada Standard, en la que
podemos encontrar los componentes y controles más habituales en un programa.
Las pestañas existentes en la parte inferior nos permitirán acceder a las demás
paletas de ocntroles. Como puedes ver, en la paleta que se está mostrando en la
imagen, igual que en las demás, existen una serie de espacios libres en la parte
derecha, que podemos usar para añadir otros componentes o contrales,
personalizando dichas paletas. Este tipo de estructura, dividiendo todos los
componentes y controles en múltiples paletas accesibles mediante pestañas, evita
tener que trabajar con una gran ventana de iconos representando cada control, como
ocurre por ejemplo en Visual Basic.
Este componente llamado Label (Etiqueta) te permitirá situar cualquier texto sobre el
formulario. El texto de esta etiqueta se modifica haciendo click sobre la propiedad
Caption del Inspector de objetos y escribiéndolo en lugar del que aparece al crearla.
En el Inspector de Objetos puedes cambiar otras propiedades del control Label que
hemos llamado TEXTO. Por ejemplo puedes cambiar su tipo de letra, tamaño, color,
etc.
Para ello selecciona la propiedad Font y pulsa sobre los puntos ... que aparecen en la
parte derecha del mismo.
En la ventana de Fuente que aparece elige el estilo que quieras, así como el color y
pulsa Aceptar.
También puedes cambiar el tipo de letra y su color con la propiedad Font y el fondo
del texto con la propiedad Color.
Cada vez que quieras cambiar el texto del componente, selecciónalo y pulsa sobre la
propiedad Lines para modificar, borrar o añadir otro texto.
Para ello pulsa con el ratón sobre el icono que muestra el botón y haz
click sobre el formulario para situarlo. Puedes cambiar su tamaño y arrastrarlo para
colocarlo en el lugar que quieras.
Mientras que los controles anteriores simplemente muestran texto, este control está
pensado para que al pulsarlo, el programa realice alguna acción como mostrar un
mensaje, realizar un cálculo, etc, es decir produzca lo que en programación visual se
denomina responder a un evento.
Para ello pulsa sobre la pestaña Events (Eventos o sucesos) del Inspector de Objetos
y haz doble-click sobre el suceso OnClick.
Puedes ver que ahora mismo NO HAY INSTRUCCIONES, eso es porque LAS
TIENES QUE AÑADIR TU. Escribe la linea siguiente:
(no olvides el ; que significa en Delphi el final de una instrucción ni las comillas
simples ' para los textos que equivalen a las " de Basic ).
Así es como quedará el código correspondiente al botón Button1.
O eligiendo en el menú la
opción Run (Ejecutar).
Esta ventana aparecerá siempre que pulses ese botón, es decir, Windows espera a
que se ocurra un cierto suceso (pulsación del botón Button1) y cuando lo detecte
ejecutará el código asociado a ese botón.
Delphi guarda de forma separada la ventana (Unit) que contiene el código del
programa (Unit1.pas) y el código del projecto (Project1.prj).
El anteponer las letras pr al nombre del projecto sirve para saber cuales son los
ficheros que forman un mismo programa y no equivocarnos al copiarlos de un
directorio a otro.
El tercer fichero, que también forma parte del programa, es el que contiene los datos
de los componentes insertados en el formulario o ficha y se llama saludo.dfm
Estos tres programas forman la aplicación visual o projecto Delphi y deben ser
copiados los tres cuando transportes la aplicación de un directorio a otro.
El entorno de desarrollo Delphi (Borland Pascal With Objects) al igual que Visual
Basic, es un sistema rápido y visual de crear aplicaciones para Windows.
A continuación vas a insertar otro componente. Esta vez una ventana de edición de
texto (equivalente a las variables de texto de Qbasic), para poder introducir datos en
el programa. Pulsa sobre el icono correspondiente al elemento TEdit y luego sobre el
formulario:
Ahora vamos a introducir código nuestro al programa utilizando la pestaña Events
(Sucesos) del inspector de objetos.Sitúate en el opcion OnChange del componente
Edit1 y haz doble click hasta que aparezca el nuevo procedure TForm1.Edit1Change,
y añade la siguiente linea de código:
Nombre.Caption:=Edit1.Text;
¿Que hace este programa?, simplemente muestra en el texto del componente Label
(Nombre.caption) lo que se escribe en la ventana de edición del componente TEdit
(Edit1.Text). Cierra el formulario cuando hayas visto como funciona.
Al guardar el programa, debes dar un nombre para la unidad (PAS ) y otro para el
proyecto (DPR).
En este ejercicio vas a añadir una variable numérica del tipo entero a un programa,
para utilizarla como un contador.
Las variables se definen en la zona del código que Delphi genera automáticamente y
que comienza por la palabra especial Var.
Ejecuta el programa y pulsa varias veces el botón de control. Verás como el texto que
muestra el control label se va incrementando cada vez.
N:=N-1;
Contador.Caption:=IntToStr(N);
Modifica ahora el programa para evitar que la variable tome valores negativos.
Para ello tienes que añadir una condición a la instrucción que decrementa la
variable:
Para que el funcionamiento del programa sea más claro, cambia el campo Caption de
los botones añadiendo los caracteres << y >> y añade las modificaciones siguientes a
los procedimientos Button1Click y Button2Click :
Selecciona File / New Project para crear una nueva aplicación y haz click sobre la
pestaña Additional de la paleta de componentes de Delphi.
Cuando aparezca el Editor de Imágenes pulsa sobre el botón Load y busca el fichero
factory.bmp situado en el directorio Delphi\Images\Splash\256color
El nombre que Delphi asigna a este control es MediaPlayer1. Ahora tienes que
asignarle un
Programas de simulación.
Haz doble click sobre la opción OnClick del botón Tirada y añade al procedure que
aparece el código siguiente:
Var X:Integer;
X:=Random(6)+1;
Numero.Caption:=IntToString(X);
que contiene como único texto una cifra. Como puedes ver, todo el código se reduce a
dos instrucciones:
Estas instrucciones se ejecutan cada vez que (con el programa funcionando) pulses el
botón Tirada.
El efecto de relieve se consigue creando dos etiquetas Label con el mismo texto y el
mismo tipo de letra, pero una en color blanco y otra encima con otro color. Para que la
superior no tape a la que hay debajo tienes que poner su propiedad Transparent a true
(activada). Desplázalas ligeramente arrastrándolas con el ratón para conseguir el
efecto.
CALC
ULAD
ORA
ELEM
ENTAL
Una
vez
que los
hayas
puesto sobre el Form, observa que el programa los incorpora automáticamente al
código, sin que tengas que escribir ni una sóla línea.
Creamos una variable entera N para guardar el resultado de la suma. Observa que el
contenido del campo de texto de los objetos Edit2 y Edit3 han de convertirse a formato
numérico utilizando la función StrToInt( ) que significa Convertir una Cadena a Entero.
ESTOS SON LOS PROCEDIMIENTOS QUE TIENES QUE ESTE ES EL CODIGO GENERADO
CREAR PARA QUE RESPONDAN A LAS PULSACIONES AUTOMATICAMENTE AL SITUAR
SOBRE LOS BOTONES + - x y / LOS COMPONENTES EN LA FICHA:
Button3: Tbutton;
procedure TForm1.Button3Click(Sender: TObject);
var n:integer; Button4: TButton;
Edit1.Text:=IntToStr(N); private
public
MediaPlayer.
Con el control
MediaPlayer
seleccionado,
haz doble-click
sobre su propiedad AutoOpen para cambiarla a True (Para que el fichero multimedia
se abra automáticamente al comenzar el programa).
Selecciona RUN del menú de Delphi y cuando el programa comience pulsa Play.
Añade otro control de este tipo, debajo del anterior y, en la propiedad FileName, pulsa
sobre los ... para buscar un fichero de sonido en el disco duro.
Ahora, además de poder ver la película , puedes también oir la música pulsando sobre
el botón Play del segundo control.
Para que el control MediaPlayer muestre sólo los botones Play, Pausa y Stop activa la
propiedad VisibleButtons y pon a False los botones que no quieras que aparezcan.
PROGRAMACIÓN VISUAL EN
DELPHI
Programas educativos.
Selecciona en la opción File del menú New Project y elige crear un projecto en blanco
(Blank project). En el formulario añade una etiqueta de texto y escribe en la propiedad
Caption el título del programa: TEST DE CAPITALES. Modifica la propiedad Font
seleccionando el color y el tipo de letra que quieras.
En la pestaña de componentes selecciona el componente ListBox (lista de elementos)
y arrastra con el ratón sobre el formulario para situarlo.
Modifica sus propiedades Font (Times New Roman 14 y color Blanco) y Color (Fondo
del ListBox).
Para introducir texto en este componente, haz doble click sobre la propiedad Items.
Escribe las preguntas que ves en la imagen y pulsa OK cuando termines. Para
modificar el espacio que hay entre las líneas, cambia el valor de la propiedad
ItemHeight (altura de las lineas) a 25.
Para escribir el texto con las respuestas pulsa sobre los ... de la propiedad Items y
escribe el nombre de las capitales como ves en la imagen.
Para mostrar los aciertos añade un componente Tlabel y llámalo Contador (propiedad
Name), en Caption pon un cero)
Pulsa sobre los ... de la propiedad para que aparezca el editor de imágenes (Picture
Editor).
Para buscar una imagen y ponérsela al boton, explora en la unidad compartida de red
//PC3/AULA/ICONS. En este ejemplo se ha seleccionado el icono llamado
check2.bmp. Cuando lo encuentres pulsa Aceptar y despues OK y tendrás un botón
con icono.
Para añadir código al botón, es decir, para que al pulsarlo con el programa
funcionando, realice alguna acción haz doble click sobre el evento OnClick de la
pestaña Events.
Cuando aparezca la pantalla con el código, añade entre las lineas begin y end; las
instrucciones que ves en la imagen:
También necesitas añadir al código del programa una variable numérica N, para
contar las respuestas acertadas, y un procedimiento que realice la operación de
incrementar esa variable cada vez que coincida el número de pregunta seleccionada y
el número de la respuesta elegida. La variable N se define en la zona de variables:
var
Form1: TForm1;
N :Integer;
...
Procedure Aciertos;
begin
N:=N+1;
Form1.Contador.Caption:=IntToStr(N);
ShowMessage('Bien')
end;
Ade
más
de
los
fiche
ros
AVI,
exist
e
otra
form
a
más
senci
lla
de
most
rar
anim
acio
nes
en
un programa: son las imágenes animadas (también llamados gif animados en las
páginas de internet).
Consisten en un fichero BMP o GIF que contiene varias imágenes, una al lado de
otra, que representan la secuencia de la animación. Por lo general suelen ser pocas
secuencias (6, 8 o 10).
Para crear una imagen animada en Delphi inicia un nuevo proyecto (Blank Project) e
inserta el componente TanimImage situado en la pestaña Additional. Arrastra sobre el
formulario para situarlo y ponle como nombre Veleta (propiedad Name).
Haz doble click sobre su propiedad Picture y busca en la unidad compartida de red
(//PC3/AULA/ANIMAGE)
el fichero
(anemome2.bmp)
Pon el número de
cuadros que forman la
animación en la
propiedad ImageCount
(este número es
diferente si usas otro
fichero animado). Para
ver el efecto
inmediatamente pon la
propiedad Continuous a
True.
Llama al primero Activar (propiedad Name) y haz doble click sobre el evento OnClick
para introducir el código que activa la animación:
Veleta.Continuous:=True;
Veleta.Continuous:=False;
APLICACIONES DELPHI
Con Delphi pueden crearse simulaciones de control de periféricos. Con este ejemplo
se podría controlar un dispositivo conectado a un puerto del ordenador, activándolo
mediante la introducción de una clave.
Busc
a en la unidad compartida PC1/AULA el fichero
PUERTA.AVI utilizando la propiedad FileName
del control MediaPlayer.
Ahora introduce en el formulario un control Tedit para poder introducir un texto por
teclado.Llámalo Clave (propiedad Name).
procedure
TForm1.claveChange(Sende
r: TObject);
begin
if clave.text='abcd' then
mediaplayer1.play;
end;
Si quieres activar el byte de datos del puerto paralelo para controlar un periférico
tendrías que añadir a este procedimiento la linea siguiente:
begin
PORT[$378]:=$01;
end;
Observa que los números que representan la dirección y el valor del byte están en
formato hexadecimal.
TIPOS DE DATOS EN DELPHY
Integer
Números enteros comprendidos entre -32768 y 32767; 16 bits (ocupan 2 bytes cada
uno en la memoria)
Byte
Números enteros positivos comprendidos entre 0 y 255; 8 bits (ocupa 1 byte cada uno
en la memoria)
Word
Números positivos comprendidos entre 0 y 65535; 16 bits (ocupan 2 bytes cada uno
en la memoria)
LongInt
ShortInt
Números negativos y positivos enteros comprendidos entre -128 y 127; 8 bits (ocupa 1
byte cada uno en la memoria)
Real
Single
Números de coma flotante de 7 a 8 decimales significativos; solo es posible si está
activada la opción de compilador {$N+}; ocupan 4 bytes cada uno en la memoria
Double
Extended
Comp
String
Char
Pchar
Pointer
Punteros que pueden apuntar a cualquier estructura de datos; sin enlace con un tipo
concreto(denominados punteros sin tipo)
Booleam
Tipo de Datos Booleano, cuyas variables pueden tomar los valores True (verdadero) o
False (falso)
Conceptos básicos en la programación con Delphi
1. Objetos
2. Componentes
3. Propiedades
4. Eventos
5. Métodos
Objetos
Como su propio nombre indica, el Object Pascal (usado por Delphi) es un lenguaje
totalmente orientado a objetos. Prácticamente todos los elementos del entorno Delphi
son objetos, que unas veces se encuentran definidos de antemano (los forms, los
componentes de la paleta, objetos no visuales, etc), y otras se definen en nuestra
propia aplicación (por ejemplo el componente TPostIt de ANALOGIA.EXE definido en
la unit U_Misc).
Todo el desarrollo de aplicaciones en Delphi está íntimamente ligado con la definición
y uso de objetos, por lo que es fundamental conocer la mecánica que Object Pascal
utiliza para describir un objeto, sus características y su funcionamiento, sobre todo a
la hora de que el programador cree sus propios componentes. En muchos casos no es
necesario conocer el funcionamiento de la programación orientada a objetos para
programar con Delphi, puesto que en la mayoría de los casos existen controles ya
creados sin necesidad de tener que programarlos. Por ejemplo en ANALOGIA.EXE la
mayoría de los objetos forman parte de la VCL de Delphi y otros dos componentes han
sido escritos por terceros (RChart y TFormulaParser), sin embargo ha sido útil
desarrollar un componente propio (TPostIt) para mostrar la tabla de valores de los
componentes en el programa.
La propia programación visual de Delphi, que escribe parte del código
automáticamente, hace posible utilizar objetos de forma práctica sin tener por qué
comprender al cien por cien su funcionamiento.
Componentes
Un componente es cualquiera de los elementos que podemos insertar en una ficha,
tanto si su función es visual como si no lo es (por supuesto un componente es también
un objeto). Un ejemplo de componente puede ser RChart, usado en ANALOGIA.EXE
para dibujar las gráficas. Sin conocer exactamente el cómo realiza su función, el
programador manipula una serie de propiedades, métodos y eventos que caracterizan
al componente, a través de los cuales se "maneja" el componente en la forma
deseada. Por supuesto el usuario puede crear sus propios componentes y usarlos en
distintas aplicaciones, de forma que la reusabilidad del código es máxima. A los
componentes que cuentan con una parte visual, como puede ser un botón, se les
denomina controles.
Propiedades
Los componentes, y de hecho todos los objetos de Delphi son de uso general, por lo
que a la hora de usarlos de alguna forma deberemos adecuarlos a nuestras
necesidades. Para ello nos serviremos de las propiedades de cada objeto, mediante
las cuales podremos establecer el título de una ventana, el tipo de letra de
una etiquetade 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 (veremos que no es así exactamente), de tal forma que para acceder a ellas
generalmente habrá que indicar no sólo el nombre de la propiedad, sino también a qué
objeto pertenece.
La modificación o consulta del valor de una propiedad puede diferir según intentemos
acceder a ella mientras estamos diseñando un form, en tiempo de diseño, o bien
mediante el código del programa, en tiempo de ejecución. Ciertas propiedades están
sólo accesibles en tiempo de ejecución, por lo que mientras estamos diseñando la
ficha no aparecerán. Además hay algunas propiedades que son de sólo lectura, por lo
que su valor puede ser consultado, pero no modificado, y otras que son sólo
de escritura.
Aunque a primera vista si usamos un componente prefabricado, las propiedades
pueden parecer simples variables, en la mayoría de las ocasiones una propiedad no
es una variable, y la modificación o consulta de su valor puede conllevar que
internamente el componente ejecute un cierto código. Si por ejemplo tuviésemos un
componente para comunicaciones serie que se encargase de enviar mensajes a un
ordenador remoto, podríamos tal vez asignar una cadena de caracteres a una
hipotética propiedad "Envia". De esta forma, con una simple asignación
(Envia:='Mensaje a mandar') se pondría en marcha todo el mecanismo implícito en el
componente para enviar el mensaje al ordenador remoto. Esta propiedad podría ser un
ejemplo de propiedad de sólo escritura, ya que sólo interesa mandar el mensaje al
ordenador remoto, sin conservar información acerca del mensaje, por lo que sería
inapropiada su lectura.
Eventos
Como dije anteriormente, la programación 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 código
se ejecutarán cuando ocurra un cierto evento.
Los eventos son señales que el entorno recibe desde distintos elementos, como
puedan ser el ratón, el teclado o un temporizador. Estos eventos son redirigidos a las
aplicaciones, que en caso de aceptarlos deberán responder adecuadamente de ellos.
Ciertos eventos pueden ser gestionados por el propio Windows, otros quedarán a
cargo del propio lenguaje que estemos usando, y un tercer grupo serán los que
lleguen hasta nuestro programa. En Delphi prácticamente todo el código que
escribimos irá asociado a algún evento. Si retomamos el ejemplo del componente para
comunicaciones serie, podría interesarnos que se ejecutara un evento cada vez que
se recibiese un carácter por el puerto serie, de forma que podríamos escribir el código
necesario para guardar el carácter en un archivo cada vez que se produjese el evento.
Normalmente los eventos a los que reaccionarán los componentes serán las
pulsaciones del teclado o el ratón, activaciones de los componentes, etc.
Métodos
Características
Class Helpers: son clases que asociadas con otras clases, introducen métodos y
propiedades adicionales que pueden ser utilizadas en el contexto de las clases
asociadas o sus descendientes.
private crea una relación friend entre las clases de la misma unidad.
Las clases pueden tener constantes de clase: un valor constante asociado con la
clase en sí y no con una instancia de la clase.
Una clase puede contener una declaración de tipo que se podrá utilizar únicamente
dentro de esa clase.
Un método virtual sobreescrito puede marcarse como final impidiendo así que sea
sobrecargado en las clases derivadas.
Poliformismo
Herencia(agregar atributos).
Tiene atributos,eventos,metodos..
………………………………………………………………………………………
………………………………………………………………………………………
Símbolos especiales…
(A-Z),(a-z)
<,>,<>,<=,>=.
#,=,0,9
Howmessage(‘hola’);
Palabras recervadas
Begin
And
Do
Not
If
Program
While
For
Try….
Var
Use
Case
Key—preciona tecla
Else
Case
Goto
Until