Lección 1- Conociendo Delphi XE

4 comentarios

Conociendo Delphi XE

Delphi es uno de los entornos de desarrollo RAD (Desarrollo Rápido de Aplicaciones), más respetado y extensamente utilizado hoy. Más de 1,7 millones de desarrolladores a lo largo de todo el mundo eligen Delphi sobre otras herramientas, porque Delphi acelera radicalmente el desarrollo de aplicaciones de escritorio, estaciones de trabajo, táctiles, terminales de punto de venta, y Web sin sacrificar ni una pizca de potencia o control en la programación.

Las aplicaciones creadas con Delphi son rápidas, compactas, proporcionan UI’s ricos, y pueden conectarse con virtualmente cualquier base de datos o fuente de datos tal y como viene de fábrica. Con Delphi, puedes:

  • Reducir RADicalmente el tiempo de desarrollo y construir aplicaciones Windows hasta 5 veces más rápido que con otras soluciones de desarrollo
  • Acelerar la manera en que pasas del prototipo a producción con herramientas de arrastrar y soltar y una potente biblioteca de componentes
  • Liberar a tus clientes del teclado con deslumbrantes UI’s basados en funcionamiento táctil

Características principales de Delphi:

  • IDE RAD con diseño rápido de arrastrar y soltar
  • Más de 250 controles VCL
  • Soporte integrado táctil y de gestos
  • dbExpress con soporte para las 9 principales bases de datos
  • Middleware DataSnap para n-capas con JSON, REST, HTTP, COM, y XML
  • Soporte para depurar aplicaciones con múltiples hilos
  • UML / métricas de código y auditorías
  • Despliegue en Windows 2000, XP, Vista, y Windows 7 con el mismo código

Delphi XE está disponible en las ediciones Professional, Enterprise, y Architect.

Novedades que encontrarás en Delphi XE

RAD Studio XE te ayuda a ir más lejos y llegar más rápido con más de 120 características nuevas y mejoradas que te ayudan a finalizar los proyectos más rápido y alcanzar a más usuarios. Las características nuevas y mejoradas incluyen:

Reduce el tiempo de desarrollo con el nuevo IDE y herramientas de depuración.

Herramientas nuevas y mejoradas para codificar, depurar y compilar.

  • IDE Insight para acceder fácilmente a las características, configuraciones y componentes.
  • Formateador de código.
  • Visualizadores de depuración de datos.
  • Depuración de múltiples hilos.
  • Compilación en segundo plano.
  • Explorador de Clases C++.

Crea aplicaciones táctiles.

Construye rápidamente aplicaciones basadas en GUI táctiles, tabletPC, dispositivos táctiles, y terminales digitales.

  • Más de 30 gestos incluidos y la creación de gestos propios.
  • Funciona en Windows 2000, XP, Vista, y Windows 7.
  • Permitir fácilmente capacidades táctiles en aplicaciones existentes.
  • Teclado táctil en la pantalla.

Firebird, DataSnap, y más.

Haz la conexión con más datos y más arquitecturas de aplicación.

  • Conectividad a bases de datos Firebird.
  • Drivers actualizados para Microsoft SQL Server, Oracle y MySQL.
  • Soporte para DataSnap callbacks, filtrado, HTTP, REST y JSON

Lección 2 – Introducción a Delphi.

Deja un comentario

¿Que es Delphi?

Delphi (se pronuncia “dél-fi”), también conocido como Borland Delphi, Delphi, aunque Borland ya no existe ahora,Delphi es un compilador, una IDE y un lenguaje de programación, producido antiguamente por la Borland Software Corporation y actualmente producido por la empresa Embarcadero. El Delphi, originalmente direccionado para la plataforma Windows, llegó a ser usado para desarrollo de aplicaciones nativas para LinuxMac OS, a través del Kylix (el Kylix es un IDE para los lenguajes C++Object Pascal), y para el framework Microsoft .NET en sus versiones más recientes.

El desarrollo del Kylix fue descontinuado.

Actualmente hay un proyecto llamado Lazarus, el que posee una interfaz muy semejante al Delphi (aunque se ve un poquitín avejentado, pero es muy bueno) y la característica de ser multiplataforma, o sea, funciona en LinuxWindowsOS/2Mac OS y más.

El nombre Delphi es inspirado en la ciudad de Delfos, el único lugar en la Grecia antigua en que era posible consultar el Oráculo de Delfos. El nombre se debe al hecho de que los desarrolladores del compilador buscaban una herramienta capaz de acceder el banco de datos Oracle - de ahí el dicho: “la única manera de acceder al oráculo es usando Delphi“.

Aplicaciones

El Delphi es muy utilizado en el desarrollo de aplicaciones de escritorio, aplicaciones multicapas y cliente/servidor, compatíble con los bancos de datos más conocidos del mercado. El Delphi puede ser utilizado para diversos tipos de desarrollo de proyecto, comprendiendo desde Servicios, Aplicaciones Web y CTI.

Características Técnicas

El Delphi es un ambiente de desarrollo de softwares con las siguientes peculiaridades:

  1. Visual: La definición de la interfaz e incluso de parte de la estructura de un aplicativo Delphi puede ser realizada con el auxílio de herramientas visuales. Por ejemplo, una pantalla es creada con un simple clic y un botón, seleccionando esta imagen en una barra de herramientas y clicando sobre la pantalla donde él debe aparecer;
  2. Orientada a Objetos: Los conceptos de clase, herencia y polimorfismo son abarcados por el lenguaje de programación del Delphi, el Object Pascal. Esta no es, sin embargo, un lenguaje puramente orientado a objeto como Smalltalk y Eiffel;
  3. Orientada a Eventos: Cada elemento de una interfaz de aplicativo es capaz de capturar y asociar acciones a una serie de eventos;
  4. Compilada: La generación de código en lenguaje de máquina acelera la ejecución de los aplicativos.

