PROGRAMACIÓN VISUAL EN DELPHI

El entorno de programación Visual Delphi consta de un entorno de desarrollo de aplicaciones (programas) formado por varias ventanas: la de menús de opciones, el inspector de objetos, la unidad de código, el formulario o ficha de componentes,etc. Al abrir el programa con un doble-click sobre el icono correspondiente Aparecerá el conjunto de ventanas que configura el entorno de desarrollo. La ventana superior contiene la barra de menú, las opciones de ficheros (Abrir, guardar,etc), los iconos con los diferentes tipos de controles y el resto de utilidades, así como la ventana del formulario o ficha donde se situarán los diferentes componentes (Form1), la ventana con el código generado automáticamente (Unit1.pas) y la ventana donde se modifican las propiedades de los diferentes componentes (Object Inspector).

El entorno de trabajo de Delphi está compuesto de múltiples ventanas, que en un determinado momento pueden o no ser visibles. Cada vez que carguemos Delphi nos encontraremos con una serie de elementos en pantalla, con un aspecto similar al mostrado en la imagen anterior. En ella se puede distinguir una ventana pricipal, que ocupa la parte superior de la pantalla, conteniendo el menú de Delphi, la barra de botones o acciones rápida y las barras de controles. La ventana vertical que ocupa la parte izquierda de la pantalla es el Inspector d e Objetos, con el que podremos manipular las propiedades de los distintos componentes Delphi. Por último tenemos dos ventanas en la parte central de la pantalla, aunque están superpuestas. La que se muestra encima es la ficha o formularioque por defecto aparece cuando se inicia un nuevo proyecto, y en ella insertaremos todos los elementos necesarios para crear el interfaz de nuestro programa. La ventana que hay debajo, a la que corresponde la pestaña Unit1, corresponde al editor de código, conteniendo el código correspondiente al módulo en el que se definirán las características de la ficha.

La ventana principal La mayor parte de las opciones de trabajo y configuración se encuentran accesibles en la ventana principal de Delphi, que podemos ver en esta imagen.En la parte supeerior de esta ventana podemos ver el nombre del proyecto sobre el que estamos trabajando, que en este caso es el proyecto por defecto, ya que acabamos de cargar Delphi. A diferencia de lo que ocurre con los botones de control de las demás ventanas, si minimizamos la ventana principal todas las demás también lo harán, y si cerramos esta ventana podremos salir de Delphi. Bajo la barra de título de esta ventana encontramos el menú de opciones de Delphi, que iremos conociendo poco a poco. 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.

Creación de una aplicación Delphi.

Inicia Delphi y, con un formulario nuevo, selecciona el componente Label y sitúalo sobre él con un click de ratón. 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. También puedes cambiar el nombre del componente haciendo un click en la propiedad Name y escribiendo un nuevo nombre para este objeto (por ejemplo llámalo TEXTO). Puedes arrastrar la etiqueta y situarla en cualquier parte del formulario.

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. Los cambios que hagas se aplicarán inmediatamente al control Label.

Representa el típico botón que aparece en los programas de Windows y que al pulsarlos. Para editar su contenido pulsa sobre los puntos (. pulsando Intro al final de cada línea.) de la parte derecha de la propiedad Lines y escribe cualquier texto. Añade ahora un nuevo control: el Tbutton (pulsador). arrastrándolo. Para ello pulsa con el ratón sobre el icono que muestra el botón y haz click sobre el formulario para situarlo. El componente TMEMO te permite escribir texto en varias lineas. Puedes cambiar su tamaño y arrastrarlo para . borrar o añadir otro texto. puedes moverlo.Además de objetos tipo Label hay otra forma de introducir texto en la ficha del programa: el control Tmemo (Memorando). También puedes cambiar el tipo de letra y su color con la propiedad Font y el fondo del texto con la propiedad Color.. Este tamaño puede modificarse en cualquier momento usando los tiradores que aparecen bordeando el control cuando está seleccionado. Selecciónalo con el ratón y sitúalo en el formulario arrastrando con el ratón hasta que tenga el tamaño que necesites para el texto que vayas a escribir. Una vez modificado el componente. y situarlo en cualquier lugar del formulario. Cada vez que quieras cambiar el texto del componente. realiza alguna acción. selecciónalo y pulsa sobre la propiedad Lines para modificar..

