lunes, 30 de mayo de 2011

¿Qué es una Macro?

Una macro es un conjunto de una o más acciones (acción: componente básico de una macro; instrucción independiente que se puede combinar con otras acciones para automatizar tareas. A veces se denomina comando en otros lenguajes de macros.) que cada una realiza una operación determinada, tal como abrir un formulario o imprimir un informe.
Una macro puede ser una macro compuesta de una secuencia de acciones, o puede ser un grupo de macros (grupo de macros: colección de macros relacionadas que se almacenan juntas bajo un único nombre de macro. A menudo, se hace referencia a la colección simplemente como una macro.). También se puede usar una expresión condicional (expresión condicional: expresión que se evalúa y compara con un valor, por ejemplo, las instrucciones If...Then y Select Case. Si se cumple la condición, se llevan a cabo una o más operaciones. Si no se cumple, se omite la operación.) para determinar si se llevará a cabo una acción en algunos casos cuando se ejecute la macro.


Algunos ejemplos de macros dentro de access son:




  • Accessibility: contiene macros utilizadas para manipular el texto y mostrar el tamaño y el aspecto de las propiedades en Visual Studio.




  • AddDirAsSlnFolder: importa una carpeta del disco a una estructura de carpetas de la solución.


  • DevStudio6Editor: este proyecto de macro contiene ejemplos de macros de Developer Studio versión 6.0 que se han convertido para que funcionen en Macros de Visual Studio. Muestra cómo imprimir todos los documentos abiertos, comentar un bloque de código seleccionado, agregar marcas de revisión, etc. 


  • MakeAddin: convierte un proyecto de macro en un Complemento de Visual Studio. Este proyecto ilustra la estructura de un Complemento, cómo recorrer en iteración todos los proyectos de una macro y cada elemento en un proyecto, cómo utilizar el objeto ItemOperations para agregar nuevos elementos de proyecto, cómo copiar las referencias de un proyecto a otro y mucho más.


  • Utilities: contiene varias macros de utilidades que se utilizan en otros ejemplos de macros. Muestra cómo guardar y recuperar configuraciones de ventanas, cómo manipular las propiedades del cuadro de diálogo Opciones, cómo recorrer en iteración los elementos de un proyecto, etc.


  • VSDebugger: contiene varias macros que utilizan objetos del modelo de automatización del depurador para controlar y manipular las operaciones de depuración. Muestra cómo enumerar la pila de la ventana Comandos para cada subproceso que se está ejecutando en el programa actual, enumerar y manipular los puntos de interrupción, enumerar los procesos y lenguajes que admite el depurador, etc.




  • lunes, 23 de mayo de 2011

    TÉCNICA ASCENDENTE

    Se hace con la identificación de aquellos que necesitan computarizarse conforma vayan apareciendo su análisis como sistema y codificación o la adquisición de paquetes de software para satisfacer el problema inmediato. Cuando la programación se realiza internamente y haciendo un enfoque ascendente.


    Bottom Up

    El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse con forme vayan apareciendo, su análisis como sistema y su codificación, o bien, la adquisición de paquetes de software para satisfacer el problema inmediato.

    Cuando la programación se realiza internamente y haciendo un enfoque ascendente, es difícil llegar a integrar los subsistemas al grado tal de que el desempeño global, sea fluido. Los problemas de integración entre los subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta que la programación alcanza la fecha limite para la integración total del sistema. En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se ignoran. Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global, adolece de ciertas limitaciones por haber tomado un enfoque ascendente.
    Uno de ellos es la duplicación de esfuerzos para acceder el software y mas aún al introducir los datos.
    Otro es, que se introducen al sistema muchos datos carentes de valor.
    Un tercero y tal vez el mas serio inconveniente delenfoque ascendente, es que los objetivos globales de la organización no fueron considerados y en consecuencia no se satisfacen.

    TÉCNICA DESCENDENTE

    El problema se descompone en una serie de niveles o pasos sucesivos de refinamiento, para que de esta forma se pueda considerar como estructura desde dos puntos de vista: ¿Qué se hace? ¿Cómo se hace?

    También conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema. Consiste en efectuar una relación entre las etapas de la estructuración de forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de información. Este diseño consiste en una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa.

    La utilización de la técnica de diseño Top-Down tiene los siguientes objetivos básicos:
    • Simplificación del problema y de los subprogramas de cada descomposición.
    • Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por diferentes personas.
    • El programa final queda estructurado en forma de bloque o módulos lo que hace mas sencilla su lectura y mantenimiento.

    TÉCNICA MODULAR

    Es la fase modular del diseño del ciclo de vida de un programa representado por un módulo principal, es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo mas legible y manejable
    La programación modular es un paradigma de programación que consiste en dividir un programa en módulos ó subprogramas con el fin de hacerlo más legible y manejable.
    Se presenta históricamente como una evolución de la programación estructurada para solucionar problemas de programación más grandes y complejos de lo que ésta puede resolver.
    Al aplicar la programación modular, un problema complejo debe ser dividido en varios subproblemas más simples, y estos a su vez en otros subproblemas más simples. Esto debe hacerse
     hasta obtener subproblemas lo suficientemente simples como para poder ser resueltos fácilmente con algún lenguaje de programación. Ésta técnica se llama refinamiento sucesivo, divide y
    vencerás ó análisis descendente.

    El objetivo de la programación modular es extender las capacidades predeterminadas de un lenguaje mediante porciones de código empacadas en diferentes módulos, los cuales pueden ser fácilmente
    insertados en nuestros programas. La primera forma de programación modular fue la subrutina que era un bloque de código al cual se podía saltar (similar a la instrucción GOTO que hemos mencionado antes)
    y una vez ejecutado el bloque, el programa devolvía el control a la instrucción siguiente a la que había producido la llamada. Esta técnica modular se conoce con el nombre de procedimiento o función.
    En Python y en otros lenguajes, el término módulo tiene un significado especial que explicaremos más adelante