IDE Avanzado de Visual Prolog

11
 UNIVERSIDAD AUTÓNOMA DE GUERRERO UNID D C DÉMIC DE INGENIERÍ Av. Lázaro Cárdenas S/N, Ciudad Universitario Chilpancingo, Gro., México INGENIERO EN COMPUTACIÓN EQUIPO # 5: IDE AVANZADO DE VISUAL PR OLOG  A SI G NA TUR A : SISTEMAS EXPERTOS INSTRUCTOR: V LENTÍN ÁLV REZ HIL RIO  HERMELINDO DE LA CRUZ DOMÍNGUEZ MATRÍCU LA: 07045318 9° SEMESTRE Chilpancingo , Gro., a 25 de octubre de 2011.

Transcript of IDE Avanzado de Visual Prolog

UNIVERSIDAD AUTNOMA DE GUERREROUNIDAD ACADMICA DE INGENIERAAv. Lzaro Crdenas S/N, Ciudad Universitario Chilpancingo, Gro., Mxico

INGENIERO EN COMPUTACIN

EQUIPO # 5: IDE AVANZADO DE VISUAL PROLOG

ASIGNATURA: SISTEMAS EXPERTOS

INSTRUCTOR:

VALENTN LVAREZ HILARIO

HERMELINDO DE LA CRUZ DOMNGUEZ MATRCULA: 07045318

9 SEMESTRE

Chilpancingo, Gro.,

a 25 de octubre de 2011.

EL IDE AVANZADO DE VISUAL PROLOGHermelindo De la Cruz DomnguezUniversidad Autnoma de Guerrero Unidad Acadmica de Ingeniera, Av. Lzaro Crdenas S/N, CU,

[email protected]

Resumen:La herramienta de Visual del Prlogo (el VIP) consiste en varios elementos. Tiene un Entorno Integrado de Desarrollo (DE), que incluye editores del texto y diversos del recurso, cdigo generador de herramientas (el Cdigo Experto) que analiza y checa el cdigo, control lgica de creacin de programas (facilidad de uso), etc. El IDE utiliza diversas herramientas de la lneas de comandos: El enlazador y compilador de Visual del Prolog emplean diversas lneas de comandos; tambin incluye un manual de ayuda de Visual del Prolog. En este trabajo se busca la forma de emplear el IDE de Visual Prolog para crear proyecto, modificar partes del cdigo y agregar componentes al proyecto que se haya creado.

Visual Prolog para crear nuestros proyectos, el IDE se utiliza para crear, desarrollar y mantener proyectos de Visual Prolog. Al utilizar el IDE de Visual Prolog estamos cumpliendo as con el objetivo planteado en la asignatura de Sistemas Experto.

Palabras Claves:Sistema: Conjunto de reglas o principios sobre una materia estructurados y enlazados entre s. /-Conjunto de elementos que, ordenadamente relacionadas entre s, contribuyen a determinado objeto. Experto: Especialista en una materia. IDE: Un entorno de desarrollo integrado (en ingls integrated development environment) es un programa informtico compuesto por un conjunto de herramientas de programacin. Prolog: Proveniente del francs PROgrammation en LOGique, es un lenguaje de programacin lgico e interpretado, bastante conocido en el medio de investigacin en Inteligencia Artificial. Visual Prolog: Entorno de desarrollo completo, con IDE, depurador, etc., para Prolog. Orientado a objetos y con posibilidad de enlazar con C/C++. Compilar: Proceso de traduccin de un cdigo fuente (escrito en un lenguaje de programacin de alto nivel) a lenguaje mquina (cdigo objeto) para que pueda ser ejecutado por la computadora. Las computadoras slo entienden el lenguaje mquina. La aplicacin o la herramienta encargada de la traduccin se llama compilador. GUI: (Graphic User Interface o Interfaz Grfica de Usuario). Conjunto de formas y mtodos que posibilitan la interaccin de un sistema con los usuarios utilizando formas grficas e imgenes. Con formas grficas se refiere a botones, conos, ventanas, fuentes, etc. los cuales representan funciones, acciones e informacin Eventos: uceso que ocurre en un sistema. Eventos pueden ser un clic, doble clic, minimizar una ventana, etc.

Categoras y descripcin del tema:El apartado se enfoca en el Captulo 4 del tutorial A Beginners' Guide to Visual Prolog, material que se puede encontrar en internet en versin ingls, proporcionado por el instructor de la asignatura Sistemas Experto, y dicho captulo consta de los siguientes temas bsicos: 1. El IDE avanzado de Visual Prolog, un acercamiento al IDE. IDE Projets. Es el tema principal a desarrollar y los subtemas que incluye son los siguientes: 1.1.- El IDE en general. 1.2.- TaskWindow en el Project Tree (rbol de Proyecto). 1.3.- Creacin de un nuevo elemento en el Projet Tree 1.4.- El Cdigo Experto, el Cuadro de Dilogo Experto y la Ventana Experto. 1.5.- Accediendo al cdigo por medio de Eventos. Estos son los temas que se trataran en este trabajo, haciendo una uso el IDE e ilustrando con un ejemplo para el caso.

Condiciones Generales:La determinacin de este documento se fundamenta en concebir el objetivo del empleo de la herramienta que proporciona el

