Academia.eduAcademia.edu

Porcicultura

PROYECTO APLICACION MOVIL PARA EL CONTROL DE LA PORCICULTURA Ferney Jose Esteban Zamora Contents 1 INTRODUCCION 2 EL 2.1 2.2 2.3 4 PROBLEMA DE INVESTIGACION Planteamiento del Problema . . . . . . . . Formulacion del Problema . . . . . . . . . Objetivos . . . . . . . . . . . . . . . . . . 2.3.1 General . . . . . . . . . . . . . . . 2.3.2 Especificos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 5 5 5 3 Justificacion 5 4 Delimitacion 6 5 MARCO REFERENCIA 5.1 Marco teorico . . . . . . 5.1.1 TIC’S . . . . . . 5.1.2 Teratologia . . . 5.1.3 focomelia . . . . . . . . 7 7 7 7 7 6 PROPUESTA 6.1 Nombre del desarrolador . . . . . . . . . . . . . . . . . . . . . 7 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 BARRERAS DE ACCESO A LAS TICS QUE SE VAN A MINIMIZAR 7 7.1 Manejo del raton: . . . . . . . . . . . . . . . . . . . . . . . . . 7 7.2 Acceso ha contenido en navegadores o computadores: . . . . . 8 1 8 PROBLEMATICA 8 9 CATOLOGO DE POSIBILIDADES 9.1 Aplicaciones para personas con problemas de vista. . . . 9.1.1 Brltty: . . . . . . . . . . . . . . . . . . . . . . . . 9.1.2 Festival: . . . . . . . . . . . . . . . . . . . . . . . 9.1.3 Gnome-Speech: . . . . . . . . . . . . . . . . . . . 9.1.4 Kmagnifier: . . . . . . . . . . . . . . . . . . . . . 9.1.5 Screader: . . . . . . . . . . . . . . . . . . . . . . 9.1.6 XZoom: . . . . . . . . . . . . . . . . . . . . . . . 9.1.7 SVGATextMode: . . . . . . . . . . . . . . . . . . 9.2 Aplicaciones para personas con problemas de movilidad. 9.2.1 Dasher: . . . . . . . . . . . . . . . . . . . . . . . 9.2.2 Gok: . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.3 OpenMindSpeech: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8 8 9 9 9 9 9 9 9 10 10 POBLACION CON DISCAPACIDAD A LA CUAL VA DIRIGIDA: 10 11 RESUMEN O DESCRIPCION SOBRE SU USO: 11.1 Ventana principal . . . . . . . . . . . . . . . . . . . . . . . . 11.2 otras ventanas IDE . . . . . . . . . . . . . . . . . . . . . . . 11.3 El menu principal . . . . . . . . . . . . . . . . . . . . . . . . 11.3.1 submenu archivo . . . . . . . . . . . . . . . . . . . . 11.3.2 submenu Editar . . . . . . . . . . . . . . . . . . . . . 11.3.3 submenu Buscar . . . . . . . . . . . . . . . . . . . . 11.3.4 submenu Ver . . . . . . . . . . . . . . . . . . . . . . 11.3.5 submenu Proyecto . . . . . . . . . . . . . . . . . . . 11.3.6 submenu Ejecutar . . . . . . . . . . . . . . . . . . . 11.3.7 submenu componentes (paquetes en la version 0.9.3) 11.3.8 submenu herramientas . . . . . . . . . . . . . . . . . 11.3.9 submenu entorno . . . . . . . . . . . . . . . . . . . . 11.3.10 submenu Ventana . . . . . . . . . . . . . . . . . . . 11.3.11 submenu Ayuda . . . . . . . . . . . . . . . . . . . . 12 ANEXOS LAZARUX PLATAFORMAS . . . . . . . . . . . . . . 10 10 11 14 14 16 18 19 22 24 26 27 28 30 31 32 13 DESCRIPCION FREE PASCAL Y LAZARUX 32 13.1 aplicacion consola . . . . . . . . . . . . . . . . . . . . . . . . . 36 13.2 Libreras cargables dinmicamente . . . . . . . . . . . . . . . . 36 2 13.3 Aplicaciones con GUI (Graphical User Interface = Interfaz grfico de usuario) . . . . . . . . . . . . . . . . . . . . . . . . . 13.4 Arquitectura de Lazarus . . . . . . . . . . . . . . . . . . . . . 14 PROCESO DE PRODUCCIN DE LA APLICACIN: 37 38 38 15 LISTADO DE MATERIALES QUE SE UTILIZAN PARA EL DESARROLLO DE LA HERRAMIENTA TECNICA O PARA LA PROPUESTA DE USO: 40 3 1 INTRODUCCION 4 2 EL PROBLEMA DE INVESTIGACION 2.1 Planteamiento del Problema Hoy en dia las TICS tienen un avance diario por lo que hicimos un analisis y surgio una duda. la comunidad que posee algun tipo de ganado porcino posee alguna aplicacion movil que le permita tener un mejor control de la produccion de su ganado? por ello analizamos que estas personas tambien tienen derecho a acceder a estas tecnologias y buscamos la manera de genera una aplicacion para S.O android en la que el usuario pueda mantener una control preciso de la produccion de su ganado. 2.2 Formulacion del Problema Como ayudar al ganadero porcino a mejorar la produccion mediante una aplicacion movil para S.O android ? 2.3 Objetivos 2.3.1 General - Como utilizar software libre o privativo para ayudar a integrar datos que permita mejorar la produccion del ganado porcino mediante una aplicacion movil que permita tener datos de consulta a la mano. 2.3.2 Especificos - Implementar un proyecto piloto en la universidad de Cundinamarca utilizando el software libre o privativo para la creacion de aplicaciones moviles para S.O android. - analizar el ciclo de la produccion del ganado porcino mediante el control llevado en una aplicacion movil en el S.O android. - facilitar consulta y obtener datos puntuales que permita la toma de desiciones oportunas para la produccion del ganado porcino. 3 Justificacion Hoy en dia el 0.0045 de la poblacion colombiana tiene ganado porcino es por ello que hemos buscado desarrollar aplicaciones moviles para poder ayudar a esta comunidad con el acceso a las TIC’s; para ello buscaremos difundir el uso de las aplicaciones del S.O android para mejorar la produccion del 5 ganado porcino mediante una optimizacion del ciclo al mantener los datos cuantificados y guardados en una base de datos a la cual se podra acceder desde una aplicacion que podra llevar en el S.O android. 4 Delimitacion - Debido a que parte de la poblacion productora de ganado porcino no tiene acceso y manejo de la tecnologia necesaria para el manejo de la poblacion. 6 5 MARCO REFERENCIA 5.1 Marco teorico 5.1.1 TIC’S las tecnologas de la informacin y la comunicacin (TIC o bien NTIC para nuevas tecnologas de la informacin y de la comunicacin) agrupan los elementos y las tcnicas usadas en el tratamiento y la transmisin de la informacin, principalmente la informtica, Internet y las telecomunicaciones. 5.1.2 Teratologia Se entiende por teratologa a la disciplina cientfica que, dentro de la zoologa, estudia a las criaturas anormales, es decir, aquellos individuos naturales en una especie que no responden al patrn comn. 5.1.3 focomelia La focomelia es una enfermedad que se manifiesta por una malformacin de origen teratognico consistente en la ausencia de elementos seos y musculares en el miembro superior o inferior, quedando reducido a un mun o prominencia que se implanta a nivel del hombro o de la cintura y que asemeja las aletas de la foca. Puede afectar a un solo miembro o a varios. 6 6.1 PROPUESTA Nombre del desarrolador freepascal - Propuesta de uso: Neil Gutierrez Jose Esteban Zamora 7 7.1 BARRERAS DE ACCESO A LAS TICS QUE SE VAN A MINIMIZAR Manejo del raton: Debido a que las personas con focomelia se les dificulta el manejo de un mouse el cual es necesario para tener acceso a las tics generamos esta nueva 7 propuesta la cual consiste en un mouse controlado mediante movimientos corporales para su uso practico. 7.2 Acceso ha contenido en navegadores o computadores: Gracias al software libre lazarux se facilita el acceso a contenido de navegadores de una manera muy eficaz y practica. 8 PROBLEMATICA Debido a el analisis que hemos realizado en la investigacion hemos establecido que las personas que con discapacidades tienen dificultades para acceder a las diferentes TIC’S por medio de diferentes dispositivos moviles a los cuales tendriamos que realizar una pequea modificacion en el software para que este tipo de comunidad pueda acceder a las TIC’S 9 CATOLOGO DE POSIBILIDADES 9.1 9.1.1 Aplicaciones para personas con problemas de vista. Brltty: demonio que permite usar la terminal o consola de Unix/Linux a travs de un teclado braile conectado al puerto de serie. Tambin lee en voz alta los mensajes de la consola para facilitar la interaccin con el usuario. http://mielke.cc/brltty/index.html 9.1.2 Festival: es un sintetizador de voz que reproduce textos en castellano e ingls (aunque las voces en ingls est un poco ms ”pulidas”) a medida que aparecen en pantalla. Para tener una idea de cmo funciona, puede ir a la pgina de prueba online para ver algunos ejemplos. Lamentablemente, slo se incluyen all las voces en ingls. Todas las herramientas y la documentacin para crear nuevas voces se encuentran disponibles en la pgina web del proyecto FestVox auspiciado por la Carnegie Mellon (http://festvox.org). http://www.cstr.ed.ac.uk/projects/festival/ 9.1.3 Gnome-Speech: librera que facilita la programacin de software basado en libreras Gnome con funciones para producir voz a partir de texto. La librera Gnome Speech 8 soporta diversas interfaces, pero actualmente slo est activada en este paquete la interfaz Festival, el resto requieren Java o software propietario. http://www.escomposlinux.org/lfs-es/blfs-es-SVN/gnome/gnome-speech.html 9.1.4 Kmagnifier: Es la lupa que nos viene con el kde-base. http://kmag.sourceforge.net/ 9.1.5 Screader: Sintetizador de voz que reproduce el texto y los caracteres que aparecen en la terminal o consola de Linux. http://web.inter.nl.net/users/lemmensj/homepage/uk/screader.html 9.1.6 XZoom: Otra lupa disponible para cualquier distribucin con entorno grfico X11. Agranda porciones especficas del escritorio (seleccionadas con el mouse) y es lo suficientemente rpido y ligero como para agrandar videos y animaciones. http://linux.about.com/cs/linux101/g/xzoom.html 9.1.7 SVGATextMode: Ajusta el tamao de la fuente, el cursor, la sincronizacin de H/V del texto que aparece en la consola o terminal de Linux para ser ms legible. http://freshmeat.net/projects/svgatextmo 9.2 9.2.1 Aplicaciones para personas con problemas de movilidad. Dasher: permite sustituir la escritura del teclado por movimientos realizados con un joystick, mouse, trackball o touchscreen. Es muy til para aquellos que se vean obligados manejar la compu con una sola mano o con ninguna (a travs de un eyetracker). Con la versin que soporta eyetracking, los usuarios experimentados pueden escribir la misma cantidad de palabras que lo que tarda uno normalmente al escribir a mano (29 palabras x minuto); utilizando un mouse, los usuarios experimentados pueden escribir hasta 39 palabras x minuto! http://www.inference.phy.cam.ac.uk/dasher/ 9.2.2 Gok: Es un teclado virtual que controla todas las funciones de las aplicaciones Gnome, as como tambin insertar carcteres especiales o escribir documentos 9 de texto, con el mouse. Tambin permite crear tus ”teclados” personalizados. http://www.gok.ca/ 9.2.3 OpenMindSpeech: Aplicacin de reconocimiento de voz que pretende ser compatible con KDE, Gnome y todas las aplicaciones existentes para Linux. Es un proyecto ambicioso pero al parecer (por la ausencia de noticias en la web) esta parado http://freespeech.sourceforge.net/ 10 POBLACION CON DISCAPACIDAD A LA CUAL VA DIRIGIDA: Debido a que lazarux Es una distribucin GNU/Linux operando desde un Live-CD, adaptada a las necesidades informticas de eficientes visuales de habla hispana, que incluye un amplio conjunto de aplicaciones accesibles y un motor de voz totalmente en espaol. Aparte de las herramientas habituales de ofimtica, Internet, multimedia, etc incorpora xmag, Emacspeak, lupa, teclado en pantalla, Xzoom, Yasr, Dasher, sintetizador de voz y Gnopernicus que se activa desde la carga inicial, con lo cual podemos controlar el sistema desde el inicio hemos establecido de que este software libre no tiene una poblacion con discapacidad en especifico debido a que es una aplicacion que tiene variedad de elementos que permiten que las personas discapacitadas tengan acceso a las TIC’S. 11 RESUMEN O DESCRIPCION SOBRE SU USO: En este momento no se encuentran registros sobre el uso de este software libre en Colombia Bsicamente es una distribucion que interacta con los gestos corporales en cual varios desarroladores se han involucrado realizando programacion mediante FREEPASCAL el entorno grafico Al ejecutar por primera vez Lazarus aparecen en el escritorio varias ventanas desconectadas separadas o ’flotantes’. 11.1 Ventana principal La primera, en la parte superior derecha del escritorio, con el rotuloEditor vXX.XX.XX de Lazarus - project1(que posteriormente reflejar el nom- 10 bre que pongas al proyecto). Esta es la ventana principal que controla tu proyecto, y contiene el Menu Principal, la Paleta de Componentes y el panel de Botones Rapidos. Figure 1: ventana inicial Una linea por debajo de la barra de ttulo est elMen Principalcon las habituales opciones Archivo, Editar, Buscar, Ver, Ventanas y Ayuda, y con las opciones que son especficas de Lazarus. Debajo, a la izquierda hay un sistema de Botones Rpidos, que te llevan gilmente a opciones del Men Principal, y a la derecha est la Paleta de Componentes. 11.2 otras ventanas IDE Debajo de la ventana del editor de Lazarus aparecer a la izquierda la ventanaInspector de Objetos, y la delEditor de Cdigo Fuentea la derecha. Puede haber otra ventana mas pequea, etiquetada, en principio,Form1, sobre la ventana del Editor de Codigo. Si no es visible inmediatamente, puede hacerse aparecer presionando la teclaF12, que alterna entre la vista del Editor de Codigo y la vista del formularioForm1. La ventana del formulario es en la que constituira el interfaz grafico de tu aplicacion, mientras que el Editor de Codigo es la ventana que muestra el codigo de PASCAL asociado a la aplicacion que esta creando. El Inspector de Objetos se describe con detalle mas adelante, junto con la Paleta de Componentes.Cuando comience un nuevo proyecto (o cuando ejecute Lazarus por primera vez) se construira un formulario predefinido, que se compone de una caja en la que hay una rejilla de puntos para ayudarle a colocar los diversos componentes del formulario, y una barra a lo largo de la parte superior que contiene los botones habitualesMinimizar,MaximizaryCerrar. Si usted pulsa con el raton en cualquier lugar de la caja, ver las propiedades de este formulario mostradas en el Inspector de Objetos en el lado izquierdo del escritorio. Otras ventanas que pueden llegar a ser visibles durante su trabajo:Inspector del Proyecto, que contiene los detalles de los archivos incluidos en su proyecto, y permite que agregar archivos o eliminar archivos de su proyecto; la ventanaMensajes, que muestra mensajes del compilador, errores o informes sobre el progreso de su proyecto; si Lazarus fuese ejecutado desde una ventana de terminal, el 11 12 IDE.png Figure 2: IDE 2.png Figure 3: 13 IDE 3.png Figure 4: terminal original seguiria siendo visible y los mensajes detallados del compilador tambien se mostraran alli. Por ltimo, tambin puede ver una ventana de mensajes en la parte inferior de la pantalla: sta es utilizada por Lazarus para mostrar los resultados al programador, por ejemplo, al compilar un programa. 11.3 El menu principal a lnea del menu principal contiene las siguientes entradas:ArchivoEditarBuscarVerProyectoEjecutarCom (Paquete en la versin 0.9.26.2)Herramientas Entorno Ventanas Ayuda Como de costumbre, las opciones se pueden seleccionar colocando el cursor del raton sobre la opcin del menu y pulsando con el boton izquierdo, o pulsandoAlt+Fen el teclado (suponiendo que la ventana del Menu Principal tenga el foco: si no lo tiene, pulseTabvarias veces para completar un ciclo del foco a traves de varias ventanas hasta que la ventana deseada tenga su barra de ttulo resaltada). 11.3.1 submenu archivo -Nueva Unidad: Crea un nuevo archivo Unidad (en cdigo fuente Pascal). -Nuevo Formulario: Crea un nuevo Formulario: tanto la ventana visual en 14 1.png Figure 5: pantalla como el archivo asociado en cdigo fuente Pascal. -Nuevo : Muestra ventana emergente con un men (captura de pantalla) con los distintos tipos de proyectos y archivos nuevos que se pueden crear. -Abrir: Muestra un cuadro de dilogo emergente para permitirle recorrer el sistema de archivos y elegir un archivo existente para abrirlo. -Deshacer: Anula los cambios de edicin y devuelve el archivo a su estado original. -Guardar: Guarda el archivo actual, usando su nombre original. Si no tiene nombre, el sistema se lo pregunta (igual que Guardar como) -Guardar como: Le permite escoger una carpeta y un nombre para guardar el archivo actual. -Cerrar: Cierra el archivo actual, preguntando si quiere guardar todos los cambios del editor. -Cerrar todos los archivos del editor: Cierra todos los archivos abiertos actualmente en el editor. Pregunta si se guardan los cambios. -Limpiar directorio: Muestra un dilogo con varios filtros editables para borrar archivos del directorio actual. til para borrar archivos .bak y restos de antiguos proyectos en Delphi. -Salir: Sale de Lazarus, despus de preguntar si se guardan los archivos editados. 15 11.3.2 submenu Editar 2.png Figure 6: -Deshacer: Deshace el ltimo cambio, dejando el Editor como estaba antes de la ltima accin. -Rehacer: Rehace la ltima accin que fue anulada por Deshacer. -Cortar: Borra el texto u otros objetos seleccionados y los coloca en el portapapeles. -Copiar: Hace una copia del texto seleccionado, dejando el original en su sitio y colocando una copia en el portapapeles. -Pegar: Sita el contenido del portapapeles en la posicin del cursor. Si el texto ha sido seleccionado en la posicin del cursor, el contenido del portapapeles sustituir al texto seleccionado. -Sangrar seleccin: Mueve el texto seleccionado hacia la derecha segn lo indicado en Entorno -¿ Opciones del Editor -¿ General -¿ Sangrar bloque. Esta caracterstica es til para formatear su cdigo fuente Pascal para mostrar la estructura del bloque subyacente. -Desangrar seleccin: Elimina un nivel de sangrado, moviendo el texto hacia la izquierda segn lo indicado en Sangrar bloque. -Encerrar seleccin: Muestra un men emergente con varias opciones para, lgicamente, encerrar el texto seleccionado (begin ... end; try ... except; try ... finally; repeat ... until; ... ; etc). -Seleccin en maysculas: Convierte el texto seleccionado en maysculas. -Seleccin en minsculas: Convierte el texto seleccionado en minsculas. -Tabulaciones a espacios en seleccin: Convierta cualquier tabulacin en el 16 texto seleccionado segn el nmero de espacios especificado en Entorno -¿ Opciones del Editor -¿ General -¿ Anchura de tabulacin. No se fija el nmero de espacios cuantitativamente, sino el nmero que se necesita para rellenar el ancho restante de tabulacin. -Romper lneas seleccionadas: Si algunas lneas en el texto seleccionado o el nmero especificado en Entorno -¿ Opciones del Editor -¿ Pantalla -¿ Margen derecho, tienen ms de 80 caracteres, la lnea se rompe en una palabra lmite y contina en la lnea siguiente. -Comentar seleccin: Convierte el texto seleccionado encomentarios, insertando // en cada lnea. -Descomentar seleccin: Borra las marcas de comentario. -Ordenar seleccin: Ordena lneas (o palabras o prrafos) alphabeticamente; en orden ascendente o descendente, puede ser sensible o insensible a maysculas/minusculas. En mitad del cdigo fuente del programa, claro, se convierte en insensible, pero si tiene una lista que necesita ordenar lo puede hacer con esto. -Seleccionar: Permite seleccionar bloques de texto. Las opciones son Seleccionar todo, Seleccionar tira, seleccionar prrafo o lnea, etc. -Insertar desde mapa de caracteres: Permite insertar smbolos que no estn en el teclado tales como caracteres acentuados, seleccionndolos desde un mapa de caracteres emergente. -Insertar texto: Muestra un men emergente que permite insertar texto normal, tal como palabras clave de CVS (Author, Date, Header, etc) o avisos de GPL, usuario o fecha y hora actual. -Completar cdigo: Completa el cdigo donde est el cursor. Es sensible al contexto y le ahorra mucho tiempo. Por ejemplo: completa clases, aadiendo variables privadas, las propiedades Get y Set acceden a mtodos y aaden partes principales de mtodos. Asignando variables (por ejemplo i:=3;) aade las declaraciones de las variables. En los procedimientos definidos en adelante aade las partes principales de los mtodos. Al asignar eventos (OnClick:=) aade la definicin del mtodo y su parte principal. VaseHerramientas del IDE de Lazarus. -Extraer procedimiento: Usa el texto seleccionado (una declaracin o varias) para construir un nuevo procedimiento. 17 3.png Figure 7: 11.3.3 submenu Buscar -Buscar: Parecido a lo que existe en casi todos los editores de texto: aparece un cuadro de dilogo emergente que permite introducir una cadena de texto a buscar, con opciones como sensible a maysculas/minsculas, palabras completas, origen, alcance y direccin de bsqueda. -Buscar Siguiente, Buscar Anterior: Busca otra vez segn la entrada de texto previa, en la direccin especificada. -Buscar en archivos: Busca el texto en archivos: cuadro de dilogo emergente con las opciones todos los archivos abiertos, todos los archivos en el proyecto, o todos los directorios; se pueden utilizar caracteres comodn para seleccionar archivos de un tipo determinado. -Reemplazar: Parecido aBuscar; muestra un cuadro de dilogo emergente con espacio para escribir una cadena de texto y sustituir texto y opciones de sensibilidad a maysculas/minsculas, direccin, etc. -Bsqueda incremental: Busca la cadena de texto mientras estamos introduciendo la cadena a buscar. Por ejemplo: despus de elegir ”Bsqueda incremental” si teclea ”l” la primera ”l” se resaltar. Si despus presiona ”a”, el editor buscar la siguiente ”la” y as sucesivamente. -Ir a lnea: Mueve el cursor de edicin a la lnea especificada de un archivo. -Saltar atrs: Regresa en el archivo a el anterior marcador (es necesario haber utilizadoAadir punto de salto al historial. Se mover a marcadores en otros archivos abiertos en el Editor. 18 -Saltar adelante: Se mueve hacia delante al prximo marcador. -Aadir punto de salto al historial: Aade marcadores o puntos de salto al archivo. -Ver historial de salto: Muestra la lista de marcadores del archivo:Todavia no llevado a cabo. -Buscar otro final del bloque de cdigo: Situados en unbegin, busca el correspondienteendo viceversa. -Buscar comienzo del bloque de cdigo: Se mueve albeginde un procedimiento o funcin en la que est situado el cursor. -Buscar declaracin desde el cursor: Buscar el lugar en el que se ha declarado el identificador seleccionado. Esto puede ser en el mismo archivo u otro ya abierto en el Editor; si el archivo no est abierto, se abrir (cuando se declara un procedimiento o una funcin, por ejemplo, enclassesh.inc, se abrir en el Editor). -Abrir nombre de archivo a cursor: Abre el archivo cuyo nombre se ha seleccionado con el cursor. Es til para examinar archivosIncludeo archivos que contienen otrasUnidadesusadas en el proyecto. -Ir a directiva de inclusin: Si el cursor est situado en un archivo que estIncluidoen otro archivo, va al lugar en el otro archivo que llam el archivoInclude. 11.3.4 submenu Ver 4.png Figure 8: -Controla la visualizacin de varias ventanas y paneles en la pantalla. -Inspector de Objectos: La ventana que normalmente ocupa el lado izquierdo 19 del escritorio y muestra las propiedades del formulario que aparece en l. Si hace clic con el ratn en cualquier componente de un formulario se mostrarn los detalles de ese componente en el Inspector de Objetos. En la parte superior hay un panel que muestra la estructura en rbol del proyecto actual y en el que se pueden seleccionar los componentes del formulario: esto tambin har que se muestren en el Inspector de Objetos los correspondientes detalles. El panel principal inferior tiene dos pestaas que permiten seleccionarPropiedadesoEventos. Si se seleccionaPropiedadesse muestran caractersticas como nombre, color, etiqueta, tipo de letra, tamao, etc.: hay dos columnas, la izquierda muestra la propiedad y la derecha el valor asociado a esa propiedad. Si se seleccionaEventosmuestra dos columnas: la izquierda lista los posibles eventos tales como MouseClick o KeyDown asociados con ese componente, y la izquierda la accin que resulta de ese evento. Si ho hay una accin definida, haciendo clic en la casilla apropiada o en el botnhace que aparezca el Editor de Cdigo, con el cursor ya colocado en una plantilla de declaracin de procedimiento, esperando que tecleemos el cdigo que defina el evento. -Editor del cdigo fuente: La ventana principal donde se edita el cdigo fuente. Su funcionamiento es muy parecido a la mayora de los editores de texto grficos, as que el ratn puede mover el cursor sobre el texto mostrado, y al hacer clic con el botn izquierdo mientras arrastramos se seleccionar y sombrear texto. Al pulsar con el botn derecho se muestra un men emergente, pero si est familiarizado con Windows, o editores de Gnome o KDE, encontrar que el men emergente NO tiene las funciones habituales de edicin: Cortar, Copiar y Pegar, sino que incluye opciones como Buscar Declaracin o Abrir archivo en cursor. La parte superior del Editor del cdigo fuente tiene varias pestaas, que corresponden a los archivos que estn abiertos para el proyecto actual; pulsando sobre cualquiera se ver el archivo, y podr moverse fcilmente de un archivo a otro, copiando y pegando entre archivos y realizando la mayora de las funciones normales de edicin. El Editor del cdigo fuente resalta texto en color, con colores diferentes para signos de puntuacin, comentarios, constantes, etc. Tambin mantiene el nivel de sangrado de lnea en lnea, mientras no lo cambie. La funcionalidad y apariencia del Editor del cdigo fuente son muy configurables desde el Men Principal seleccionando Entorno -¿ Opciones del editor y seleccionando despus una de las pestaas del cuadro de dilogo emergente. -Explorador de cdigo: Unaventana emergente. normalmente situada a la derecha del escritorio que muestra, en forma de rbol, la estructura del cdigo en la unidad o programa actual. Habitualmente se abre con el nombre de unidad y ramas para las secciones Interface e Implementation, pero pulsando 20 en el recuadrosituado a la izquierda de cualquier rama abrir sus sub-ramas o ramitas, con ms y ms detalles hasta constantes individuales, se mostrarn tipos y variables, as como procedimientos y declaraciones de funcin. Si cambia el archivo mostrado en la ventana principal del Editor del cdigo fuente, necesitar pulsar el botn Refrescar del Explorador de Cdigo para mostrar la estructura del nuevo archivo. -Unidades: Abre una ventana emergente de dilogo con una lista de los archivos de unidades en el proyecto actual. Haciendo clic con el ratn sobre un nombre de archivo se selecciona ese archivo; pulse en Abrir para mostrar ese archivo en el Editor del cdigo fuente. Si marca el recuadro Multi podr seleccionar varios archivos a la vez, y todos ellos se abrirn en el Editor del cdigo fuente (pero slo se mostrar uno cada vez). Este Men Opcin se parece bastante a Proyecto -¿ Opciones del Inspector del Proyecto, pero slo muestra la lista de archivos unidades y permite que sean abiertos. -Formularios: Abre una ventana de dilogo emergente con una lista de los formularios del proyecto actual, y permite seleccionar uno o ms para que sean mostrados. -Ver dependencias de la unidad: Abre unaventana de dilogoemergente que muestra, como un rbol, la estructura de dependencias del archivo unidad actualmente abierto. La mayora de los archivos listados como dependencias tendrn sus propios recuadros, lo que permite que se exploren las dependencias de los archivos individuales, a menudo de una manera muy recursiva. -Commutar Ver formulario / unidad: Commuta entre el Editor del cdigo y el formulario actual situado en la capa superior del escritorio, y le da el foco. Si el Editor del cdigo tiene el foco, puede editar el cdigo fuente; si se le da el foco al formulario podr manipular los componentes en el escritorio y cambiar el aspecto del formulario. El modo ms sencillo de alternar entre el Editor y el formulario es usar la teclaF12, pero se consigue el mismo resultado seleccionando esta opcin en el Men Principal. -Mensajes: Una ventana que muestra los mensajes del compilador, el avance de una compilacin con xito o lista los errores encontrados. -Buscar resultados: Una ventana que muestra los resultados de una bsqueda en archivos. -Ventanas de depuracin: Abre un men emergente con varias opciones para operar y configurar el depurador. Ms abajo se describe elDepurador 21 5.png Figure 9: 11.3.5 submenu Proyecto -Nuevo proyecto: Crea un nuevo proyecto. Aparece una ventana de dilogo emergente que ofrece la posibilidad de elegir entre varios tipos de proyectos. -Nuevo proyecto desde archivo: Aparece una ventana de dilogo de navegacin, que permite seleccionar un archivo desde el cual crear un nuevo proyecto. -Abrir proyectoAbre un proyecto que ya haba sido creado y guardado. Aparece un dilogo de navegacin con una lista de archivos con Informacin del Proyecto Lazarus (Lazarus Project Information (.lpi)) desde el que se puede elegir un proyecto. -Abrir proyecto reciente: Muestra una lista emergente de los proyectos recientes en los que ha estado trabajando y permite seleccionar uno de ellos. -Guardar proyecto: Parecido a Archivo -¿ Guardar: se guardan todos los archivos del proyecto actual; si no fueron previamente guardados, se nos pregunta el nombre- como en Guardar Proyecto como... -Guardar proyecto como...: Pide un nombre para guardar el proyecto. Se ofrece por defecto el nombre Project1.lpi, pero debera elegir su propio nombre. Lazarus no permitir usar el mismo nombre para el archivo proyecto y el archivo unidad (vasems abajo). -Publicar proyecto: Crea una copia de todo el proyecto. Si desea mandrselo a alguien slo la configuracin de las fuentes y el compilador de su cdigo, esta funcin es su amiga. Una carpeta normal de proyecto contiene mucha informacin. La mayoria no es necesario hacerla pblica: el archivo .lpi contiene informacin de la sesin (como posicin de insercin de texto y marcadores de unidades cercanas) y la carpeta del proyecto contiene muchos archivos .ppu, .o y el ejecutable. Para crear un archivo lpi solamente con la informacin base y slo las fuentes, en todas las subcarpetas use ”Publicar proyecto”. En el dilogo puede establecer los filtros excluir e incluir y con la orden despus 22 puede condensar la salida a un nico archivo. VaseHerramientas del IDE de Lazarus -Inspector del proyecto: Abre un dilogo con aspecto de rbol que muestra los archivos del proyecto actual. Permite aadir, borrar y abrir los archivos que se seleccionen, o cambiar las opciones del proyecto. -Opciones del proyecto...: Abre una ventana de dilogo con varias pestaas para establecer opciones para Aplicacin (ttulo, archivo de salida), Formularios (que permite seleccionar, de entre los formularios disponibles, los que se crearan automticamente al arrancar la aplicacin) y Miscelnea (especifica si la informacin del editor debera guardarse para archivos cerrados, o slo para archivos del proyecto).NO ESTOY REALMENTE SEGURO DE LO QUE SIGNIFICA ESTO: AYUDA!!–¿ en la versin 0.9.24 estas casillas figuran en la pestaa Sesin y lo que viene a decir es si se salvan cambios realizados en archivos abiertos en el editor, pero que no pertenecen al proyecto, normalmente unidades que figuran en la clusula uses y otros que nosotros hayamos abierto, pero no aadido al proyecto. Lo de los archivos cerrados si que es un misterio. -Opciones del compilador...: (Se traslad a aqu recientemente desde el Men Ejecutar). Abre una ventana multipagina con pestaas para configurar el compilador. Las pestaas sonRutaspara definir trayectorias de bsqueda para unidades, archivos include, libreras, etc., tambin permite elegir un tipo de interfaz para los formularios (gtk, gnome, win32);Procesandopara elegir las reglas para procesar programas fuente,Cdigopara hacer que los programas sean mas rpidos y pequeos, elegir procesador objetivo, tipos de comprobaciones, tamao de la pila, etc;Enlazandopermite elegir como usar la depuracin, libreras estticas o dinmicas, y si se pasarn las opciones a travs del enlazador;Mensajesdefinir que tipo de mensajes se generarn si hay errores;Otropara decidir si usar el archivo de configuracin por defecto (fpc.cfg) o algn otro archivo;Heredadomuestra un diagrama con estructura de rbol para indicar cmo han sido heredadas las opciones desde unidades ya incorporadas;Compilacinpermite definir comandos que se ejecutarn antes o despus de lanzar el compilador y puede permitir usar archivos Make. -Aadir archivo de editor al proyecto: Aade al proyecto el archivo que se est editando en este momento. -Eliminar del proyecto: Aparece un men emergente con los archivos que se pueden quitar del proyecto. -Ver fuente: Independientemente del archivo que est editando, lo lleva de regreso al archivo del programa principal (.lpr), o al archivo principal .pas si no hay .lpr. -Ver lista Para-Hacer: Abre un cuadro de dilogo con una lista de tareas pen23 dientes asociadas a este proyecto. Listar cualquier comentario de tareas pendientes de su proyecto (lneas que comienzan por //TODO), y cualesquiera otras en las unidades Lazarus que utiliz. Necesita Refrescar las tareas pendientes en el dilogo (usando el botn con el smbolo de una flecha en la barra de herramientas) para que aparezcan las nuevas tareas pendientes. La primera columna de la lista de tareas pendientes contiene nmeros que ha destinado a sus comentarios ToDo; un simple //TODO har que aparezca un cero, pero un comentario //TODO999 (por ejemplo) pondr el nmero 999 en la primera columna. Recuerde que no puede haber espacios antes de //TODO y que los comentarios ToDo aadidos despus de la ltima vez que guard no se mostrarn! 11.3.6 submenu Ejecutar 6.png Figure 10: -Construir: hace que Lazarus construya (es decir compile) los archivos del proyecto que han sufrido cambios desde la ltima construccin. -Construir todo: Construye todos los archivos del proyecto, hayan sufrido cambios o no. -Abortar construccin: Para el proceso de construccin una vez iniciado - si ha recordado que hizo algo mal y quiere parar la construccin , o el proceso parece que se alarga mucho y evidentemente, hay algn error. -Ejecutar: Este es el modo normal para lanzar el compilador y, si la compilacin tiene xito, empezar la ejecucin de la aplicacin. Lo que relamente ocurre es que Lazarus guarda una copia de sus archivos, despus inicia el compilador y el enlazador, luego comienza la ejecucin del programa binario 24 enlazado final. -Pausar: Suspende la ejecucin del programa. Esto le puede permitir inspeccionar cualquier salida que haya sido generada; la ejecucin se puede continuar seleccionandoEjecutarotra vez. -Paso a paso por instrucciones: Utilizado junto con el depurador, produce la ejecucin del programa paso a paso hasta un punto sealado del cdigo fuente. -Paso a paso por funciones: Produce la ejecucin paso a paso hasta la declaracin sealada, despus salta la declaracin y contina la ejecucin a velocidad normal. til para intentar aislar una declaracin que provoca un error lgico. -Ejecutar hasta cursor: Provoca la ejecucin a velocidad normal (es decir, NO una declaracin cada vez) hasta la declaracin donde est el cursor; despus se para. Contine la ejecucin a velocidad normal seleccionandoEjecutar -Detener: Para la ejecucin del programa. No se puede continuar seleccionandoEjecutar; esto har que comience el programa otra vez desde el principio (recompilando si es necesario). -Parmetros de ejecucin: Abre una ventana emergente multipgina que permite opciones de consola y parmetros que se le pasarn al programa para que sean ejecutados; permite la seleccin de monitor para ejecutar el programa (por ejemplo, en Linux se puede utilizar un terminal X remoto); algunas variables de entorno pueden ser invalidadas. -Una aplicacin muy importante de este submen es activar una ventana de terminal en la que se muestra una consola Pascal de entrada/salida. Si est desarrollando un programa Pascal en modo consola (por ejemplo, que no use el interfaz grfico de usuario (GUI) con sus formularios, botones y recuadros) debera marcar la casilla ”Usar lanzando aplicacin”. La primera vez que haga esto e intente Compilar/Ejecutar, probablemente obtendr un desagradable mensaje que diga: ”xterm: Can’t execvp /usr/share/lazarus//tools/runwait.sh: Permission denied”. -Si ocurre esto, necesita cambiar los permisos del archivo apropiado (por ejemplo usando chmod +xarchivo, o usando la utilidad de Windows para cambiar permisos); puede que tenga que hacer esto como administrador. Despus, cada vez que ejecute el programa, aparecer una ventana de terminal con todo su texto de entrada/salida (readln, writeln, etc). -Despus de terminar la ejecucin de su programa, aparecer un mensaje ”Presione intro” en la pantalla. As, cualquier salida que produzca su programa permanecer en la pantalla hasta que haya podido leerla; despus de que presione ’intro’ se cerrar la ventana de consola. -Vase este tutorial sobre programacinPascal en modo consola. -Reiniciar depurador: Devuelve el depurador a su estado original, con lo que 25 se borran los puntos de interrupcin y los valores de las variables. -Construir archivo: Compila (construye) slo el archivo que est abierto en este momento en el editor. -Ejecutar archivo: Compila, enlaza y ejecuta slo el archivo abierto en este momento. -Configurar Construir+Ejecutar archivo: Abre una ventana multipgina con opciones que permiten construir nicamente este archivo cuando se seleccionaConstruir proyecto, permite seleccionar la carpeta de trabajo, el uso de varias macros, etc. Despus construye y ejecuta el archivo. -Estas tres ltimas opciones le permiten abrir (y mantener) un proyecto de prueba. Use Archivo -¿ Abrir, para abrir un archivo .lpr, presione cancelar en el dilogo siguiente para abrir este archivo como un archivo ”fuente normal”. 11.3.7 submenu componentes (paquetes en la version 0.9.3) 7.png Figure 11: -Abrir paquete cargado: Muestra unaLista de los paquetes instalados, dndonos la posibilidad de abrir uno de ellos , y en laventanaque sale configurarlo, compilarlo o editarlo. -Abrir archivo de paquete (lpk): Abre el paquete seleccionado y en laventanaque sale configurarlo, compilarlo o editarlo. -Abrir paquete de unidad actual: Abre laventanade configuracin del paquete al que pertenece la unidad activa en el editor de cdigo. -Abrir paquete reciente: Abre un paquete que fue abierto recientemente. -Aadir unidad activa al paquete: Sita el archivo unidad (que se encuentra seleccionado en este momento en el editor) dentro de un paquete. -Grfico de paquete: Muestra ungrficocon las relaciones entre los paquetes 26 que se estn usando (si no ests usando ningn otro paquete, se mostrarn el paquete Lazarus y el FCL y el LCL). -Configurar paquetes instalados: Muestra los paquetes disponibles y los instalados. Permite aadir y suprimir paquetes. 11.3.8 submenu herramientas 8.png Figure 12: -Configurar herramientas personalizadas: Permite al usuario aadir varias herramientas externas (generalmente macros) al juego de herramientas. -Comprobacin rpida de la sintaxis: Realiza una comprobacin rpida de la sintaxis en su archivo fuente sin compilar nada realmente. El paso esencial en el desarrollo de programas largos y complicados, cuando no quiere perder tiempo compilando si el cdigo est equivocado. -Adivinar bloque sin cerrar: til si tiene una estructura de bloques anidados y ha dejado un ’end’ en algn lugar. -Adivinar IFDEF/ENDIF perdido: De utilidad si hay una estructura de macro anidada o compleja y cree que ha dejado una directiva ENDIF. -Hacer ResourceString: Convierte la cadena seleccionada en un ResourceString situndola en una seccin resourcestrings, que debe existir en alguna unidad del proyecto. Una ventaja de ResourceStrings es que pueden ser modificadas sin necesidad de compilar el proyecto de nuevo! con las herramientas adecuadas. 27 -Diff: Permite comparar dos archivos (generalmente dos versiones del mismo archivo) para encontrar diferencias. Opciones para ignorar espacios en blanco al principio o al final de las lneas o variaciones del terminador delnea: CR+LF frente a LF. til para comprobar si ha habido cambios desde la ltima actualizacin de CVS, etc. -Opciones de las plantillas del proyecto: Este elemento es aadido por el paqueteProject Templates. -Verificar archivo LFM en editor: Permite inspeccionar el archivo LFM que contiene las especificaciones que describen el formulario actual. -Convertir unidad de Delphi a unidad de Lazarus: Ayuda a convertir aplicaciones Delphi en Lazarus; realiza los cambios necesarios en el archivo fuente. VerLazarus para usuarios de DelphiyGua de conversin de cdigo. -Convertir proyecto de Delphi a proyecto de Lazarus: Ayuda a convertir proyectos Delphi en proyectos Lazarus; realiza los cambios necesarios en los archivos que componen el proyecto. VerLazarus para usuarios de DelphiyGua de conversin de cdigo. -Convertir paquete de Delphi a paquete de Lazarus: Ayuda a convertir paquetes Delphi en paquetes Lazarus; realiza los cambios necesarios en los archivos que componen el paquete. VerLazarus para usuarios de DelphiyGua de conversin de cdigo. -Convertir archivo DFM a LFM: Para llevar de Delphi a Lazarus: convierte los archivos de descripcin del formulario de Delphi a Lazarus. VaseLazarus para usuarios de DelphiyGua de conversin de cdigo. -Construir Lazarus: Ejecuta una reconstruccin de Lazarus desde los archivos ms recientemente descargados o actualizados va CVS. Aadir o eliminar los paquetes sgn hallamos indicado en la ventana configurar paquetes instalados. Pulse el botn y sintese a mirar lo que ocurre! (siga el proceso en la ventanaMensajes). -Configurar ”Construir Lazarus”: Permite al usuario determinar qu partes de Lazarus sern reconstruidas, y cmo. Por ejemplo, puede seleccionar que slo se reconstruya la LCL, o todo excepto los ejemplos; puede seleccionar qu interfaz de LCL usar (por ejemplo qu conjunto de interfaces) , y puede seleccionar el sistema operativo y especificar una carpeta diferente. 11.3.9 submenu entorno -Opciones del Entorno: exhibe una ventana de pginas con mltiples pestaas para -Archivo- permite que el usuario especifique la ruta para la carpeta por de28 9.png Figure 13: fecto, el compilador, la carpeta de fuentes y la carpeta temporal para la compilacin; -Escritorio- opciones para el idioma, guardar automticamente, guardar propiedades del escritorio, sugerencias para paleta de componentes y botones rpidos; -Ventanas, permite la especificacin del tamao y del comportamiento de varias ventanas; -Editor de formulario- elegir los colores para editar formularios; -Inspector de objetos- elegir el color y la altura de elementos; -Copia de seguridad- especificar cmo hacer copias de seguridad de los archivos cuando editamos; -Nombrando- especificar qu extensin utilizar al nombrar archivos de PASCAL (’pp’ o ’pas’), si se guardarn los archivos con nombres en minsculas, si se borrarn o renombrarn automticamente. -Opciones del Editor: ventana de pginas mltiples, con pestaas para Generaldetermina comportamientos como sangrado automtico, resaltado de parntesis, arrastrar y soltar, desplazamiento por el texto, resaltado de sintaxis, mostrar sugerencias, tamao de sangrado de bloques y las pestaas, lmite de deshacer; -Visualizar- opciones para mostrar nmeros de lnea, la presencia de canales, el tamao y el tipo de fuente para el editor, y contiene un panel de vista previa que muestra los colores de varias caractersticas de la sintaxis tales como comentarios, carpetas, puntuacin, errores y puntos de ruptura; -Accesos rpidos- para seleccionar entre el esquema de Lazarus o el de Turbo Pascal; -Color- permite elegir el esquema de color para las caractersticas del texto, para varios lenguajes tales como Objet PASCAL, C++, Perl, HTML, XML y scripts de shell. Muestra el panel de vista previa otra vez (para cualquier lenguaje seleccionado); -Herramientas de cdigo- permite seleccionar caractersticas como la terminacin del identificador, consejos, especificacin del nombre del archivo plantilla, plantillas especficas para la terminacin del cdigo. 29 -Opciones de depuracin: ventana de pginas mltiples con pestaas para Generaleligir depurador: ninguno, depurador de GNU (gdb) o gdb a travs de SSH, especificar las rutas de bsqueda para las depuraciones, y las opciones especficas para la depuracin elegida; -Registro de eventos- especificar si borrar el registro y ejecutar, y qu mensajes exhibir; -Excepciones del lenguaje- seleccionar qu excepciones se pueden ignorar; Excepciones del sitema operativo- permite que el usuario agregue ciertas seales que se apliquen al sistema operativo actual (no funciona todava). -Opciones de CodeTools: ventana de pginas mltiples, pestaas para Generalpermite la entrada de las rutas de bsqueda de cdigo fuente adicionales, especificar mtodo de salto; -Creacin de cdigo- se determina si el cdigo creado est agregado antes o despus de cierto punto; -Palabras- se determina si las palabras claves de Pascal se deben introducir en maysculas o minsculas, o como palabras todas en maysculas; -Separacin de lnea- establece las reglas sobre dnde se permite partir las lneas (antes o despus de la puntuacin, despus de las palabras claves, etc); -Espacio- decidir si un espacio debe ser agregado automticamente antes o despus de ciertos rasgos sintcticos tales como palabras claves o signos de puntuacin. -Definir editor de CodeTools: permite insertar plantillas de Free Pascal, Lazarus, Delphi o Kylix. -Escanear de nuevo el directorio de fuentes de FPC: busca por la carpeta otra vez. Lazarus utiliza las fuentes del FPC para generar eventos correctos y cuando busca declaraciones. Si cambia la carpeta en las opciones del entorno, esa carpeta se vuelve a explorar, para cerciorarse de que Lazarus utiliza la versin que se almacen en esa localizacin. Pero si esa carpeta ha cambiado sin que Lazarus lo advierta, entonces puede obtener algunos errores al disear formularios o hacer ”Encontrar declaracin”. Si obtiene tal error, puede hacer dos cosas: -Comprobar la carpeta de fuentes del FPC configurada en la opcin Entorno. -Volver a explorar la carpeta de fuentes del FPC. 11.3.10 submenu Ventana Contiene una lista de las ventanas abiertas y por tanto disponibles, comoEditor de cdigo fuente,Inspector de Objetos,Inspector del proyecto,Mensajesy las de los formularios. Seleccionando el nombre de una de las ventanas la 30 10.png Figure 14: pondr en primer plano y le dar el foco. 11.3.11 submenu Ayuda 11.png Figure 15: -Tiene tres opciones: -Ayuda en lneaabre una ventana del navegador que contiene una imagen de un guepardo corriendo y varios enlaces a Lazarus, FreePascal y el sitio web del WiKi. -Configurar Ayudaabre un men emergente con opciones para seleccionar visores y bases de datos para leer informacin de ayuda. Esta opcin permite especificar cualquiera de los documentos en lnea del sitio web de LazarusCCR, algunos otros sitios que contienen documentos, o un almacenamiento local para la documentacin (esta ser la opcin por defecto, cuando est terminado completamente el sistema de ayuda). -En la actualidad, al situar el cursor en la ventana del Editor sobre cualquier palabra clave de la Librera de Componentes de FreePascal (FCL) o la Librera de tiempo de ejecucin (RTL) (pero no la Librera de Componentes de Lazarus, LCL) y presionarF1se abrir a la definicin apropiada en el sitio web. -Hay otras opciones de ayuda para el usuario final fuera de lnea. Por ejemplo, si tienes una copia de Kylix, puede reutilizar los archivos de ayuda que vienen con l, dentro del IDE de Lazarus. Ver la pginaAdding Kylix Helppara 31 ms detalles. -Acerca de Lazarusmuestra un recuadro emergente con informacin sobre Lazarus, cmo la versin, los integrantes del equipo de desarrollo y agradecimientos varios. -Cundo est finalizado, ser un completo servicio de ayuda en lnea, con informacin sobre sintaxis de Pascal, el uso del IDE, cmo usar, modificar o crear componentes, y sugerencias sobre cmo realizar ciertas tareas. Esta parte de la seccin de Documentacin (lo que est leyendo ahora mismo) representa el comienzo del proceso. 12 ANEXOS LAZARUX PLATAFORMAS Debido a que Lazarus usa como compilador aFree Pascaly est compilado con l, Lazarus es multi-plataforma. Lazarus funciona bajoLinux,FreeBSD,WindowsyMac OS X. Lazarus para windows (aqu la versin ms reciente sobre WinXP): 13 DESCRIPCION FREE PASCAL Y LAZARUX Free Pascal (FPC) es un compilador de Pascal de cdigo abierto con dos caractersticas notables: un alto grado de compatibilidad con Delphi y disponibilidad en una variedad de plataformas, incluyendo OS X, Windows, Mac, y Linux. La compatibilidad de Free Pascal con Delphi incluye no solamente la ayuda para el mismo lenguaje de programacin Object Pascal que utiliza Delphi, sino tambin para muchas de las mismas bibliotecas de rutinas y de clases de gran alcance por las que Delphi es conocido. Esto incluye unidades habituales tales como System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles y Registry, que se incluyen con FREE PASCAL en todas las plataformas soportadas. Free Pascal tambin incluye unidades tales como Windows, ShellAPI, BaseUnix, Unix y DynLibs para acceder a caractersticas especficas de un sistema operativo. Esta docena, ms o menos, de unidades se denomina generalmente como la librera de tiempo de ejecucin de Free Pascal(RTL). Lazarus es un sistema de desarrollo de cdigo abierto que trabaja sobre el compilador FREE PASCAL agregando un entorno integrado de desarrollo (IDE) que incluye un editor de cdigo con resalte de sintaxis y un diseador 32 Figure 16: lazarux windows Vista completa de Lazarus bajo Linux/GTK, en el desarrollo deKlinton. 33 linux.png Figure 17: lazarux linux Disponible gracias a Mattias Gaertner una captura de Lazarus en el Mac OS 34 mac.png Figure 18: figura 18 35 de formularios visual, as como una librera de componentes que es altamente compatible con la librera de componentes visual de Delphi (VCL). La librera de componentes de Lazarus (LCL) incluye los equivalentes para muchos de los controles familiares de VCL tales como formas, botones, cajas de texto y ms que se utilizan para crear aplicaciones que tienen un interfaz grfico de usuario (GUI). Tanto Free Pascal como Lazarus estn escritos en Pascal. El cdigo fuente completo est disponible no solamente para el compilador de Free Pascal y el IDE de Lazarus, sino tambin para todas las unidades que construyan Free Pascal RTL y Lazarus LCL. Como Delphi, Free Pascal y Lazarus son ambos herramientas de programacin de uso general, significando que usted puede desarrollar una variedad amplia de programas con ellos, incluyendo lo siguiente: 13.1 aplicacion consola Las aplicaciones de consola no tienen un GUI. En su lugar se lanzan la consola, leen su entrada de la consola, y escriben generalmente su salida en la consola. En Windows la consola es generalmente la ventana del aviso de comando. En OS X y Linux la consola es la ventana terminal. Las aplicaciones de consola incluyen cosas como utilidades pequeas tales como el programa de Windows FC (File Compare) o los comandos de Unix cd y cp. Las aplicaciones de consola pueden tambin ser utilizadas por los programas de proceso de datos que no necesitan un GUI porque son arrancados por otros programas o desde archivos por lotes. El compilador Free Pascal y los programas utilitarios incluidos con l son todos aplicaciones de consola, lo que significa que pueden ejecutarse desde la consola, desde un archivo por lotes, o desde el IDE de Lazarus. Puede crear una aplicacin de consola sin ms que un editor de textos y el compilador Free Pascal. No tiene que utilizar Lazarus para desarrollar aplicaciones de consola. Sin embargo, si prefiere trabajar en un ambiente integrado, puede utilizar Lazarus para crear un proyecto para una aplicacin de consola y editar y compilar el cdigo en el IDE de Lazarus. 13.2 Libreras cargables dinmicamente Una Librera cargable dinmicamente es generalmente una coleccin de funciones compiladas que se pueden llamar por otros programas. Como el 36 nombre sugiere, la librera no se enlaza con su ejecutable en tiempo de compilacin, sino que por el contrario se carga en el tiempo de ejecucin. En Windows, un archivo de la librera tiene una extensin .dll (dynamic-link library=librera de enlace dinmico, o DLL). En OS X, un archivo de librera tiene una extensin .dylib (dynamic shared library=librera compartida dinmica). En Linux, un archivo de la librera tiene una extensin .so (shared object library=librera de objetos compartidos). Las librera cargables dinmicamente se utilizan tpicamente para desarrollar complementos para otros programas, desarrollar libreras que se pueden llamar por los programas escritos en otras lenguajes tales como C y C++, o para descomponer proyectos grandes en trozos de modo que los desarrolladores del proyecto no se entorpezcan unos a otros. Windows se compone de centenares de DLLs, al igual que muchos otros programas grandes tales como OpenOffice.org. Igual que para las aplicaciones de consola, solamente necesita un editor de textos y el compilador Free Pascal para desarrollar una librera, aunque puede tambin crear un proyecto de Lazarus para una librera y desarrollarla en el IDE de Lazarus. En Windows, las DLLs tienen reputacin de ser complejas e inestables. Esto tiene ms que ver con la manera en que se instalan a veces, que con las propias DLLs. Realmente, el paso de la informacin ”a” y ”desde” DLLs se hace normalmente con los tipos de datos tpicos, simples (ms que con los objetos o las estructuras especficos de un lenguaje), este requisito obliga a los programadores a prestar ms atencin a lo que estn haciendo. Si se hace de forma correcta, se obtendrn programas mejores, ms estables. 13.3 Aplicaciones con GUI (Graphical User Interface = Interfaz grfico de usuario) La mayora de los programas que utilizamos a diario son aplicaciones con GUI, incluyendo los procesadores de textos, navegadores Web, programas de hoja de clculo, incluso muchas herramientas de desarrollo. Lazarus y Delphi son ambos buenos ejemplos de aplicaciones completamente provistas de GUI. Al desarrollar una aplicacin con GUI con Lazarus, se crean no solamente unidades en cdigo Pascal, tambin disea los formularios que contienen controles visuales tales como botones o cajas de lista. Como Delphi, el diseo del formulario en Lazarus se hace visualmente. Las caractersticas del control se pueden fijar en el IDE o mediante cdigo. Puesto que los controles de LCL estn disponibles en todas las plataformas soportadas, una aplicacin con GUI desarrollada en una plataforma (por 37 ejemplo, Windows) se puede compilar en otra plataforma (por ejemplo, OS X o Linux) sin ningn cambio en el diseo del formulario o en los archivos de su cdigo. 13.4 Arquitectura de Lazarus Los programas escritos en Lazarus respetan la arquitectura reseada aqu: 1.png Figure 19: arquitectura Y la propia LCL sigue la siguiente arquitectura: 14 PROCESO DE PRODUCCIN DE LA APLICACIN: 1.En la primera etapa se descargo el software de la direccin 2. En la segunda etapa Se observo y se analizo el funcionamiento del programa y se concluyo que es una aplicacin que se acondiciona a las necesidades de nuestro problema. 3. En la tercera etapa se realizara la investigacin correspondiente para saber si es posible lograr un funcionamiento correcto del programa en alguna plataforma gratis como ubuntu o android , en caso de que no sea posible si mirara la posibilidad de que la universidad de Cundimarca ges- 38 2.png Figure 20: arquitectura La LCL cuenta con unidades independientes de la plataforma, al igual que los controles, formularios, botones y rejillas. Estos no pueden trabajar por su cuenta. Son abstractos y requieren de un servidor. La LCL ofrece muchas interfaces LCL diferente que se comunican con backends o ”Widgetsets” (Win32, GTK, QT, carbon, el cocoa, ...). Un motor ser compilado por la mera utilizacin del paquete LCL y la adicin de la unidad de ”interfaces” como una de las primeras unidades de tu programa. Al crear una aplicacin con el IDE de Lazarus esto se hace automticamente. El motor se determina en tiempo de compilacin y no se puede cambiar en tiempo de ejecucin. 39 tione los costos para usar como plataforma Microsoft Windows R para poder implementar el programa en dicha universidad. 15 LISTADO DE MATERIALES QUE SE UTILIZAN PARA EL DESARROLLO DE LA HERRAMIENTA TECNICA O PARA LA PROPUESTA DE USO: 1. software libre ”lazarux” 2. laptop o computador de mesa en el cual se hizo la prueba 40