Vous êtes sur la page 1sur 22

Formation WinDev

Module 1

ABDELLAH BOUKIND
Notions de la programmation événementielle Définitions :
1. Programmation :
La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des
programmes informatiques. C'est une étape importante de la conception de logiciel.
Pour écrire le résultat de cette activité, on utilise un langage de programmation.
La programmation représente usuellement le codage, c’est-à-dire la rédaction du code source d'un logiciel. On
utilise plutôt le terme développement pour dénoter l'ensemble des activités lié à la création d'un logiciel.
2. Programme :
Un programme est une suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un
problème, de manipuler des données. Le programme est l'expression d'un algorithme dans un langage donné
pour une machine donnée.

3. Distinction entre la programmation évènementielle et autres méthodes de


programmation
Il existe un ensemble de langages de programmation, chacun est spécialisé dans un domaine d’application
donné et chacun possède un type spécifique. On distingue :
✓ Programmation structuré ou modulaire :
Le programme est vu comme un ensemble d’unités structurés hiérarchiquement. Il existe une
interaction entre les modules et on fait généralement distinction entre les données et les
traitements.
✓ Programmation orientée objet :
Le programme n’est une autre qu’une collection d’objet qui communique. Un objet et par
définition une instance d’une classe dont les composantes peuvent être de deux types :
propriétés et méthodes.
✓ Programmation événementielle :
Les composants d'une application événementielle c’est à dire les objets interagissent entre eux
et avec l'environnement. Ils communiquent en réponse à des événements. Ces événements
peuvent correspondre à une action de l'utilisateur :
Un click sur un bouton de commande
Une écriture dans une zone de texte,
Un choix dans une case d'option ou une case à cocher
Le déplacement d'un objet, ...
Ils peuvent aussi être déclenchés par le système :
 chargement d'une feuille
 un top déclenché par l'horloge.
Les événements sont captés par le système d'exploitation, le traitement consiste en l'exécution des procédures
événements associées à celui-ci s'il en existe. C'est le programmeur qui doit prévoir la procédure à exécuter
en réponse à un événement donné. Par exemple, le déclenchement de l'événement click sur un bouton quitter
doit terminer l'exécution, le choix d'un élément dans un menu doit déclencher certaines opérations, un top
d'horloge doit modifier le contenu d'une zone d'image.

1 / 21
Remarque:
Le programmeur doit toujours avoir à l’esprit le schéma suivant :
❖ Objet : O
❖ Evénement : E
❖ Traitement : T
Si l’événement E se produit sur l’objet O alors le traitement T est exécuté.
Exemple :
Un bouton dans une interface graphique
- Attributs : une image, un label, une couleur de fond, une police de caractères.
- Méthodes : se dessiner.
- Evénement : réagir quand on clique dessus.

4. Fonctionnement d’une application évènementielle


Les composants d'une application événementielle interagissent entre eux et avec l'environnement. Ils
communiquent en réponse à des événements. Ces événements peuvent correspondre à une action de
l'utilisateur :
✓ Un click sur un bouton de commande
✓ Une écriture dans une zone de texte
✓ Un choix dans une case d'option ou une case à cocher
✓ Le déplacement d'un objet, ...
Ils peuvent aussi être déclenchés par le système :
 Chargement d'une feuille
 un top déclenché par l'horloge, ...

Les événements sont captés par le système d'exploitation, sont mis en file d'attente ce qui signifie que les
événements sont séquentialisés. Ils sont ensuite pris en charge par la boucle de gestion des événements. La
boucle de gestion des événements prend le premier événement à traiter dans la file et le traite. Le traitement
consiste en l'exécution des procédures événement associées à celui-ci s'il en existe. C'est le programmeur qui
doit prévoir la procédure à exécuter en réponse à un événement donné. Par exemple, le déclenchement de
l'événement click sur un bouton quitter doit terminer l'exécution, le choix d'un élément dans un menu doit
déclencher certaines opérations, un top d'horloge doit modifier le contenu d'une zone d'image.

