miércoles, 23 de septiembre de 2009

Hacer un reporte simple

Para comenzar, veremos como hacer un simple reporte a un archivo txt que publique la información existente en una o más tablas de nuestra base de datos Smallworld.
Para este ejemplo básico utilizaremos la clase external_text_output_stream la cual permite manipular archivos externos, veamos:

_global reporta_municipios << _proc()


        ## baja a un archivo txt la totalidad de registros
       ## de la tabla municipio, o de la que querais
        # Generamos variables de trabajo


         gpm << gis_program_manager
         v << gpm.cached_dataset(:gis)
         t_municipio << v.collections[:municipio]
        # nuestro archivo de reporte
         s << external_text_output_stream.new("c:\reprte_municipios.txt")


         s.write("Reporte de Municipios", newline_char)
        _for a_mun _over t_municipio.fast_elements()
       _loop
               nombre << a_mun.name
               poblacion << a_mun.habs
               superficie << a_mun.superficie
               s.write("NOMBRE: ",nombre, newline_char)
               s.write(" Población: ",poblacion, newline_char)
               s.write(" Superficie: ",superficie, " Kms. Cuadrados.", newline_char)
               s.newline()
      _endloop


      s.close()


_endproc
 
 
Bueno el código anterior corresponde a un procedimiento y para ejecutarlo solo debemos compilar el código digitar en el prompt de magik:
 
MagikSF> reporta_municipios( )
 
Espero les sea de utilidad.
 
Q.

Partida

Bienvenidos:

Llevo varios años trabajando con Smallworld y una de las cosas que ha llamado mi atención es la ausencia de código en Internet. Todos los demás lenguajes de programación poseen muchos sitios donde buscar código, o hacer preguntas, pero con Magik las cosas son distintas. Es cierto que existe el grupo de desarrolladores en yahoo y uno o dos blog más. Existe uno incluso en español, pero tiene sólo 2 entradas del año pasado y nada más.
Pretendo publicar código, no grandes aplicaciones, pero sí cosas útiles sobre todo para quienes recién comienzan con este lenguaje. También me gustaría incorporar algunos artículos para introducir a los nuevos programadores en el estilo de programación Magik y enseñar unas cuantas cosas que he podido aprender.

Deseo mantener este blog vigente e ir añadiendo códigos y/o artículos permanentemente, para lo cual pido la colaboración a todos los desarrolladores de habla hispana. Yo me comprometo a aportar todo mi conocimiento y experiencia y espero que otros se sumen a esta labor.

Gracias

Q.