Segundo programa: Ahorcado numérico

marzo 4, 2008

Ya estamos aquí de nuevo para hacer nuestro segundo programa para nuestros dispositivos WM6. La verdad que hacer el Hello World es muy bonito pero no aporta nada, así que me he propuesto enseñaros a hacer una especie de mini juego. Vamos a intentar hacer un programa para adivinar un numero del 0 al 99

Nuestro formulario va a constar de:

Form1

Text: Ahorcado Numérico

Label1

Text: Bienvenidos al programa del Ahorcado numérico.
Por favor introduzca un numero del 0 al 99.

AVISO: Tiene 10 intentos

Label2

Text:Número

Label3

Text: Intentos restantes

Label4

Text: 10

TextBox1

Text: 00

MaxLength: 2

Enabled: False

Button1

Text: Comprobar

Button2

Text: Pista

Button3

Text: Borrar

Como siempre dejo las fuentes a vuestra elección. Nos debería de quedar algo similar a esto:

Código:

Public Class Form1
Dim numero As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Enabled = True Then
If Label4.Text > 1 Then
If numero = TextBox1.Text Then
MsgBox(“Muy Bien, has acertado!!!!!”, , “Ahorcado”)
TextBox1.Enabled = False
ElseIf Label4.Text = 2 Then
Label4.Text = Label4.Text – 1
MsgBox(“Lo siento, has fallado. Todavía te queda ” & Label4.Text & ” intento”, , “Ahorcado”)
TextBox1.Focus()
TextBox1.SelectAll()
Else
Label4.Text = Label4.Text – 1
MsgBox(“Lo siento, has fallado. Todavía te quedan ” & Label4.Text & ” intentos”, , “Ahorcado”)
TextBox1.Focus()
TextBox1.SelectAll()
End If
Else
MsgBox(“Lo siento se te acabaron las oportunidades, inténtalo de nuevo”, , “Ahorcado”)
TextBox1.Enabled = False
End If
End If
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox1.Enabled = True
numero = Int(99 * Rnd())
Label4.Text = 10
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If TextBox1.Text < numero Then
MsgBox(“Me parece un numero muy pequeño. ¿No?”, , “Ahorcado”)
ElseIf TextBox1.Text > numero Then
MsgBox(“Me parece un numero muy grande. ¿No?”, , “Ahorcado”)
Else
MsgBox(“Que te quemas!!! :D”, , “Ahorcado”)
End If
TextBox1.Focus()
TextBox1.SelectAll()
End Sub
End Class

He intentado programarlo lo más simple que he podido, sin bucles, etc. Para no liaros mucho. Voy a destacar 2 partes del código que puede que no se entiendan (las otras son simples condiciones)

La primera es:

TextBox1.Focus()
TextBox1.SelectAll()

En estas 2 sentencias lo que hacemos es seleccionar el texto del TextBox1, así cuando no salga el mensaje el texto queda seleccionado para poder sobreescribirlo más rápidamente.

La segunda:

numero = Int(99 * Rnd())

Lo que hacemos es multiplicar 99 por un numero aleatorio (obtenido con Rnd()) que luego guardamos en la variable número para poder acceder a ella desde las sentencias condicionales.

Un saludo y a jugar al ahorcado.

Anuncios

Primer programa: Hello World

febrero 29, 2008

Bueno, creo que ya he dejado un tiempo para poder encontrar los programas necesarios, así que aquí os traigo como hacer el primer programa para vuestros dispositivos con Windows Mobile 6. Intentare explicarlo lo más claro posible, si aún tenéis dudas, estaré encantado de intentar resolverlas en los comentarios.

Por ser la primera vez, voy a explicar como crear un nuevo proyecto, compilarlo y obtener el .exe correspondiente. Así que… ¡manos a la obra!

Comenzamos arrancando Visual Studio y creamos un nuevo proyecto.

Nos saldrá el siguiente cuadro de diálogo, del que seleccionaremos la aplicación que queremos crear (En nuestro caso la primera: Device Aplication)