Après analyse et élaboration d'un cahier des charges, le rôle du programmeur est de concevoir l'interface (sa
forme et son contenu) tout en respectant les contraintes du cahier des charges. Il doit ensuite écrire le code
des procédures événement liées aux différents composants de cette interface.

5. Représenter la programmation dans un environnement doté d’un (IUG)


La création d’interface graphique est un art qui demande du temps, de la patience. Il est crucial de bien y
réfléchir pour avoir l’impact désiré auprès des utilisateurs. Pour une même application, plusieurs choix
différents pourraient amener à de belles réalisations, mais certains principes clés doivent être pris en compte
pour rendre l’interface conviviale et facile à utiliser. Avant de commencer à créer des interfaces, on doit réfléchir
au comment, pourquoi, pour qui. Donc on aura tendance à se faire une idée rapidement de ce qui serait le
mieux pour les utilisateurs en adaptant les tâches à la nouvelle technologie pour combler notre besoin d’être
satisfait lors du développement.
L’utilisateur doit avoir une application conçue pour lui qui correspond à sa représentation de la tâche, des
informations traitées et qui répond à ses besoins.
Pour pouvoir comprendre l’utilisateur et ses tâches, il faut se poser ses questions:
✓ Quels sont les utilisateurs ?
✓ Quel est l’intérêt du programme ? Quels problèmes va-t-il résoudre ?
✓ Quels sont les problèmes de l’utilisateur ?
✓ Qu’aime-t-il ou pas dans sa façon de travailler actuellement ?
✓ Quels sont les compétences de l’utilisateur ? Sont-ils prêts à apprendre ?
✓ Y a-t-il différents types d’utilisateurs ?

2 / 21
✓ Comment les utilisateurs se représentent les données que le programme va gérer ?
✓ Quelles sont les façons préférées de travailler ?
✓ Comment le programme va s’adapter ou les changer ?

Environnement graphique WinDev :


1. Introduction :
WinDev est un atelier de génie logiciel (AGL) édité par la société française PC SOFT et conçu pour développer
des applications, principalement orientées données pour Windows 10, 8, 7, Vista, XP, mais également pour
Linux, .NET et Java. Il propose son propre langage, appelé le WLangage, qui fait partie de la L5G (5ème
génération), et qui permet le développement plus rapide d'applications par rapport à d'autres générations. La
première version de l'AGL est sortie en 1993.

Il vous permet de développer des applications dans tous les domaines :


• Gestion des stocks
• Inventaire, traçabilité des marchandises
• Réglage et suivi de machines sur chaîne de production
• Prise de commandes pour traitement rapide sur un lieu de vente de passage
• Fiches clients…
WinDev est permet d'économiser et de réduire la durée de la conception et de développement des
applications sous Windows car il fournit tous les outils nécessaires.
Avec le WinDev on a deux méthodes de programmation :
- programmation par RAD qui est un assistant de construction automatique de l'application.
- programmation personnaliser qui suppose l'intervention de programmeur pour écrire le code.

Remarque :
Le W.Langage est le langage programmation de WinDev il est caractérisé par sa richesse
d'instruction qui peuvent être en française (disponible également en anglais).

1. La structure d’une application WinDev :

Analyse WinDev

Langage Fenêtre (WDW)

Projet WinDev
Requête (WDR) Etat (WDE)

3 / 21
2. Création d’un projet sans analyse (Projet sans base de données) :

- Etapes à suivre :

Cliquer sur fichier → nouveau → saisir le nom de projet → suivant → suivant →choisir le type de projet
« Application » →choisir plate-forme Windows → choisir le thème gabarit puis cliquer sur suivant → choisir
la charte IHM → sélectionner langue de projet →choisir ne pas afficher la fenêtre « Le saviez-vous » au
lancement de l’application → choisir non ne pas utiliser de base de données → terminer.

3. Environnement WinDev 17 :

1. Barres d’outils et menu déroulant :


