Categories
programación

Acceder a objetos OLE y ActiveX desde Java

Object Linking and Embedding (OLE) es un sistema de objeto distribuido y un protocolo desarrollado por Microsoft. Esta tecnología permite que se pueda intercambiar información entre distintas aplicaciones, ya sean comando, datos u otro tipo de elementos. Es posible que alguna vez pueda ser necesario el acceder a este tipo de objetos desde una aplicación java, y para ello existe una librería llamada jacob (Java COM Bridge) que nos permite hacerlo.

Para el que esté interesado en usarlo aquí dejo un pequeño ejemplo que abrirá una ventana de Internet Explorer, navegará hasta la página principal de mi blog y a los 10 segundos se cerrará:

Categories
programación

Algoritmo A* en Excel

a_estrella_despues

Un algoritmo A* es un algoritmo de búsqueda de camino más corto entre dos puntos dados y se suele usar para calculo de rutas en navegadores GPS y en videojuegos. El algoritmo va explorando todas posibles alternativas de un camino y elije el paso que le lleve más cerca de la meta.

Lo cierto es que excel no es la mejor herramienta para implementar este algoritmo de forma eficiente, pero para hacer bocetos de aplicaciones y un poco de RAD a veces puede valer. El código que realiza todas las operaciones está basado en el pseudo código A* que hay en el artículo de la wikipedia, con alguna modificación.

Para aquel que le pueda interesar o solo por curiosidad, aquí están los ficheros con el código y un ejemplo de uso:

Categories
programación

Conectar con una base de datos access desde java

Aunque a veces no lo queramos, puede que en determinado momento necesitemos acceder a una base de datos access desde una aplicación java. La forma más sencilla es usar una aplicación de microsoft que nos permite hacer uso de la API de java (jdbc) con este tipo de bases de datos.

Primero tenemos que descargar e instalar el siguiente programa (vale para access 2007 y anteriores):

Luego de instalarlo podemos probarlo con un ejemplo como el siguiente:

Categories
programación

Leer datos de internet (servicios REST, APIs, páginas web) desde java

Existen muchos ejemplos en la red de como llevar esto a cabo, pero muchos están en inglés y algunos desfasados, así que voy a exponer como llevar a cabo esta tarea usando la librería de apache HttpComponents a través de unos ejemplos en java.

El primer ejemplo obtendrá un fichero XML correspondiente al RSS de la página web barrapunto:

public static void main (String[] args){
      // Creación del objeto cliente que realizará las peticiones
      HttpClient httpclient = new DefaultHttpClient();
      // Creación del objeto petición
      HttpGet httpget = new HttpGet("http://barrapunto.com/index.rss");
      // Creación del objeto respuesta
      HttpResponse response;      
      try {
          // Ejecución de la petición y guardado de respuesta
          response = httpclient.execute(httpget);
          // Mostramos el resultado  de la petición
          System.out.println("Estado: "+response.getStatusLine().toString());
          // Leemos los datos de la respuesta
          HttpEntity entity = response.getEntity();
          // Si hay datos la petición se hizo correctamente y procedemos a mostrarlos
          if (entity != null) {
              InputStream instream = entity.getContent();
              String result= convertStreamToString(instream);
              System.out.println("Datos: "+result);
              instream.close();
          }

      } catch (ClientProtocolException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
}

El segundo ejemplo obtendrá datos de la página moneytrackin.com a través de su API haciendo uso de autentificación:

Categories
programación

Generador de códigos de barras PDF417 desde excel

pdf417generator

En la misma línea del artículo de como generar códigos de barras CODE 128 desde excel, aquí dejo una pequeña “ñapa” hecha con excel y java para poder generar códigos de barras pdf417 en excel. En el archivo solo se genera una etiqueta a la vez, pero para aquellos con conocimientos de VBA no debería haber ningún problema en modificarlo para generarlo en hojas enteras.

Los pasos a seguir para usar el generador son los siguientes:

Categories
programación

Reproducir sonidos por el altavoz interno del ordenador desde java

speakers

No existe en la librería de java oficial ninguna clase que nos permita reproducir sonido a través del altavoz interno del ordenador. Buscando un poco se puede llegar a una página web personal donde se puede descargar un ejemplo de como hacerlo usando jni. El ejemplo es muy práctico para aprender, pero si únicamente quieres usarlo en tu código sigue los siguientes pasos:

  1. Descargar y extraer el siguiente archivo que contiene la librería .jar y la librería .dll necesaria para usar la librería.