Le premier site francophone dédié au développement Pocket PC


Guide eVB (partie 1)
 
   


Partie 1
Partie 2
Partie 3
Partie 4
Partie 5
Partie 6

Embedded Visual Tools ou eVT pour les intimes

Cela fait déjà quelques temps que Microsoft propose des produits permettant de développer sur les plateformes dérivées de Windowd CE. Il y a encore peu de temps, ces outils étaient des extensions destinées à Visual Basic et à Visual C++. Il fallait donc posséder ces environnements de développement pour accéder au développement Windows CE.

Il y a quelques temps, Microsoft a édité "Embedded Visual Tools". Ce package est composé d'un environnement de développement "Embedded Visual Basic" et "Embedded Visual C++", et de 3 SDK (System Development Kit), celui des Pocket PC, des Handheld PC et celui des Palm Size PC (3 enfants de Windows CE).

Ce Package est gratuit, totalement gratuit, et tous les programmes que vous pouvez écrire avec lui sont libres de droits au niveau de leur distribution. Vous pouvez télécharger eVT depuis le site de Microsoft ou encore en faire la demande par téléphone (frais de ports à votre charge soit moins de 50 Francs). Vous trouverez l'adresse où télécharger eVT dans la page de liens de .

Embedded Visual Basic ou eVB pour les intimes

Embedded Visual Basic c'est un peu trop long à dire, alors quand on parle de ce langage, on dit eVB (prononcez iVB). Nous allons apprendre à l'utiliser et vous verrez, c'est un langage très simple à comprendre et qui, avec un peu de travail et de temps, permet de faire énormément de choses.

Le principe du Runtime

eVB ne génère pas des programmes directement exécutables (contrairement à eVC++, l'autre langage fourni dans les eVT). eVB génère des fichiers dont l'extension est ".vb". Ces fichiers sont en fait des scripts, assez bien optimisés, qui savent manipuler des fenêtres et certains éléments de l'interface graphique des systèmes supportés (Pocket PC, Handheld PC et PalmSize PC).

Ces fichier .vb sont en fait reliés (comme un document word .doc est relié à word.exe) à un programme qui est chargé d'interpréter les commandes qu'ils contiennent. Ce programme "pvbload.exe" utilise des DLLs pour fonctionner (vbscript.dll par exemple). Le Runtime eVB est présent directement dans la ROM (ou la Flash) du système, mais eVB est capable (nous verrons plus tard comment) de transférer des mises à jour des différentes parties du Runtime.

Comme les fichiers .vb sont relié à pvbload.exe, ils héritent de l'icone de ce programme, et ainsi, tous les programmes eVB ont la même icône pour les représenter.

Il existe bien un moyen pour que votre programme eVB ait sa propre icône, mais il faut pour cela utiliser eVC++ et ce n'est pas simple (du moins au début). Pour le moment, cette histoire d'icône n'est pas une priorité.

ActiveSync

ActiveSync est le programme qui permet à votre PC et à votre PDA Windows CE de communiquer. C'est lui qui permet la synchronisation des données et aussi c'est grâce à lui que les langages eVB et eVC++ téléchargent les programmes sur votre PDA. En un mot, ActiveSync est indispensable. Si vous ne l'avez pas encore fait, installez le sans plus attendre, en version 3.5 de préférence car c'est la dernière version et de loin la plus stable.

L'installation des eVT

eVT est fourni sur deux CD. L'un permet l'installation des environnements de développement (eVC et eVC++ avec leurs documentations, en anglais biensûr), l'autre permet d'installer les SDKs. Il suffit de suivre les instruction à l'écran pour effectuer une installation dans de bonnes conditions.

Vous pouvez installer tout cela sous Windows 98 SE, Windows NT 4, Windows 2000 et biensûr Windows XP, mais l'émulateur, qui permet de tester les programmes directement sur votre PC de développement ne fonctionnera pas sous Windows 98 SE. Une message d'avertissement vous prévient de ça pendant l'installation.

Si vous ne développez que sur Pocket PC, je vous conseille de n'installer que le SDK Pocket PC, vous gagnerez pas mal de place sur votre disque dur.

Note : Toute la suite de ce tutorial ne fera référence qu'aux Pocket PC mais 99% des infos seront valables pour les Handheld PC et les PalmSize PC.

Vous trouverez la procédure complète d'installation des eVT dans l'article de notre ami Rémi Thomas qui traite des premiers pas avec eVC++, n'hésitez pas à le lire.

Lancement de eVB

Pour lancez eVB, vous n'avez qu'à le selectionner dans le menu démarrer->Programmes->Microsoft Embedded Visual Tools->Embedded Visual Basic.

eVB se lance et affiche son IDE (interface de développement) :

eVB vous propose alors de créer un nouveau projet (Window CE Formless Project et Windows CE for the Pocket PC project), de charger un projet déjà existant (Existing) ou encore de charger un projet qui fait partie des derniers que vous avez chargé (Recent).

Il existe 2 grands types de projets. Tout d'abord vous avez les projets classiques qui utilise au moins une fenêtre (Windows CE for the Pocket PC project) et les projets où aucune fenêtre n'est créée (Windows CE Formless Project).

Les projets sans fenêtre sont assez rares et sont utilisé pour créer des programmes eVB sans interface, un peu comme des services.

Nous allons travailler avec des projets classiques, et donc double cliquer sur l'icône "Windows CE for the Pocket PC project"

Nous nous retrouvons dans l'environnement de développement de eVB avec un nouveau projet Pocket PC créé (mais rien n'est encore sauvegardé sur votre disque dur).