Permet un accès rapide aux principales fonctionnalités de WinDev.
2. Espace de travail :
Affiche les fenêtres des différents éditeurs : éditeur de code, fenêtres ou états en création, analyse
3. Documents ouverts :
Affiche un bouton pour chaque document ouvert l’éditeur. Pour afficher l’élément voulu au premier
plan, il suffit de cliquer sur le « bouton » correspondant.
4. Volets permettant de :
Afficher les différents éléments du code (des procédures locales ou globales, afficher les erreurs de
compilation (erreurs présentes dans le code W-langage, effectuer des recherche, afficher le débogueur
lors du test d’un élément.))
5. Volet projet :
Contient les éléments (fenêtres, états, champs, …) disponibles dans le projet en cours.
❖ Insérer les objets :
Pour insérer un objet, on utilise la barre d'objet (Outils) pour changer l'aspe d'un objet (le nom, le titre, le
style…) :
- Botton droit sur l'objet puis description ou bien double clic sur l'objet.
- La fenêtre de description d'un objet contient plusieurs parties :
- Pour les zones de texte partie générale (saisir le nom et le caption et préciser le type de donnée à
saisir)

4 / 21
• La partie IHM (changer l'état de l'objet zone de texte qui peut être soit visible soit actif soit inactif
soit grise)
• La partie détaille (pour choisir une animation pour la zone de texte)
• La partie style (pour changer le style la mise en forme)
• Pour les Boutons de commande le même principe

❖ Ecrire le code relatif à un objet :


Pour écrire le code relatif à un objet → Botton droit sur l'objet puis code.
Exemple :

Exercice d'application :

T.A.F :
1. Créer l'interface dessus :

5 / 21
Langage de programmation WinDev
I- Programme WinDev :
On appelle programme WinDev un ensemble de procédures événements qui chaque une est composer de
lignes contenant des mots, que WinDev est capable de reconnaitre, ces mots peuvent être : instruction,
fonction ou opérateur.
1. Instruction :
C’est un ordre donné à une machine esclave impliquant l’exécution d’une tache précise sans donner du
résultat.
2. Fonction :
C’est une question posée à l’ordinateur qui renvoi une valeur comme réponse.
3. Les opérateurs arithmétiques :
Opérateurs arithmétiques Signification
+ Addition (valeur numérique ou chaîne)
- Soustraction (valeur numérique)
* Multiplication
/ Division
++ Incrémentation (valeur numérique)
-- Décrémentation (valeur numérique)
+= Ajout d'une valeur à la variable ou au champ (numérique ou texte)
-= Soustraction d'une valeur à la variable ou au champ (numérique)
Modulo Retourne le reste d'une division entier
^ Puissance (équivalent à la fonction Puissance)
Exercice d'application :
La création d’un projet Visual Basic implique trois étapes principales :
1. Créer l’interface graphique utilisateur.
2. Définir les propriétés des objets de l’interface.
3. Ecrire les codes (Instructions) nécessaires.
4. Calculer la moyenne de deux notes.

