Outils de développement : HB++ partie 1
Par Pascal, mercredi 1 octobre 2003 à 16:23 :: Palm OS :: #68 :: rss
Développer des programmes sous Palm OS...
L'environnement Palm OS suscite bien des vocations, et la plus noble à mes yeux est sans nul doute celle de pouvoir écrire soi-même les programmes que l'on a envie de voir fonctionner sur sa propre machine.
Il arrive souvent que ces programmes une fois stabilisés et documentés se retrouvent sur les sites de téléchargement et rejoignent les quelques 13.000 autres softwares de Palmgear.
Arrivé à ce point, le développeur dispose de plusieurs modes de distribution de son programme :
- commercial par l'intermédiaire d'un éditeur
- shareware (commercial avec période de test)
- freeware (gratuit) avec ou sans le code source (GNU-GPL).
Ce sera soit le succès, soit le flop, mais revenons quelques jours, semaines, mois ou années en arrière, lors de la conception...
Pour mettre en place son idée sur le Palm, il faut nécessairement un ou plusieurs outils de développement communément appelés "langages de programmation".
Dans un article sur PalmGaulois, j'ai dressé une liste des outils disponibles à l'époque.
Je vous confiais ma préférence pour un outil abordable techniquement mais malheureusement assez onéreux : Satellite Forms.
Il faut toutefois admettre que ce dernier, de par l'utilisation d'un runtime, ne compilait qu'un P-Code et n'était donc pas du tout performant en calcul.
En mai 2002, lors du PalmSource à la Defence, je me faisais remettre sur un CD une pré-version, la version 0.99 Alpha de HB, version encore buguée mais très prometteuse.
Quinze mois plus tard, le 2 août 2003, Peter Homes présentait officiellement un nouvel outil sur le marché :
HB++ Version 1.0
HB pour Handheld-Basic et ++ pour l'orientation objet.
Ce programme est un vrai compilateur : il produit des "PRC" autonomes sans runtime.
Il dispose d'une interface qui permet de dessiner les écrans de l'application et d'associer aux objets (boutons, textes, barre de progression... ) des segments de programme liés et réagissant aux événements.
Le nom "Basic" provient essentiellement de la facilité à aborder le langage mais n'est en rien péjoratif quant à la puissance même du produit.
Reprenant des concepts de son cousin, Visual Basic (Microsoft tm), il adopte, dans un souci de confort, un ensemble de comportements permettant au développeur sous VB de passer de l'un à l'autre sans buter aux raccourcis claviers ou à l'interface proprement dite.
Le résultat produit est assez fabuleux, rapide et clair. Grâce à des modules de classe, il est possible de réaliser des fonctions complexes en quelques lignes.
A partir de cet article, je vais vous montrer comment utiliser ce langage.
Si vous n'êtes pas initié à la programmation, je vous recommande de consulter d'abord cet article, histoire de voir les bases, ne serait-ce que le vocabulaire de programmeur employé ici.
HB se présente sous la forme d'un programme Windows comprenant différents éléments :
- Le menu
- La barre d'outils
- L'écran du Palm (Forms)
- La liste des objets (Forms, Module, Class, Images, Fichiers, Tables)
- La liste des propriétés des objets
- L'écran de "contrôle" (debugging) ainsi que d'autres éléments que nous verrons progressivement.
Bon fini le bla bla et passons à l'action.
Une carte de visite électronique...
Pour votre premier programme, nous allons fabriquer ensemble une petite carte de visite électronique que vous pourrez beamer à d'autres utilisateurs...
Pour commencer, laissons-nous guider par l'assistant (wizard)
- Lancez HB
- Et à l'ouverture du programme, cliquez sur "Minimal Project"
|
"Blank Project" signifie que vous démarrez
directement le programme sans vous faire assister.
"Minimal Project" va vous assister à l'aide de plusieurs écrans (1 à 3) qui vont rapidement paramétrer l'application. |
|
--(1/3)--
|
- indiquez le nom du programme : "Toto", pour être original ;) - indiquez l'endroit où le projet va être enregistré - le Creator ID (la signature du programme), si vous ne savez pas, laissez "ZZZZ" - cliquez sur NEXT (suivant) |
|
--(2/3)--
|
| rien à faire, cliquez sur NEXT |
|
--(3/3)--
|
- cochez simplement "Beaming [x] Handle beaming by Asking User" - cliquez sur FINISH Nous reviendrons ultérieurement sur les "Standard" et "Notifications" |
Ca ne paraît pas comme ça, mais notre programme est déjà bien avancé !
Dans la fenêtre de projet, déroulez l'arborescence "Forms" en cliquant sur le [+] et double-cliquez sur "FrmMain"