Le premier réflexe que vous devez avoir est de donner un nom à votre projet (car project1 ça ne veux rien dire), et stipuler une destination d'enregistrement sur votre Pocket PC pour que eVB puisse copier au bon endroit vos fichiers .vb lors des essais que vous aurez forcément à réaliser.

Donner un nom à votre projet

Pour donner un nom à votre projet, il vous faut modifier ses propriétés. Pour cela, vous devez choisir dans le menu "Project->Project 1 properties", ce qui affiche la boite de dialogue des propriétés du projet :

Vous devez donner à votre projet un nom. Ce sera à la fois le nom logique de votre application (au niveau de eVB) mais aussi le nom qu'elle utilisera lors de son exécution sur votre Pocket PC. Pour notre exemple nous allons utiliser "Tutorial" comme nom de projet.

Personnellement, j'utilise pour mes développements le dossier \DVLP sur mon Pocket PC. Je sais que tous les programmes eVB en cours de développement sont dans ce dossier. Chaque programme possède son propre dossier sous \DVLP. Il faut aussi donner dans le champ "Remot path" le nom du fichier .vb qui sera généré. Personnellement j'utilise exactement le nom du projet, comme ça, pas de confusion entre le nom du projet, son dossier de travail, et le nom du programme correspondant.

Donc, en toute logique nous allons modifier le chemin par défaut (qui ne prend pas en compte le fait que sur nos Pocket PC français le dossier ne s'appelle pas "Start Menu" mais "Menu Démarrer") par "\DVLP\Tutorial\Tutorial.vb"

Le combo "Fréquency" permet de dire à eVB qu'a chaque téléchargement sur le Pocket PC (pour tests) il doit vérifier que tout est bien installé, tant au niveau du Runtime qu'au niveau des éventuels fichiers complémentaires nécessaire au bon fonctionnement de votre application (nous verrons plus loin la notion de contrôles et de fichiers de ressources). Ce combo peut prendre 3 valeurs :

Ask eVB vérifie et vous demande l'autorisation d'effectuer la mise à jour si besoin.
Always eVB vérifie et effectue la mise à jour sans votre accord.
Never eVb ne vérifie rien et tant pis si il manque des composants sur la machine cible.

Nous allons donc laisser "Ask" comme réglage car, même si il fait perdre un peu de temps lors des transferts, il permet une sécurité très importante lorsqu'on débute. Nous verrons plus tard comment nous en passer, et surtout quand nous en passer.

Après ces quelques manipulations, que je vous conseille de faire à chaque création de projet eVB, nous pouvons remarquer que les infos ont bien été prises en compte :

Notre projet s'appelle bien "Tutorial" maintenant.

Donner un nom à votre fenêtre de démarrage

Comme pour le projet, eVB donne un nom par défaut à la fenêtre de démarrage. Il l'appelle à chaque fois "Form1". Là aussi, je ne peux que vous conseiller de changer ce nom par quelque chose de plus explicite. Personnellement, j'utilise pour la feuille principale de mes projets eVB le nom de "FormMain".

Pour changer le nom de la feuille il suffit de la sélectionner (cliquez sur le fond de la fenêtre "Form1") et de modifier la propriété "Name" dans la fenêtre des propriétés :

Voilà, nous pouvons maintenant commencer à créer notre interface. Pour "Tutorial" nous allons créer un programme qui va permettre la saisie du nom et du prénom d'une personne. Ces 2 informations seront ensuite placées dans une liste lorsqu'on cliquera sur un bouton. C'est très simple vous allez voir.

Les contrôles standards

Avant de créer tous les éléments de notre fenêtre il faut qu'on parle un peu des contrôles. Un contrôle est le nom générique que l'on donne à tout ce que l'on peut poser dans une fenêtre. Ce peut être une zone de saisie, un bouton, une liste, etc...

Lorsque vous créez un projet eVB, vous avez à votre disposition une série de contrôles qui sont disponibles sans opération particulière. Se sont les contrôles standard de eVB et on les sélectionne depuis une boite à outils.

Pour créer notre premier programme nous allons donc utiliser 2 TextBox (zone de saisie), 1 ListBox (liste) et 1 CommandButton (bouton).

Pour placer un contrôle sur la feuille, il suffit de bien sélectionner la feuille (en cliquant sur le fond de la feuille) puis en double cliquant sur le contrôle que l'on souhaite intégrer à la feuille. A vous ensuite de le placer exactement où vous voulez avec la souris et les poignées de redimensionnement.


Une fois que nos contrôles sont à la bonne place et à la bonne grandeur nous devons donner à chacun un nom explicite et modifier quelques propriétés.

Tout d'abord, nous allons modifier le texte de notre bouton de commande. Nous allons remplacer "Command1" par "Ajouter". Pour cela, il faut selectionner le contrôle en cliquant une seule fois dessus (les poignées de sélection se dessinent) et ensuite modifier dans la fenêtre des propriétés la propriété "Caption" en remplaçant "Command1" par "Ajouter". Automatiquement, eVB applique la modification et vous pouvez constater que maintenant le bouton affiche "Ajouter" comme texte. Pendant que nous travaillons sur le bouton, nous allons modifier sa propriété "Name" en remplaçant "Command1" par "BOU_Ajouter" (BOU_ pour Bouton, encore une de mes petites habitudes).

Nous allons ensuite passer sur le contrôle Text1 et modifier sa propriété Text en y plaçant une chaine vide et sa propriété Name en y plaçant "TXT_Nom".

 


Nous effectuons la même opération avec Text2 que nous appellons "TXT_Prenom", de la même manière que pour Text1. Pour terminer, nous modifions la propriété "Name" de la liste en remplaçant "List1" par "LST_Personnes".

Pour terminer, nous modifions la propriété "Caption" de la feuille "FormMain". Pour que la fenêtre des propriétés affiche les infos de "FormMain" il suffit de cliquer dans le fond de la fenêtre "FormMain" (ailleurs que sur un contrôle). Vous pouvez ensuite modifier la propriété "Caption" et y placer la valeur "Tutorial".

Bien, nous avons maintenant une interface propre avec des contrôles dont les noms veulent dire quelque chose.

A se stade, nous pouvons enregistrer notre travail en cliquant sur l'icone de la disquette sous le menu, ou en choisissant dans le menu "File->Save project". Vous pouvez taper [ctrl] S, ça marche aussi. Comme c'est la première fois que l'on enregistre le projet, eVB nous demande où placer les fichiers qui le composent. Je vous conseil de créer un dossier qui porte le nom de votre application (ici Tutorial) pour y placer tout le projet. Un projet bien rangé est un bon projet (si si).

Notre projet se compose pour le moment de 2 fichiers. Le fichier de projet lui même (tutorial.ebp) et la feuille "FormMain" (formmain.ebf). Pour réouvir plus tard ce projet, il vous suffira d'ouvrir le fichier de projet pour que eVB retrouve tous les éléments constitutifs.

Conclusion de cette première partie

Nous savons déjà créer un nouveau projet et le paramétrer correctement, ajouter des contrôles à la fenêtre principale de notre application et en modifier les propriétés. Dans la prochaine partie nous allons ajouter du code en réponse à un événement, ce qui nous permettra de découvrir ce qu'est la programmation événementielle.

 

Stéphane Sibué

 
       
   
 
   
Copyright 2001-2004 - Tous droits réservés
 
   

iPAQ est un produit de COMPAQ.
Visual Tools est un produit de Microsoft Corporation.
Toutes les autres marques et produits présents dans ces pages sont la propriété exclusive de leurs sociétés respectives.