Se nos abrirá un nuevo proyecto con un Form1 vacío.

Nota: Es posible que en vez de la vista de diseño se os abra la vista de código. Para cambiar de la vista de código a la vista de diseño pulsa Shift+F7

Ahora vamos a insertar en el formulario los objetos. Nos vamos al cuadro de herramientas y agregamos 1 Button y 1 Label

A la derecha, tenemos una región, con las propiedades de cada objeto. Seleccionando el objeto podemos editar esas propiedades. Vamos a cambiar:

Form1

  • Text: Hello_World

Button1

  • Text: Saluda

Label1

  • Text: Este es mi primer programa para Windows Mobile 6
  • TextAlign: TopCenter
  • ForeColor: Seleccionamos el color que más nos guste.
  • Font: Selecionamos la fuente que más nos guste (en neustro caso: Tahoma, 12pt y en negrita)

Nos debería mostrar algo como esto.

Una vez finalizada la parte estética, vamos a escribir el código para que nuestra aplicación muestre un mensaje de Hello Wolrd cada vez que el usuario pulse el botón. Para acceder al código de un objeto, simplemente hacemos doble click en el objeto y nos llevara a una pantalla con este código:

Private Sub Button1_Click ……
End Sub

Simplemente tenemos que escribir entre las lineas el siguiente código:

Msgbox(“Hello Wolrd”,,”Programa 1″)

Ahora vamos a probar el proyecto, para ello pinchamos en la flecha verde que hay en la barra de herramientas. También podemos hacerlo con F5, o en el menú: Debug-> Start Debugging. Nos aparecerá un cuadro de diálogo como el siguiente, donde seleccionaremos que emulador deseamos. Nosotros seleccionaremos el primero.

Ahora se arrancara un Emulador en la pantalla de tu ordenador que simula un dispositivo con Windows Mobile, y en unos pocos segundos se carga vuestro programa. Podréis ejecutarlo y probarlo como si de vuestro dispositivo móvil se tratase.

Una vez satisfechos con el resultado, tenemos que crear el ejecutable para poder arrancar nuestro nuevo programa en nuestra PDA. Nos vamos a Build->Generar DeviceAplication1 y el programa generara dentro de la carpeta donde hemos guardado el proyecto una carpeta llamada: /DeviceApplication1/bin/Release Y dentro de la cual tendremos nuestro ejecutable. Solo nos queda copiarlo en nuesto dispositivo con Windows Mobile 6 y disfrutar (todo lo que se pueda de un Hello_World xD).


NUEVA CATEGORÍA: Programación

febrero 26, 2008

Bueno llevo un tiempo trasteando y he decidido añadir una nueva categoría al blog. Esta nueva categoría es la de programación. Basaré este apartado básicamente en hacer pequeños (y espero que no tan pequeños) programas para Windows Mobile, con el SDK del Visual Studio 20005. Nosotros usaremos Visual Basic. Esto no significa que se acaben los programas, sino que voy a ir alternando a lo que más me apetezca o de lo que más información posea.

Para que sepáis más o menos lo que es, un SDK (Software Developmet Kit) es generalmente un conjunto de herramientas de desarrollo que le permite a un programador crear aplicaciones para un sistema bastante concreto, por ejemplo ciertos paquetes de software, frameworks, plataformas de hardware, ordenadores, videoconsolas, sistemas operativos, etcétera.

Es algo tan sencillo como una interfaz de programación de aplicaciones o API (del inglés Application Programing Interface) creada para permitir el uso de cierto lenguaje de programación, o puede, también, incluir hardware sofisticado para comunicarse con un determinado sistema embebido. Las herramientas más comunes incluyen soporte para la detección de errores de programación como un entorno de desarrollo integrado o IDE (del inglés Integrated Development Environment) y otras utilidades. Los SDKs frecuentemente incluyen, también, códigos de ejemplo y notas técnicas de soporte u otra documentación de soporte para ayudar a clarificar ciertos puntos del material de referencia primario.

