Hunter Mapinfo Network VBA Automation

miércoles, 28 de abril de 2010 3:00:00 Categories: Access Hunter Mapbasic Mapinfo
Valorar Este Contenido 2 Votos.

En el tutorial anterior, tuvimos nuestro primer contacto con Mapinfo y Mapbasic. Tuvimos una breve introducción a Mapinfo, y también cómo usar Mapbasic - el lenguaje de programación sin tener Mapbasic instalado. Aunque pronto veremos una serie de programas Mapbasic, hoy vamos a aprovechar la oportunidad y que aún no utilizan la misma Mapbasic, a través de su interfaz del programa. Por otra parte, nos enteramos de un nuevo concepto que se puede aprender y que también utilizamos mucho, no sólo con el MapInfo: la automatización, manipulación u otras aplicaciones con VBA!

 

Objetivo

De la información de los datos de nuestra red, determinar los datos de los sitios y sectores en Mapinfo, tal como lo hicimos en el tutorial anterior. Esta vez, sin embargo, hacer todo sin necesidad de abrir el MapInfo (al menos de forma manual.)

Nota : En la gran mayoría de los tutoriales que los expedientes correspondientes, que se envían a Suscriptores.

  • Si usted es un suscriptor, por favor verificar su dirección de correo electrónico en el archivo Blog_007_Hunter_Mapinfo_Network_VBA_Automation.zip . Utilice el soporte para cualquier duda o problema que encuentre.
  • Si usted es miembro, y tiene acceso al saber por escrito tutorial, conceptos siempre muy importante que seguramente le ayudará en sus propios diseños. Darás tu confirmación en cada nuevo tutorial.

 

Estructura de archivos

A medida que la estructura de un módulo de red MI Hunter ha sido creado anteriormente, no los directorios que se creen nuevos - nuestra estructura de directorio ya está creado.

 

Manipulación de otros programas de automatización

Puede parecer complicado, pero no lo es. A través de la VBA puede abrir, modificar y cerrar otros programas. Vamos a ver y utilizar suficiente cantidad de esta funcionalidad, por ejemplo, para crear gráficos en hojas de cálculo Excel a partir de una base de datos.

¿Y cuáles son los beneficios? Bueno, esto se aclarará más adelante. De todos modos, vamos a tratar de hacer realidad estos beneficios a través de un ejemplo.

Tenemos datos de nuestra red en nuestra mesa en la base de datos de red. Hemos visto lo que comandos Mapbasic / Mapinfo tenemos que utilizar como CreatePoints () y CreateLines (). Luego, utilizando un único código, creamos las tablas y Sectors.TAB Sites.TAB para Mapinfo. En otras palabras, vamos a tener un solo clic y construir nuestra red en> Mapinfo

La forma manual de hacer es abrir el MapInfo, abierto todos los cuadros de datos - Sitios y sectores, crear los puntos de cada uno, creando el campo de objeto georreferenciados, y en el caso de los sectores, la creación de las líneas. Guardar y Cerrar. Al hacer esto, entonces tenemos las tablas que desea.

Y el código es la misma forma - sólo que no necesitamos hacer nada manualmente Rider

Veamos entonces ver cómo?

 

Mapinfo archivos

Antes de aprender cómo hacerlo a través de código, sabemos lo que creamos. Cuando vea un tipo de archivo DOC, usted sabe que es un tipo de archivo que contiene texto, y se puede abrir con Microsoft Word no es cierto? Bueno, el MapInfo tiene un número de tipos de archivo, y deben estar familiarizados con ellos.

  • TAB : tipo de archivo de base, definir una tabla de MapInfo.
  • MAP que contiene las coordenadas de los datos.
  • DAT : tipo de archivo con los atributos de los datos.
  • ID : Un tipo de archivo de contenido que contiene los vínculos entre los objetos de archivo MAP y atributos de los archivos DAT.

Como se puede suponer, para cada archivo que los archivos correspondientes MAP TAB, DAT y de identificación. En el caso de sitios: Sites.TAB, Sites.DAT y Sites.ID Sites.MAP.

Nota: Todos los archivos de sólo trabajar en conjunto. Es decir, no tiene sentido que sólo el archivo TAB y eliminar uno de ellos: no puede abrir los datos de MapInfo. Del mismo modo, si usted envía a alguien, recuerde enviar todos.

Existen otros tipos de archivo que el MapInfo lecturas y usos (por ejemplo, IND), pero vamos a ver sólo a los que por el momento.

Vamos a terminar hablando solo un tipo de archivo que vimos brevemente antes - el tipo de área de trabajo.

  • WOR : escritorio tipo de archivo, que guarda la información de la ubicación de los cuadros y mapas abiertos.

