Curso de Delphi 7
Curso de Delphi 7
Curso de Delphi 7
-1-
Curso de Delphi 7 – Por aht1980 y turi8
2. Introducción
¿Qué es Delphi?
3. Comenzando …
Bien, primeramente me gustaría aclarar que esta guía esta hecha para usuarios que
tengan conocimiento del trabajo y manejo del Sistema Operativo Windows.
Supongo que Ud. Conozca como manejar ventanas, usar programas, etc. En fin que
sepa Trabajar en Windows como un usuario normal.
Funcionamiento de Windows.
Debemos saber que Windows gestiona sus recursos (Mouse, Teclado, Pantalla) a
través de mensajes, es decir cuando se mueve el ratón Windows envía un mensaje
que diga que se movió el ratón, entonces es tarea de la aplicación en curso que
hacer con el movimiento del ratón; la aplicación puede ejecutar un código, cambiar
una propiedad, etc.; eso depende con fin que se haya realizado la aplicación.
-2-
Curso de Delphi 7 – Por aht1980 y turi8
Delphi utiliza una librería de componentes llamada VCL (Visual Components Library)
que nos brinda una serie de objetos y que nos da la posibilidad de utilizar los
objetos sin necesidad de llamar a las distintas API de Windows para que dibujen en
pantalla el componente, podremos además manipular a nuestro antojo el
componente, cambiándole las propiedades como el nombre, el Caption o cosas
así..., además de poder controlar de una manera muy fácil los distintos eventos que
podría generar. A la hora de trabajar con los componentes mediante código, la
sintaxis es la siguiente:
NombreDeComponente.PropiedadATrabajar
-3-
Curso de Delphi 7 – Por aht1980 y turi8
Veamos que en esta imagen hemos señalado unas palabras en un cuadrado verde,
vamos a explicar que son estas palabras.
-4-
Curso de Delphi 7 – Por aht1980 y turi8
Estas palabras se llaman Palabras Reservadas, es decir que son palabras que Delphi
las reconoce como parte de lo que el utiliza para reconocer el código. A
continuación explicaremos las Palabras Reservadas puestas en la Imagen:
Interface : Hace constar que lo que le sigue a este palabra es parte de la interfaz
del formulario.
Uses : En ella especificamos los distintos módulos que cargara nuestro programa y
que se incluirán en el ejecutable una vez compilado para que esté tenga una
independencia total del compilador, cuando insertamos un componente se añade a
ella la clave para que se cargue el modulo que permite acceder a ese componente,
asi por ejemplo si añadimos un componente de la pestaña "Estándar" al ejecutar el
programa se añade automáticamente la palabra "StdCtrls".
Var : Sirve para definir variables en cualquier sitio, si se pone en ese lugar,
definiremos una variable que puede ser utilizada en todos los procedimientos del
programa, si la definimos dentro de un procedimiento solo se podrá usar en él.
3.3.4.2 Comentarios
-5-
Curso de Delphi 7 – Por aht1980 y turi8
4.1 Variables
Una pieza clave en todas las aplicaciones son las variables y el buen control de
estas. Una variable puede contener varios tipos de datos y pueden ser modificadas
en todo el programa si las declara como globales, o bien por todos los formularios
(Si las declara publicas) o en un determinado evento (Si las declara en ese evento).
Para definir una variable pública has de remitirte a la sección "Public" que
encontraras debajo de "Type" y utilizar la siguiente sintaxis:
Variable : Tipodevariable;
Si lo que quiere es definir una constante que no vaya a variar en todo el programa
utilice esta sintaxis:
Pero si lo que quiere es definir variables que puedan ser modificadas a lo largo del
programa, deberá saber que en delphi existen varios tipos de variables, las más
importantes son:
A continuación les pongo una tabla con las conversiones mas utilizadas...
Es importante conocer tanto los eventos propios de cada objeto como sus
propiedades, por eso aquí les voy a mostrar una serie de propiedades generales
que creo se adaptan a todos los objetos posibles.
-6-
Curso de Delphi 7 – Por aht1980 y turi8
Cursor Especifica el cursor que se mostrara cuando el ratón este sobre ese
objeto
Default (Botones) Especifica si ese botón Será el que se ejecute solo con dar un enter
o no.
Enabled Especifica si el objeto estará accesible al usuario
Font Pos eso la fuente del texto de ese objeto
Heigth El alto del objeto
Width El ancho del objeto
Hint El texto de explicación que mostrara cuando el ratón este sobre él
ShowHint ¿Mostramos o no la hint?
Visible Especifica si Será visible o no.
4.4 Eventos
Un evento es la acción que se desencadena tras por ejemplo pulsar un botón, los
eventos están controlados por los mensajes que emite Windows, asi por ejemplo
cuando pulsamos un botón, se produce un mensaje, el cual es recibido e
interpretado por nuestro programa que hace que se desencadene el evento al que
hace referencia ese mensaje.
Algunos de los eventos mas comunes y presentes en casi todos los objetos son:
Procedure ElevaMayusculas(Texto:String);
begin
Uppercase(texto);
end;
4.6 Condiciones
-7-
Curso de Delphi 7 – Por aht1980 y turi8
If Condición=Verdadera then
CODIGO
Else
CODIGO
Otra forma de expresar las condiciones es: ' case of ', lo que hace es
seleccionar un identificador y ver que valores toma y en relación a ello optar
por hacer algo o hacer otra cosa, este tipo de condición no acepta como
identificador ni como valores a cadenas de texto, su sintaxis es la siguiente:
case Identificador of
1 : begin Showmessage ('Hola'); end; // En caso de que tome el valor 1,
muestra un mensaje diciendo hola.
2 : begin Showmessage ('Adios'); end; // En caso de que tome el valor 2,
muestra un mensaje diciendo adios.
end; // Acabamos
FOR
For I:= 0 to 100 do // Desde el contador (i) igual a 0 hasta 100 hacer (si
fuera downto iría para abajo)
begin
CODIGO; // El código que se ejecutara...
End; // Acabamos el bucle.
WHILE
REPEAT-UNTIL
Repeat // Repite...
-8-
Curso de Delphi 7 – Por aht1980 y turi8
V := v + 1; // Este codigo
Until // Hasta
v > 100; // Que v > 100
Bien, casi siempre que leemos una guía de programación, nos damos
cuenta que siempre se empieza con un programa llamado Hola Mundo,
que lo único que hace es mostrar un mensaje que diga “Hola Mundo”.
5.1.2 Formulario
-9-
Curso de Delphi 7 – Por aht1980 y turi8
Quizás para algunos, esto parece una ventana común y corriente con
puntitos en el medio, pues están en lo cierto, pero se debe decir que es un
ventana en fase de diseño, los puntitos forman una rejilla (grid). Esta
ventana tiene un botón de Cerrar, Maximizar, Minimizar, un Icono (Icon), y
un Nombre (Caption).
- 10 -
Curso de Delphi 7 – Por aht1980 y turi8
¿Caption = Name?
Todos los componentes tienen una propiedad llamada Name, que es la
propiedad que les permite identificarse de los demás componentes, esta
propiedad se puede cambiar para facilitarnos la etapa de programación del
código, por ejemplo: tenemos una aplicación con muchos botones, entonces
nos damos cuenta que seria muy engorroso trabajar con 30 botones
identificándolos como Button1, Button2, Button3, etc., entonces podemos
cambiarle el nombre a estos botones ha algo mas lógico y fácil de recordar,
si tenemos un botón que lo que haga es cerrar el programa, le podemos
cambiar la propiedad Name a BotonCerrar .
- 11 -
Curso de Delphi 7 – Por aht1980 y turi8
Ven que dentro del mismo se crea un Procedimiento que hace referencia al
evento onClick del Button1, que esta en el Form1.
End;
ShowMessage(‘Hola Mundo’);
- 12 -
Curso de Delphi 7 – Por aht1980 y turi8
Veamos que los puntitos desaparecieron, bien, les habia dicho que
anteriormente el formulario estaba en forma de diseño, ahora esta
corriendo como una aplicación, o lo que se dice en Ingles RunTime. Ahora
si hacemos click en el Botón, veremos un mensaje diciendo Hola Mundo
- 13 -
Curso de Delphi 7 – Por aht1980 y turi8
AlphaBlend: Esta propiedad puede ser True o False, lo que significa que si
esta en falso no se tomará en cuenta, pero de lo contrario esto significaría
que el Formulario y todo en su interior será medio transparente de acuerdo
al valor de la propiedad que le Sigue AlphaBlendValue, esta trae un valor
numérico, por defecto trae el 255, que es el máximo que admite, es decir, si
esta en 255, el formulario se verá normal, si es menor se ira haciendo
transparente la imagen.
BorderIcons: Es una propiedad que como su nombre lo dice son los iconos
del borde, es decir los iconos del área de cerrar, minimizar, maximizar un
formulario. Este trae cuatro propiedades internas:
biMaximize: Botón de Maximizar
biMinimize: Botón de Minimizar
biSystemMenu: Indica si mostrar el submenú(se explica mas adelante) al
hacer click derecho en el icono de la aplicación, o en la barra de titulo.
Además elimina los botones de Maximizar, Cerrar, y Minimzar
biHelp: Botón de Ayuda que traen algunas ventanas de Windows, cuando lo
pulsas el cursor te cambia a una flechita con un signo de ayuda.
5.1.3 Mensajes
Bien, ahora quisiera explicarles algo mas sobre los Mensajes. Para el
ejemplo Hola Mundo utilizamos la función:
ShowMessage(‘String’);
Te habrás fijado que no te deja otra opción que contestar, porque sino este
hará caso omiso. Esa característica de los cuadros de mensajes se llama
Modal, y en general es aplicable a todas las ventanas. Cuando se activa
una ventana modal el programa que invocó a esa ventana se detiene en
espera de que se cierre esta, y si es el caso devuelva un resultado, que
normalmente es la acción del usuario.
- 14 -
Curso de Delphi 7 – Por aht1980 y turi8
Pero sin embargo podíamos haber utilizados otras funciones mas complejas,
pero a su vez mas serias..
1. ShowMessage
2. ShowMessagePos
Esta tipo es igual al anterior pero tiene dos detalles más, que son dos
valores que indican las coordenadas donde se mostrará el cuadro. Para
indicar unas coordenadas dentro de la pantalla tienes que conocer el
tamaño de la misma. Estas coordenadas son Alto y Ancho. (Heigth y Width).
Respectivamente.
begin
ShowMessagePos('Cuadro con Coordenadas', Screen.Width div
3,Screen.Height div 3);
End;
- 15 -
Curso de Delphi 7 – Por aht1980 y turi8
Sin embargo, deben haber notado algo que no ha sido explicado en ese
código, si de hecho hay algo que no explique, el uso del comando DIV, que
significa Dividir , en resumen lo que hacemos con Screen.Width DIV 3, es
Dividir por 3 el ancho de la pantalla por 3.
3. MessageDlg
• mtIformation
• mtWarning
• mtError
• mtConfirmation
• mtCustom
- 16 -
Curso de Delphi 7 – Por aht1980 y turi8
• mbYes
• mbNo
• mbOk
• mbCancel
• mbAbort
• mbRetry
• mbIgnore
• mbAll
• mbHelp
Cuando pones los tipos de botones que deseas debes ponerlos entre
corchetes ([ ]), y seguidos de una coma. Otra opción es poner un serie de
botones predefinidos, pero si lo haces no pongas los corchetes. Los tipos de
botones predefinidos son:
• mbYesNoCancel
• mbAbortRetryIgnore
• mbOkCancel
• mrNone
- 17 -
Curso de Delphi 7 – Por aht1980 y turi8
• mrAbort
• mrYes
• mrOk
• mrRetry
• mrNo
• mrCancel
• mrIgnore
• mrAll
Observa que el valor de la constante tiene el nombre del botón pulsado, así
en el ejemplo cuando es pulsado el botón mbYes, el valor devuelto es
mrYes. Ten cuidado no vayas a esperar la pulsación de un botón que nos
has puesto en el cuadro, porque nunca te devolverá ese valor la función.
4. MessageDlgPos
begin
MessageDlgPos ('texto' , tipo de cuadro, botones, índice de ayuda,
coordenada X, coordenada Y);
End;
Te habrás dado cuenta que todos estos cuadros están en inglés, pero
tenemos la opción de ponerlos en castellano. Para eso utiliza la opción
sgte.:
5. MessageBox
Application.MessageBox('Mensaje','Titulo',mb_okCancel+mb_IconExclamatio
n);
- 18 -
Curso de Delphi 7 – Por aht1980 y turi8
• IdAbort
• IdCancel
• IdIgnore
• IdNo
• IdOk
• IdRetry
• IdYes
Los botones que puedes utilizar son solo las combinaciones de botones
predefinidas que listé más arriba. Y los tipos de iconos son:
• Mb_IconAsterisk
• Mb_IconError
• Mb_IconExclamation
• Mb_iconHand
• Mb_IconInformation
• Mb_IconQuestion
• Mb_IconStop
- 19 -
Curso de Delphi 7 – Por aht1980 y turi8
• Mb_IconWarning
Ejemplo de Comprobación:
Case…Of
begin
case
Application.MessageBox('Mensaje','Titulo',mb_okCancel+mb_IconExclamatio
n) of
ID_OK: ShowMessage('Aceptar');
ID_CANCEL: ShowMessage('Cancelar')
end;
end;
- 20 -
Curso de Delphi 7 – Por aht1980 y turi8
Bueno, esta la fase de diseño del Menú. Delphi nos facilita esta tareíta,
porque seria muy difícil ir declarando por código cada uno de los ítems del
Menú .
Bien, vamos a crear un menú simple, bueno al hacer doble click en el icono
del Menú nos encontramos con la imagen de arriba, y se encuentra
seleccionado un rectángulo, el mismo es el primer ítem del Menú, es decir,
es un componente que tiene propiedades, por lo que en el Object Inspector
buscaremos su propiedad Caption, y pondremos hay el nombre que quieras,
en este caso por &Archivo bien, te preguntaras porque &…, este símbolo,
Delphi lo reconoce como la rayita que subraya a una letra en los menús,
para poder navegar por los mismos usando la tecla ALT. Al escribir &Archivo
y pulsar ENTER, se crea automáticamente un Ítem debajo de el que ya
teníamos, en el cual vamos, con el mismo procedimiento ha escribir &Salir,
para poder salir del programa mediante ese Menú. Bien, si hacemos doble
Click en el Menú Salir, (Salir1) nos saldrá el Code Explorer, para poner un
código refiriéndose al evento OnClick, en este caso usaremos una función
para cerrar el programa.
- 21 -
Curso de Delphi 7 – Por aht1980 y turi8
Begin
Form1.Close; // Form1, puede variar de acuerdo al nombre del Formulario
End;
ShortCuts
- 22 -
Curso de Delphi 7 – Por aht1980 y turi8
El trabajo con los submenús es igual de los menús, solo que para crearlos
debes hacer click derecho y verás algo así:
- 23 -
Curso de Delphi 7 – Por aht1980 y turi8
- 24 -
Curso de Delphi 7 – Por aht1980 y turi8
- 25 -
Curso de Delphi 7 – Por aht1980 y turi8
Se darán cuenta de que hay cuatro Menús, y ninguno de sus Ítems tiene un
ShortCut activado, lo he dejado así para que usted pueda ponérselos como
usted quiera.
Bien ahora insertaremos un Componente Memo de la Paleta Estándar, que
será donde se escribirá el texto. Ahora, en su propiedad Align pondremos
alClient, para que cubra toda el formulario. Luego en la Propiedad Lines
(del tipo StringList, que guardara una lista de string) la editamos haciendo
clic en el boton (…) que aparece, y al salir el String List Editor le borramos lo
que dice Memo1.
- 26 -
Curso de Delphi 7 – Por aht1980 y turi8
Un dialogo se ve así:
- 27 -
Curso de Delphi 7 – Por aht1980 y turi8
- 28 -
Curso de Delphi 7 – Por aht1980 y turi8
- 29 -