6 / 21
Les variables :
1. Description :
Les variables sont un élément indispensable dans tout langage de programmation, et en Windev on n'y échappe
pas. Ce n'est pas un truc de programmeurs tordus, c'est au contraire quelque chose qui va nous simplifier la
vie. Sans les variables, vous n'irez pas bien loin.
Une variable, c'est une petite information stockée en mémoire temporairement. Elle n'a pas une grande
durée de vie. En WinDev, la variable (l'information) existe tant que le programme est en cours d’exécution,
au contraire (arrêt de l’exécution), toutes les variables sont supprimées de la mémoire car elles ne servent
plus à rien. Ce n'est donc pas un fichier qui reste stocké sur le disque dur mais une petite information
temporaire présente en mémoire vive.
Remarque
✓ Une variable se définit par son nom et par son type.
✓ Le type de la variable détermine les valeurs que la variable peut prendre

2. Déclaration :
Syntaxe : Nom Variable est Type Variable

3. Types de variables WinDev :


➢ Booléen :
Type conseillé pour toutes les opérations logiques où seules deux alternatives sont
possibles :
❖ Vrai (valeur différente de 0)
❖ Faux (valeur égale à 0)
Exemple : b est
un booléen
➢ Entier :
Type conseillé pour des calculs réalisés sur des valeurs entières.
Exemple : b est un entier
➢ Monétaire :
Type conseillé pour des calculs réalisés sur des valeurs réelles nécessitant une précision
garantie des décimales, comme par exemple des valeurs monétaires.
Un monétaire gère 24 chiffres significatifs (17 maximum pour la partie entière, 6
maximum pour la partie décimale). La précision est assurée sur 6 décimales.
Exemple : b est un monétaire
➢ Numérique :
Type conseillé pour des calculs réalisés sur des valeurs réelles nécessitant une précision
garantie des décimales. Un numérique gère 38 chiffres significatifs (32 maximum pour
la partie entière, 6 maximum pour la partie décimale). La précision est
assurée sur 6 décimales.
Exemple : b est un numérique
➢ Réel :
Type conseillé pour des calculs simples réalisés sur des valeurs réelles. Un réel gère 15
chiffres significatifs, par contre la précision des décimales n'est pas garantie. La
précision des décimales n'est pas assurée. Pour effectuer des calculs précis, utilisez le
type "Monétaire".

Exemple : TVA est un réel

7 / 21
➢ Chaîne :
Type conseillé pour la gestion des caractères et des chaînes de caractères.
Avec ce type, il n'est pas nécessaire de déclarer la longueur de la chaîne. Celle-ci peut
varier de façon libre lors de l'utilisation de la variable.

➢ Date, Heure, DateHeure, Durée :


Types conseillés pour la gestion des dates et des heures. Le type "Date" et le type
"Heure" permet de manipuler simplement les dates et les heures, et de gérer de
manière quasi automatique toutes les conversions.

➢ Variant :
Type conseillé pour stocker n'importe quel type

4. Catégories de variables :

On WinDev on parle de deux catégorie de variable, variable global et variable local.


Variable global :
Ces variables peuvent être déclarées dans deux niveaux différents :
 Traitement d'initialisation du projet : dans ce cas cette variable sera connue par toutes les feuilles
de projet.
 Partie déclaration global d'une fenêtre : dans ce cas les variables seront utilisés dans toute la
procédure de la fenêtre.
Variable Local :
Ils sont déclaré par le mot local ou privé, la variable local n'est utilisé que dans le traitement (ou il est
déclaré).
NB :
Par défaut une variable
est déclaré locale.

Application :

Global Local
Salaire est un numérique Salaire est un numérique
Nom est une chaine Nom est une chaine
i, j sont entier i, j sont entier

8 / 21
Les constantes
Les constantes sont des éléments du langage dont la valeur est fixée une fois pour toute. Cette valeur ne
peut pas être modifiée au cours du programme.
Application
CONSTANT
TauxTVA = 20
FIN

Traitement Conditionnel
1. Définition :
C’est un traitement composé de deux actions les quelle l’ordinateur, choisira une seul action sellant que la
condition est réaliser (Vraie) ou non réaliser (fausse), ce genre de situation est aussi appelé : Traitement
alternatif.
a) Algorithme :

Si Condition Alors
Action 1
Sinon
Action 2
Fin Si

- Action 1 est exécutée lorsque la condition est vraie.


- Action 2 est exécutée lorsque la condition est fausse.
b) Organigramme :

Vrai Fausse
Condition

Action 1 Action 2

c) Programme :

- Traduction en Bloc :

SI Condition Alors
Action 1
Sinon
Action 2
Fin