1. EL IDE AVANZADO DE VISUALPROLOG. UN ACERCAMIENTO AL IDE. IDE PROJECTSEl Entorno de Desarrollo Integrado (IDE) es una herramienta muy agradable y til para crear programas de Prolog. En este apartado se har un recorrido por el IDE de Visual Prolog en su versin ms reciente para dar una visin general.

Que en este caso el objetivo es un archivo exe as es que el nombre del destino ser ch04p01.exe. Que el objetivo debera ser un programa de GUI, o sea un programa con una Interfaz Grfica del Usuario.

El Directorio Base es la "base" de todos los proyectos; pero se puede elegir otro lugar donde sea conveniente y sea fcil de acceso. El nuevo proyecto se crear en un Subdirectorio del Directorio Base. Por defecto este directorio tendr el mismo nombre como el propio proyecto. Como de costumbre, por el momento no es necesario tener en cuenta las etiquetas y las opciones restantes. Construccin Antes de hacer cualquier modificacin, vamos a construir (es decir, compilar y enlazar) el proyecto. En el men Build se encuentran los comandos para construir, compilar y ejecutar el proyecto. Si se elige Execute el proyecto es construido por primera vez, ya que se trata de un proyecto de una versin actual que se ejecuta. Si el Visual Prolog no est registrado se presenta una pantalla especial que dice as: Me permito sugerir que usted se registra, pero tambin puede optar por "continuar con la evaluacin". En la ventana de los mensajes del IDE se muestran los archivos que se compilan, etc. El proceso se controla en la barra de estado en la parte inferior. Si el proceso de construccin tiene xito, que lo debera ser en este caso, el programa creado se ejecuta. Como resultado, se va a ver un pequeo programa GUI haciendo nada. Se podr notar que el programa se parece un poco al propio IDE. Esto no es casualidad, ya que el IDE es en realidad es un programa de Visual Prolog. Ms adelante en este tutorial se ver tambin lo que sucede, si el compilador o el enlazador detectan errores en los procesos de Construccin. Navegacin Ahora se pondr especial atencin en el rbol de Proyecto (Project Tree) en la Ventana de Proyecto, y se explorar esto un poco. El Project Tree en si se presenta algo parecido al Explorador de Windows. Este es un control estndar de rbol de Windows por lo que ya se debe estar familiarizado con su uso. El Project Tree puede ser visto en la misma forma en que se navega por las carpetas en el Explorador. Ahora se describir el contenido del rbol. En este momento el Project Tree se ver como la Figura 1:

1.1.

El IDE en general

El IDE se utiliza para crear, desarrollar y mantener proyectos de Visual Prolog. En pocas palabras, se hablar de utilizar el IDE para las siguientes tareas en un ciclo de vida del proyecto: Creacin El proyecto se crea en el IDE, en el momento de la creacin se podr elegir las propiedades importantes del proyecto, tal como si el proyecto ser un archivo ejecutable o una DLL, ya sea que utilice GUI o texto base, etc. La construccin El proyecto se construye, es decir, compila y se enlaza, por el IDE. Compilacin significa que el cdigo Prolog se traduce a cdigo mquina, de forma que el procesador puede entender. o sea compilado y vinculado, por el IDE. El enlace quiere decir que los distintos partes del programa estn anudados, es decir estn enlazadas. Navegacin El IDE y el compilador recopilan y coleccionan informacin sobre el proyecto, que se utiliza de muchas formas para la localizacin rpida de las entidades del programa, etc. Desarrollo Durante el desarrollo y el mantenimiento del proyecto, el IDE se utiliza para aadir y eliminar archivos fuente y entidades GUI para el proyecto y para editarlos. Depuracin El IDE tambin sirve para depurar el proyecto. El depurador se utiliza para seguir la ejecucin del programa y exploracin del estado del programa cuando el programa se ejecuta. El depurador ayuda a encontrar y reparar los errores que impiden la ejecucin correcta del programa. En la segunda parte se ver ms en detalle cada una de estas cosas. En este apartado se utilizar un proyecto para ilustrar casos y dar ejemplos claros. Creacin En primer lugar vamos a crear un proyecto mediante la seleccin del Project/New... en el men. En respuesta a esto se presenta una ventana de dilogo que contiene varias propiedades del proyecto. A estas alturas ya se debe estar familiarizado con este cuadro de dilogo. Para este proyecto de ejemplo se ha elegido: Que el proyecto debe tener el nombre de ch04p01". Que el nombre del proyecto tambin se utiliza como el nombre del destino que se produce.

run():TaskWindow = taskWindow::new(), TaskWindow:show(). Las clusulas son piezas de cdigo que se ejecutan. Esta clusula dice algo como: si se ejecuta este programa, en primer lugar hacer un nuevo TaskWindow y mostrar al usuario. Esto es lo que sucede cuando se ejecuta el programa ch04p01. La otra manera de llegar a una determinada parte del cdigo, solamente se tiene que hacer clic en el nombre del Project Tree. El panel derecho muestra las partes que estn incluidas en el archivo que se ha seleccionado, como se muestra en Figura 2.

