miércoles, agosto 29, 2007

Tutorial de eMbedded Visual Basic - Introducción - Capitulo 1

A manera de introducción

Hace mucho tiempo que quería publicar un tutorial de eMbedded Visual Basic, pero por problemas de tiempo no lo había podido realizar.

¿Cómo surge la idea de escribir sobre esta reciente tecnología? Pensando en que así como yo, muchos que apenas empiezan a entrar a trabajar con el sistema operativo Windows CE (principalmente su variante Pocket PC) y con la herramienta de desarrollo de Microsoft para este sistema operativo, Microsoft eMbedded Visual Basic 3.0, no encuentran un manual de usuario claro y conciso en español. Como es sabido por quienes estamos metidos en el mundo de la programación para Pocket Pc, toda la documentación está en inglés, lo que genera retardos en el proceso de aprendizaje de esta tecnología para quienes no tienen un dominio óptimo de ese idioma.

Pensando en esto y gracias al apoyo de www.cepolis.com, pude publicar algunas entregas basadas en notas que ya tenia escritas tiempo atrás. Esas entregas han llegado a transformarse en los capítulos de la presente obra, y que ahora, pasan a ser con mucha modestia (créanlo por favor ;-)), el primer tutorial en español de este ambiente de desarrollo. Agradezco la oportunidad que me ha dado www.mipcdebolsillo.com para publicar estos capítulos y difundirlos por internet. Por invitación de Julio y de Juan Andrés, me propusieron que fuera moderador del grupo de Desarrollo; a lo cual acepte con mucho orgullo por el reconocimiento que en ese momento me hicieron ambos y el apoyo que tuve por todos los de la comunidad de www.mipcdebolsillo.com. A raíz de mi participación más activa como moderador del grupo y con la responsabilidad que esto implica, algunos ya sabían de la existencia del tutor en www.cepolis.com, y lo recomendaban, luego mucha mas gente fue entrando y pidiendo un manual de EVB en español, de esta forma se difundió la noticia del tutor. Por motivos técnicos y de tiempo de cepolis.com, los enlaces del tutor se rompieron y mucha gente empezó a pedir el tutor en mipcdebolsillo.com, y me pidieron que les enviara el tutor vía e-mail, después de un gran numero de peticiones hice el primer envío y siguió un segundo, ahora aparece como una serie de capítulos, con el algunas correcciones y muchas adiciones.

Bueno empecemos ya... con un poco de historia sobre este sistema de desarrollo para Pockect PC y para Windows CE en general. Desciende de una herramienta que era un add-in en Visual Basic 6.0, era el Visual Basic 6.0 Toolkit for Windows CE, este add-in tenia un costo de alrededor de $200 dólares y tenia sus “gallitos” como decimos por acá, estos a su vez descendían de sus correspondientes versiones anteriores Visual Basic 5.0. Además era obligatorio tener por lo menos a versión Professional de Visual Basic para poder instalarlo.

EMbedded Visual Basic 3.0 (eVB) soluciona el inconveniente de que se necesitaba Visual Basic, para empezar a desarrollar una aplicación para Windows CE. EVB aparece como un ambiente de desarrollo independiente de Visual Basic, con muchísimas correcciones a los bugs de su predecesor. Además de todo lo anterior, es que es GRATIS su adquisición, lo cual abre muchas posibilidades a pequeños programadores que no tenían acceso a este software de manera legal.

Capítulo 1 : El principio

En este capítulo vamos a hacer un recorrido general y rápido por todo el ambiente de desarrollo o IDE (por sus siglas en ingles) de eVB .

Antecedentes generales

Embedded Visual Basic no genera programas ejecutables directamente (.exe), eVb genera archivos con la extensión .vb, estos archivos son una especie de script muy optimizado con los datos exactos para ser mostrados en la interfase grafica de Pockect PC, Handheld PC y PalmSize PC.

Estos archivos .vb son enlazados a un programa ejecutable (pvbload.exe) así como se enlazan los archivos .doc a word, por ejemplo. Este programa “pvbload.exe” se encarga de interpretar los comandos que se encuentran en el archivo .vb y traduce y ejecuta con ayuda de archivos dll para su correcta ejecución en Pocket PC.