Wikipedia

Para poder programar necesitaremos:

– Windows Mobile 6 Professional SDK -> Download

Aquí os dejo los links de descarga de los programas necesarios que ofrece gratuitamente micrsoft ( el resto vía emule 😛 )


Editar un Skin del Battery Status

febrero 8, 2008

Bueno, como ya comentamos en el post del Battery Status, los skins de este estupendo programa son editables y configurables. Así que vamos a ver como podemos hacerlo.

Primero vamos a partir de uno que ya tengamos instalado. En mi caso, partiremos del Large VistaTheme.

BatteryStatus

Al instalarlo se crea una carpeta llamada BatteryStatus dentro de \Windows Dentro de esa carpeta nos encontramos varios archivos y subcarpetas. En primer lugar, nos encontramos BatteryStatus.exe Este es el ejecutable de nuestro programa. Nos encontramos archivos de extensión .xml (default y BSLargueVistaTheme en mi caso) y carperas con el mismo nombre que estos archivos.

En las carpetas están los iconos a los que llamaremos desde el documento .xml son iconos bmp que pueden ser editados con cualquier editor de imágenes. Si os fijais todos tienen un colos rosa alrededor que no aparece en su ejecución. Este es el color que definimos como trasparente (se puede cambiar en el .xml), todo pixel con ese color cojera el color de fondo que tenga nuestra PDA.

Los arcivos .xml son los que se encgargan del tamaño y posicion de cada texto e imagen. No voy a adentrarme en programación para archivos .xml pero vamos a intentar con unas lineas generales ver como funcionan estos archivos.

Por ejemplo, nuestra columna 4 se compone de 4 iconos y su código es el siguiente:

<Row>
<!– default View 1 –>
<View height=”35″>
<!– first content box / start at 28 –>
<Item type=”lefticon” class=”cpuspeed”>
<image src=”cpu_freq.bmp” left=”16″ top=”3″ transparent=”ff00ff”/>
</Item>
<!– second content box –>
<Item type=”lefticon” class=”powerdrain”>
<image src=”drain.bmp” left=”48″ top=”3″ transparent=”ff00ff”/>
</Item>
<!– third content box –>
<Item type=”lefticon” class=”temperature”>
<image src=”temp.bmp” left=”78″ top=”3″ transparent=”ff00ff”/>
</Item>
<!– forth content box –>
<Item type=”lefticon” class=”phone_signal”>
<image src=”signal.bmp” left=”109″ top=”3″ transparent=”ff00ff”/>
</Item>
</View>
</Row>

Podemos observar que el código de la columna comienza con las etiquetas <row> </row> con las que indicamos donde empieza y acaba la columna. Le siguen las etiquetas <view height> Donde indicamos la altura que queremos que tenga esa columna. OJO: Si definimos una altura menor que el tamaño de los iconos, la siguiente columna se superpondrá.

Y Finalmente tenemos los 4 Items que tiene nuestra columna, en nuestro caso iconos.

<Item type=”lefticon” class=”temperature”>
<image src=”temp.bmp” left=”78″ top=”3″ transparent=”ff00ff”/>
</Item>

En la etiqueta image ponemos la ruta al icono scr=”temp.bmp” la posicion con respecto de la parte izquierda de la pantalla left=”78″, la posición con la parte de arriba de la columna top=”3″ (Definida por la columna anterior con su propiedad <view>) y el color de icono que queremos que sea transparente transparent=”ff00ff”

Cuando ne la siguiente columna queramos poner el texto, en vez de una etiqueta image ponemos una de texto (label)

<Item type=”iconvalue” class=”temperature”>
<label align=”center” left=”12″ top=”1″ width=”40″/>
</Item>

Con una poca de imaginación y esfuerzo conseguimos resultados muy buenos y agradables a la vista, totalmente configurados a nuestro gusto.