Figura 1: El Project Tree Debido a las distintas carpetas que constituyen una estructura del rbol, se hablar de las carpetas como nodos en un rbol. El nodo superior con el nombre ch04p01" representa el proyecto, y el directorio del proyecto. Es el nombre que se le dio en el cuadro de dilogo de Build. Justo debajo de este est el nodo lgico (carpeta) $ (ProDir). Este directorio contiene (como se ver ms adelante) las bibliotecas y libreras del cdigo del sistema de Visual del Prolog. Estos cambios son necesarios en tiempo de compilacin y tiempo de enlace. En el Project Tree esta carpeta se muestra como un subdirectorio del proyecto, pero en realidad puede residir en cualquier ubicacin del disco duro. Por eso se le llama a esto un nodo lgico. Por debajo de $ (ProDir) viene otro directorio con el nombre TaskWindow, que es un subdirectorio real del directorio del proyecto. Este directorio contiene todo el cdigo necesitado para producir la Task Window del programa, el men y la barra de herramientas (s) y el cuadro de Dilogo Acerca de La Task Window es la ventana principal del programa, que se muestra en el inicio. Debido a que hay algunas reglas tradicionales como la forma en que esta ventana busca en MsWindows, el IDE sabe lo que se espera y puede crear partes del cdigo sin algunas especificaciones especificaciones. Finalmente, se observa varios archivos con los nombres main y resourceidentifiers.i". Se omitir el archivo resourceidentifiers.i por el momento. Los otros archivos son los archivos que contienen el programa. Por supuesto es posible aadir ms archivos y mucho ms, pero estos archivos son un comienzo. Se puede dar cuenta de que el programa se distribuye en varios archivos. Esto es una consecuencia del hecho de que Visual Prolog es un lenguaje orientado a objetos. Cada archivo contiene una parte del programa. Su programa se ha declarado (definido) en el archivo main.cl. La extensin .cl es sinnimo de clase. Por ahora se puede pensar en una clase como un mdulo. El cdigo del programa Prolog reside en archivo main.pro. Hay dos maneras de ir al cdigo de main.pro. El primero es simplemente hacer doble clic sobre el nombre en el Project Tree. Se abre un editor con el cdigo mismo de Prolog. Tratar de encontrar la pieza del cdigo que dice: clauses

Figura 2 El Project Tree y el contenido de main.pro En el panel derecho se observa expresiones como Predicados, Constantes y Objetivo. Para ver todo como se muestra en Figura 2, puede que se tenga que ampliar las partes haciendo clic en el signo + delante del nombre del archivo. No importa demasiado sobre el significado de las expresiones de los Predicados. El contenido del archivo main.pro" se presenta como una estructura del rbol. Este rbol muestra que el main.pro del archivo contiene una clase llamada main, que contiene dos predicados llamados classinfo/2" y run/0" respectivamente. Piense en estos predicados como procedimientos o mtodos. Tambin contiene dos constantes, className y classVersion y tambin existe algo llamado goal. Al hacer doble clic en un elemento, el IDE abre un editor para este tipo de archivo y posiciona el cursor en lugar donde est el cdigo de dicho elemento. En el panel izquierdo se observa que cada nombre del archivo tiene una extensin. Las extensiones indican el tipo de archivo. Para entender estos tipos de archivos, se debe de tener conocimientos bsicos acerca de POO (Programacin Orientado a Objetos). En POO la idea central es que los programas constan de partes que se llaman objetos. Los objetos son creados en instancias llamadas clase. Una clase es una descripcin general de unos ciertos tipos de objetos. Sin embargo, una clase es tambin una coleccin de actividades que los objetos pueden realizar. Cuando un programa es ejecutado, se crean el objeto que realizan las operaciones asignadas. Estas actividades producen el resultado de que el programador haba previsto. Como ejemplo, pensar en una clase de los estudiantes. Este programa consistir en una clase main que se utilizar para iniciar el programa mediante la creando de un TaskWindow con un men principal. En este men habr opciones para crear un

registro de los estudiantes o para buscar un registro. Para crear un registro de estudiantes, que podra ser una clase llamada estudiantes que se utiliza para introducir y almacenar los datos de un estudiante. Al hacer clic en la opcin del men crear un registro de los nuevos estudiantes, se orden a la clase "estudiantes" a crear de un nuevo objeto y que el objeto recibe los datos que son introducidos por el usuario y los almacena en algn lugar de la base de datos. Para tal estructura de programa que usted necesita varios tipos de archivos. Usted necesita Clases -> Una coleccin de mtodos (procedimientos) y datos. Interfaces -> Que indican cmo una clase (u objeto) puede pedir otro objeto de realizar una actividad. Ficheros de Prolog -> Que contienen el cdigo del programa Prolog. Paquetes (packages) -> Grupos de archivos que estn enlazados entre s. Piense acerca de un paquete como una carpeta bajo MsWindows. En Visual Prolog lel tipo de archivo se indica en la extensin. El VIP utiliza a los siguientes convenios: El archivo *.cl contiene una declaracin de clase. El archivo *.i contiene una interfaz. El archivo *.pro contiene la clase con el cdigo Prolog llamado tambin clase de implementacin. El archivo *.pack contiene directiva # include que indican los archivos que deben ser incluirse en el paquete. Las directivas # include de los archivos *.pack apuntan a los archivos *.pro y los archivos *.ph. Los archivos *.ph son archivos de cabecera del paquete, que tambin contiene directivas del # include. Las directivas del # include en archivos *.ph apuntan a otros archivos *.ph, archivos *.i y archivos *.cl. Los archivos # include slo se muestran en el Project Tree, cuando se compila/construye el proyecto. stas son las extensiones que se ven en el panel izquierdo.

