12.05.2013 Views

Fundamentos de análisis geográfico con SEXTANTE - La Salle

Fundamentos de análisis geográfico con SEXTANTE - La Salle

Fundamentos de análisis geográfico con SEXTANTE - La Salle

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

20.2. LIBRERÍAS Y MÓDULOS 323<br />

resultado y ahora abre los ficheros <strong>de</strong> código fuente <strong>con</strong> los módulos y la <strong>de</strong>finición <strong>de</strong> la librería<br />

(haciendo doble clic sobre MiLibreria.dsp arrancará Visual Studio y cargará automáticamente<br />

todos los ficheros implicados).<br />

Ahora es el momento <strong>de</strong> renombrar los módulos como tales. En los archivos MyModule.cpp<br />

y MyModule.h sustituye la ca<strong>de</strong>na Template por MiModulo(o el nombre que en cada<br />

caso corresponda). Si éstas <strong>de</strong>ntro <strong>de</strong> Visual Studio, pue<strong>de</strong>s usar el comando Reemplazar que<br />

incorpora el entorno.<br />

Después <strong>de</strong> esto, vayamos ya directos al código fuente, empezando por el archivo <strong>de</strong>nominado<br />

MLB Interface.cpp que <strong>de</strong>fine la estructura <strong>de</strong> la librería y los módulos que la <strong>de</strong>finen. A<br />

<strong>con</strong>tinuación pue<strong>de</strong>s ver una primera parte <strong>de</strong> ese código (he eliminado los comentarios para<br />

que que<strong>de</strong> más compacto. ..).<br />

<strong>con</strong>st char * Get_Info(int i)<br />

{<br />

switch( i )<br />

{<br />

case MLB_INFO_Name: <strong>de</strong>fault:<br />

return( "MiLibrería" );<br />

}<br />

case MLB_INFO_Author:<br />

return( "SAGA G.b.R. (c) 2003" );<br />

case MLB_INFO_Description:<br />

return( "MiLibreria" );<br />

case MLB_INFO_Version:<br />

return( "1.0" );<br />

case MLB_INFO_Menu_Path:<br />

return( "Template|Template" );<br />

}<br />

Aquí se encuentra la información sobre la librería, que será la que aparezca una vez ésta<br />

se encuentre cargada (aquí está, por ejemplo, el nombre <strong>de</strong>l fichero <strong>de</strong> librería que aparece en<br />

la pestaña Módulos). Todos los campos son sencillos <strong>de</strong> enten<strong>de</strong>r, excepto tal vez el último.<br />

En la última línea <strong>de</strong>bes introducir la ruta <strong>de</strong> los módulos <strong>de</strong> la librería <strong>de</strong>ntro <strong>de</strong> el <strong>con</strong>junto<br />

<strong>de</strong> menús. Si, por ejemplo, usas la siguiente línea,<br />

return( "Mi primera librería|Raster"’)<br />

todos los módulos apareceán bajo el menú Mi primera librería/Raster. Utiliza la barra vertical<br />

para separar submenus hasta el nivel <strong>de</strong> profundidad que necesites.<br />

Despues <strong>de</strong> esta sección, se incluyen las cabeceras <strong>de</strong> los módulos que forman parte <strong>de</strong> la<br />

librería. Por el momento, solo tenemos una.<br />

#inclu<strong>de</strong> "Template.h"<br />

Puesto que hemos cambiado el fichero Template.h, <strong>de</strong>bemos también cambiar esta línea.<br />

Asimismo, y aunque todavía no hemos creado los archivos correspondientes al segundo módulo<br />

que preten<strong>de</strong>mos incorporar en esta librería, añadamos también las sentencias #inclu<strong>de</strong><br />

correspondientes. sustituye la línea anterior por las siguientes:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!