9 / 21
2. Les Conditions :
La condition c’est une expression qui peut être Vraie ou Fausse et peut être simple ou composée.
a) Condition Simple :
Elle est toujours sous la forme :
X relation Y
X est y : des variables ou données.
Relation : un opérateur de comparaison.
• Les opérateurs de comparaison :
Opérateurs de comparaison Signification
= Est égal à
<> Est différent de
< Est inférieur strictement à
<= Est inférieur ou égal à
> Est supérieur strictement à
>= Est supérieur ou égal à
Exemple :
SI A > B Alors
SI Z = 40 Alors
b) Conditionnel Complexe :
On vu qu’une condition permettait de choisir une seule action parmi deux cependant il existe des situations
ou le choix peut se faire sur plusieurs actions. L’utilisation d’une seule condition n’est plus se fusante. Ce
genre de situation est aussi appelé : traitement alternatif complexe.
❖ Représentation : Traduction :
Algorithme :
Si Condition 1 Alors SI Condition 1 ALORS
Action 1 Action 1
Sinon SINON
Si condition 2 Alors SI condition 2 ALORS
Action 2 Action 2
Fin Si FIN
Fin Si FIN

c) Condition composée :
Elle est toujours sous la forme :
Condition Relation Condition Relation Condition Relation …
Condition : toujours des conditions simples
Relation : un opérateur logique
• Les opérateurs de logique :
Opérateurs de logique Signification
Multiplication logique. Les conditions composées de ET sont toujours
ET
évaluées dans leur totalité (même si la première condition est fausse).
Addition logique. Les conditions composées de OU sont toujours évaluées
OU
dans leur totalité (même si la première condition est vrai).
PAS Négation logique.

10 / 21
Exemple :
SI A > B ET C >= D ALORS
SI X > 60 OU B > D ET X <= F ALORS
Exercices d'application :
Exercice 1 :
• Soit l'interface suivant :
- Ecrire la procédure de chaque Bouton de commande
- Calculer la moyenne.
- Déterminer la mention.
Sachant que :
o Moy < 8 → Faible.
o 8 <= Moy < 10 → Médiocre.
o 10 <= Moy < 12 → Passable.
o 12 <= Moy < 14 → Assez bien.
o 14 <= Moy < 18 → Très bien.
o 18 >= Moy → Excellent.

Exercice 2 :
• Soit l'interface suivante :

1. Etat initial de sai_remis et sai_net_com et sai_montant_ht et sai_montant_ttc est inactif.


2. Bouton calculer :
- Remis : montant ht * taux tva
- Taux :
o 5% → montant ht < 2500
o 7% → montant ht <5000
o 9,5% → montant >=5000
- Net commercial : montant ht – remis
- Montant TVA : net commercial * 20%
- Montant TTC : montant tva + net commercial

11 / 21
d) Traitement Par CAS : "Selon Cas"
L'instruction conditionnelle SELON permet de choisir d'exécuter une action ou une en fonction de la valeur
d'une expression :
Selon Variable
Cas Expression 1
Action 1
Cas Expression 2
Action 2
.
.
.
.
Cas Expression n
Action n
Cas Else
Action n+1
End

Exercices d'application :
Exercice 1 :
Ecrire un programme WinDev qui permet de lire le numéro de jour pour afficher le nom du jour (Ex : 1
donne dimanche) :

Exercice 2 :
Ecrire un programme WinDev qui permet de lire le N° de mois pour afficher le nom du mois (Ex : 2 donne
janvier) :

12 / 21
Exercice 3 :
Soit l’interface ci-dessous :
T.A.F :
Ecrire les procédures suivantes :
• Btn Nouveau : Pour vider les champs.
• Btn Calculer : Pour calculer :
o Salaire de base : Pour catégorie A : SB = 6000
Pour catégorie B : SB = 4570
Pour catégorie C : SB = 3100
Pour catégorie D : SB = 2650
o CNSS : 4.29% du salaire de base.
o Impôt : Taux * Salaire de base
Taux = 3.75% si SB <= 3200
Taux = 5.36% si SB > 3200
o Prime d’ancienté : 5% du SB si Ancienté <= 5ans
7% du SB si Ancienté <= 10ans
9% du SB si Ancienté > 10ans
o Prime d’allocation : 150 dh pour les trois premiers enfants.
36 dh pour les trois suivants.
0 dh à partir du 7ème enfant.
o Prime de prestation : 300 dh pour les mariés.
0 dh pour les célibataires.
o Salaire NET : SB – (CNSS + Impôt) + P.A + P.All + PP
• Btn Fermer : Pour quitter l’application.

13 / 21
II- Traitement répétitif (les boucles) :
La structure répétitive permet de répéter une suite d’action jusqu’à ce qu’une condition soit réalisée.
1. La boucle : "Pour"
La boucle pour est utilisée lorsque le nombre de répétition est connu à l'avance :

Syntaxe :
Pour compteur=valeur initiale A valeur finale

Traduction en WinDev :
Pour variable=valeur initiale A valeur finale
Traitement
Fin

Application :
Ecrire un programme WinDev qui permet de remplir un combo de 1 jusqu'à 12.
2. La boucle : "Tantque"

Syntaxe : NB :
Tantque Condition
Les traitements sont
Traitement
exécutés tant que la
Compteur
condition est vraie.
Fin

Application :
Ecrire un programme WinDev qui permet d'afficher l'état suivant :
Nombre Carre
1 1
2 4
3 9
4 16
5 25
6 36
Exercice d'application :
Soit l'interface suivant :

14 / 21
Les fonctions WinDev :
 Fonctions des chaînes des caractères :
Fonction
Définition Syntaxe Exemple
s
Asc Renvoie le code ASCII du caractère spécifié. Asc (caractère) Asc (A)----→65
Renvoie le caractère correspondant au code ASCII
Caract Caract(code ASCII) Caract(64) ----→@
spécifié.
Renvoie une chaîne de caractères spécifique de taille
Complète Complète (Châine,taille) Complète (″ILEIC″ ,2) ----→IL
déterminée.
Extrait la partie gauche (c'est-à-dire les premiers
Gauche Gauche(Chaine, Longueur) Gauche(″ILEIC″ ,3) ----→ILE
caractères) d'une chaîne de caractères
Extrait la partie droite (c'est-à-dire les derniers
Droite Droite(Chaine, Longueur) Droite(″ILEIC″ , 2) --→IC
caractères) d'une chaîne de caractères
Extrait : une partie d’une chaine à partir d'une position Milieu (Chaine, position,
Milieu Milieu(″ILEIC″ , 2,2) ---→LE
donnée. Longueur)

Majuscule Convertit une chaîne de caractères en majuscules Majuscule(chaîne) Majuscule (‘’ileic’’) ---→ILEIC
Minuscule Convertit une chaîne de caractères en minuscules en Minuscule(chaîne) Minuscule (‘ILEIC) ---→ileic
Taille Renvoie la taille d'une chaîne de caractères, Taille(chaîne) Taille(‘ILEIC) ---→5
Renvoie une chaîne de caractères sans les espaces
SansEspace SansEspace(chaîne) SansEspace(″ ILEIC ″) ---→ILEIC
situés à gauche et à droite.
Renvoie la valeur numérique d'une chaîne de
Val Val(chaîne) Val(″ 213″ ) ---→213
caractères.

 Exemple d'application :
SI Taille(t1)<>5 ALORS
Info("code insuffisant")
RAZ()
RETOUR
FIN

SI Gauche(t1,1)="m" ALORS
t2="marocain"
SINON
SI Gauche(t1,1)="a" ALORS
T1 t2="arabe"
SINON
SI Gauche(t1,1)="e" ALORS
T2 t2="etranger"
SINON
Info("taper a ou m ou e")
T3 FIN
FIN
T4
SI 0<Val(Milieu(t1,2,2))<25 ALORS
t3=Milieu(t1,2,2)
SINON
Info("nombre incorrect")
FIN

SI 0<Val(Droite(t1,2))<30 ALORS
t4=Droite(t1,2)
SINON
Info("nombre incorrect")
FIN

15 / 21
 Fonctions de gestion des dates
