Desarrollando con visual studio

1,746 views

Published on

ivan ramirez iglesias

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,746
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Desarrollando con visual studio

  1. 1. Desarrollando con VisualStudio .NET 2003, Calificaraplicaciones para Pocket PC Mi Panorama SOS Escribe para2002 NosotrosPor Jorge Serrano PérezMicrosoft MVPIntroducciónEn este artículo, veremos como crear una sencilla aplicación para dispositivos Pocket PC2002 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 laversió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, puedenayudarle 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 controlComboBox (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 seleccionadomediante código. Adicionalmente y dependiendo de la clave que se asocia a un valorseleccionado, 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ódigoa su equivalente Visual C# no es extremadamente complejo.Necesidades hardwareVisual Studio .NET 2003 trae integrado el software necesario para crear aplicaciones paraPocket PC 2002, incluyendo no sólo Microsoft .NET Compact Framework y los controlespropios de las aplicaciones para este tipo de dispositivos, sino también la conexión directacon 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 2002que viene integrado con Visual Studio .NET 2003.
  2. 2. 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 VisualStudio .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 2003hace todo por usted.Manos a la obraNo 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 laplantilla Smart Device Application como muestra la figura 1.Figura 1.Nota: Dependiendo del idioma de su Visual Studio .NET 2003, las leyendas mostradas enla figura 1 pueden variar.Al pulsar sobre el botón OK, observaremos que aparece una ventana como la que semuestra en la figura 2.
  3. 3. Figura 2.En nuestro caso, no debemos variar nada si aparece las mismas opciones seleccionadas dela 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 ennuestro Pocket PC 2002 pulsando la tecla F5, pero añadiremos las modificaciones quequeremos incorporar en nuestra aplicación y comentadas en la introducción.Después de estos pasos, observaremos que aparece un formulario windows para Pocket PC2002 similar al que aparece en la figura 3.
  4. 4. Figura 3.Este es el formulario de una aplicación para Pocket PC 2002. Si ha programado yaaplicaciones para Windows en Visual Studio .NET 2003, se habrá dado cuenta en seguidaque el formulario es prácticamente idéntico.Una advertencia antes de seguir;Si modifica la fuente de letra del formulario o de alguno delos controles de Microsoft .NET Compact Framework, puede encontrarse con que los textosno aparecen en el Pocket PC 2002 como aparece en el interfaz de desarrollo de VisualStudio .NET 2003.Mi recomendación es no modificar (si es posible) la fuente de letra queviene por defecto y que corresponde con Microsoft Sans Serif.Observará que inicialmente, se ha añadido a nuestro formulario Windows, un controlMainMenu.Aprovecharemos este control para añadir un menú a nuestra primera aplicación Pocket PC2002.Haga clic sobre el control y escriba en la parte habilitada en el formulario Windows el textoSalir.
  5. 5. 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 controlPictureBox y un control ProgressBar, y dispóngalos en el formulario Windows de maneraordenada.Asímismo, modifique algunas propiedades de presentación, como por ejemplo, cambiar elcolor y tamaño de la fuente de texto para los controles Label y escribir en el botón el textoAceptar.En la figura 4, puede ver el aspecto del formulario con los controles anteriormentecomentados insertados en él.Figura 4.¿Y ahora qué?.Pues como nuestra aplicación va a utilizar varias imágenes, haremos clic con el botónderecho del ratón sobre el proyecto y seleccionaremos la opción Add > New Folder delmenú emergente, si bien una vez más, esta leyenda puede cambiar dependiendo del idiomade su Visual Studio .NET 2003.Crearemos una carpeta de nombre Imágenes. En realidad, no es tan importante crear unacarpeta en nuestro proyecto, ya que como verá, la aplicación será transferida a nuestro
  6. 6. Pocket PC 2003 en el mismo directorio (ejecutable y recursos). Sin embargo, esto nos sirvepara tener ordenado y controlado nuestro desarrollo.Las imágenes creadas, tendrán un tamaño de 60x60 pixels, por lo que el controlPictureBox 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 deporteno se encuentra.Las cuatros imágenes añadidas son las siguientes:futbol.bmpbaloncesto.bmptenis.bmpNoImagen.bmpAhora 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
  7. 7. 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 WindowsForm Designer. InitializeComponent() Ruta del Ejecutable extraídodel 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 lasimá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 AsString) 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
  8. 8. #End Region #Region "Form1_Load" Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load ComboBox1.Visible = False Dim Datos_Atletas() As Atletas = {New Atletas("Juan López","futbol"), New Atletas("María Simón","baloncesto"), New Atletas("AntonioJiménez", "tenis"), New Atletas("FernandoAlsa", "balonmano"), New Atletas("Carla Sampoo","tiro con arco"), New Atletas("Rosa Martín","fórmula 1"), New Atletas("CarlosFerná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) HandlesButton1.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,
  9. 9. ByVal e As System.EventArgs) HandlesMenuItem1.Click Me.Close() End Sub #End RegionEnd ClassDespués de escribir nuestro código, ya estamos listos de poder probar nuestro desarrollo.Probando nuestra aplicaciónA la hora de probar nuestra aplicación, nos podemos hacer dos preguntas. ¿Queremosutilizar 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á verin-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 2002que está integrado en Visual Studio .NET 2003, por lo que pulsaremos F5 para comenzar laejecució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 2002Emulator, 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 laaplicación que hemos creado.Nota: Tenga paciencia a la hora de arrancar y ejecutar el emulador. Dependiendo de suconfiguración hardware, este proceso puede durar un par de minutos.
  10. 10. 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 ejecutaraplicaciones para estos dispositivos, como por ejemplo el Microsoft .NET CompactFramework.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.
  11. 11. Figura 7.Nuestra aplicación en ejecución es la que se muestra en la figura 8.
  12. 12. 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 PC2002 real. Para ello, utilizaremos ActiveSync 3.5.En mi caso, he conectado el Pocket PC 2002 a mi ordenador mediante USB y heestablecido una conexión a través de ActiveSync 3.5.Pulsaremos nuevamente F5 y seleccionaremos la opción Pocket PC Device que aparece enla figura 5.Después de unos breves segundos, se establecerá la comunicación entre Visual Studio .NET2003 y nuestro Pocket PC 2002, enviándose los archivos necesarios para ejecutar la
  13. 13. aplicación. Pocos segundos después, nuestra aplicación aparecerá en ejecución en lapantalla de nuestro Pocket PC 2002.Así de sencillo.ConclusiónEn este artículo, hemos visto cómo crear una aplicación para Pocket PC 2002 con VisualStudio .NET 2003 y cómo ejecutarla en el emulador de Pocket PC 2002 que viene conVisual Studio .NET 2003 y como establecer una conexión con nuestro Pocket PC 2002 através de ActiveSync.Nota: Hay un conjunto de botones en la barra de herramientas, que establecen diferentesfunciones que conviene conocer:Esta imagen, está compuesta por un ComboBox desplegable en el que podremosseleccionar 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 archivocab 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 dispositivoconectado a nuestro sistema directamente).El icono del medio, nos permite modificardiferentes propiedades de conexión de nuestro dispositivo, como la conexión con IrDA ocon TCP.

×