Figura 3 El contenido de la carpeta TaskWindow Al hacer doble clic en Aboutdialog.dlg y se abre un editor grfico que se parece mucho al editor de formulario que ya se vio anteriormente. Se puede cambiar el contenido que el IDE coloca por defecto en el cuadro de dilogo. El archivo AboutDialog.cl contiene la declaracin. Cada elemento del programa debe ser declarado; el cuadro de dilogo Acerca de es una clase (pensar en l como un mdulo) y las clases se declaran en un archivo .cl. El archivo AboutDialog.i es una interfaz. Finalmente, el cdigo de la informacin del cuadro de dilogo Acerca de est en el archivo AboutDialog.pro. Este archivo se compone de dos partes. Una parte en la que libremente se puede introducir, borrar, y cambiar el cdigo, la segunda parte es mantenida por el IDE. Que se genera cada vez que se construye o despus de un cambio en el AboutDialog.dlg. Este patrn es repetido a todo lo largo del IDE. Ahora echemos un vistazo a los archivos con el nombre TaskWindow. Por ahora se puede adivinar que: El archivo TaskWindow.cl contiene la declaracin. El archivo TaskWindow.pro contiene el cdigo de Prolog, El archivo TaskWindow.win es el archivo para ser editado. En este caso, cuando se hace doble clic en este nombre del archivo, se obtendr un dilogo en el que puede cambiar las propiedades de la ventana. En realidad, la edicin del cuadro de dilogo Acerca deno se hace como debe. Esto se debe a que el TaskWindow se construye apartir de elementos separados, como el TaskMenu, el cuadro de dilogo Acerca de, el icono del proyecto, etc. El archivo Taskwindow.win es como una lista de partes; en esta parte se especifica lo que debe incluirse en el Task Window. El archivo TaskMenu.mnu contiene el men principal del programa. Que se resumi anteriormente. El Icono del Proyecto es una pequea imagen descriptivo que aparece en la parte superior izquierda del programa. Las extensiones en los nombres de archivo son importantes en el IDE. Que indican qu tipo de

1.2.

TaskWindow en el Project Tree (rbol de Proyecto)

Ahora expanda el nodo /carpeta con el nombre de TaskWindow, se ver una carpeta llamada Barras de herramientas y varios archivos con nombres como AboutDialog y TaskWindow. Vase la Figura 3. Hay un patrn en estos archivos que ya se tiene conocimiento previo. Echmosle un vistazo a los archivos con el nombre Aboutdialog. Ya se sabe que un Dilogo es una especie de forma que se utiliza para comunicarse con el usuario. El About Dialog es la pequea ventana que aparece al hacer clic en Ayuda/Acerca de en el men principal de un programa. El IDE realiza un seguimiento de esta ventana y su contenido en cuatro archivos. El archivo Aboutdialog.dlg es el archivo en el que se puede editar el cuadro de dilogo Acerca de

archivo es un archivo y que ayudan al IDE para abrir el editor correcto al hacer doble clic en un nombre del archivo. Hay diferentes tipos de extensiones: El archivo *.dlg contiene un dilogo. El archivo *.frm contiene un formulario. El archivo *.win contiene una ventana (ventana de tarea o convencional PFC ventana GUI). El archivo *.mnu contiene un men. El archivo *.ico contiene un icono. Si se contina explorando se encontrar: *.ctl archivo que contiene los controles necesarios. *.tb archivo que contiene barras de herramientas. *.act archivo que contiene los cursores. *.bmp archivo que contiene mapas de bits (imgenes). *.lib archivo que contiene las bibliotecas. Todos estos tipos de archivos son tratados en editores diferentes. El IDE reconoce el tipo de archivo y elige el editor correcto. Por eso es que es importante elegir la extensin correcta - y nunca cambia una extensin existente. Si se hace el clic derecho sobre un nombre de archivo del men contextual que aparece, con los comandos que tienen relevancia para ese nodo en particular. Si se hace doble clic en un nodo la entidad correspondiente va a ser colocado en un editor adecuado para ser editado. Todo el cdigo de Prolog es editado en un editor de texto, pero los recursos de Windows como los cuadros de dilogo y mens se editan en editores grficos. A modo de ejemplo, abrir la carpeta Barras de herramientas y checar los primeros tres puntos ProjectToolbar.cl, ProjectToolbar.pro y ProjectToolbar.tb. De la lista anterior se sabe que un archivo .tb es una barra de herramientas. Al hacer clic derecho sobre el nombre de "Project Toolbar.tb" se abre un men con cuatro opciones: Edit [Editar]. Esta opcin abre el editor grfico para modificar la barra de herramientas. Es equivalente a hacer doble clic en el nombre del archivo. Attributes [Atributos]. Opcin que abre un cuadro de dilogo para cambiar los atributos de la barra de herramientas. Por ejemplo, puede cambiar la posicin de la misma ventana. Delete [Borrar]. Ooops, opcin que borra la barra de herramientas. Tenga cuidado. Properties [Propiedades]. Opcin que exhibe varias propiedades de la barra de herramientas. En este caso el Cdigo Experto no est disponible, ya que slo se utiliza con el TaskWindow.

