Aplicaciones Con Macros En Openbasic

Preview only show first 6 pages with water mark for full document please download

Transcript

Esta obr a esta bajo una licencia reconocimiento-no comercial 2 .5 Colombia de creativecommons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by/2.5/co/ o envié una carta a creative commons, 171second street, suite 30 San Francisco, California 94105, USA. APLICACIONES CON MACROS EN OPENBASIC Autores: Iván Albeiro Cabezas Martínez Director Unidad Informática: Henry Martínez Sarmiento Tutor Investigación: Juan Felipe Reyes Rodríguez Coordinadores: Alejandro Nieto Ramos Juan Felipe Reyes Rodríguez Coordinador Servicios Web: Miguel Ibañez Analista de Infraestructura y Comunicaciones: Alejandro Bolívar Analista de Sistemas de Información: Mesías Anacona Obando UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES BOGOTÁ DC JUNIO DE 2010 APLICACIONES CON MACROS EN OPEN BASIC Director Unidad Informática: Tutor Investigación: Henry Martínez Sarmiento Juan Felipe Reyes Rodríguez Auxiliares de Investigación: CAMILO ALBERTO ZAPATA MARTÍNEZ DAVID FELIPE BELTRAN SÁNCHEZ DAVID CAMILO SANCHEZ ZAMBRANO DIEGO ARMANDO POVEDA ZAMORA EDGAR ANDRÉS GARCIA HERNÁNDEZ IVAN ALBEIRO CABEZAS MARTÍNEZ JAVIER ALEJANDRO ORTIZ VARELA JORGE ALBERTO TORRES VALLEJO LAURA VANESSA HERNANDEZ CRUZ JORGE LEONARDO LEMUS CASTIBLANCO LILIANA CAROLINA HERRERA PRIETO WILLIAM CAMILO CASTRO LOPEZ CINDY LORENA PABON GÓMEZ MONICA YOLANDA MOGOLLON PLAZAS SANDRA MIREYA AGUILAR MAYORGA SANDRA MILENA CASTELLANOS PÁEZ JOSÉ SANTIAGO APARICIO CASTRO JUAN CARLOS TARAPUEZ ROA Este trabajo es resultado del esfuerzo de todo equipo perteneciente a la Unidad de Informática. el Se prohíbe la reproducción parcial o total de este documento, por cualquier tipo de método fotomecánico y/o electrónico, sin previa autorización de la Universidad Nacional de Colombia. UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES BOGOTÁ DC JUNIO DE 2010 Aplicaciones con macros en OpenBasic TABLA DE CONTENIDO TABLA DE CONTENIDO..................................................................................................... 3 1. RESUMEN ....................................................................................................................... 4 2. ABSTRACT..................................................................................................................... 4 3. JUSTIFICACIÓN ............................................................................................................ 5 4. GENERALIDADES ......................................................................................................... 6 4.1. El lenguaje BASIC..................................................................................................... 6 4.2. OpenOffice.org........................................................................................................ 6 4.3. OpenOffice.org BASIC ............................................................................................ 8 5. CURSO LIBRE: “PROGRAMACIÓN DE COMPUTADORES EN LENGUAJE OPENOFFICE.ORG BASIC” ................................................................................................ 10 5.1. 6. Programa de curso ................................................................................................ 10 5.1.1. Introducción al lenguaje de programación ..................................................... 10 5.1.2. Conceptos básicos de programación de computadores ............................... 10 5.1.3. Librería OOo Basic ........................................................................................ 11 5.1.4. Programación Orientada a Objetos y el Ooo Basic API ............................... 11 PROGRAMA DE APLICACIÓN .................................................................................. 13 6.1. Descripción............................................................................................................ 13 6.2. Funcionamiento...................................................................................................... 13 7. CONCLUSIONES ........................................................................................................ 15 8. BIBLIOGRAFIA ............................................................................................................. 16 UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 3 Aplicaciones con macros en OpenBasic 1. RESUMEN El presente informe muestra los resultados de la investigación acerca del lenguaje de programación OpenOffice.org Basic. Inicialmente, se indican algunas generalidades acerca del lenguaje de programación BASIC, el paquete ofimático libre OpenOffice.org y el lenguaje de programación OpenOffice.org Basic. En seguida se expone, en forma estructurada, el programa del curso libre de “Programación de computadores en lenguaje OpenOffice.org Basic” y algunas observaciones al respecto. Finalmente, se presenta el funcionamiento general de la aplicación creada con el lenguaje en estudio y se citan algunas fuentes de información acerca de este lenguaje de programación que pueden ser consultadas. 2. ABSTRACT This report shows results of research about OpenOffice.org Basic programming language. Initially, some general aspects about BASIC programming language, OpenOffice.org free office suite and Open Office.org BASIC programming language are indicated. Immediately are exposed structurally the program of “Computer programming with OpenOffice.org Basic” free course and some observations about this. Finally, general running of application made with studied programming language and some information sources about that programming language are shown that could be queried. UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 4 Aplicaciones con macros en OpenBasic 3. JUSTIFICACIÓN EL uso del lenguaje Basic, a través del editor de Visual Basic de Microsoft Excel, para la creación de aplicaciones ha ido cobrando fuerza, en parte, debido al curso libre de Excel Avanzado II ofrecido por la UIFCE y, en general, por el fácil acceso a la documentación acerca de este lenguaje de programación. Además, el empleo de software libre y la migración a este se han venido impulsando en los últimos semestres por las ventajas que tiene éste respecto al privativo y la propagación que ha tenido desde la Unidad. Por estas razones, es evidente la necesidad de proponer un lenguaje de programación que posea las características del software libre y que provea las herramientas para producir las aplicaciones requeridas. Esta investigación busca suplir las necesidades de la Unidad y mejorar algunas de las herramientas que se proveen a los estudiantes de la Facultad de Ciencias Económicas, presentándoles una alternativa eficiente, de bajo costo y adaptable a las exigencias de cualquier entidad. UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 5 Aplicaciones con macros en OpenBasic 4. GENERALIDADES 4.1. El lenguaje BASIC La palabra BASIC proviene de la expresión inglesa Beginner's All-purpose Symbolic Instruction Code (Código de Instrucciones Simbólicas de Propósito general para Principiantes). BASIC es un lenguaje de programación de propósito general que no está especializado en ningún tipo de aplicación, lo que lo hace un lenguaje versátil y potente, con un campo de aplicación ilimitado y, sobre todo, fácil aprender. En poco tiempo, un programador puede utilizar la totalidad del lenguaje1 . El lenguaje BASIC original fue inventado en 1964 por John George Kemeny (1926-1993) y Thomas Eugene Kurtz (1928-) en el Dartmouth College. En los años subsiguientes, mientras que otros dialectos de BASIC aparecían, el BASIC original de Kemeny y Kurtz era conocido como BASIC Dartmouth. Los diseñadores del lenguaje quisieron que éste permaneciera en el dominio público, lo cual contribuyó a su diseminación. Los ocho principios de diseño de BASIC fueron: Ser fácil de usar para los principiantes. Ser un lenguaje de propósito general. Permitir que los expertos añadieran características avanzadas, mientras que el lenguaje permanecía simple para los principiantes. Ser interactivo. Proveer mensajes de error claros y amigables. Responder rápido a los programas pequeños. No requerir un conocimiento del hardware de la computadora. Proteger al usuario del sistema operativo. BASIC fue diseñado para facilitar los problemas de complejidad de los lenguajes anteriores, destinado a un usuario más sencillo, a quien no le interesara tanto la velocidad sino el hecho de ser capaz de usar la máquina 2 . 4.2. OpenOffice.org OpenOffice.org (OOo) es una suite ofimática libre que incluye herramientas como 1 Disponible en: http://cfievalladolid2.net/tecno/cyr_01/control/lengua_BASIC/index.htm 2 Disponible en: http://www.jlmtzhermida.net/Basic.asp UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 6 Aplicaciones con macros en OpenBasic procesador de textos, hoja de cálculo, presentaciones, herramientas para el dibujo vectorial y base de datos. Está disponible para varias plataformas, tales como Microsoft Windows, GNU/Linux, BSD, Solaris y Mac OS X. Soporta numerosos formatos de archivo, incluyendo como predeterminado el formato estándar ISO/IEC OpenDocument (ODF), entre otros formatos comunes. A febrero de 2010, OpenOffice soporta más de 110 idiomas. OpenOffice.org permite importar y exportar documentos en diferentes formatos de archivo. Además es capaz de leer y grabar los formatos de fichero de Microsoft Office. El formato predeterminado para la escritura de documentos es el estándar ISO OpenDocument. La suite tiene la capacidad de guardar documentos en otros formatos, tales como el formato RTF, TXT, Microsoft Office XML y OpenOffice.org XML. Adicionalmente puede exportar documentos directamente al formato PDF y exportar presentaciones al formato Adobe Flash (SWF). OpenOffice.org posee las características normales de la mayoría de las suites de oficina y algunas características adicionales. Las aplicaciones incluidas en la suite ofimática OpenOffice.org son las siguientes: OpenOffice.org Writer: Es el procesador de textos de la suite ofimática. Writer permite exportar archivos de texto a los formatos PDF y HTML sin software adicional, lo que permite que pueda ser utilizado como un editor WYSIWYG para crear y editar páginas web. OpenOffice.org Calc: Es una hoja de cálculo similar Microsoft Excel o Lotus 1-2-3. Calc ofrece una serie de características no presentes en Excel, incluyendo un sistema que, automáticamente define serie de gráficas, sobre la base de la disposición de la información del usuario. OpenOffice.org Impress: Es un programa de presentación similar a Microsoft PowerPoint o Keynote de Apple. Puede exportar presentaciones al formato SWF, permitiendo que se reproduzca en cualquier computadora con un reproductor de Flash instalado. También incluye la capacidad de leer archivos de Microsoft PowerPoint (ppt). Su formato original es ODP. OpenOffice.org Base: Es un programa de base de datos similar a Microsoft Access. Base permite la creación y manejo de bases de datos, elaboración de formularios e informes que proporcionan a los usuarios finales un acceso fácil a los datos. Al igual que Microsoft Access, es capaz de trabajar como un front-end para diversos sistemas de bases de datos tales como el de Access (JET), fuente de datos ODBC y MySQL/PostgreSQL. OpenOffice.org Draw: Es un editor de gráficos vectoriales y herramienta de diagramación, similar a Microsoft Visio y comparable en características a las primeras versiones de CorelDRAW. Tiene características similares a la edición de software de escritorio como Scribus y Microsoft Publisher. UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 7 Aplicaciones con macros en OpenBasic OpenOffice.org Math: Es una aplicación diseñada para la creación y edición de fórmulas matemáticas. La aplicación utiliza un lenguaje de marcado para crear las fórmulas. Dichas fórmulas pueden ser incorporadas dentro de otros documentos de OpenOffice.org, tales como los creados por Writer, permitiendo al usuario la posibilidad de incrustarlas al documento como objetos OLE. OpenOffice.org tiene como base inicial a StarOffice, una suite ofimática desarrollada por StarDivision y adquirida por Sun Microsystems en agosto de 1999. El desarrollo de la suite está liderado por Oracle Corporation (inicialmente por Sun Microsystems), en conj unto con otras compañías como Novell, RedHat, RedFlag CH2000, IBM, Google, entre otras. El código fuente de la aplicación está disponible bajo la Licencia pública general limitada de GNU (LGPL) versión 3 3 . 4.3. OpenOffice.org BASIC OOo Basic pertenece a la familia de lenguajes Basic. Muchas partes de OOo Basic son idénticas al lenguaje Microsoft Visual Basic for Applications (usado en Microsoft Office) y Microsoft Visual Basic. Cualquiera que haya programado con cualquiera de estos lenguajes se hará rápidamente con el control de OOo Basic. OpenOffice.org Basic, el lenguaje de programación de macros de la suite de aplicaciones ofimáticas OpenOffice.org, permite al desarrollador y a los usuarios que usen estas macros programar pequeñas aplicaciones en esta suite, así como automatizar muchas tareas que de otro modo llevarían muchísimo tiempo o serían prácticamente imposibles de realizar. En general, mediante el uso de macros en OpenOffice es posible crear pequeñas y medianas aplicaciones ofimáticas, usando la potencia, versatilidad y facilidad de uso que ofrecen todos los componentes disponibles en la suite (Writer, Calc, Impress, Draw y el gestor de Bases de Datos integrado en OOo). Es posible programar las macros usando el Editor de Desarrollo Integrado (IDE) en OpenOffice.org, al que se accede desde cualquier programa de la suite 4 . El lenguaje de programación OpenOffice.org puede ser dividido dentro de 4 componentes5 : El lenguaje de OpenOffice.org Basic: Define las construcciones lingüísticas elementales, por ejemplo, para declaraciones de variables, bucles, y las funciones. La biblioteca de tiempo de ejecución (runtime library): Proporciona funciones estándar que no tienen ninguna referencia directa a OpenOffice.org, por ejemplo, las 3 Disponible en: http://es.wikipedia.org/wiki/OpenOffice.org 4 Disponible en: http://es.wikibooks.org/wiki/OpenOffice.org/Basic:_el_lenguaje_de_macros 5 http://es.wikipedia.org/wiki/OpenOffice.org_Basic UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 8 Aplicaciones con macros en OpenBasic funciones para la edición de números, cadenas, fecha de valores, y los archivos. El API de OpenOffice.org (Application Programming Interface): Permite el acceso a documentos de OpenOffice.org y permite que éstos sean creados, guardados, modificados, e impresos. El editor de diálogo: Crea ventanas de diálogo personal y ofrece la posibilidad de la adición de elementos de control y manipuladores de evento. UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 9 Aplicaciones con macros en OpenBasic 5. CURSO LIBRE: “PROGRAMACIÓN DE COMPUTADORES EN LENGUAJE OPENOFFICE.ORG BASIC” 5.1. Programa de curso El programa del curso propuesto está diseñado de manera progresiva, de principio a fin, y tiene por objeto capacitar integralmente a cualquier personal, con aptitudes generales para la computación, en la programación de computadores, utilizando el lenguaje en estudio. La presentación de contenidos está dividida en cuatro grandes partes. La primera parte, ofrece un acercamiento al lenguaje de programación; la segunda, los conceptos básicos de programación de computadores, desde el lenguaje de programación OOo Basic; la tercera, un vistazo general a la librería de funciones de OOo Basic y; la cuarta, las herramientas de creación de formularios y de manejo de archivos de la suite. 5.1.1. Introducción al lenguaje de programación Familia de lenguajes Basic Qué es OOo y qué OOo Basic Requerimientos del programador Introducción a OOo Basic 5.1.2. Conceptos básicos de programación de computadores Terminología básica de PC (programación básica de computadores) Línea de comandos Comentarios Marcadores Declaración de variables y constantes Tipos de variables y almacenamiento de ellas UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 10 Aplicaciones con macros en OpenBasic Ámbito de las variables Operadores matemáticos, lógicos, de comparación y de texto Estructuras de programación Funciones y procedimientos Parámetros por valor, por referencia y opcionales Recursividad Administración de errores 5.1.3. Librería OOo Basic Conversión de tipos Chequeo de variables Librería de funciones Manejo de directorios y de archivos Manejo de archivos de texto Entrada y salida de información (Boxes) Funciones e instrucciones adicionales 5.1.4. Programación Orientada a Objetos y el Ooo Basic API Propiedades, métodos y eventos UNO Objetos OOo (documentos de texto, hojas de cálculo, etc.) Gráficos Bases de datos UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 11 Aplicaciones con macros en OpenBasic Diálogos (formularios) y controles UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 12 Aplicaciones con macros en OpenBasic 6. PROGRAMA DE APLICACIÓN 6.1. Descripción El programa de aplicación, realizado con este lenguaje de programación, consiste en la asignación de horarios de los monitores de la UIFCE, partiendo de los horarios de disponibilidad diligenciados por los monitores a través de websiui. 6.2. Funcionamiento Los horarios de disponibilidad de todos los monitores se organizan en una hoja de cálculo de OpenOffice.org como producto de un informe de horarios del websiui (Fig. 1) con el fin de acceder con mayor facilidad a esta información con las herramientas del API de OOo Basic. Figura 1. Horarios de disponibilidad de monitores organizados para su posterior procesamiento. Al entrar en el documento contenedor del aplicativo, emerge el formulario desde el cual se realizan las acciones del programa. A continuación, en la Fig. 2, se presenta la ventana de diálogo mencionada y se explica el procedimiento a seguir en la ejecución del programa. Nota: No es estrictamente necesario remitirse a esta guía para manipular el aplicativo, ya que pulsando en el botón “Ayuda” se desplegará un diálogo que guiará al usuario en el empleo de este. Sin embargo, la lectura previa ejecución servirá para comprender la UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 13 Aplicaciones con macros en OpenBasic dinámica que se efectúa. Figura 2. Formulario de funciones del aplicativo. El primer paso, consiste en examinar el contenido del equipo y cargar el archivo de la hoja de cálculo que contiene los horarios de disponibilidades, pulsando “Cargar” para concluir. En seguida, deben generarse los horarios según el tipo de turno, seleccionando los botones correspondientes (“Sala”, “Grupo” e “Investigación”), apareciendo una ventana con el horario generado. Cabe aclarar, que si no se está conforme con la distribución obtenida en un determinado tipo de turno, es posible regenerarlo cerrando la ventana y volviendo a pulsar el botón de creación de horarios por tipo de turno. Una vez obtenidos todos los horarios a conformidad del usuario, se procede a registrar los resultados en una hoja de cálculo, similar a la de disponibilidad de horarios, mediante la pulsación del botón “Generar”, que permite elegir la ubicación del archivo compacto de los horarios definitivos para cada monitor. UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 14 Aplicaciones con macros en OpenBasic 7. CONCLUSIONES Las características del lenguaje, como facilidad de creación de aplicaciones personales, eficiencia, bajo costo, adaptabilidad, compatibilidad entre diversos lenguajes y formatos, las grandes posibilidades ofrecidas por el IDE de OpenOffice.org y el acceso a documentos de OpenOffice.org con API del lenguaje hacen de OOo Basic un lenguaje de programación que vale la pena ser estudiado y aplicado a nivel empresarial y, lógicamente, de la UIFCE. Debido a la extensión del curso libre y a la profundidad de los contenidos, se hace necesaria la formulación de un curso de programación básica de computadores dirigido a sentar las bases de un pensamiento estructurado, primordial para la solución de problemas con esta herramienta. OOo Basic es un lenguaje apto para iniciar el continuo aprendizaje de la programación de computadores por su facilidad y su entorno amigable. UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 15 Aplicaciones con macros en OpenBasic 8. BIBLIOGRAFIA Se recomiendan algunas fuentes para consulta de información sobre este lenguaje de programación. MARTÍNEZ, José. Programación de macros en Open Office con Open Basic (Curso intermedio de 42 horas). 2007. VILÁ, Fermí. Introducción a la programación en OpenOffice.org Basic. Creación de macros en Basic en OpenOffice. MACROMÁTICA. Linux-Magazine. No. 06. P51-53. Disponible en: www.linux-magazine.es OOo Basic Guide Online. Disponible http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide UNIVERSIDAD NACIONAL COLOMBIA FACULTAD DE CIENCIAS ECONÓMICAS UNIDAD DE INFORMÁTICA Y COMUNICACIONES 16 en: