desarrollando con visual studio

16
Desarrollando con Visual Studio .NET 2003, aplicaciones para Pocket PC 2002 Por Jorge Serrano Pérez Microsoft MVP Calific ar Mi Panorama SOS Escribe para Nosotros Introducción En este artículo, veremos como crear una sencilla aplicación para dispositivos Pocket PC 2002 con Visual Studio .NET 2003 utilizando algunas técnicas avanzadas de desarrollo. Nota: Este artículo ha sido redactado utilizando la versión Beta 2 del producto. Quizás en la versión final haya que realizar algunos cambios. De ser así, nos abocaremos a ello en su momento. Aunque el ejemplo es sencillo, la utilización de algunas características avanzadas, pueden ayudarle a la hora de abordar algunos proyectos para este tipo de dispositivos. En este artículo, aprenderemos a crear una aplicación capaz de insertar en un control ComboBox (también válido para el control ListBox) un pareja de valores (valor, clave), mostrando únicamente en el control el valor y obteniendo la clave del valor seleccionado mediante código. Adicionalmente y dependiendo de la clave que se asocia a un valor seleccionado, mostraremos una imagen u otra dependiendo de la selección. Todas estas operaciones, las realizaremos en nuestro Pocket PC 2002.

Upload: ivan-ramirez-iglesias

Post on 28-Jun-2015

1.497 views

Category:

Documents


3 download

DESCRIPTION

ivan ramirez iglesias

TRANSCRIPT

Page 1: Desarrollando con visual studio

Desarrollando con Visual Studio .NET 2003, aplicaciones para Pocket PC 2002Por Jorge Serrano PérezMicrosoft MVP

Calificar

Mi Panorama SOSEscribe para

Nosotros

Introducción

En este artículo, veremos como crear una sencilla aplicación para dispositivos Pocket PC 2002 con Visual Studio .NET 2003 utilizando algunas técnicas avanzadas de desarrollo.

Nota: Este artículo ha sido redactado utilizando la versión Beta 2 del producto. Quizás en la versión final haya que realizar algunos cambios.

De ser así, nos abocaremos a ello en su momento.

Aunque el ejemplo es sencillo, la utilización de algunas características avanzadas, pueden ayudarle a la hora de abordar algunos proyectos para este tipo de dispositivos.

En este artículo, aprenderemos a crear una aplicación capaz de insertar en un control ComboBox (también válido para el control ListBox) un pareja de valores (valor, clave), mostrando únicamente en el control el valor y obteniendo la clave del valor seleccionado mediante código. Adicionalmente y dependiendo de la clave que se asocia a un valor seleccionado, mostraremos una imagen u otra dependiendo de la selección.

Todas estas operaciones, las realizaremos en nuestro Pocket PC 2002.

El desarrollo de esta solución se realizará con Visual Basic .NET, aunque pasar este código a su equivalente Visual C# no es extremadamente complejo.

Necesidades hardware

Visual Studio .NET 2003 trae integrado el software necesario para crear aplicaciones para Pocket PC 2002, incluyendo no sólo Microsoft .NET Compact Framework y los controles propios de las aplicaciones para este tipo de dispositivos, sino también la conexión directa con nuestro Pocket PC 2002, bien sea a través de infrarojos o IrDA o a través de TCP (ActiveSync), o bien, realizando una conexión virtual con el emulador de Pocket PC 2002 que viene integrado con Visual Studio .NET 2003.

Page 2: Desarrollando con visual studio

Por lo tanto y después de comentar todo esto, disponga o no de un Pocket PC 2002, podrá ponerse manos a la obra en la lectura y puesta en práctica de este artículo con Visual Studio .NET 2003.

En este artículo no obstante, veremos como acceder a un Pocket PC 2002 desde Visual Studio .NET 2003 a través de ActiveSync 3.5 (que es la versión que he decidido utilizar). Lo mejor de todo, es que usted no tiene que hacer nada, porque Visual Studio .NET 2003 hace todo por usted.

Manos a la obra

No añadamos más preámbulos a este artículo y pongámonos el mono de trabajo ya.

Inicie Visual Studio .NET 2003 y sitúese sobre los Proyectos Visual Basic y seleccione la plantilla Smart Device Application como muestra la figura 1.

Figura 1.

Nota: Dependiendo del idioma de su Visual Studio .NET 2003, las leyendas mostradas en la figura 1 pueden variar.

Al pulsar sobre el botón OK, observaremos que aparece una ventana como la que se muestra en la figura 2.

Page 3: Desarrollando con visual studio

Figura 2.

En nuestro caso, no debemos variar nada si aparece las mismas opciones seleccionadas de la figura 2 en nuestra ventana. Simplemente pulsaremos el botón OK.

Con estos dos sencillos pasos, estaremos listos ya incluso, de utilizar nuestra aplicación en nuestro Pocket PC 2002 pulsando la tecla F5, pero añadiremos las modificaciones que queremos incorporar en nuestra aplicación y comentadas en la introducción.

Después de estos pasos, observaremos que aparece un formulario windows para Pocket PC 2002 similar al que aparece en la figura 3.

Page 4: Desarrollando con visual studio

Figura 3.

Este es el formulario de una aplicación para Pocket PC 2002. Si ha programado ya aplicaciones para Windows en Visual Studio .NET 2003, se habrá dado cuenta en seguida que el formulario es prácticamente idéntico.

Una advertencia antes de seguir;Si modifica la fuente de letra del formulario o de alguno de los controles de Microsoft .NET Compact Framework, puede encontrarse con que los textos no aparecen en el Pocket PC 2002 como aparece en el interfaz de desarrollo de Visual Studio .NET 2003.Mi recomendación es no modificar (si es posible) la fuente de letra que viene por defecto y que corresponde con Microsoft Sans Serif.

Observará que inicialmente, se ha añadido a nuestro formulario Windows, un control MainMenu.

Aprovecharemos este control para añadir un menú a nuestra primera aplicación Pocket PC 2002.

Haga clic sobre el control y escriba en la parte habilitada en el formulario Windows el texto Salir.

Page 5: Desarrollando con visual studio

A continuación añada un control Panel en el formulario Windows y dentro de este control, añada dos controles Label, un control ComboBox, un control Button, un control PictureBox y un control ProgressBar, y dispóngalos en el formulario Windows de manera ordenada.

Asímismo, modifique algunas propiedades de presentación, como por ejemplo, cambiar el color y tamaño de la fuente de texto para los controles Label y escribir en el botón el texto Aceptar.

En la figura 4, puede ver el aspecto del formulario con los controles anteriormente comentados insertados en él.

Figura 4.

¿Y ahora qué?.Pues como nuestra aplicación va a utilizar varias imágenes, haremos clic con el botón derecho del ratón sobre el proyecto y seleccionaremos la opción Add > New Folder del menú emergente, si bien una vez más, esta leyenda puede cambiar dependiendo del idioma de su Visual Studio .NET 2003.

Crearemos una carpeta de nombre Imágenes. En realidad, no es tan importante crear una carpeta en nuestro proyecto, ya que como verá, la aplicación será transferida a nuestro

Page 6: Desarrollando con visual studio

Pocket PC 2003 en el mismo directorio (ejecutable y recursos). Sin embargo, esto nos sirve para tener ordenado y controlado nuestro desarrollo.

Las imágenes creadas, tendrán un tamaño de 60x60 pixels, por lo que el control PictureBox tendrá esas mismas dimensiones.

Añadiremos 4 imágenes, una correspondiente al deporte futbol, otra al deporte baloncesto, otra para el deporte tenis y una última imagen que será cargada si la imagen de su deporte no se encuentra.

Las cuatros imágenes añadidas son las siguientes:

futbol.bmp

 

baloncesto.bmp

 

tenis.bmp

 

NoImagen.bmp

Ahora tan sólo deberemos escribir a continuación el código fuente de nuestra aplicación, que es el que se detalla a continuación:

Formulario de aplicación para Pocket PC escrito en VB .NET [Code] - Form1.vbPublic Class Form1 Inherits System.Windows.Forms.Form Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem Friend WithEvents Panel1 As System.Windows.Forms.Panel Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox Friend WithEvents Button1 As System.Windows.Forms.Button

Page 7: Desarrollando con visual studio

Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Ruta del Ejecutable extraído del ensamblado Dim Ruta_Ensamblado As String = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase Ruta_Ejecutable = Ruta_Ensamblado.Substring(0, Ruta_Ensamblado.LastIndexOf("\") + 1) 'Add any initialization after the InitializeComponent() call End Sub [...] #End Region #Region "Variables de la Aplicación" 'Variable para Almacenar la Ruta dónde se encuentra el ejecutable 'Nos servirá para situar el lugar en el que se encuentran las imágenes Private Ruta_Ejecutable As String #End Region #Region "Estructura Atletas" 'Definición de la Estructura que definirá la pareja de valores 'formada por un valor y clave, que en este caso está formado por 'un Atleta y la Especialidad de éste 'Utilizaremos un método y sus propiedades para establecer los 'valores y poder jugar con ellos en el control ComboBox Private Structure Atletas Private m_Atleta As String Private m_Especialidad As String Public Sub New(ByVal Atleta As String, ByVal Especialidad As String) m_Atleta = Atleta m_Especialidad = Especialidad End Sub Public ReadOnly Property Atleta() As String Get Return m_Atleta End Get End Property Public ReadOnly Property Especialidad() As String Get Return m_Especialidad End Get End Property End Structure

Page 8: Desarrollando con visual studio

#End Region #Region "Form1_Load" Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ComboBox1.Visible = False Dim Datos_Atletas() As Atletas = {New Atletas("Juan López", "futbol"), New Atletas("María Simón", "baloncesto"), New Atletas("Antonio Jiménez", "tenis"), New Atletas("Fernando Alsa", "balonmano"), New Atletas("Carla Sampoo", "tiro con arco"), New Atletas("Rosa Martín", "fórmula 1"), New Atletas("Carlos Fernández", "badminton")} ComboBox1.DataSource = Datos_Atletas ComboBox1.DisplayMember() = "Atleta" ComboBox1.ValueMember = "Especialidad" ComboBox1.Visible = True End Sub #End Region #Region "Button1_Click" Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ProgressBar1.Value = 25 Label2.Text = ComboBox1.SelectedValue Dim Img As Bitmap Try Img = New Bitmap(Ruta_Ejecutable & Label2.Text & ".bmp") ProgressBar1.Value = 45 Catch ex As Exception Img = New Bitmap(Ruta_Ejecutable & "NoImagen.bmp") ProgressBar1.Value = 50 Finally ProgressBar1.Value = 75 PictureBox1.Image = Img ProgressBar1.Value = 90 Img = Nothing End Try ProgressBar1.Value = 100 End Sub #End Region #Region "MenuItem1_Click" Private Sub MenuItem1_Click(ByVal sender As System.Object,

Page 9: Desarrollando con visual studio

ByVal e As System.EventArgs) Handles MenuItem1.Click Me.Close() End Sub #End RegionEnd Class

Después de escribir nuestro código, ya estamos listos de poder probar nuestro desarrollo.

Probando nuestra aplicación

A la hora de probar nuestra aplicación, nos podemos hacer dos preguntas. ¿Queremos utilizar un Pocket PC 2002 para probar nuestra aplicación o no?.

Por supuesto, sino dispone de él, no hará falta responder, pero si dispone de él, podrá ver in-situ la carga y ejecución real, así como el comportamiento, de nuestra aplicación.

En primer lugar, ejecutaremos nuestra aplicación utilizando el emulador de Pocket PC 2002 que está integrado en Visual Studio .NET 2003, por lo que pulsaremos F5 para comenzar la ejecución de nuestra aplicación.

Aparecerá una ventana de ejecución como se muestra en la figura 5.

Figura 5.

Simplemente, pulsaremos la tecla Intro para ejecutar la opción de Pocket PC 2002 Emulator, que es la opción que aparece marcada por defecto.

Esto lanzará el emulador que se pondrá a cargar las partes generales del mismo junto a la aplicación que hemos creado.

Nota: Tenga paciencia a la hora de arrancar y ejecutar el emulador. Dependiendo de su configuración hardware, este proceso puede durar un par de minutos.

Page 10: Desarrollando con visual studio

Al principio y por primera vez, el emulador actúa de forma idéntica a un Pocket PC. Incluso cargará en el emulador, aquellas partes que son o serán necesarias para ejecutar aplicaciones para estos dispositivos, como por ejemplo el Microsoft .NET Compact Framework.

En la figura 6, puede ver una captura del emulador de Pocket PC 2002 en fase de ejecución.

Figura 6.

El aspecto de nuestra aplicación después de ser cargada en el emulador de Pocket PC 2002, es el que se muestra en la figura 7.

Page 11: Desarrollando con visual studio

Figura 7.

Nuestra aplicación en ejecución es la que se muestra en la figura 8.

Page 12: Desarrollando con visual studio

Figura 8.

Para cerrar nuestra aplicación en ejecución, pulsaremos sobre la opción del menú Salir.

Ahora tan sólo nos quedará probar la opción de enlace de la aplicación con un Pocket PC 2002 real. Para ello, utilizaremos ActiveSync 3.5.

En mi caso, he conectado el Pocket PC 2002 a mi ordenador mediante USB y he establecido una conexión a través de ActiveSync 3.5.

Pulsaremos nuevamente F5 y seleccionaremos la opción Pocket PC Device que aparece en la figura 5.

Después de unos breves segundos, se establecerá la comunicación entre Visual Studio .NET 2003 y nuestro Pocket PC 2002, enviándose los archivos necesarios para ejecutar la

Page 13: Desarrollando con visual studio

aplicación. Pocos segundos después, nuestra aplicación aparecerá en ejecución en la pantalla de nuestro Pocket PC 2002.

Así de sencillo.

Conclusión

En este artículo, hemos visto cómo crear una aplicación para Pocket PC 2002 con Visual Studio .NET 2003 y cómo ejecutarla en el emulador de Pocket PC 2002 que viene con Visual Studio .NET 2003 y como establecer una conexión con nuestro Pocket PC 2002 a través de ActiveSync.

Nota: Hay un conjunto de botones en la barra de herramientas, que establecen diferentes funciones que conviene conocer:

Esta imagen, está compuesta por un ComboBox desplegable en el que podremos seleccionar el dispositivo o emulador, que será lanzado por defecto al pulsar F5.

De los tres iconos que aparecen, el de la derecha del todo, nos permite construir el archivo cab de nuestra aplicación, para distribuirla fácilmente.El icono de la izquierda de los tres, nos permite conectar con el Pocket PC (ya sea con el emulador o con el dispositivo conectado a nuestro sistema directamente).El icono del medio, nos permite modificar diferentes propiedades de conexión de nuestro dispositivo, como la conexión con IrDA o con TCP.