Componentes

Delphi dio una implementación muy buena a la idea del uso de componentes, que son piezas reutilizables de código (clases) que pueden interactuar con el EID en tiempo de diseño y desempeñar una función específica en tiempo de ejecución. Desde un enfoque más específico de la herramienta, se catalogan como componentes todos aquellos objetos que heredan de la clase TComponent, donde se implementa la funcionalidad necesaria para interactuar con el entorno de desarrollo, la carga dinámica desde streams y la liberación de memoria mediante una jerarquía. Una gran parte de los componentes disponibles para Delphi son controles (derivados de TControl), que encapsulan los elementos de interacción con el usuario como botones, menus, barras de desplazamiento, etcétera.

Delphi incluye una biblioteca de clases bien diseñada denominada VCL (Visual Component Library, Biblioteca de Componentes Visuales) y, en sus versiones 6 y 7, una jerarquía multiplataforma paralela denominada CLX. Ésta también se incluye en Kylix. Estas jerarquías de objetos incluyen componentes visuales y no visuales, tales como los pertenecientes a la categoría de acceso a datos, con los que puede establecerse conexiones de forma nativa o mediante capas intermedias (como ADO, BDE u ODBC) a la mayoría de las bases de datos relacionales existentes en el mercado. La VCL también está disponible para el desarrollo en .NET.

Además de poder utilizar en un programa estos componentes estándar (botones, grillas, conjuntos de datos, etc.), es posible crear nuevos componentes o mejorar los ya existentes, extendiendo la funcionalidad de la herramienta. En Internet existe un gran número de componentes, tanto gratuitos como comerciales, disponibles para los proyectos a los que no les basten los que vienen ya con la herramienta.

Eventos

Delphi permite de manera sencilla ejecutar trozos de código en respuesta a acciones o eventos (sucesos) que ocurren durante el tiempo que un programa se ejecuta. Por ejemplo, cuando se presiona un botón, la VCL captura la notificación estándar de windows, y detecta si hay algún método asociado al evento OnClick del botón. Si lo hay, manda ejecutar dicho método.

Los eventos pueden generarse debido a la recepción de señales desde elementos de hardware como el ratón o el teclado, o pueden producirse al realizar alguna operación sobre un elemento de la propia aplicación (como abrir un conjunto de datos, que genera los eventos BeforeOpen/AfterOpen). La VCL ha demostrado estar bien diseñada y el control que se tiene a través de los eventos de la misma es suficiente para la gran mayoría de aplicaciones.

AfterDelete Se produce despues de el borrado de un registro AfterEdit Después de editar un registro AfterInsert Después de Insertar After Post Después de grabar los datos BeforeCancel Antes de cancelar la operación BeforeClose Antes de que se cierra la tabla BeforeDelete Antes de borrar BeforeEdit Antes de editar el registro actual BeforeInsert Antes de insertar un registro BeforeOpen Antes de abrir la tabla BeforePost Antes de guardar los datos OnCalcFields Se produce cuando se va a calcular el valor de un campo OnDeleteError Cuando se produce un error al borrar un registro OnEditError Cuando hay un error al editar un registro OnFilterRecord Cuando se activa el filtrado OnNewRecord Cuando se añade un registro OnPostError Cuando hay un error durante el grabado de datos.

Base de datos

Una de las principales características y ventajas de Delphi es su capacidad para desarrollar aplicaciones con conectividad a bases de datos de diferentes fabricantes. El programador de Delphi cuenta con una gran cantidad de componentes para realizar la conexión, manipulación, presentación y captura de los datos, algunos de ellos liberados bajo licencias de código abierto o gratuitos. Estos componentes de acceso a datos pueden enlazarse a una gran variedad de controles visuales, aprovechando las características del lenguaje orientado a objetos, gracias al polimorfismo.

En la paleta de componentes pueden encontrarse varias pestañas para realizar una conexión a bases de datos usando diferentes capas o motores de conexión.

Hay motores que permiten conectarse a bases de datos de diferentes fabricantes tales como BDEDBExpressADO, que cuentan con manejadores para los formatos más extendidos.

También hay componentes de conexión directa para un buen número de bases de datos específicas: Firebird, Interbase, Oracle, etcétera.

A continuación un breve resumen de las capas de conexión disponibles para las bases de datos más populares:

  • Interbase/Firebird: IBX (InterBase eXpress), IBO (IB Objects), MDO (Mercury Data Objects), *DBExpress, BDE, FibPlus, Zeos
  • Oracle: DOA (Direct Oracle Access), NCOci8
  • dBase: BDE
  • FoxPro: BDE
  • Paradox: BDE
  • Microsoft SQL Server: BDE, ADO, *DBExpress
  • mySQL: Zeos (nativo), *DBExpress, BDE y ADO (usando ODBC)
  • Postgres: BDE, ADO, ZEOSDBO

Borland Database Engine (BDE)