Fonctions Définition syntaxe Expemple
DateDuJour, Renvoie la date système DeateDuJour() DateDuJour()----→ 18/04/2015
DateSys Renvoie la date système DateSys() DateSys()-------→ 18/04/2015
MoisEnCours Renvoie le mois en cours. MoisEnCours() MoisEnCours()----→ 04
Renvoie l'année en cours
AnnéeEnCours AnnéeEnCours() AnnéeEnCours()----→ 2015
sous forme d'entier.
Renvoie le jour de la
semaine en toutes lettres
DateVersJourEnLettre DateVersJourEnLettre(Date) DateVersJourEnLettre(DateDuJour())------→ Mardi
correspondant à la date
spécifiée.
Renvoie le mois en toutes
DateVersMoisEnLettre lettres correspondant à la DateVersMoisEnLettre(Date) DateVersMoisEnLettre(DateDuJour())→ Décembre
date spécifiée

 Exemple d'application 1 :

Aujourd’hui : T1 T1=DateDuJour
Mois T2 T2=MoisEnCours()

Année T3 T3=AnnéeEnCours()
Afficher T4=DateVersJour(DateDuJour())
Jour T4
T5=DateVersJourEnLettre(DateDuJour())
Jour en lettre T5 T6=DateVersMoisEnLettre(DateDuJour())
Mois en lettre : T6

 Exemple d'application 2 :

T1
t3=t2[[7 A]]
T2
t4=EntierVersJourEnLettre(DateVersEntier(t2))
T3
T4 t5=t2 [[ 5A 6]]

T5 t6=EntierVersMoisEnLettre(DateVersEntier(t2))
T6
t7=t2 [[1 A 4]]
T7
t8=PartieEntière(DateVersEntier(t1)-

T8 DateVersEntier(t2))/360