El runtime de eVB esta presente en la ROM del sistema Windows CE que tengamos.

Como los archivos .vb son enlazados a pvbload.exe, ellos heredan el icono de este programa. Es por esto que todos los programas eVb tienen el mismo icono. Este icono no puede cambiarse como sucede en el PC, por lo menos no directamente desde eVB. Con un sencillo programa en eVC se puede hacer esto, pero eso no es el tema de ahora.

ActiveSync

Activesync es el programa que permite sincronizar los datos de nuestro PDA o Pockect PC con el PC de escritorio, permite también instalar los programas en el Pocket. En este momento se encuentra en su versión 3.7 y se puede bajar de forma gratuita del sitio de Microsoft y viene en el CD que acompaña a los Pocket PC.

Instalación de las eVT.

Se puede instalar las eVT en Windows 98 SE, Windows NT 4 en sus versiones Servidor o Workstation, Windows 2000, Windows XP y Windows Server 2003. Si desea probar los programas directamente en su PC utilizando un emulador que viene con las eVT, debe obligatoriamente instalarlas en Windows NT Workstation como mínimo.

Ejecutar eVB

Para ejecutar eVB nos vamos al boton de Inicio -> Programas -> Microsoft eMbedded Visual Tools -> Embedded Visual Basic 3.0, o hacemos clic en el icono si lo tenemos en el escritorio del computador.

A continuación vemos la pantalla de inicio al ejecutar eVB:

Podemos apreciar en el panel de la parte inferior los diferentes tipos de proyectos que podemos desarrollar con eVB. Para este caso concreto existen 4 iconos, en los que se puede apreciar que podemos crear proyectos para Windows CE Palm-Size (Son PDA del mismo estilo de los Pocket PC, pero con sistema operativo Windows CE 2.11), Windows CE HPC Pro (Handheld PC Profesional, este tipo de dispositivos son los que tienen teclado un ejemplo de estos dispositivos son las Jornadas 720 de HP). Y proyectos de Windows Pocket PC 2002. La cantidad y tipo de estos iconos dependen de los SDK (Software Development Kit) que hayamos instalado en nuestro PC, en este momento existe una versión de SDK para Pockect PC 2000 y una versión del SDK para Pocket PC 2002 que es la ultima versión específica para eVB

Además con la aparición del nuevo sistema operativo Windows CE .NET, para el cual también existe su correspondiente Compact FrameWork for Windows CE .NET (Entorno de desarrollo para Plataforma .NET), este esta en su versión 2003. Este nuevo SDK se llama SDK for Windows Mobile 2003-based Pocket PCs. Este nuevo SDK ya es de uso exclusivo para la plataforma .NET y su correspondiente Compact FrameWork .NET que seria la contraparte de los PCs.

Para poder desarrollar bajo la plataforma .NET necesitamos el Visual Studio .NET 2003 en el cual viene incluido el Compact FrameWork .NET. Es de anotar que esta herramienta no es gratis. Para desarrollar para Pocket PC .NET solo podemos hacerlo en VB.NET, en C# y en ASP.NET teniendo en cuenta que el código de ASP.NET puede ser VB.NET o C# (C Sharp).

Existe un software gratuito para desarrollar en VB.NET y C# para PC Sharp Develop (www.icsharpcode.net) pero aun no puedo decirles si se podría utilizar para aplicaciones Pocket PC .NET.

Bueno continuemos con lo nuesto:

En esta pantalla escogemos el tipo de proyecto a trabajar y presionamos el botón Open para abrir o crear el proyecto propiamente.

Como se puede apreciar aparecen dos “solapas”, Existing y Recent para abrir un proyecto que ya exista.

Nosotros escogeremos Windows CE for Pocket PC 2002 como tipo de proyecto, y se nos abrirá el ambiente para empezar con nuestro trabajo.

Voy a asumir que tienen conocimientos en Visual Basic 5.0 o 6.0 y haré algunas analogías entre uno y otro. Como podemos apreciar en la grafica el ambiente de desarrollo es Visual Basic! Pues esa es una de las grandes ventajas, no es extraño el ambiente ya que lo conocemos de Visual Basic para PC, tenemos la barra de herramientas a la izquierda, la del explorador de proyectos a la derecha y arriba y la de propiedades a la derecha y abajo. Al centro nuestra primera forma.