Es un motor de conexión a bases de datos de uso bastante amplio y que permite manejar bases de datos de escritorio como dBaseFoxproParadox, además de ofrecer la capacidad para conectarse a servidores SQL locales y remotos. Su uso, va siendo cada vez menor, debido a la pobre gestión de memoria que realiza, sustituyéndolo por componentes más actualizados y especializados como DOAC (Direct Oracle Access Components) o DBExpress, esto sumado a la fiabilidad que están presentando los nuevos gestores de datos en especial tecnologías como RDO y ADO; los cuales son mantenidos por sus fabricantes, forzando la compatibilidad con las versiones preliminares; liberando al programador de actualizaciones en cuanto a gestión de datos. Actualmente ya no es desarrollado por Codegear.

Desarrollo visual

Como entorno visual, la programación en Delphi consiste en diseñar los formularios que componen al programa colocando todos sus controles (botones, etiquetas, campos de texto, etc.) en las posiciones deseadas, normalmente usando un ratón. Luego se asocia código a los eventos de dichos controles y también se pueden crear módulos de datos, que regularmente contienen los componentes de acceso a datos y las reglas de negocio de una aplicación.

Entorno Integrado de Desarrollo (EID)

O IDE en inglés (Integrated Development Environment), es el ambiente de desarrollo de programas de Delphi. Se trata de un editor de formularios (que permite el desarrollo visual), un potente editor de textos que resalta la sintaxis del código fuente, la paleta de componentes y el depurador integrado, además de una barra de botones y un menú que nos permite la configuración de la herramienta y la gestión de proyectos. En las ediciones Client/ServerEnterprise el EID también ofrece integración con una herramienta de control de versiones (PVCS).

Depurador integrado

Es una potente característica que nos permite establecer puntos de ruptura (breakpoints), la ejecución paso a paso de un programa, el seguimiento de los valores de las variables y de la pila de ejecución, así como la evaluación de expresiones con datos de la ejecución del programa. Con su uso, un programador experimentado puede detectar y resolver errores lógicos en el funcionamiento de un aplicativo desarrollado con Delphi. En las ediciones Client/ServerEnterprise se añade la opción de depuración a programas corriendo en equipos remotos (remote debugging), lo que posibilita el uso de todas las características del depurador con un programa ejecutándose en su entorno normal de trabajo y no en el ordenador del programador (en donde muchas veces no ocurren los errores).

Proyectos alternativos

Existen desarrollos de la comunidad del software libre que intentan producir una versión multiplataforma y completamente independiente de Delphi. La más desarrollada es el llamado Lazarus. Descargalo del siguiente Link http://sourceforge.net/projects/lazarus/

Página Oficial de Delphi

http://www.embarcadero.com/products/delphi

Lección 3 – Iniciando el Delphi XE

Deja un comentario

Es momenro de ir a Inicio, Todos los programas, y despues buscar la carpeta llamada: ” Embarcadero Rad Studio XE“, y dar click sobre de ella, para mostrar su contenido. Tal y como se muestra en la figura siguiente.

 

Figura 1. Carpeta de RAD Studio XE.

Figura 2. Contenido de la carpeta RAD Studio XE.

Hemos de dar un click sobre la opción Delphi XE, la cual está sombreada en color azúl en la figura anterior. Inmediatamente despues empezara la carga del Delphi XE, mostrando la siguiente pantalla de inicio (SplashScreen).

Figura 3. SplashScreen de RAD Studio XE, abriendo Delphi XE.

Despues de unos cuantos segundos, dependiendo de tu equipo de computo, se mostrara el IDE (siglas en ingles de Entorno de Desarrollo Integrado), de Delphi XE, tal y como se puede ver en la figura siguiente.


Figura 4. IDE de Delphi XE.

Las herramientas disponibles en el IDE, dependen de la edición del RAD Studio que tu estes usando, esta versión incluye lo siguiente:

  • Página de Bienvenida (Welcome Page)

Figura 5. Página de Bienvenida.

Cuando tu abres RAD Studio, la Página de Bienvenida (Welcome Page) aparece con un número de ligas para desarrollar recursos, como lo son; articulos, entrenamiento, y ayuda en linea. Así como tu puedes desarrollar proyectos, tu puedes acceder rapidamente a ellos ,de la lista d eproyectos recientes en la parte superior de la página. Si tu cierras la Página de Bienvenida (Welcome Page), tu puedes reabirla al seleccionar View > Welcome Page.

  • Las Formas (Form)

Figura 6. Foma o Formulario o Form.

Tipicamente, una forma representa a una ventana o página HTML, en la interfaz gráfica que tú estas diseñando. En tiempo de diseño, una forma es mostrada en la Superficie del Diseñador. Tu agregas componentes desde la Paleta de Herramientas (Tool Palette) a la forma para crear la interfaz de usuario.

RAD Studio provee una rica libreria de formas. Selecciona la forma que mejor se adecue al diseño de tu aplicación. Para cambiar entre el Diseñador y el Editor de Codigo, solo basta un click sobre los tabs debajo del IDE.

Figura 7. Tabs, para cambiar entre el Código, el Diseño y la Historia.

Para agregar formas, selecciona File > New > Other. (Esto lo veremos mas delante en práctica)

  • Diseñador de Formularios (Form Designer)

Figura 6. Diseñador de Formularios.

El Diseñador de Formularios (Form Designer), es mostrado automaticamente en el panel central cuando tu estas usando una forma. La apariencia y funcionalidad del Diseñador de Formularios depende de el tipo de foma que tu estes usando. Por ejemplo, si tu estas usando una FormaWEB (WebForm), el Diseñador mostrara un editor de Tags (etiquetas) HTML. Para acceder al Diseñador, solo da click sobre la pestaña (tab) Design (Diseño) en la parte baja del IDE.

En este punto es necesario aclarar, que: En Delphi encontraremos Componentes Visuales y No Visuales, así que hablemos de los primeros.

  • Componentes Visuales

Los componentes Visuales aparecen sobre el form en tiempo de  diseño y son visibles para el usuario final en tiempo de ejecución.  Estos incluyen muchas cosas, como Botones, Etiquetas, Barras de Herramientas y Cajas de Lista.

Componentes No Visuales

Son aquellos que se colocan sobre el formulario pero, solo son vistos por el desarrollador, ya que solo realizar funciones a nivel de sistema y no de manera gráfica. Esto quiere decir que el usuario final no los puede ver, literalmente, pero si puede comprobar su funcionamiento.

  • Paleta de Herramientas (Tool Palette)

Figura 7. Paleta de Herramientas.

La Paleta de Herramientas (Tool Palette), localizada sobre la columna derecha, contiene elementos para ayudarte en el desarrollo de tu aplicación. Los elementos mostrados dependen de la vista actual.

Por ejemplo, si tu estas viendo una forma en el Diseñador, la Paleta de Herramientas muestra componentes que son apropiados para ese formulario. Tu puedes dar doble click a un componente para agregarlo a tu forma. Tambien puedesarrastrar a la posicion que tu desidas en tu forma. Si tu estas viendo el codigo en el Editor de Codigo, la Paleta de Herramientas muestra segmentos de codigo que tu puedes agregar a tu aplicación.

  • Inspector de Objetos (Object Inspector)

Figura 8. Inspector de Objetos.

El Inspector de Objetos (Object Inspector), localizado a la izquierda, te permite asignar propiedades en tiempo de diseño y crear manejadores de eventos para componentes. Esto provee la conección entre la apariencia visual de tu aplicación y el codigo que hace que tu aplicación funcione. El Inspector de Objetos (Object Inspector) contiene 2 etiquetas (tabs): Propiedades (Properties) y Eventos (Events).

Usa la pestaña Propiedades para cambiar los atributos físicos de tus componentes. Dependiendo de tu selección, algunas opciones de categoria te permitirán introducir valores en una caja de texto, mientras otros requerirán que selecciones valores de una caja desplegable. Para operaciones Boleanas (SI/NO), tú puedes intercambiar entre True (Verdadero) y False (Falso). Despues de que tú cambies atributos físicos a tus componentes, tú crearas manejadores de eventos que te permitirán administrar o manipular los componentes.

Usa la pestaña Eventos (Events) para especificar el evento para un objeto seleccionado por tí. Si el manejador de evento ya existe, usa la caja desplegable y seccionalo. Por defecto, algunas opciones del Inspector de Onjetos (Object Inspector) están colapsadas (cerradas). Para expandir o abrir las opciones, click en el simbolo de (+) para mostrar la siguiente categoria.

  • Administrador de Proyectos (Project Manager)

Figura 9. Administrador de Proyectos.

Los proyectos estan hechos por muchos archivos de aplicación. El Administrador de Proyectos, localizado en la parte superior derecha, te permite ver y organizar tus archivos de proyecto como Formas, ejecutables, ensamblados, objetos, y archivos de librerias. Ademas con el Administrador de Proyectos puedes, remover, agregar y renombrar archivos usando la barra de herramientas o el menu contextual. Tu podras invocar siempre la ventana de Dialogo de Opciones del Proyecto desde el menu contextual, en el Administrador de Proyectos.

  • Explorador de Datos (Data Explorer)

Figura 10. Explorador de Datos.

El Explorador de Datos, te permite buscar un esquema de objeto de base de datos especifico, incluyendo tablas, campos, definicione de procedimientos almacenados, triggers, e índices. Usando los menus de contexto, tu puedes crear y administrar conecciones de base de datos. Tu puedes, ademas arrastrar y soltar datos desde un origen de datos de muchas formas diferentes para construir tu aplicación de base de datos rapidamente.

  • Structure View

La vista de estructura muestra la herencia del codigo fuente o HTML mostrado en el Editor de Código, o componentes mostrados en el Diseñador. Cuando se esta mostrando la estructura del Código Fuente o HTML, tu puedes dar doble click a un elemento y saltar a la delcaración de este, o localizacion del mismo en el Editor de Código.

Cuando se estan mostrando componentes, tu puedes hacer doble click en un componente y seleccionarlo en el formulario.

Si tu codigo contiene errores de sintaxis, ellos serán mostrados en la carpeta de Errores, en la Vista de Estructuras. Tu puedes hacer doble click en un error para localizarlo en el Editor de Código.

Tu puedes contorlar el contenido u la apariencia de la Vista de Estrcutura, seleccionando Tools > Options > Environment Options > Explorer y cambiar las configuraciones.

  • History Manager

El Administrador de Historia, Localizado en el Panel central, te permite ver y comparar versiones de un archivo, incluyendo multiples versiones de respaldo, guardando cambios locales, y el buffer del los cambios no guardados para el archivo activo.

  • Code Editor

Figura 10. Editor de Código.

El Editor de Codigo, localizado en el Panel Central, proporciona una conveniente via para ver y modificar tu código fuente.

  • Debugger