orientado a objetos como el Visual Prolog se crear muchos archivos. Por lo que, un buen programador se encargar de que el Project Tree ser una jerarqua lgica de carpetas y archivos, y que los archivos que pertenecen a un grupo se colocar en la misma carpeta. Dicho grupo de archivos se llama un paquete [package], se puede pensar en un paquete como una carpeta en MsWindows. De vez en cuando tendr que crear carpetas para almacenar las partes del proyecto. En esta seccin se deber crear un paquete en el proyecto ch04p01 y poner un formulario en el mismo. El paquete tendr el nombre de pack01 y el formulario recibir el nombre de consulta. Paso 1: Crear el paquete: Aadir un nuevo paquete para el Project Tree ch04p01/pack01. Seguir los siguientes pasos: 1. En el Project Tree, haga clic en el directorio raz ch04p01 para resaltarlo. 2. En el Men de Tareas, haga clic sobre el Archivado/Nuevo (File/New) en paquete existente; se abre el cuadro de dilogo Crear Elemento del Proyecto (Create Project Item) (Figura 4). 3. En el panel izquierdo, haga clic en Paquetes (Package). 4. En el campo Nombre escriba pack01. El directorio principal de campo debe estar vaco. El formulario debe parecer como en la Figura 4. 5. Haga doble clic en el botn () para crear el nuevo paquete.

Figura 4 Crear un nuevo paquete Tenga cuidado donde se colocan los paquetes. Si se desea que el paquete se almacene en el directorio raz del proyecto, (que es la carpeta principal del proyecto), deje el directorio principal vaco, as como en Figura 4. Una manera de empezar con un directorio principal vaco es seleccionando el directorio raz del Project Tree antes de dar un clic sobre Archivado/Nuevo (File/New) en paquete existente, como se muestra en Figura 4a. Tambin es posible buscar en el directorio despus de hacer clic en Archivado/Nuevo (File/New). En ese caso, haga clic en el botn Examinar de la derecha y el cuadro de dilogo Crear Elemento del Proyecto (Create

1.3.

Creacin de un nuevo elemento en el Project Tree

El Project Tree muestra los directorios del proyecto y los elementos que estn almacenados en ellos. Para agregar un nuevo elemento al Project Tree, elija la opcin File/New... (Archivo/Nuevo) del men de tareas. Pero espera! Recordar que cada elemento se almacena en un archivo, por lo que en realidad se est creando un nuevo archivo. En un entorno

Project Item) que muestra la estructura de directorios en el equipo. De aqu se puede elegir cualquier directorio que se desee. Pero tenga cuidado. Preferiblemente debe elegir un directorio en el subdirectorio de su proyecto, a menos que tenga buenas razones para no hacerlo.

en un botn es un evento, haciendo que el programa ejecute alguna actividad asignada.

