Autoformation Windev Mobile Express 20
Autoformation Windev Mobile Express 20
Autoformation Windev Mobile Express 20
Version d’évaluation
Visitez régulièrement le site www.pcsoft.fr, espace actualités pour vérifier si des mises à jour
sont proposées.
Conseil : Pour recevoir directement des mises à jour intermédiaires et des conseils d’utilisa-
tion, abonnez-vous à la LST (revue trimestrielle + DVD), en français.
Tous les noms de produits ou autres marques cités dans cet ouvrage sont des marques déposées par leurs propriétaires respectifs.
© PC SOFT 2015 : Aucune reproduction intégrale ou partielle du présent ouvrage sur quelque support que ce soit ne peut être effec
tuée sans l’autorisation expresse de PC SOFT.
Sommaire
Licence
Introduction
Préliminaires...........................................................................................................................................................15
Présentation du cours d’auto-formation...............................................................................................................15
Comment accéder à l’aide en ligne ?....................................................................................................................16
Légende des symboles............................................................................................................................................19
Si vous connaissez WinDev Mobile 19 ..................................................................................................................19
Que fait-on avec WinDev Mobile ?..........................................................................................................................19
Conclusion
Le LOGICIEL désigne le droit d’utilisation du logiciel WinDev Mobile, dans cette version de dé-
monstration (appelée également Version Express, Version d’évaluation ou Version limitée).
L’EVALUATEUR représente la personne (physique ou morale) installant et / ou utilisant le logiciel.
Une APPLICATION désigne un programme ou un ensemble de programmes réalisé avec le LOGI-
CIEL.
1. Version Express
Ce LOGICIEL est proposé ici dans une version de "démonstration".
Cette version de démonstration est exclusivement destinée au test de ses fonctionnalités, et/ou à
une utilisation par des étudiants d’un établissement reconnu par l’Etat pendant la durée de leurs
études, en dehors de toute utilisation commerciale, partielle ou totale.
De nombreuses fonctionnalités sont bridées, limitées ou différentes de la version "commerciale".
Pour créer des applications destinées à être utilisées, il est nécessaire d’acquérir et d’utiliser une
version "commerciale" et non cette version de démonstration et de test.
Il est strictement interdit de créer en totalité ou en partie une ou des applications dans un autre
but que le TEST du LOGICIEL ou la réalisation de Travaux Pratiques dans le cadre d’études.
L’utilisation des applications créées dans un but autre que le test de courte durée est interdite.
Toute utilisation autre que l’essai du logiciel, et/ou une utilisation pour une durée supérieure à
celle autorisée, constitue une utilisation illégale qui donnera lieu à des poursuites.
Il est interdit de dupliquer et diffuser ce logiciel, même dans cette version de démonstration, sans
l’accord écrit de PC SOFT.
2. Licence
Ce LOGICIEL doit être utilisé sur une et une seule machine par une et une seule personne à un
instant donné. Le LOGICIEL est déclaré utilisé dès qu’il se trouve en "mémoire centrale" (égale-
ment appelée RAM) d’un ordinateur.
Ce LOGICIEL ne peut être utilisé que pour la durée autorisée.
3. Propriété du logiciel
Ce logiciel est la propriété de PC SOFT. L’EVALUATEUR a simplement le droit d’utiliser ce LOGICIEL
selon les conditions définies.
4. Documentation
La duplication de la documentation, en totalité ou en partie, est strictement interdite.
6. Absence de responsabilité
Le LOGICIEL et la documentation qui l’accompagne sont fournis en l’état, SANS AUCUNE GARAN-
TIE D’AUCUNE SORTE. PC SOFT ne saurait être tenu pour responsable pour tout dommage de
quelque nature que ce soit, et en particulier en cas de perte ou détérioration des données, en
cas de perte financière, en cas de perte d’exploitation, en cas de divergence des informations
contenues dans la documentation avec le comportement du LOGICIEL, en cas de comportement
du LOGICIEL différent de celui attendu. L’EVALUATEUR est seul et unique responsable du fonction-
nement et du support des programmes qu’il aura réalisé avec le LOGICIEL.
7. Cas particuliers
7.1 Composant TomTom
Si le LOGICIEL est accompagné du composant TomTom, il est précisé que la société TomTom dé-
tient les droits du logiciel TomTom. Le composant TomTom peut être utilisé uniquement avec une
licence valide du Navigateur TomTom.
7.2 Fonctionnalités liées à des services
Avertissement : avant d’utiliser une fonctionnalité reliée à des services ou des applications, et
en particulier à Google, nous vous conseillons vivement de vous reporter à la licence d’utilisation
de ce service ou de cette application. Certaines restrictions peuvent s’appliquer. Le contenu des
licences peut varier avec le temps.
PC SOFT dégage toute responsabilité de l’usage qui peut être fait des fonctions d’accès natif. Il
vous appartient de vérifier que l’usage que vous faites respecte la licence du fournisseur du ser-
vice.
Acceptation de la licence :
Le fait de conserver et d’utiliser ce logiciel indique la compréhension et l’acceptation des termes
de cette licence.
Ce contrat ne peut pas être modifié, sauf par un courrier original paraphé de la direction générale
de PC SOFT.
Ce contrat de licence est régi par le droit français; tout litige qui pourrait en résulter sera de la
compétence exclusive des tribunaux du siège social de PC SOFT.
PC SOFT,
3, rue de Puech Villa
BP 44 408
34197 Montpellier Cedex 5
France
Préliminaires
Attention : Ce manuel est un cours d’auto-formation. Il est conseillé de consulter l’aide en ligne
lorsque vous utilisez WinDev Mobile.
Le manuel du cours d’auto-formation a pour objectif de vous faire découvrir WinDev Mobile, de
vous familiariser avec les éditeurs et de vous apprendre les concepts de WinDev Mobile. Ce ma-
nuel n’est PAS exhaustif des possibilités de WinDev Mobile.
Ce manuel est destiné aux développeurs connaissant déjà WinDev standard. Ce manuel pré-
sente uniquement les concepts spécifiques au développement d’une application pour mobile
(fonctionnant sous Android, iPhone, iPad, Windows Mobile, Windows Phone, ...).
Si vous ne connaissez pas WinDev standard, nous vous conseillons de commencer votre appren
tissage par le guide d’auto-formation de WinDev standard.
Remarque : Pour recevoir le guide d’auto-formation de WinDev standard, un simple appel au ser
vice commercial de PC SOFT suffit.
Consacrez au moins quelques heures pour suivre ce cours et pour apprendre WinDev Mobile :
vous les rentabiliserez vite !
WinDev Mobile évoluant en permanence, les images des fenêtres illustrant le cours peuvent être
différentes des fenêtres affichées par le produit lors des différentes manipulations.
dows Phone.
Pour plus de détails, consultez l’aide en ligne.
• le contenu de l’aide : aide commune à WinDev, WebDev et WinDev Mobile ou aide du pro-
duit en cours d’utilisation.
Un exemple est disponible pour compléter le cours. Les exemples sont disponibles
dans le volet "Assistants, Exemples et Composants" de WinDev Mobile.
Ce symbole présente une "Astuce" : la lecture du texte associé est vivement conseillée.
WinDev Mobile est un environnement de développement complet qui intègre tous les outils néces-
saires au cycle de réalisation d’une application.
Présentation
WinDev Mobile
22 Partie 1 : Présentation WinDev Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 1.1. Découvrez WinDev Mobile
Durée estimée : 10 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : Présentation WinDev Mobile 23
Présentation
WinDev Mobile est un AGL (Atelier de Génie Logiciel) complet permettant de développer des appli-
cations Android, iOS, Windows Phone, Windows Mobile, ... dans de nombreux domaines : gestion,
industrie, médical, restauration, ... Les applications développées peuvent inclure l’accès à des
informations stockées dans des bases de données.
Tout au long de ce cours d’auto-formation, vous allez apprendre à créer vos applications (avec ou
sans base de données), et à les enrichir en utilisant les nombreuses fonctionnalités proposées
par WinDev Mobile.
24 Partie 1 : Présentation WinDev Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Environnement de développement
L’éditeur
L’environnement de développement de WinDev Mobile est constitué d’une interface spécifique et
de plusieurs éditeurs permettant de créer les différents éléments de vos applications.
Ainsi, l’éditeur de fenêtres permet de créer des fenêtres, l’éditeur d’états permet de créer des
états, ...
Tous les éditeurs utilisent le même environnement :
1. Menu des éditeurs, affiché sous forme de ruban (nous allons voir sa manipulation dans le para-
graphe suivant).
2. Editeur en cours (ici, éditeur de fenêtres). Cet espace permet de visualiser de manière WY-
SIWYG (What You See Is What You Get) l’élément en cours de création ou de modification.
3. Volets. L’interface de WinDev Mobile dispose de plusieurs volets permettant d’accéder rapide-
ment à différents types d’informations.
Quelques exemples :
• Le volet "Explorateur de projet" (ici, affiché à droite) permet de lister tous les éléments du projet
par catégorie.
• Le volet "Assistant, Exemples et Composant" (ici, en bas) permet d’accéder rapidement à des
exemples complets, des fenêtres d’exemples, des champs facilement intégrables dans vos ap-
plications.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : Présentation WinDev Mobile 25
Si nécessaire, ces volets peuvent être cachés rapidement en utilisant la combinaison de touches
[CTRL] + [W].
4. Barre des documents ouverts. Cette barre permet de visualiser rapidement tous les éléments
ouverts. Un simple clic sur le bouton correspondant à l’élément l’affiche dans son propre éditeur.
26 Partie 1 : Présentation WinDev Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
La zone des volets
Les différents volets du ruban permettent d’accéder aux options des différents éditeurs pour le
projet en cours. Plusieurs types de volets sont disponibles :
• le volet en cours : Le nom du volet en cours est affiché sur un fond blanc et un trait orange est
affiché au-dessus du nom.
• les volets contextuels, spécifiques à l’élément en cours : Le nom du volet est affiché en orange.
• les volets disponibles : Le nom du volet apparaît en blanc.
En fonction du volet sélectionné, les options affichées dans le ruban diffèrent. Plusieurs types
d’options sont disponibles :
• Options à cocher,
• Boutons à cliquer,
• Boutons à flèche permettant de dérouler des options. Deux types de boutons à flèche sont dis-
ponibles :
• les boutons à flèche permettant uniquement de dérouler un menu
• les boutons à flèche permettant soit de dérouler un menu (clic sur la flèche), soit d’effectuer
une action par défaut (clic sur l’icône du bouton).
Les options sont regroupées par groupe. Chaque groupe d’options a un nom et peut avoir un bou-
ton de regroupement . Ce bouton permet d’effectuer une action spécifique selon le groupe en
cours : affichage de la description de l’élément en cours, affichage de l’aide, ...
Dans ce cours, pour désigner une option de menu, nous parlerons donc de volets et de groupes.
Par exemple :
Pour afficher l’aide, sous le volet "Accueil", dans le groupe "Aide en ligne", cliquez sur "Aide".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 1 : Présentation WinDev Mobile 27
28 Partie 1 : Présentation WinDev Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 2
Application
Android
30 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 2.1. Mon premier projet Android
• Configuration nécessaire
• Créer un projet Android
• Ma première fenêtre
• Mon premier test
• Premier déploiement
Durée estimée : 1 h
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 31
Présentation
Pour commencer à utiliser WinDev Mobile, nous allons simplement créer un premier projet. Ce
projet contiendra une fenêtre permettant d’afficher un message.
Ce premier exemple permettra de présenter rapidement les bases du développement avec Win-
Dev Mobile.
Mais avant de créer notre premier projet pour Android, une configuration du poste de développe-
ment est nécessaire.
Création du projet
Nous allons créer notre premier projet pour Android.
Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé
32 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
2. Dans la fenêtre de bienvenue, cliquez sur "Créer un projet" puis sur "Application Android".
3. L’assistant de création de projet se lance. Les différents écrans de l’assistant vont vous
aider à créer votre projet. Tous les renseignements indiqués dans cet assistant pourront être
modifiés par la suite.
Astuce : Autre méthode pour créer un projet :
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev
Notes
Mobile.
2. La fenêtre de création d’un nouvel élément s’affiche : cliquez sur "Pro-
jet".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 33
7. L’assistant propose de paramétrer le répertoire du SDK Android. Seul le répertoire racine
des différentes versions des plateformes Android est nécessaire.
Note : Le chemin du SDK indiqué est mémorisé pour tous les projets futurs.
8. Passez à l’écran suivant.
9. L’assistant propose de choisir le type d’appareils Android concernés par le projet :
• Parc d’appareils hétérogènes,
• Appareil unique et précis.
10. Dans cet exemple, nous allons choisir un appareil spécifique. Sélectionnez l’option "Géné-
rer une application pour un appareil unique précis" et passez à l’écran suivant.
11. Choisissez l’appareil à utiliser pour le développement de votre application dans la liste
Choisissez un des appareils proposés dans la liste (par exemple "Samsung Galaxy S3").
Passez à l’écran suivant.
12. Dans la partie gauche de l’assistant, cliquez sur "Chartes". Cette étape permet de définir
la charte de programmation utilisée. Ne modifiez pas les options proposées. Passez à l’écran
suivant à l’aide des flèches situées en bas.
13. Vous allez maintenant définir la charte graphique. Sélectionnez "ActivAndroid 4-HoloLight".
14. Les autres étapes de l’assistant n’étant pas importantes pour notre premier projet, dans
la partie gauche de l’assistant, cliquez directement sur "Fin".
15. Cliquez sur le bouton de validation en bas de l’assistant. Le projet est automatiquement
créé. WinDev Mobile affiche les différentes actions possibles.
16. Cliquez sur "Editeur de WinDev Mobile".
34 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Ma première fenêtre
Présentation
La première fenêtre que nous allons créer permet à l’utilisateur d’afficher un message de bienve-
nue grâce au bouton "Afficher".
Vous pouvez être tenté de dire que c’est trop simple, trop basique, mais nous vous conseillons de
réaliser cette fenêtre. Vous risquez d’être surpris par la facilité et l’intuitivité de l’éditeur de Win-
Dev Mobile. De plus, cette fenêtre vous permettra de découvrir des concepts fondamentaux pour
la suite de ce cours et de voir tout le processus de développement d’une application Android avec
WinDev Mobile.
Création de la fenêtre
2. La fenêtre de création d’un nouvel élément s’affiche. Cette fenêtre permet de créer tous les
éléments pouvant être associés à un projet.
3. Cliquez sur "Fenêtre" puis sur "Fenêtre". L’assistant de création d’une fenêtre s’affiche.
4. Sélectionnez "Vierge" dans la liste des fenêtres affichée sur la gauche. Dans la liste des ga-
barits présente sur la droite, le gabarit "ActivAndroid 4-HoloLight" est sélectionné par défaut.
Vous pouvez choisir un autre gabarit proposé dans la liste.
gabarit définit le look de la fenêtre mais également le look de tous les champs
qui seront utilisés dans cette fenêtre. Ainsi, aucune faute de goût n’est possible.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 35
Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide. Au premier
enregistrement, une fenêtre spécifique s’affiche. Cette fenêtre propose de saisir :
• le titre de l’élément : saisissez "Bienvenue". Dans notre cas, ce titre sera affiché dans la
barre de titre de la fenêtre.
• le nom de l’élément qui correspond au nom de la fenêtre. Ce nom sera utilisé en program-
mation. Par défaut, ce nom est composé de "FEN_" qui correspond à la charte de program-
mation et de "Bienvenue" qui correspond au titre de la fenêtre que vous venez de saisir.
Observez bien le nom de la fenêtre que WinDev Mobile propose par défaut : ce
nom commence par les lettres "FEN_". Ce préfixe est automatiquement ajouté
car le projet utilise une charte de programmation.
La charte de programmation permet de définir un préfixe pour chaque type d’ob-
jet et ainsi d’identifier rapidement l’élément manipulé :
Note
• l’emplacement qui correspond au nom du fichier créé pour la fenêtre. La fenêtre est un fi-
chier d’extension "WPW", enregistré dans le répertoire du projet.
Validez l’enregistrement de la fenêtre en cliquant sur le bouton vert.
Affichage d’un message
Vous allez maintenant créer un bouton permettant d’afficher un message.
Pour créer le bouton "Afficher" :
1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur . Le bouton apparaît
en création sous la souris.
2. Déplacez la souris dans la fenêtre vers la position où le champ doit être créé (par exemple
en haut de la fenêtre). Pour poser le champ dans la fenêtre, il suffit de cliquer dans la fenêtre.
3. Faites un clic droit de la souris sur le champ que vous venez de créer. Le menu contextuel
du champ apparaît. Dans ce menu contextuel, sélectionnez l’option "Description". La fenêtre
de description du bouton s’affiche.
36 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Modifiez les caractéristiques du champ en saisissant les informations suivantes :
Remarque sur l’aide à la saisie : Dès la saisie des deux premiers caractères, WinDev Mobile pro-
pose tous les mots du vocabulaire WLangage contenant ces caractères. L’assistance au dévelop-
pement est poussée très loin. Vous ne pouvez plus vous tromper en saisissant le nom d’un élé-
ment : les erreurs de syntaxes sont minimisées. Il suffit de sélectionner le mot désiré et de valider
par la touche [ENTREE]. Vous pourrez ainsi vous concentrer sur l’algorithme.
En saisissant ce code sous l’éditeur de code, vous constatez que les différents
éléments saisis utilisent des couleurs différentes. C’est la coloration syntaxique.
L’éditeur de code permet ainsi d’identifier rapidement les différents éléments
manipulés par le code :
• les fonctions du WLangage apparaissent en bleu,
Notes
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 37
La fonction Info affiche le message passé en paramètre.
Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide ou en
utilisant la combinaison de touches [CTRL]+[S].
Fermez l’éditeur de code (croix en haut à droite de l’éditeur de code). La fenêtre réapparaît.
Premier test
Pour une application Android, WinDev Mobile permet de tester directement l’application sur le
poste de développement grâce au mode simulation. Ce test réalise une simulation d’un périphé-
rique Android sur le poste de développement. Ce test est utile quand le développeur ne dispose
pas de périphérique Android. Cependant, ce test ne permet pas d’utiliser les composants maté-
riels de l’appareil (GPS, SMS, appareil photo, ...).
38 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Tout développeur sait que tester un programme est souvent long, voire fastidieux. Avec
WinDev, en UN CLIC, vous testez la fenêtre, l’état, ou la procédure que vous êtes en train de
réaliser. C’est à la fois simple et rapide !
Cliquez sur le bouton "x" situé dans la coque du simulateur pour fermer la fenêtre.
L’éditeur de WinDev Mobile réapparaît.
Premier déploiement sur l’appareil
Principe
Pour exécuter l’application de manière autonome sur l’appareil Android, il suffit de :
• Connecter l’appareil via un port USB.
• Générer l’application.
• Sélectionner votre appareil à la fin de la génération. La copie de l’application peut prendre
quelques secondes.
Nous allons voir en détail ces différentes étapes.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 39
Mise en place
40 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
9. Passez à l’écran suivant. Cet écran permet d’intégrer des librairies spécifiques. Conservez
les options par défaut.
10. Passez à l’écran suivant. Cet écran permet de définir les permissions de l’application. Par
défaut, selon les fonctions WLangage utilisées dans l’application, WinDev Mobile détecte les
permissions nécessaires.
11. Passez à l’écran suivant. Cet écran permet de restreindre le téléchargement de l’applica-
tion sur Google Play store aux matériels disposant des fonctionnalités utilisées. Dans notre
exemple, nous n’utiliserons pas cette possibilité. Conservez les options par défaut.
12. Passez à l’écran suivant. Cet écran permet de configurer les options du SDK Android.
Conservez les options par défaut.
13. Passez à l’écran suivant. Le dernier écran de l’assistant permet d’indiquer si l’application
doit être directement copiée et exécutée sur l’appareil relié au poste ou sur un émulateur.
Notes
Si cette option est cochée, un nouvel écran apparaît permettant de sélectionner le périphé-
rique d’exécution :
Voilà, notre première application est générée et exécutée sur le périphérique Android.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 41
Leçon 2.2. Interface (IHM)
42 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
Le système Android est disponible aussi bien sur des téléphones que sur des tablettes. WinDev
Mobile permet de créer simplement des interfaces s’adaptant au matériel utilisé.
Orientation de la fenêtre
Sous Android, une fenêtre peut avoir une des orientations suivantes :
• Bloquée en mode portrait,
• Bloquée en mode paysage,
• Libre : la fenêtre suit l’orientation du matériel.
Cette orientation est définie dans l’onglet "Détail" de la fenêtre de description de la fenêtre (option
"Description" du menu contextuel de la fenêtre).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 43
Dans les deux premiers cas, aucune manipulation spécifique n’est nécessaire.
Dans le cas d’une fenêtre libre, la disposition des champs et leur taille doivent s’adapter à l’orien-
tation. Il faut utiliser le mécanisme de l’ancrage pour obtenir un résultat satisfaisant.
Exemple pratique
Ouvrez si nécessaire le projet "Mon_Projet_Android" que vous venez de créer dans la leçon
précédente.
Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé
Dans notre exemple, le projet a été créé pour un téléphone, et nous l’avons testé en mode portrait
sous le simulateur.
Nous allons maintenant le tester en mode paysage sous le simulateur.
Lancez le test du projet ( parmi les boutons d’accès rapide).
1. La fenêtre apparaît en mode portrait.
2. Dans le simulateur, cliquez sur la flèche dans la coque ( ).
3. La fenêtre change d’orientation à l’écran.
4. Dans notre exemple, le bouton ne change pas de place : il ne s’adapte pas à l’orientation
de l’écran.
Nous allons maintenant modifier notre fenêtre pour que le bouton "Afficher" soit centré dans
la fenêtre et reste centré quelle que soit l’orientation du mobile.
Arrêtez le test et revenez sous l’éditeur.
44 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour centrer le bouton dans la fenêtre :
1. Sélectionnez le bouton (clic sur le bouton).
2. Sous le volet "Alignement", dans le groupe "Centrage et répartition", cliquez sur "Centrer
dans le parent (horz)".
Pour que le bouton reste centré dans la fenêtre, nous allons utiliser l’ancrage du champ :
1. Sélectionnez le bouton (clic sur le bouton).
2. Affichez le menu contextuel (clic droit).
3. Sélectionnez l’option "Ancrage" : la fenêtre de définition des ancrages apparaît :
Gestion du tactile
Un des aspects importants de l’interface d’une application mobile est la gestion de l’écran tactile.
Un dispositif "multi-touch" est une technique permettant à une personne d’interagir avec un maté-
riel informatique à l’aide de plusieurs points de contact.
L’une des applications la plus courante du multi-touch est la manipulation d’images. La taille de
l’affichage sur un téléphone étant souvent réduite, il est souvent nécessaire de zoomer et / ou de
se déplacer dans une image.
Il est ainsi possible de réaliser un zoom sur une image avec le contact de 2 doigts qui s’écartent.
Pour gérer le "multi-touch", WinDev Mobile propose :
• Différentes options spécifiques disponibles dans le champ Image.
• Des fonctions WLangage spécifiques.
• Des traitements optionnels spécifiques.
Pour plus de détails, consultez l’aide en ligne.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 45
Exemple pratique
Ouvrez si nécessaire le projet "Mon_Projet_Android" que vous venez de créer dans la leçon
précédente.
Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé
46 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
12. Pour ne plus avoir cette erreur d’IHM, désactivez les ascenseurs de la fenêtre :
• Affichez la fenêtre de description de la fenêtre (option "Description" du menu contextuel).
• Dans l’onglet "Détail", décochez l’option "Ascenseurs automatiques".
• Validez la fenêtre de description.
13. Enregistrez la fenêtre (clic sur parmi les boutons d’accès rapide). L’erreur d’IHM dis-
paraît.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 47
Leçon 2.3. Bases de données
48 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Les bases de données disponibles
Présentation
Sous Android, deux types de bases de données sont disponibles :
• HFSQL (mode Classic et mode Client/Serveur).
• SQLite.
HFSQL Client/Serveur
En mode HFSQL Client/Serveur, aucune donnée n’est stockée sur le matériel. Les données sont
stockées sur une machine sur laquelle est installé un serveur HFSQL.
Pour accéder à cette machine et donc à la base de données, il est nécessaire d’avoir activé
un moyen de communication avec le serveur dans l’application mobile (Wi-Fi ou 3G) afin de se
connecter via le réseau ou Internet.
Les temps de réponse vont bien entendu dépendre de la qualité du réseau Wi-Fi ou Internet et du
volume des données demandées.
L’accès aux données se fera à l’aide des fonctions WLangage Hxxx et/ou de requêtes SQL.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 49
La synchronisation
Le mécanisme de synchronisation permet de "synchroniser" les données stockées sur un matériel
mobile avec les données stockées sur un serveur. La synchronisation utilise le mécanisme de la
"réplication universelle".
Cette technique est disponible aussi bien en WinDev, WebDev et WinDev Mobile.
Dans ce cas, l’appareil mobile doit disposer d’une connexion Wi-Fi ou 3G pour se connecter au
Webservice.
L’application mobile n’accède pas en direct à la base de données. L’application appelle des fonc-
tions du Webservice. Ces fonctions retournent les données.
C’est le Webservice qui accède à la base de données.
Cette technique permet par exemple d’avoir une couche métier (le Webservice) commune à plu-
sieurs types d’applications et d’interfaces (WinDev, WebDev ou WinDev Mobile) et différents types
de systèmes d’exploitation (Windows, Android, iOS, ...)
50 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 2.4. Programmation avancée
Durée estimée : 1 h
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 51
Présentation
Dans cette leçon, nous allons réaliser une application Android utilisant une base de données
HFSQL Classic.
Cette application va nous permettre de détailler plusieurs points spécifiques de la programmation
Android.
Ouverture du projet
Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.
Ouvrez le projet "Android Gestion Produits".
Pour cela, dans la fenêtre de bienvenue, cliquez sur "Cours d’auto-formation" et sélectionnez
le projet "Gestion de Produits Android (Exercice)".
Astuce : si la fenêtre de bienvenue n’est pas affichée, il est possible sous le volet "Accueil",
dans le groupe "Aide en ligne" de dérouler l’option "Guide d’Auto-formation" puis de sélection-
ner l’option "Gestion de Produits Android (Exercice)".
Un projet corrigé est disponible. Ce projet contient les différentes fenêtres créées
Corrigé
dans cette leçon. Pour ouvrir le projet corrigé, sous le volet "Accueil", dans le
groupe "Aide en ligne", déroulez l’option "Guide d’auto-formation" puis sélection-
nez "Gestion de Produits Android (Corrigé)".
Description du projet
Examinons notre projet de départ. Ce projet est un projet déjà créé. Il ne contient aucune fenêtre.
Il contient uniquement l’analyse décrivant les fichiers de données HFSQL Classic que nous allons
utiliser. Dans le répertoire EXE, les fichiers de données correspondants sont fournis avec des
données pour réaliser les différents tests.
Pour visualiser l’analyse associée au projet :
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev Mobile.
2. L’éditeur d’analyses s’affiche.
52 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3. Cette analyse est composée de 3 fichiers de données :
• Un fichier "Produit", qui contient la description du produit : nom, prix, quantité, ...
• Un fichier "Caractéristique", qui contient les différentes caractéristiques du produit. Par
exemple, si le produit est un t-shirt, ses caractéristiques correspondront à la taille, la cou-
leur, ... Le fichier "Caractéristique" est donc lié au fichier "Produit".
• Un fichier "Magasin", qui contient pour chaque magasin, ses coordonnées GPS.
4. Fermez l’éditeur d’analyses (cliquez sur la croix en haut à droite de l’éditeur).
Nous allons maintenant commencer le développement de notre application.
Création de la fenêtre
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 53
Création du champ Zone répétée
Pour afficher la liste des produits, nous allons utiliser un champ de type "Zone Répétée". Dans ce
champ, les principales informations sur les produits vont être affichées.
Pour créer le champ "Zone répétée" :
1. Sous le volet "Création", dans le groupe "Données", déroulez "Zone répétée" et sélectionnez
"Zone répétée (verticale)". Le champ apparaît sous la souris.
2. Cliquez dans la fenêtre à la position où le champ doit être créé (par exemple en haut).
L’assistant de création d’un champ Zone répétée se lance.
3. Dans l’assistant, sélectionnez l’option "Afficher des données provenant d’un fichier ou
d’une requête". Passez à l’écran suivant.
4. Sélectionnez le fichier "Produit". Passez à l’écran suivant.
5. Sélectionnez les rubriques à afficher :
6. Conservez les rubriques "Nom", "Description" et "Prix" (une coche doit être présente devant
ces rubriques). Passez à l’écran suivant.
7. Conservez la rubrique de tri proposée (IDProduit). Les produits seront triés dans le champ
Zone répétée suivant cette rubrique. Passez à l’écran suivant.
8. Dans l’écran "Paramètres supplémentaires", conservez les options par défaut. Passez à
l’écran suivant.
9. Conservez le nom par défaut "ZR_Produit" et validez.
10. Un message concernant la gestion des ascenseurs de la fenêtre apparaît.
En effet, la fenêtre comme le champ Zone répétée possèdent chacun leur propre ascenseur.
Il y a donc un conflit. Un seul ascenseur doit être activé. Il est préférable :
• de désactiver l’ascenseur de la fenêtre car la fenêtre a une taille fixe,
• de garder actif l’ascenseur du champ Zone répétée.
54 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Le défilement vertical (scrolling vertical) se fera dans le champ Zone répétée et non dans la fe-
nêtre. Ainsi, il sera possible d’avoir des champs au dessus ou en dessous du champ Zone répé-
tée sans que ceux-ci ne défilent.
11. Cliquez sur "Désactiver l’ascenseur automatique". Le champ Zone répétée apparaît
sous l’éditeur de fenêtres. Par défaut, le champ Zone répétée s’adapte automatiquement à
l’espace disponible dans la fenêtre.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 55
Améliorations de la fenêtre
Comme vous avez pu le constater lors du test, les champs créés dans le champ Zone répétée
dépassent de cette zone. Nous allons modifier la taille des champs.
Pour modifier la taille du champ "Nom" :
1. Sélectionnez le champ "Nom".
2. Réduisez la taille du champ à l’aide de poignées pour qu’il soit totalement affiché dans la
fenêtre.
3. Répétez les opérations pour le champ "Description".
Nous avons vu dans la leçon précédente, l’importance des ancrages. Nous allons tout de suite
appliquer un ancrage au champ Zone répétée que nous venons de créer afin qu’il soit automati-
quement redimensionné en fonction de l’orientation de l’écran.
Pour ancrer le champ Zone répétée :
1. Sélectionnez le champ Zone répétée.
2. Affichez le menu contextuel du champ (clic droit) et sélectionnez l’option "Ancrage".
3. Dans la fenêtre qui s’affiche, sélectionnez l’option .
4. Validez. Les flèches rouges indiquant les options d’ancrage apparaissent dans la fenêtre.
Testez la fenêtre pour visualiser le résultat.
• Cliquez sur parmi les boutons d’accès rapide.
• Modifiez l’orientation de la fenêtre.
• Fermez le simulateur pour revenir sous l’éditeur.
Notre fenêtre est terminée.
Création de la fenêtre fiche
Maintenant, nous allons créer une nouvelle fenêtre servant à afficher la fiche du produit. Ensuite,
cette fenêtre sera lancée depuis la liste des produits pour afficher le détail du produit sélectionné.
Création de la fenêtre
Pour créer les différents champs de saisie affichant les informations sur le produit :
1. Affichez le volet "Analyse" si nécessaire : sous le volet "Accueil", dans le groupe
"Environnement", déroulez "Volets" et sélectionnez "Analyse". Les différents fichiers de
données décrits dans l’analyse "Android Gestion Produits" apparaissent dans le volet.
56 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
2. Sélectionnez à l’aide de la souris les rubriques du fichier "Produit" affichées dans le volet
(sauf la rubrique "IDProduit").
3. Effectuez un "Drag and Drop" (glisser/déplacer) de ces rubriques vers la fenêtre que vous
venez de créer.
4. Modifiez la taille des champs ("Nom", "Code-barres", "Date de réappro.", "Description") afin
qu’ils soient visibles dans la fenêtre.
5. Réorganisez les champs dans la fenêtre. Respectez l’ordre suivant : "Photo", "Nom", "Prix",
"Quantité", "Code-barres", "Date de réappro.", "Description".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 57
Testez la fenêtre ( parmi les boutons d’accès rapide). La fenêtre apparaît avec tous les
champs vides.
Pour afficher les données du produit :
1. Affichez les traitements associés à la fenêtre :
• Dans la zone à côté de la fenêtre, faites un clic droit de souris.
• Dans le menu contextuel qui s’affiche, sélectionnez "Code".
• L’éditeur de code apparaît.
2. Dans le traitement "Fin d’initialisation de FEN_Fiche_du_produit", saisissez le code suivant :
FichierVersEcran()
La fonction FichierVersEcran permet d’afficher dans les champs les données présentes dans le
fichier de données, pour l’enregistrement en cours.
3. Fermez la fenêtre de code.
4. Enregistrez la fenêtre.
2. Faites un clic droit sur le champ Zone répétée et dans le menu qui s’affiche, sélectionnez
l’option "Code".
3. Dans la fenêtre de code qui apparaît, saisissez le code suivant dans le traitement "Sélec-
tion d’une ligne de ..." :
OuvreFenêtreMobile(FEN_Fiche_du_produit)
Laissez-vous guider par l’assistance à la saisie de code : dès que vous allez ta-
per la parenthèse ouvrante "(", une liste déroulante va s’ouvrir proposant le nom
de toutes les fenêtres existantes dans le projet. Il suffit de sélectionner la fenêtre
Notes
au clavier ou à la souris.
Si vous ne trouvez pas le nom de la fenêtre que vous cherchez dans la liste, c’est
que celle-ci n’a pas été sauvegardée précédemment.
4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Testez la fenêtre à nouveau sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris.
• La fenêtre de détail du produit s’affiche.
Fermez le simulateur.
58 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Gestion de la création et de la modification d’un produit
Nous allons maintenant modifier nos deux fenêtres afin de gérer l’ajout et la modification d’un
produit.
Pour certains types de champs, WinDev Mobile propose une liste de champs
prédéfinis. Ces champs sont des champs avancés, configurés pour effectuer une
Notes
action spécifique.
Par exemple, le bouton "Annuler" proposé par la liste des champs prédéfinis
contient le code nécessaire à son exécution.
3. Cliquez sur "Annuler" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas à
droite de la fenêtre pour créer le bouton.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 59
Nous allons ensuite ajouter le bouton "Valider" sur le même principe, mais en personnalisant
le look de ce bouton.
1. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
2. La liste des boutons prédéfinis s’affiche.
3. Cliquez sur "Bouton" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas de
la fenêtre pour créer le bouton (à gauche du bouton "Annuler").
4. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Valider" et appuyez à nouveau sur la touche [ENTREE] du clavier.
5. Redimensionnez si nécessaire le bouton (à l’aide des poignées) pour que le libellé s’affiche
complètement dans le bouton.
Pour personnaliser le look de ce bouton :
1. Sélectionnez le bouton "Valider" : il suffit de cliquer dessus.
2. Affichez le menu contextuel (clic droit) puis sélectionnez l’option "Choisir un style".
3. Chaque gabarit propose des styles pour les boutons usuels : validation, annulation, créa-
tion, ... Ici, choisissez le style "BTN_Ok".
60 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
• La fonction HModifie permet de mettre à jour les données du fichier pour l’enregistrement
courant.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lors de la fermeture de la fiche du produit, il est nécessaire de rafraîchir le contenu de la liste
des produits présente dans la fenêtre "FEN_Liste_des_produits" pour prendre en compte les
modifications réalisées dans la fiche. Il suffit pour cela d’utiliser le traitement "Fermeture
d’une fenêtre fille" de la fenêtre "FEN_Liste_des_produits".
1. Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres.
2. Faites un clic droit sur le fond de la fenêtre et dans le menu qui s’affiche, sélectionnez
l’option "Code". Dans le traitement "Fermeture d’une fenêtre fille", saisissez le code suivant :
ZoneRépétéeAffiche(ZR_Produit)
Examinons ce code :
• Le traitement "Fermeture d’une fenêtre fille" est exécuté à chaque fois qu’une fenêtre fille
de la fenêtre en cours est fermée. Dans notre cas, il est donc exécuté lorsque la fenêtre
"FEN_Fiche_du_produit" est fermée.
• La fonction ZoneRépétéeAffiche permet de mettre à jour les données du champ Zone répé-
tée de la fenêtre "FEN_Liste_des_produits".
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lancez le test de la fenêtre "FEN_Liste_des_produits" sous le simulateur ( parmi les
boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris : par exemple, le pro-
duit "Polo Hibbicus Bleu" au prix de 25,90 euros.
• La fenêtre de détail du produit s’affiche. Modifiez le prix de 25,90 euros et saisissez
19,90 euros puis ensuite cliquez sur le bouton "Valider".
• De retour sur la liste des produits, vous pouvez constater que le prix de cet article a été mis
à jour.
Fermez le simulateur. L’éditeur de WinDev Mobile est affiché.
Création d’un nouveau produit
Le principe de la création d’un produit va être le suivant :
• Dans la fenêtre de la liste des produits, nous allons ajouter une option de menu "Nouveau pro-
duit" qui va permettre d’ouvrir la fenêtre "Fiche du produit".
• Nous modifierons ensuite le code de la fenêtre "Fiche du produit" pour gérer l’ajout dans le
fichier de données Produit.
Pour ajouter un menu dans la liste des produits :
1. Affichez si nécessaire la fenêtre "FEN_Liste_des_produits" sous l’éditeur.
2. Sous le volet "Fenêtre", dans le groupe "Barres et menus", déroulez "Menu principal" et
sélectionnez "Ajouter le menu principal".
3. Un menu avec une option est rajouté en haut de la fenêtre. Cette option se nomme "Menu".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 61
4. Nous allons modifier cette option :
• Faites un clic gauche sur l’icône du menu : les options du menu sont affichées.
• Faites un clic droit sur l’option "Menu" pour afficher le menu contextuel.
• Sélectionnez "Description de l’option". La fenêtre de description apparaît.
• Modifiez le nom de l’option (qui devient "OPT_NouveauProduit") et son libellé (qui devient
"Nouveau Produit"). Validez la fenêtre de description.
5. Le code de cette option va permettre d’ouvrir la fenêtre "Fiche du produit", en mettant ses
champs à vide. Pour saisir ce code :
• Faites un clic droit sur l’option.
• Dans le menu contextuel qui s’affiche, sélectionnez l’option "Code".
• Dans le traitement "Sélection du menu", saisissez le code suivant :
HRAZ(Produit)
OuvreFenêtreMobile(FEN_Fiche_du_produit)
La fonction HRaz initialise les variables des rubriques du fichier de données "Produit" avec les
valeurs par défaut pour gérer un nouvel enregistrement.
6. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
7. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Maintenant, nous allons modifier la fenêtre de la fiche du produit pour gérer l’ajout d’un
nouvel enregistrement.
1. Affichez la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Nous allons modifier le code du bouton de validation :
• Faites un clic droit sur le bouton "Valider" puis sélectionnez l’option "Code" dans le menu
contextuel.
• Dans le traitement "Clic sur", remplacez le code par le code suivant :
EcranVersFichier()
SI Produit..NouvelEnregistrement ALORS
HAjoute(Produit)
SINON
HModifie(Produit)
FIN
Ferme()
62 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Examinons ce code :
• La propriété ..NouvelEnregistrement permet de savoir si l’enregistrement en cours doit être
créé.
• Si la fonction HRaz a été appelée précédemment, la propriété renvoie Vrai (cas du clic sur
"Nouveau produit") et l’enregistrement doit être créé par la fonction HAjoute.
• Dans le cas contraire, l’enregistrement en cours existe déjà et doit être modifié par la fonc-
tion HModifie.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres et lancez son test
sous le simulateur ( parmi les boutons d’accès rapide).
• Cliquez sur le bouton "Menu", puis sélectionnez "Nouveau Produit".
• Saisissez un nouveau produit.
• Validez. Le nouveau produit apparaît dans la liste des produits.
• Fermez le simulateur.
Déploiement de l’application
Si vous possédez un matériel Android, vous pouvez tester le fonctionnement de l’application sur
votre mobile. Il suffit de générer l’application et de l’installer sur le mobile connecté au PC.
Nous allons tout d’abord définir la première fenêtre qui sera lancée par l’application, puis générer
l’application.
Pour définir la première fenêtre du projet :
1. Sélectionnez la fenêtre "FEN_Liste_des_produits" dans l’explorateur de projet.
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre du projet". Une icône spécifique (avec un petit 1)
apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Pour générer l’application Android :
1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).
2. L’assistant de génération d’une application Android se lance. Conservez les options par
défaut. A l’aide des boutons fléchés au bas de l’écran, allez jusqu’à l’écran "Intégration de
fichiers" en conservant les options par défaut. Pour notre exemple, des fichiers de données
HFSQL préremplis sont disponibles. Nous allons les livrer avec l’application. Dans ce cas, il est
nécessaire de les indiquer dans l’écran "Intégration de fichiers".
3. Cliquez sur le bouton "Ajouter" en bas de l’écran. Dans le sous-répertoire "EXE" du projet,
sélectionnez :
• les fichiers de données HFSQL (*.fic, *.ndx, *.mmo).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 63
• la base SQLite (fichier android_gestion_produits.db). Cette base de données sera utilisée
uniquement si la version d’Android installée sur le matériel est inférieure à 3.2 (version mi-
nimale pour HFSQL).
4. Pour chaque fichier, cochez la case "Ecriture" (nécessaire pour pouvoir modifier les données
depuis l’application).
Si vous possédez un matériel utilisant Android 3.2 minimum, vous pouvez cocher l’option "In-
tégrer les librairies HFSQL dans l’application".
6. Validez les écrans suivants jusqu’à l’écran "Configuration". Cet écran permet de configurer
les options du SDK Android. Si vous avez choisi d’intégrer la librairie HFSQL, il est nécessaire
de vérifier que la version minimale pour exécuter l’application est bien "Android 3.2" au mini-
mum. Si ce n’est pas le cas, un message d’avertissement apparaît dans l’assistant.
Dans notre exemple, une base de données au format SQLite est fournie.
Notes
Cette base sera utilisée par défaut si la version d’Android est inférieure à
3.2.
7. Le dernier écran de l’assistant permet d’indiquer si l’application doit être directement co-
piée et exécutée sur l’appareil relié au poste ou sur un émulateur. Si cette option est cochée,
un nouvel écran apparaît permettant de sélectionner le périphérique d’exécution. Sélection-
nez le matériel connecté au PC.
8. Vous pouvez tester l’application sur votre mobile Android.
64 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Utilisation de l’appareil photo et affichage d’une image
Présentation
Nous allons gérer la photo du produit en utilisant l’appareil photo du matériel.
Pour cela, nous allons :
• créer un bouton pour lancer l’appareil photo. La photo sera récupérée sous la forme d’une
image en mémoire et affichée dans le champ Image du produit.
• créer un bouton permettant de sélectionner une photo dans l’album du mobile.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 65
5. Dans la zone de recherche en haut, saisissez le mot "photo", puis sélectionnez le thème
"Android Holo" et validez. Plusieurs images apparaissent :
Prise de photo
Nous allons saisir maintenant le code pour prendre une photo et l’afficher dans le champ Image
de la fiche produit.
Pour gérer la prise de photo :
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Saisissez le code suivant dans le traitement "Clic sur" :
// Variable locale
sPhoto est une chaîne
// On lance l’appareil photo
sPhoto = VidéoLanceAppli(viCaptureImage)
SI sPhoto <> “” ALORS
IMG_Photo = sPhoto
FIN
Dans ce code, la fonction VidéoLanceAppli permet de lancer l’application caméra native de l’ap-
pareil afin d’enregistrer une vidéo ou de prendre une photo.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
66 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Sélection d’une photo dans l’album de photos
Nous allons ajouter un bouton pour sélectionner une des photos existantes dans l’album de l’ap-
pareil et l’associer au produit.
Pour créer le bouton de sélection de la photo, nous allons simplement faire un "Copier - Col-
ler" du bouton de prise de photo que nous venons de créer :
1. Sélectionnez le bouton "BTN_AppareilPhoto" que vous venez de créer.
2. Utilisez la combinaison de touches [CTRL] + [C] : le bouton est copié dans le presse-papiers.
3. Utilisez la combinaison de touches [CTRL] + [V] : le curseur de la souris se transforme et
l’ombre du bouton apparaît sous le curseur.
4. Cliquez dans la fenêtre à côté du bouton "BTN_AppareilPhoto" : le nouveau bouton est auto-
matiquement créé.
5. Affichez la fenêtre de description du bouton (double-cliquez sur le champ) :
• Donnez un nom au bouton : "BTN_Album_Photo".
• Sélectionnez une image dans le catalogue d’images.
6. Validez la fenêtre de description.
Le code de ce bouton permet d’ouvrir l’album photo de l’appareil et de sélectionner une
image pour l’afficher dans le champ Image de la fiche produit.
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Remplacez le code du traitement "Clic sur" par le code suivant :
// Variable locale
sPhoto est une chaîne
// On lance la sélection
sPhoto = AlbumSélecteur(albumImage)
SI sPhoto <> “” ALORS
IMG_Photo = sPhoto
FIN
Dans ce code, la fonction AlbumSélecteur permet de récupérer la photo sélectionnée dans l’al-
bum photo.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Déploiement de l’application
Si vous possédez un matériel Android, vous pouvez tester le fonctionnement de l’appareil photo
sur votre mobile. Il suffit de générer l’application et de l’installer sur le terminal mobile connecté
au PC.
car il utilise des ressources matérielles qui ne sont pas accessibles en mode
Simulation.
Le déploiement n’est pas obligatoire : vous pouvez déployer l’application une
seule fois à la fin du cours pour voir toutes les fonctionnalités directement sur le
mobile.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 67
Pour déployer directement l’application Android :
1. Parmi les boutons d’accès rapide, déroulez et sélectionnez l’option "Tester le projet (ap-
pareil mobile)".
2. WinDev Mobile génère automatiquement l’archive Android correspondant à l’application
avec les options sélectionnées lors de la dernière génération.
3. A la fin de la génération, l’application est automatiquement copiée sur l’appareil connecté
au poste de développement.
4. Vous pouvez tester l’application sur votre mobile Android.
Présentation
Le fichier de données "Produit" contient une rubrique "Code_Barres". Cette rubrique permet de
stocker la valeur d’un code-barres. Certains matériels (notamment ceux qui possèdent un appa-
reil photo) peuvent scanner un code-barres pour récupérer sa valeur.
Nous allons gérer le code-barres grâce à l’appareil photo du matériel mais aussi en utilisant une
fonction spécifique du WLangage.
Mise en place
68 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Le code de ce bouton permet de scanner le code-barres.
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Saisissez le code suivant dans le traitement "Clic sur" :
// Variable locale
cb est un CodeBarres
// Lancement du scan
cb = CBCapture()
SI cb..Contenu <> “” ALORS
SAI_Code_barres = cb..Contenu
FIN
Dans ce code, la fonction CBCapture permet de décoder les informations stockées dans un
code-barres en utilisant la caméra de l’appareil.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Création de la fenêtre
Tout d’abord, nous allons créer une nouvelle fenêtre et lui ajouter un champ de type Carte.
Pour créer la fenêtre :
1. Créez une nouvelle fenêtre vierge. Cliquez sur parmi les boutons d’accès rapide. La fe-
nêtre de création d’un élément s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre". Dans l’assis-
tant, choisissez "Vierge" et validez.
2. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Carte des magasins". Son nom est
automatiquement proposé : "FEN_Carte_des_magasins". Validez.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 69
4. Cliquez sur "Désactiver l’ascenseur automatique". Le champ Carte apparaît sous l’éditeur
de fenêtres.
5. Affichez la fenêtre de description du champ "Carte" (double-clic sur le champ par exemple).
6. Dans la fenêtre de description du champ, indiquez le nom du champ "CARTE_Magasin" et
validez.
7. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
// Variables globales
gMarqueur est un Marqueur
// On charge les magasins
POUR TOUT Magasin
// Coordonnées du marqueur
gMarqueur.Position.Latitude = Magasin.Latitude
gMarqueur.Position.Longitude = Magasin.Longitude
// Nom du marqueur
gMarqueur.Nom = Magasin.Nom
// Ajout du marqueur
CarteAjouteMarqueur(CARTE_MAGASIN,gMarqueur)
FIN
// Zoom par défaut
CARTE_MAGASIN..Zoom = 7
CarteAffichePosition(CARTE_MAGASIN,gMarqueur.Position)
70 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lancez le test de la fenêtre "FEN_Carte_des_magasins" sous le simulateur ( parmi les
boutons d’accès rapide). Fermez ensuite le simulateur.
Déploiement de l’application
Si vous possédez un matériel Android, vous pouvez tester le fonctionnement du champ Carte sur
votre mobile. Il suffit de générer l’application et de l’installer sur le terminal mobile connecté au
PC.
Définissez la première fenêtre du projet (la première fenêtre qui sera lancée à l’exécution de
l’application).
1. Sélectionnez la fenêtre voulue dans l’explorateur de projet : dans notre exemple "FEN_Carte_
des_magasins".
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre du projet". Une icône spécifique (avec un petit 1)
apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Pour générer l’application Android :
1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).
2. L’assistant de génération d’une application Android se lance. Conservez les options par
défaut. A l’aide des boutons fléchés au bas de l’écran, allez jusqu’à l’écran "Intégration de
fichiers" en conservant les options par défaut. Pour notre exemple, des fichiers de données
HFSQL préremplis sont disponibles. Nous allons les livrer avec l’application. Dans ce cas, il est
nécessaire de les indiquer dans l’écran "Intégration de fichiers".
3. Cliquez sur le bouton "Ajouter" en bas de l’écran. Dans le répertoire "EXE" du projet, sélec-
tionnez :
• les fichiers de données HFSQL (*.fic, *.ndx, *.mmo).
• la base SQLite (fichier android_gestion_produits.db). Cette base de données sera utilisée
uniquement si la version d’Android installée sur le matériel est inférieure à 3.2 (version mi-
nimale pour HFSQL).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 71
4. Pour chaque fichier, cochez la case "Ecriture" (nécessaire pour pouvoir modifier les données
depuis l’application).
5. L’écran "Intégration de librairies" permet d’intégrer des librairies spécifiques (HFSQL et Java).
Si vous possédez un matériel utilisant Android 3.2 minimum, vous pouvez cocher l’option "In-
tégrer la librairie HFSQL dans l’application".
6. Validez les écrans suivants jusqu’à l’écran "Configuration". Cet écran permet de configurer
les options du SDK Android. Si vous avez choisi d’intégrer la librairie HFSQL, il est nécessaire
de vérifier que la version minimale pour exécuter l’application est bien "Android 3.2" au mini-
mum. Si ce n’est pas le cas, un message d’avertissement apparaît dans l’assistant.
Dans notre exemple, une base de données au format SQLite est fournie.
Notes
Cette base sera utilisée par défaut si la version d’Android est inférieure à
3.2.
7. Passez à l’écran suivant. Cet écran est spécifique à l’utilisation du champ Carte. Cet écran
permet de saisir la clé nécessaire à l’utilisation du champ Carte. Si vous possédez une clé
Google Maps API, saisissez-la. Dans le cas contraire, cliquez sur "Obtenir une clé".
8. Le dernier écran de l’assistant permet d’indiquer si l’application doit être directement co-
piée et exécutée sur l’appareil relié au poste ou sur un émulateur. Si cette option est cochée,
un nouvel écran apparaît permettant de sélectionner le périphérique d’exécution. Sélection-
nez le matériel connecté au PC.
9. Vous pouvez tester l’application sur votre mobile Android.
72 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Utilisation d’un champ Zone multiligne
Le champ "Zone multiligne" est un champ très utilisé sur les plateformes mobiles.
Ce champ permet de regrouper différents champs :
• options sur une catégorie,
• regroupement d’informations sur un contact, ...
Ce champ peut contenir à la fois :
• des lignes définies en édition (lignes statiques),
• des lignes définies en exécution, par programmation (lignes dynamiques).
Nous allons utiliser un champ Zone multiligne pour faire le menu principal de notre application.
Nous allons créer une nouvelle fenêtre et y insérer un champ Zone multiligne.
La fenêtre que nous allons réaliser est la suivante :
Création de la fenêtre
Tout d’abord, nous allons créer une fenêtre et lui ajouter un champ de type Zone multiligne.
Pour créer la fenêtre :
1. Créez une nouvelle fenêtre vierge :
• Cliquez sur parmi les boutons d’accès rapide.
• La fenêtre de création d’un nouvel élément s’affiche : cliquez sur "Fenêtre" puis sur "Fe-
nêtre". Dans l’assistant, choisissez "Vierge" et validez.
2. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Menu". Son nom est automatique-
ment proposé : "FEN_Menu". Validez.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 73
Création du champ Zone multiligne
74 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4. Nous allons supprimer la ligne vierge qui est inutile dans notre exemple :
• Sélectionnez la ligne vierge (la première ligne) avec la souris.
• Cliquez ensuite sur le bouton "Supprimer".
5. Validez la fenêtre de description. Votre menu est créé.
Chaque ligne est composée d’un champ Image, d’un champ Libellé et d’une image de flèche.
Nous allons maintenant modifier le champ Image et le champ Libellé de chaque ligne afin de
représenter l’action du menu.
Modification de la 1ère ligne : accéder à la liste des produits
Pour modifier l’image de la première ligne du champ Zone multiligne :
1. Cliquez sur la première ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_ListeDesProduits").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Liste"
et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée, sélectionnez une taille (par exemple
80), donnez un nom à l’image (par exemple "ListeDesProduits") et validez.
Par défaut, l’image utilisée dans un champ Zone Multiligne est en mode
Notes
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 75
Modification de la 2ème ligne : accéder à la carte des magasins
Pour modifier l’image de la seconde ligne du champ Zone multiligne :
1. Cliquez sur la seconde ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_CarteDesMagasins").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Carte"
et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée, sélectionnez une taille (par exemple
80), donnez un nom à l’image (par exemple "CarteMagasins") et validez.
4. Validez la fenêtre de description.
Pour modifier le champ Libellé de la seconde ligne du champ Zone multiligne :
1. Cliquez sur la seconde ligne et sélectionnez le champ Libellé.
2. Affichez la fenêtre de description (double-clic sur le champ).
3. Dans l’onglet "Général" de la fenêtre de description :
• Donnez un nom au champ (par exemple "LIB_CarteDesMagasins").
• Changez le libellé (par exemple "Carte des magasins").
4. Validez la fenêtre de description.
Modification de la 3ème ligne : sortir de l’application
Pour modifier l’image de la troisième ligne du champ Zone multiligne :
1. Cliquez sur la troisième ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_Sortir").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Fer-
mer" et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée, sélectionnez une taille (par exemple
80), donnez un nom à l’image (par exemple "Fermer") et validez.
4. Validez la fenêtre de description.
76 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour modifier le champ Libellé de la troisième ligne du champ Zone multiligne :
1. Cliquez sur la troisième ligne et sélectionnez le champ Libellé.
2. Affichez la fenêtre de description (double-clic sur le champ).
3. Dans l’onglet "Général" de la fenêtre de description :
• Donnez un nom au champ (par exemple "LIB_Quitter").
• Changez le libellé (par exemple "Quitter l’application").
4. Validez la fenêtre de description.
Programmation du menu
Pour terminer, nous allons écrire le code pour effectuer chaque action du menu :
1. Faites un clic droit sur le champ Zone multiligne puis sélectionnez l’option "Code".
Attention : sélectionnez bien le champ Zone multiligne et non un des champs qui le compose.
2. Sous l’éditeur de code, dans la section de code "Sélection (clic) d’une ligne dans ...", saisis-
sez le code suivant :
SELON ZM_MENU
CAS 1 // Liste des produits
OuvreFenêtreMobile(FEN_Liste_des_produits)
CAS 2 // Carte des magasins
OuvreFenêtreMobile(FEN_Carte_des_magasins)
CAS 3 // Sortir de l’application
FinProgramme()
FIN
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Tester l’application
Il reste un dernier réglage à effectuer, indiquer que la fenêtre de menu est la première fenêtre
de l’application. Pour cela, nous allons lancer un test complet du projet et indiquer quelle est la
première fenêtre du projet.
Pour définir la première fenêtre du projet :
1. Sélectionnez la fenêtre "FEN_Menu" dans l’explorateur de projet.
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre du projet". Une icône spécifique (avec un petit 1)
apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Jusqu’à présent, vous testiez les fenêtres de façon individuelle en cliquant sur parmi les bou-
tons d’accès rapide.
Pour lancer le test du projet :
1. Cliquez sur parmi les boutons d’accès rapide.
2. Votre projet démarre par la fenêtre de menu. Vous pouvez cliquer sur une option de votre
menu pour vérifier que les différents liens sont corrects.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 77
Voilà, notre application est terminée, il faut maintenant la compiler et l’installer sur le matériel afin
de tester. La procédure à suivre est identique à celle présentée dans le paragraphe "Utilisation du
champ Carte", page 69.
78 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 2.5. Diffusion de l’application
• Génération de l’APK
• Modes de distribution disponibles
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 79
Présentation
WinDev Mobile permet le développement d’applications pour le système d’exploitation Android.
Lorsque les applications sont créées, développées, testées, il ne reste plus qu’à les déployer. Plu-
sieurs modes de déploiement sont à votre disposition :
• Déploiement via Android Market/Google Play (ou un autre market).
• Déploiement sur un serveur Web.
• Déploiement depuis le PC via ADB.
• Déploiement par copie.
Lors de la première publication, il est nécessaire de s’enregistrer auprès du service Google Play
à l’aide d’un compte Google. Une fois enregistré, il est possible de publier ou de mettre à jour
autant d’applications que l’on souhaite autant de fois que nécessaire.
L’application publiée doit être signée avec une clé cryptographique privée. Il est possible de signer
soi-même sa propre application : le recours à un organisme tiers n’est pas obligatoire. La période
de validité du certificat doit se terminer après le 23 octobre 2033.
Les applications générées par WinDev Mobile sont automatiquement signées en utilisant les in-
formations fournies dans l’assistant de génération (écran "Signature de l’application") avec une
durée de validité suffisante.
Attention : L’application publiée ne doit pas avoir été signée en utilisant une clé générique (dont
l’utilisation doit se limiter aux tests en mode GO).
Une icône doit avoir été associée à l’application. L’assistant de génération de WinDev Mobile per-
met de définir l’icône à utiliser.
Remarque : Google Play est l’application la plus connue mais il en existe également d’autres.
80 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3. Sur le serveur, ajouter le type MIME suivant : application/vnd.android.package-archive
L’utilisateur n’aura qu’à afficher la page avec le navigateur du téléphone. En cliquant sur le lien,
l’application sera téléchargée. Il suffira ensuite de cliquer sur le fichier téléchargé (dans le down-
load manager) pour installer l’application.
Attention : L’option "Sources inconnues" doit être activée sur le téléphone pour permettre ce
mode d’installation. Pour activer cette option, il suffit de se rendre dans le menu "Paramètres" du
téléphone, dans le sous-menu "Applications".
Attention : L’option "Sources inconnues" doit être activée sur le téléphone pour permettre ce
mode d’installation. Pour activer cette option, il suffit de se rendre dans le menu "Paramètres" du
téléphone, dans le sous-menu "Applications".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 81
Leçon 2.6. Questions/Réponses
• Questions / Réponses
Durée estimée : 20 mn
82 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Questions / Réponses
Vous pouvez envoyer des messages en utilisant l’application native d’envoi d’emails de l’appareil.
Vous devez pour cela :
• initialiser les informations de la structure Email.
• utiliser la fonction EmailLanceAppli.
Vous pouvez envoyer des emails en utilisant les fonctions email du WLangage.
MonMessage..Expediteur = SAI_Expediteur
MonMessage..Sujet = SAI_SUJET
MonMessage..Message = SAI_CORPS
Ajoute(MonMessage..Destinataire, SAI_Adr_Destinataire)
// Envoi du message
EmailEnvoieMessage(MaSession, MonMessage)
// Fermeture de la session
EmailFermeSession(MaSession)
Le système Android permet de se connecter à un serveur FTP pour envoyer ou récupérer des
fichiers. Pour cela, vous devez utiliser les fonctions suivantes :
• FTPConnecte pour se connecter au serveur FTP
• FTPDéconnecte pour se déconnecter
• FTPEnvoie pour envoyer un fichier du matériel vers le serveur FTP
• FTPRécupère pour récupérer un fichier du serveur vers le matériel.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 83
Exemple d’envoi de fichiers sur un serveur FTP :
// Connexion à un serveur FTP
nConnexion est un entier
nConnexion = FTPConnecte("Adresse du serveur FTP")
ResEnvoie = FTPEnvoie(NumConnexion, "/sdcard/photo.jpg", ...
"/Temp")
// Déconnexion
FTPDéconnecte(nConnexion)
Attention : L’utilisation des fonctions FTP entraîne la modification des permissions requises par
l’application (Permission requise : INTERNET). Cette permission autorise l’application à ouvrir des
sockets réseau.
Le système Android possède des fonctions de gestion du GPS et de géolocalisation. Selon le ma-
tériel, les fonctions GPS utiliseront la puce GPS du matériel ou un système de triangulation en
passant par les réseaux sans fil.
Attention : L’utilisation des fonctions GPS entraîne la modification des permissions requises par
l’application (Permission requise : ACCESS_FINE_LOCATION).
84 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Question Comment envoyer un SMS depuis mon application Android ?
Le système Android permet d’envoyer ou de lire des SMS sur un matériel de type téléphone. Pour
cela, vous devez utiliser les fonctions suivantes :
• initialiser les informations de la structure SMS
• SMSEnvoie pour envoyer un SMS
• SMSNbMessage pour connaître le nombre de SMS
• etc.
// Envoi du SMS
ResEnvoi = SMSEnvoie()
// Erreur rencontrée ?
SI ResEnvoi = Faux ALORS
Erreur(ErreurInfo(errMessage))
FIN
Attention : L’utilisation des fonctions SMS entraîne la modification des permissions requises par
l’application (Permission requise : SEND_SMS).
Lorsque vous développez une application Android avec WinDev Mobile, le code natif est en JAVA.
Le WLangage est traduit en JAVA lors de la compilation et génération de l’application. Il est donc
possible depuis l’environnement WinDev Mobile d’intégrer des procédures natives en langage
JAVA. Pour cela, vous devez :
• créer une collection de procédures globales
• créer une procédure globale
• cliquer sur le bandeau de l’entête de la procédure (là où se trouve le mot WL).
• le bandeau d’entête se transforme et devient de couleur mauve. Le mot WL est transformé en
Java.
Il ne reste plus ensuite qu’à saisir du code natif JAVA ou de copier du code JAVA.
Attention : Vérifiez que le code que vous saisissez ou que vous copiez est correctement écrit : Win-
Dev Mobile ne vérifie pas la complétion. Vous n’aurez des erreurs qu’à la compilation du projet.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 2 : Application Android 85
86 Partie 2 : Application Android (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 3
Application
iOS
88 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 3.1. Mon premier projet iOS
• Configuration nécessaire
• Créer un projet iOS (iPhone ou iPad)
• Ma première fenêtre
• Mon premier test
• Premier déploiement
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 89
Présentation
Pour commencer à utiliser WinDev Mobile, nous allons simplement créer un premier projet. Ce
projet contiendra une fenêtre permettant d’afficher un message.
Ce premier exemple permettra de présenter rapidement les bases du développement avec Win-
Dev Mobile.
Mais avant de créer notre premier projet pour iOS, une configuration du poste de développement
est nécessaire.
Pourquoi un PC ?
WinDev Mobile 20 est une application Windows utilisable sous Windows Vista, 10, ...
L’application sera créée sur le PC avant d’être compilée sur un Mac (Projet, Analyse, Fenêtres, ...).
Ce PC ne nécessite aucune installation d’outils Mac/Apple.
Pourquoi un Mac ?
Un Mac est nécessaire car il faut compiler le projet généré sur le PC dans un compilateur spéci-
fique pour générer des applications iOS. La version minimum du système d’exploitation doit être
de 10.8 (Mountain Lion).
Xcode est un environnement de développement qui permet de développer des applications iOS
(iPhone et iPad). Cet outil est utilisé pour compiler les applications générées avec WinDev Mobile.
La version minimum de Xcode préconisée doit être la version 5.
90 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Mon premier projet
Création du projet
Nous allons créer notre premier projet pour iOS.
Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé
3. L’assistant de création d’un projet se lance. Les différents écrans de l’assistant vont vous
aider à créer votre projet. Tous les renseignements indiqués dans cet assistant pourront être
modifiés par la suite.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 91
4. Le premier écran de l’assistant permet de saisir le nom du projet, son emplacement et sa
description.
Dans notre cas, ce projet va simplement s’appeler "Mon_Projet_iOS". Par défaut, WinDev Mobile
propose de créer ce projet dans le répertoire "\Mes projets Mobile\Mon_Projet_iOS". Vous pou-
vez conserver cet emplacement ou le modifier grâce au bouton [...].
5. Passez à l’écran suivant à l’aide des flèches situées en bas.
6. L’assistant propose d’ajouter des documents. Conservez les options par défaut et passez à
l’écran suivant.
7. L’écran suivant permet de sélectionner l’appareil pour lequel l’application est développée.
Dans cet exemple, nous allons conserver l’option "Générer une application pour iPhone et
iPad".
92 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Ma première fenêtre
Présentation
La première fenêtre que nous allons créer permet à l’utilisateur d’afficher un message de bienve-
nue grâce au bouton "Afficher".
Vous pouvez être tenté de dire que c’est trop simple, trop basique, mais nous vous conseillons de
réaliser cette fenêtre. Vous risquez d’être surpris par la facilité et l’intuitivité de l’éditeur de Win-
Dev Mobile. De plus, cette fenêtre vous permettra de découvrir des concepts fondamentaux pour
la suite de ce cours et de voir tout le processus de développement d’une application iOS avec
WinDev Mobile.
Création de la fenêtre
2. La fenêtre de création d’un nouvel élément s’affiche. Cette fenêtre permet de créer tous les
éléments pouvant être associés à un projet.
3. Cliquez sur "Fenêtre" puis sur "Fenêtre". L’assistant de création d’une fenêtre s’affiche.
4. Sélectionnez "Vierge pour iPhone 4 et supérieur" dans la liste des fenêtres affichée sur la
gauche. Dans la liste des gabarits présente sur la droite, le gabarit "ActivPhone 7" est sélec-
tionné par défaut. Vous pouvez choisir un autre gabarit proposé dans la liste.
gabarit définit le look de la fenêtre mais également le look de tous les champs
qui seront utilisés dans cette fenêtre. Ainsi, aucune faute de goût n’est possible.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 93
Enregistrez la fenêtre en cliquant sur parmi les boutons d’accès rapide. Au premier
enregistrement, une fenêtre spécifique s’affiche. Cette fenêtre propose de saisir :
• le titre de l’élément : saisissez "Bienvenue". Dans notre cas, ce titre sera affiché dans la
barre de titre de la fenêtre.
• le nom de l’élément qui correspond au nom de la fenêtre. Ce nom sera utilisé en program-
mation. Par défaut, ce nom est composé de "FEN_" qui correspond à la charte de program-
mation et de "Bienvenue" qui correspond au titre de la fenêtre que vous venez de saisir.
Observez bien le nom de la fenêtre que WinDev Mobile propose par défaut : ce
nom commence par les lettres "FEN_". Ce préfixe est automatiquement ajouté
car le projet utilise une charte de programmation.
La charte de programmation permet de définir un préfixe pour chaque type d’ob-
jet et ainsi d’identifier rapidement l’élément manipulé :
Note
• l’emplacement qui correspond au nom du fichier créé pour la fenêtre. La fenêtre est un fi-
chier d’extension "WPW", enregistré dans le répertoire du projet.
Validez l’enregistrement de la fenêtre en cliquant sur le bouton vert.
Affichage d’un message
Vous allez maintenant créer un bouton permettant d’afficher un message.
Pour créer le bouton "Afficher" :
1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur . Le bouton appa-
raît en création sous la souris.
2. Déplacez la souris dans la fenêtre vers la position où le champ doit être créé (par exemple
en haut de la fenêtre). Pour poser le champ dans la fenêtre, il suffit de faire un nouveau clic
gauche de souris.
3. Faites un clic droit de la souris sur le champ que vous venez de créer. Le menu contextuel
du champ apparaît. Dans ce menu contextuel, sélectionnez l’option "Description". La fenêtre
de description du bouton s’affiche.
94 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Modifiez les caractéristiques du champ en saisissant les informations suivantes :
Remarque sur l’aide à la saisie : Dès la saisie des deux premiers caractères, WinDev Mobile pro-
pose tous les mots du vocabulaire WLangage contenant ces caractères. L’assistance au dévelop-
pement est poussée très loin. Vous ne pouvez plus vous tromper en saisissant le nom d’un élé-
ment : les erreurs de syntaxes sont minimisées. Il suffit de sélectionner le mot désiré et de valider
par la touche [ENTREE]. Vous pourrez ainsi vous concentrer sur l’algorithme.
En saisissant ce code sous l’éditeur de code, vous constatez que les différents
éléments saisis utilisent des couleurs différentes. C’est la coloration syntaxique.
L’éditeur de code permet ainsi d’identifier rapidement les différents éléments
manipulés par le code :
• les fonctions du WLangage apparaissent en bleu,
Notes
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 95
La fonction Info affiche le message passé en paramètre.
Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide (à gauche
du ruban) ou en utilisant la combinaison de touches [CTRL]+[S].
Fermez l’éditeur de code (croix en haut à droite de l’éditeur de code). La fenêtre réapparaît.
Premier test
Pour une application iOS, WinDev Mobile permet de tester directement l’application sur le poste
de développement grâce au mode simulation. Ce test réalise une simulation d’un périphérique
iOS sur le poste de développement. Ce test est utile quand le développeur ne dispose pas de Mac
pour compiler l’application. Cependant, ce test ne permet pas d’utiliser les composants matériels
de l’appareil (GPS, SMS, appareil photo, ...).
Nous allons tester la fenêtre en mode simulation.
1. Cliquez sur parmi les boutons d’accès rapide (ou utilisez la touche [F9]).
2. Validez si nécessaire le message d’information concernant le mode simulateur.
3. La fenêtre que vous avez créée se lance en exécution, dans une coque correspondant au
matériel choisi (iPad ou iPhone).
4. Cliquez sur le bouton "Afficher".
5. Validez la fenêtre système qui s’affiche.
Tout développeur sait que tester un programme est souvent long, voire fastidieux. Avec
WinDev, en UN CLIC, vous testez la fenêtre, l’état, ou la procédure que vous êtes en train de
réaliser. C’est à la fois simple et rapide !
Cliquez sur le bouton "x" situé dans la coque du simulateur pour fermer la fenêtre.
L’éditeur de WinDev Mobile réapparaît.
96 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Premier déploiement sur l’appareil
Principe
Pour exécuter l’application de manière autonome sur l’appareil, il suffit de :
• Générer l’application iOS (ou projet Xcode) sous WinDev Mobile.
• Transférer le projet Xcode généré sur un poste Mac pour y être compilé.
• Connecter votre matériel à votre Mac et compiler le projet Xcode afin de générer le programme
pour le matériel connecté.
• Le programme sera ensuite installé sur le matériel. Il fonctionnera de manière autonome.
Nous allons voir en détail ces différentes étapes.
Mise en place
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 97
5. Passez à l’écran suivant. Indiquez le chemin des différentes icônes de l’application. Plu-
sieurs icônes doivent être fournies :
• des icônes pour iPad et iPad Rétina,
• des icônes pour tous les modèles d’iPhone (par exemple, l’iPhone 4 a une résolution diffé-
rente avec l’écran Rétina).
6. Passez à l’écran suivant. Indiquez le chemin des différentes images de lancement de l’ap-
plication pour l’iPad et pour l’iPhone (images au format PNG). Des images par défaut sont
automatiquement créées pour votre application.
7. Passez à l’écran suivant. Indiquez le numéro de version de l’application générée.
8. Passez à l’écran suivant. Cet écran permet d’intégrer des fichiers spécifiques (fichiers de
données, images, ...). Dans notre exemple, nous n’utiliserons pas cette possibilité. Conservez
les options par défaut.
9. Passez à l’écran suivant. Cet écran permet d’indiquer :
• la version minimale nécessaire d’iOS pour exécuter l’application.
• si le partage des fichiers avec iTunes est possible. Si cette option est cochée, il sera pos-
sible de récupérer les fichiers de l’application sur le Mac lors de la synchronisation. Par
exemple, si des fichiers de données ont été livrés avec l’application, l’application iTunes
permettra de récupérer ces fichiers.
10. Validez l’assistant. La génération est faite dans le dossier EXE du répertoire du projet. Le
répertoire contenant les sources à utiliser sur le Mac s’appelle "Nom_du_projet.xcode.gen"
(pour notre exemple "Mon_Projet_iOS.xcode.gen"). C’est ce répertoire qui doit être copié sur
le Mac. Cliquez sur le bouton "Ouvrir le répertoire de génération".
La suite des manipulations doit être effectuée sur le Mac. Nous ne détaillerons pas ici ces mani-
pulations. Pour plus de détails, consultez l’aide en ligne.
98 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 3.2. Interface (IHM)
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 99
Présentation
Le système iOS est disponible sur des téléphones (iPhone), sur des tablettes (iPad) et sur des
iPod. WinDev Mobile permet de créer simplement des interfaces s’adaptant au matériel utilisé.
Orientation de la fenêtre
Sous iPhone ou iPad, une fenêtre peut avoir une des orientations suivantes :
• Bloquée en mode portrait,
• Bloquée en mode paysage,
• Libre : la fenêtre suit l’orientation du matériel.
100 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Cette orientation est définie dans l’onglet "Détail" de la fenêtre de description de la fenêtre (option
"Description" du menu contextuel de la fenêtre).
Dans les deux premiers cas, aucune manipulation spécifique n’est nécessaire.
Dans le cas d’une fenêtre libre, la disposition des champs et leur taille doivent s’adapter à l’orien-
tation. Il faut utiliser le mécanisme de l’ancrage pour obtenir un résultat satisfaisant.
Exemple pratique
Ouvrez si nécessaire le projet "Mon_Projet_iOS" que vous venez de créer dans la leçon
précédente.
Un projet corrigé est disponible. Ce projet contient les différentes fenêtres créées
Corrigé
dans cette leçon. Pour ouvrir le projet corrigé, sous le volet "Accueil", dans le
groupe "Aide en ligne", déroulez "Guide d’auto-formation" puis sélectionnez "Mon
projet iOS (Corrigé)".
Dans notre exemple, le projet a été créé pour un téléphone, et nous l’avons testé en mode portrait
sous le simulateur.
Nous allons maintenant le tester en mode paysage sous le simulateur.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 101
Lancez le test du projet ( parmi les boutons d’accès rapide).
1. La fenêtre apparaît en mode portrait.
2. Dans le simulateur, cliquez sur la flèche dans la coque ( ).
3. La fenêtre change d’orientation à l’écran.
4. Dans notre exemple, le bouton ne change pas de place : il ne s’adapte pas à l’orientation
de l’écran.
Nous allons maintenant modifier notre fenêtre pour que le bouton "Afficher" soit centré dans
la fenêtre et reste centré quelle que soit l’orientation du mobile.
Arrêtez le test et revenez sous l’éditeur.
Pour centrer le bouton dans la fenêtre :
1. Sélectionnez le bouton (clic sur le bouton).
2. Sous le volet "Alignement", dans le groupe "Centrage et répartition", cliquez sur "Centrer
dans le parent (horz)".
Pour que le bouton reste centré dans la fenêtre, nous allons utiliser l’ancrage du champ :
1. Sélectionnez le bouton (clic sur le bouton).
2. Affichez le menu contextuel (clic droit).
3. Sélectionnez l’option "Ancrage" : la fenêtre de définition des ancrages apparaît :
102 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4. Sélectionnez "Centré horizontal" et validez (bouton vert).
Lancez le test du projet ( parmi les boutons d’accès rapide) :
• Le bouton est centré en mode portrait.
• Changez l’orientation du simulateur.
• Le bouton reste centré en mode paysage.
Gestion du tactile
Un des aspects importants de l’interface d’une application mobile est la gestion de l’écran tactile.
Un dispositif "multi-touch" est une technique permettant à une personne d’interagir avec un maté-
riel informatique à l’aide de plusieurs points de contact.
L’une des applications la plus courante du multi-touch est la manipulation d’images. La taille de
l’affichage sur un téléphone étant souvent réduite, il est souvent nécessaire de zoomer et / ou de
se déplacer dans une image.
Il est ainsi possible de réaliser un zoom sur une image avec le contact de 2 doigts qui s’écartent.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 103
Exemple pratique
Ouvrez si nécessaire le projet "Mon_Projet_iOS" que vous venez de créer dans la leçon
précédente.
Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé
104 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
12. Pour ne plus avoir cette erreur d’IHM, désactivez les ascenseurs de la fenêtre :
• Affichez la fenêtre de description de la fenêtre (option "Description" du menu contextuel).
• Dans l’onglet "Détail", décochez l’option "Ascenseurs automatiques".
• Validez la fenêtre de description.
13. Enregistrez la fenêtre (clic sur parmi les boutons d’accès rapide). L’erreur d’IHM dis-
paraît.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 105
Leçon 3.3. Bases de données
106 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Les bases de données disponibles
Présentation
Sous iOS, seule la base de données HFSQL est accessible en natif. Le mode Classic et le mode
Client/Serveur sont tous les deux possibles.
HFSQL Client/Serveur
En mode HFSQL Client/Serveur, aucune donnée n’est stockée sur le matériel. Les données sont
stockées sur une machine sur laquelle est installé un serveur HFSQL.
Pour accéder à cette machine et donc à la base de données, il est nécessaire d’avoir activé
un moyen de communication avec le serveur dans l’application mobile (Wi-Fi ou 3G) afin de se
connecter via le réseau ou Internet.
Les temps de réponse vont bien entendu dépendre de la qualité du réseau Wi-Fi ou Internet et du
volume des données demandées.
L’accès aux données se fera à l’aide des fonctions WLangage Hxxx et/ou de requêtes SQL.
La synchronisation
Le mécanisme de synchronisation permet de "synchroniser" les données stockées sur un matériel
mobile avec les données stockées sur un serveur. La synchronisation utilise le mécanisme de la
"réplication universelle".
Cette technique est disponible aussi bien en WinDev, WebDev et WinDev Mobile.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 107
Accès aux données au travers d’un Webservice
Une autre méthode permet également d’accéder à des données sur un serveur depuis un appa-
reil mobile : l’utilisation d’un Webservice.
Dans ce cas, l’appareil mobile doit disposer d’une connexion Wi-Fi ou 3G/4G pour se connecter
au Webservice.
L’application mobile n’accède pas en direct à la base de données. L’application appelle des fonc-
tions du Webservice. Ces fonctions retournent les données.
C’est le Webservice qui accède à la base de données.
Cette technique permet par exemple d’avoir une couche métier (le Webservice) commune à plu-
sieurs types d’applications et d’interfaces (WinDev, WebDev ou WinDev Mobile) et différents types
de systèmes d’exploitation (Windows, Android, iOS, ...).
108 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 3.4. Programmation avancée
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 109
Présentation
Dans cette leçon, nous allons réaliser une application iOS utilisant une base de données HFSQL
Classic.
Cette application va nous permettre de détailler plusieurs points spécifiques de la programmation
iOS.
Ouverture du projet
Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.
Ouvrez le projet "iOS Gestion Produits".
Pour cela, dans la fenêtre de bienvenue, cliquez sur "Cours d’auto-formation" et sélectionnez
le projet "Gestion de Produits iOS (Exercice)".
Astuce : si la fenêtre de bienvenue n’est pas affichée, il est possible sous le volet "Accueil",
dans le groupe "Aide en ligne" de dérouler l’option "Guide d’Auto-formation" puis de sélection-
ner l’option "Gestion de Produits iOS (Exercice)".
Un projet corrigé est disponible. Ce projet contient les différentes fenêtres créées
Corrigé
dans cette leçon. Pour ouvrir le projet corrigé, sous le volet "Accueil", dans le
groupe "Aide en ligne", déroulez l’option "Guide d’auto-formation" puis sélection-
nez "Gestion de Produits iOS (Corrigé)".
Description du projet
Examinons notre projet de départ. Ce projet est un projet déjà créé. Il ne contient aucune fenêtre.
Il contient uniquement l’analyse décrivant les fichiers de données HFSQL Classic que nous allons
utiliser. Dans le répertoire EXE, les fichiers de données correspondants sont fournis avec des
données pour réaliser les différents tests.
Pour visualiser l’analyse associée au projet :
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev Mobile.
2. L’éditeur d’analyses s’affiche.
110 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
3. Cette analyse est composée de 3 fichiers de données :
• Un fichier "Produit", qui contient la description du produit : nom, prix, quantité, ...
• Un fichier "Caractéristique", qui contient les différentes caractéristiques du produit. Par
exemple, si le produit est un t-shirt, ses caractéristiques correspondront à la taille, la cou-
leur, ... Le fichier "Caractéristique" est donc lié au fichier "Produit".
• Un fichier "Magasin", qui contient pour chaque magasin, ses coordonnées GPS.
4. Fermez l’éditeur d’analyses (cliquez sur la croix en haut à droite de l’éditeur).
Nous allons maintenant commencer le développement de notre application.
Dans cette partie, les différents tests seront réalisés uniquement en mode simu-
Attention!
Création de la fenêtre
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 111
5. Sélectionnez les rubriques à afficher :
6. Conservez les rubriques "Nom", "Description" et "Prix" (une coche doit être présente devant
ces rubriques). Passez à l’écran suivant.
7. Conservez la rubrique de tri proposée (IDProduit). Les produits seront triés dans le champ
Zone répétée suivant cette rubrique. Passez à l’écran suivant.
8. Dans l’écran "Paramètres supplémentaires", conservez les options par défaut. Passez à
l’écran suivant.
9. Conservez le nom par défaut "ZR_Produit" et validez.
10. Un message concernant la gestion des ascenseurs de la fenêtre apparaît.
En effet, la fenêtre comme le champ Zone répétée possèdent chacun leur propre ascenseur.
Il y a donc un conflit. Un seul ascenseur doit être activé. Il est préférable :
• de désactiver l’ascenseur de la fenêtre car la fenêtre a une taille fixe,
• de garder actif l’ascenseur du champ Zone répétée.
Le défilement vertical (scrolling vertical) se fera dans le champ Zone répétée et non pas dans la
fenêtre. Ainsi, il sera possible d’avoir des champs au dessus ou en dessous du champ Zone répé-
tée sans que ceux-ci ne défilent.
11. Cliquez sur "Désactiver l’ascenseur automatique". Le champ Zone répétée apparaît
sous l’éditeur de fenêtres. Par défaut, le champ Zone répétée s’adapte automatiquement à
l’espace disponible dans la fenêtre.
Dans la fenêtre affichée sous l’éditeur, des données apparaissent automatique-
ment. Ce concept se nomme "Live Data" : vous voyez les données présentes
Notes
112 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons effectuer un premier test dans le simulateur pour visualiser le résultat. Cliquez
sur parmi les boutons d’accès rapide (ou utilisez la touche [F9]).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 113
Création de la fenêtre fiche
Maintenant, nous allons créer une nouvelle fenêtre servant à afficher la fiche du produit. Ensuite,
cette fenêtre sera lancée depuis la liste des produits pour afficher le détail du produit sélectionné.
Création de la fenêtre
4. Modifiez la taille des champs "Nom" et "Description" afin qu’ils soient visibles dans la fe-
nêtre.
114 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5. Réorganisez les champs dans la fenêtre. Respectez l’ordre suivant : "Photo", "Nom", "Prix",
"Quantité", "Code-barres", "Date de réappro.", "Description".
6. Nous allons visualiser l’ordre de navigation dans la fenêtre : appuyez sur la touche [F5]. Les
numéros qui s’affichent représentent l’ordre de navigation dans la fenêtre. Appuyez à nouveau
sur la touche [F5] pour faire disparaître les numéros. L’ordre de navigation s’adapte automati-
quement à l’ordre des champs dans la fenêtre.
7. Enregistrez la fenêtre.
Testez la fenêtre ( parmi les boutons d’accès rapide). La fenêtre apparaît avec tous les
champs vides.
Pour afficher les données du produit :
1. Affichez les traitements associés à la fenêtre :
• Dans la zone à côté de la fenêtre, faites un clic droit de souris
• Dans le menu contextuel qui s’affiche, sélectionnez "Code".
• L’éditeur de code apparaît.
2. Dans le traitement "Fin d’initialisation de FEN_Fiche_du_produit", saisissez le code suivant :
FichierVersEcran()
La fonction FichierVersEcran permet d’afficher dans les champs les données présentes dans
le fichier de données pour l’enregistrement en cours.
3. Fermez la fenêtre de code.
4. Enregistrez la fenêtre.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 115
Affichage de la fiche depuis la liste des produits
Nous allons maintenant voir comment afficher la fiche du produit sélectionné dans la liste des
produits.
Effectuez les opérations suivantes :
1. Placez-vous sur la fenêtre "Liste des produits" : cliquez sur le bouton "FEN_Liste_des_pro-
duits" dans la barre des boutons :
2. Faites un clic droit sur le champ Zone répétée et dans le menu qui s’affiche, sélectionnez
l’option "Code".
3. Dans la fenêtre de code qui apparaît, saisissez le code suivant dans le traitement "Sélec-
tion d’une ligne de ..." :
OuvreFenêtreMobile(FEN_Fiche_du_produit)
Laissez-vous guider par l’assistance à la saisie de code : dès que vous allez ta-
per la parenthèse ouvrante "(", une liste déroulante va s’ouvrir proposant le nom
de toutes les fenêtres existantes dans le projet. Il suffit de sélectionner la fenêtre
Notes
au clavier ou à la souris.
Si vous ne trouvez pas le nom de la fenêtre que vous cherchez dans la liste, c’est
que celle-ci n’a pas été sauvegardée précédemment.
4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Testez la fenêtre à nouveau sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris.
• La fenêtre de détail du produit s’affiche.
Fermez le simulateur.
116 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Gestion de la création et de la modification d’un produit
Nous allons maintenant modifier nos deux fenêtres afin de gérer l’ajout et la modification d’un
produit.
Pour certains types de champs, WinDev Mobile propose une liste de champs
prédéfinis. Ces champs sont des champs avancés, configurés pour effectuer
Notes
3. Cliquez sur "Annuler" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas à
droite de la fenêtre pour créer le bouton.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 117
Nous allons ensuite ajouter le bouton "Valider" sur le même principe, mais en personnalisant
le look de ce bouton.
1. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
2. La liste des boutons prédéfinis s’affiche.
3. Cliquez sur "Bouton" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas de
la fenêtre pour créer le bouton (à gauche du bouton "Annuler").
4. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Valider" et appuyez sur la touche [ENTREE] du clavier.
5. Redimensionnez si nécessaire le bouton (à l’aide des poignées) pour que le libellé s’affiche
complètement dans le bouton.
Pour personnaliser le look de ce bouton :
1. Sélectionnez le bouton "Valider" : il suffit de cliquer dessus.
2. Affichez le menu contextuel (clic droit) puis sélectionnez l’option "Choisir un style".
3. Chaque gabarit propose des styles pour les boutons usuels : validation, annulation, créa-
tion, ... Ici, choisissez le style "BTN_Ok".
118 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
• La fonction HModifie permet de mettre à jour les données du fichier pour l’enregistrement
courant.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lors de la fermeture de la fiche du produit, il est nécessaire de rafraîchir le contenu de la liste
des produits présente dans la fenêtre "FEN_Liste_des_produits" pour prendre en compte les
modifications réalisées dans la fiche. Il suffit pour cela d’utiliser le traitement "Fermeture
d’une fenêtre fille" de la fenêtre "FEN_Liste_des_produits".
1. Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres.
2. Faites un clic droit sur le fond de la fenêtre et dans le menu qui s’affiche, sélectionnez
l’option "Code". Dans le traitement "Fermeture d’une fenêtre fille", saisissez le code suivant :
ZoneRépétéeAffiche(ZR_Produit)
Examinons ce code :
• Le traitement "Fermeture d’une fenêtre fille" est exécuté à chaque fois qu’une fenêtre fille
de la fenêtre en cours est fermée. Dans notre cas, il est donc exécuté lorsque la fenêtre
"FEN_Fiche_du_produit" est fermée.
• La fonction ZoneRépétéeAffiche permet de mettre à jour les données du champ Zone répé-
tée de la fenêtre "FEN_Liste_des_produits".
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lancez le test de la fenêtre "FEN_Liste_des_produits" sous le simulateur ( parmi les
boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris : par exemple, le pro-
duit "Polo Hibbicus Bleu" au prix de 25,90 euros.
• La fenêtre de détail du produit s’affiche. Modifiez le prix de 25,90 euros et saisissez
19,90 euros puis ensuite cliquez sur le bouton "Valider".
• De retour sur la liste des produits, vous pouvez constater que le prix de cet article a été mis
à jour.
Fermez le simulateur. L’éditeur de WinDev Mobile est affiché.
Création d’un nouveau produit
Le principe de la création d’un produit va être le suivant :
• Dans la fenêtre de la liste des produits, nous allons ajouter un bouton "Nouveau produit" qui va
permettre d’ouvrir la fenêtre "Fiche du produit".
• Nous modifierons ensuite le code de la fenêtre "Fiche du produit" pour gérer l’ajout dans le
fichier de données Produit.
Pour ajouter un bouton dans la liste des produits :
1. Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur.
2. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur : la forme du
bouton apparaît sous la souris. Cliquez ensuite en bas de la fenêtre pour créer le bouton.
3. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Nouveau produit" et appuyez sur la touche [ENTREE] du clavier.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 119
4. Agrandissez la taille du champ (à l’aide des poignées de redimensionnement) pour qu’il
occupe la totalité de la largeur de la fenêtre.
Maintenant, nous allons modifier la fenêtre de la fiche du produit pour gérer l’ajout d’un
nouvel enregistrement.
1. Affichez la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Nous allons modifier le code du bouton de validation :
• Faites un clic droit sur le bouton puis sélectionnez l’option "Code" dans le menu contextuel.
• Dans le traitement "Clic sur", remplacez le code par le code suivant :
EcranVersFichier()
SI Produit..NouvelEnregistrement ALORS
HAjoute(Produit)
SINON
HModifie(Produit)
FIN
Ferme()
Examinons ce code :
• La propriété ..NouvelEnregistrement permet de savoir si l’enregistrement en cours doit être
créé.
120 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
• Si la fonction HRaz a été appelée précédemment, la propriété renvoie Vrai (cas du clic sur
"Nouveau produit") et l’enregistrement doit être créé par la fonction HAjoute.
• Dans le cas contraire, l’enregistrement en cours existe déjà et doit être modifié par la fonc-
tion HModifie.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres. Nous allons ajouter
un bouton pour fermer la fenêtre :
1. Réduisez la taille du bouton "Nouveau produit" à l’aide de la souris.
2. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
3. La liste des boutons prédéfinis s’affiche.
4. Cliquez sur "Fermer" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas de
la fenêtre pour créer le bouton (à droite du bouton "Nouveau produit").
Lancez le test de la fenêtre "FEN_Liste_des_Produits" sous le simulateur ( parmi les
boutons d’accès rapide).
• Dans la liste des produits, cliquez sur le bouton "Nouveau produit".
• Saisissez un nouveau produit.
• Validez. Le nouveau produit apparaît dans la liste des produits.
• Fermez le simulateur.
Dans cette partie, les différents tests seront réalisés uniquement en mode simu-
Attention!
Présentation
Nous allons gérer la photo du produit. Nous allons utiliser l’appareil photo du matériel.
Nous allons créer un bouton pour lancer l’appareil photo. La photo sera récupérée sous la forme
d’une image en mémoire et affichée dans le champ image du produit.
Nous allons également créer un bouton permettant de sélectionner une photo dans l’album du
mobile.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 121
Création du bouton prise de photo
122 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prise de photo
Nous allons saisir maintenant le code pour prendre une photo et l’afficher dans le champ Image
de la fiche produit.
Pour gérer la prise de photo :
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Saisissez le code suivant dans le traitement "Clic sur" :
// Variable locale
sPhoto est une chaîne
// On lance l’appareil photo
sPhoto = VidéoLanceAppli(viCaptureImage)
SI sPhoto <> “” ALORS
IMG_Photo = sPhoto
FIN
Dans ce code, la fonction VidéoLanceAppli permet de lancer l’application caméra native de l’ap-
pareil afin d’enregistrer une vidéo ou de prendre une photo.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 123
Le code de ce bouton permet d’ouvrir l’album photo de l’appareil et de sélectionner une
image pour l’afficher dans le champ Image de la fiche produit.
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Saisissez le code suivant dans le traitement "Clic sur" :
// On lance la sélection
// La procédure ImageSélectionnée sera exécutée lors de la
// sélection d’une image dans l’album
AlbumSélecteur(ImageSélectionnée)
Dans ce code, la fonction AlbumSélecteur permet de récupérer la photo sélectionnée dans l’al-
bum photo. Cette fonction appelle la procédure "ImageSélectionnée". Cette procédure permet
d’affecter le champ Image avec l’image sélectionnée.
3. Pour créer la procédure :
• Sélectionnez le mot "ImageSélectionnée".
• Affichez le menu contextuel (clic droit).
• Sélectionnez l’option "Nouveau .. Nouvelle procédure locale".
• Validez le nom de la procédure.
• Saisissez le code suivant :
PROCEDURE ImageSélectionnée(sCheminImage)
// Si une image est sélectionnée
SI sCheminImage <> “” ALORS
// Affiche l’image dans le champ Image
IMG_Photo = sCheminImage
FIN
Examinons ce code : si une image est sélectionnée (c’est-à-dire si le chemin de l’image ne corres-
pond pas à une chaîne vide), alors le chemin est affecté au champ Image.
4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Dans cette partie, les différents tests seront réalisés uniquement en mode simu-
Attention!
Présentation
Le fichier de données "Produit" contient une rubrique "Code_Barres". Cette rubrique permet de
stocker la valeur d’un code-barres. Certains matériels (notamment ceux qui possèdent un appa-
reil photo) peuvent scanner un code-barres pour récupérer sa valeur.
Nous allons gérer le code-barres grâce à l’appareil photo du matériel mais aussi en utilisant une
fonction spécifique du WLangage.
124 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Mise en place
Dans ce code, la fonction CBCapture permet de décoder les informations stockées dans un
code-barres en utilisant la caméra de l’appareil.
4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 125
Utilisation du champ Carte
Nous allons voir comment manipuler le champ Carte et les fonctions GPS du langage.
Notre base de données contient un fichier de données "Magasin". Ce fichier contient les adresses
de plusieurs magasins que nous allons localiser sur une carte à l’aide des fonctions de cartogra-
phie.
Création de la fenêtre
Tout d’abord, nous allons créer une fenêtre vierge et lui ajouter un champ de type Carte.
Pour créer la fenêtre :
1. Cliquez sur parmi les boutons d’accès rapide. La fenêtre de création d’un nouvel élément
s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre". Dans l’assistant, choisissez "Vierge pour
iPhone 4 et supérieur" et validez.
2. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Carte des magasins". Son nom est
automatiquement proposé : "FEN_Carte_des_magasins". Validez.
126 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Affichage des magasins sur la carte
Principe
Nous allons maintenant ajouter le code qui permet d’afficher sur une carte tous les magasins
présents dans le fichier "Magasin".
Pour cela, nous allons parcourir le fichier "Magasin" avec une boucle POUR TOUT. Ensuite, nous
allons utiliser des variables de type Marqueur. Une variable de type Marqueur permet de définir
une marque qui sera présente sur une carte.
Une marque contient différentes informations. Nous utiliserons uniquement les informations sui-
vantes :
• Nom.
• Latitude.
• Longitude.
La fonction CarteAjouteMarqueur permet d’ajouter la marque sur la carte. Ensuite, il suffit de
régler le niveau de zoom suffisant pour voir tous les marqueurs sur la carte. Si le zoom n’est pas
correctement réglé, certains marqueurs peuvent ne pas être visibles ou bien se chevaucher sur
la carte.
Mise en place
Pour saisir le code permettant d’afficher les magasins :
1. Faites un clic droit à l’extérieur de la fenêtre. Dans le menu contextuel, sélectionnez l’option
"Code". Les différents traitements associés à la fenêtre s’affichent.
2. Saisissez le code suivant dans le traitement "Déclarations globales de ...".
// Variables globales
gMarqueur est un Marqueur
// On charge les magasins
POUR TOUT Magasin
// Coordonnées du marqueur
gMarqueur.Position.Latitude = Magasin.Latitude
gMarqueur.Position.Longitude = Magasin.Longitude
// Nom du marqueur
gMarqueur.Nom = Magasin.Nom
// Ajout du marqueur
CarteAjouteMarqueur(CARTE_MAGASIN,gMarqueur)
FIN
// Zoom par défaut
CARTE_MAGASIN..Zoom = 7
CarteAffichePosition(CARTE_MAGASIN,gMarqueur.Position)
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 127
Nous pouvons effectuer un test dans le simulateur.
Lancez le test de la fenêtre "FEN_Carte_des_magasins" sous le simulateur ( parmi les
boutons d’accès rapide). Les différents magasins s’affichent immédiatement.
Fermeture de la fenêtre
Nous allons créer un bouton pour fermer cette fenêtre. Nous allons pour cela utiliser un bouton
prédéfini de type "Fermer".
Pour créer le bouton "Fermer" :
1. Redimensionnez le champ Carte pour pouvoir créer un bouton en bas de la fenêtre.
2. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
3. Dans la liste des boutons prédéfinis, cliquez sur "Fermer" : la forme du bouton apparaît
sous la souris. Cliquez ensuite en bas de la fenêtre pour créer le bouton.
4. Redimensionnez si nécessaire le bouton créé.
5. Comme pour le champ Carte, il est nécessaire de modifier l’ancrage de ce champ : appli-
quez-lui l’ancrage "Largeur et bas" ( ).
128 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Utilisation d’un champ Zone multiligne
Le champ "Zone multiligne" est un champ très utilisé dans les applications iOS.
Ce champ permet de regrouper différents champs :
• options sur une catégorie,
• regroupement d’informations sur un contact, ...
Ce champ peut contenir à la fois :
• des lignes définies en édition (lignes statiques).
• des lignes définies en exécution, par programmation (lignes dynamiques).
Nous allons utiliser un champ Zone multiligne pour faire le menu principal de notre application.
Nous allons créer une nouvelle fenêtre et y insérer un champ Zone multiligne.
La fenêtre que nous allons réaliser est la suivante :
Création de la fenêtre
Tout d’abord, nous allons créer une fenêtre vierge et lui ajouter un champ de type Zone multiligne.
Pour créer la fenêtre :
1. Créez une nouvelle fenêtre vierge. Cliquez sur parmi les boutons d’accès rapide. La fe-
nêtre de création d’un nouvel élément s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre". Dans
l’assistant, choisissez "Vierge pour iPhone 4 et supérieur" et validez.
2. Enregistrez la fenêtre. Indiquez le titre de la fenêtre : "Menu". Son nom est automatique-
ment proposé : "FEN_Menu". Validez.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 129
Le champ Zone multiligne contient actuellement une ligne vierge. Nous allons le modifier pour y
ajouter autant de lignes que d’options de notre menu.
Notre menu comporte 3 options :
• Liste des produits,
• Carte des magasins,
• Quitter l’application.
4. Nous allons supprimer la ligne vierge qui est inutile dans notre exemple :
• Sélectionnez la ligne vierge (la première ligne) avec la souris.
• Cliquez ensuite sur le bouton "Supprimer".
5. Validez la fenêtre de description. Votre menu est créé.
Chaque ligne est composée d’un champ Image, d’un champ Libellé et d’une image de flèche.
Nous allons maintenant modifier le champ Image et le champ Libellé de chaque ligne afin de
représenter l’action du menu.
130 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Modification de la 1ère ligne : accéder à la liste des produits
Pour modifier l’image de la première ligne du champ Zone multiligne :
1. Cliquez sur la première ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_ListeDesProduits").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Liste"
et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée :
• Sélectionnez une taille (par exemple 80).
Par défaut, l’image utilisée dans un champ Zone Multiligne est en mode
Notes
• Modifiez la luminosité de l’image (par exemple -100% pour obtenir une image noire).
• Donnez un nom à l’image (par exemple "ListeDesProduits").
• Validez.
4. Validez la fenêtre de description.
Pour modifier le champ Libellé de la première ligne du champ Zone multiligne :
1. Cliquez sur la première ligne et sélectionnez le champ Libellé.
2. Affichez la fenêtre de description (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom au champ (par exemple "LIB_ListeDesProduits").
• Changez le libellé (par exemple "Liste des produits").
4. Validez la fenêtre de description.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 131
Modification de la 2ème ligne : accéder à la carte des magasins
Pour modifier l’image de la seconde ligne du champ Zone multiligne :
1. Cliquez sur la seconde ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_CarteDesMagasins").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Carte"
et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée :
• Sélectionnez une taille (par exemple 80).
• Modifiez la luminosité de l’image (par exemple -100% pour obtenir une image noire).
• Donnez un nom à l’image (par exemple "CarteMagasins").
• Validez.
4. Validez la fenêtre de description.
Pour modifier le champ Libellé de la seconde ligne du champ Zone multiligne :
1. Cliquez sur la seconde ligne et sélectionnez le champ Libellé.
2. Affichez la fenêtre de description (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom au champ (par exemple "LIB_CarteDesMagasins").
• Changez le libellé (par exemple "Carte des magasins").
4. Validez la fenêtre de description.
Modification de la 3ème ligne : sortir de l’application
Pour modifier l’image de la troisième ligne du champ Zone multiligne :
1. Cliquez sur la troisième ligne et sélectionnez le champ Image.
2. Affichez la fenêtre de description de l’image (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom à l’image (par exemple "IMG_Sortir").
• Cliquez sur le bouton "Catalogue" afin de choisir une image représentant l’action.
• Dans la fenêtre du catalogue d’images, saisissez dans le champ de recherche le mot "Fer-
mer" et appuyez sur la touche [ENTREE].
• Sélectionnez une image par un double-clic.
• Dans la fenêtre de paramétrage de l’image générée :
• Sélectionnez une taille (par exemple 80).
• Modifiez la luminosité de l’image (par exemple -100% pour obtenir une image noire).
• Donnez un nom à l’image (par exemple "Fermer").
• Validez.
4. Validez la fenêtre de description.
132 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour modifier le champ Libellé de la troisième ligne du champ Zone multiligne :
1. Cliquez sur la troisième ligne et sélectionnez le champ Libellé.
2. Affichez la fenêtre de description (double-clic sur le champ).
3. Dans la fenêtre de description :
• Donnez un nom au champ (par exemple "LIB_Quitter").
• Changez le libellé (par exemple "Quitter l’application").
4. Validez la fenêtre de description.
Programmation du menu
Pour terminer, nous allons écrire le code pour effectuer chaque action du menu :
1. Faites un clic droit sur le champ Zone multiligne puis sélectionnez l’option "Code".
Attention : Sélectionnez bien le champ Zone multiligne et non un des champs qui le compose.
2. Sous l’éditeur de code, dans la section de code "Sélection (clic) d’une ligne dans ...", saisis-
sez le code suivant :
SELON ZM_MENU
CAS 1 // Liste des produits
OuvreFenêtreMobile(FEN_Liste_des_produits)
CAS 2 // Carte des magasins
OuvreFenêtreMobile(FEN_Carte_des_magasins)
CAS 3 // Sortir de l’application
Ferme()
FIN
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Tester l’application
Il reste un dernier réglage à effectuer, indiquer que la fenêtre de menu est la première fenêtre de
l’application. Pour cela, nous allons indiquer quelle est la première fenêtre du projet (sous iPhone
et sous iPad) et lancer un test complet du projet.
Pour définir la première fenêtre du projet :
1. Sélectionnez la fenêtre "FEN_Menu" dans l’explorateur de projet.
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre pour la plateforme iPhone". Une icône spécifique
(avec un petit 1) apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
4. Sélectionnez l’option "Première fenêtre pour la plateforme iPad". Une icône spécifique (avec
un petit 1) apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Jusqu’à présent vous testiez les fenêtres de façon individuelle en cliquant sur parmi les bou-
tons d’accès rapide.
Pour lancer le test du projet :
1. Cliquez sur parmi les boutons d’accès rapide.
2. Votre projet démarre par la fenêtre de menu. Vous pouvez cliquer sur une option de votre
menu pour vérifier que les différents liens sont corrects.
Voilà, notre application est terminée, il faut maintenant la compiler et l’installer sur le matériel afin
de tester.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 133
Générer l’application
4. Passez à l’écran suivant. Indiquez le chemin des différentes icônes de l’application pour
chaque type de matériel.
5. Passez à l’écran suivant. Indiquez le chemin des différentes images de lancement de l’ap-
plication pour l’iPad et pour l’iPhone (images au format PNG). Des images par défaut sont
automatiquement créées pour votre application.
6. Passez à l’écran suivant. Indiquez le numéro de version de l’application générée.
7. Passez à l’écran suivant. Cet écran permet d’intégrer des fichiers spécifiques (fichiers de
données, images, ...).
Dans notre exemple, nous allons intégrer les fichiers de données HFSQL.
• Cliquez sur le bouton "Ajouter".
• Sélectionnez les fichiers de données (.fic, .ndx et .mmo) présents dans le répertoire EXE du
projet. La liste des fichiers apparaît.
• Indiquez que ces fichiers de données doivent être en écriture : cochez la case "Ecriture".
134 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
8. Passez à l’écran suivant. Cet écran permet d’indiquer :
• la version minimale nécessaire d’iOS pour exécuter l’application.
• si le partage des fichiers avec iTunes est possible. Si cette option est cochée, il sera pos-
sible de récupérer les fichiers de l’application sur le Mac lors de la synchronisation. Par
exemple, si des fichiers de données ont été livrés avec l’application, l’application iTunes
permettra de récupérer ces fichiers.
9. Validez l’assistant. La génération est faite dans le dossier EXE du répertoire du projet. Le
répertoire contenant les sources à utiliser sur le Mac s’appelle "Nom_du_projet.xcode.gen"
(pour notre exemple "iOS Gestion Produits.xcode.gen"). C’est ce répertoire qui doit être copié
sur le Mac. Cliquez sur le bouton "Ouvrir le répertoire de génération".
La suite des manipulations doit être effectuée sur le Mac. Nous ne détaillerons pas ici ces mani-
pulations. Pour plus de détails, consultez l’aide en ligne.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 135
Leçon 3.5. Diffusion de l’application
136 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
WinDev Mobile permet le développement d’applications pour le système d’exploitation iOS.
Lorsque les applications sont créées, développées, testées, il ne reste plus qu’à les déployer.
Déploiement
Il existe 3 méthodes pour déployer l’application sur un matériel (Device) de type iPhone ou iPad.
• Via App Store : Ce type de distribution vous permet de distribuer sans limites votre application
via le réseau de vente de l’App Store. Votre application inclura la signature liée à votre certificat
mais ne sera pas liée à un appareil unique.
• Via un réseau In-House : Ce type de distribution vous permet de distribuer votre application via
un serveur Web à un réseau d’utilisateurs faisant partie d’une entreprise. Ce type de distribu-
tion nécessite de s’inscrire au programme iOS Developer Entreprise. Votre application inclura la
signature liée à votre certificat mais ne sera pas liée à un appareil unique.
• Via un réseau Ad Hoc : Ce type de distribution vous permet d’installer l’application sur une flotte
contenant jusqu’à 100 appareils (de type iPhone ou iPad). L’application devra être recompilée
pour le matériel cible en incluant le certificat pour la signature ainsi que l’identifiant unique de
l’appareil.
Attention : Pour pouvoir tester et/ou déployer l’application sur un matériel (iPhone ou iPad), vous
devez vous enregistrer auprès de l’ iOS Developer Program. Cette inscription est payante. Vous
pouvez consulter la liste des programmes d’inscription à l’adresse suivante :
http://developer.apple.com/programs/which-program/
Il existe 3 types d’inscription :
• iOS Developer Program - Individuals
• iOS Developer Program - Organizations
• iOS Developer Enterprise Program
Cette inscription permet d’obtenir un certificat développeur qui permet de signer vos applications
pour les compiler et les rendre distribuables. Ce certificat est actuellement payant. Ce certificat
développeur est nécessaire même pour une simple installation pour test (debug) sur un matériel
(device).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 137
Leçon 3.6. Questions/Réponses
• Questions / Réponses
Durée estimée : 10 mn
138 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Questions / Réponses
Vous pouvez envoyer des messages en utilisant l’application native d’envoi d’emails de l’appareil.
Vous devez pour cela :
• initialiser les informations de la structure Email.
• utiliser la fonction EmailLanceAppli.
Vous pouvez envoyer des emails en utilisant les fonctions email du WLangage.
MonMessage..Expediteur = SAI_Expediteur
MonMessage..Sujet = SAI_SUJET
MonMessage..Message = SAI_CORPS
Ajoute(MonMessage..Destinataire, SAI_Adr_Destinataire)
// Envoi du message
EmailEnvoieMessage(MaSession, MonMessage)
// Fermeture de la session
EmailFermeSession(MaSession)
Le système iOS permet de se connecter à un serveur FTP pour envoyer ou récupérer des fichiers.
Pour cela, vous devez utiliser les fonctions suivantes :
• FTPConnecte pour se connecter au serveur FTP
• FTPDéconnecte pour se déconnecter
• FTPEnvoie pour envoyer un fichier du matériel vers le serveur FTP
• FTPRécupère pour récupérer un fichier du serveur vers le matériel.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 139
Exemple d’envoi de fichiers sur un serveur FTP :
// Connexion à un serveur FTP
nConnexion est un entier
nConnexion = FTPConnecte("Adresse du serveur FTP")
ResEnvoie = FTPEnvoie(NumConnexion, "/sdcard/photo.jpg", ...
"/Temp")
// Déconnexion
FTPDéconnecte(nConnexion)
Le système iOS possède des fonctions de gestion du GPS et de géolocalisation. Selon le matériel,
les fonctions GPS utiliseront la puce GPS du matériel ou un système de triangulation en passant
par les réseaux sans fil.
Attention :
Au premier lancement d’une fonction GPS, le système demande à l’utilisateur l’autorisation d’ef-
fectuer une géolocalisation. En cas de refus de l’utilisateur, toutes les fonctions GPS utilisées
dans la suite de l’application échoueront.
Pour réautoriser l’utilisation du GPS pour cette application, il est nécessaire de modifier la configu-
ration système de l’application.
140 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Question Comment afficher un graphe dans une application iOS ?
WinDev Mobile possède un champ de type Graphe. Vous pouvez donc à l’aide de ce champ dessi-
ner un graphe de type secteur, histogramme, courbe, ... dans une application iOS.
Le principe est le suivant :
1. Calculez à l’aide d’une requête ou de procédures en WLangage les valeurs à représenter
dans le graphe.
2. Créez un champ Graphe dans une fenêtre (sous le volet "Création", dans le groupe "Champs
graphiques", cliquez sur "Graphe").
3. Dans l’assistant de création du champ Graphe, indiquez la source des données du graphe
(requête, fichier, par programmation...)
Le graphe créé peut ensuite être modifié par programmation grâce aux fonctions du WLangage.
La famille de fonctions manipulant un champ Graphe commence par les lettres "gr" :
• grDessine
• grLégende
• grTitre
• grAjouteDonnée
• etc.
Lorsque vous développez une application iOS avec WinDev Mobile, le code natif est en Objective
C. Le WLangage est traduit en Objective C lors de la compilation. Il est donc possible depuis l’envi-
ronnement WinDev Mobile d’intégrer des procédures natives en langage Objective C. Pour cela,
vous devez :
• créer une collection de procédures globales
• créer une procédure globale
• cliquer sur le bandeau de l’entête de la procédure (là où se trouve le mot WL).
Le bandeau d’entête se transforme et devient de couleur bleu pâle. Le mot WL est transformé en
ObjC.
Attention : Vérifiez que le code que vous saisissez ou que vous copiez est correctement écrit :
WinDev Mobile ne vérifie pas la complétion. Vous n’aurez des erreurs qu’à la compilation du projet
dans Xcode.
Remarque : Il est également possible d’intégrer des librairies personnelles (.h et .a) ou des librai-
ries système (exemple : MediaPlayer.framework).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 3 : Application iOS 141
142 Partie 3 : Application iOS (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 4
Application
Windows Store
apps
144 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 4.1. Mon premier projet
Windows Store apps
• Configuration nécessaire
• Créer un projet Windows Store apps
• Ma première fenêtre
• Mon premier test
• Premier déploiement
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 145
Présentation
Pour commencer à utiliser WinDev Mobile, nous allons simplement créer un premier projet. Ce
projet contiendra une fenêtre permettant d’afficher un message.
Ce premier exemple permettra de présenter rapidement les bases du développement avec Win-
Dev Mobile.
Mais avant de créer notre premier projet pour Windows Store apps, une configuration du poste de
développement est nécessaire.
Création du projet
Nous allons créer notre premier projet en mode Windows Store apps.
Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé
146 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
L’assistant de création d’un projet se lance. Les différents écrans de l’assistant vont vous ai-
der à créer votre projet. Tous les renseignements indiqués dans cet assistant pourront être
modifiés par la suite.
Astuce : Autre méthode pour créer un projet :
Notes
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 147
5. L’assistant propose d’ajouter des documents. Conservez les options par défaut et passez à
l’écran suivant.
6. L’écran suivant permet de paramétrer le répertoire du SDK Windows 8.
Note : Le chemin du SDK indiqué est mémorisé pour tous les projets futurs.
7. Dans la partie gauche de l’assistant, cliquez sur "Chartes". Cette étape permet de définir
la charte de programmation utilisée. Ne modifiez pas les options proposées. Passez à l’écran
suivant à l’aide des flèches situées en bas.
8. Cette étape permet de définir la charte graphique. Sélectionnez "Win 8 Blue".
9. Les autres étapes de l’assistant n’étant pas importantes pour notre premier projet, dans la
partie gauche de l’assistant, cliquez directement sur "Fin".
10. Cliquez sur le bouton de validation en bas de l’assistant. Le projet est automatiquement
créé. WinDev Mobile affiche les différentes actions possibles.
11. Cliquez sur "Editeur de WinDev Mobile".
Ma première fenêtre
Présentation
La première fenêtre que nous allons créer permet à l’utilisateur d’afficher un message de bienve-
nue grâce au bouton "Afficher".
Vous pouvez être tenté de dire que c’est trop simple, trop basique, mais nous vous conseillons de
réaliser cette fenêtre. Vous risquez d’être surpris par la facilité et l’intuitivité de l’éditeur de Win-
Dev Mobile. De plus, cette fenêtre vous permettra de découvrir des concepts fondamentaux pour
la suite de ce cours et de voir tout le processus de développement d’une application Windows
Store apps avec WinDev Mobile.
Création de la fenêtre
148 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
2. La fenêtre de création d’un nouvel élément s’affiche. Cette fenêtre permet de créer tous les
éléments pouvant être associés à un projet.
3. Cliquez sur "Fenêtre" puis sur "Fenêtre". L’assistant de création d’une fenêtre s’affiche.
4. Sélectionnez "Vierge" dans la liste des fenêtres affichée sur la gauche. Dans la liste des
gabarits présente sur la droite, le gabarit "Win 8 Blue" est sélectionné par défaut. Vous pouvez
choisir un autre gabarit proposé dans la liste.
gabarit définit le look de la fenêtre mais également le look de tous les champs
qui seront utilisés dans cette fenêtre. Ainsi, aucune faute de goût n’est possible.
Observez bien le nom de la fenêtre que WinDev Mobile propose par défaut : ce
nom commence par les lettres "FEN_". Ce préfixe est automatiquement ajouté
car le projet utilise une charte de programmation.
La charte de programmation permet de définir un préfixe pour chaque type d’ob-
jet et ainsi d’identifier rapidement l’élément manipulé :
Note
• l’emplacement qui correspond au nom du fichier créé pour la fenêtre. La fenêtre est un fi-
chier d’extension "WPW", enregistré dans le répertoire du projet.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 149
Affichage d’un message
Vous allez maintenant créer un bouton permettant d’afficher un message.
Pour créer le bouton "Afficher" :
1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur . Le bouton appa-
raît en création sous la souris.
2. Déplacez la souris dans la fenêtre vers la position où le champ doit être créé (par exemple
en haut de la fenêtre). Pour poser le champ dans la fenêtre, il suffit de faire un nouveau clic
gauche de souris.
3. Faites un clic droit de la souris sur le champ que vous venez de créer. Le menu contextuel
du champ apparaît. Dans ce menu contextuel, sélectionnez l’option "Description". La fenêtre
de description du bouton s’affiche.
Modifiez les caractéristiques du champ en saisissant les informations suivantes :
150 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Remarque sur l’aide à la saisie : Dès la saisie des deux premiers caractères, WinDev Mobile pro-
pose tous les mots du vocabulaire WLangage contenant ces caractères. L’assistance au dévelop-
pement est poussée très loin. Vous ne pouvez plus vous tromper en saisissant le nom d’un élé-
ment : les erreurs de syntaxes sont minimisées. Il suffit de sélectionner le mot désiré et de valider
par la touche [ENTREE]. Vous pourrez ainsi vous concentrer sur l’algorithme.
En saisissant ce code sous l’éditeur de code, vous constatez que les différents
éléments saisis utilisent des couleurs différentes. C’est la coloration syntaxique.
L’éditeur de code permet ainsi d’identifier rapidement les différents éléments
manipulés par le code :
• les fonctions du WLangage apparaissent en bleu,
Notes
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 151
Tout développeur sait que tester un programme est souvent long, voire fastidieux. Avec
WinDev, en UN CLIC, vous testez la fenêtre, l’état, ou la procédure que vous êtes en train de
réaliser. C’est à la fois simple et rapide !
Cliquez sur le bouton "x" situé dans la coque du simulateur pour fermer la fenêtre.
L’éditeur de WinDev Mobile réapparaît.
Premier déploiement local
Principe
Une application Windows Store apps peut être exécutée directement sur le poste de développe-
ment si le système utilisé est Windows 8. Pour exécuter l’application de manière autonome sur le
poste de développement, il suffit de :
• Générer l’application Windows Store apps sous WinDev Mobile.
• Le programme sera ensuite installé sur le poste. Il fonctionnera de manière autonome.
Nous allons voir en détail ces différentes étapes.
152 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Mise en place
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 153
Pour générer un nouveau certificat :
• Indiquez le nom du certificat à générer.
• Le plan suivant de l’assistant permet de créer le certificat.
• Cliquez sur le bouton "Créer le certificat" et renseignez les différents mots de passe deman-
dés.
• Validez l’installation du certificat sur le poste en cours.
• Saisissez à nouveau un mot de passe.
• L’explorateur Windows s’ouvre et affiche le certificat créé.
• Dans l’explorateur, affichez le menu contextuel du fichier (clic droit) et sélectionnez l’option
"Installer le certificat". L’assistant d’importation du certificat se lance.
• Dans l’assistant, sélectionnez l’emplacement de stockage "Ordinateur local". Cliquez sur
"Suivant".
• Sélectionnez l’option "Placer tous les certificats dans le magasin suivant".
• Cliquez sur le bouton "Parcourir" et sélectionnez le magasin "Autorités de certification ra-
cines de confiance".
• Cliquez sur le bouton "Suivant" jusqu’à la fin de l’assistant. Un message apparaît indiquant
que l’importation a réussi.
• Dans l’assistant, cochez l’option "Le certificat a été installé avec succès" et passez à l’écran
suivant.
13. Validez la génération de l’application Windows 8. L’application est générée et la tuile
correspondante est créée sur l’écran d’accueil de Windows 8. Vous pouvez immédiatement
lancer l’application.
Remarque : L’application générée peut être installée sur une tablette Windows 8. Pour plus de
détails, consultez l’aide en ligne.
154 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 4.2. Interface (IHM)
• Orientation de la fenêtre
• Gestion du tactile
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 155
Présentation
Les applications Windows Store apps sont disponibles aussi bien sur un PC de bureau (en mode
tuile) que sur des tablettes. WinDev Mobile permet de créer simplement des interfaces s’adaptant
au matériel utilisé.
Orientation de la fenêtre
Sur une tablette, une fenêtre peut avoir une des orientations suivantes :
• Bloquée en mode portrait,
• Bloquée en mode paysage,
• Libre : la fenêtre suit l’orientation du matériel.
Cette orientation est définie dans l’onglet "Détail" de la fenêtre de description de la fenêtre (option
"Description" du menu contextuel de la fenêtre).
Dans les deux premiers cas, aucune manipulation spécifique n’est nécessaire.
Dans le cas d’une fenêtre libre, la disposition des champs et leur taille doit s’adapter à l’orienta-
tion. Il faut utiliser le mécanisme de l’ancrage pour obtenir un résultat satisfaisant.
156 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Exemple pratique
Ouvrez si nécessaire le projet "Mon_Projet_WSA" que vous venez de créer dans la leçon
précédente.
Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé
Dans notre exemple, nous avons testé notre projet en mode portrait sous le simulateur.
Nous allons maintenant le tester en mode paysage sous le simulateur.
Lancez le test du projet ( parmi les boutons d’accès rapide).
1. La fenêtre apparaît en mode portrait.
2. Dans le simulateur, cliquez sur la flèche dans la coque ( ).
3. La fenêtre change d’orientation à l’écran.
4. Dans notre exemple, le bouton ne change pas de place : il ne s’adapte pas à l’orientation
de l’écran.
Nous allons maintenant modifier notre fenêtre pour que le bouton "Afficher" soit centré dans
la fenêtre et reste centré quelle que soit l’orientation du mobile.
Arrêtez le test et revenez sous l’éditeur.
Pour centrer le bouton dans la fenêtre :
1. Sélectionnez le bouton (clic sur le bouton).
2. Sous le volet "Alignement", dans le groupe "Centrage et répartition", cliquez sur "Centrer
dans le parent (horz)".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 157
Pour que le bouton reste centré dans la fenêtre, nous allons utiliser l’ancrage du champ :
1. Sélectionnez le bouton (clic sur le bouton).
2. Affichez le menu contextuel (clic droit).
3. Sélectionnez l’option "Ancrage" : la fenêtre de définition des ancrages apparaît :
158 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 4.3. Bases de données
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 159
Les bases de données disponibles
Présentation
Dans les applications Windows Store apps, seule la base de données HFSQL est accessible en
natif. Le mode Classic et le mode Client/Serveur sont tous les deux possibles.
HFSQL Client/Serveur
En mode HFSQL Client/Serveur, aucune donnée n’est stockée sur le matériel. Les données sont
stockées sur une machine sur laquelle est installé un serveur HFSQL.
Pour accéder à cette machine et donc à la base de données, il est nécessaire d’avoir activé
un moyen de communication avec le serveur dans l’application mobile (Wi-Fi ou 3G) afin de se
connecter via le réseau ou Internet.
Les temps de réponse vont bien entendu dépendre de la qualité du réseau Wi-Fi ou Internet et du
volume des données demandées.
L’accès aux données se fera à l’aide des fonctions WLangage Hxxx et/ou de requêtes SQL.
La synchronisation
Le mécanisme de synchronisation permet de "synchroniser" les données stockées sur un matériel
mobile avec les données stockées sur un serveur. La synchronisation utilise le mécanisme de la
"réplication universelle".
Cette technique est disponible aussi bien en WinDev, WebDev et WinDev Mobile.
160 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Accès aux données au travers d’un Webservice
Une autre méthode permet également d’accéder à des données sur un serveur depuis un appa-
reil mobile : l’utilisation d’un Webservice.
Dans ce cas, l’appareil mobile doit disposer d’une connexion Wi-Fi ou 3G pour se connecter au
Webservice.
L’application mobile n’accède pas en direct à la base de données. L’application appelle des fonc-
tions du Webservice. Ces fonctions retournent les données.
C’est le Webservice qui accède à la base de données.
Cette technique permet par exemple d’avoir une couche métier (le Webservice) commune à plu-
sieurs types d’applications et d’interfaces (WinDev, WebDev ou WinDev Mobile) et différents types
de systèmes d’exploitation (Windows, Android, iOS, ...).
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 161
Leçon 4.4. Programmation avancée
Durée estimée : 1 h 30 mn
162 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
Dans cette leçon, nous allons réaliser une application Windows Store apps utilisant une base de
données HFSQL Classic.
Cette application va nous permettre de détailler plusieurs points spécifiques de la programmation
Windows Store apps.
Ouverture du projet
Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.
Ouvrez le projet "WSA Gestion Produits".
Pour cela, dans la fenêtre de bienvenue, cliquez sur "Cours d’auto-formation" et sélectionnez
le projet "Gestion de Produits Windows Store apps (Exercice)".
Astuce : si la fenêtre de bienvenue n’est pas affichée, il est possible sous le volet "Accueil",
dans le groupe "Aide en ligne" de dérouler l’option "Guide d’Auto-formation" puis de sélection-
ner l’option "Gestion de Produits Windows Store apps (Exercice)".
Un projet corrigé est disponible. Ce projet contient les différentes fenêtres créées
Corrigé
dans cette leçon. Pour ouvrir le projet corrigé, sous le volet "Accueil", dans le
groupe "Aide en ligne", déroulez l’option "Guide d’auto-formation" puis sélection-
nez "Gestion de Produits Windows Store apps (Corrigé)".
Description du projet
Examinons notre projet de départ. Ce projet est un projet déjà créé. Il ne contient aucune fenêtre.
Il contient uniquement l’analyse décrivant les fichiers de données HFSQL Classic que nous allons
utiliser. Dans le répertoire EXE, les fichiers de données correspondants sont fournis avec des
données pour réaliser les différents tests.
Pour visualiser l’analyse associée au projet :
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev Mobile.
2. L’éditeur d’analyses s’affiche.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 163
3. Cette analyse est composée de 3 fichiers de données :
• Un fichier "Produit", qui contient la description du produit : nom, prix, quantité, ...
• Un fichier "Caractéristique", qui contient les différentes caractéristiques du produit. Par
exemple, si le produit est un t-shirt, ses caractéristiques correspondront à la taille, la cou-
leur, ... Le fichier "Caractéristique" est donc lié au fichier "Produit".
• Un fichier "Magasin", qui contient pour chaque magasin, ses coordonnées GPS.
4. Fermez l’éditeur d’analyses (cliquez sur la croix en haut à droite de l’éditeur).
Nous allons maintenant commencer le développement de notre application.
Attention!
Dans cette partie, les différents tests seront réalisés uniquement en mode simu-
lation sous WinDev Mobile. En effet, le déploiement de l’application Windows
Store apps est relativement long.
Création de la fenêtre
164 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5. Sélectionnez les rubriques à afficher :
6. Conservez les rubriques "Nom", "Description" et "Prix" (une coche doit être présente devant
ces rubriques). Passez à l’écran suivant.
7. Conservez la rubrique de tri proposée (IDProduit). Les produits seront triés dans le champ
Zone répétée suivant cette rubrique. Passez à l’écran suivant.
8. Dans l’écran "Paramètres supplémentaires", conservez les options par défaut. Passez à
l’écran suivant.
9. Conservez le nom par défaut "ZR_Produit" et validez.
10. Le champ Zone répétée apparaît sous l’éditeur de fenêtres. Par défaut, le champ Zone
répétée s’adapte automatiquement à l’espace disponible dans la fenêtre.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 165
Nous allons effectuer un premier test dans le simulateur pour visualiser le résultat. Cliquez
sur parmi les boutons d’accès rapide (ou utilisez la touche [F9]).
166 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour certains types de champs, WinDev Mobile propose une liste de champs
prédéfinis. Ces champs sont des champs avancés, configurés pour effectuer
Notes
4. Cliquez sur "Fermer" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas à
gauche de la fenêtre pour créer le bouton.
5. Redimensionnez si nécessaire le bouton créé.
Testez la fenêtre ( parmi les boutons d’accès rapide). Cliquez sur le bouton "Fermer". La
fenêtre se ferme et l’éditeur réapparaît.
Création de la fenêtre
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 167
Création des champs
4. Modifiez la taille du champ "Description" afin qu’il soit visible dans la fenêtre.
5. Réorganisez les champs dans la fenêtre. Respectez l’ordre suivant : "Photo", "Nom", "Prix",
"Quantité", "Code-barres", "Date de réapprovisionnement", "Description".
6. Nous allons visualiser l’ordre de navigation dans la fenêtre : appuyez sur la touche [F5]. Les
numéros qui s’affichent représentent l’ordre de navigation dans la fenêtre. Appuyez à nouveau
sur la touche [F5] pour faire disparaître les numéros. L’ordre de navigation s’adapte automati-
quement à l’ordre des champs dans la fenêtre.
7. Enregistrez la fenêtre.
168 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Arrêtons-nous un instant sur l’ancrage des champs de cette fenêtre. Nous allons ancrer le
champ "Nom" et le champ "Description".
1. Pour le champ "Nom" :
• Sélectionnez le champ "Nom" et faites un clic droit de souris.
• Dans le menu contextuel qui s’affiche, sélectionnez l’option "Ancrage".
• Le champ va s’étirer vers la droite : choisissez l’option et validez.
2. Pour le champ "Description" :
• Sélectionnez le champ "Description" et faites un clic droit de souris.
• Dans le menu contextuel qui s’affiche, sélectionnez l’option "Ancrage".
• Le champ va s’étirer vers la droite et vers le bas : choisissez l’option et validez.
Testez la fenêtre ( parmi les boutons d’accès rapide). La fenêtre apparaît avec tous les
champs vides.
Pour afficher les données du produit :
1. Affichez les traitements associés à la fenêtre :
• Dans la zone à côté de la fenêtre, faites un clic droit de souris
• Dans le menu contextuel qui s’affiche, sélectionnez "Code".
• L’éditeur de code apparaît.
2. Dans le traitement "Fin d’initialisation de FEN_Fiche_du_produit", saisissez le code suivant :
FichierVersEcran()
La fonction FichierVersEcran permet d’afficher dans les champs les données présentes dans
le fichier de données pour l’enregistrement en cours.
3. Fermez la fenêtre de code.
4. Enregistrez la fenêtre.
2. Faites un clic droit sur le champ Zone répétée et dans le menu qui s’affiche, sélectionnez
l’option "Code".
3. Dans la fenêtre de code qui apparaît, saisissez le code suivant dans le traitement "Sélec-
tion d’une ligne de ..." :
OuvreFenêtreMobile(FEN_Fiche_du_produit)
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 169
Laissez-vous guider par l’assistance à la saisie de code : dès que vous allez ta-
per la parenthèse ouvrante "(", une liste déroulante va s’ouvrir proposant le nom
de toutes les fenêtres existantes dans le projet. Il suffit de sélectionner la fenêtre
Notes
au clavier ou à la souris.
Si vous ne trouvez pas le nom de la fenêtre que vous cherchez dans la liste, c’est
que celle-ci n’a pas été sauvegardée précédemment.
4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Testez la fenêtre à nouveau sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris.
• La fenêtre de détail du produit s’affiche.
Fermez le simulateur.
Gestion de la création et de la modification d’un produit
Nous allons maintenant modifier nos deux fenêtres afin de gérer l’ajout et la modification d’un
produit.
170 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Examinons ce code :
• La fonction EcranVersFichier permet d’initialiser les rubriques avec les valeurs des champs
liés, pour l’enregistrement courant.
• La fonction HModifie permet de mettre à jour les données du fichier pour l’enregistrement
courant.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lors de la fermeture de la fiche du produit, il est nécessaire de rafraîchir le contenu de la liste
des produits présente dans la fenêtre "FEN_Liste_des_produits" pour prendre en compte les
modifications réalisées dans la fiche.
Il suffit pour cela d’utiliser le traitement "Fermeture d’une fenêtre fille" de la fenêtre "FEN_
Liste_des_produits".
1. Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres.
2. Faites un clic droit sur le fond de la fenêtre et dans le menu qui s’affiche, sélectionnez
l’option "Code". Dans le traitement "Fermeture d’une fenêtre fille", saisissez le code suivant :
ZoneRépétéeAffiche(ZR_Produit, taCourantBandeau)
Examinons ce code :
• Le traitement "Fermeture d’une fenêtre fille" est exécuté à chaque fois qu’une fenêtre fille
de la fenêtre en cours est fermée. Dans notre cas, il est donc exécuté lorsque la fenêtre
"FEN_Fiche_du_produit" est fermée.
• La fonction ZoneRépétéeAffiche permet de mettre à jour les données du champ Zone répé-
tée de la fenêtre "FEN_Liste_des_produits". Grâce à la constante taCourantBandeau, la
mise à jour est effectuée à partir de l’enregistrement en cours dans le fichier de données.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Lancez le test de la fenêtre "FEN_Liste_des_produits" sous le simulateur ( parmi les
boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris : par exemple, le pro-
duit "Polo Hibbicus Bleu" au prix de 25,90 euros.
• La fenêtre de détail du produit s’affiche. Modifiez le prix de 25,90 euros et saisissez
19,90 euros puis ensuite cliquez sur le bouton "Valider".
• De retour sur la liste des produits, vous pouvez constater que le prix de cet article a été mis
à jour.
Fermez le simulateur. L’éditeur de WinDev Mobile est affiché.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 171
Création d’un nouveau produit
Le principe de la création d’un produit va être le suivant :
• Dans la fenêtre de la liste des produits, nous allons ajouter un bouton "Nouveau produit" qui va
permettre d’ouvrir la fenêtre "Fiche du produit".
• Nous modifierons ensuite le code de la fenêtre "Fiche du produit" pour gérer l’ajout dans le
fichier de données Produit.
Pour ajouter un bouton dans la liste des produits :
1. Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur.
2. Sous le volet "Création", dans le groupe "Champs usuels", déroulez "Bouton" (cliquez sur la
flèche située sous ).
3. La liste des boutons prédéfinis s’affiche.
4. Cliquez sur "Nouveau" : la forme du bouton apparaît sous la souris. Cliquez ensuite en bas
de la fenêtre pour créer le bouton (à gauche du bouton "Fermer").
5. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Nouveau produit" et appuyez sur la touche [ENTREE] du clavier.
6. Agrandissez si nécessaire la taille du bouton (à l’aide des poignées de redimensionnement)
pour que le libellé s’affiche en entier.
La fonction HRaz initialise les variables des rubriques du fichier Produit avec les valeurs par dé-
faut pour gérer un nouvel enregistrement.
8. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
9. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
172 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Maintenant, nous allons modifier la fenêtre de la fiche du produit pour gérer l’ajout d’un
nouvel enregistrement.
1. Affichez la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Nous allons modifier le code du bouton de validation :
• Faites un clic droit sur le bouton puis sélectionnez l’option "Code" dans le menu contextuel.
• Dans le traitement "Clic sur", remplacez le code par le code suivant :
EcranVersFichier()
SI Produit..NouvelEnregistrement ALORS
HAjoute(Produit)
SINON
HModifie(Produit)
FIN
Ferme()
Examinons ce code :
• La propriété ..NouvelEnregistrement permet de savoir si l’enregistrement en cours doit être
créé.
• Si la fonction HRaz a été appelée précédemment, la propriété renvoie Vrai (cas du clic sur
"Nouveau produit") et l’enregistrement doit être créé par la fonction HAjoute.
• Dans le cas contraire, l’enregistrement en cours existe déjà et doit être modifié par la fonc-
tion HModifie.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres.
Lancez le test de la fenêtre "FEN_Liste_des_Produits" sous le simulateur ( parmi les
boutons d’accès rapide).
• Dans la liste des produits, cliquez sur le bouton "Nouveau produit".
• Saisissez un nouveau produit.
• Validez. Le nouveau produit apparaît dans la liste des produits.
• Fermez le simulateur.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 173
Utilisation de l’appareil photo et affichage d’une image
Présentation
Nous allons gérer la photo du produit. Nous allons utiliser l’appareil photo du matériel.
Nous allons créer un bouton pour lancer l’appareil photo. La photo sera récupérée sous la forme
d’une image en mémoire et affichée dans le champ Image du produit.
174 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Prise de photo
Nous allons saisir maintenant le code pour prendre une photo et l’afficher dans le champ image
de la fiche produit.
Pour gérer la prise de photo :
1. Dans le menu contextuel du bouton (clic droit), sélectionnez l’option "Code".
2. Saisissez le code suivant dans le traitement "Clic sur" :
// Variable locale
sPhoto est une chaîne
// On lance l’appareil photo
sPhoto = VidéoLanceAppli(viCaptureImage)
SI sPhoto <> “” ALORS
IMG_Photo = sPhoto
FIN
Dans ce code, la fonction VidéoLanceAppli permet de lancer l’application caméra native de l’ap-
pareil afin d’enregistrer une vidéo ou de prendre une photo.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Tester l’application
Il reste un dernier réglage à effectuer, indiquer que la fenêtre "FEN_Liste_des_produits" est la
première fenêtre de l’application. Pour cela, nous allons indiquer quelle est la première fenêtre du
projet et lancer un test complet du projet.
Pour définir la première fenêtre du projet :
1. Sélectionnez la fenêtre "FEN_Liste_des_produits" dans l’explorateur de projet.
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre du projet". Une icône spécifique (avec un petit 1)
apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Jusqu’à présent vous testiez les fenêtres de façon individuelle en cliquant sur parmi les bou-
tons d’accès rapide.
Pour lancer le test du projet :
1. Cliquez sur parmi les boutons d’accès rapide.
2. Votre projet démarre par la fenêtre permettant de lister les produits.
Voilà, notre application est terminée, il faut maintenant la compiler et l’installer sur votre poste
afin de tester.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 175
Générer l’application
Avant de générer l’application, assurez-vous que votre poste de développement est configuré pour
la génération d’applications de type Windows Store apps. Pour plus de détails, consultez "Configu-
ration nécessaire pour les applications Windows Store apps", page 146.
Pour générer l’application Windows Store apps :
1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer" (vous pouvez égale-
ment cliquer sur parmi les boutons d’accès rapide).
7. Passez à l’écran suivant. Cet écran permet d’indiquer les fonctionnalités utilisées par l’ap-
plication. WinDev Mobile a automatiquement sélectionné les fonctionnalités utilisées dans
l’application (Microphone et Webcam). Conservez ces options et passez à l’écran suivant.
176 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
8. Les applications Windows Store apps doivent être signées pour fonctionner. L’assistant pro-
pose de générer un certificat ou d’utiliser un certificat existant. Si vous avez créé un certificat
lors de la génération de l’exemple "Mon_Projet_WSA" ou si vous possédez déjà un certificat,
sélectionnez ce certificat. Pour générer un nouveau certificat, consultez le paragraphe "Pre-
mier déploiement local", page 152.
9. Validez la génération de l’application Windows 8. L’application est générée et la tuile
correspondante est créée sur l’écran d’accueil de Windows 8. Vous pouvez immédiatement
lancer l’application.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 177
Leçon 4.5. Diffusion de l’application
178 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
WinDev Mobile permet le développement d’applications Windows Store apps.
Lorsque les applications sont créées, développées, testées, il ne reste plus qu’à les déployer.
Déploiement
Une application en mode tuile peut être déployée :
• Directement sur le poste local. Nous avons vu la procédure à suivre dans les chapitres précé-
dents.
• Directement sur une tablette. Les différentes étapes sont détaillées dans l’aide en ligne (mots-
clés : "Installer, Une application sur une tablette"). Si vous possédez une tablette, nous vous
conseillons de réaliser cette installation.
• Via Windows Store. Cette méthode est le mode de diffusion classique d’une application en
mode tuile. L’assistant de génération d’une application Windows Store apps permet de générer
l’application pour un déploiement via Windows store.
Pour plus de détails sur les procédures de déploiement, consultez l’aide en ligne.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 4 : Application Windows Store apps 179
180 Partie 4 : Application Windows Store apps (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
PARTIE 5
Application
Windows
Mobile
182 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 5.1. Mon premier projet
Windows Mobile
Durée estimée : 1 h
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 183
Présentation
Pour commencer à utiliser WinDev Mobile, nous allons simplement créer un premier projet. Ce
projet contiendra une fenêtre permettant d’afficher un message.
Ce premier exemple permettra de présenter rapidement les bases du développement avec Win-
Dev Mobile.
Création du projet
Nous allons créer notre premier projet pour Windows Mobile. Si vous possédez l’appareil mobile
(Smartphone ou Pocket PC) sur lequel l’application doit être exécutée, il est conseillé de connec-
ter cet appareil au poste de développement. Ainsi, les caractéristiques de l’appareil seront auto-
matiquement détectées et proposées lors de la création du projet Windows Mobile.
Un projet corrigé est disponible. Pour ouvrir ce projet, sous le volet "Accueil",
Corrigé
L’assistant de création de projet se lance. Les différents écrans de l’assistant vont vous aider
à créer votre projet. Tous les renseignements indiqués dans cet assistant pourront être modi-
fiés par la suite.
184 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Astuce : Autre méthode pour créer un projet :
Notes
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev
Mobile.
2. La fenêtre de création d’un nouvel élément s’affiche : cliquez sur "Projet".
• Si vous avez connecté votre appareil, cliquez sur "Cliquez ici pour détecter automatique-
ment l’appareil".
• Si vous ne possédez pas d’appareil, passez à l’écran suivant pour définir manuellement les
caractéristiques de l’appareil utilisé.
7. Si vous ne possédez pas d’appareil, l’écran suivant permet de choisir l’appareil à utiliser
pour le développement de votre application.
Attention : cet écran est important car la taille de vos fenêtres dépendra du choix effectué.
Pour notre exemple, sélectionnez "Windows Mobile 5 / 6". Passez à l’écran suivant.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 185
8. L’écran de description de votre appareil apparaît.
Ma première fenêtre
Présentation
La première fenêtre que nous allons créer permet à l’utilisateur d’afficher un message de bienve-
nue grâce au bouton "Afficher".
Vous pouvez être tenté de dire que c’est trop simple, trop basique, mais nous vous conseillons de
réaliser cette fenêtre. Vous risquez d’être surpris par la facilité et l’intuitivité de l’éditeur de Win-
Dev Mobile. De plus, cette fenêtre vous permettra de découvrir des concepts fondamentaux pour
la suite de ce cours et de voir tout le processus de développement d’une application Windows
Mobile avec WinDev Mobile.
186 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Création de la fenêtre
2. La fenêtre de création d’un nouvel élément s’affiche. Cette fenêtre permet de créer tous les
éléments pouvant être associés à un projet.
3. Cliquez sur "Fenêtre" puis sur "Fenêtre". L’assistant de création d’une fenêtre se lance.
4. Sélectionnez "Vierge" dans la liste des fenêtres affichée sur la gauche. Dans la liste des
gabarits présente sur la droite, le gabarit "Elegant" est sélectionné par défaut. Vous pouvez
choisir un autre gabarit proposé dans la liste.
gabarit définit le look de la fenêtre mais également le look de tous les champs
qui seront utilisés dans cette fenêtre. Ainsi, aucune faute de goût n’est possible.
Observez bien le nom de la fenêtre que WinDev Mobile propose par défaut : ce
nom commence par les lettres "FEN_". Ce préfixe est automatiquement ajouté
car le projet utilise une charte de programmation.
La charte de programmation permet de définir un préfixe pour chaque type d’ob-
jet et ainsi d’identifier rapidement l’élément manipulé :
Note
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 187
• l’emplacement qui correspond au nom du fichier créé pour la fenêtre. La fenêtre est un fi-
chier d’extension "WPW", enregistré dans le répertoire du projet.
188 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Nous allons afficher un message dans une boîte de dialogue (une mini-fenêtre proposée par
le système). Pour cela, nous allons utiliser notre première fonction WLangage : la fonction
Info.
Notes
Le WLangage est le langage de programmation fourni avec WinDev Mobile. C’est
un langage de 5° génération (L5G), possédant des ordres évolués.
Remarque sur l’aide à la saisie : Dès la saisie des deux premiers caractères, WinDev Mobile pro-
pose tous les mots du vocabulaire WLangage contenant ces caractères. L’assistance au dévelop-
pement est poussée très loin. Vous ne pouvez plus vous tromper en saisissant le nom d’un élé-
ment : les erreurs de syntaxes sont minimisées. Il suffit de sélectionner le mot désiré et de valider
par la touche [ENTREE]. Vous pourrez ainsi vous concentrer sur l’algorithme.
En saisissant ce code sous l’éditeur de code, vous constatez que les différents
éléments saisis utilisent des couleurs différentes. C’est la coloration syntaxique.
L’éditeur de code permet ainsi d’identifier rapidement les différents éléments
manipulés par le code :
• les fonctions du WLangage apparaissent en bleu,
Notes
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 189
Premier test
Pour une application Windows Mobile, WinDev Mobile permet de tester directement l’application
sur le poste de développement grâce au mode simulation. Ce test réalise une simulation d’un pé-
riphérique Windows Mobile sur le poste de développement. Ce test est utile quand le développeur
ne dispose pas de périphérique Windows Mobile. Cependant, ce test ne permet pas d’utiliser les
composants matériels de l’appareil (SMS, ...).
Tout développeur sait que tester un programme est souvent long, voire fastidieux. Avec
WinDev Mobile, en UN CLIC, vous testez la fenêtre, l’état ou la procédure que vous êtes en
train de réaliser. C’est à la fois simple et rapide !
Cliquez sur le bouton "x" situé dans la coque du simulateur pour fermer la fenêtre.
L’éditeur de WinDev Mobile réapparaît.
190 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Premier déploiement sur l’appareil
Principe
Pour exécuter l’application de manière autonome sur l’appareil mobile, il suffit de :
• Connecter l’appareil via un port USB.
• Générer l’application.
• Choisir de copier et de lancer l’exécutable sur le mobile connecté. La copie de l’application peut
prendre quelques secondes.
Mise en place
L’icône de l’exécutable peut être choisie dans le catalogue d’images de WinDev Mobile (bouton
"Catalogue").
Dès qu’une image peut être utilisée (dans un champ, une fenêtre, un état, ...), le
bouton "Catalogue" apparaît dans la fenêtre de description du champ. Ce bouton
permet de sélectionner une image parmi les milliers d’images fournies dans le
catalogue d’images de WinDev, WebDev, WinDev Mobile.
Notes
6. Les autres écrans ne sont pas nécessaires pour notre application. Cliquez directement sur
le lien "2- Copie sur PPC", à gauche de l’assistant.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 191
7. Cet écran permet de définir les options de copie des fichiers sur le mobile :
192 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Leçon 5.2. Bases de données
Durée estimée : 30 mn
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 193
Format des bases de données
Une application Windows Mobile peut manipuler des données. Le format de ces bases de don-
nées peut être :
• HFSQL (en mode Classic ou Client/Serveur), système de base de données livré en standard
avec WinDev Mobile.
• CEDB, système de base de données utilisable sous terminal mobile (Pocket PC).
• AS/400, base de données de type AS/400 utilisable sous terminal mobile (Pocket PC).
• ...
HFSQL Client/Serveur
En mode HFSQL Client/Serveur, aucune donnée n’est stockée sur le matériel. Les données sont
stockées sur une machine sur laquelle est installé un serveur HFSQL.
Pour accéder à cette machine et donc à la base de données, il est nécessaire d’avoir activé
un moyen de communication avec le serveur dans l’application mobile (Wi-Fi ou 3G) afin de se
connecter via le réseau ou Internet.
Les temps de réponse vont bien entendu dépendre de la qualité du réseau Wi-Fi ou Internet et du
volume des données demandées.
L’accès aux données se fera à l’aide des fonctions WLangage Hxxx et/ou de requêtes SQL.
Lors du test (en mode simulation) d’une application WinDev Mobile manipulant
Notes
des fichiers de données HFSQL, les fichiers de données manipulés sont ceux
présents sur le poste PC.
194 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
CEDB
Le format CEDB est un format de base de données utilisable sur les terminaux mobiles (Pocket
PC).
Une base de données CEDB correspond à un fichier ".CDB". Une base de données CEDB peut
contenir plusieurs fichiers de données (appelés également "tables").
Deux types de bases de données CEDB existent :
• les bases de données CEDB standard, qui correspondent aux bases de données présentes
par défaut sur le terminal mobile. Il s’agit des bases de données contenant les fichiers de
données "Tâches", "Contacts", "RendezVous", ...
• les autres bases de données CEDB (appelées personnalisées), qui correspondent à des
bases de données Access (fichier ".MDB") préalablement exportées depuis un poste PC.
Remarque : Lors de la copie d’une base de données Access (fichier ".MDB") sur un terminal mo-
bile (à l’aide de l’explorateur de fichiers), cette base de données se transforme automatiquement
en base de données CEDB (fichier ".CDB").
Une base de données CEDB peut être manipulée :
• à partir d’une application WinDev Mobile.
• à partir d’une application WinDev standard.
Ces manipulations sont réalisées à l’aide des fonctions cdbXXX du WLangage.
Attention : A partir de Windows Mobile 5, l’accès à une base de données stan
dard (tâches, contacts, rendez-vous, ...) n’est plus possible depuis une applica
tion Windows (et donc depuis une application WinDev standard).
Notes
Les bases CDB sont accessibles depuis le PC, depuis le simulateur, depuis le
terminal mobile.
Les bases de données standard sont accessibles uniquement depuis le terminal
mobile.
Attention : La structure des bases de données CEDB n’est pas adaptée au traite
Notes
ment de gros volumes de données. Il est donc conseillé d’utiliser des bases de
données HFSQL. De plus, avec HFSQL, vous bénéficiez de toutes les fonctionnali-
tés disponibles sur WinDev Mobile (RAD, liaison fichier, ...).
Lors du test (en mode simulation) d’une application Windows Mobile manipulant
Notes
une base de données CEDB, la base de données manipulée est présente sur le
Pocket PC.
AS/400
Ce format de base de données est accessible via un Accès Natif par les applications Windows
Mobile. Pour utiliser cet Accès Natif, il est nécessaire de posséder un module complémentaire à
WinDev Mobile.
Pour plus de détails, contactez le service commercial de PC SOFT.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 195
Partage de données entre deux applications
Une application WinDev Mobile pour Windows Mobile peut partager des données avec une appli-
cation WinDev standard.
Il est ainsi possible par exemple d’utiliser :
• une application WinDev standard permettant de manipuler l’ensemble de la base de don
nées.
• une application WinDev Mobile permettant de manipuler l’ensemble ou une partie de cette
même base de données.
Lorsque deux applications partagent les mêmes données, les fichiers de données peuvent être
gérés de deux façons différentes :
• Manipulation des mêmes fichiers de données :
Les deux applications manipulent les mêmes fichiers de données. Ces fichiers de données
sont présents sur le poste PC. L’application WinDev Mobile accède aux fichiers de données
par Wi-Fi, par infrarouge, par GPRS, ... La fonction HSubstRep permet d’indiquer le
répertoire de données à utiliser.
Fichier 1
Fichier 1
Fichier 3
Fichier 2
Fichier 2
196 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Par exemple : application de sondage effectué dans la rue. Les réponses aux sondages
sont disponibles dans l’application WinDev standard uniquement après la synchronisation
des fichiers de données.
L’exemple "Taches en reseau", livré en standard avec WinDev Mobile, est com
posé d’un projet utilisable sur un terminal Windows Mobile (Pocket Taches en re-
seau) et d’un projet utilisable sous PC (PC Taches en reseau). Ces deux exemples
manipulent les fichiers de données présents sur le poste PC.
Copie des fichiers de données sur le terminal mobile (Pocket PC par exemple)
Pour mettre à jour les fichiers de données présents sur le poste PC avec les données saisies sur
les terminaux mobiles, une simple synchronisation des fichiers est nécessaire.
Si les fichiers de données manipulés sont au format HFSQL, il suffit de connecter un à un l’en-
semble des terminaux mobiles au poste PC. La synchronisation automatique HFSQL par Active
Sync s’occupe du reste.
Si les fichiers de données manipulés ne sont pas au format HFSQL, il est nécessaire de pro
grammer l’ensemble de la synchronisation entre l’application WinDev Mobile et l’application Win
Dev standard. Pour plus de détails sur ce type de synchronisation, consultez les exemples livrés
en standard avec WinDev Mobile.
Bases de données au format HFSQL (sur le terminal mobile et sur le poste PC)
Exemple
L’exemple "Stocks", livré en standard avec WinDev Mobile, est composé d’un pro-
jet utilisable sur terminal mobile (Pocket PC par exemple) et d’un projet utilisable
sous PC. Cet exemple présente la synchronisation des données saisies dans les
deux projets.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 197
Leçon 5.3. Programmation avancée
Durée estimée : 1 h
198 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
Dans cette leçon, nous allons réaliser une application Windows Mobile utilisant une base de don-
nées HFSQL Classic.
Cette application va nous permettre de détailler plusieurs points spécifiques de la programmation
pour Windows Mobile.
Ouverture du projet
Lancez WinDev Mobile 20 (si ce n’est déjà fait). Si nécessaire, fermez le projet en cours pour
faire apparaître la fenêtre de bienvenue.
Ouvrez le projet "Pocket Gestion Produits".
Pour cela, dans la fenêtre de bienvenue, cliquez sur "Cours d’auto-formation" et sélectionnez
le projet "Gestion de Produits Pocket (Exercice)".
Astuce : si la fenêtre de bienvenue n’est pas affichée, il est possible sous le volet "Accueil",
dans le groupe "Aide en ligne" de dérouler l’option "Guide d’Auto-formation" puis de sélection-
ner l’option "Gestion de Produits Pocket (Exercice)".
Un projet corrigé est disponible. Ce projet contient les différentes fenêtres créées
Corrigé
dans cette leçon. Pour ouvrir le projet corrigé, sous le volet "Accueil", dans le
groupe "Aide en ligne", déroulez l’option "Guide d’auto-formation" puis sélection-
nez "Gestion de Produits Pocket (Corrigé)".
Description du projet
Examinons notre projet de départ. Ce projet est un projet déjà créé. Il ne contient aucune fenêtre.
Il contient uniquement l’analyse décrivant les fichiers de données HFSQL Classic que nous allons
utiliser. Dans le répertoire EXE, les fichiers de données correspondants sont fournis avec des
données pour réaliser les différents tests.
Pour visualiser l’analyse associée au projet :
1. Cliquez sur parmi les boutons d’accès rapide du menu de WinDev Mobile.
2. L’éditeur d’analyses s’affiche.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 199
3. Cette analyse est composée de 3 fichiers de données :
• Un fichier "Produit", qui contient la description du produit : nom, prix, quantité, ...
• Un fichier "Caractéristique", qui contient les différentes caractéristiques du produit. Par
exemple, si le produit est un t-shirt, ses caractéristiques correspondront à la taille, la cou-
leur, ... Le fichier "Caractéristique" est donc lié au fichier "Produit".
• Un fichier "Magasin", qui contient pour chaque magasin, ses coordonnées GPS.
4. Fermez l’éditeur d’analyses (cliquez sur la croix en haut à droite de l’éditeur).
Nous allons maintenant commencer le développement de notre application.
Création de la fenêtre
200 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
4. Dans l’assistant, sélectionnez l’option "Afficher des données d’un fichier ou d’une requête
existante". Passez à l’écran suivant.
5. Sélectionnez le fichier "Produit". Passez à l’écran suivant.
6. Sélectionnez les rubriques à afficher :
7. Conservez les rubriques "Nom", "Description" et "Prix" (une coche doit être présente devant
ces rubriques). Passez à l’écran suivant.
8. Conservez la rubrique de tri proposée (IDProduit). Les produits seront triés dans le champ
Table suivant cette rubrique. Passez à l’écran suivant.
9. Dans l’écran "Paramètres supplémentaires", conservez les options par défaut. Passez à
l’écran suivant.
10. Sélectionnez l’orientation "Vertical" et passez à l’écran suivant.
11. Conservez le nom par défaut "TABLE_Produit" et validez.
12. Le champ Table apparaît sous l’éditeur de fenêtres.
13. Redimensionnez le champ et ses colonnes à l’aide des poignées pour que le contenu soit
affiché dans la fenêtre.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 201
Dans la fenêtre affichée sous l’éditeur, des données apparaissent automatique-
Notes ment. Ce concept se nomme "Live Data" : vous voyez les données présentes
dans vos fichiers en temps réel !
Cette fonctionnalité est très utile, notamment pour adapter la taille des champs
à leur contenu.
Création de la fenêtre
202 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Création des champs
4. Modifiez la taille des champs ("Nom", "Codebarre", "Date de réappro.", "Description") afin
qu’ils soient visibles dans la fenêtre :
• Sélectionnez le champ voulu.
• Utilisez les poignées de redimensionnement (carrés noirs) pour modifier la taille du champ.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 203
5. Réorganisez les champs dans la fenêtre.
Respectez l’ordre suivant : "Photo", "Nom", "Prix", "Quantité", "Code-barres", "Date de réap-
pro.", "Description".
6. Nous allons visualiser l’ordre de navigation dans la fenêtre : appuyez sur la touche [F5]. Les
numéros qui s’affichent représentent l’ordre de navigation dans la fenêtre. Appuyez à nouveau
sur la touche [F5] pour faire disparaître les numéros. L’ordre de navigation s’adapte automati-
quement à l’ordre des champs dans la fenêtre.
7. Enregistrez la fenêtre.
Testez la fenêtre ( parmi les boutons d’accès rapide). La fenêtre apparaît avec tous les
champs vides.
Fermez la fenêtre de test pour revenir sous l’éditeur.
Pour afficher les données du produit :
1. Affichez les traitements associés à la fenêtre :
• Dans la zone à côté de la fenêtre, faites un clic droit de souris
• Dans le menu contextuel qui s’affiche, sélectionnez "Code".
• L’éditeur de code apparaît.
2. Dans le traitement "Fin d’initialisation de FEN_Fiche_du_produit", saisissez le code suivant :
FichierVersEcran()
La fonction FichierVersEcran permet d’afficher dans les champs les données présentes dans le
fichier de données, pour l’enregistrement en cours.
3. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
4. Enregistrez la fenêtre.
204 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Affichage de la fiche depuis la liste des produits
Nous allons maintenant voir comment afficher la fiche du produit sélectionné dans la liste des
produits.
Effectuez les opérations suivantes :
1. Placez-vous sur la fenêtre "Liste des produits" : cliquez sur le bouton "FEN_Liste_des_pro-
duits" dans la barre des boutons :
2. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur : la forme du bou-
ton apparaît sous la souris. Cliquez ensuite en bas de la fenêtre pour créer le bouton.
3. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Modifier l’élément" et appuyez sur la touche [ENTREE] du clavier.
4. Redimensionnez si nécessaire le bouton (à l’aide des poignées) pour que le libellé s’affiche
complètement dans le bouton.
5. Faites un clic droit sur le bouton et dans le menu qui s’affiche, sélectionnez l’option "Code".
6. Dans la fenêtre de code qui apparaît, saisissez le code suivant dans le traitement "Clic sur" :
Ouvre(FEN_Fiche_du_produit)
TableAffiche(TABLE_Produit,taCourantBandeau)
Laissez-vous guider par l’assistance à la saisie de code : dès que vous allez ta-
per la parenthèse ouvrante "(", une liste déroulante va s’ouvrir proposant le nom
de toutes les fenêtres existantes dans le projet. Il suffit de sélectionner la fenêtre
Notes
au clavier ou à la souris.
Si vous ne trouvez pas le nom de la fenêtre que vous cherchez dans la liste, c’est
que celle-ci n’a pas été sauvegardée précédemment.
7. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
8. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Testez la fenêtre à nouveau sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris.
• Cliquez sur le bouton "Modifier l’élément".
• La fenêtre de détail du produit s’affiche.
Fermez le simulateur.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 205
Gestion de la création et de la modification d’un produit
Nous allons maintenant modifier nos deux fenêtres afin de gérer l’ajout et la modification d’un
produit.
Dans les applications pour Windows Mobile, l’utilisation d’un bouton "Annuler"
Notes
n’est pas nécessaire. En effet, il suffit que l’utilisateur clique sur la croix en haut
à droite de la fenêtre pour annuler la saisie effectuée.
4. Redimensionnez si nécessaire le bouton (à l’aide des poignées) pour que le libellé s’affiche
complètement dans le bouton.
Nous allons maintenant saisir le code du bouton "Valider".
1. Faites un clic droit sur le bouton puis sélectionnez l’option "Code" dans le menu contextuel.
2. Dans le traitement "Clic sur", saisissez le code suivant :
EcranVersFichier()
HModifie(Produit)
Ferme()
206 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Examinons ce code :
• La fonction EcranVersFichier permet d’initialiser les rubriques avec les valeurs des champs
liés, pour l’enregistrement courant.
• La fonction HModifie permet de mettre à jour les données du fichier pour l’enregistrement
courant.
• La fonction Ferme permet de fermer la fiche et de revenir à la fenêtre "FEN_Liste_des_pro-
duits".
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres et lancez son test
sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur un des produits avec la souris : par exemple, le pro-
duit "Polo Hibbicus Bleu" au prix de 25,90 euros.
• Cliquez sur "Modifier l’élément".
• La fenêtre de détail du produit s’affiche. Modifiez le prix de 25,90 euros et saisissez
19,90 euros puis ensuite cliquez sur le bouton "Valider".
• De retour sur la liste des produits, vous pouvez constater que le prix de cet article a été mis
à jour.
Fermez le simulateur. L’éditeur de WinDev Mobile est affiché.
Création d’un nouveau produit
Le principe de la création d’un produit va être le suivant :
• Dans la fenêtre de la liste des produits, nous allons ajouter un bouton "Nouveau produit" qui va
permettre d’ouvrir la fenêtre "Fiche du produit".
• Nous modifierons ensuite le code de la fenêtre "Fiche du produit" pour gérer l’ajout dans le
fichier de données Produit.
Tout d’abord, affichez si nécessaire la fenêtre "FEN_Liste_des_produits" sous l’éditeur :
cliquez sur le bouton correspondant dans la barre de boutons.
Pour créer un nouveau bouton :
1. Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur : la forme du bou-
ton apparaît sous la souris. Cliquez ensuite dans la fenêtre pour créer le bouton (par exemple à
côté du bouton "Modifier l’élément").
2. Sélectionnez le champ puis tapez sur la touche [ENTREE] du clavier. Le libellé du bouton
passe en édition. Saisissez "Nouveau produit" et appuyez sur la touche [ENTREE] du clavier.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 207
3. Redimensionnez si nécessaire le bouton (à l’aide des poignées) pour que le libellé s’affiche
complètement dans le bouton.
4. Le code de ce bouton va permettre d’ouvrir la fenêtre "Fiche du produit", en mettant ses
champs à vide. Pour saisir ce code :
• Faites un clic droit sur le bouton "Nouveau produit".
• Dans le menu contextuel qui s’affiche, sélectionnez l’option "Code".
• Dans le traitement "Clic sur", saisissez le code suivant :
HRAZ(Produit)
Ouvre(FEN_Fiche_du_produit)
TableAffiche(TABLE_Produit)
La fonction HRaz initialise les variables des rubriques du fichier Produit avec les valeurs par dé-
faut pour gérer un nouvel enregistrement.
La fonction Ouvre permet d’ouvrir la fenêtre fiche.
La fonction TableAffiche permet de mettre à jour le contenu du champ Table : le nouvel enregis-
trement saisi sera affiché dans le champ.
5. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
6. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Maintenant, nous allons modifier la fenêtre de la fiche du produit pour gérer l’ajout d’un
nouvel enregistrement.
1. Affichez la fenêtre "FEN_Fiche_du_produit" sous l’éditeur.
2. Nous allons modifier le code du bouton de validation :
• Faites un clic droit sur le bouton puis sélectionnez l’option "Code" dans le menu contextuel.
208 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
• Dans le traitement "Clic sur", remplacez le code par le code suivant :
EcranVersFichier()
SI Produit..NouvelEnregistrement ALORS
HAjoute(Produit)
SINON
HModifie(Produit)
FIN
Ferme()
Examinons ce code :
• La propriété ..NouvelEnregistrement permet de savoir si l’enregistrement en cours doit être
créé.
• Si la fonction HRaz a été appelée précédemment, la propriété renvoie Vrai (cas du clic sur
"Nouveau produit") et l’enregistrement doit être créé par la fonction HAjoute.
• Dans le cas contraire, l’enregistrement en cours existe déjà et doit être modifié par la fonc-
tion HModifie.
3. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
4. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Affichez la fenêtre "FEN_Liste_des_produits" sous l’éditeur de fenêtres et lancez son test
sous le simulateur ( parmi les boutons d’accès rapide).
• Dans la liste des produits, cliquez sur le bouton "Nouveau produit".
• Saisissez un nouveau produit.
• Validez. Le nouveau produit apparaît dans la liste des produits.
• Fermez le simulateur.
Création de la fenêtre
Tout d’abord, nous allons créer une fenêtre vierge avec un menu.
Pour créer la fenêtre :
1. Créez une nouvelle fenêtre vierge. Cliquez sur parmi les boutons d’accès rapide. La fe-
nêtre de création d’un nouvel élément s’affiche : cliquez sur "Fenêtre" puis sur "Fenêtre".
2. Dans l’assistant de création de fenêtres, cliquez sur l’onglet "Standard".
3. Choisissez "Assistant" et validez.
4. L’assistant de création d’une fenêtre Windows Mobile se lance.
5. Sélectionnez "Maximisée" et passez à l’écran suivant.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 209
6. Dans l’écran des paramètres avancés, sélectionnez "Avec menu et barre d’outils".
Personnalisation du menu
Nous allons modifier le menu pour appeler la fenêtre de liste des produits et pour quitter l’appli-
cation.
Pour modifier l’option de menu :
1. Faites un clic droit sur l’option pour afficher le menu contextuel.
2. Sélectionnez "Description de l’option". La fenêtre de description apparaît.
3. Modifiez le libellé de l’option qui devient "Produit". Validez la fenêtre de description.
4. Sélectionnez à nouveau l’option de menu.
210 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
5. Affichez le menu contextuel (clic droit) :
8. Faites un clic droit sur la nouvelle option saisie et dans le menu contextuel affiché, sélec-
tionnez "Ajouter avant".
9. Dans la zone de saisie qui apparaît, saisissez "Quitter" et validez.
Programmation du menu
Nous allons maintenant saisir le code de ces deux options de menu.
Pour définir le code WLangage de l’option "Quitter" :
1. Sous l’éditeur de fenêtres, affichez l’option "Quitter". Il suffit de dérouler le menu, comme en
exécution.
2. Affichez le menu contextuel de l’option "Quitter" (clic droit) et sélectionnez l’option "Code".
3. Saisissez le code suivant :
Ferme()
La fonction Ferme permet de fermer la fenêtre en cours. Comme la fenêtre "Menu" est la seule
fenêtre, l’application est automatiquement fermée.
Pour définir le code WLangage de l’option "Liste des produits" :
1. Sous l’éditeur de fenêtres, affichez l’option "Liste des produits". Il suffit de dérouler le menu,
comme en exécution.
2. Affichez le menu contextuel de l’option "Liste des produits" (clic droit) et sélectionnez l’op-
tion "Code".
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 211
3. Saisissez le code suivant :
Ouvre(FEN_Liste_des_produits)
4. Enregistrez les modifications en cliquant sur parmi les boutons d’accès rapide.
5. Fermez la fenêtre de code (cliquez sur la croix en haut à droite de l’éditeur de code).
Tester l’application
Il reste un dernier réglage à effectuer, indiquer que la fenêtre de menu est la première fenêtre de
l’application. Pour cela, nous allons indiquer quelle est la première fenêtre du projet et lancer un
test complet du projet.
Pour définir la première fenêtre du projet :
1. Sélectionnez la fenêtre "FEN_Menu" dans l’explorateur de projet.
2. Affichez le menu contextuel.
3. Sélectionnez l’option "Première fenêtre du projet". Une icône spécifique (avec un petit 1)
apparaît alors devant le nom de la fenêtre, dans l’explorateur de projet.
Jusqu’à présent vous testiez les fenêtres de façon individuelle en cliquant sur parmi les bou-
tons d’accès rapide.
Pour lancer le test du projet :
1. Cliquez sur parmi les boutons d’accès rapide.
2. Votre projet démarre par la fenêtre de menu. Vous pouvez cliquer sur une option de votre
menu pour vérifier que les différents liens sont corrects.
Voilà, notre application est terminée, il faut maintenant la compiler et l’installer sur le matériel afin
de tester.
Créer l’exécutable
212 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
6. Cet écran permet de définir les options de copie des fichiers sur le mobile :
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 213
Leçon 5.4. Diffusion de l’application
214 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Présentation
WinDev Mobile permet le développement d’applications pour Windows Mobile.
Plusieurs méthodes sont proposées pour installer une application WinDev Mobile sur un terminal
sous Windows Mobile (Pocket PC par exemple) :
• installation au format CAB. Ce programme d’installation est exécuté directement sur le terminal
mobile.
• installation au format MSI. Ce programme d’installation est exécuté sur un poste PC sous Win-
dows connecté à un terminal mobile (Pocket PC par exemple).
• installation par copie directe de l’exécutable du poste PC vers le Pocket PC (nous l’avons vu
dans les leçons précédentes).
Ces différentes modes d’installation sont disponibles directement via l’assistant de création d’ins-
tallation.
Pour lancer l’assistant d’installation :
1. Sous le volet "Projet", dans le groupe "Génération", cliquez sur "Procédure d’installation".
L’assistant de création d’exécutable et d’installation se lance.
2. L’exécutable ayant déjà été créé, cliquez sur "2-Installation" à gauche de l’assistant.
3. Dans la boîte de message qui s’affiche, cliquez sur "Accéder aux options d’installation".
4. L’écran de la description de l’application s’affiche. Passez à l’écran suivant grâce aux bou-
tons fléchés.
5. Vous pouvez choisir le mode d’installation de votre application mobile :
6. Pour notre exemple, nous allons choisir une installation par ActiveSync : cochez l’option
correspondante et passez à l’écran suivant.
7. L’assistant demande le répertoire d’installation de l’application. Conservez l’option par dé-
faut. Passez à l’écran suivant.
8. Spécifiez les fichiers à installer. L’assistant propose par défaut l’exécutable. Il est néces-
saire d’installer également les fichiers de données de l’application. Cliquez sur le bouton
"Ajouter" et sélectionnez les fichiers HFSQL (fichiers .fic, .ndx et .mmo) présents dans le réper-
toire EXE de votre projet.
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 215
9. Passez à l’écran suivant.
10. Décochez les options de paramétrages des bases de données. Passez à l’écran suivant.
11. L’assistant propose l’installation des modules complémentaires. Nous n’en sélectionne-
rons aucun. Passez à l’écran suivant.
12. Le répertoire de génération de l’installation est proposé.
13. Validez. L’installation est générée.
14. WinDev Mobile propose de lancer directement l’installation ou d’ouvrir le répertoire de
génération.
Installation initiale
Cette installation consiste à :
• créer l’exécutable de l’application sur le poste de développement grâce à WinDev Mobile.
• générer le programme d’installation de l’application sur le poste de développement grâce à Win-
Dev Mobile. Ce programme d’installation correspond à un fichier ".CAB".
• copier ce programme d’installation sur les terminaux mobiles des clients finaux (grâce à une
carte mémoire, par GPRS à partir d’un site Internet ou directement par l’explorateur de fichiers).
• lancer ce programme d’installation sur les terminaux mobiles. Ce programme installe tous les
fichiers nécessaires à l’application. A la fin de l’installation, le fichier ".CAB" est automatique-
ment supprimé du terminal.
216 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Pour utiliser l’application installée, lancez l’application sur le terminal mobile (par exemple,
double-clic sur le fichier ".EXE").
Installation initiale
Cette installation consiste à :
• créer l’exécutable de l’application sur le poste de développement grâce à WinDev Mobile.
• générer le programme d’installation de l’application sur le poste de développement grâce à Win-
Dev Mobile. Ce programme correspond à un fichier ".MSI".
• fournir ce programme d’installation aux clients finaux.
• lancer ce programme d’installation sur les postes PC. L’application sera automatiquement ins-
tallée sur le terminal mobile actuellement connecté au poste en cours, grâce à ActiveSync.
Remarque : Si aucun terminal mobile n’est connecté, l’installation sera effectuée lors de la pro-
chaine synchronisation entre le PC et le terminal mobile.
Pour utiliser l’application installée, lancez l’application sur le terminal mobile (par exemple,
double-clic sur le fichier ".EXE").
(c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite Partie 5 : Application Windows Mobile 217
218 Partie 5 : Application Windows Mobile (c) PC SOFT - www.pcsoft.fr - Version Express - Diffusion interdite
Conclusion
Le cours est maintenant terminé !
Ce cours a abordé un ensemble de sujets, mais pas la totalité des fonctionnalités de WinDev
Mobile, loin s’en faut !
Vous êtes maintenant familiarisé avec les principaux concepts.
Nous vous conseillons de consacrer une journée supplémentaire à explorer les différents choix de
menu de WinDev Mobile, pour chacun des modules.
Explorez également les exemples livrés avec WinDev Mobile : certains sont simples et ne traitent
que d’un sujet, d’autres sont très complets. Ces exemples vous montreront les différentes fa-
cettes de WinDev Mobile, ainsi que le développement pour les différentes plateformes. La lecture
du code source sera également instructive en général.
Faute de place, nous n’avons pas pu aborder tous les sujets (il y en a des centaines, voire des
milliers !). WinDev Mobile offre de nombreuses possibilités non abordées ou non approfondies
dans ce cours :
• fonctions sockets, HTTP, ...
• requêtes, requêtes paramétrées, ...
• impression, ...
Pour plus de détails sur toutes ces possibilités, n’hésitez pas à consulter l’aide en ligne.
Rappel : Pour recevoir directement des mises à jour intermédiaires et des conseils d’utilisation,
abonnez-vous à la LST (revue trimestrielle + DVD), en français.
Conclusion 219
220 Conclusion