RSS

Archivos Mensuales: julio 2008

Barman MobileNUG Friki desarrollo en Compact Framework

Quien no se ha vuelto loco cuando sale con los amigos os juntais mas de 20 y le toca pedir siempre a uno (Ruben y Oscar esta va por vosotros), pues ya está aquí la solución, se acabo el tener que buscar una servilleta donde apuntar las copas, cafes o lo que sea, y de tener que estar mendigando un boligrafo al camarero.

 

Main

MobileNug se complace en presentaros la primera friki aplicacion de MobileNug, un generador de comandas, el Barman MobileNUG

Con  Barman MobileNUG puedes dar de alta las consumiciones que quieras gestionar, además gracias a su gestor, darlas de alta es muy sencillo, ya que podremos componer los textos con los botones de ayuda o tecleando con el teclado.

AltaProductos

Tambien podemos ver la última comanda (ya sabeis cada uno siempre suele pedir lo mismo) y podremos modificarla si lo deseamos.

Presentacion

De sencillo manejo, aquí los pasos a seguir:

  • Damos de Alta los productos en el menú Alta productos, para guardar menú guardar.
  • Y ya podremos crear nuestras comandas con el menú "Nueva comanda" el resto ya vereis que es muy intuitivo…

Ya bromas aparte esta aplicacion además de demostrar lo que se puede hacer en un par de horas con Compact Framework y unas cañas muestra lo siguiente:

  • Como crear controles en tiempo de ejecución
  • Como poner la PDA en modo de suspensión
  • Como manejar los menús para Compact Framework
  • Como manejar el acceso a datos (uso de bindingsource, dataadapter, agregar registros, borrarlos, modificarlos)
  • Como agregar elementos a listas o enlazar datos a un Grid
  • Como sobrecargar el constructor de un formulario
  • Como modificar la propiedad MinimizeBox de nuestros formularios
  • Como cargar recursos de tipo imagen en un PictureBox

Podréis encontar la solución completa (Código fuente incluido) en el siguiente enlace.

Y ya sabeis si la descargais y se os ocurre mejorarla no lo dudeis, remitirnosla y la actualizaremos en la web, asi pasareis a ser colaboradores.

 
Deja un comentario

Publicado por en 24 julio, 2008 en Artículo, Desarrollo

 

Como activar el Bluetooth en tu PDA

Aqui se muestra como podemos activar el Bluetooth en nuestros dispositivos con Windows Mobile.

Tener en cuenta que esto solo es válido si el dispositivo utiliza la pila de Bluetooth de Microsoft.

using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.Text;
namespace ManejarBluetooth
{
  public class BluetoothMS
  {
  public enum RadioMode
  {
        Apagado = 0,Conectable = 1,Descubrible =2
      }

    /// <summary>
    /// Recuperar el modo
    /// </summary>
    [DllImport ("BthUtil.dll")]
    public static extern int BthGetMode (out RadioMode dwMode);

    /// <summary>
    /// Establecer el modo
    /// </summary>
    [DllImport("BthUtil.dll")]
    public static extern int BthSetMode(RadioMode dwMode);
    public int EstablecerModo(RadioMode Modo)
      {
        return BthSetMode(Modo);
      }

    public int RecuperarModo(out RadioMode Modo)
      {
        return BthGetMode(out Modo);
      }
  }
}

 
Deja un comentario

Publicado por en 20 julio, 2008 en Desarrollo, Trucos

 

Como apagar la PDA por código en Windows Mobile

Algo que puede sernos necesario es el tener que poner la PDA en modo de suspensión. Con el código que se muestra mas abajo podremos apagar nuestra PDA con Windows Mobile desde nuestra aplicación.
Se trata de una llamada a la función SetSystemPowerState contenida en el Coredll.dll realizada mediante p/invoke. Podréis encontrar mas información en MSDN buscando por SetSystemPowerState.
Tener en cuenta que esto solo es válido si el dispositivo utiliza la pila de Bluetooth de Microsoft.

using System.Runtime.InteropServices;

(…)

private const int POWER_STATE_SUSPEND = 0x00200000;
private const int POWER_FORCE = 0x00001000;

[DllImport("coredll.dll")]
internal static extern int SetSystemPowerState(string psState, int StateFlags, int Options);

//Esta función llama a SetSystemPowerState para suspender la PDA
private void Apagar()
{
SetSystemPowerState(null, POWER_STATE_SUSPEND, POWER_FORCE);
}

(…)

 
Deja un comentario

Publicado por en 20 julio, 2008 en Desarrollo, Trucos

 

Como insertar una imagen en una base de datos de SQL CE

