Lenguaje de macro

Lenguaje de macro
Información sobre la plantilla
Concepto:Es un lenguaje de programación el cual permite desarrollar o programar pequeñas aplicaciones

El lenguaje de macros. Es un lenguaje de programación el cual permite desarrollar o programar pequeñas aplicaciones, así como automatizar muchas tareas que de otro modo llevarían muchísimo tiempo o serían prácticamente imposibles de realizar.

Uso de este lenguaje

Mediante el uso de Macros podemos realizar acciones como las siguientes:

1. Obtener de internet los valores en bolsa de ciertas compañías. 2. Crear una hoja de cálculo que se autoactulice cada vez que la abrimos. 3. Abrir todos los documentos de Writer que existan en un determinado directorio.

Formato general de una macro

Macro, Nombre [(parametro1, parametro2, etc)]

Instruciones:

ENDM,Nuevamente, lo que se encuentra entre paréntesis cuadrados es opcional. De acuerdo con esto, la macro para imprimir cadenas quedaría de la siguiente forma: Macro Imprime_Cad(Cadena) Lea DX,Cadena Mov Ah,09h Int 21h ENDM.

Parámetros y etiquetas

Dentro de las propiedades más importantes de las macros se deben destacar la posibilidad de utilizar parámetros y etiquetas. Los parámetros permiten que una misma macro pueda ser usada bajo diferentes condiciones, por ejemplo, se puede crear una macro para posicionar el cursor en diferentes coordenadas de la pantalla e indicar sus coordenadas por medio de parámetros. La siguiente macro nos muestra esta propiedad: Está macro posiciona el cursor en las coordenadas que se le indican como; parámetros.

Es el equivalente al GotoXY de Pascal.

  • MACRO gotoxy (x,y)
  • xor bh,bh; Seleccionar página cero de video
  • mov dl,x;Columna
  • mov dh,y;Renglón
  • mov ah,02h; Función 02h para posicionar cursor
  • int 10h;llamada a la int 10h del BIOS
  • ENDM, también existen situaciones en las que los parámetros no son necesarios, es por esta razón que los parámetros son opcionales en la declaración de la macro.
  • Esta macro realiza una pausa en el programa hasta que una tecla es; presionada. Es el equivalente del readkey en Pascal.
  • Macro, tecla
  • mov ah,10h
  • int 16h
  • ENDM

Por otro lado, las etiquetas también son útiles dentro de las macros. Suponga que se desea crear una macro que imprima una cadena un numero de veces, esta macro podría ser declarada de la siguiente forma:

  • Macro imprime_nCad (cadena, cuantos)
  • Mov CX,cuantos; iniciar contador
  • Lea DX,cadena; direccionar la cadena que se va a imprimir
  • Mov Ah,09h; usar la función 09h
  • Otra; eetiqueta interna
  • Int 21h; imprimir la cadena n veces
  • Loop Otra; siguiente impresión

ENDM

Ensamble de macros

Una macro es declarada una sola vez y puede ser llamada cuantas veces sea necesario dentro del cuerpo del programa. Cada vez que el ensamblador encuentra una macroinstrucción, verifica si ésta fue declarada; si esta verificación es exitosa, el ensamblador toma las instrucciones del cuerpo de la macro y las reemplaza en el lugar donde la macro fue llamada.

Ventajas y desventajas

Si bien es cierto que las macros proporcionan mayor flexibilidad a la hora de programar, también es cierto que tienen algunas desventajas. La siguiente es una lista de las principales ventajas y desventajas del uso de las macros.

Ventajas

  • Menor posibilidad de cometer errores por repetición.
  • Mayor flexibilidad en la programación al permitir el uso de parámetros. *Código fuente más compacto.
  • Al ser más pequeño el código fuente, también es más fácil de leer por otros.

Desventajas

  • El código ejecutable se vuelve más grande con cada llamada a la macro.
  • Las macros deben ser bien planeadas para evitar la redundancia de código.

El lenguaje de macros OpenOffice.org 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. Mediante el uso de macros podemos realizar acciones como las siguientes: obtener de internet los valores en bolsa de ciertas compañías y crear una hoja de cálculo que se autoactulice cada vez que la abramos, abrir todos los documentos de Writer que existan en un un determinado directorio y pegarlos uno detrás de otro, convertir todos los documentos de Writer de un directorio a formato PDF, crear una base de datos que nos permita gestionar los pedidos de nuestros clientes, etc.

En general, mediante el uso de macros en OpenOffice podremos crear pequeñas y medianas aplicaciones ofimáticas, usando la potencia, versatilidad y facilidad de uso que nos ofrecen todos los componentes disponibles en la suite (Writer, Calc, Impress, Draw y el gestor de Bases de Datos integrado en OOo). 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. OOo Basic es un lenguaje interpretado, lo cual quiere decir que el compilador no creará programas ejecutables independientes, tal y como genera el compilador de C o C++, sino que para ejecutar un programa realizado en OOo Basic es indispensable disponer de un entorno de ejecución que permita ejecutar línea a línea el código del programa. Desde dicho entorno, con la pulsación de un botón (Ejecutar macro) pondremos en marcha el intérprete de OOo Basic. Este intérprete, comprobará primero que la sintáxis del código que va a ejecutar es correcta y posteriormente lo ejecutará línea a línea.

Podemos programar las macros usando el editor de desarrollo integrado (IDE) en OpenOffice.org, al que accederemos desde cualquier programa de la suite pulsando en Tools/Macros/Macro/Edit (aunque OOo está traducido al castellano, la mayor parte de la documentación y ejemplos de macros para OpenOffice.org están en inglés, así como los foros de soporte para la programación en OOo Basic. Seguir los ejemplos con el interfaz en inglés es más cómodo de cara al programador. En todo caso, la traducción es inmediata, y en las figuras adjuntas se muestra la localización de los distintos botones y menús para facilitar el proceso).

Fuente