Los depuradores integrados te permiten encontrar y arreglar (corregir), los errores en tiempo de ejecución y los errores lógicos, en tu aplicacion de RAD Studio. Usando los depuradores, tu puedes seguir los pasos del código, asignar puntos de quiebre y relojes, e inspeccionar y modififcar los valores de programa. Cuando tu depuras tu aplicación, el depurador de Windows esta disponible para ayudarte a administrar la sesión de depuración y proveer información a cerca de tu aplicación.

  • File Browser

Tu puedes modificar las operaciones basicas del archivo usando el Buscador de Archivos, una ventana de estilo ajustable en el panel de Busqueda. Ebre el Buscador de Archivos para buscar, renombrar, o modificar el control  de operaciones de un archivo.

Para modificar la operación de un archivo, selecciona: View > File Browser, busca el archivo, da click derecho sobre el archivo y selecciona la operacion a realizar.

Entre otras.

Y hasta aquí el rollo. ya que continuaremos con la práctica.

Lección 4 – Conociendo el Form

Deja un comentario

Una vez teniendo abierto Delphi XE, en la Página de Bienvenida (WelCome Page), en el panel izquierdo (el cual muestro en la imagen debajo d eeste parrafo), realizaremos un click sobre la opción New Project…

Figura 1.- Opciones de Proyectos Recientes.

Despues de un par de segundos cargara la siguiente ventana, la cual lleva por nombre “New Items“, Nuevos Elementos, en español, y de la cual podremos seleecionar  el tipo de desarrollo que deseamos realizar.

Figura 2.- Cuadro de Dialogo “New Items“.

De esta ventana es importante recordar donde se encuentra cada cosa, ya que de ello dependera la facilidad y la soltura con la que desarrollemos en Delphi XE.

Así que: describiré un poco la ventana conforme hacemos el trabajo. En el Panel de la izquierda, puedes visualizár un arbol de directorios, los cuales contienen los diferentes tipos de Proyectos que puedes desarrollar en Delphi XE. Por defecto, en este Panel, se encuentra seleccionado el Directorio de “Delphi Projects” y en la Lista de Proyectos del lado derecho, visualizaremos los mismos, disponibles para cada Directorio de Proyecto. En nuestro caso seleccionaremos el que se llama “VCL Forms Application” y despues click en el botón OK.

Despues de unos 3 a 4 segundos, según las características técnicas de tú PC o Laptop, podras ver que el IDE de Delphi XE a cambiado, y ahora muestra lo siguiente.

Figura 3.- IDE de Delphi XE, con el Nuevo Proyecto cargado.

Como pudes ver, se a agregado un Form (una Forma), a la ventana del Diseñador, dicho Form cuando estemos haciendo las pruebas se convertirá en “La Ventana“. Veamosla un poco más de cerca.

Figura 4.- Form1, de nuestro proyecto.

Así como cualquier ventana de un programa, ya que eso es, pero la diferencia es que nosotors podremos hacer modificaciones a nuestro gusto y necesidad, cuenta con una Barra de Titulo, en la cual se encuentran diferentes elementos:

  1. Icono de la Ventana. (Menu de Control) [izquierda del Form]
  2. Título de la Ventana. [izquierda del Form, del lado derecho del Icono de la Ventana]
  3. Botones de Acción. [Derecha del Form]

Figura 5.- Barra de Titulo del Form1.

En el mismo tenor, podremos encontrar, que el Form, cuenta con Bordes los cuales los puedes ver un poco sombreados. Los cuales los conoceremos por.

  1. Borde lateral izquierdo
  2. Borde lateral derecho
  3. Borde inferior
  4. Borde Superior

Figura 6.- Bordes del Form1.

Por último, el área gris que se encuentra dentro de los bordes. Esta área tiene y a tenido diferentes nombres y apelativos, entre ellos: Grid, Cuerpo del Form, Area de Trabajo del Form, etc. Cualesquiera de ellos se me hace adecuado. Es en este donde colocaremos los componentes que nos servirán, para ayudar al usuario a realizar su tarea de una manera mas facil, eficiente y rapida.

Hasta la Próxima Lección.

Lección 5 – Práctica 1 y Práctica 2

Deja un comentario

Trabajando con Forms

Normalmente todos los cursos, tutotiales y manuales, de programación basados en algun lenguaje comienzan con el clasico “Hola Mundo“. Yo no, me inclino más a pensar en el lado realista de la programación.

Así que; iniciemos el Delphi XE, y en el Inspector de Objetos, buscaremos la propiedad Caption, la cual nos permite escribir texto o tiutlos a los componentes. En nuestro caso el Form1 tiene el siguiente Título o letrero.

Figura 1.- Barra de Titulo del Form.

Como dije en el parrafo anterior, en la Inspector de Objetos, buscaremos la propiedad Caption. Tal y como se muestra en la figura siguiente.

Figura 2.- Inspector de Objetos.

Daremos un click sobre la propiedad indicada, y observaremos que se selecciona el valor de la derecha, la cual es la que debemos de cambiar.

Figura 3.- Propiedad Caption del Form1.

Ahora solo teclearemos, sin comillas: “Mi primera Aplicación“, conforme escribamos el nuevo título, en la Barra de Título de nuestro Form, se vera estará escribiendo. Mostrandose de la siguiente manera.

Figura 4.- Barra de Título del Form1.

Ahora vamos a generar nuestra aplicación. Para ejecutarla, y que sea funcional, presionaremos el botón Run, “Ejecutar” en México. El cual lo encontraremos en la Barra de Herramientas de Delphi XE. Segun lo podemos ver en la figura siguiente.