Los controles que aparecen en la barra de herramientas son los controles intrínsecos a eVB. Aquí en este punto cabe anotar que no podemos trabajar con clases en este ambiente, que los controles, a pesar de ser los mismos que para PC tienen restricciones en sus propiedades, métodos y eventos. Esto debido a que eVB es una mezcla de VBA y VBScript, sin embargo podemos desarrollar aplicaciones FUNCIONALES en este ambiente.

Muy bien entonces :

Vamos a configurar nuestro proyecto: vamos al menú y en opción Project hacemos clic, y en el submenú escogemos la opción Properties..., allí nos va a mostrar la siguiente pantalla:

Aquí colocamos el nombre de nuestro proyecto, una descripción de lo que hace nuestro proyecto, en que directorio en el handheld va a quedar localizado.

A medida que vayamos utilizando cada uno de los diferentes controles los iremos explicando en la mejor forma posible.

Muy bien ... empecemos con nuestro primer proyecto:

Entremos a eVB, escogemos Windows CE for Pocket PC 2002 como tipo de proyecto, clic en el boton Open y nos aparecerá una forma en blanco para empezar.

Coloquemos dos controles TextBox en la forma un control CommandButton y un listbox, el la siguiente figura aparece como se vera nuestro proyecto en tiempo de diseño.

Hacemos clic sobre la barra de titulo de la forma y vamos a la ventana de Propiedades, en la parte derecha inferior de la pantalla, aquí buscamos la propiedad Name de la forma, que esta en la parte superior de las propiedades, aquí le vamos a poner nombre a nuestra forma, este nombre se reflejara dentro del proyecto y también en el nombre del archivo que se guarda en el disco. El nombre que le vamos a dar a nuestra forma es frmProg1.

Haga clic sobre el textbox denominado Text1, busquemos en la ventana de propiedades la propiedad Name y cambiémosla por txtNombre, luego busquemos la propiedad Text del mismo y borremos el “Text1” que aparece por defecto en esta propiedad. Esta propiedad es una de las ultimas de la lista.

Igual vamos a hacer para el segundo TextBox, en donde el nombre sera txtApellido.

El Botón los vamos a llamar cmdAgregar, para esto en su propiedad Name vamos a cambiarla, y en la propiedad Caption ( o sea el mensaje a mostrar) vamos a colocar Agregar.

Ahora vamos a acceder al código de un evento, un evento ocurre después de una acción, esta acción puede ser el clic del mouse, el doble clic, etc.

Vamos a hacer clic sobre el botón cmdAgregar

eVB nos va a mostrar la pantalla de código, por defecto el evento para un CommandButton es el evento CLICK, como podemos apreciar en la grafica, el combo que aparece en el circulo rojo muestra o lista todos los objetos (nuestros controles) que estén en la forma activa, y el combo del circulo azul mostrara todos los eventos que soporta ese objeto. El evento OKClick de la forma que aparece en la grafica es el botón OK de la parte superior derecha de la pantalla y con el cual cerramos o terminamos la aplicación.

Nuestro código quedara de la siguiente manera:

Private Sub cmdAgregar_Click()

List1.AddItem txtNombre.Text & " " & txtApellido.Text

End Sub

Aquí lo que estamos haciendo es agregando una nueva lista al control List que se llama List1.

Ahora ya hemos completado nuestro primer proyecto en eVB, algo sencillo pero un abrebocas de todo lo que podemos realizar con esta sencilla herramienta de desarrollo para Pocket PC. Solo nos queda ejecutar nuestro proyecto.

Antes verifiquemos el destino o target en donde se va a ejecutar nuestra aplicación, si tenemos un Pocket, debemos tenerlo sincronizado y verificar que la opción escogida de la lista que aparece en la grafica es la que dice “Default device”, si no entonces “Emulation” y se ejecutara en el emulador.

En la barra de herramientas que aparece en la grafica siguiente presionamos el botón de ejecución que se encuentra encerrado en un circulo rojo en la grafica.

Esto ejecutara nuestro proyecto en la pantalla :

A continuación vemos una captura de la aplicación ejecutándose en el emulador de Pockect PC 2002.