Curso Básico de Delphi Curso Básico de DELPHI 5 1 DIFERENTES TIPOS DE PROGRAMACIÓN _______________________________ 5 PROGRAMACION POR PROCEDIMIENTOS ___________________________ 5 PROGRAMACION POR EVENTOS ____________________________________ 5 PROGRAMACION VISUAL ___________________________________________ 6 PROGRAMACION DE OBJETOS ______________________________________ 6 QUE ES DELPHI? _____________________________________________________ 12 INTRODUCCION A DELPHI _________________________________________ 13 AMBIENTE DELPHI ____________________________________________ 20 PALETA DE COMPONENTES (OBJETOS)_____________________________ 20 INSPECTOR DE OBJETOS __________________________________________ 21 EDITOR DE CODIGO _______________________________________________ 23 BARRA RÁPIDA ____________________________________________________ 23 AMBIENTE DELPHI ________________________________________________ 23 El "ARCHIVO DE PROYECTO DELPHI"______________________________ 24 DISEÑO DE UNA FORMA. _____________________________________ 25 COMPONENTES STANDARD __________________________________ 28 MAINMENU________________________________________________________ 28 POPMENU _________________________________________________________ 28 LABEL ____________________________________________________________ 28 EDIT ______________________________________________________________ 29 MEMO_____________________________________________________________ 29 BUTTON___________________________________________________________ 29 CHECK BOX _______________________________________________________ 30 RADIO BUTTON____________________________________________________ 30 LIST BOX __________________________________________________________ 30 COMBO BOX_______________________________________________________ 31 SCROLL BAR ______________________________________________________ 31 GROUP BOX _______________________________________________________ 32 RADIO GROUP _____________________________________________________ 32 2 Curso Básico de Delphi COMPONENTES ADICIONALES _______________________________ 32 BITBTN ____________________________________________________________ 32 SPEED BUTTON ____________________________________________________ 33 MASKEDIT_________________________________________________________ 33 STRINGGRID_______________________________________________________ 33 DRAWGRID ________________________________________________________ 34 IMAGE ____________________________________________________________ 34 SHAPE _____________________________________________________________ 34 BEVEL_____________________________________________________________ 34 SCROLLBOX _______________________________________________________ 35 CHECKLISTBOX ___________________________________________________ 35 SPLITTER__________________________________________________________ 35 STATICTEXT ______________________________________________________ 35 CHART ____________________________________________________________ 35 WIN32 _____________________________________________________________ 36 TABCONTROL _____________________________________________________ 36 PAGECONTROL ____________________________________________________ 36 IMAGELIST ________________________________________________________ 36 RICHEDIT _________________________________________________________ 36 TRACKBAR ________________________________________________________ 37 PROGRESSBAR ____________________________________________________ 37 UPDOWN __________________________________________________________ 37 DATETIMEPICKER _________________________________________________ 37 TREVIEW __________________________________________________________ 38 LISTVIEW _________________________________________________________ 38 HEADERCONTROL _________________________________________________ 38 STATUSBAR _______________________________________________________ 38 TOOLBAR _________________________________________________________ 38 COOLBAR _________________________________________________________ 38 SYSTEM ___________________________________________________________ 38 TIMER_____________________________________________________________ 38 PAINTBOX _________________________________________________________ 39 3 MEDIAPLAYER ____________________________________________________ 39 OLECONTAINER___________________________________________________ 39 COMPONENTES DE DIALOGO ________________________________ 40 TABSET ___________________________________________________________ 41 OUTLINE __________________________________________________________ 41 FILELISTBOX______________________________________________________ 41 DIRECTORYLISTBOX ______________________________________________ 42 DRIVECOMBOBOX_________________________________________________ 42 FILTERCOMBOBOX________________________________________________ 42 SAMPLES _________________________________________________________ 42 GAUGE ____________________________________________________________ 42 COLORGRID_______________________________________________________ 43 SPINBUTTON ______________________________________________________ 43 SPINEDIT __________________________________________________________ 43 DIRECTORYOUTLINE ______________________________________________ 43 CALENDAR ________________________________________________________ 43 COMPONENTES ACTIVEX _____________________________________ 44 CHARTFX _________________________________________________________ 44 VCSPELLER _______________________________________________________ 44 V1BOOK___________________________________________________________ 44 VTCHART _________________________________________________________ 44 GRAPH ____________________________________________________________ 44 PROPIEDADES COMUNES A LA MAYORÍA DE LOS COMPONENTES _________________________________________________ 44 4 Curso Básico de Delphi DIFERENTES TIPOS DE PROGRAMACIÓN PROGRAMACION POR PROCEDIMIENTOS Agrupa un conjunto de instrucciones, para ejecutar un procedimiento. El control reside dentro del programa principal. Los procedimientos esperan una llamada, para tener el control y luego regresan al programa principal. Ejemplo: PRINCIPAL. LEE_ARCHIVO. PROCESA_DATOS. GENERA_REPORTES. CIERRA_ARCHIVO. END. Procedimientos Programa Principal NOTA: Con el tiempo, muchos lenguajes orientados a procedimientos, se convirtieron en lenguajes orientados a Objetos. PROGRAMACION POR EVENTOS El control reside dentro de un despachador, que tiene un lenguaje o sistema operativo. Los procedimientos sólo se ejecutan, si ocurre un evento (tal como oprimir un botón, elegir una opción del menú u oprimir el botón del mouse sobre un icono). Después el control regresa al despachador, para esperar que ocurra otro evento. 5 Eventos Procedimientos Despachador PROGRAMACION VISUAL Los lenguajes de programación Visual, son los mismos lenguajes tradicionales, sólo que con un entorno de programación gráfico avanzado. Esto es, si a un compilador de lenguaje C, se le agrega un entorno gráfico, se obtendrá Visual C. ENTORNO LENGUAJE VISUAL La característica principal de dichos lenguajes, es la facilidad que brindan al programador para crear Interfaces Gráficas (Graphical User Interfaces GUI´s) y prototipos. Además la mayoría de los lenguajes de programación Visual, están controlados por eventos. Así, con solo oprimir un botón, puede verse una ventana y de la misma forma agregar componentes visuales, tales como: botones, gráficas, texto, imágenes, etc. NOTA: Windows es un sistema operativo visual. PROGRAMACION DE OBJETOS El diseño y modelado orientado a objetos constituye una nueva forma de pensar acerca de problemas empleando modelos que se han organizado, tomando como base conceptos del mundo real. La construcción fundamental es el objeto que combina las estructuras de datos con los comportamientos en una entidad única. 6 Curso Básico de Delphi Los modelos orientados a objetos son útiles para comprender problemas, comunicarse con expertos en esa aplicación, modelar empresas, preparar documentación, diseñar programas y bases de datos. SISTEMA ORIENTADO A OBJETOS COMO UNA COMUNIDAD DE OBJETOS El término orientado a objetos significa que el software se organiza como una colección de objetos discretos que contienen tanto estructuras de datos como un comportamiento. Estos se oponen a la programación convencional; en la cual las estructuras de datos y el comportamiento solamente están relacionados de forma débil. La mayor parte del esfuerzo realizado hasta el momento en la comunidad orientada a objetos ha estado centrada en temas de lenguajes de programación. Los lenguajes de programación orientados a objetos son útiles para eliminar las restricciones debidas a la inflexibilidad de los lenguajes tradicionales de programación. El secreto de la flexibilidad de los sistemas orientados a objetos es que el formato de solicitud de un servicio permanece igual aún cuando la forma de ejecutar el servicio se modifique. Es decir, los objetos cambian perturbando mínimamente al resto de la comunidad. El éxito de un sistema orientado a objetos está en diseñar la comunidad de forma que los futuros cambios de requerimientos afecten muy pocos miembros de la comunidad. CLASES, OBJETOS E INSTANCIA Se definirá un objeto como un concepto, abstracción o cosa con límites bien definidos y con significado a efectos del problema que se tenga entre manos. Los objetos tienen dos propósitos: promover la comprensión del mundo real y proporcionar una base práctica para la implementación por computadora. El comportamiento de un objeto se define por las acciones que sufre y viceversa. Cada objeto en realidad es una instancia de alguna clase de objetos. Una clase es un grupo de objetos con propiedades similares, con relaciones comunes con otros objetos y con una semántica. Los objetos de una clase comparten un propósito semántico común más allá de los requisitos de comunidad de atributos y de comportamiento. En programación, las definiciones comunes (tales como nombres de clase y los nombres de atributos) se almacenan una sola vez en cada clase en lugar de almacenarse una vez por instancia <cada uno de los objetos de una clase>. De igual forma ocurre con las operaciones, permitiendo que todos los objetos de una clase se beneficien de la reutilización del código. 7 CONCEPTOS DE INTERES ASOCIADOS AL MODELADO ORIENTADO A OBJETOS Hay varios conceptos que subyacen a la tecnología orientada a objetos. Aunque estos temas no son exclusivos de los sistemas orientados a objetos; se encuentran bien apoyados en los mismos. 1. Abstracción: Consiste en centrarse en los aspectos esenciales inherentes de una entidad, e ignorar sus propiedades accidentales. En el desarrollo de sistemas esto significa lo "que es" y lo "que hace" un objeto antes de decidir como debería ser implementado. 2. Encapsulamiento: consiste en separar los aspectos externos del objeto, a los cuales pueden acceder otros objetos, de los detalles internos de implementación del mismo que quedan ocultos para los demás. El encapsulamiento evita que el programa llegue a ser tan interdependiente. 3. Atributos: es un a muchas clases distintas. Un método es la implementación de una operación para una clase. EJ. La clase archivo puede tener una operación llamada imprimir, se podrían implementar distintos métodos para imprimir diferentes archivos 5. Clase Abstracta: Una clase se llama abstracta cuando es una declaración de principios (no contiene código ejecutable). Ejemplos de Clases y Objetos 8 Curso Básico de Delphi Objeto. Es una entidad que tiene un estado; es decir que tiene un valor definido. Clase. Es un grupo de objetos con propiedades similares, con relaciones comunes con otros objetos y con una semántica. Instancia. Es un objeto ó instancia que pertenece a una clase de objetos. TAD. Tipo de datos abstractos. Un Objeto es a una clase como un valor es a un TAD 9 DIFERENCIAS ENTRE LOS TAD Y LAS CLASES 1. Los TAD (tipos de datos abstractos) son más formales, esconden la estructura interna y muestran sus posibles comportamientos. Las clases pueden declararse visibles tanto atributos como métodos. 2. La coherencia de la clase es más pragmáctica que la de un TAD. Una clase busca agrupar servicios y atributos útiles donde el TAD busca agrupar un número fijo de servicios. 3. Los TAD son proveedores pasivos de servicios; las clases son activos o "agentes cooperantes". 4. Las clases hacen más uso de polimorfismo, típicamente en su operación de creación de objetos. 5. Noción de Herencia. CARACTERISTICAS DE LOS OBJETOS Generalmente se pueden distinguir las siguientes características en los objetos: 1. Identidad: Los datos están cuantificados en entidades discretas y distinguibles. Cada objeto posee su propia identidad inherente, es decir, dos o más objetos serán distintos aún cuando los valores de todos sus atributos sean idénticos. 2. Clasificación: Es la reunión o agrupación de objetos con la misma estructura de datos (atributos) y comportamiento (operaciones), formando así una clase. 3. Polimorfismo: Una misma operación puede comportarse de modos distintos en distintas clases. Aquel que invoca una operación no necesita considerar cuantas implementaciones existen de una operación dada. El polimorfismo de operaciones traslada la carga de decidir que implementación hay que utilizar llevándola del código que hace la llamada a la jerarquía de clases. 4. Herencia: Una clase puede parecerse a otra tanto que vale la pena definirla como una extensión de la otra. La herencia es compartir atributos y operaciones entre clases tomando como base una relación jerárquica, es decir, se puede definir una clase que después sé ira verificando hasta producir subclases, las cuales heredan todas y cada una de las propiedades de la clase inicial y añaden además sus propiedades exclusivas. Ejemplo: Supongamos que deseamos implementar un sistema de dibujo interactivo en el cual tenemos que manejar diversas formas bidimensionales. Primero debemos analizar que tipo de operaciones deseamos implementar como el delinear formas, rellenar, mover, cambiar color, perímetro, etc. 10 Curso Básico de Delphi En una programación tradicional no orientada a objetos el código estaría lleno de switch-cases, donde dependiendo del tipo de forma se llama la rutina que ejecute la operación específica. Esta estructura sería muy difícil de mantener, ya que, cada vez que insertemos una nueva forma deberíamos reestructurar el código para poder realizar las operaciones sobre la misma. 11 QUE ES DELPHI? Delphi, es un lenguaje de Programación Orientado a Objetos, con un entorno Visual y cuenta además con soporte para Bases de Datos e Internet. DELPHI ENTORNO VISUAL LENGUAJE DE PROGRAMACIÓN PASCAL SOPORTE DE APLICACIONES DE BASES DE DATOS Incluye objetos predefinidos (componentes) Estructuras de Pascal para crear nuevos objetos Soporte de Aplicaciones Cliente/Servidor Reporteador para Bases de Datos (Quick Reports) 12 Curso Básico de Delphi INTRODUCCION A DELPHI Delphi representa una nueva manera de desarrollar aplicaciones para Windows esto porque combina: La rapidez y facilidad de uso de un ambiente Visual (ideal para crear prototipos) Con la potencia, flexibilidad y reusabilidad de un lenguaje Orientado a Objetos (Object Pascal). Además cuenta con: - uno de los compiladores más rápidos - una potente tecnología de Base de Datos - soporte para construir aplicaciones Cliente/Servidor - un reporteador para Base de Datos, llamado Quick Report - soporte para crear Dynamic Link Libraries (DLLs) Entre otra cosas. Para situar a Delphi dentro de los diferentes tipos de programación, se puede decir que Delphi es un lenguaje: - Orientado a Objetos - Con Entorno Visual - Manejado por Eventos Delphi se divide en tres secciones, el Compilador (con su "encadenador de código"), la Librería de Componentes, y el IDE (Ambiente de desarrollo integrado, o Integrated Development Environment). El compilador/encadenador es un programa que crea el archivo ejecutable de Windows, sin ningún interprete de por medio. La librería de componentes es código que permite usar todas las capacidades de Delphi. La librería esta escrita en su totalidad en Object Pascal es una librería "de clases" llamada VCL (Visual Component Library), y esta totalmente orientada a objetos. HERRAMIENTAS DE DESARROLLO Y CARACTERISTICAS 13 El IDE .- El ambiente de desarrollo integrado (IDE Integrated Development Environment) incluye: el Diseñador de Formas, el Inspector de Objetos, la paleta de Componentes, el Explorador de Código, el editor de Código, el Diseñador de Módulos de Datos, herramientas de localización de software, depurador, y muchas otras herramientas. Las características particulares y las componentes disponibles dependerán de la versión que usted haya adquirido. Todas las versiones de Delphi soportan la programación Windows a 32-bit, multihebras, COM y controles de automatización, y depuración multi-proceso. Algunas versiones agregan soporte para aplicaciones servidor, tales como servidores COM y aplicaciones Web, el desarrollo de bases de datos con generación de reportes y gráficos para una variedad de Sistemas manejadores de Bases de Datos DBMS back ends, soporte para servidores de bases de datos SQL (como Oracle 8 e InterBase), Microsoft Transation Server (MTS), aplicaciones de bases de datos multi-capas, CORBA, y sistemas de soporte de decisiones. La VCL.- Delphi incluye componentes que forman parte de una jerarquía de clases llamada Biblioteca de Componentes Visuales (VCL Visual Component Library). La VCL incluye objetos que son visibles en tiempo de ejecución (runtime) tales como, controles de edición, botones y otros elementos de interfaz de usuario así como también controles no visuales como datasets y cronómetros. El siguiente diagrama ilustra algunas de las principales clases que conforman la VCL. 14 Curso Básico de Delphi Los objetos que descienden de TComponent poseen propiedades y métodos que les permiten ser instalados en la paleta de Componentes y ser agregados a las Formas de Delphi. Ya que las componentes VCL se encuentran enganchadas al IDE, puedes usar herramientas como el Diseñador de Formas para desarrollar aplicaciones rápidamente. Las componentes se encuentran altamente encapsuladas. Por ejemplo, los botones están preprogramados para responder a los clics del mouse, al activar los eventos OnClick. Si utilizas un control de botones VCL, no necesitas escribir el código para manejar los mensajes de Windows cuando un botón es presionado; recuerda que eres el responsable de la lógica de la aplicación que se ejecuta en respuesta al evento. La mayoría de las versiones de Delphi incluyen el código completo para la VCL. A parte de incorporar la documentación en línea, el código de la VCL proporciona valiosos ejemplos de las técnicas de programación en Object Pascal. Manejo de excepciones El manejo de errores en Delphi está basado en excepciones, objetos especiales generados en respuesta a una entrada inesperada o a la ejecución de un programa con errores. Las excepciones pueden levantarse tanto en tiempo de diseño como en tiempo de ejecución, y la VCL contiene muchas clases de excepciones que están asociadas con condiciones de error específicas. En tus aplicaciones, puedes escribir manejadores de excepciones para tratar con los errores en tiempo de ejecución. Las excepciones también son valiosas como herramienta de depuración pues, generalmente, la clase de una excepción entrega una idea acerca de qué causó su levantamiento. Conectividad a bases de datos y utilidades Delphi y la VCL ofrecen una variedad de herramientas de conectividad que simplifican el desarrollo de aplicaciones de bases de datos. El Borland Database Engine (BDE) es un conjunto de controladores que soportan muchos formatos populares de bases de datos, incluyendo dBASE, Paradox, FoxPro, Access, y cualquier fuente de datos ODBC (Open Database Connectivity, Conectividad de Bases de Datos Abiertas). Los controladores Links SQL, disponibles en algunas versiones de Delphi, soportan servidores tales como Oracle, Sybase, Informix, DB2, SQL Server, e InterBase. Delphi incluye componentes que puedes utilizar para acceder a los datos a través de InterBaseExpress (IBX). Las aplicaciones IBX entregan acceso a características avanzadas de InterBase, y ofrecen la componente de interfaz de más alto rendimiento, para InterBase 5.5 y posteriores. 15 El IBX se basa en la conocida arquitectura de componentes de Delphi para acceso a datos, y está integrado con el Data Module Designer. El IBX es compatible con las componentes data-aware de la biblioteca de Delphi, y no requiere del Borland Database Engine (BDE). Puedes puede crear tablas de bases de datos durante el diseño usando el Form Designer. Primero, hay que crear definiciones de campo usando el Object Inspector, y luego has clic derecho sobre la componentes de la tabla y selecciona Crear Tabla (Create Table). Algunas versiones de Delphi incluyen componentes para conectarse a bases de datos usando ActiveX Data Objects (ADO). ADO es la interfaz de alto nivel de Microsoft para cualquier fuente de datos, incluyendo bases de datos relacionales y no relacionales, objetos de negocios, e-mail y archivos de sistemas, texto y gráficos, . Además, Delphi incluye las siguientes herramientas para los desarrolladores de bases de datos: Administrador BDE El Administrador BDE (BDEAdmin.exe) puedes configurar los drivers BDE y establecer los alias usados por los controles VCL data-aware para conectarse a la bases de datos. Explorador SQL (Database Explorer) El explorador SQL (DBExplor.exe) permite editar bases de datos. Puedes usarlo para crear los alias de la base de datos, visualizar el diseño de la información, ejecutar las consultas SQL, mantener diccionarios de datos y conjuntos de atributos. Database Desktop El Database Desktop (DBD32.exe) permite crear, visualizar, y editar tablas de bases de datos Paradox y dBase. Diccionario de datos (Data Dictionary) El Diccionario de Datos proporciona un área configurable de almacenaje, independiente de sus aplicaciones, donde puede crear conjuntos de atributos de campos extendidos, que describen el contenido y la apariencia de los datos. El Diccionario de Datos puede localizarse en un servidor remoto para compartir la información. Tipos de proyectos de desarrollo 16 Curso Básico de Delphi Delphi puede ser utilizado para escribir aplicaciones con una interfaz grafica al usuario (GUI,Graphic User Interface) para Windows, aplicaciones de consola, aplicaciones de servicio, dynamic-link libraries (DLLs), packages (un tipo especial de DLL usado por Delphi), y otros programas. Aplicaciones y Servidores Delphi tiene características que facilitan la escritura de aplicaciones distribuidas, incluyendo cliente/servidor, multi-capas, y sistemas basados en el web. Además del soporte para estándares como COM y un conjunto de componentes Internet, algunas versiones de Delphi proporcionan herramientas para el desarrollo CORBA. DLLs Los DLLs (Dynamic-link libraries) son módulos compilados que contienen rutinas que pueden ser llamadas por aplicaciones u otras DLLs. Debido a que una DLL contiene código o recursos compartibles, típicamente es usada por más de una aplicación. Componentes personalizables y paquetes (packages) Un paquete es una DLL especial usada por las aplicaciones Delphi, el IDE, o ambos. Aunque los paquetes pueden ser usados en una variedad de formas, su propósito más común es la encapsulación de componentes Delphi. De hecho, todos las componentes instaladas en el IDE deben ser compiladas como paquetes. Las componentes que vienen con Delphi son preinstaladas en el IDE y ofrecen un rango de funcionalidad que debería ser suficiente para la mayoría de sus necesidades de distribución. Podrías programar con Delphi por años sin instalar ninguna componente nueva, sin embargo, de vez en cuando deseará solucionar un problema específico o encapsular tipos de conductas particulares que requieran de componentes personalizados. Los componentes configurables complementan la VCL, promoviendo la reutilización del código y la consistencia entre aplicaciones. Muchos de los componentes Delphi están disponibles a través de desarrolladores third-party, y Delphi provee del asistente Nueva Componente, que facilita la creación e instalación de las componentes. Frames Un frame (TFrame), tal como una forma, es un contenedor para otras componentes. De algún modo, un frame es más parecido a una componente personalizada que a una forma. Los frames pueden ser guardados en la paleta de Componentes para facilitar su reutilización, y pueden ser anidados dentro de las formas, otros frames, u otros objetos contenedores. 17 Luego de crear y guardar un frame, éste sigue funcionando como una unidad y heredando los cambios de las componentes (incluyendo otros frames) que contiene. Cuando un frame está incrustado dentro de otro frame o forma, sigue heredando los cambios realizados sobre el frame o la forma de la que deriva. COM y ActiveX Delphi soporta el estándar COM (Component Object Model) de Microsoft y proporciona asistentes para la fácil creación de controles ActiveX. En la página ActiveX de la paleta de Componentes se encuentran instalados una serie de controles ActiveX de muestra. Varios componentes servidor COM están disponibles desde la etiqueta 'tab' de la paleta de Componentes. Estas componentes pueden usarse como si fueran componentes VCL. Por ejemplo, tu puedes ubicar una de las componentes de Microsoft Word dentro de una forma, para llamar a una instancia de Microsoft Word dentro de la interfaz de una aplicación. MIDAS (Multi-tier Distributed Application Services Suite ,MIDAS) Con MIDAS se puede desarrollar aplicaciones que satisfagan la demanda de las aplicaciones basadas en Internet. MIDAS permite desarrollar aplicaciones que crezcan a medida que crece la cantidad de transacciones y el número de usuarios finales. El desarrollo de aplicaciones que puedan manejar muchos clientes Windows o de navegadores web a través de Internet o de la Intranet. MIDAS permite dialogar en un mismo idioma con los estándares de computación distribuida como CORBA, COM y MTS para simplificar la integración de las aplicaciones existentes con las aplicaciones de e-commerce. Algunas de las nuevas características de MIDAS incluyen: · Stateless DataBroker para un mejor control en situaciones móviles y de bajo ancho de banda · Componente WebConnection para llevar sus aplicaciones más allá del firewall sin perder seguridad · Server object pooling para mejorar la escalabilidad ADO Componentes ADO (Objetos de Datos ActiveX - ActiveX Data Objects). Estos componentes permiten conectarse a información de bases de datos relacionales y no relacionales, incluyendo e-mail y archivos de sistema. Mediante el uso de las tecnologías de Microsoft Active X, Data Object y OLEDB. Esto combinado con la arquitectura abierta de componentes de datos de Delphi te permitirá desarrollar aplicaciones que pongan tus datos a disposición de tus usuarios finales através de Internet. 18 Curso Básico de Delphi Bibliotecas de tipos Las bibliotecas de tipos son archivos que incluyen información acerca de tipos de datos, interfaces, funciones miembros y clases de objetos expuestos por un control o servidor ActiveX. Al incluir una biblioteca de tipos con su aplicación COM o con la biblioteca ActiveX, pone a disposición de otras aplicaciones o herramientas de programación la información acerca de esas entidades. Delphi incluye un editor para la Biblioteca de Tipos, para crear y mantener las bibliotecas de tipos. Distribuyendo aplicaciones Al distribuir una aplicación es necesario suministrar todos los archivos requeridos a los usuarios incluyendo ejecutables, DLLs, paquetes, y controladores BDE. Para facilitar este proceso, Delphi incluye una versión especial del InstallShield Express, una popular herramienta para el desarrollo de utilerías de instalación. Internacionalizando aplicaciones Delphi ofrece muchas características para la internacionalización y localización de aplicaciones. La VCL soporta input method editors (IMEs) y proporciona amplios conjuntos de caracteres; y herramientas como el asistente de Recursos DLL facilita la preparación de un proyecto para localización. Para obtener el mayor beneficio de estas características, es necesario comenzar a pensar acerca de los requerimientos para internalización, lo antes posible en el proceso de desarrollo. El Ambiente de Traducción Integrado (ITE), disponible en algunas versiones de Delphi, es un grupo de herramientas para la localización de software y desarrollo simultáneo para lugares diferentes. Se encuentra integrado al IDE permitiendo manejar múltiples versiones localizadas de una aplicación, como parte de un proyecto único. El ITE incluye tres herramientas: · Administrador de Traducción, una grilla para visualizar y editar los recursos traducidos · Repositorio de Traducción, una base de datos compartida para las traducciones · Asistente Resource DLL, un asistente DLL que genera y administra DLLs fuente. 19 AMBIENTE DELPHI Esta sección describe brevemente los elementos del medio ambiente de programación de Delphi. FORMA Es el punto focal de cualquier aplicación en Delphi, además es el lienzo o cuadro donde agregando los componentes necesarios, se diseñan las pantallas para la Interface con el usuario. PALETA DE COMPONENTES (OBJETOS) Los componentes son los elementos necesarios para construir una aplicación. Estos pueden ser: 20 Curso Básico de Delphi - visibles: como botones, gráficas, texto, etc., o - No visibles: como controladores de tiempo, manejadores de Menú o de Bases de Datos. INSPECTOR DE OBJETOS Sirve para modificar la apariencia y el comportamiento de los Componentes que aparecen en la aplicación, ya que contiene las Propiedades y Eventos de cada componente (en tiempo de diseño). Ahora, las propiedades y los eventos son categorizables y tu puede elegir ocultar o mostrar las propiedades de cualquiera de las categorías que elijas. También puedes pedir al Object Inspector que enumere las categorías como entradas expansibles de nivel superior. Esto significa que puedes omitir todas las propiedades irrelevantes. Si alguna de las propiedades está oculta, la barra de estado del Object Inspector mostrará cuántas, como se observa en la Figura siguiente. 21 22 Curso Básico de Delphi EDITOR DE CODIGO Es donde se puede accesar y editar el código de la aplicación. BARRA RÁPIDA Proveé teclas rápidas, para los comandos más comunes del menú, tales como File, Edit, View, etc. AMBIENTE DELPHI A continuación se muestra la pantalla que presenta Delphi al ejecutarse. 23 El "ARCHIVO DE PROYECTO DELPHI" El "programa principal" de Delphi es un archivo de texto ASCII con extensión .DPR. Ésta extensión quiere decir Delphi PRoject (proyecto de Delphi). Para cada una de las ventanas que diseñas en el IDE, Delphi crea una "unidad". Una unidad es un archivo individual (también de texto ASCII) que representa en general a un objeto, o a una agrupación lógica de funciones. En el caso de los "objetos" que son formas, Delphi también crea un archivo "DFM" (Delphi Form) para guardar la apariencia del diseño de las mismas (las formas son simplemente archivos de recursos en un formato especial que solo funciona en Delphi - ver "archivos de recursos (RES)"). El siguiente ejemplo muestra el archivo DPR que se crea cuando comienzas Delphi. En general tu puedes crear programas muy complejos sin jamás modificar el archivo DPR (también llamado archivo de proyecto). Pero es importante saber como funciona. El archivo de Proyecto "Project1.Dpr" tiene la siguiente apariencia: 24 Curso Básico de Delphi program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. La sentencia "program project1" nos dice que el programa se llama project1. El nombre de programa debe ser el mismo que el nombre del archivo (sin extensión). La sección USES indica que archivos son usados. Forms es la librería de Delphi que contiene los comandos para crear y manipular ventanas (que en Delphi se llaman Formas). El otro renglón en la sección "uses" indica que la unidad llamada "Unit1" se encuentra en el archivo "unit1.pas", y Delphi hace un comentario {} que dice que la forma en esta unidad se llama Form1. $R es una "directiva del compilador". Una directiva es un comando para el compilador, no para el IDE. Cuando el compilador encuentra la directiva {$R *.RES} un archivo de "recursos" con el mismo nombre del programa (pero con extensión RES) es encadenado junto con el programa. Una vez que Delphi ha especificado todo lo que va a usar el proyecto, el programa inicializa la aplicación (Application.Initialize), crea la forma Form1 a partir de la definición de objeto "TForm1" (veremos el significado de esto mas adelante) usando "CreateForm", y la aplicación "corre" (Application.Run). Cualquier forma creada con CreateForm está activa (aunque podria ser invisible) hasta que el Application.Run termina. Después de esto (normalmente cuando "Run" recibe el mensaje "Terminate") el programa termina. DISEÑO DE UNA FORMA. Para diseñar una forma o un interface con el usuario, se requiere: 1. Crear una nueva forma. Hay varias maneras de crear una nueva forma: con el menú, con la barra rápida ó al iniciar un proyecto, Delphi abre automáticamente una forma en blanco. 2. Agregar componentes a la forma. 25 3. Poner o modificar las propiedades del componente, esto puede ser: - En tiempo de diseño con el Objet Inspector (Inspector de Objetos) O en tiempo de ejecución, mediante el llamado a métodos y modificación de propiedades. 4. Manejar los eventos Aquí se programan las instrucciones a ejecutar, en caso de que ocurra un evento a un componente. Ejemplo: Evento Click a un botón En el Object Inspector se tienen los eventos disponibles para cada componente. 5. Correr la aplicación Se puede correr la aplicación a través del menú, con la barra rápida u oprimiendo la tecla <F9>. El componente Forma, es el centro de las aplicaciones en Delphi . Las formas pueden ser usadas como: - Cajas de Diálogo - ventanas - o formas simples (como de captura de datos). Existen diversas maneras de clasificar las formas: Por la forma de Mostrarse. Forma Modal.- El usuario debe cerrar la forma para pasar a otra. Forma NO Modal.- Puede pasar a otra forma sin cerrar la primera. Para desplegar una forma NO Modal se utiliza el siguiente método: Form1.Show; Para desplegar una forma Modal se utiliza el siguiente método: Form1.ShowModal; Para cerrar una forma se utiliza el método Close. Close; Para esconder una forma se usa el método Hide. Form1.Hide; Por El tamaño de la Forma: 26 Curso Básico de Delphi Para determinar la manera en que aparecerá una forma, (minimizada, maximizada,o normal) se usa la propiedad: WindowState Para determinar la apariencia de la forma y como el usuario interactua con ella, se utilizan las propiedades: BorderStyle.- Estilo del borde. BorderIcons.-Iconos prendidos en el borde. Para determinar el ícono que aparecerá cuando la forma sea minimizada, se utiliza la propiedad : Icon Para programar algo en una forma y que se realize antes de que aparezca la forma, se puede programar en los eventos: OnCreate o Show Otra clasificación es para aplicaciones Multi Document Interface: MDI Form.- Forma padre o forma contenedor de otras formas MDI Child. No puede tener controles, solo menús. Si se cierra ésta, se cierran las formas hijas. MDI Child.- Forma hija. Para definir si una forma es Padre o Hija, es con la propiedad: FormStyle Para el acomodo de múltiples formas hijas, se cuenta con los siguientes métodos: - Cascade. Ordena las Formas MDI Child una sobre otra mostrando la barra de título de cada una - Tile. Ordena las formas MDI Child de modo que sea posible verlas completas a la vez sobre la forma MDI. - ArrangeIcons. Ordena los iconos de las formas MDI Child que se encuentran minimizadas dentro de la forma MDI. 27 COMPONENTES STANDARD MAINMENU Permite diseñar y crear la barra de menú y los menús desplegables de tu formulario. Es un componente no visual. Propiedades: Items.- Contiene la lista de los elementos del menú. Al dar doble click en este componente o en propiedades de MainMenu Items se pueden adicionar las siguientes propiedades de mayor uso para cada una de los elementos del Menú. Caption.- Texto a desplegar para las barras del menú. Checked.- índicador de Habilitado ó deshabilitada la opción de la barra Enabled.- Habilitar o deshabilitar la opción de la barra del menú. Visible.- Muestra u oculta el elemento del menú. POPMENU Permite diseñar y crear menús contextuales que aparecen cuando el usuario hace click con el botón derecho. Es un componente no visual. Propiedades: Items.- Contiene la lista de los elementos del menú. Al dar doble click en este componente o en propiedades de PopMenu Items se pueden adicionar las siguientes propiedades de mayor uso para cada una de las barras del menú. Caption.- Texto a desplegar para las barras del menú. Checked.- Indicador de habilitado ó deshabilitada la opción de la barra Enabled.- Habilitar o deshabilitar la opción de la barra del menú. Visible.- Habilitar o deshabilitar toda la barra del menú. LABEL Despliega texto que el usuario NO puede accesar o editar, tal como títulos. Usualmente este texto etiqueta a algún otro control. Es un componente visual. Propiedades: Caption.- Texto a desplegar. Alignment.- Alineación del texto dentro del control (Izquierda,Derecha, Centrado) AutoSize.- Si el tamaño del control, se ajusta al tamaño del texto. 28 Curso Básico de Delphi Font.- Tipo de letra. EDIT Despliega un área donde el usuario puede teclear y/o modificar, una simple línea de texto. Es un componente visual. Propiedades: Text.-Es el texto desplegado o capturado. Font.- Tipo de letra ReadOnly.-Texto solo de lectura, no modificable. Border Style.-Estilo de borde (Estilo Simple o sin Borde). PasswordChar.- Indica el carácter a mostrar en lugar del carácter introducido por el usuario. MaxLenght.-Máxima longitud permitida del texto. CharCase.- Determina si el texto dentro del componente será (Mayúsculas, Minúsculas, Normal). MEMO Depliega un área donde el usuario puede teclear y/o modificar, múltiples líneas de texto. Es un componente visual. Propiedades: Text.- Es el texto contenido en el componente Memo. Lines.-Accesa el texto por lineas. Ejemplo : Memo1.Lines[5] Font.- Tipo de letra. ReadOnly.-Texto solo de lectura. ScrollBars.- Permite definir si el campo Memo tiene alguna Barra de Scroll. WantReturns.- Si el control acepta la tecla <RETURN>. WantTabs.- Si el control acepta la tecla <TAB>. BUTTON Dispositivo que al oprimirse, ejecuta una acción.(Por ejemplo: iniciar, parar, o cancelar un proceso). Es un componente visual. 29 CHECK BOX Presenta una opción con valor Prendido/Apagado, Verdadero/Falso ó Sí/No. Pueden ser elegidos varios objetos de este tipo a la vez. Es un componente visual. Propiedades: Alignment.- Alineación del texto dentro del control Checked.- Indica si está seleccionados ó no State.-Indica si está prendido ó apagado o en gris AllowedGrayed.- Si se permite ó no que el botón sea gris. Si esta propiedad es true elcheckbox tendría 3 valores posibles encendido, apagado y gris. RADIO BUTTON Usa este componente cuando requieras presentar un conjunto de opciones mutuamente excluyentes al usuario, esto es que solo una de las opciones posibles puedes ser seleccionada. Es un componente visual. Propiedades: Alignment.- Alineación del texto dentro del control Checked.- Indica si está seleccionados ó no LIST BOX Despliega una lista, cuyos elementos pueden ser seleccionados por el usuario. Es un componente visual. Propiedades: Items.- Arreglo de strings, que contiene los textos que aparecen en la lista. ListBox1.Items[ListBox1.ItemIndex]; ItemIndex.-Es el número del elemento que está seleccionado. Columns.-Indica cuantas columnas puede tener la lista. Sorted.-Permite ordenar alfabéticamente los elementos de la lista. MultiSelected.- Si permite seleccionar mas de un elemento de la lista. Métodos: Add.- Agrega un elemento al final de la lista. ListBox1.Items.Add( Elemento 5 ); Delete.- Borra un elemento de la lista. ListBox1.Items.Delete(índice); Insert.- Inserta un elemento a la lista, en la posición indicada. ListBox1.Items.Insert( índice, Elemento 3 ); 30 Curso Básico de Delphi Clear.-Limpia la lista (borra todos sus elementos). ListBox1.Clear; COMBO BOX Combina la funcionalidad de un Edit Box (Caja de Edición) y de un List Box, para desplegar una lista de opciones. El usuario puede teclear texto en la caja de edición, o seleccionar un elemento de la lista. Es un componente visual. Propiedades: Items.- Arreglo de strings, que contiene los textos que aparecen en la lista. Combo1.Items[ Combo1.ItemIndex ]; Text.- Es el texto que el usuario puede teclear. ItemIndex.- Es el número del elemento que está seleccionado. Sorted.- Permite ordenar alfabéticamente los elementos de la lista. Métodos: Add.- Agrega un elemento al final de la lista. Combo1.Items.Add( Elemento 5 ); Delete.- Borra un elemento de la lista. Combo1.Items.Delete(indice); Insert.- Inserta un elemento a la lista, en la posición indicada. Combo1.Items.Insert( indice, Elemento 3 ); Clear.- Limpia la lista (borra todos sus elementos). Combo1.Clear; SCROLL BAR Permite al usuario seleccionar un valor, dentro de un rango de valores en una barra. (Se puede utilizar para cambiar la parte visible de una lista o de una forma). Es un componente visual. Min.- Posición o valor mínimo del Scroll. Max.- Posición o valor máximo del Scroll. SmallChange.- Unidades que se mueve el indicador, cuando se oprimen las feclas. LargeChange.- Unidades que se mueve el indicador, cuando das click sobre el scroll bar o sobre las teclas de Avance de página y Retorno de Página. Position.- Indica la posición actual del indicador. Kind.- Si es horizontal o vertical. 31 GROUP BOX Es un componente que se utiliza para agrupar controles y contenedores relacionados entre si, como los RadioButton, Checkbox, y además es un componente visual. RADIO GROUP Es una combinación de un GrupBox y RadioButtons y está diseñado especificamente para crear grupos de botones de radio. Se pueden poner varios grupos de éstos, pero no se admiten aquí otros controles. Este es un componente visual. Items.- Arreglo de strings que identifican los RadioButtons dentro del grupo. Columns.- Número de columnas en las que se dividen los RadioButtons. ItemIndex.- Determina cual radio button está seleccionado. PANEL El componente Panel es otro componente contenedor para agrupar controles o contenedores. Los paneles también pueden utilizarse para contruir barras de estado, de herramientas y paletas de herramientas. Este es un componente visual. COMPONENTES ADICIONALES BITBTN El componente BitBtn se utiliza para crear un botón con un gráfico de mapa de bits en él (Un botón OK con una marca de verificación, por ejemplo). Este es un componente visual. Caption.- Texto a desplegar en el botón. Glyph.- Especifica la imagen que aparece en el botón. Kind.- Indica el tipo de emagen a utilizar para el botón (bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bkIgnore, bkAll) Layout.- Indica la posición que guarda la imagen del botón con relación al texto. (blGlyphLeft, blGlyphRight, blGlyphTop, blGlyphBottom) Enabled.- Habilitar o deshabilitar el botón. (Si esta deshabilitado aparece en modo de ejecusión pero no realiza ninguna acción). 32 Curso Básico de Delphi SPEED BUTTON Es un botón al que se le puede agregar un ícono. Generalmente se utiliza para crear una barra de herramientas, y conjuntos especializados de botones, incluyendo botones que permanecen apretados. Es un componente visual. Caption.- Texto a desplegar en el botón. Down.- Indica si el Botón deseleccionado (levantado) se encuentra seleccionado (aplastado) o Glyph.- Especifica la imagen que aparece en el botón. Layout.- Indica la posición que guarda la imagen del botón con relación al texto. (blGlyphLeft, blGlyphRight, blGlyphTop, blGlyphBottom) Transparent.- Indica cuando el fondo del componente es transparente. Enabled.- Habilitar o deshabilitar el botón. (Si esta deshabilitado aparece en modo de ejecusión pero no realiza ninguna acción). MASKEDIT Se utiliza para dar formato correcto a datos mediante la solicitud de una entrada correcta de caracteres. Es un componente visual. BorderStyle.-MaskEdit con borde o sin borde (bsnone, bssingle). CharCase.- Tipo de letras para el MaskEdit (ecNormal, ecUpperCase,cLowwer). Color.- Color del fondo para el MaskEdit. EditMask.- Especifica la máscara que representa al texto valido para el control. Y restringe los caracteres que el usuario puede introducir al componente. STRINGGRID Se utiliza para mostrar datos de cadenas de caracteres en filas y columnas. Es un componente visual. Cells .- Lista las cadenas para cada celda de la cuadrícula StringGrid1.Cells[Col,Row] ColCount.- Indica el número máximo de columnas del componente. RowCount.- Indica el número máximo de filas del componente. Col.- Indica el numero de columna de la celda seleccionada. Row.- Indica el número de fila de la celda seleccionada Options.Especifica varios maneras de despliegue o de comportamiento del componente. Por ejemplo: Habilitar o deshabilitar bordes, colores y otras propiedades al StringGrid. en sus casillas por filas y columnas. (goFixedVertLine, goVertLine, goRangeSelect, goDrawFocusSelected, goColSizing) 33 DRAWGRID Se utiliza para mostrar información diferente de texto en filas y columnas. Es un componente visual. Cells .- Lista las cadenas para cada celda de la cuadrícula StringGrid1.Cells[Col,Row] ColCount.- Indica el número máximo de columnas del componente. RowCount.- Indica el número máximo de filas del componente. Col.- Indica el numero de columna de la celda seleccionada. Row.- Indica el número de fila de la celda seleccionada Options.Especifica varios maneras de despliegue o de comportamiento del componente. Por ejemplo: Habilitar o deshabilitar bordes, colores y otras propiedades al StringGrid. en sus casillas por filas y columnas. (goFixedVertLine, goVertLine, goRangeSelect, goDrawFocusSelected, goColSizing) IMAGE Se utiliza para mostrar gráficos como iconos, mapas de bits, y meta archivos. Es un componente visual. Canvas.- Superficie para dibujar e incluir imágenes siempre que la imagen sea un bitmap. Constraints.- Porcentaje máximo y mínimo de alto y de ancho. Center.- Habilitar o deshabilitar la imágen para ser centrada en el componente. Picture.- Especifica la imagen a mostrarse dentro del componente Enabled.Habilitar o deshabilitar el image. (Si esta deshabilitado aparece el componente en modo de ejecusión pero no realiza ninguna acción). SHAPE Dibuja formas geométricas, como una elipse, un rectángulo, etc. Propiedades: Shape.-Tipo de forma (Rectángulo, Elipse, etc.) Pen.-Características de la línea del contorno de la forma. Brush.-Características del relleno de las formas. BEVEL Se utiliza para dibujar un rectángulo que puede aparecer en bajorrelieve o altorrelieve. Es un componente Visual. Style.- Características de estilo para el contorno externo Constraints.- Porcentaje máximo y mínimo de alto y de ancho. 34 Curso Básico de Delphi Shape.- Características de la línea y de contorno de para el Bevel. SCROLLBOX Se utiliza para crear un área con barra desplazable. Es un componente Visual. AutoScroll.- Indica cuando las barras de desplazamiento aparecen de manera automática cuando el area de visualizacion no es lo suficiente grande como para ver la totalidad del contenido en este componente. BidiMode.- Forma en que se desplegara la información en el ScrollBox. BorderStyle.- Borde externo para el SrollBox (bsSingle, bsNone). Constraints.- Porcentaje máximo y mínimo de alto y de ancho. CHECKLISTBOX Esta componente combina las características de un ListBox y un CheckBox en un solo componente. Es un componente visual. Items.- Ventana para describir los elementos del CheckListBox Alignment.- Alineación del texto dentro del control Checked.- Indica si está seleccionados ó no State.-Indica si está prendido ó apagado o en gris AllowedGrayed.- Si se permite ó no que el botón sea gris. Si esta propiedad es true elcheckbox tendría 3 valores posibles encendido, apagado y gris. Flat.- Indica si el componente se muestra de manera tridimensional. SPLITTER Se utiliza para crear paneles de tamaño definido por el usuario en aplicaciones. Es un componente visual. Propiedades: Beveled.- Muestra la manera en como el componente es visualizado al momento que es movido de lugar MinSize.- Es el tamaño minimo de ancho en pixeles que tiene el componente y va de 1 a 32700 STATICTEXT Es similar al componente Label pero presenta características adicionales como estilos configurables para los bordes. Es un componente visual. CHART Es parte de la familia Tchart y se utiliza para crear tablas y gráficos. Es un componente visual. 35 WIN32 TABCONTROL Es un componente de una ficha en estilo Windows 95 que le permite agregar folders a un formulario para que el usuario seleccione alguna. Es un componente visual. Tabs .- Define los folders a presentarse dentro del componente. Es una lista de Strings que define por cada renglón un fólder dentro del componente. MultiSelect.- Indica si es posible seleccionar mas de un fólder. Style.- Indica el estilo de visualización del componente Tab (tsTabs, tsButtons, tsFlatButtons) PAGECONTROL Es un componente en estilo Windows 95 que se utiliza para crear páginas que se puedan cambiar utilizando folder u otros controles para conservar espacio en pantalla. Es un componente visual. Propiedades: ActivePage.- Indica el nombre de la pagina seleccionada y es de tipo TtabSheet. PageCount.- Indica el numero de componetes TtabSheet Componente. dentro del Pages.- Es la lista que contiene los componentes Ttabsheet que se encuentran dentro del componente. IMAGELIST Es un objeto que se proporciona para trabajar con listas de imágenes del mismo tamaño. Es un componente no visual. Propiedades: Count.- Número de imágenes contenidas en el control. RICHEDIT Es un cuadro de texto en estilo Windows 95 que le permite usar múltiples colores, tipos de letra, búsqueda de texto y más. Es un componente visual. Propiedades: Lines.- Contiene el texto de la linea Indicada RichEdit1.Lines[1] 36 Curso Básico de Delphi PlainText.- Indica si el componente solo contiene texto o incluye texto enriquecido como tipos de letras, tamaños, colores, etc. TRACKBAR Es un deslizador en estilo Windows 95. Es un componente visual. Propiedades: Max.- Contiene el valor máximo que el componente puede reporesentar de manera gráfica. Min.- Contiene el valor minimo que el componente puede representar de manera gráfica Position.- Contiene la posición actual del indicador. PROGRESSBAR Es una barra de progreso en estilo Windows 95. Es un componente visual. Propiedades: Max.- Contiene el valor máximo que el componente puede reporesentar de manera gráfica. Min.- Contiene el valor minimo que el componente puede representar de manera gráfica Position.- Contiene la posición actual del indicador UPDOWN Es un control de cambio numérico en estilo Windows 95. Es un componente visual. El control consiste en un par de botones flechas los cuales permiten cambiar valores numéricos. Propiedades: Max.- Muestra el valor máximo que soporta el componente. Min.- Muestra el valor máximo que soporta el componente. Position.- Muestra el valor actual del componente. Increment.- Indica el numero de unidades a modificar el valor de la propiedad position. DATETIMEPICKER Proporciona selección de datos de un componente que se parece a un Combobox, pero contiene un calendario desplegable. Es un componente visual. 37 Propiedades: Kind.- Indica si el componente se utilizará como captador de Fechas o de tiempo (dtkDate, dtkTime) Date.- Fecha actual DateFormat.- Formato de fecha (Abreviado, Largo) DateMode.- Características para la fecha (dmUpDown, dmComboBox) MinDate.- Rango mínimo rango en para la fecha. MaxDate.- Máximo rango en para la fecha. TREVIEW Es un componente en estilo Windows 95 que permite ver datos en formato jerárquico. Es un componente visual. LISTVIEW Es un componente en estilo Windows 95 que muestra listas visualmente en columnas. Es un componente visual. HEADERCONTROL Es un componente de encabezado en estilo Windows 95 que le permite crear encabezados múltiples móviles. Es un componente visual. STATUSBAR Es una barra de estado en estilo Windows 95 que le permite mostrar información de estado en múltiples paneles si es necesario. Es un componente visual. TOOLBAR Es utilizado para crear barras de herramientas para acceso rápido a características comunes en una aplicación. COOLBAR Es un contenedor que se utiliza para colocar componentes en bandas cuyo tamaño el usuario puede ser cambiar. ES un componente visual. SYSTEM TIMER Componente no visual que permite la ejecución de acciones en cierto intervalo de tiempo. Propiedades: 38 Curso Básico de Delphi Interval.- Intervalo de tiempo en milisegundo Evento: OnTimer PAINTBOX Componente Visual que se utiliza para mostrar una imagen o poder dibujar sobre él utilizando el Canvas, a diferencia del componente Image este componente no puede recibir foco MEDIAPLAYER Se utiliza para crear panel de control que simula el de una videograbadora. Este control se utiliza para reproducir sonido, archivos de cideo y dispòssitivos multimedia. Es un componente visual. Propiedades: AutoOpen.- Indica si el MediaPlayer es automátoicamente abierto cuando la aplicación se ejecuta. DeviceType.- Indica el tipo de dispositivo a utilizar para ejecutar el archivo especificado (dtAutoSelect, dtAVIVideo, dtCDAudio, dtDAT, dtDigitalVideo, dtMMMovie, dtOther, dtOverlay, dtScanner, dtSequencer, dtVCR, dtVideodisc, dtWaveAudio). Filename:- Indica el Archivo a ejecutar por el componente. OLECONTAINER Crea una área para incrustar o ligar objetos OLE. Es un componente visual. Propiedades: AutoActivate: Determina como el objeto OLE es activado (aaManual, aaGetFocus, aaDoubleClick) Metodos: LoadFromFile(FileName: String); Carga el objeto OLE desde el Archivo especificado. 39 COMPONENTES DE DIALOGO OPEN DIALOG Pone disponible de diálogo Open, para Abrir un archivo. Filter.- Determina los tipos de archivos visibles InitialDir.- Indica el directorio que es mostrado, al abrir el diálogo Open. FileName.-Guarda el nombre del archivo que eligió el usuario. SAVE DIALOG Pone disponible la ventana de diálogo Save, para guardar un archivo. Filter.-Tipos de archivos visibles FileName.- Puede sugerírsele al usuario un nombre inicial, y cuando éste seleciona o teclea el nuevo , queda guardado en FileName. FONT DIALOG Pone disponible la ventana de diálogo Font, para selección de letra, tipo, tamaño, color, etc. OPENPICTUREDIALOG Es utilizado para crear un cuadro de dialogo OpenPicture. Es un componente no visual. SAVEPICTUREDIALOG Se utiliza para crear un cuadro de diálogo SaveImage. Es un componente no visual. COLOR DIALOG Pone disponible la ventana de diálogo Color, para selección del color Color.- Almacena el color que selecciona el usuario. PRINT DIALOG Pone disponible la ventana de diálogo Print, para mandar a impresión PRINTER SETUP DIALOG Pone disponible la ventana de diálogo impresora. Printer Setup para configurar la FIND DIALOG Pone disponible la ventana de diálogo Find, para encontrar un String. FindText.-Texto a buscar 40 Curso Básico de Delphi REPLACE DIALOG Pone disponible la ventana de diálogo Replace, para Reemplazar un String. FindText.- Texto buscado. ReplaceText.-Texto que va a reemplazar, al texto encontrado. NOTA: Para ejecutarlos, se utilizar el método Execute. Ejemplo: OpenDialog1. Execute; ColorDialog1.Execute; WIN3.1 TABSET Se utiliza para crear fichas tipo libreta de notas. Es utilizado junto con el componente NoteBook para dar la apariencia de folders. Es un componente visual. Propiedades: Tabs.- Contiene un lista de textos que se muestran dentro del componente de tipo Fólder. OUTLINE Permite crear un control tipo árbol que se utiliza para mostrar datos en fornato jerárquico. Propiedades: Lines.- Contiene una lista de los elementos en el arbol y si tiene tabuladores se muestran como ramas del elemento anterior. OutLine1.Lines[1] Selected.- Contiene el nodo seleccionado. FILELISTBOX Se utiliza para crear un cuadro de lista que muestra los archivos en el directorio seleccionado. Es un componente visual. Propiedades: Directory.- Especifica el directorio del cual se estan mostrando los archivos del componente. 41 Drive.- Indica el Drive del cual esta mostrando los archivos el componente. FileName.- Indica el nombre del archivo seleccionado. Mask.- Define los archivos a mostrar en el componente. ShowGlyphs.-Muestra u oculta los iconos para los archivos. DIRECTORYLISTBOX Es utilizado para crear un cuadro de lista que muestra los directorios en la unidad seleciccionada. Es un componente visual. Propiedades: Directory.- Especifica el directorio seleccionado en el componente. Drive.- Indica el Drive del cual esta mostrando los archivos el componente FileList.- Es la manera mas facil de conectar al componente FileListBox DRIVECOMBOBOX Crea un cuadro combinado que se utiliza para mostrar y/o seleccionar una unidad. Es un componente visual. Propiedades: DirList.- Es la manera mas facil de conectar a un componente DirectoryListBox. Drive.- Indica el drive seleccionado actualmente. FILTERCOMBOBOX Se utiliza para crear un cuadro combinado que puede mostrar y/o seleccionar de el o los filtros de archivos. Es un componente visual. Propiedades: FileList.- Es la manera mas facil de conectarse a un componente FileListBox. Filter.- Contiene la lista de filtros que se pueden aplicar al componente FileListBox alcual se ligue. SAMPLES GAUGE Es tilizado para crear un indicador de progreso que puede aparecer como una barra, en un texto o un indicador tipo pastel. Es un componente visual. Propiedades: 42 Curso Básico de Delphi Max.- Contiene el valor máximo que el componente puede reporesentar de manera gráfica. Min.- Contiene el valor minimo que el componente puede representar de manera gráfica Position.- Contiene la posición actual del indicador. COLORGRID Es tilizado para crear una rejilla de colores de la cual el usuario puede hacer una selección. Es un componente visual. Propiedades: GridOrdering.- indica el orden de la matriz de colores a mostrar 4x4 16x 1, etc BackGroundEnabled.- Si desea captar el valor para poner el color de fondo o no BackGroundIndex.- Indica el indice de la grid que selecciono para el color de fondo. ForeGroundEnabled.- Si desea captar el valor para poner el color de primer plano o no ForeGroundIndex.- Indica el indice de la grid que selecciono para el color de primer plano. SPINBUTTON Se utiliza para crear botones de modificaciones de valores numéricos. Es un componente visual. SPINEDIT Es tilizado para crear una cuadro de texto combinado con las características de un control "spin". Es un componente visual. DIRECTORYOUTLINE Se utiliza para crear una muestra de la estructura de la estructura de directorios de la unidad seleccionada. Es un componente visual. CALENDAR Se utiliza para mostrar un calendario que puede utilizarse para mostrar o recuperar información de fecha en un formato estándar de calendario mensual. Es un componente visual. 43 COMPONENTES ACTIVEX CHARTFX Es tilizado para añadir capacida de generación de gráficos de datos a una aplicación Delphi. Es un control visual. VCSPELLER Es tilizado para añadir capacida de verificación de ortografía a una aplicación Delphi. Es un control no visual. V1BOOK Es tilizado para añadir capacida de hojas de cálculo a una aplicación. Es un control visual. VTCHART Se utiliza para agregar un gráfico tridimensional de datos a una aplicación Delphi que utiliza un servidor gráfico. Es un control visual. GRAPH Se utiliza para añadir gráficos bidimensionales a una aplicación Delphi. Es un control visual. PROPIEDADES COMUNES A LA MAYORÍA DE LOS COMPONENTES Visible.- Si el componente es mostrado dentro de la forma, ó no. Enabled.- Si el componente aparece habilitado o deshabilitado. Ctl3D.- Si el control da la apariencia de tercera dimensión Hint.- Texto informativo, que aparece bajo el control ó menú, cuando el usuario pasa el cursor del mouse sobre él. ShowHint.- Determina si se muestra el Hin (texto informativo) en el componente Top.- Distancia en pixeles del borde superior de la forma, hasta donde inicia el control (Coordenada en Y). Left.- Distancia en pixeles del borde izquierdo de la forma, hasta donde inicia el control (Coordenada X). Width.44 Tamaño horizontal del control o forma, en pixeles (Ancho). Curso Básico de Delphi Heigth.- Tamaño verticar del control o forma, en pixeles (Alto). Align.- Determina cómo se alinea el control dentro de la forma, o dentro del control que lo contiene. 45