Figura 5.- Barra de Herramientas de Delphi XE.

Utilizaremos el que puedes ver en la figura anterior, con la imagen de una catarina “un Bugg” y debajo de el una Felcha en verde.

Figura 6.- Botones de ejecución de Delphi XE.

En esta version de Delphi XE, existen dos botónes para  ejecución de una aplicación, el primero, el que no tiene la catarina, se llama “Run Without Debugging“, ejecutar sin sin usar el debugger, y el otro que se llama “Run“, utilizaremos este último, ya que necesitamos que se “Debuggué” la aplicación, para detectar posibles errores y Bugs.

Despues de tanto rollo, tu aplicación ya se debió haber ejecutado, y nuestro resultado será más o menos lo siguiente.

Figura 7.- Ventana en Ejecución de nuestra primer aplicación en Delphi XE.

Diferncias que encontraremos en el Form, antes de ejecutar y despues de ejecutar.

  1. Cuando podemos realizar cambios a un Form, se le denomina “Tiempo de Diseño” y cuando lo ejecutamos se le denomina “Tiempo de Ejecución“.
  2. En Tiempo de Diseño un Form, muestra el Grid, con una serie de puntos, los cuales son una guia, vamos, veamoslo como una regla, para que todo nos salga derecho. Y en Tiempo de Ejecución, el Grid, se observa completamente solido, como cualquier ventana.
  3. El icono que se muestra en la Barra de Titulo de nuestro Form, en Tiempo de Diseño, es el de Delphi Clásico “El del Oraculo de Delphos” y en Tiempo de Ejecución es el de Delphi Nuevo, “La D“.

Ahora bien, ya tienes en tus manos un programa, un ejecutable.

Prueba colocar el puntero del mouse sobre uno de sus bordes y veras, que el puntero del mouse cambia a una doble flecha y si haces click y sin soltar, arrastras, el Form cambiara su tamaño, es decir se redimensionará.

Figura 8.- Ventana redimensionada en Delphi XE.

Como puedes ver en la imagen, un Form se puede reducir a su minima expresión. Lo cual desde el punto de vista lógico, no es viable y no debe de ser permisible. Así que para corregir esto….

Práctica 2

Seguiré trabajando con el proyecto anterior, asi que, una vez abierto.

Busca en el Inspector de Objetos, la propiedad BorderStyle, y cambia su valor a bsDialog, tomando en cuenta que su valor original era bsSizeable.

Figura 9.- Propiedad BordesStyle del Fom1.

Ahora, dale un vistázo a tu Form, ya tiene el soguiente aspecto.

Figura 11.- Fom1, con borde de estilo Dialog.

Este tipo de borde quito el icono y los botones de Maximizar y Minimizar.

Si utilízo el valor bsNone, en la propiedad BorderStyle, obtendre algo como esto.

Figura 12.- Fom1, sin bordes.

Este tipo de Forms es muy util en algunos caso, si ejecutaste tu aplicacion y no encuentras como terminar la ejecución, realiza el siguiente atajo de teclado, Alt +F4.

Si lo que nos gustaria es tener un borde, con estilo del tipo de las Barras de Herramientas Flotantes, pues asignamos el valor bsToolWindow, a la propiedad BorderStyle. Con lo cual obtendremos un resultado como este.

Figura 13.- Fom1, con borde estilo Barra de Herramientas Flotante (bsToolWindow).

Trabajaremos con este ultimo estilo de borde, ahora, trabajaremos un poco con los colores de fondo para un Form, este uno de los puntos debiles de Delphi, no se coloca una amplia gama de colores, solo los mas “tradicionales“, para desarrollo, pero para aquellos mas avidos en el rollo del diseño de aplicaciones, pues buscamos algunos Skins o realizamos gradientes de color, dobre los Forms.

Lo que haremos ahora es seleccionar en el Inspector de Objetos, la propiedad Color.

Figura 14.- Propiedad Color, del Form1.

Como podemos ver al dar click en la caja desplegable (sobre el botón con la flecha hacia abajo), se muestra el listado de colores disponibles en Delphi.

Figura 15.- Listado de colores del Form1.

A mí me agrada el color verde, así que yo seleccionaré el color llamado “clMoneyGreen“, y como podras ver el Form1, se coloreó de un tono verde claro.



Figura 16.- Form1 con color de fondo seteado a verde.

Ejecuta tú aplicación, bonita ¿No?, ¿Te fijaste en que posicion se colocó al ejecutarse?. ¿Noooo?, Entonces cierrala y vuelve a ejecutar. La mia sale un poquitin alineada a la izquierda y arriba. Eso es porque al generarse el archivo .exe, se toma la posicion relativa del formulario. Pero que pasa si deseamos que se muestre en el centro.

Pues muy fácil, solo buscamos la propiedad que se llame Position (Posición), la cual por defecto tiene el valor “poDefaultPosOnly“, lo cual quieres decir “Solo la posición por defecto”. Desplegaremos sus opciones, del mismo modo que lo hicimos con los colores, y seleccionaremos poScreenCenter. Como te lo estas imaginando, si este valor permitira que nuestro Form se active en el centro de la pantalla.

Ejecuta y verifica lo antes mencionado, con tus propios ojos.

Bien, pero que paso si lo que deseamos es que nuestra ventana, no quede oculta detras de otras que no son de nuestro programa, por ejemplo, cuando activas el Windows Media Player, este siempre se muestra encima de otras ventanas, si la opción esta activada.

