Vous êtes sur la page 1sur 12

ETUDE D’UN ATELIER DE GENIE LOGICIEL : WINDEV

Plan du cours

I. Généralités
II. Manipulation des fenêtres et des champs
II.1 Manipulation des fenêtres
II.2 Les types de champs proposés par WinDev
II.3 Les styles des champs
II.4 Ordre de saisie des champs dans une fenêtre
III. Notions fondamentales du W-Langage

III.1 Variables globales et variables locales


III.2 Les différents opérateurs
III.3 Manipulation des chaines et des numériques
III.4 Manipulation des dates et des heures
III.5 Les instructions conditionnelles et instructions répétitives (ou par
Boucle)
III.6 Procédures et Fonctions
III.7 Les boites de dialogue

IV. Création d’une application


IV.1 Projet et Analyse
IV.2 Manipulation des fichiers
IV.3 Editeur des états
IV.4 Editeur des requêtes
IV.5 Création du programme exécutable
IV.6 Installation de l’application en clientèle

1
I. Généralités

➢ Génie logiciel : Ensemble des méthodes, des techniques et outils


concourant à la production d’un logiciel.
➢ WinDev : Puissant outil de développement d’applications qui fournit
en standard tous les éditeurs nécessaires à la conception et à la
réalisation d’applications.
➢ W-Langage : C’est le langage du WinDev permettant de par ses
fonctions de créer des traitements pour chaque projet, fenêtre, champ,
etc…, au moyen de l’éditeur de code.

II. Manipulation des fenêtres et des champs


1. Fenêtre : Interface Homme-machine
2. Différents types de champs standards

Champ Utilité
Libellé Affichage d’un texte, d’un titre, …
Sélecteur, Combo, Liste Sélectionner une valeur parmi une liste
Interrupteur Sélectionner plusieurs valeurs parmi une liste
Table Afficher le contenu d’un fichier de données
Calendrier Sélectionner une date
Image Afficher une image
Champ de saisie Saisir des informations
Bouton Programmer une action dans une fenêtre
Arbre, Table hiérarchique Afficher des informations hiérarchisées
Graphe Afficher un histogramme, une courbe
Jauge Afficher une progression d’un traitement en
cours
Onglet, Boite à outils, Regrouper les champs par thème et afficher les
Tiroir thèmes un par un

3. Style des champs : il consiste à spécifier la manière dont un champ est


affiché dans une fenêtre
4. Ordre de saisie des champs dans une fenêtre : défini une navigation
ordonnée et aisée lors du passage du curseur d’un champ à un autre.

2
III. Notions fondamentales du W-Langage

III.1 Variables
➢ Variables globales : les variables globales déclarées dans le traitement
d’initialisation du projet peuvent être utilisées dans tous les traitements
du projet.
Les variables globales déclarées dans le traitement d’ouverture d’une
fenêtre peuvent être utilisées dans tous les traitements de la fenêtre (et
les champs de la fenêtre).
➢ Les variables locales peuvent être utilisées uniquement dans les
traitements dans lesquels elles sont déclarées. En dehors de ces
traitements, elles sont inconnues.
➢ Déclaration des variables : types de données disponibles
▪ Booléen : type logique pouvant prendre pour valeur Vrai ou Faux
▪ Entier : entier signé sur 2 octets
▪ Réel : réel sur 4 octets
▪ Monétaire : réel sur 10 octets
▪ Caractère : caractère codé sur 1 octet
▪ Chaine : chaine de caractère de taille dynamique
▪ Tableau : structure composée d’un nombre fixe d’éléments du même
type.
Remarques :
- Tous les types de données peuvent être mis au pluriel. Par exemple
entier ou entiers, …
- Après avoir été déclarée, si la variable n’est pas encore initialisée,
elle vaut 0 dans le cas du numérique ou « » (vide) dans le cas d’un
caractère ou d’une chaine de caractères.

➢ Syntaxe de déclaration de variables


<nom_var> est un <type_var>
Ou
<nom_var1>,<nom_var2>,…<nom_var n> sont des <type_var>

3
➢ Syntaxe de déclaration d’un tableau
▪ Pour déclarer un tableau :
<nom_var> est un tableau de <dim_1> [par <dim_2>] <type_var>
▪ Pour faire référence à un tableau :
<nom_tableau>[indice] : élément du tableau à une dimension
<nom_tableau>[indice1, indice2] : élément du tableau à 2
dimensions

➢ Syntaxe d’initialisation de variables