Es importante que guarde todos los cuadros y mapas que usted maneje antes de salir del Mapinfo, incluso si guarda el área de trabajo. Eso es porque si se elimina el área de trabajo no implica ninguna pérdida de datos, ya que las tablas que se utilizaron sin cambios. Pero los mapas, gráficos, diseños y demás se perderán si no se guardan de forma individual. Pero no se preocupe, en su caso el cuadro no se guarda al cerrar el Mapinfo, se le preguntará a través de un cuadro de diálogo, y luego usted decide si desea guardar o no.

 

La generación de nuestros archivos por VBA

conceptos vistos, vamos a saltar a la acción y ver cómo los archivos son generados por el tutorial anterior, pero ahora de forma automática

El código está completamente comentado, y usted puede seguir el mismo.

La acción importante primero es crear un objeto de Mapinfo (más o menos como si se ejecutó el programa Mapinfo en la memoria!). Para ello, utiliza la función CreateObject, como abajo.

 

Después de este comando es ejecutado, el MapInfo ya está en la memoria. De ahora en adelante, utilizando la sintaxis objMapinfo.Do puede ejecutar cualquier comando en MapInfo.

En este caso, lo primero que debemos hacer es montar la cadena strSQLCreateTable con la sintaxis para crear la tabla de acuerdo a los datos que queremos que había. Y ejecutar el código.

 

Nota: Para tener una referencia de la sintaxis de cada uno de estos comandos, podemos consultar el archivo de Ayuda Mapbasic, como se muestra a continuación. Si usted todavía no ha instalado y no es Mapbasic suscriptor, usted puede encontrar fácilmente estas usando la sintaxis de Google. Para cada una de las sintaxis de comandos se muestra, y también un ejemplo de fácil comprensión.

 

Después de ejecutar este comando, nuestro archivo TAB se crea. El tipo de archivo TAB se puede abrir con cualquier editor de texto como el Bloc de notas.

 

También se ha creado automáticamente el archivo DAT, en blanco. Aunque también podemos utilizar el Bloc de notas para ver los mismos datos, no se puede editar

 

Tenga en cuenta que hasta ahora hemos creado la tabla, pero no los datos. Por lo tanto, a través de un conjunto de registros de acceso - un concepto que hemos visto antes - la cadena de montaje strSQLInsertINTO que contiene los datos de cada registro en nuestra tabla e insertar la tabla que acaba de crear en Mapinfo, ejecuta el código de abajo.

 

Luego de recorrer el conjunto de registros y la inserción de todos los datos en el cuadro del Mapinfo, nuestro archivo DAT se ha completado. Como se mencionó anteriormente, se puede ver que tiene datos pero no modificar.

 

Con la tabla abierta, estamos creando los puntos. Para ello, hemos establecido la strSQLCreatePoints cadena con la sintaxis correcta y ejecutar el código.

 

Después de los puntos se han creado, ahora tenemos los archivos de tipo MAP y el tipo de identificación. Estos también pueden ser vistos por el Bloc de notas, que demuestren que disponen de datos, pero no puede hacer otra cosa con él.

 

Por último, guarde y cierre a nuestra mesa. Para ello, utilice el comando Tabla Commit y cerrar el cuadro de Mapbasic.

 

Nota: el comando strFileName cadena anterior contiene el nombre de nuestra tabla (Sitios a la hora).

Para el caso de la tabla Sitios, el trabajo ya está hecho. Ahora los sectores de la tabla, el proceso es prácticamente el mismo. Tenemos un comando más para crear los sectores.

Por lo tanto, si los sectores de la tabla, establezca la cadena y strSQLCreateLines realizarse como se muestra a continuación.

 

Por último, cerramos el objeto Mapinfo.

 

área de trabajo

Tan pronto como vimos en el tutorial anterior, el tipo de archivo de escritorio (WOR) contiene información sobre nuestro escritorio, como la ubicación de las mesas. Es más fácil de entender que si abrirlo con el Bloc de notas.

Clic derecho Mapinfo_Network.wor archivo ubicado en la carpeta de datos de este módulo (MI Red) y seleccione Abrir con ... Bloc de notas.

Todas las propiedades del área de trabajo puede ser visto de antemano, y son bastante intuitivos.