Esto tambien lo haremos muy fácil, busca la propiedad FormStyle, la cual ahorita tiene un valor de “fsNormal“, y lo cambiaremos por “fsStayOnTop“, como es de suponerse el primero, permite que la ventana se pueda quedar detras de otras ventanas de nuestra propia aplicación o de otros programas que se esten ejecutando. Y la segunda activa a nuestro Form, para que siempre este encima de las demas ventanas.

Figura 17.- Form1 con FormStyle Normal.

Como puedes darte cuenta la ventana activa es el Windows Media Player, y nuestra aplicación se oculta detras al manipular otra aplicación.

Figura 18.- Form1 con con FormStyle StayOnTop.

Ahora, como puedes darte cuenta la ventana activa sigue siendo el Windows Media Player, pero nuestra aplicación se muestra sobre la activa gracias a esta propiedad.

Por el momento hemos terminado con el formulario. guarda los cambios de tu aplicación.

Nos vemos en la próxima.

Lección 6 – Práctica 3

2 comentarios

Agregando Componentes a nuestro Form

Bienvenido, a esta nueva lección, aquí vamos a aprender como organiza Delphi los componentes y como se colocan en un Form.

Genera una Nueva Aplicación y guardala, en una carpeta con los nombres por defecto, recuerda que se guardaran dos archivos, el del Proyecto y el del Form.

EL IDE de Delphi muestra las siguientes partes.

  1. La ventana Structure
  2. La ventana Object Inspector
  3. La ventana  Project Manager
  4. La ventana del Tool Palette

La que nos interesa es Tool Palette, y como puedes ver se encuentra del lado derecho, en la parte baja.

Como ami me gusta ver esta ventana más amplia lo que hago es minimizar el Project Manager, por medio del botón PIN.

Lo cual hará que nuestra Tool Palette, se amplie, en todo el costado derecho del IDE de Delphi.

Y aun así comprobaras que no caven todas las pestañas que agrupan a los componentes.

Bueno, cada pestaña mostrada en el Tool Palette, contiene una serie de componentes, los cuales se encuentran agrupados, de acuerdo a su uso, el cual es nombre de la pestaña. Para visualizar el contenido de cada pestaña solo basta con dar un click sobre de ella.

Los componentes mas comunes se encuentran en la pestaña Standard; como lo son: Los Menus, La etiqueta, El cuadro de texto, El Memo, El Botón, Los botones de selección y de revisión, La caja de lista, La caja desplegable, Las barras de desplazamiento, El grupo de botones de radio, y El panel.

Para empezar trabajaremos con algunos componentes de esta pestaña, ahorita tenemos nuestro formulario solo.

Colocar los componetes en Delphi puede ser de dos formas diferentes:

  1. DobleClick sobre el componente deseado.
  2. Un click sobre el componente deseado y despues un click sobre el Grid del Form.

En esta aplicación, colocaremos dos componentes TLabel (una Etiqueta), para colocar un texto de información al usuario.

Y la colocaremos en el costado izquierdo del Form, los componente s colocados en el Form los puedes mover libremente por el Form, haciendo click sobre el componente y arrastrarlo a la posicion dedseada.

Ahora cambiemos el titulo del Form, ya lo habiamos hecho antes, pero ahora debemos de tener la precaución de seleccionar el Form y no otro componente. Como nos daremos cuenta que componente esta seleccionado, muy facil, con los tiradores que aparecen en los bordes de los objetos o bien por medio del Object Inspector, el cual debe de mostrar el nombre del objeto seleccionado.

El titulo que le colocaremos sera “Saludo“.

A continuación cambiaremos el texto por defecto del Label1, tambien por medio de Caption, a “Hola:” y el texto por defecto del Label2, lo eliminaremos, es decir  no habra texto escrito en él.

Esta imagen muestra el resultado final.

Pero, realmente que es lo que deseamos hacer, bueno lo que deseamos hacer es: que al iniciar la aplicación, automaticamente nos mande un saludo personalizado, asi que para ello, procederemos a realizar nuestro primer evento.

Así que selecciona el Form, y en el Object Inspector, y da un click sobre la pestaña Events.

Esto nos llevará a los eventos del objeto seleccionado. Y buscaremos el llamado evento “onShow“, el cual es el que se ejecuta cuando se muestra el Form. Para generar el codigo del evento onShow, necesitamos dar doble click sobre la caja desplegable que se muestra justo a la derecha del nombre del evento, ver imagen siguiente.

Una vez echo el doble click dentro de la caja desplegable, se abrira la ventana del Editor de Código, mostrando el codigo cabecera del evento onShow() del Form1;


Analicemos un poquitín esta ventana, en primera instancia aparece la linea: procedure TForm1.FormShow(Sender: TObject);, la cual es la cabecera d econstrucción del evento Show, del Form1.

La segund ay tercer linea: beginend;, indican el inicio y fin respectivamente del codigo que se debera de realizar, es decir el codigo contenido dentro de estas dos lineas se ejecutara, siempre y cuando formen parte de un evento, rpocedimiento, metodo o función.

La utlima linea que apoarece, no es parte del evento, esta linea, end. indica que aquí se termina el código de el Form.

Empecemos con el código, asi que para poder colocar un texto al componente Label, pero en ejecución, tenemos que referenciar al componente y  asignarle el nuevo valor, para esto escribiremos el código siguiente, dentro de las lineas Begin y  End;.

Label2.Caption:=’Ricardo Bustamante';

Conforme escribas el texto, veras que aparece la ayuda en linea, solo despues de haber puesto el punto que separa al nombre del componente, de su propiedad, segun se ve en la imagen siguiente.

Explicaré la sintaxis del código anterior.

Label2, hace referencia al nombre del componente, el cual lo podemos comprobar seleccionado el componente y dirigiendo la mkirada al Objetc Inspector, en el aparatado donde muestra el nombre d elos componentes, que ya habiamos visto antes.

. (punto), así como en muchos lenguajes de programación el . (punto), es el separador de elementos de código.

Caption, es la propiedad la cual queremos utilizar, ya sea para asignar un valor inicial, como es en este caso, o para cambiar el valor.

:= es el signo de asignación que utiliza Delphi, ya que la mayoria de los lenguajes utiliza el =.

en este caso se utilizo lo siguiente ‘Ricardo Bustamante’, coloque mi nombre dentro de comillas simples, porque es una cadena de caracteres, todas las cadenas de caracteres deben de estar escritas dentro de comillas simples ‘ ‘.

; es el terminador de instrucción, todas las instrucciones que no sean estructuras de control, deben de llevar ;

Ahora ejecutemos la aplicación. El resultado final será eñ siguiente.

Bonita, ¿No?, pero esto no es nada, pero bueno por algo se empieza.

Hasta la próxima

Lección 7 – Práctica 4

1 Comentario

Trabajando con Texto

En esta práctica aplicaremos los conocimientos basicos obtenidos en la Lección 6, pero subiremos un poco el nivel de la aplicacion ya que trabajaremos con la manipulacion de texto, entre componentes.

Genera una nueva aplicación en Delphi, en la que agregarás 2 componentes Label, un Edit y un Button, según se puede ver en la imagen.

Figura 1.- Form con los componentes colocados en él.

Ahora vamos a cambiar las propiedades de estos componentes, segun lo siguiente.

Componente                Propiedad             Valor

Label1                                   Caption                 Nombre:

Label2                                   Caption                 “sin texto”

Edit1                                       Text                       “sin texto”

Button1                                  Caption                 Saludar

El resultado de nuestro Form, despues de haber realizado los cambios antes indicados seria..

Figura 2.- Form con las propiedades de los componentes asignadas.

Ahora asignemos los bordes del Form1, a bsSingle, recuerda que esto lo haremos por medio de la propiedad BorderStyle. Y el titulo del Form, debera de ser “Saludo con botón“.

Lo que haremos ahora, será generar el evento click del Button1, si el que dice Saludar, para ello tenemos dos maneras.

1. Primero la manera correcta, Selecciona el Button, con un solo click, en el Object Inspector, click sobre la pestaña Events. Y en el listado de Eventos, busca el que dice onClick, despues doble click sobre el area de texto de la caja desplegable. Y listo debenos de tener un codigo similar al siguiente.

Figura 3.- Código del Evento Click del Button1.

Como saber que este es el evento correcto?, muy fácil. La primer linea del código, Hacer las siguientes referencias:

TForm1 —-> referencia al Formulario Form1.

. ———>   Separador entre Objeto y Evento.

Button1Click —–> referencia al evento click del Button1

2. La forma fácil, de generar el evento, doble click sobre el Button.  Y listo. Pero debes de tener en cuenta que esto del doble click sobre un componente, genera el evento click, generalmente, y que si queremos otro evento diferente a click, debemos de realizar los pasos descritos en el punto 1.

Ahora bien vamos a validar que el Edit tenga datios escritos. Asi que el codigo que agregaremos al evento será.

if (edit1.Text=”) then

ShowMessage(‘La Caja de Texto Esta Vacia’)

else

label2.Caption:=’Hola: ‘+ Edit1.Text;

En la primer linea utilízo un if, para comparar si el Edit esta vacia (sin caracteres),  observa las comillas, son dos comillas simples. Aquí en Delphi se utilíza ‘ (comilla simple) para representar las cadenas de caracteres, y la sintaxis de esta sentencia es Si (condicion) Entonces Acción (en esta parte de acción, van los codigos que queremos que realice si la condición se cumple).

En nuestro caso si la casilla d etexto esta vacia, mandamos un mensaje indicando el error. Esto por medio de la funcion ShowMessage();

Sino se cumple la condicion (else), realizar los siguiente. Es decir si existen datos en la casilla de texto, Mostrar el contenido de la casilla (que en teoria debes de teclear un nombre) en el Label2, pero le concatenaremos (uniremos) antes el texto “Hola “, y como puedes verlo en el código anterior, la union de cadenas de texto se realiza con el signo + (mas). Sin olvidar dejar un espacio en blanco (caracter blanco), para que los textos no se muestren pegados.

Ahora ejecutemos y veamos el resultado.

Figura 4.- Introduciendo los datos en la Casilla de Texto.


Figura 5.- Al hacer click sobre el botón Saludar, se muestra el saludo en la etiqueta inferior.

Resumen: Utilizamos los componentes Label, Edit y Button, aprendimos dos maneras diferentes de generar eventos, pasamos texto de un componente a otro, en tiempo de ejecución, por medio de un evento que activara el ususario (Click del Botón), concatenamos o unimos textos, uno predefinido en el código con otro definido por el ususario por medio de la casilla de texto.

Hasta la Próxima.

Older Entries

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 27 seguidores