Desarrollo de un paquete de programación del MC68000 para un entorno Windows mediante C++ Builder.
|
|
- Rocío Espinoza Ferreyra
- hace 8 años
- Vistas:
Transcripción
1 Desarrollo de un paquete de programación del MC68000 para un entorno Windows mediante C++ Builder. Creación de un editor de código y un macroensamblador AUTOR: Eloy Vilella Guiu DIRECTOR: Enrique Cantó Navarro FECHA: Abril 2004
2 ÍNDICE GENERAL: 1 INTRODUCCIÓN OBJETO DEL PROYECTO TITULAR ANTECEDENTES POSIBLES SOLUCIONES Y SOLUCIÓN ADOPTADA MEMORIA DESCRIPTIVA INTRODUCCIÓN AL C++ BUILDER DESCRIPCIÓN GENERAL CORRECCIÓN DE BUGS DEL PROGRAMA ORIGINAL Introducción: Bugs corregidos: ESTRUCTURA EN DLL s Introducción: Definición de una DLL: Comunicación con la DLL: Creación de una aplicación con una estructura con DLL: CREACIÓN DEL INTERFACE DE USUARIO Introducción: Estructura principal: Creación del editor de texto Creación de la página ensamblador Creación de la página linkador Creación de la página proyecto Adaptación de tamaños: MACROS Introducción: Concepto general: Diseño estructural: Definicion: Calling Method: Argumentos: Labels inside: USO DEL REGISTRO DE WINDOWS Introducción:
3 Estructura: Acceso al registro: Aplicación del registro en el macroensamblador: DESCRIPCIÓN INTERNA DEL PROYECTO Esquema del proyecto: Detallado de los ficheros: Descripción de las clases: Descripción de las funciones: CONCLUSIONES PLIEGO DE CONDICIONES CONDICIONES GENERALES CONDICIONES ECONÓMICAS CONDICIONES FACULTATIVAS CONDICIONES TÉCNICAS ANEXOS CÓDIGO DEL PROGRAMA
4 1 INTRODUCCIÓN 1.1 OBJETO DEL PROYECTO El objeto del presente proyecto es el desarrollo de un paquete de programación del MC68000 de Motorola. Esto consiste en el diseño de un interface gráfico de usuario que debe integrar un editor de texto, un ensamblador y un linkador, además de tener acceso a los programas de simulación y de comunicaciones (ambos proyectos ajenos al presente). El interface, además, debe ser soportado por una plataforma Windows 9X, El programa ensamblador debe admitir el uso de macros. 1.2 TITULAR El titular del presente proyecto es: -Nombre: Escola Tècnica Superior d Enginyeria (E.T.S.E.) Universitat Rovira i Virgili -Dirección: Av. Països Catalans, 26 Campus Sescelades Tarragona Telf: ANTECEDENTES Hasta el momento en los laboratorios docentes del DEEEA se disponía de un Ensamblador y un Linkador (además de un simulador y un software de interface del PC con el módulo docente) que tan sólo eran soportados por el sistema operativo DOS. En proyectos anteriores se adaptaron los programas de simulación y de comunicaciones con éxito a la plataforma de Windows. En un último proyecto se trató de adaptar los programas ensamblador y linkador pero resultó un fracaso. Algunos de los problemas importantes que se encontraron fueron la falta de portabilidad del código, la multitud de bugs contenidos en el programa, la excesiva simplicidad del interface de usuario (operabilidad insuficiente), el caotismo y la falta de limpieza en la programación... Las funciones de entrada y salida fueron adaptadas a la plataforma de Windows, aunque el código no fue reciclado de la forma necesaria. 4
5 1.4 POSIBLES SOLUCIONES Y SOLUCIÓN ADOPTADA Inicialmente se optó por buscar programas robustos para iniciar el trabajo sobre una base sólida. Se visitaron infinidad de websites de empresas importantes del sector y otras de recursos informáticos en la red, pero resultó imposible encontrar la versión freeware de algún cross assembler comercial y/o de calidad con los códigos fuente disponibles. No hubo otra elección que basarse en el ensamblador y linkador usados en los laboratorios del DEEEA adaptados a la plataforma de Windows en proyectos anteriores. La primera tarea fue realizar las adaptaciones necesarias a la versión y compilador utilizados (C++ Builder 5): la manera de pasar los argumentos a las funciones y la omisión del uso de variables long debido a que el sistema operativo sobre el que trabajaba el programa original era de 16 bits (DOS) cuando Windows es un SO de 32 bits. El problema se resume en: DOS: int = 16bits WIN: int = 32bits long int = 32bits long int = 64bits (no lo usamos) Una segunda adaptación consistió en la eliminación de las directivas del lenguaje C obsoletas. Muchas han sido modificadas por otras directivas más potentes en el lenguaje C++. La palabra clave malloc se utilizaba en C para reservar zonas de memoria de una forma dinámica, pero que podía causar graves problemas de colisiones en caso de un uso demasiado liviano con estructuras complejas. Toda estructura reservada en memoria con la palabra malloc debe ser eliminada mediante el uso de la directiva free y la inicialización del puntero utilizado. El C++ ha introducido las nuevas directivas new y delete que tienen una funcionalidad similar a las anteriormente mencionadas pero con una robustez y una potencia muy superior. Se ha tenido que sustituir las palabras malloc y free, además de adaptar el código relacionado, en los trozos de código donde se usan listas complejas o árboles binarios. Se pudo reciclar poco del proyecto anteriormente mencionado. El interface de usuario original fue desechado por su excesiva simplicidad y su falta de operabilidad, además hubo que trabajar la portabilidad de las funciones principales de los programas ensamblador y linkador. El proceso seguido para optimizar el paquete de programación fue el siguiente: 1. Realizar adaptaciones necesarias a la versión y compilador utilizados (C++ Builder 5): sintaxis de las cabeceras de las funciones y omisión del uso de variables long. 2. Eliminar interface original. 5
6 3. Eliminar los ficheros inútiles para la aplicación y limpiar el directorio de archivos de la antigua versión. 4. Tratar la portabilidad de las funciones principales del ensamblador y el linkador. 5. Estructurar, ordenar y limpiar el código original. 6. Tratar de entender el complejo funcionamiento del ensamblador y linkador. 7. Crear un interface temporal. 8. Corregir una infinidad de bugs del programa. 9. Diseñar el programa en una estructura con DLL (subdivisión de los ficheros en carpetas). 10. Crear el interface definitivo. 11. Diseñar el editor de código. 12. Ampliar el programa a macroensamblador. 13. Adaptar aplicación al uso del Registro de Windows. 14. Creación de la herramienta de procesado de proyectos. 15. Redacción de la memoria definitiva del proyecto. El programa se ha diseñado, como se ha mencionado en la lista anterior, en una estructura con DLL. El esqueleto de la aplicación es el siguiente: Interface (Editor+Plataforma) Simulador (exe) Comunicaciones (exe) Ensamblador (dll) Linkador (dll) 6
7 Figura 1 Esqueleto de la aplicación El paquete de programación debe ser capaz de procesar un fichero fuente de la forma siguiente: Figura 2 Proceso general Se podría haber realizado el proyecto con cualquier tipo de los diversos lenguajes visuales para Windows existentes en el mercado, como por ejemplo el Visual C, Visual Basic... pero finalmente se ha optado por el C++ Builder de Borland por diversas razones, entre las que podemos destacar su gran potencia heredada del C, la posibilidad de programar en modo orientado a objetos (POO) como en C++ y, la última y más importante, debido a que facilita y ahorra mucho tiempo a la hora de programar, ya incluye clases creadas con lo cual se agiliza en gran medida la generación de código nuevo y complejo. En resumen, mediante C++ Builder se consigue una programación orientada a componentes (POC). Un componente es similar a una clase, pero además consta de propiedades y eventos. Cada componente nuevo de una clase existente en las librerías del compilador, genera una serie de expansiones de código que integran en el documento un componente plantilla. Con este proceso de standarización ahorra tiempo y esfuerzos para programar dichos objetos, lo cual suele ser bastante engorroso y complejo en lenguajes como C++. 7
8 2 MEMORIA DESCRIPTIVA 2.1 INTRODUCCIÓN AL C++ BUILDER A continuación se hace una breve introducción al lenguaje seleccionado finalmente para realizar el proyecto. El C++ es una extensión o ampliación del lenguaje C y a diferencia de éste último, permite programar en modo orientado a objetos. Anteriormente, la gran mayoría de las aplicaciones desarrolladas para Windows eran realizadas en lenguaje C, del mismo modo que las librerías de las funciones de las API. Sin embargo estas aplicaciones fueron construidas pensando en objetos, de forma que lo más conveniente era usar un interface basado en objetos, que realizara las llamadas a las API de Windows. Con la finalidad de facilitar la programación orientada a objetos se crearon las frameworks. Las framework son librerías que encapsulan las técnicas de programación más empleadas. Una aplicación basada en framework en comparación con otra que se basa directamente en llamadas a las API contiene menos código, con lo cual es más óptima desde un punto de vista temporal y es mucho más fácil de crear. Además el uso de MFC permite el uso de funciones de los lenguajes C o C++ y el uso directo de API. Los frameworks para Windows que más se han extendido en la actualidad son el MFC (Microsoft), OWL (Borland) y VCL (Borland). Las librerías VCL (Visual Component Library) son las que se han utilizado en este proyecto. Fueron desarrolladas originalmente para el compilador de Pascal de Borland, el Delphi. El nuevo compilador Borland C++ Builder incluye las VCL (además de poder compilar programas basados en OWL, MFC y Delphi). Este framework es el más avanzado ya que permite una auténtica programación visual C++ basada en componentes y formularios que pueden funcionar sin ficheros.dll adicionales. Además, permite la creación de aplicaciones de mediana complejidad para Windows en un tiempo relativamente corto. A continuación se explicarán algunos de los nuevos conceptos (y otros no tan nuevos) introducidos con la programación orientada a objetos. Se tratarán conceptos como clases, constructores y destructores entre otros. Éste es un tema bastante complejo pero se tratará de resumir y simplificar los conceptos (consúltese libro de programación C++ para más información): a) Class ( clase): Se trata de una de las extensiones más importantes que se han introducido con la programación orientada a objetos (POO). Es una wordkey con efectos muy similares a la palabra struct, pero con las siguientes diferencias: 8
9 o En una estructura, los campos de datos y las funciones son públicos de modo predeterminado, lo que significa que se podrá acceder a los campos de datos sin restricciones. o En una clase, son privados de modo predeterminado, lo que significa que sólo se pude acceder a los distintos campos por medio de ciertas funciones. En definitiva, struct no asegura la protección de los campos. Pero la búsqueda de esta protección es una de las bases de la programación orientada a objetos. class CLS1 private: int x; float y; void g(); public: void f(); Código 1 En el código anterior, los campos y funciones contenidos en la sección private no son accesibles directamente por el usuario de la clase. La función pública f puede ser llamada desde cualquier función del programa. Ésta es la única función que tiene acceso a la función privada g. Y sólo las funciones f y g pueden manipular los campos privados x e y. b) Constructor: Un constructor permite que se ejecute automáticamente una función de inicialización, llamada constructor, en la creación de un objeto perteneciente a una clase. El constructor también es llamado en la creación de un objeto con new. c) Destructor: Una función destructor permite liberar zonas de memoria que se han asignado dinámicamente (a menudo en el constructor) o bien cerrar un archivo abierto en el constructor. El destructor se llama también en la destrucción de un objeto con delete. d) Puntero this: En una función miembro, this (palabra reservada del C++) designa un puntero al objeto que se está tratando. This contiene la dirección de dicho objeto. 9
10 e) La herencia: La técnica de la herencia constituye sin duda la aportación más interesante de la POO. Permite crear una clase a partir de otra, heredando propiedades de esta última. Class A protected: int x; void f(); public: void g(); private: void h(); class B::public A private: int y; public: void j(); Código 2 Se ha creado en primer lugar una clase A que sirve de base para crear otras clases (clase de base). La clase B se construye a partir de A (clase derivada). En este caso, los campos y funciones x, f, g y h de la clase A pasan a ser campos de la clase B. o Los campos protected pueden ser accedidos desde B y sus derivadas. o Los campos public pueden ser accedidos desde todo el programa. o Los campos private no pueden ser accedidos. En caso de que la clase B se defina private de A, las palabras clave pasan a significar lo mismo pero anulando el acceso de las clases derivadas de B en todos los casos. 10
11 2.2 DESCRIPCIÓN GENERAL CORRECCIÓN DE BUGS DEL PROGRAMA ORIGINAL Introducción: Los programas ensamblador y linkador originales contenían múltiples errores de programación. Tras solucionar los problemas de portabilidad del código y adaptar el programa original al lenguaje y versión utilizados, se hizo un trabajo importante para comprender el código y entender el método de trabajo de los programas. Cabe resaltar que un ensamblador y un linkador son programas muy complejos. En apartados anteriores se han añadido esquemas que han sido elaborados para simplificar este trabajo de comprensión. En el apartado siguiente se procede a explicar algunos de los bugs corregidos del programa original. Muchos han sido omitidos por su parecido o poco interés para el proyecto, y otros no han sido descubiertos todavía. Para su corrección se ha tenido que realizar un trabajo de localización (mucho código y muy complejo), entendimiento perfecto del código, comprensión del lenguaje ensamblador y posterior corrección del error. El bug aparentemente más simple puede ocasionar serios problemas en su corrección Bugs corregidos: (DDD: destino, FFF:fuente) a) MOVEQ #0,D1 El nemónico moveq mueve un byte en modo direccionamiento inmediato a un registro de datos de 32 bits. El valor de 8 bits es extendido en signo en el registro de datos una vez transferido. Ensamblado general: 0111 DDD0 BBBB BBBB B:dato Ensamblado de la línea (anterior): = 0x7280 Ensamblado de la línea (correcto): = 0x7200 El problema estaba en que ensamblaba el dato #0 como 80 (cero negativo) 11
12 b) CMPM.B (A0)+,(A1)+ El nemónico cmpm resta el operando origen del operando destino y actualiza los flags según el resultado. Los operandos se introducen siempre en modo de direccionamiento con postincremento. Ensamblado general: 1011 DDD1 AA00 1FFF A:size Ensamblado de la línea (anterior): = 0xB388 Ensamblado de la línea (correcto): = 0xB308 El problema estaba en que ensamblaba el size=10 (tamaño long), es decir, ensambla cmpm.l (a0)+,(a1)+ La función que codifica la size (mete los 1 s y 0 s) es: cmpm ( ) if (size==2) valor+=64; //tratamiento.w else if (size==1) valor+=128; //tratamiento.l if (aa!=6 bb!=6) RETURN (DIR_INCORR); return sp(valor+opp1.op<<9)+8+op1.op); La codificación interna del ensamblador es:.b >>> size=1.w >>> size=2.l >>> size=4.s >>> size=8 nada >>> size=32 El error se encuentra en el else if (linea 2), debe entrar si size==4 (LONG) c) DIVS.W D0,D2 y DIVS.L D0,D2 El nemónico divs divide el operando con signo destino por el operando con signo origen y almacena el resultado en el destino. La operación tiene 4 modos de trabajo según la sintaxis usada. Ensamblado general: 1000 DDD1 11MM MFFF M:modo direccionamiento de fuente Ensamblado de la línea (anterior): = 0x85C0 Ensamblado de la línea (correcto): = 0x85C0 12
13 El error que nos muestra el ensamblador es Error de tamaño incorrecto. En realidad en la familia 68K no existe la opción.w/l en la operación DIVS. Se trata de un error de concepto del programador del código original. d) CMPA.L A0,A1 y CMPA.W A0,A1 El nemónico cmpa resta el operando fuente del registro de direcciones destino y actualiza los flags según el resultado. Ensamblado general: 1011 DDDM MMFF FFFF M:modo direccionamiento de fuente El problema está en que la familia 68K no distingue entre W/L Solución: dependiendo de la variable size, codificará el modo de una forma u otra. e) JMP L1 El ensamblador trataba este nemónico haciendo un salto relativo respecto al Program Counter (PC): 4EFA XXXX Existían problemas cuando la instrucción anterior era del tipo DC y ocupaba un número de bytes impares Solución: existe un bug posterior en el que luego resolveremos los problemas de la directiva DC y la paridad del PC. Sin haberlo resuelto todavía, usaremos uno de los recursos de la instrucción JMP. Podemos codificarla para que haga el salto a una dirección absoluta (en lugar de relativa al PC): 4EF9 XXXX XXXX 13
14 f) DC.B... El nemónico DC es una directiva del ensamblador usada para mapear datos en memoria. Ensamblado general: XXXX XXXX XXXX XXXX X:carácter de la cadena Este nemónico tenía dos bugs diferentes: a) Cuando el número de caracteres de la cadena es impar, entonces el ensamblador reserva un número impar de bytes (siguiente instrucción en zona impar). El ensamblador entonces llenaba los huecos libres con espacios y añadía otra línea en el fichero de listado con el formato: xxxxxx : 00 :. La solución adoptada es la de incrementar el Program Counter para que la siguiente instrucción se encuentre en posición par. b) En las mismas condiciones del punto anterior, el ensamblador asigna a las 2 siguientes instrucciones al DC la misma posición de memoria. El problema viene por la línea añadida para tener un número de bytes par. La solución adoptada esta vez se basa en concatenar (cuando el número de caracteres es impar) la línea ensamblada con 00 y rellenarla entonces los huecos libres con espacios. De esta manera, no hay necesidad de añadir una línea auxiliar al fichero listado. g) Direccionamientos (d16,an) y (d8,an,xn) MOVE.B normalmente ensambla: 00SS DDDd ddff ffff S: size (.B=01,.W=11,.L=10) D: reg d: modo direccionamiento F: reg f: modo direccionamiento Según el direccionamiento, a veces se añade una palabra más (2 bytes = 4 hexa): a) (d16,an) XXXX XXXX XXXX XXXX (desplazamiento) b) (d8,an,xn) ARRR S000 XXXX XXXX A:!A/D (An) R: reg (Xn) S: size 14
15 h) MOVE.B 3(A0),D1 (-3 se codifica en hexadecimal con FFFD) Ensamblado de la línea (anterior): = 0x = 0xFFFF = 0xFFFD >>> 1228 FFFF FFFD Ensamblado de la línea (correcto): = 0x = 0xFFFD >>> 1228 FFFD Problema: Solución: Cuando el desplazamiento es negativo, el programa extiende el signo a 32 bits (4 bytes). Por ello nos ensambla las dos palabras: la primera con el valor de 16 bits y la segunda con el signo extendido. Cuando el desplazamiento sea negativo, recortamos una palabra del valor del desplazamiento ensamblado antes de concatenarlo con la instrucción move ensamblada. Para corregirlo, accederemos a la función de la directiva DC y buscaremos el caso de direccionamiento aa=10 (línea 520 de Func.cpp) 15
16 i) MOVE.B 3(A0,D3),D1 (-3 se codifica hexadecimal con FD) Ensamblado de la línea (anterior): = 0x = 0xFFFF = 0x3FFD >>> 1230 FFFF 3FFD Ensamblado de la línea (correcto): = 0x = 0x30FD >>> FD Problema 1: Solución: Problema 2: Solución: Mismo que en el caso anterior Se accede a la función de la directiva DC y se busca el caso de direccionamiento aa=2 (línea 533 de Func.cpp) Si nos fijamos en el formato de la palabra añadida con este tipo de direccionamiento, vemos que los 2 primeros bytes no deben extender el signo tampoco, ya que se usan para otros fines. En un principio, simplemente preparaba la palabra (para escribirla en el fichero listado) concatenando los carácteres 00 con los 2 bytes útiles del desplazamiento (FFFF FFXX). Pero surgió un problema: simplemente superponía los carácteres 00 a la información necesaria. La solución que se adoptó finalmente fue restarle al desplazamiento FFXX el valor equivalente a FF00 j) GLOBAL etiqueta Supongamos un código con la estructura siguiente: global... valor JMP valor... valor... 16
17 El programa contenía un error en la función int valor(char *) del fichero parser.cpp que erraba en el tratamiento de la etiqueta de tipo global. El código de dicha función queda de la forma siguiente tras ser modificado: static int valor (char *puntero) struct arbol *r; r=buscar_rama(raiz,puntero); if (r!= NULL) reub=reub2; switch (r->tipodevariable) case 0 : reub2=0; break; case 1 : reub2=1; break; case 2 : reub2=0; segpasadaparser=1; break; case 3 : if(segunda_pasada==2) longjmp(ebuf,16); break; case 4 : reub2=0; break; case 5 : reub2=1; break; return r->valor; if (segunda_pasada==2) longjmp(ebuf,16); reub2=0; if (codigoreub) reub2=1; return 0; Código 3 17
18 j) Árboles binarios: En el apartado referente a las macros se explica el procedimiento que sigue el programa cuando encuentra una etiqueta de definición de macro del tipo macro. Se informa de que el programa crea una estructura del tipo árbol binario llamada arbolm para almacenar los objetos macro y rellenar los campos necesarios.... Figura 3 Árboles binarios Otro caso de utilización de una estructura compleja como la anterior es en la definición de etiquetas en el código fuente. Cuando el ensamblador encuentra la palabra clave ETI u otro sistema de definición de una etiqueta en el fichero asm, el programa crea un objeto del tipo arbol que corresponde al componente de un árbol binario. La definición del objeto arbol y el objeto arbolm es : struct arbol struct arbol *arbol_der; struct arbol *arbol_izq; char label[16]; int valor; int tipodevariable; ; struct arbolm struct arbolm *arbol_der; struct arbolm *arbol_izq; char label[16]; AnsiString text; int llamadas; int argumentos; ; Código 5 Código 4 Para el manejo de una estructura del tipo árbol binario compuesta por objetos de la clase arbol se utilizan punteros a objetos de dicha clase. Mediante una serie de funciones recursivos (funciones que son llamadas desde el interior de su propio código) el puntero recorre el árbol con un sistema inteligente para localizar el objeto buscado. La declaración de estas funciones pueden ser localizadas en el fichero ens.h: struct arbol *buscar_rama (...); struct arbol *insarbol(...); void listar_arbol (...); void eliminar_rama(...); void eliminar_arbol (...); Código 6 18
19 Las funciones siguientes son referentes a la estructura de árbol binario utilizada en el caso de la definición de macros. La declaración se puede encontrar en el fichero macros.h: struct arbolm *buscar_rama (...); struct arbolm *insarbol(...); void listar_arbol (...); void eliminar_rama(...); void eliminar_arbol (...); Código 7 Todas las funciones referentes a los objetos tipo arbol (excepto eliminar_arbol) fueron desarrolladas por el programador del ensamblador original. Sin embargo, el programa original procedía de forma incorrecta: fin: //cerrar ficheros fclose(ff); fclose(fs); remove("..\\usuario\\xxx.xxx"); fclose(fd); if (flistado!=null) flwrite(); fclose(fl); //Falta recorrer los arboles de macros y etiquetas y borrarlos punteros if (errores) remove(fdestino); throw "ENS1"; throw "ENS0"; Código 8 El código anterior son las últimas instrucciones ejecutadas para cualquier fichero fuente en la DLL ensamblador. Una vez compilado el código fuente, se procede a cerrar los ficheros utilizados y se lanza una excepción. Podemos comprobar que no se libera la memoria reservada para los objetos de los árboles binarios ni se inicializan las variables globales puntero creadas en la cabecera del fichero ens68k.cpp. Las carencias anteriores nos provocan errores de ejecución del programa ensamblador en compilaciones posteriores y nos puede provocar problemas de memoria. 19
20 La solución adoptada fue desarrollar las funciones eliminar_arbol(arbol *) y eliminar_arbol(arbolm *). Estas funciones son algorismos recursivos que recorren el árbol hasta sus extremos y eliminan los componentes desde las ramas hasta la raiz de la estructura. El código en ambos casos sigue el siguiente esquema: void eliminar_arbol (struct arbol *a) if (!a) return; eliminar_arbol (a->arbol_izq); eliminar_arbol (a->arbol_der); delete(a); a=null; Código 9 Las cinco funciones referentes a los objetos tipo arbolm han sido recicladas y modificadas de sus respectivas referentes a arbol. El código puede ser consultado en el anexo de Código del Programa en el fichero arboles.cpp. 20
21 2.2.2 ESTRUCTURA EN DLL s Introducción: El principal objetivo del proyecto ha sido crear una plataforma de trabajo donde se integren el editor, el ensamblador y el linkador. Una consecuencia directa ha sido la aparición de problemas en el orden y en la legibilidad del código. Puede resultar caótico tener varios programas complejos en una misma aplicación. La solución adoptada para resolver los problemas ha sido la estructuración de la plataforma en un diseño de programa principal y DLL s. Figura 4 Estructura en DLL Definición de una DLL: DLL es una acrónimo de Dynamic Link Library (o librería de acceso dinámico). Se trata de un archivo que contiene funciones que se pueden llamar desde aplicaciones u otras DLL en tiempo de ejecución. Los desarrolladores utilizan las DLL para poder reciclar el código y aislar las diferentes tareas. Las DLL no pueden ejecutarse directamente, es necesario llamarlas desde un código externo. Ventajas principales de las DLL: Las DLL nos ahorran espacio en disco. Si tenemos 501 aplicaciones y utlidades que utilizan la xxx.dll, montando ésta estáticamente en cada aplicación se incrementa el espacio utilizado en 500 veces el tamaño de la xxx.dll Las DLL ahorran memoria al utilizar un técnica de memoria compartida llamada "mapeo de memoria". Windows carga las DLL en la zona común global de memoria y mapea el rango de direcciones de la DLL en el espacio de direcciones de cada aplicación que hace la carga de dicha DLL. Por tanto, 21
22 procesos diferentes que utilizan por ejemplo la xxx.dll, pueden compartir la misma instancia de la DLL en memoria sin necesidad de cargar copias de ella La localización de errores (bugs) es más sencilla debido a que un bug está típicamente localizado en una única DLL. Por tanto no necesitamos redistribuir toda nuestra aplicación, sino únicamente la DLL errónea para solucionar un problema Diferentes usos de las DLL: Enlace estático significa que se accede con una librería que contiene todos los OBJs necesarios. No es una DLL, sino una librería estática. La extensión suele ser.lib Enlace estático con una DLL significa que se accede con una librería import que contiene referencias a la DLL (nuestro caso) Cargar dinámicamente la DLL significa que debemos utilizar la función del API de Windows LoadLibrary Comunicación con la DLL: Como se ha definido anteriormente, las DLL representan paquetes ejecutables (EXE s complejos), así que no se pueden pasar argumentos tan fácilmente como en el caso de las funciones. La comunicación más importante entre el interface y las DLL son el paso de argumentos en las llamadas a las funciones principales de las DLL y los mensajes que devuelven las DLL mientras analizan el código y que deben ser mostrados al usuario mediante el interface. La parte de las llamadas se resolvió mediante la declaración de las funciones Ens68K(...) y Lnk68K(...) como IMPORT/EXPORT en el fichero.h de las DLL. No se puede interactuar con los objetos del formulario principal directamente desde un archivo de la DLL (informa de un linker error). Simplemente, debo tratar los datos puestos en el formulario antes de ejecutar la DLL correspondiente, pasando los datos necesarios a la DLL como argumentos: a) DLL ensamblador: se pasan el nombre de los archivos asm, obj y lst y la ruta de usuario b) DLL linkador: se pasa el nombre de cada archivo obj, si éste es absoluto o reubicable, el origen/fin (caso absoluto), y el nombre de los s28 y map y la ruta de usuario La parte de los mensajes es algo más compleja. Los mensajes no se pueden enviar en tiempo real, ya que se debería cortar la ejecución de la DLL cada vez, cosa dificil y poco práctica. La solución adoptada al problema ha sido crear una variable del tipo 22
23 AnsiString (este tipo se encarga de reservar zonas de memoria según el tamaño de la variable en tiempo de ejecución, además de proporcionar otra información como el tamaño...). Durante la ejecución de la DLL, cuando se debía enviar el mensaje pertinente, ahora se acumula en esta variable. Cuando se acaba la ejecución total de la DLL (ensamblado o linkado), entonces se llama desde el interface a una función creada previamente que imprime el contenido de la variable en el lugar adecuado. Pueden existir varias variables simultáneamente debido a que existen mensajes de salida y de errores Creación de una aplicación con una estructura con DLL: a) Creación de un proyecto normal (intefens.bpr) en la carpeta interface desde el que se llamará a las funciones principales de las DLL. El proyecto estará formado por interfens.bpr+cpp (proyecto) y Principal.cpp+dfm+h (ventana principal). En el archivo de llamada a las DLL s (Principal.cpp) se incluyen (#include) los archivos.h de las DLL (ensdll.h y lnkdll.h) Se deben adherir al proyecto interfens los archivos de librerías de las DLL (ensdll.lib y lnkdll.lib) b) Creación de otro proyecto con Dll Wizard (opción de creación) llamado ensdll.brp en la carpeta ensamblador (contiene todos los archivos importantes del ensamblador). Este proyecto contiene básicamente ensdll.brp+cpp+h (proyecto) y demás archivos importantes para ensamblador (*.cpp y *.h) contenidos en la carpeta c) Creación de la DLL del linkador de la misma forma que la anterior d) Edición especial de los archivos.h de la DLL (ejemplo ensamblador): #ifndef ensdllh #define ensdllh #ifdef DLL #define EXPORT_IMPORT declspec(dllexport) #define interfens "dllexport" #else #define EXPORT_IMPORT declspec(dllimport) #define interfens "dllimport" #endif EXPORT_IMPORT declaración de función/es principal/es de Dll (accesible desde el exterior) #endif Código 10 23
En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detalles1.- MENU DE CONTROL O MENU VENTANA: permite cerrar la ventana cambiarla de tamaño y pasar a otra ventana
EXCEL PRÓLOGO Microsoft Excel es una hoja de cálculo de gran capacidad y fácil uso. Excel no solo es una hoja de calculo, sino también tiene capacidad para diseñar bases de datos (listas) de forma totalmente
Más detallesESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS
UNA SESIÓN EN SPSS INTRODUCCIÓN. SPSS (Statistical Product and Service Solutions) es un paquete estadístico orientado, en principio, al ámbito de aplicación de las Ciencias sociales, es uno de las herramientas
Más detallesMACROS. Automatizar tareas a través del uso de las macros.
OBJETIVOS MACROS Definiciones Automatizar tareas a través del uso de las macros. Grabar Ejecutar Manipular macros. Tipos de Macros en Excel Introducción Las operaciones tradicionales que se pueden realizar
Más detallesTEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS
TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS 1) EL PEQUEÑO EDITOR El Bloc de notas de Windows XP es un básico editor de texto con el que podemos escribir anotaciones, de hasta 1024 caracteres por línea y
Más detallesGUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS
ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia
Más detallesGESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD
GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...
Más detallesGVisualPDA Módulo de Almacén
GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en
Más detallesUF0513 Gestión auxiliar de archivo en soporte convencional o informático
UF0513 Gestión auxiliar de archivo en soporte convencional o informático Tema 1. Sistemas operativos habituales Tema 2. Archivo y clasificación de documentación administrativa Tema 3. Base de datos Tema
Más detallesCOMBINAR CORRESPONDENCIA EN MICROSOFT WORD
COMBINAR CORRESPONDENCIA EN MICROSOFT WORD Combinar documentos consiste en unir dos documentos diferentes sin que se modifiquen los datos que aparecen en ellos. Esta operación es muy útil y muy frecuente
Más detallesLa ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Más detallesCAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP
CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable
Más detallesCombinar correspondencia (I)
Combinar correspondencia (I) Mediante la opción Combinar correspondencia Word2007 nos permite incluir en un documento, datos almacenados en otro sitio. De esta forma podremos obtener copias de un mismo
Más detallesPresentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:
UNIDAD 8 Presentaciones Reunión. (ITE. Banco de imágenes) as presentaciones son documentos formados por una sucesión de páginas, llamadas diapositivas, que transmiten información estructurada de manera
Más detallesTEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE)
1. Introducción. TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE) El Explorador es una herramienta indispensable en un Sistema Operativo ya que con ella se puede organizar y controlar los contenidos (archivos
Más detallesEdición de Ofertas Excel Manual de Usuario
Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE
Más detallesTÉCNICAS DE GESTIÓN ADMINISTRATIVA PARA PEQUEÑAS EMPRESAS
COMBINAR CORRESPONDENCIA CON OFFICE 2003 Combinar correspondencia nos permite incluir en un documento datos almacenados en otro lugar. De esta forma podremos obtener copias de un mismo documento pero con
Más detallesNotas para la instalación de un lector de tarjetas inteligentes.
Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación
Más detallesCapítulo 9. Archivos de sintaxis
Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta
Más detallesGENERACIÓN DE ANTICIPOS DE CRÉDITO
GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos
Más detallesApuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:
Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor
Más detallesMi primer proyecto en Dev-C++
Mi primer proyecto en Dev-C++ Para realizar esta actividad deberás disponer de un ordenador en el que esté instalado el Dev-C++. Debes ir realizando cada uno de los pasos indicados, en el mismo orden en
Más detallesGestión de Retales WhitePaper Noviembre de 2009
Gestión de Retales WhitePaper Noviembre de 2009 Contenidos 1. Introducción 3 2. Almacén de retales 4 3. Propiedades de los materiales 6 4. Alta de retales 8 5. Utilización de retales en un lote de producción
Más detallesMinisterio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder
Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 5: Report Builder Instituto de Tecnologías Educativas 2011 Informes con Oracle Report Builder En su configuración original, OpenOffice
Más detallesArranque de la aplicación
Arranque de la aplicación Acceso autorizado Al ejecutar la aplicación se solicita un nombre de usuario y una clave de acceso. Esto garantiza el acceso a la información de las personas autorizadas. Usuarios
Más detallesINDICE. 1. Introducción... 4. 2. El panel Entities view... 5. 3. El panel grafico... 6. 4. Barra de botones... 6. 4.1. Botones de Behavior...
MANUAL DE USUARIO INDICE 1. Introducción... 4 2. El panel Entities view... 5 3. El panel grafico... 6 4. Barra de botones... 6 4.1. Botones de Behavior... 7 4.2. Botones de In-agents... 8 4.3. Botones
Más detallesPara ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:
Descripción del ambiente de trabajo Entrar y salir de la aplicación Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes: A través del botón :
Más detallesManual de Usuario de la Herramienta SICRES-Tester. SIR Sistema de Interconexión de Registros. Tipo de documento. Fecha de entrega 08/04/2014
MINISTERIO DE HACIENDA Y ADMINISTRACIONES PÚBLICAS SECRETARÍA DE ESTADO DE ADMINISTRACIONES PÚBLICAS DIRECCIÓN GENERAL DE MODERNIZACIÓN ADMINISTRATIVA, PROCEDIMIENTOS E IMPULSO DE LA ADMINISTRACIÓN ELECTRONICA
Más detallesPLANTILLAS DE DOCUMENTOS EN WORD 2007
1 PLANTILLAS DE DOCUMENTOS EN WORD 2007 Introducción Una plantilla es un modelo o patrón para crear nuevos documentos. En una plantilla se guarda internamente el formato utilizado, es decir, el estilo
Más detallesMicrosoft Access proporciona dos métodos para crear una Base de datos.
Operaciones básicas con Base de datos Crear una Base de datos Microsoft Access proporciona dos métodos para crear una Base de datos. Se puede crear una base de datos en blanco y agregarle más tarde las
Más detallesA continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.
4. TABLAS A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla. 4.1. Principales Elementos Al momento de generar y diseñar una tabla es importante
Más detallesPLANTILLAS EN MICROSOFT WORD
PLANTILLAS EN MICROSOFT WORD Una plantilla es un modelo o patrón para crear nuevos documentos. En una plantilla se guarda internamente el formato utilizado, es decir, el estilo de la fuente, el tamaño,
Más detallesOperación Microsoft Access 97
Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe
Más detallesUso de Visual C++ Pre-Practica No. 3
Pre-Practica No. 3 Uso de Visual C++ Microsoft Visual C++ 2010 es una versión de Visual Studio específica para el lenguaje de programación C++. Es un entorno de desarrollo muy completo y profesional. Por
Más detallesAccede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:
Gemelo Backup Online DESKTOP Manual DISCO VIRTUAL Es un Disco que se encuentra en su PC junto a las unidades de discos locales. La información aquí existente es la misma que usted ha respaldado con su
Más detallesNORMA 34.14(SEPA) 05/11/2013
NORMA 34.14(SEPA) 05/11/2013 1. Descripción La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que se efectúe el pago de transferencias a los beneficiarios
Más detallesCASO PRÁCTICO DISTRIBUCIÓN DE COSTES
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que
Más detallesVisual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario
Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),
Más detallesPara crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.
Formularios TEMA: FORMULARIOS. 1. INTRODUCCIÓN. 2. CREACIÓN DE FORMULARIOS. 3. INTRODUCIR DATOS EN UN FORMULARIO. 4. MODIFICAR UN FORMULARIO 5. MANERAS DE GUARDAR UN FORMULARIO. 6. IMPRIMIR FORMULARIOS.
Más detallesGENERACIÓN DE TRANSFERENCIAS
GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base
Más detallesAPUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows
1 APUNTES DE WINDOWS Unidad 1: Windows y sus Elementos Elementos de Windows Escritorio: Es la pantalla que aparece cuando se inicia una sesión con Windows, desde aquí es de donde se administra el computador.
Más detallesWINDOWS 2008 5: TERMINAL SERVER
WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.
Más detallesMANUAL DE USUARIO INTRANET
MANUAL DE USUARIO INTRANET Partes de la Intranet. La intranet se divide en varias partes claramente diferenciadas, que facilitan la navegación a través de la misma. A) Cabecera Es la parte estática de
Más detallesREDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS
REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición
Más detallesvbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc COMBINACIÓN DE CARTAS Y CORRSPONDENCIA vbnmqwertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwertyuiop
Más detallesSistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema
Sistema de Gestión Portuaria Uso General del Sistema Uso General del Sistema Página 1 de 21 Contenido Contenido... 2 1.Ingreso al Sistema... 3 2.Uso del Menú... 6 3.Visualizar Novedades del Sistema...
Más detallesDOCUMENTOS COMPARTIDOS CON GOOGLE DOCS
DOCUMENTOS COMPARTIDOS CON GOOGLE DOCS 1. Introducción Los ambientes de aprendizaje acompañados de trabajos colaborativos como estrategia se revierten en actividades de diferente índole (análisis de videos,
Más detallesPlantilla de texto plano
Plantilla de texto plano Esta es la plantilla seleccionada por defecto al crear una nueva página. Título: Es el título que aparecerá identificando a la página, así como en la cabecera del documento en
Más detallesCreación de Funciones de Conducción
Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado
Más detallesComentario sobre el entorno de desarrollo Microsoft Visual Studio 2005 Juan Manuel Lucas
Comentario sobre el entorno de desarrollo Microsoft Visual Studio 2005 Juan Manuel Lucas Introducción El entorno de desarrollo Visual Studio 2005 o 2008 es una potente herramienta desarrollada por Microsoft
Más detallesGUÍA DE USUARIO DEL CORREO
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN DIRECCIÓN GENERAL DE LA OFICINA DE ADMINISTRACIÓN Y SERVICIOS DIVISIÓN DE SOPORTE TÉCNICO Y FORMACIÓN AL USUARIO GUÍA DE
Más detallesManual SBR. Pero antes de explicar las actividades que principalmente podemos desarrollar vamos a dar una visión global de la aplicación.
Manual SBR Este proyecto consta de una herramienta denominada SBR mediante la cual el usuario podrá realizar principalmente las siguientes actividades: Crear un nuevo dominio. Modificar el dominio existente.
Más detalles1. Configuración del entorno de usuario
Tabla de Contenidos 1. Configuración del entorno de usuario 1.1. Temas 1.2. Apariencia 1.3. Configuración del menú Inicio 2. Configuración de los equipos portátiles en red 2.1. Realizar copia de seguridad
Más detallesMANUAL DE LA APLICACIÓN DE ENVÍO DE SMS
MANUAL DE LA APLICACIÓN DE ENVÍO DE SMS SEGUIMIENTO DE VERSIONES Versión Novedades respecto a la versión anterior Fecha Versión 1.0 14/03/2011 Página 2 ÍNDICE ÍNDICE... 3 1. INTRODUCCIÓN... 4 2. MÓDULO
Más detallesPUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS. Junio - 2004
PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS Junio - 2004 pmqsoft Servicios Informáticos, S.L. www.pmqsoft.com soporte@pmqsoft.com Entendiendo que la instalación ha finalizado y que todo ha salido correctamente.
Más detallesCONCEPTOS BASICOS. Febrero 2003 Página - 1/10
CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,
Más detallesAdaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.
Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra
Más detallesAyuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX...
INDICE 1 Configuración previa...2 1.1 Configuración Internet Explorer para ActiveX...2 1.2 Problemas comunes en sistema operativo Windows...8 1.2.1 Usuarios con sistema operativo Windows XP con el Service
Más detallesFormularios. Formularios Diapositiva 1
Formularios Crear un formulario utilizando el Asistente para formularios Modificación en vista Diseño Adición de Controles a un Formulario Adición de un Subformulario a un formulario Formularios Diapositiva
Más detallesORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS
ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS Organizar la información: El explorador de Windows... 1 Introducción... 1 Explorador de Windows... 2 Ejercicio práctico del explorador de Windows... 5
Más detalles2_trabajar con calc I
Al igual que en las Tablas vistas en el procesador de texto, la interseccción de una columna y una fila se denomina Celda. Dentro de una celda, podemos encontrar diferentes tipos de datos: textos, números,
Más detallesIntroducción a Protégé
FACULTAD DE INFORMÁTICA LICENCIATURA EN DOCUMENTACIÓN SISTEMAS DE REPRESENTACIÓN Y PROCESAMIENTO AUTOMÁTICO DEL CONOCIMIENTO Práctica 1 1ª Parte Introducción a Protégé Febrero 2003 1. Objetivo La presente
Más detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detallesINSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS
Página 1 de 20 INSTALACIÓ N A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc
Más detallesApéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario
Apéndice 5 Manual de usuario de ColeXión ColeXión 1.0 Manual de usuario Índice 1. Qué es ColeXión?... 2 2. Requerimientos del sistema... 3 3. Instalación de ColeXión... 3 4. Creación de un nuevo esquema...
Más detallesEUSKADI PRECIOS NDICE. 1 Definiciones: Base de Precios, Estructura, Precios paramétricos, Precios descompuestos, ámbitos
EUSKADI PRECIOS NDICE 1 Definiciones: Base de Precios, Estructura, Precios paramétricos, Precios descompuestos, ámbitos 2 Consulta Sencilla: 3 Consulta Completa: Zona Izquierda, Zona Central, Zona Derecha
Más detallesIntroducción a Visual Studio.Net
Introducción a Visual Studio.Net Visual Studio es un conjunto completo de herramientas de desarrollo para la generación de aplicaciones Web ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones
Más detallesAyuda básica relativa al interfaz web
Ayuda básica relativa al interfaz web El webmail es un cliente de correo que nos permite visualizar los mensajes de nuestras cuentas de email a través de una página web, pudiendo acceder desde cualquier
Más detallesEDICIÓN Y FORMATO (II)
EDICIÓN Y FORMATO (II) 1. INTRODUCCIÓN Writer dispone de una serie de barras de herramientas predeterminadas, en las que se encuentran botones de acceso directo a comandos específicos que se activan con
Más detallesCONFEDERACIÓN DE EMPRESARIOS DE MÁLAGA
GUÍA DEL ALUMNO 1 Introducción 2 Acceso a la plataforma 3 Cerrar sesión 4 Estructura del curso virtual 5 Foros 5.1 No quiero recibir copias de los foros en mi email 6 Mensajería Interna 7 Como subir tareas
Más detallesManual del Usuario. Sistema de Help Desk
Manual del Usuario Sistema de Help Desk Objetivo del Manual El siguiente manual tiene como objetivo proveer la información necesaria para la correcta utilización del sistema Help Desk. Describe los procedimientos
Más detallesWINDOWS. Iniciando Windows. El mouse
Windows es un sistema operativo, cuyo nombre lo debe al principal elemento de trabajo, la ventana - en inglés window -. Este tiene características como: Multitarea: durante una sesión de trabajo, es posible
Más detallesUna plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot).
Unidad 3. Plantillas Objetivos de la unidad: Una plantilla es un documento prediseñado que usted puede usar para crear nuevos documentos con el mismo formato. A través de una plantilla, el aspecto de un
Más detallesWINDOWS 2008 7: COPIAS DE SEGURIDAD
1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden
Más detallesGuardar y abrir documentos
Contenido 1. Guardar como... 2 2. Abrir... 4 3. Recuperar archivos... 5 4. Unidades, Archivos y Carpetas... 5 5. Estructura de archivos... 6 6. Diferentes visiones de la lista de Abrir... 7 7. Cambiar
Más detallesToda base de datos relacional se basa en dos objetos
1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.
Más detallesTPV Táctil. Configuración y Uso. Rev. 1.2 21/01/09
Configuración y Uso Rev. 1.2 21/01/09 Rev. 2.0 20100616 1.- Ruta de Acceso a Imágenes. 2.- Estructuración de los Artículos. 3.- Creación de Grupos de Familias. 4.- Creación de Familias de Ventas. 5.- Creación
Más detalles7. Manejo de Archivos en C.
7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de
Más detallesPlataforma e-ducativa Aragonesa. Manual de Administración. Bitácora
Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar
Más detalles... Formas alternativas de escribir un texto. Columnas. anfora CAPÍTULO 4
CAPÍTULO 4. Formas alternativas de escribir un texto........ Columnas Para fijar columnas se posiciona el Punto de Inserción donde se desee que comiencen las columnas, o bien se selecciona el texto que
Más detallesADVISOR MODELO DE DESARROLLO
ADVISOR MODELO DE DESARROLLO 1 1 INDICE 1 ÍNDICE... 2 2 ENTORNO... 3 3 AREA DE TRABAJO DE LA APLICACION... 3 4 BARRA DE ESTADO... 4 5 BARRA DE HERRAMIENTAS DE MENU... 4 6 MENU CONTEXTUAL... 6 7 MENU DE
Más detallesHerramientas Visuales de Programación
Pág. 1 07/04/2013 Para la compilación y ejecución del código que se realizará a lo largo de este curso vamos a utilizar el entorno de programación de la Herramienta Visual Studio 2010. El entorno de programación
Más detallesWINDOWS 98/Me EL EXPLORADOR DE WINDOWS IV
10 EL EXPLORADOR DE WINDOWS IV Operaciones con discos Desde el Explorador, también puede ejecutar diversas operaciones sobre discos completos. Aunque, desde aquí, es posible formatear discos duros, lo
Más detallesMATERIAL 2 EXCEL 2007
INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta
Más detallesEl módulo de texto plano es un sencillo editor. Al seleccionarlo en la caja de módulos, el área central adoptará al siguiente aspecto:
Plantilla de texto plano El módulo de texto plano es un sencillo editor. Al seleccionarlo en la caja de módulos, el área central adoptará al siguiente aspecto: Título: Es el título que aparecerá identificando
Más detallesAGREGAR COMPONENTES ADICIONALES DE WINDOWS
INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución
Más detallesSMS Gestión. manual de uso
SMS Gestión manual de uso índice qué es SMS Gestión 2 acceso al servicio 3 01 acceso con la clave de servicios de Orange 4 02 acceso personalizado 6 02.1 cómo personalizar su acceso a la aplicación 7 02.2
Más detallesRedes de área local: Aplicaciones y servicios WINDOWS
Redes de área local: Aplicaciones y servicios WINDOWS 4. Servidor DNS 1 Índice Definición de Servidor DNS... 3 Instalación del Servidor DNS... 5 Configuración del Servidor DNS... 8 2 Definición de Servidor
Más detallesCómo configurar Microsoft Outlook
Cómo configurar Microsoft Outlook Para poder utilizar Outlook para enviar y recibir mensajes de correo electrónico, debe configurar una cuenta. Puede tener varias cuentas (para su trabajo, para realizar
Más detallesManual de Procedimiento
Manual de Procedimiento INSTALACION DEL PROGRAMA Este manual pretende ser una ayuda para el usuario, indicando cada uno de los pasos a seguir en su utilización. REQUERIMIENTOS: 1. Windows 98 o superior.
Más detallesManual de configuración de Thunderbird ÍNDICE
Manual de configuración de Thunderbird ÍNDICE 1. ARRANCANDO THUNDERBIRD POR PRIMERA VEZ... 2 2. ARRANCANDO THUNDERBIRD POR N-ÉSIMA VEZ... 2 3. CONFIGURACIÓN DE CUENTA DE CORREO... 4 4. SERVICIO DE DIRECTORIO
Más detallesContenido. Email: capacitacion@u cursos.cl / Teléfono: 9782450
GMI Contenido PUBLICAR AVISO... 3 CREAR PROCESO DE SELECCIÓN... 6 VER/ELIMINAR AVISOS PUBLICADOS... 8 ETAPAS DE UN PROCESO DE SELECCIÓN... 10 SECCIONES DE LOS PROCESOS DE SELECCIÓN (GPS)... 21 PERSONALIZAR
Más detallesOperación Microsoft PowerPoint 97
Ejecución y control de una presentación Formas de ejecutar una presentación En función de las necesidades, una presentación con diapositivas puede ejecutarse de tres formas diferentes. A través de la opción
Más detallesPortal Del Emisor MANUAL DEL USUARIO. Plataforma de Facturación Electrónica
Portal Del Emisor MANUAL DEL USUARIO Plataforma de Facturación Electrónica 1. Índice 1. Índice... 2 2. Descripción General... 3 2.1. Alcance... 3 2.2. Flujo de navegación... 4 2.3. Perfil del Usuario...
Más detallesCAPÍTULO 3 VISUAL BASIC
CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para
Más detallesDefiniciones. Tema 21_Módulos Menú 1
Definiciones Un menú es una lista de opciones o de órdenes que forman parte de un mismo título, mediante los cuales se podrán seleccionar determinadas operaciones de la aplicación. El conjunto de todos
Más detallesMANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn
MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn Tegucigalpa M. D. C., Junio de 2009 Que es un CMS Un sistema de administración de contenido (CMS por sus siglas en ingles) es un programa para organizar
Más detallesPOWER POINT. Iniciar PowerPoint
POWER POINT Power Point es la herramienta de Microsoft Office para crear presentaciones que permiten comunicar información e ideas de forma visual y atractiva. Iniciar PowerPoint Coloque el cursor y dé
Más detalles