Estos días me he visto en la necesidad de insertar imágenes dentro de un campo en una base de datos de Sql CE, algo que resulta relativamente sencillo ha resultado ser algo no muy conocido, así que para aquellos que lo necesitéis (antes o después ocurrirá) aquí os dejo el ejemplo, podréis encontrar la solución completa de ejemplo en el enlace adjunto al final. 

//Cargamos la imagen en un objeto tipo Image
Image dibujo = new Bitmap(rutaAplicacion + @"\Imagen.bmp");

//Creamos un stream en memoria para guardar la imagen
MemoryStream memStream = new MemoryStream();

//Guardamos la imagen en nuestro stream especificando el formato (jpg,bmp…) atentos al parámetro ImageFormat
dibujo.Save(memStream,System.Drawing.Imaging.ImageFormat.Bmp);

//Guardamos el stream en un array de bytes
Byte[ ] dibujoByteArray = memStream.GetBuffer();

//Declaramos y abrimos la conexión con la base de datos donde la variable de conexión especifica el path de nuestro archivo sdf
SqlCeConnection conexion = new SqlCeConnection("Data source=" + cadenaConexion);

conexion.Open();

//Creamos el comando SQL para insertar, atentos al parámetro @Imagen
string comandoSQL = "INSERT INTO Cliente (No,Nombre,Imagen) VALUES (1,’PACO’,@Imagen)";

SqlCeCommand comando = new SqlCeCommand(comandoSQL, conexion);

//Asignamos el array de bytes al parametro @Imagen
comando.Parameters.Add("@Imagen", dibujoByteArray);

//Ejecutamos y listo!… sed buenos y poner los chequeos…

comando.ExecuteNonQuery();

conexion.Close();

 
Deja un comentario

Publicado por en 15 julio, 2008 en Desarrollo, Trucos

 

Generar una BD para SQLCE utilizando SSIS

No hace mucho me preguntaron por la posibilidad de generar una base de datos para SQL Server CE desde un equipo PC para posteriormente pasarla a un parque de dispositivos móviles.

Esto en un principio no me pareció extremadamente útil hasta que vino la correspondiente explicación, el tremendo volumen de datos que tenían que cargar (tremendo tratándose de una base de datos para un dispositivo móvil claro), y que todos los equipos iban cargados con la misma información.

Por lo que me resulto un tema interesante, y tras darle un par de vueltas… pensando en la posibilidad de hacer alguna herramienta que nos permitiese hacerlo me di cuenta de la pérdida de tiempo en la que estaba a punto de caer… ¡pero si SQL Server Integration Services ya lo hace!…. me puse manos al a obra, y tras probar el típico asistente para crear un paquete de transacciones, caí con mi gozo en un pozo al no permitirme hacerlo… así que tocó hacerlo a manita, en las siguientes líneas he puesto un “paso a paso” basado en hechos reales… jejeje, digo reales ya que trabajo con Microsoft Dynamics y el tutorial y las pruebas se han hecho trabajando contra una base de datos de Microsoft Dynamics NAV 5.0 SP1, pero sirve para cualquier tipo de origen de datos, desde cualquier base de datos que soporte ODBC, sobre SQL Server o cualquiera de los orígenes de datos soportados por las herramientas de SQL Server Integration Services… XML, archivos de texto, Excel, Access…

SQLCEvsSSIS

Podreís descargar el archivo de aquí

 
Deja un comentario

Publicado por en 7 julio, 2008 en Artículo, Desarrollo

 

Desarrollar sobre compact GDI. Buscaminas MNUG

Aquí tenéis el primer videojuego hecho íntegramente en GDI para Compact Framework. Ante mi nostalgia por este gran juego, no se me ocurrió mejor manera que rendierle culto plasmandolo para nuestras Pocket Pcs. Aunque es una versión beta, es totalmente funcional; aquí tenéis algunas de las características del juego:

Funcionalidades implementadas:

* Juego simple con diferentes temas y dificultad

* Modo campaña

* Ranking de puntuaciones en campaña y single game

* Modo vibración cuando descubrimos minas sin seleccionar previamente la desactivación (X)

* 50 niveles personalizados +1 en modo campaña

* Control de puntuación en relación a minas que explotan, desactivadas, tiempo y casillas numéricas.

Aqui unos pantallazos:

BuscaminasMNUG3

En modo campaña, la X roja sirve para desactivar las minas (en rojo las que estallan y en negro las que se desactivan).

Requisitos para su funcionamiento:

* Tener instalado el Compact Framework 2.0 en la PDA

* Tener instalado el SQLCE Mobile o Compact (3.1) en la PDA

En breve colgaré la solución completa para que podáis ver como he desarrollado todo el control de GDI.

Mientras disfrutad de la aplicación AQUI

Un saludo y good game

 
Deja un comentario

Publicado por en 2 julio, 2008 en Artículo, Desarrollo