Mientras que los controles anteriores simplemente muestran texto. el programa realice alguna acción como mostrar un mensaje. Verás aparecer automáticamente la ventana del código del programa con el procedimiento Button1OnClick que se ejecutará al pulsar sobre este botón cuando el programa esté funcionando. Para ello pulsa sobre la pestaña Events (Eventos o sucesos) del Inspector de Objetos y haz doble-click sobre el suceso OnClick. pero puedes cambiarlo si lo deseas. este control está pensado para que al pulsarlo. como a todos.colocarlo en el lugar que quieras. También puedes cambiar el texto que aparece en el botón: selecciona la propiedad Caption y escribe el texto "Pulsa aquí". Delphi automáticamente (Button1). realizar un cálculo. es decir produzca lo que en programación visual se denomina responder a un evento. etc. . El nombre de este componente lo asigna.

Puedes ver que ahora mismo NO HAY INSTRUCCIONES. que significa en Delphi el final de una instrucción ni las comillas simples ' para los textos que equivalen a las " de Basic ). y va seguido de dos palabras: Begin . entre las palabras Begin y End. .. que contienen las instrucciones que se realizarán cuando se active. eso es porque LAS TIENES QUE AÑADIR TU. (no olvides el . Escribe la linea siguiente: ShowMessage('¿Que tal estás?'). y End.Este procedi miento (proced ure significa instrucci ones de program a) consta de una cabecer a donde se define su nombre y su asociaci ón con el control que lo llama (On Click Button1Click puede traducirse como "Al Hacer Click sobre el Boton1")..

Ahora puedes poner en marcha el programa y ver su funcionamiento. Igualmente puedes pulsar la tecla F9. De cualquier forma que lo llames. el programa se pondrá en marcha mostrando la .Así es como quedará el código correspondiente al botón Button1. Puedes hacerlo de varias formas: pulsando sobre el icono Ejecutar programa O eligiendo en el menú la opción Run (Ejecutar).

