Programmation évènementielle : WINDEV
L’objet Table
Mémoire
Application
L’objectif de cette Application est de manipuler les fonctions relatives à l’objet table
mémoire.
Soit l’interface suivante
Travail demandé :
Ecrire la procédure évènementielle relative à chaque bouton de commande sachant que :
 Le bouton autre consiste à initialiser tous les objets a l’exception de :
 La table mémoire
 Les zones du texte :
 Nombre facture
 Total espèce
 Total Cheque
 Total
 Le bouton valider consiste à ajouter les données saisies dans une ligne de la table
mémoire sachant que le numéro de règlement ne doit pas être dupliqué
 Le bouton chercher consiste à faire la recherche d’un régalement déjà ajouté dans la
table mémoire par son numéro de règlement
 Après la recherche :
 Le bouton Modifier consiste à modifier le règlement cherché
 Le bouton supprimer consiste à supprimer le règlement en cours (cherché)
 Le bouton fermer consiste à arrêter l’exécution
Déclaration globale de fenêtre
r est un entier
mr est une chaîne
Clic sur Autre
sai_nr=""
sai_nf=""
sai_dr=""
sai_mtr=""
RepriseSaisie(sai_nr)
Clic sur Valider
//---vérification de l'existence de numéro règlement-----------
r=TableCherche(NRegelemt,sai_nr)
SI r>-1 ALORS
Erreur("Ce numéro est déja saisi")
RETOUR //---------le reste du programme ne sera pas exécuté----
FIN
//------------------------------------------------------------
SI sel_R..Valeur=1 ALORS
mr="Espece"
SINON
mr="Cheque"
FIN
TableAjoute(Table1,sai_nr+TAB+sai_nf+TAB+Combo..ValeurAffichée+TAB+mr+TAB+
sai_dr+TAB+sai_mtr)
//--calcul de total et total facture espèce et cheque----------
ligne est entier
totalht est un réel
tesp est un réel
tch est un réel
POUR ligne=1 A TableOccurrence(Table1)
TableSelectPlus(Table1,ligne)
totalht=totalht+Table1.Monatant_Reglement//-cumul des montants ht
//---------------calcul de total facture espèce et chèque ---------//
SI Table1.Mode_Reglement="Espece" ALORS
tesp=tesp+Table1.Monatant_Reglement
SINON
tch=tch+Table1.Monatant_Reglement
FIN
FIN
sai_t=totalht
sai_Tch=tesp
sai_tesp=tch
sai_nbf=TableOccurrence(Table1)
Clic sur Rechercher
nr est chaîne
Saisie("veuillez saisir le numéro de règlement a éditer",nr)
r=TableCherche(NRegelemt,nr)
SI r=-1 ALORS
Info("Ce numéro de reglement n'existe pas")
SINON
TableSelectPlus(Table1,r)
sai_nr=Table1.NRegelemt
sai_nf=Table1.Nfacture
SI Table1.Operation="Vente" ALORS
Combo..Valeur=1
SINON
Combo..Valeur=2
FIN
SI Table1.Mode_Reglement="Espece" ALORS
sel_R..Valeur=1
SINON
sel_R..Valeur=2
FIN
sai_dr=Table1.Date_Reglement
sai_mtr=Table1.Monatant_Reglement
FIN
Clic sur Modifier
SI OuiNon(Non, «Voulez-vous modifiez cet enregistrement?")=Oui ALORS
SI sel_R..Valeur=1 ALORS
mr="Espèce"
SINON
mr="Cheque"
FIN
TableModifie(Table1,sai_nr+TAB+sai_nf+TAB+Combo..ValeurAffichée+TAB+mr+TAB+sai_dr+TAB+
sai_mtr)
ExécuteTraitement (Autre1,trtClic)
FIN
Clic sur Fermer
SI OuiNon (Non, «Voulez-vous quitter?»)=Oui ALORS
FinProgramme()
FIN
Clic sur Supprimer
SI OuiNon(Non, «voulez-vous supprimer ce règlement?")=Oui ALORS
TableSupprime(Table1,r)
//---------recalcule des montant-------------
ligne est entier
totalht est un réel
tesp est un réel
tch est un réel
POUR ligne=1 A TableOccurrence(Table1)
TableSelectPlus(Table1,ligne)
totalht=totalht+Table1.Monatant_Reglement//-cumul des montants ht
//-------------calcul de total facture espèce--------------//
SI Table1.Mode_Reglement="Espece" ALORS
tesp=tesp+Table1.Monatant_Reglement
SINON
tch=tch+Table1.Monatant_Reglement
FIN
FIN
sai_t=totalht
sai_Tch=tesp
sai_tesp=tch
sai_nbf=TableOccurrence(Table1)
//----------Exécuter le traitement clic de bouton autre-----------
ExécuteTraitement(Autre1,trtClic)
FIN
Bouton gauche double clic
sai_nr=Table1.NRegelemt
sai_nf=Table1.Nfacture
SI Table1.Operation="Vente" ALORS
Combo..Valeur=1
SINON
Combo..Valeur=2
FIN
SI Table1.Mode_Reglement="Espece" ALORS
sel_R..Valeur=1
SINON
sel_R..Valeur=2
FIN
sai_dr=Table1.Date_Reglement
sai_mtr=Table1.Monatant_Reglement
Attention : Il faut tout d’abord ajouter cet évènement en cliquant ici

Correction exercice table mémoire

  • 1.
    Programmation évènementielle :WINDEV L’objet Table Mémoire
  • 2.
    Application L’objectif de cetteApplication est de manipuler les fonctions relatives à l’objet table mémoire. Soit l’interface suivante Travail demandé : Ecrire la procédure évènementielle relative à chaque bouton de commande sachant que :  Le bouton autre consiste à initialiser tous les objets a l’exception de :  La table mémoire  Les zones du texte :  Nombre facture  Total espèce  Total Cheque  Total  Le bouton valider consiste à ajouter les données saisies dans une ligne de la table mémoire sachant que le numéro de règlement ne doit pas être dupliqué  Le bouton chercher consiste à faire la recherche d’un régalement déjà ajouté dans la table mémoire par son numéro de règlement  Après la recherche :  Le bouton Modifier consiste à modifier le règlement cherché  Le bouton supprimer consiste à supprimer le règlement en cours (cherché)  Le bouton fermer consiste à arrêter l’exécution
  • 3.
    Déclaration globale defenêtre r est un entier mr est une chaîne Clic sur Autre sai_nr="" sai_nf="" sai_dr="" sai_mtr="" RepriseSaisie(sai_nr) Clic sur Valider //---vérification de l'existence de numéro règlement----------- r=TableCherche(NRegelemt,sai_nr) SI r>-1 ALORS Erreur("Ce numéro est déja saisi") RETOUR //---------le reste du programme ne sera pas exécuté---- FIN //------------------------------------------------------------ SI sel_R..Valeur=1 ALORS mr="Espece" SINON mr="Cheque" FIN TableAjoute(Table1,sai_nr+TAB+sai_nf+TAB+Combo..ValeurAffichée+TAB+mr+TAB+ sai_dr+TAB+sai_mtr) //--calcul de total et total facture espèce et cheque---------- ligne est entier totalht est un réel tesp est un réel tch est un réel POUR ligne=1 A TableOccurrence(Table1) TableSelectPlus(Table1,ligne) totalht=totalht+Table1.Monatant_Reglement//-cumul des montants ht //---------------calcul de total facture espèce et chèque ---------// SI Table1.Mode_Reglement="Espece" ALORS tesp=tesp+Table1.Monatant_Reglement SINON tch=tch+Table1.Monatant_Reglement FIN FIN sai_t=totalht sai_Tch=tesp sai_tesp=tch sai_nbf=TableOccurrence(Table1)
  • 4.
    Clic sur Rechercher nrest chaîne Saisie("veuillez saisir le numéro de règlement a éditer",nr) r=TableCherche(NRegelemt,nr) SI r=-1 ALORS Info("Ce numéro de reglement n'existe pas") SINON TableSelectPlus(Table1,r) sai_nr=Table1.NRegelemt sai_nf=Table1.Nfacture SI Table1.Operation="Vente" ALORS Combo..Valeur=1 SINON Combo..Valeur=2 FIN SI Table1.Mode_Reglement="Espece" ALORS sel_R..Valeur=1 SINON sel_R..Valeur=2 FIN sai_dr=Table1.Date_Reglement sai_mtr=Table1.Monatant_Reglement FIN Clic sur Modifier SI OuiNon(Non, «Voulez-vous modifiez cet enregistrement?")=Oui ALORS SI sel_R..Valeur=1 ALORS mr="Espèce" SINON mr="Cheque" FIN TableModifie(Table1,sai_nr+TAB+sai_nf+TAB+Combo..ValeurAffichée+TAB+mr+TAB+sai_dr+TAB+ sai_mtr) ExécuteTraitement (Autre1,trtClic) FIN
  • 5.
    Clic sur Fermer SIOuiNon (Non, «Voulez-vous quitter?»)=Oui ALORS FinProgramme() FIN Clic sur Supprimer SI OuiNon(Non, «voulez-vous supprimer ce règlement?")=Oui ALORS TableSupprime(Table1,r) //---------recalcule des montant------------- ligne est entier totalht est un réel tesp est un réel tch est un réel POUR ligne=1 A TableOccurrence(Table1) TableSelectPlus(Table1,ligne) totalht=totalht+Table1.Monatant_Reglement//-cumul des montants ht //-------------calcul de total facture espèce--------------// SI Table1.Mode_Reglement="Espece" ALORS tesp=tesp+Table1.Monatant_Reglement SINON tch=tch+Table1.Monatant_Reglement FIN FIN sai_t=totalht sai_Tch=tesp sai_tesp=tch sai_nbf=TableOccurrence(Table1) //----------Exécuter le traitement clic de bouton autre----------- ExécuteTraitement(Autre1,trtClic) FIN
  • 6.
    Bouton gauche doubleclic sai_nr=Table1.NRegelemt sai_nf=Table1.Nfacture SI Table1.Operation="Vente" ALORS Combo..Valeur=1 SINON Combo..Valeur=2 FIN SI Table1.Mode_Reglement="Espece" ALORS sel_R..Valeur=1 SINON sel_R..Valeur=2 FIN sai_dr=Table1.Date_Reglement sai_mtr=Table1.Monatant_Reglement Attention : Il faut tout d’abord ajouter cet évènement en cliquant ici