<nom_var> est un <type_var> = <Valeur>
Ou
<nom_var> est un <type_var>
<nom_var> = <Valeur>
Remarque : lorsque plusieurs variables du même type
sont déclarées et initialisées sur la même ligne, seule la dernière
est initialisée.
III.2 Les différents opérateurs
Une expression est composée d’opérateurs et d’opérandes :
- les opérandes peuvent être une variable, une constante ou une valeur ;
- les opérateurs peuvent être de type logique, arithmétique, comparatif
ou caractère.
2.1 Opérateurs logiques
Il en existe trois :
ET…multiplication logique
OU…addition logique
Pas…négation
2.2 Opérateurs arithmétiques

4
‶ + ″ : addition
‶ ₋ ″ : soustraction
‶ * ″ : multiplication
‶ / ″ : division
‶ + + ″ : incrémentation
‶ ₋ ₋″ : décrémentation
‶ + = ″ : ajout d’une valeur à la variable
‶ ₋ = ″ : soustraction d’une valeur à la variable
2.3 Opérateurs de comparaison
‶ = ″ : égalité stricte
‶ ⁓ =″ : égalité souple
‶ < > ″ : différent
‶ < = ″ : inférieur ou égal
‶ > = ″ : supérieur ou égal
‶ < ″ : strictement inférieur
‶ > ″ : strictement supérieur
III.3 Manipulation des chaines, des numériques, des dates et des heures
Fonction Description Syntaxe
Gestion des chaines de caractère
Gauche Extrait la partie gauche (c-à-d les Gauche (<Chaine source>,
1ers caractères) d’une chaine <Longueur>)
Droite Extrait la partie droite (c-à-d les Droite (<Chaine source>,
derniers caractères) d’une chaine <Longueur>)
Milieu Extrait une sous-chaine à partir Milieu (<Chaine source>,
d’une position donnée <Position départ>, <Longueur>)
Extraitchaine Extrait une sous-chaine d’une Extraitchaine (<chaine
chaine de caractère en fonction initiale>,<Rang>,<séparateur>)
d’un séparateur de chaine donné.
Majuscule/ Convertit une chaine de caractère Majuscule/Minuscule
Minuscule en majuscule / en minuscule (<chaine_source>)

5
Remplace Remplace toutes les occurrences Remplace (<chaine
d’un mot présents dans une chaine initiale>,<chaine à
par un autre mot remplacer>,<nouvelle chaine>)
Complète Renvoie une chaine de caractères Complète (<chaine à
spécifiques de taille donnée. compléter>,<taille>,<caractères>)
Val Renvoie la valeur numérique d’une Val (<chaine_source>)
chaine
Gestion des numériques
Age Renvoie l'âge à partir de la date de Age (<date de naissance>[,<date
naissance de calcul>])
Max / Min Renvoie la valeur maximale / Max/Min (<valeur 1>, <valeur
minimale d’une liste de valeurs 2>, <valeur n>)
Abs Renvoie la valeur absolue d'une Abs (<Numérique>)
valeur numérique
Modulo Retourne le reste d'une division Modulo (<Dividende>,
entière <Diviseur>)
Gestion des dates et heures
DateDujour ou Renvoie la date système
DateSys()
DateVersChaine Formate une date spécifiée au DateVersChaine (<date>,
format spécifié <format>)
DateDifference Calcule la différence de jours entre DateDifference (<date de début>,
deux dates <date de fin>)
HeureSys() Renvoie l’heure système
HeureDifference Calcul la différence en centièmes HeureDifference (<heure de
de seconde entre deux heures début>,<heure de fin>)

III.4 Les instructions conditionnelles et répétitives


4.1 Instruction conditionnelle SI : permet de choisir d’exécuter une ou une
autre action en fonction d’une condition.

6
Syntaxe :
Si< condition > Alors
< action si vrai > Si< condition > Alors
[ sinon Ou < action si vrai >
< action si faux >] Fin
Fin

4.2 Instruction conditionnelle SELON


Elle permet de choisir d’exécuter une ou une autre action en fonction de la
valeur d’une expression.
Syntaxe
SELON < Valeur de comparaison >
Cas < expression 1 >
< action si expression 1 OK >
Cas < expression 2 >
< action si expression 2 OK >
[Autres cas

< action >]

Fin

4.3 Instruction répétitive TantQue

L’instruction répétitive TantQue permet d’exécuter de manière répétée un


même bloc d’actions, le nombre d’itérations étant contrôlé.

Syntaxe

TantQue < condition >

< instruction > // traitement à exécuter

Fin

7
Remarque : l’instruction Sortir permet de forcer la sortie du bloc d’instruction

4.4 Instruction répétitive Pour