Cliquez sur l'image pour voir le résultat
Nous allons à présent modifier quelque peu notre interface.
| Avant |
| Après (de haut en bas, de gauche à droite): -1) Déplacement du bouton "Beam" pour l'amener au même niveau que le titre -2) Clic sur l'outil "image" et dépose sur l'écran -3) Descente de la zone "Field1" -4) Ajout d'un ascenseur -5) en vert : paramétrage des propriétés de l'objet Field1. --- sélectionner le "Field1" dans l'écran d'interface. Puis dans l'écran "Properties", modifiez les lignes : Underline = False SingleLine= False Scrollbar=Scrollbar1 Tout ceci supprimera les lignes du champ, permettra d'avoir plusieurs lignes (un paragraphe en fait) et de lier le défilement de ce paragraphe à l'ascenceur. |
Maintenant, vous allez préparer un dessin ou une photo d'une taille approchant le quart de l'écran standard (80x80 pixels, 256 couleurs) enregistrez-le au format BMP.
Vous placerez ce dessin dans le même répertoire que le projet.
Ce dessin vous servira de logo ou de photo pour votre carte de visite.
Pour l'exemple, j'ai pris le logo de PDACool qui fait 80x40 pixels. Il se nomme "logopdacool.bmp".
| Placez-vous sur l'explorateur d'objets (c'est ainsi que l'on nomme l'arbre de droite) |
![]() |
|
Cliquez sur le bouton droit de la souris et sélectionnez " Add Files...". Sélectionnez le fichier image que vous avez préparé. Il doit impérativement être en 8 bits (256 couleurs). |
|
---
|
Cliquez sur le champ"Picture1". Dans l'explorateur, sur la ligne "image", cliquez sur le bouton à droite Sélectionnez la famille "Photo" et votre logo devrait apparaître dans la fenêtre de prévisualisation. |
Dernière étape : ajout de quelques lignes de code.
Mettez votre message à l'intérieur des guillemets du code, noter que & chr(10) force un renvoi à la ligne suivante. Pensez également à modifier la ligne ir.connect "toto.prc" pour pouvoir beamer ce programme. |
|
Private
Sub cmdBeam_Click()
|
Pour tester le programme sur l'émulateur...
- Appuyez sur F5
- Pour compiler votre programme appuyer sur F7, vous pouvez l'installer sur
votre machine.
NB : pensez à installer l'émulateur sur votre PC
et vérifiez que le chemin pour y accéder est correct.
Vous pouvez télécharger le projet tout fait ici [x]
HB++ est commercialisé au prix 990
Euro HT.
Sachez qu'au regard de ses concurrents et de ses capacités, il est le
moins cher et le plus rapide.
Pour les applications professionnelles, il est possible d'acquerir séparément HB++ PalmServer et la license PalmSQL, les outils
nécessaires à la synchronisation multiple sur un serveur.
Ces outils seront expédiés gratuitement aux personnes enregistrées avant le 19/10/2003
dès que la documentation sera terminée. pour les autres un complément sera demandé (qui n'est pas encore défini sur le site)
|
HB++
|
AppForge
|
Satellite Forms
|
|
| IDE, Compilateur+ Conduit |
990 €
|
949 $
|
995 $
|
| Applications Serveur |
en sus
|
/
|
89$ par utilisateur
|
| Support : forum privé, forum public, Knowledge Base, email |
x / - / x / x
|
- / x / - / -
|
- / x / x / $
|
| Mise à jour |
gratuite
|
?
|
?
|
Une version d'évaluation est disponible sur le site handheld-basic.com
.
Il n'y a aucune limitation fonctionnelle ou temporelle, seul un écran
de rappel (Nag Screen) arrivera sur le programme du Palm indiquant qu'il s'agit
d'une version d'évaluation et que vous ne pouvez pas la commercialiser.
HB++ allie la facilité de programmation d'un langage et d'une interface
de développement similaire à Visual Basic®, la puissance d'un
vrai compilateur et des fonctionnalités avancées de bases de données.
Il est pourvu de douzaines de classes qui encapsulent la majorité des
fonctions spécifiques de Palm OS® depuis les transferts par infrarouge,
la gestion des cartes mémoires, un SGBD embarqué restant compatible
avec le format natif des bases Palm OS, les appels des API du SDK Palm OS ainsi
que du code ARM, un debugger complet, un générateur de conduits
et des outils de connectivité de BDD.
HB++ permet de créer des applications sur mesure pour Palm OS® 3.0 jusqu'à 5.3. Cela inclut les Palm III, Palm IIIx, V, VII, les séries m5xx, les Tungsten T, la famille Zire, IBM Workpad, Sony Clié, Qualcomm 1900, Symbol Technologies® SPT15XX / 17XX / 18XX...
Sur le site de l'éditeur, vous trouverez une dizaine d'exemples, un forum (en anglais) pour vos questions ou vos avis (commentaires de cet article par exemple)
Autres articles