Destacados a tiempo para las líneas que comienzan con Open Tabla (1). Estas líneas indican las tablas que se deben abrir. Tenga en cuenta que no tenemos ninguna manera aquí porque nos ahorramos el escritorio en el mismo directorio donde las mesas. Si alguna de las tablas se encuentran en otra parte, la ruta completa aparecerá. (Por ejemplo, mueve la tabla C:\ Sites.tab" a la raíz del C:\).

Y también para el conjunto de mapas de líneas de capa (2) modificar los atributos por defecto de los gráficos.

 

Tenga en cuenta que el Área de Trabajo define las propiedades de todos los elementos con la sintaxis como Global Pen (1,2,0) Cepillo (2,16777215,16777215) Símbolo (35 , 0,12, etc.) En este caso, son las propiedades por defecto de cada elemento, ya que acaba de salvar este espacio de trabajo en el tutorial anterior, sin realizar ningún cambio.

Así que vamos a hacer lo siguiente: Abra las dos tablas - los Sectores primero abrir la tabla y, a continuación la tabla de Sitios y hacer algunos cambios a través de la interfaz del programa para ver cómo Mapinfo nuestro escritorio de nuevo.

En primer lugar, vamos a cambiar el símbolo estándar de los sitios a un pequeño círculo lleno de azul. Haga clic derecho en el mapa, y elija capa de control (1).

 

En las capas de control de Windows, podemos cambiar el símbolo de los Sitios por un círculo relleno con el color rojo. Así que primero seleccionar la capa (1), haga clic en Pantalla (2), compruebe Override Estilo (3) y haga clic en una estrella (4). Color Rojo elección (5), símbolo y seleccione el círculo (6). Para finalizar, haga clic en Aceptar en cada ventana abierta. Así ni siquiera haga clic en el botón Aceptar de la ventana de la capa de control.

 

Luego, aún en la ventana Control de capas, vamos a cambiar la línea de los sectores para el color azul y el espesor a 4. Así que primero seleccionar la capa (1), haga clic en Pantalla (2), compruebe Override Estilo (3) y haga clic en el botón con una X (4). elección del color en el azul (5) y el espesor (6) la opción 4.

 

Para finalizar, haga clic en Aceptar en cada ventana abierta, incluyendo la ventana Control de capas, porque así nuestros problemas.

El resultado se muestra a continuación.

 

Sólo un detalle: al abrir la primera tabla y, a continuación los Sectores tabla Sitios, este es el orden en que aparecieron las capas. Así que para terminar, seleccione la capa y haga clic en el botón Sitios arriba (1), lo que hace aparecer primero. Sugerencia: También puede arrastrar la capa superior.

 

Sí, ahora ver cuánto más presentable a nuestro escritorio.

 

Para completar este punto en el escritorio en Mapinfo, guardar esta nueva Hunter_MI_Network.wor de escritorio como en el directorio de datos para este módulo.

Abra este archivo con el Bloc de notas, y observe las diferencias. Vea cómo eran antes los atributos por defecto: Mundial Pluma (1,2,0) Cepillo (2,16777215,16777215) Símbolo (35,0,12) Línea (1,2,0) Font ("Arial", 0,9,0).

Para los Sitios, cambiamos el símbolo estándar para un círculo (34) Red (16711680).

  • Original: Símbolo (35,0,12)
  • Nuevo: Símbolo ( 34 , 16.711.680 , 12)

Por Sectores cambiamos la línea estándar para una "línea azul" (255) Espesor cuatro (4).

  • Original: Línea (1,2,0)
  • Nueva: Línea ( 4 , 2, 255 )

Por último, los cambios que hicimos en el escritorio se registraron en el archivo WOR. Podemos editar este archivo - una vez que sabemos exactamente lo que estamos haciendo - y consigue el mismo resultado. Como ejemplo, abra el wor con Bloc de notas y cambiar la sentencia Line (4,2,255) a la línea (7,2,65280). Compruebe los resultados.

 

Conclusión

Este tutorial nos enteramos de que nos puede hacer referencia a otros programas a través de la VBA y hacer funcionar nuestras enmiendas. En el caso, con los conceptos del tutorial anterior, creamos dos tablas Mapinfo través de los datos almacenados en nuestra tabla de Access, y crear puntos de un (Sitios) y líneas para otros sectores (sectores). Esta automatización se utilizarán en otros tutoriales, y presenta varias ventajas, como la generación de datos de salida, prácticamente sin intervención.

También se reunió con algunos nuevos conceptos de Mapinfo, y supo que el área de archivos de tipo puede ser editado con un editor de texto como el Bloc de notas.

Aunque este caso particular, la automatización del acceso Mapinfo-ha sido suficiente, el uso de los programas compilados con Mapbasic también son muy importantes, especialmente cuando se trabaja con datos utilizando la interfaz de Mapinfo . Estos programas ejecutables Mapbasic se verá en breve.

Esperamos que hayan disfrutado. Haga todas las preguntas publicar sus comentarios en el blog oa través de nuestro apoyo a través de chat o correo electrónico.

Hasta nuestro próximo encuentro y recuerde: Su éxito es nuestro éxito!

Este tutorial es parte de un conjunto. Encuentre más información en http://www.telecomhall.com/es/roadmap.aspx.