Elle permet d’exécuter de manière répétée un même bloc d’actions en


modifiant une variable de contrôle puis en la comparant à une valeur limite.

Syntaxe

Pour < Var > = < V init > à < V fin > [Pas < X >]

Traitement

Fin

< V init > --------------- Valeur de départ

< V fin > --------------- Valeur limite

<X> --------------- Pas d’incrémentation (optionnel) (Pas = 1 par défaut)

4.5 Instruction répétitive BOUCLE

Le bloc d’instruction est répété à l’infini. Il n’y a pas d’expression à évaluer.


Seule l’instruction Sortir permet de forcer la sortie du bloc d’instruction.

Syntaxe

BOUCLE

----------------------------

Si < condition > Alors

--------------------

Fin

Fin

8
Exemple

BOUCLE

Cpt = Cpt + 1

Si Cpt = 1000 Alors

Sortir

Fin

Fin

III.5 Procédure et Fonction


Une procédure est un sous-programme associant un identificateur à un bloc
d’instructions et qui peut être appelé dans un traitement.
Une fonction est un sous-programme qui effectue plusieurs instructions avant de
retourner une valeur au programme qui l’a appelée.
La différence entre une procédure et une fonction est que la fonction renvoie
une valeur, ce qui n’est pas le cas d’une procédure.
En W-langage, les procédures et les fonctions sont gérées de la même façon.
Une fonction ou une procédure peut retourner ou non un résultat avec la
fonction Renvoyer
Déclaration d’une procédure
Syntaxe
Procédure < nom > ([<paramètre>])
Exemple 1 : Procédure ChangeType (champ)
Exemple 2 : Procédure Controle ()
Si Diviseur=0 Alors
Retour
Fin

9
III.5 Boites de dialogue
Les boites de dialogue sont des fenêtres standards permettant de dialoguer avec
l’utilisateur.
Elles comprennent :
- Une icône permettant d’identifier le type de message
- Un titre affiché dans la barre de titre
- Un ou plusieurs boutons permettant à l’utilisateur de choisir la
réponse voulue
- Un texte correspondant au message destiné à l’utilisateur.
Différents types de boites de dialogue
1- Boites d’information ou d’erreur (Avertissement, Info, Erreur)
2- Boites de question (OuiNon ou OkAnnuler)
3- Boites de confirmation (Confirmer)

10
IV- Création d’une application
IV.1- Projet et Analyse
Le développement d’une application en WinDev repose sur deux éléments
principaux à savoir : le projet et l’analyse
1- Un projet WinDev est un ensemble d’éléments : fenêtres, états, champs,
… dont l’assemblage permet de réaliser une application.
2- Une analyse WinDev regroupe la description des fichiers et données de
l’application.
Génération de l’analyse : elle consiste à rendre disponible dans tout le projet
(fenêtres, états, champs, requêtes) les modifications effectuées sur l’analyse et
les fichiers.
IV.2- Quelques fonctions de gestion des fichiers
1- Fonctions de type création :
- Hcréation : pour créer le fichier à vide ; S’il existe déjà, il est écrasé
par un fichier vide
- HcréationSiInexistant : crée à vide un fichier de données s’il
n'existe pas,
2- Ouverture et fermeture des fichiers :
Les fichiers sont ouverts et fermés automatiquement
3- Mise à jour des données :
- HAjoute : insertion des données
- HModifie : modification des données
- HSupprime : suppression des données
4- Lecture :
- HLitRecherche : Permet de se positionner sur le premier
enregistrement du fichier dont la valeur d'une rubrique spécifique est
supérieure ou égale à une valeur recherchée (recherche générique).
- HLitRecherchePremier : Permet de se positionner sur le premier
enregistrement du fichier dont la valeur d'une rubrique spécifique est
strictement égale à une valeur recherchée (recherche à l'identique).
- HLitRechercheDernier : Permet de se positionner sur le dernier
enregistrement du fichier dont la valeur d'une rubrique spécifique est
strictement égale à une valeur recherchée (recherche à l'identique).

11
- HLitPremier : Permet de se positionner sur le premier enregistrement
d'un fichier en fonction d'une rubrique de parcours.
- HLitSuivant : Permet de lire l'enregistrement suivant à partir de
l’enregistrement en cours.
- HLitPrécédent : Permet de lire l'enregistrement précédent à partir de
l’enregistrement en cours.
- HLitDernier : Permet de se positionner sur le dernier enregistrement
d'un fichier en fonction d'une rubrique de parcours.

IV.3- Etude d’un cas pratique

12

Vous aimerez peut-être aussi