Cuando lo hagas se ejecutará el código asociado al botón que. Esta ventana aparecerá siempre que pulses ese botón. Para cerrar el programa y volver al entorno de programación Delphi pulsa sobre el guión de control del programa y elige la opción Cerrar.prj). Selecciona del menú la opción File y a continuación Save Project. es decir.pas.prj por el de prsaludo. . simplemente muestra una pequeña ventana con el mensaje programado. y el del projecto project1. Delphi guarda de forma separada la ventana (Unit) que contiene el código del programa (Unit1. Una vez terminada la ejecución del programa guarda la ficha y el código en tu carpeta. 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.pas por el de saludo.pas) y el código del projecto (Project1. Busca tu carpeta y cambia el nombre unit1.ficha con los componentes que insertaste y con el botón de control esperando que pulses sobre él. como vés.prj. 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.

Pulsa sobre el icono correspondiente al elemento TEdit y luego sobre el formulario: . que también forma parte del programa. A continuación vas a insertar otro componente. eventos y métodos. es el que contiene los datos de los componentes insertados en el formulario o ficha y se llama saludo. Cada componente tiene unos atributos específicos que podemos modificar antes. Esta vez una ventana de edición de texto (equivalente a las variables de texto de Qbasic). También puedes cambiar el nombre del objeto Label haciendo click en la propiedad Name y modificándolo. El entorno de desarrollo Delphi (Borland Pascal With Objects) al igual que Visual Basic. Estos componentes constituyen la base de la programación visual y se hallan en la parte superior representados por un grupo de iconos. y durante la ejecución del programa: Propiedades.Observa que el nombre del componente (Label1) y su tipo aparecen en la parte superior del Inspector de Objetos. es un sistema rápido y visual de crear aplicaciones para Windows.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. usando el inspector de objetos. Selecciona de la paleta de componentes Estandar el componente Label(etiqueta) y haz click con el ratón sobre la ventana Form1.El tercer fichero. Una vez insertada la etiqueta de texto puedes modificar sus propiedades: Caption (contenido de texto) simplemente modificándolo y +Font (tipo de letra) eligiendo la fuente y el tamaño. mostrando una ventana de código llamada Unit1 donde se van añadiendo de forma automática los diferentes objetos que configuran el programa. y otra llamada Form1 que es la parte visual donde se insertan los componentes que se verán cuando el programa esté funcionando. para poder introducir datos en el programa. La opción File / New Project permite comenzar a diseñar un nuevo programa.

Text.Ahora vamos a introducir código nuestro al programa utilizando la pestaña Events (Sucesos) del inspector de objetos. Observa ahora el editor de código (Unit1) y verás como Delphi ha creado automáticamente un programa introducciendo los elementos que tu has situado en el formulario (Form1). .Caption:=Edit1.Edit1Change. y añade la siguiente linea de código: Nombre.Sitúate en el opcion OnChange del componente Edit1 y haz doble click hasta que aparezca el nuevo procedure TForm1.

para utilizarla como un contador. ¿Que hace este programa?. Llámalo Contador (observa que al cambiar el nombre del componente Label también cambia el texto que contiene su campo Caption). simplemente muestra en el texto del componente Label (Nombre. Las variables se definen en la zona del código que Delphi genera automáticamente y que comienza por la palabra especial Var. Al guardar el programa. Comienza una nueva aplicación seleccionando File / New Project y añade un componente Label al formulario. es decir sin especificar su tipo (numéricas. USO DE VARIABLES NUMERICAS EN DELPHI En este ejercicio vas a añadir una variable numérica del tipo entero a un programa. que permita cerrar el programa pulsando el botón.caption) lo que se escribe en la ventana de edición del componente TEdit (Edit1. Ejecútalo seleccionando RUN del menú o pulsando el botón correspondiente.Añade ahora un componente Button con la instrucción CLOSE.Text). debes dar un nombre para la unidad (PAS ) y otro para el proyecto (DPR). . alfanuméricas. Cierra el formulario cuando hayas visto como funciona. de fecha etc). NO PUEDEN UTILIZARSE VARIABLES EN UN PROGRAMA SIN DEFINIRLAS ANTES.

Añade ahora un control Button. . Cuando aparezca la ventana de código. añade las instrucciones que ves en la imagen entre las palabras begin y end. selecciona la pestaña Events y haz doble-click sobre el suceso OnClick.

(N:=N+1 significa incrementa la variable N en una unidad) (Contador. Modifica ahora el programa para evitar que la variable tome valores negativos.Caption:=IntToStr(N) significa guarda en el campo de texto del control Contador el contenido de la variable N convertido a texto) Ejecuta el programa y pulsa varias veces el botón de control. Añade ahora otro botón para que en lugar de incrementarse. Contador.Caption:=IntToStr(N). Verás como el texto que muestra el control label se va incrementando cada vez. el número se decremente. Las instrucciones ahora serán: N:=N-1. .

Para ello tienes que añadir una condición a la instrucción que decrementa la variable: If N >1 then N:=N . Es decir que la instrucción de decrementar la variable N no se ejecutará cuando contenga un número inferior a 2.1 . Selecciona el componente Timage y arrastra con el ratón sobre el formulario hasta obtener un recuadro como el que ves a la derecha.Caption:= ' El valor actual es: ' + IntToStr(N). . El significado de la instrucción ahora es el siguiente: Si la variable N tiene un valor superior a 1 entonces decreméntala en una unidad. 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 : Contador. AÑADIR IMAGENES Y SONIDOS A LOS FORMULARIOS 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.

.bmp situado en el directorio Delphi\Images\Splash\256color Pulsa sobre el botón OK cuando lo encuentres y tendrás insertada la imagen en el control Timage. Puedes arrastrarla y situarla en cualquier lugar del formulario. Ahora puedes incluir en él una imagen seleccionando la propiedad Picture y haciendo click sobre el botón que contiene los .. También puedes conseguir que se adapte automáticamente al tamaño del control cambiando la propiedad Strech (estirar) a true.. Cuando aparezca el Editor de Imágenes pulsa sobre el botón Load y busca el fichero factory.Puedes ver que el nombre de este control Image1 aparece automáticamente en el inspector de Objetos.

. debajo de la imagen anterior. Haz click sobre la propiedad FileName y busca un fichero WAV. El nombre que Delphi asigna a este control es MediaPlayer1.En la pestaña System selecciona el control Media Player y sitúalo en el formulario. Ahora tienes que asignarle un fichero de sonido para que lo reproduzca cuando el programa esté funcionando.

Para activar el sonido pulsa sobre el botón Play. Elige crear un nuevo proyecto. PROGRAMACIÓN VISUAL EN DELPHI Programas de simulación. Selecciona la pestaña Additional de la barra de componentes y haz click sobre el objeto Image. Una vez situados todos los . Modifica su propiedad Name y llámalo Tirada.BMP (Búscalo en \\PC3\DELPHI\PRACTICA). Por último selecciona el objeto Button y añade un botón al formulario.Pon la propiedad AutoOpen a true y ejecuta el programa. Añade al formulario los controles de etiqueta (Label) que ves a continuación. Pulsa Load para seleccionar un fichero y elige DADO. Modifica su propiedad Font eligiendo distintos tipos de letra y cambia el contenido de su propiedad Caption. Haz click sobre el formulario para que aparezca un recuadro donde situar una imagen y a continuación doble click sobre él para que aparezca la ventana del editor de imágenes (Picture Editor).

podemos añadir el código al programa: 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. Observa que el componente llamado Numero es una etiqueta de texto que contiene como único texto una cifra. 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. Estas instrucciones se ejecutan cada vez que (con el programa funcionando) pulses el botón Tirada. Numero. Desplázalas ligeramente arrastrándolas con el ratón para conseguir el . Para que la superior no tape a la que hay debajo tienes que poner su propiedad Transparent a true (activada).componentes (etiquetas de texto. todo el código se reduce a dos instrucciones: Almacenar en la variable entera X un número al azar del 1 al 6 (instrucción Random).Caption:=IntToString(X). y mostrar en la propiedadCaption de la etiqueta Numero ese resultado convertido a texto (instrucción IntToStr). X:=Random(6)+1. recuadro de imagen y botón de control). Como puedes ver.

PRJ. añadiendo al procedimiento TiradaClick la instrucción: ShowMessage(' Ha salido el '+IntToStr(X)). Añade también un botón con la instrucción Close. Guárdalo en tu carpeta llamando a la Unit1 DADO. para cerrar el programa.PAS y al proyecto PRDADO.efecto. Ejecuta el programa y pulsa repetidamente sobre el botón para ver como el componente Label muestra diferentes números al azar. (El dado es simplemente un fichero BMP ¡ no esperes que se mueva!) Puedes hacer que aparezca un mensaje emergente cada vez que hagas una tirada. Estos son los objetos utilizados en esta nueva práctica: CALC ULAD ORA ELEM ENTAL Una vez que los hayas .

Text:=IntToStr(N). Forms. pasándolo en este caso. Después haz doble click en el apartado OnClick. y añade instrucciones al procedimiento Tform1. Button3: Tbutton. var n:integer. Dialogs.Text:=IntToStr(N).Button3Click(Sender: TObject). Edit3: TEdit. TForm1 = class(TForm) procedure TForm1. type end.x y / LOS COMPONENTES EN LA FICHA: procedure TForm1. La parte entera se guarda en la variable Entero y el resto en la variable Resto. WinTypes. StdCtrls. ExtCtrls. Edit1: TEdit. Creamos una variable entera N para guardar el resultado de la suma.Text) + StrToInt(Edit3.Button1Click. Edit1. WinProcs.Text). Añade el resto de los procedimientos a cada botón: Observa que en el procedure correspondiente al botón : (dividir) la variable utilizada es real porque en ella se guarda el resultado de una división (no puede ser integer). Para añadir código al programa de forma que al pulsar el botón + muestre la suma de los números introducidos.puesto sobre el Form. 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. begin N:=StrToInt(Edit2.Text) . begin Edit2: TEdit. de formato texto a numérico con la función IntToStr( ) . .StrToInt(Edit3. Controls. Button1: Tbutton. Edit1. Graphics. N:=StrToInt(Edit2. end. Panel1: TPanel.Button1Click(Sender: TObject). procedure TForm1. Messages. Unit Calculad. var n:integer. sin que tengas que escribir ni una sóla línea. Después se muestra el resultado escribiéndolo en el campo de texto del objeto Edit1. 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 + . Interface uses SysUtils. Button2: Tbutton.Button2Click(Sender: TObject). observa que el programa los incorpora automáticamente al código.Text). selecciona con el ratón ese botón y en el inspector de objetos la pestaña Events . Classes.

DFM} end.var n:integer.Text) Mod StrToInt(Edit3. end. ACTIVA CADA BOTON.Text) / StrToInt(Edit3. var Form1: TForm1.Text). {parte entera} Resto:= StrToInt(Edit2. begin N:=StrToInt(Edit2. Resto:integer.Text:=IntToStr(N).Text). Edit1.Button4Click(Sender: TObject).Text) * StrToInt(Edit3.' + IntToStr(Resto).Text). var n:Real. implementation {$R *. Button4: TButton. Edit1. private { Private declarations } public procedure TForm1. begin N1:=StrToInt(Edit2. SELECCIONA LA PESTAÑA EVENTS Y HAZ DOBLE-CLICK SOBRE EL SUCESO OnClick Reproductor multimedia (Imagen y sonido) . { Public declarations } end.Text:= IntToStr(Entero) + '. Entero:= Trunc(N). {resultado de la división} Entero. end. Label2: TLabel. PARA INTRODUCIR EL CODIGO. Label1: TLabel.

Colócalo en el formulario debajo del control Panel. haz doble-click sobre su propiedad AutoOpen para cambiarla a True (Para que el fichero multimedia se abra automáticamente al comenzar el programa). También tienes que seleccionar en la propiedad Display del control multimedia el componente Panel1 para que la película se reproduzca dentro de él.Para diseñar este programa selecciona de la paleta Standard el control Panel y colócalo sobre un nuevo formulario arrastrando con el ratón hasta que tenga un tamaño no demasiado grande.AVI (u otro cualquiera) Cuando aparezca el nombre del fichero . Busca en el disco duro el fichero AVI llamado ORIGINS.. Ahora selecciona la pestaña System y haz click sobre el control MediaPlayer. Ahora tienes que buscar el fichero de película que quieres reproducir: Activa la propiedad FileName y haz click sobre los .. Con el control MediaPlayer seleccionado.

. Puedes añadir un componente Label y poner un título al programa. además de poder ver la película . Guarda de nuevo el programa en tu carpeta con las modificaciones. 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. Ahora. pulsa sobre los . El reproductor MediaPlayer puede reproducir. en la propiedad FileName. Guardalo en tu carpeta con el nombre AVI. Cuando lo encuentres activa la propiedad AutoOpen (True) y ejecuta el programa de nuevo. Además de los ficheros MID prueba a reproducir ficheros WAV. Pausa y Stop activa la propiedad VisibleButtons y pon a False los botones que no quieras que aparezcan.PRJ para el proyecto. además de ficheros AVI también otro tipo de ficheros como los MID (música)..en la propiedad FileName el programa está listo para funcionar. PROGRAMACIÓN DELPHI VISUAL EN .PAS para la Unit y PRAVI. Selecciona RUN del menú de Delphi y cuando el programa comience pulsa Play. debajo del anterior y. para buscar un fichero de sonido en el disco duro. Añade otro control de este tipo. buscándolos en el disco duro.

Modifica la propiedad Font seleccionando el color y el tipo de letra que quieras. En el formulario añade una etiqueta de texto y escribe en la propiedad Caption el título del programa: TEST DE CAPITALES. . Selecciona en la opción File del menú New Project y elige crear un projecto en blanco (Blank project).Programas educativos. En este ejemplo vas a crear un programa de preguntas y respuestas con un contador de aciertos.

Escribe las preguntas que ves en la imagen y pulsa OK cuando termines.En la pestaña de componentes selecciona el componente ListBox (lista de elementos) y arrastra con el ratón sobre el formulario para situarlo. haz doble click sobre la propiedad Items. Ahora vas a añadir otro componente: el TcomboBox que sirve para seleccionar un elemento de una lista. Modifica sus propiedades Font (Times New Roman 14 y color Blanco) y Color (Fondo del ListBox). Para modificar el espacio que hay entre las líneas. . Cambia el nombre a Preguntas (propiedad Name) y sitúalo centrado en la parte superior del formulario. cambia el valor de la propiedad ItemHeight (altura de las lineas) a 25. Selecciónalo y arrastra sobre el formulario para situarlo. Para introducir texto en este componente.

ItemHeight y Name (llama al componente Respuestas). de la propiedad Items y escribe el nombre de las capitales como ves en la imagen. Color.. . Para escribir el texto con las respuestas pulsa sobre los .Modifica las propiedades Font..

Cuando lo encuentres pulsa Aceptar y despues OK y tendrás un botón con icono. realice alguna acción haz doble click sobre el evento OnClick de la pestaña Events. En este ejemplo se ha seleccionado el icono llamado check2. a diferencia del componente Tbutton. explora en la unidad compartida de red //PC3/AULA/ICONS.. es decir. para que al pulsarlo con el programa funcionando. de la propiedad para que aparezca el editor de imágenes (Picture Editor). Para buscar una imagen y ponérsela al boton.Para mostrar los aciertos añade un componente Tlabel y llámalo Contador (propiedad Name). Pulsa sobre los . permiten introducir una imagen (o icono) junto al texto del botón (propiedad glyph). Para añadir código al botón.bmp. en Caption pon un cero) Y por último inserta en el formulario un botón con icono (Componente BitBtn en la pestaña Additional) y modifica sus propiedades: Llámalo Corregir (propiedad Name). .. Estos componentes.

Cuando aparezca la pantalla con el código. añade entre las lineas begin y end. las instrucciones que ves en la imagen: .

La variable N se define en la zona de variables: var Form1: TForm1..Contador. N :Integer. begin N:=N+1.Caption:=IntToStr(N). . Guarda el programa llamando TRIVIAL. Form1. para contar las respuestas acertadas. Pulsa Run.PAS al código (Unit1) y PRTRIVIA. 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.También necesitas añadir al código del programa una variable numérica N. ShowMessage('Bien') end..DPR al projecto. . y el procedimiento escríbelo completo a continuación del anterior (CorregirClick): Procedure Aciertos.

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). En Internet es la forma más usual de mostrar animaciones en las páginas Web. Por lo general suelen ser pocas secuencias (6. 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). que representan la secuencia de la animación. una al lado de otra. . 8 o 10). Consisten en un fichero BMP o GIF que contiene varias imágenes.IMAGENES ANIMADAS Ade más de los fiche ros AVI. Al reproducirse de forma continuada dan la sensación de movimiento.

Continuous:=True. otro botón y llá Desactivar. Ahora introduce en el formulario dos componentes Tbutton (botones de control) para controlar la animación.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). Ahora puedes poner en march programa pulsando Run y comp cómo los botones de control activ desactivan la animación (ponen propiedad Continuous a True o a Fa . 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. El código que debes a es: Veleta.Continuous:=False.Haz doble click sobre su propiedad Picture y busca en la unidad compartida de red (//PC3/AULA/ANIMAGE) el fichero (anemome2. Añade al lado. Para ver el efecto inmediatamente pon la propiedad Continuous a True.

Con este ejemplo se podría controlar un dispositivo conectado a un puerto del ordenador. activándolo .Prueba a insertar otro BMP diferente en el componente TanimImage y modifica su propiedad ImageCount según el número de cuadros que tenga. APLICACIONES DELPHI Con Delphi pueden crearse simulaciones de control de periféricos.

Pon su propiedad AutoOpen a True y en la propiedad Display pon Panel1 para que se reproduzca dentro del panel.mediante la introducción de una clave.text='abcd' mediaplayer1. Ya sólo queda introducir el código de programa necesario (doble click en el evento OnChange) para que al escribir la clave correcta se active el reproductor multimedia mostrando la película: procedure TForm1.play.AVI utilizando la propiedad FileName del control MediaPlayer. Inicia un proyecto en blanco y añade un control Tpanel. begin if clave. Borra la propiedad Caption para que no aparezca el nombre: Inserta un control MediaPlayer para reproducir un fichero de película: Busc a en la unidad compartida PC1/AULA el fichero PUERTA. then .claveChange(Sende r: TObject). Ahora introduce en el formulario un control Tedit para poder introducir un texto por teclado.Llámalo Clave (propiedad Name).

activando el bit de menor peso (20 ).end.claveChange(Sender: TObject). 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: procedure TForm1. end. begin if clave.play.text='abcd' then mediaplayer1. PORT[$378]:=$01. La instrucción PORT[ $378 ] envía al puerto paralelo del ordenador (puerto de impresora) el byte 00000001. . Para desactivarlo escribiríamos la instrucción PORT[$378]:=$0 Observa que los números que representan la dirección y el valor del byte están en formato hexadecimal.

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.TIPOS DE DATOS EN DELPHY Integer Números enteros comprendidos entre -32768 y 32767. 16 bits (ocupan 2 bytes cada uno en la memoria) LongInt Números enteros comprendidos entre -2147483647 y 2147483647 32 bits (ocupan 4 bytes cada uno en la memoria) ShortInt Números negativos y positivos enteros comprendidos entre -128 y 127. 8 bits (ocupa 1 byte cada uno en la memoria) Real Números de coma flotante de 11 a 12 decimales significativos (delante y detrás de la coma). ocupan 6 bytes cada uno en la memoria Single .

solo es posible si está activada la opción de compilador {$N+}. cuyas variables pueden tomar los valores True (verdadero) o False (falso) . ocupan 10 bytes cada uno en la memoria Comp Números de coma flotante de 19 a 20 cifras delante y detrás de la coma. solo es posible si está activada la opción de compilador {$N+}. ocupan 4 bytes cada uno en la memoria Double Números de coma flotante de 15 a 16 cifras delante y detrás de la coma. ocupan 8 bytes cada uno en la memoria String Secuencia de símbolos con una longitud máxima de 255 caracteres ASCII* Char Caracteres ASCII simples Pchar Puntero a una cadena terminada en carácter nulo Pointer Punteros que pueden apuntar a cualquier estructura de datos. solo es posible si está activada la opción de compilador {$N+}. sin enlace con un tipo concreto(denominados punteros sin tipo) Booleam Tipo de Datos Booleano.Números de coma flotante de 7 a 8 decimales significativos. ocupan 8 bytes cada uno en la memoria Extended Números de coma flotante de 19 a 20 cifras delante y detrás de la coma. solo es posible si está activada la opción de compilador {$N+}.

puesto que en la mayoría de los casos existen controles ya creados sin necesidad de tener que programarlos. que escribe parte del código automáticamente. 5. En muchos casos no es necesario conocer el funcionamiento de la programación orientada a objetos para programar con Delphi. los componentes de la paleta. Componentes . por eso vamos a ver de forma somera solo algunas de las características de que dispone Delphi. Para ello. y otras se definen en nuestra propia aplicación (por ejemplo el componente TPostIt de ANALOGIA. etc). objetos no visuales. 4.EXE definido en la unit U_Misc). sus características y su funcionamiento. por lo que es fundamental conocer la mecánica que Object Pascal utiliza para describir un objeto. Prácticamente todos los elementos del entorno Delphi son objetos. sobre todo a la hora de que el programador cree sus propios componentes. Objetos Componentes Propiedades Eventos Métodos Objetos Como su propio nombre indica. que unas veces se encuentran definidos de antemano (los forms.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). 2. hace posible utilizar objetos de forma práctica sin tener por qué comprender al cien por cien su funcionamiento. el Object Pascal (usado por Delphi) es un lenguaje totalmente orientado a objetos. Por ejemplo en ANALOGIA. 3. Todo el desarrollo de aplicaciones en Delphi está íntimamente ligado con la definición y uso de objetos. principalmente aquellas que le diferencian más del Pascal estándar. vamos a introducir una serie de conceptos: 1. 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.Conceptos básicos en la programación con Delphi No es el objeto del presente proyecto hacer un repaso exhaustivo de la programación en Pascal.

Para ello nos serviremos de las propiedades de cada objeto. usado en ANALOGIA. tanto si su función es visual como si no lo es (por supuesto un componente es también un objeto). Además hay algunas propiedades que son de sólo lectura. métodos y eventos que caracterizan al componente. y otras que son sólo de escritura. por lo que su valor puede ser consultado.Un componente es cualquiera de los elementos que podemos insertar en una ficha. por lo que sería inapropiada su lectura. Propiedades Los componentes. Esta propiedad podría ser un ejemplo de propiedad de sólo escritura. De esta forma. por lo que mientras estamos diseñando la ficha no aparecerán. ya que sólo interesa mandar el mensaje al ordenador remoto. o bien mediante el código del programa. se les denomina controles. de forma que la reusabilidad del código es máxima.EXE para dibujar las gráficas. podríamos tal vez asignar una cadena de caracteres a una hipotética propiedad "Envia". sin conservar información acerca del mensaje. en tiempo de ejecución. A los componentes que cuentan con una parte visual. por lo que a la hora de usarlos de alguna forma deberemos adecuarlos a nuestras necesidades. Si por ejemplo tuviésemos un componente para comunicaciones serie que se encargase de enviar mensajes a un ordenador remoto. Se puede pensar en las propiedades como si fuesen variables pertenecientes a un objeto (veremos que no es así exactamente). sino también a qué objeto pertenece. Ciertas propiedades están sólo accesibles en tiempo de ejecución. Por supuesto el usuario puede crear sus propios componentes y usarlos en distintas aplicaciones. las propiedades pueden parecer simples variables. a través de los cuales se "maneja" el componente en la forma deseada. y de hecho todos los objetos de Delphi son de uso general. La modificación o consulta del valor de una propiedad puede diferir según intentemos acceder a ella mientras estamos diseñando un form. 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. el tipo de letra de una etiquetade texto o el color en el que aparecen los distintos controles. pero no modificado. en la mayoría de las ocasiones una propiedad no es una variable. Aunque a primera vista si usamos un componente prefabricado. de tal forma que para acceder a ellas generalmente habrá que indicar no sólo el nombre de la propiedad. el programador manipula una serie de propiedades. Sin conocer exactamente el cómo realiza su función. y la modificación o consulta de su valor puede conllevar que internamente el componente ejecute un cierto código. Eventos . como puede ser un botón. Un ejemplo de componente puede ser RChart. en tiempo de diseño. mediante las cuales podremos establecer el título de una ventana.

activaciones de los componentes. la programación en el entorno Windows se caracteriza por estar dirigida por eventos. pudiendo necesitar o no el paso de algún parámetro. . podría interesarnos que se ejecutara un evento cada vez que se recibiese un carácter por el puerto serie. El hecho de que cada objeto sea propietario de una serie de propiedades y métodos. y no sobre cualquier otro. y un tercer grupo serán los que lleguen hasta nuestro programa. el teclado o un temporizador. En Delphi prácticamente todo el código que escribimos irá asociado a algún evento. como puedan ser el ratón. aunque también es posible definirlos de tal modo que sean accesibles a otros objetos Características Los métodos pueden marcarse como inline. variables y código. otros quedarán a cargo del propio lenguaje que estemos usando. que no son accesibles a ningún otro objeto externo. Al igual que ocurre en las propiedades. recibe el nombre de encapsulación. Normalmente los eventos a los que reaccionarán los componentes serán las pulsaciones del teclado o el ratón. Métodos Los componentes Delphi además de disponer de propiedades y poder responder a ciertos eventos. que en caso de aceptarlos deberán responder adecuadamente de ellos. Un método es un procedimiento o función que nos permite realizar una determinada acción en el componente. Estos eventos son redirigidos a las aplicaciones. Si retomamos el ejemplo del componente para comunicaciones serie. habitualmente también disponen de métodos. de tal forma que la acción del método recaiga sobre él. de tal forma que un programa no tiene por qué ejecutarse necesariamente de forma secuencial. Ciertos eventos pueden ser gestionados por el propio Windows. 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. sino que ciertas porciones de código se ejecutarán cuando ocurra un cierto evento. a la hora de usar un cierto método normalmente tendremos que indicar primero el objeto o componente al que pertenece.Como dije anteriormente. etc. Los eventos son señales que el entorno recibe desde distintos elementos.

Una clase puede marcarse como sealed y no podrá ser derivada.. Poliformismo Capchionamiento. protected crea un miembro visible únicamente en la clase donde se declara y sus descendientes. Una clase puede contener una declaración de tipo que se podrá utilizar únicamente dentro de esa clase. Herencia(agregar atributos). La declaración de un tipo puede contener la declaración de una clase. private crea una relación friend entre las clases de la misma unidad. Class Helpers: son clases que asociadas con otras clases.eventos. Un método virtual sobreescrito puede marcarse como final impidiendo así que sea sobrecargado en las clases derivadas.metodos. Tiene atributos. eSta orientado a objetos.Ciertas funciones u operadores pueden ser sobrecargados. Los registros pueden tener propiedades y métodos. Soporte de iteración sobre contenedores. Las clases pueden tener constantes de clase: un valor constante asociado con la clase en sí y no con una instancia de la clase. introducen métodos y propiedades adicionales que pueden ser utilizadas en el contexto de las clases asociadas o sus descendientes.. como por ejemplo: for Element in ArrayExpr do Stmt. Una clase puede tener variables de clase aplicable únicamente a la clase y no a una instancia. ……………………………………………………………………………………… ……………………………………………………………………………………… .(puede manipularlo pero no cambiarlo). Las clases pueden ser declaradas abstractas. Las clases pueden tener métodos estáticos de clase.

0. Var Use Case Key—preciona tecla Else Case Goto Until .(a-z) <.9 And.=. Palabras recervadas Begin And Do Not If Program While For Try….>. #.>=.<=.<>.Símbolos especiales… (A-Z). not… Howmessage(‘hola’). or.

Sign up to vote on this title
UsefulNot useful