16 / 21
Les Boites de dialogue :
Les boites de dialogue très utilisée dans WinDev permettent de poser une question à l’utilisateur.
• Les types de boites de dialogue :
L’instruction Description Syntaxe
Affiche un message personnalisé dans une fenêtre Info(<Texte>, <Ligne 2>, <Ligne
Info()
d'information système n>)
Affiche un message d'erreur personnalisé dans une Erreur(<Texte>, <Ligne 2>,
Erreur()
fenêtre d'erreur système <Ligne n>)
Affiche un message dans une boîte de dialogue <Résultat> = OuiNon(<Bouton
OuiNon() standard proposant les réponses "Oui", "Non" et sélectionné>, <Texte>, <Ligne 2>,
renvoie la réponse de l'utilisateur. <Ligne n>)
Affiche un message dans une boîte de dialogue <Résultat> = Confirmer(<Bouton
Confirmer() standard proposant les réponses "Oui", sélectionné>, <Texte>, <Ligne 2>,
"Non","Annuler" et renvoie la réponse de l'utilisateur. <Ligne n>)
Affiche (ou efface) un message dans la barre (barre
Message() Message(<Texte>)
d’etat) de message de la fenêtre en cours

• Exemple :
L’instruction Code Résultat

Info()

Erreur()
RC : retour à la ligne dans la boite de dialogue

OuiNon()

Confirmer()

Message()

17 / 21
Exercice d'application :
Proposer un programme Visual Basic qui permet de :
- Lire le nom et trois notes pour un élève.
- Calculer la moyenne de ces trois notes.
- Déterminer la mention.
- Afficher le nom, la moyenne et la mention dans une boite de dialogue.
Sachant que :
o Moy < 8 → Faible
o 8 <= Moy < 10 → Médiocre.
o 10 <= Moy < 12 → Passable.
o 12 <= Moy < 14 → Assez bien.
o 14 <= Moy < 18 → Très bien.
o 18 >= Moy → Excellent.

III- Manipulation des objets :


C’est un objet qui nous permet de choisir un élément parmi plusieurs éléments.

NB :
Les éléments de
combo ils sont indicés.

Pour manipuler l’objet combo, on utilise les propriétés et les instructions important suivantes :
• Les propriétés de combo :
Propriétés Description Syntaxe
Valeur retourne l’index de l’élément sélectionné dans le combo Combo..valeur
ValeurAffichée retourne la valeur de l’élément sélectionné dans le combo Combo..valeuraffichée

Exemple :
Sélection d’une ligne de : Combo_nom

SAI_index = combo_nom..valeur (Afficher l’index de l’élément


sélectionner dans la zone de texte
sai_index)
SAI_nom = combo_nom..valeuraffichée (Afficher la valeur de l’élément
sélectionner dans la zone de texte
sai_nom)

• Les instructions de combo :


L’instruction Description Syntaxe
ListeAjoute Ajoute un élément dans un combo ListeAjoute(Nom de combo, Élément)
ListeSupprimeTout Vide un combo de tous ses éléments ListeSupprimeTout(Nom de combo)
ListeSupprime Supprime un élément d'un combo ListeSupprime(Nom de combo,Indice de
l'élément)
ListeSelect Renvoie l'indice de l'élément sélectionné Résultat = ListeSelect(Nom de combo)
dans un combo
ListeSelectPlus Sélectionne un ou plusieurs éléments dans ListeSelectPlus(Nom de combo,Indice)
un combo
ListeOccurrence Renvoie le nombre d'éléments d’un combo Résultat = ListeSelectOccurrence(Nom
de combo)

18 / 21
- L’objet Sélecteur (Les boutons d’option) :
C’est un objet qui nous permet de choisir une seul option parmi plusieurs options.
Le sélecteur est un groupe de bouton d’option.
La valeur de sélecteur est égale à l’indice de bouton d’option activé.

NB :
Les boutons d’option
dans un sélecteur sont
indicés.

• Pour manipuler le sélecteur, on utiliser la propriété valeur.

Syntaxe :
Nom_objet_selecteur..Valeur

Exemple :

Si sel_situation..valeur=1 Alors
Info("Vous êtes Marié")
Fin

• Pour désactiver tous les boutons d’option de sélecteur :


Code :
L’événement Initialisation de la fenêtre ou de sélecteur
Sel_selecteur..valeur = -1

- L’objet Table Mémoire :


Une table mémoire, c’est un ensemble des lignes et des colonnes est directement liée à des listes stockées en
mémoire ou une base de données.
• Les fonctions de la table :
TableOccurrence(Nom Table) : Renvoie :
• soit le nombre de colonnes présentes dans une table.
• soit le nombre de lignes présentes dans une table.
- Exemple :
I est un entier = TableOccurence(Table_produit) :
- Nombre de lignes présentes dans la table "Table_Produit"

TableSelect(Nom Table) : Retourne le numéro de la ligne sélectionné.


- Exemple :
I est une entier = TableSelect(Table_Produit) :
- Indice de la ligne sélectionnée dans la table "Table_Produit"

TableSelectPlus(Nom Table) : Sélectionne une ligne dans une table dont l’indice est donné.
- Exemple :
TableSelectPlus(Table_Produit,3) :
- Sélection de la ligne 3 dans la table "Table_Produit"

19 / 21
TableSupprime(Nom Table) : Supprime une ligne de la table dont l’indice est donné.
- Exemple :
TableSupprime(Table_Produit,3) :
- Suppression de la ligne 3 dans la table "Table_Produit"

TableSupprimeTout(Nom Table) : Cette fonction permet de supprimer toutes les lignes dans une table mémoire.
- Exemple :
TableSupprimeTous(Table_Produit) :
- Suppression de toutes les lignes dans la table "Table_Produit"

TableModifie(Nom Table) : Permet de modifier les données de la ligne dont l’indice est donné.
- Exemple :
TableModifie(Table_Article, "Acer" + TAB + "HP", 5) :
- Modification des éléments "Acer" et "HP" de la cinquième ligne de la table "Table_Article"

TableCherche(Nom Table) : Permet de rechercher un élément dans une colonne.


- Exemple :
ResCherche est une Chaine = TableCherche(Col_Produit, "Chemise", Faux, 5) :
▪ Recherche l'élément "Chemise" dans la colonne "Col_Produit"
▪ Recherche générique à partir de ligne 5

Exercices d'application :
Exercice 1 :

Exercice 2 :

20 / 21
21 / 21

Vous aimerez peut-être aussi