01 marzo 2008

Gambas - Escribir un XML


Los archivos XML forman hoy en dia un estandar aceptado globalmente para la transferencia de información.
Es de libre uso, cumple especificaciones, y es independiente tanto del lenguaje como de la plataforma.Esto quiere decir, que mediante este formato pueden comunicarse sistema hechos en distintos lenguajes y que corran sobre distintas plataformas.
Ya que tanto Gambas como Java me parecen lenguajes muy interesantes, poderosos y de facil aprendizaje; voy a aportar mis escasos conocimientos para que queden plasmados en este blog.

Bien, en esta oportunidad vamos a ver algo de Gambas respecto al XML.
Gambas posee distintos Componentes, entre ellos tenemos el de Programción XML. El mismo se compone de:

  • gb.xml
  • gb.xml.xslt
  • gb.xml.rpc

El primero cuenta con las siguientes clases:

  • xmldocument
  • xmlnode
  • xmlreader
  • xmlreadernodetype
  • xmlwriter

Ejemplo:

Se tiene una pequeña librería, y recientemente cuanta con internet y abrió un sucursal en un pueblo cercano. Se decea enviar por internet los datos de los nuevos libros que hayan ingresado para que la sucursal este al tanto de las novedades.
Supongamos que se tiene el siguiente esquema


Y se desea enviar a la sucursal solamente los datos correspondientes a dos libros nuevos que entraron en el dia.
En este caso el sistema que posea la librería deberia poder generar un pequeño archivo xml, y se pueda transmitir por internet para que la sucursal absorba esa información.
Definicion de Archivo
Nuestro archivo tendria la siguiente definición (sin los *, les puse porque sino no se mostraba bien):

<*?xml version=”1.0”?>
<*envios>
<*transaccion_id>115451
<*transaccion_tipo>1
<*libro>
<*id_libro>1235487
<*nombre_libro>odisea
<*editorial>anaya
<*genero>clasica
<*/libro>
<*/envios>

Hecho esto, procedemos a escribir el codigo fuente para escribir esa informacion en un archivo.
Creamos un proyecto por consola, que haga referencia a gb.xml
Dentro del main escribimos el siguiente codigo:

DIM xml AS XmlWriter
xml = NEW XmlWriter

xml.Open("", TRUE)
xml.StartElement("envios")
xml.Element("transaccion_id", "115451")
xml.Element("transaccion_tipo", "1")
xml.Element(“transaccion_fecha” , “20080228”)
xml.StartElement("libro")
xml.Element("id_libro", "1235487")
xml.Element("nombre_libro", "odisea")
xml.Element("editorial", "anaya")
xml.Element("genero", "clasica")
xml.EndElement()
xml.EndElement()
PRINT xml.EndDocument()

Primero, se declara y se instancia un XmlWriter en “xml”, luego abrimos un archivo xml, y comienza su escritura.
StartElement, seria la etiqueta de inicio
Element, seria el elemento en si, pero cuando se trata de una estructura simple como por ejemplo “1235487”, entonces se puede resumir el StartElement, Element y EndElement en una sola linea colocando primero la etiqueta, y luego el contenido de la etiqueta, entonces quedaria “xml.Element("id_libro", "1235487")”
En el final, el PRINT xml.EndDocument, nos mostrará por consola la salida del documento xml.

Esta es con propósito de ver como quedaria, sin embargo debemos cambiar un par de cositas para que el código cree un archivo xml con la estructura creada.

xml.Open(User.Home & "/envio.xml", TRUE)
...
xml.EndDocument()

En el Open, agregamos referencia a un archivo físico para que lo cree, y en el EndDocument le quitamos en PRINT.
De esta forma el EndDocument generará el archivo xml.
Eso es todo, si van a su directorio Home, verán el archivo creado.
Queda para la siguiente entrega la absorción de un documento xml.

Hasta pronto, que estén bien.


Johnyx.

29 febrero 2008

Opera 9.26 y Flash, la historia continúa


Si bien este excelente navegador web evoluciona constantemente, a veces quedan algunos cabos sueltos que son dificiles de estandarizar.
Tener el plugin Flash para poder navegar por la web es algo obligatorio por estos dias, y aunque ya se comentó como instalar el plugin de flash han surgido nuevos problemillas.
Primero, en linux si su distribución no cuenta en su "Agregar y quitar programas" con el paquete plugin Flash ya no interesa, pueden descargarle e instalarle uds. mismos.
  • Para ello se dirigen a la página de Adobe.
  • Descargan la opción 1, o sea, el archivo .tar.gz
  • Una ves descargado se dirigen hacia donde lo descargaron le dan click derecho y le dan a "extraer aquí", esa es una opción por defecto si utilizan Escritorios basados en KDE, en Gnome les aparece algo parecido.
  • Les va a arrojar dos archivos, el importante es el "libflashplayer.so", a ese archivo lo copian y le pegan en el directorio (o carpeta, recuerden que es lo mismo) "/usr/lib/opera/plugins" a esto deberán hacerlo como usuario root, pues el directorio usr es un directorio del sistema.
  • Por ultimo, inician su navegador Opera, y se dirigen a la barra de menus, Herramientas --> Opciones. Alli van a la pestaña Avanzado, una ves alli van a Descargas (se encuentra en el panel a su mano izquierda), buscan la opcion "application/shockwave-flash" y dan click en editar, le aparece una nueva pantalla y alli podran elegir con cual "conector" desean navegar.

Algunos de vosotros se preguntaran... y con que Mozilla Firefox le tenga instalado no seria suficiente¿?
Pues en realidad si, en teoria es suficiente, pero bue, no siempre funciona, y esta guia es para esos casos en el que quieren usar Opera y no les funciona el plugin Flash.

Eso es todo con respecto al plugin Flash, si van a alguna pagina como youtube podran ver sus videos sin problemas.
Parece un poco largo y complicado¿?, para nada, todo es cuestion de descargar un archivo, descomprimir, copiar, pegar... nada a lo que no se esté acostumbrado, asi que no poseen excusa para no usar este buen navegador.
Hasta pronto, que estén bien.

Johnyx.

25 febrero 2008

Call of Duty 4 en Linux

Aunque no es de mi agrado el género de los fps no deja de asombrarme las capacidades y evolución que está adquiriendo Wine, y en buena parte es justamente por ese género de juegos.
La saga Call of Duty (Llamado del deber), empezó como un fps ambientado en la segunda guerra mundial, llamó la atención por estar muy bien hecho, buenas gráficas, requerimientos normales de hardware (para su epoca), y por sobretodo porque era divertido, que es algo cada vez mas raro de encontrar en un juego.

Call of duty 4, posee unas buenas gráficas, pero parece mantener ese estilo divertido que tenia su original.
Wine en su versión 0.9.50 posee soporte para el mismo, con ciertas limitaciones en la habilitacion de algunos efectos especiales.
Les dejo este video de youtube, donde podran ver como este muchacho configuro e instaló CoD4 en su ubuntu linux.

Saludos, que estén bien.



fuente: VivaLinux Argentina