Figura 5: El editor de formas con controles, el diseo de la barras de herramientas y la ventana de propiedades. Para agregar un campo Edicin (Edit Fields), se hace lo siguiente. En la barra de herramientas de Controles, dar un clic sobre el Icono del Campo de Edicin (Edit Fields). Es el icono de la primera fila, con la palabra Editar (Edit) en ella. Ahora, ir a la plantilla del formulario y hacer clic izquierdo en el lugar donde se desea colocar el Campo de Edicin (Edit Fields). El IDE entra en un Campo de Edicin (The IDE enters an Edit Field). Puede cambiar su tamao de acuerdo a a las especificaciones que se desee. Para aadir un botn, una vez ms ir a la barra de herramientas de Controles y seleccionar (es decir, haga clic en) el icono de PushButton. Es el icono ms a la izquierda en la primera fila, con la palabra OK sobre l. Luego, ir a la plantilla de formulario y hacer clic en el lugar donde se desea que el botn sea colocado. Al momento de hacer clic en la plantilla del formulario, en la lista de propiedades se muestran los atributos de cada elemento y sus valores. En la columna izquierda se encuentra el nombre de la propiedad, en la columna derecha el valor. Por ejemplo, al hacer clic en el botn que se ha agregado se muestra la lista de propiedades y todos los atributos del mismo. Vea Figura 6. El tercer atributo (de la parte superior de la lista) es el atributo Texto, ese es tambin llamado el Campo de Texto (Text Field). El valor por defecto para el atributo de texto de un botn es "Push Button". (En resumen se puede decir: el texto por defecto para un botn es "Push Button). Es posible que se desee cambiar este texto. Simplemente, se hace un clic sobre el campo del valor de texto en la lista de propiedades y se escribe el texto que se desee. Hay otro campo en la lista de propiedades a la que se debera poner especial atencin. Es el primer campo, el Campo de Nombre (Name Field). Aqu se encuentra el nombre que ser utilizado en el programa para referir para este Push Button. Por defecto el botn recibe el Nombre pushButton _ ctl porque es un control con el nombre de Push Button. Sin embargo, se tendr que cambiar para hacer que el programa sea ms legible. Se puede cambiar el nombre por defecto en el mismo nombre que ha introducido en el Text-field (Campo de Texto). En ese caso, no se olvide de aadir la extensin "_ctl" para indicar que es un control. Es posible que desee ver las otras opciones en esta lista. Ms tarde, cuando el programa se haya terminado, volver al formulario query.frm y cambiar algunos otros atributos. Vase, por ejemplo lo que sucede cuando se cambia el atributo Visible en "falso.

Figura 4a: Archivo / Nuevo de paquete existente Paso 2: Crear un formulario y guardarlo en el paquete. Ahora que se ha creado un paquete pack01, se va agregar un formulario de con la consulta del mismo nombre. Como se ha hecho esto anteriormente, los pasos para hacerlo se debe estar familiarizado con ellos. Por la integridad del proyecto se van a mencionar nuevamente. Seguir los siguientes pasos: En el Project Tree, haga clic en el paquete recin creado pack01 (no en pack01.pack!). En el men Tareas, haga clic en Archivo / Nuevo en el paquete existente. El proyecto de dilogo Crear artculo se abre. En el panel izquierdo, haga clic en el Formulario. En el campo Nombre de tipo "consulta" (query). En este punto se debe elegir entre dos botones el de los paquetes nuevos y el de los paquetes existentes. Cuando se registra para nuevo paquete (New Package), los archivos de su formulario se colocar en un subdirectorio en el directorio raz pack01. Al revisar paquete existente (Existing Package), los archivos se colocan en el mismo directorio raz pack01. Se ha elegido paquete existente. Haga clic en el botn . El IDE muestra un nuevo formulario en el editor de formularios del paquete recin creado pack01 (no en pack01.pack!). El IDE muestra el editor de formulario (vea Figura 5). No lo cierre por el momento. Se tomar la oportunidad de aadir un campo de edicin y un botn. Los campos de Edicin (Edit Fields) permiten que el usuario del programa introducir texto, un numero u otro valor de entrada o para cambiar un valor. Un clic

derecho en TaskWindow.win. A continuacin, se selecciona la opcin Cdigo Expertos en el men flotante. El Cdigo Experto abre el Cuadro de Dialog and Window Expert. El Dialog and Window Expert tiene forma de rbol, que se muestra en la Figura 7. Este Cdigo Experto muestra los eventos que pueden tener lugar e indica entre parntesis en la barra de ttulo de la ventana donde se muestran los acontecimientos. En la Figura 6 se muestran los eventos de Task Window. Se tiene la posibilidad de elegir algn evento para el que se desea insertar o cambiar el cdigo. El Dialog and Window Expert es de hecho un rbol. Un rbol se compone de ramas y hojas, una hoja es el final de una rama. En una hoja se puede manipular el cdigo del programa. Para navegar por el rbol, y llegar a cierto punto donde desea insertar el cdigo, se hace clic izquierdo en las ramas adecuadas del rbol hasta llegar a la hoja que se desee. El Dialog an Windows Expert utiliza un procedimiento simple. Se va a una hoja en el rbol y hacer clic en l. Entonces hay tres posibilidades: No hay un cdigo para insertar en esta hoja. A continuacin, hacer clic en el botn () y los insertos del Cdigo Expertos estndar, tambin conocido como cdigo de prototipo. Ya existe cdigo insertado. A continuacin, puede eliminar haciendo clic en el botn (). No hay cdigo insertado y para salir de ahi, haciendo doble clic sobre la hoja. Por lo tanto, si desea que el Dialog and Window Expert agregue el cdigo estndar a una hoja, hacer clic en la hoja, y pulsar el botn () que aparecer en la parte inferior del cuadro de dilogo. A continuacin, hacer doble clic en la hoja una vez ms, para llegar al cdigo. Vase la Figura 7. Si desea agregar en CodeExpert (como usted hizo anteriormente) clauses onFileNew(W, _MenuTag) :S= query::new(W), S:show(). Para TaskWindow.win/CodeExpert/Menu/TaskMenu/id_file/id_file_ new, aqu estn los pasos que se debe de seguir: En el rbol de Proyecto: Abrir la carpeta TaskWindow del Project Tree. Hacer clic derecho en TaskWindow.win, se abre el men flotante. Elegir la opcin de Cdigo Experto, se abre el Dialog and Windows Expert. En el Dilogo y Experto del Windows Hacer clic en el Men. Hacer clic en el TaskMenu. Hacer clic en el id_file. hacer clic en el ID_FILE_NEW Pulsar el botn Agregar (Add) para generar el cdigo del prototipo. Finalmente, hacer doble clic en ID_FILE_NEW-> onFileNew. El editor abre el archivo Taskwindow.pro en el lugar donde el cdigo estaba insertado.

Figura 6: Propiedades de PushButton_ctl Con el fin de poner el formulario dentro de un paquete, asegurarse de que la carpeta del paquete se haya seleccionado antes de ir a Archivo / Nuevo (File/New). Para asignarle el nombre del paquete y el formulario, procurar elegir nombres que tienen algn significado. Por ejemplo, si el paquete contiene diagramas, el nombre del paquete seria diagramas, y si tiene grficos por ordenador, puede elegir un nombre como carpeta de imgenes, y si contiene consultas, un buen nombre es queryForms, si contiene documento para llenar diferentes formularios, es una PushButton_ctl rellenar los formularios, es una carpeta, y as sucesivamente. Nunca utilice nombres como prueba o FOLDER01, o con el nmero 01, a menos que utilice la carpeta para pruebas. Un formulario se puede editar en cualquier momento yendo al Editor de Formularios (Forms Editor). Puede llegar al editor de formularios haciendo clic derecho sobre el archivo .frm en el Project Tree, y elegir la opcin Editar del men emergente. Una ruta ms rpido es hacer doble clic sobre el nombre del formulario, por ejemplo, "Query.frm". Recuerde que el archivo con la extensin ". frm" es el lugar para cambiar el aspecto del formulario. El archivo con extensin .pro contiene el cdigo. Se puede acceder a los cdigos de dos maneras. El cdigo para Task Window se accede a travs de Cuadro de Dilogo y la Ventana Experto. El cdigo para otros elementos, como formularios se accede a travs de la lista de eventos en la ventana de propiedades. Tambin se puede llegar al cdigo haciendo doble clic en el archivo con extensin .pro o con un clic derecho en ese nombre y elegir la opcin Editar. Pero es aconsejable hacer cuando se sabe lo que se est haciendo.

1.4.

El Cdigo Experto, el Cuadro Dilogo Experto y la Ventana Experto

Como su nombre lo dice, el Cdigo Experto se utiliza para insertar cdigo, o fragmentos, en el cdigo del programa de Task Window. Para acceder al cdigo experto, se debe hacer clic

En el archivo TaskWindow.pro Agrega el cdigo pedido: clauses onFileNew(Window, _MenuTag) :NewWindow = query::new(Window), NewWindow:show().

2.

advertencia de que hay predicados utilizados en el programa. Los puntos de advertencia en su propio cdigo, que ya no se utiliza ya que no hay oyente para activarlo. Es una advertencia, porque el resto del cdigo no daa el programa, es simplemente no se utiliza. Eliminar su propio cdigo, pero no el oyente. Al generar el proyecto en este caso se obtiene un error de que no existe un identificador utilizado (por ejemplo: variables) en el programa. Los puntos de oyente a una variable de identificacin (onFileNew) que necesita para reaccionar a hacer clic en Archivo / Nuevo (File/New). Sin embargo, se ha eliminado el identificador por lo que no se encuentra en el cdigo del programa, por lo que el oyente no puede dirigir el control del programa mismo. Eso es un error, la correccin debe hacerse mediante la introduccin del propio cdigo o mediante la eliminacin (a travs del IDE) del oyente.

Figura 7 Dialog and Window Expert Cuando en Figura 7 se observa detalladamente la barra debajo de Title Bar, ver tres opciones de lo que el Dialog and Window Exper debe mostrar. Es posible mostrar todo los eventos (que es el valor por defecto), pero tambin es posible elegir una de las opciones Controladas y No Controladas (Handled y Unhandled). Al checar la Handled, slo los eventos que tienen cdigo adjunto se muestran. Cuando una ventana tiene muchos eventos, a veces prctico elegir a Handled o Unhandled. Por ahora solo se tiene que mantener el valor por defecto de todos los eventos. El Cdigo Experto es una herramienta til, pero no debe utilizarse de manera descuidado. Cuando el cdigo haya sido insertado por el Dialog and Window Expert de la Ventana, por favor, emplear de manera correcta. Por ejemplo cuando se desea eliminar el cdigo para "onFileNew" se abre la TaskWindow.win en el Dialog and Window Expert (como se hizo en la seccin anterior), busque "ID_FILE_NEW -> onFileNew", seleccionarlo y despus hacer clic en . Lo que sucede es que el IDE borra la lnea de cdigo para el oyente, pero no elimina el cdigo de programa que se haya cambiado. La razn es que probablemente se ha cambiado ese cdigo. Por lo tanto, es difcil decidir lo que exactamente se debe eliminar. Una segunda razn es al eliminar, el IDE podra destruir el cdigo que se quiere guardar para usarlo ms tarde o en alguna parte. Por eso es hay que eliminar ese cdigo manualmente. Las cosas pueden salir mal en este caso. Hay dos posibilidades: 1. Se elimina el oyente, pero no su propio cdigo. Al generar el proyecto en este caso se obtiene una

Figura 8: Los eventos en la ventana de propiedades del Cuadro de dilogo Acerca de

1.5.

Accediendo al cdigo por medio de Eventos

Acceder al cdigo de la TaskWindow a travs del Cdigo Experto. Otro cdigo que se puede acceder desde la ventana de propiedades del editor. Vamos a jugar un poco. Por favor, abrir la carpeta y seleccionar TaskWindow (Resaltar) el archivo "AboutDialog.dlg". Hacer clic derecho y elegir "Editar" Edit. El IDE abre el editor para que se pueda editar el cuadro

de Dilogo Acerca de.... La ventana de propiedades muestra las propiedades del cuadro de Dilogo Acerca de... Marque las dos pestaas en la parte inferior de la ventana de propiedades. Y se clasifican en "Propiedades" y "Eventos". Hacer clic en la pestaa de "Eventos". El contenido de las ventanas ha cambiado. En lugar de las propiedades, ahora se ven una lista de los eventos que pueden ser manejados/controlados por el cuadro de dilogo. Como se ve en la Figura 8. En esta lista se observa los eventos que puede ocurrir cuando el cuadro de Dilogo Acerca de est abierto. Ahora busque el evento con el nombre CloseResponder. Este evento est conectado con el botn () que se encuentra en la parte superior derecho de la ventana. Cada vez que se haga clic en el botn, el programa reconoce que el evento "CloseWindow" debe de ocurrir y el CloseResponder responde cerrando la ventana. Pero tambin es posible aadir ms actividades a este evento. Vamos a aadir una nota que diga simplemente lo que est sucediendo. Para agregar el cdigo, seleccionar "CloseResponder". El campo de valor es una flecha. Hacer clic en el CloseResponder y los posibles valores que aparecen. En este caso, la nica posibilidad es "OnClose". Elegir y hacer doble clic en este evento. Ahora el IDE inserta una lnea de cdigo estndar que activa el receptor y, tambin, se inserta un cdigo estndar para el procedimiento de "OnClose". Se abre el editor de cdigo Prolog y se coloca el cursor en el cdigo insertado. Se ve algo as: predicates onClose : frameDecoration::closeResponder. clauses onClose(_Source) frameDecoration::defaultCloseHandling. Cambiar la parte en las clusulas: clauses onClose(_Source) = frameDecoration::defaultCloseHandling :vpiCommonDialogs::note("You hit the button. \n Closing the About window now"). Lo que va a ocurrir ahora es que al hacer clic en el botn Cerrar, el programa (por supuesto) cerrar el Cuadro de Dilogo Acerca de, pero primero se muestra una nota que indica lo que se hizo y lo que va a suceder. Por cierto, en la nota la lnea \ n en el texto crea un salto de lnea en la cadena. Todos los controles se pueden administrar a travs del cdigo de Prolog de esta manera. Vamos a aadir algo de cdigo para cuando se haga clic en el botn . Seleccione el botn en el formulario y pasa a resaltar los eventos de la ventana de propiedades. Debe parecerse a la Figura 9.

Figura 9 Eventos para el con ClickResponder activado Seleccione ClickResponder. El ClickResponder responde al evento de hacer clic en el botn. Elegir el evento onButtonOkClick (es la nica opcin:-)) e ir al cdigo. El cdigo que se ve es algo como: predicates onButtonOkClick : button::clickResponder. clauses onButtonOkClick(_Source) = button::defaultAction. Cambiar la parte en las clusulas:

=

clauses onButtonOkClick(_Source) = button::defaultAction :vpiCommonDialogs::note("OK, I'll close the AboutDialog"). Ahora cerrar y guardar el cdigo y otras partes del programa; y despus, crear y ejecutar el programa. Hacer clic en Ayuda (Help) y elegir Acerca de... (About). Ms o menos se abre el cuadro de Dilogo acerca de... de manera estndar. Cuando se cierra, se ver la nota. En este caso se ve claramente que el cierre de la ventana a travs del botn () es diferente en el caso de cerrar el cuadro de Dilogo haciendo clic en el botn . En la prctica es probablemente que nunca se agregue cdigo al programa para el cuadro de Dilogo Acerca, pero es un ejemplo ilustrativo y curioso de demostrar que realmente se puede cambiar/modificar todos los elementos/componentes de un programa. Para agregar cdigo a otras partes del procedimiento/mtodo es similar. Basta con abrir un elemento/componente (Cuadro de Dilogo, Formularios, Barra de Herramientas, o cualquier componente) en un editor, seleccione el elemento en el que desea insertar el cdigo y abrir la lista de eventos en la ventana de propiedades. Seleccione el evento y hacer doble clic en el componente y se abre el editor de cdigo, cambie el cdigo estndar insertado.

CONCLUSIONESVisual Prolog es un lenguaje de programacin cuyo objetivo es admitir paradigmas orientados al objeto. En este trabajo se vio como manejar el IDE propiamente dicho, acceder a las diferentes partes del proyecto, y se dio a conocer cules son las facilidades que ofrece esta herramienta visual, solo queda de nuestra parte el saber dominar el Lengaje Prolog para empezar a trabajar con esta herramienta tan sencillo y sorprendente. El IDE Presenta conceptos de programacin lgicos como retroceder, combinar diseos, tipos de data algebraica y un nico sistema de objeto. Es un entorno de desarrollo grfico integrado completo con un compilador, en lazador y depurador. Usando esta herramienta, podrs crear aplicaciones para la plataforma Microsoft Windows 32. Admite enlace directo con C/C++ siendo extremadamente til para grandes proyectos. Incluye un editor de texto, un editor de dilogo, un men, una barra de tareas, editores grficos y facilidades de construccin y bsqueda. Es ms eficiente para crear archivos objetos para la creacin de ejecutables autnomos, resolviendo referencias cruzadas entre declaraciones o modo predicativo de validacin. Puedes realizar poderosos chequeos de tipo, validar inicializacin de hechos en constructores o realizar resolucin predicativa.

REFERENCIAS A Beginners' Guide to Visual Prolog, Version 7.2, Thomas W. de Boer. Archivo de ayuda, incluido en el IDE de Visual Prolog 7.3.

Nieves Pavn, Universidad de Huelva. Visual Prolog: entorno de desarrollo [en lnea], 2003, http://www.uhu.es/nieves.pavon/pprogramacion/practicas/v isualprolog/visualprolog.html Prolog Development Center A/S. Visual Prolog 5.x language tutorial.[archivo PDF], 2001.

Prolog Development Center A/S. Visual Prolog 5.x getting started.[archivo PDF], 2001.