You are on page 1of 3

Manipulation des donnes avec Windev

Dans WinDev, lors de la cration dun projet manipulant des donnes, vous devez tout dabord crer
une "analyse". Une "analyse" contient la description des fichiers (ou tables) contenant les donnes de
lapplication.
Cest seulement lors de lexcution de lapplication, que ces descriptions sont utilises pour crer la
base de donnes et/ou les fichiers de donnes. Cest dans cette base ou dans ces fichiers que seront
stockes les donnes.
WinDev sait grer diffrents formats de base de donnes (pour ne pas dire tous). Les plus courantes
sont :
Hyper File, systme de base de donnes intgre WinDev et livre en standard.
AS/400, Access, SyBase, ...
Oracle, SQL Server, MySQL, xBase,
Toute base accessible en langage SQL sous Windows.
Texte (fichiers ASCII).
Pour accder aux donnes, il existe diffrentes techniques (appeles "modes daccs") :
Accs Natif
Accs OLE DB
Accs ODBC direct
Accs ODBC via OLE DB
Hyper File :
Il sagit dun SGBD Relationnel redistribuable gratuitement. Le format Hyper File est le format de base
de donnes fourni avec WinDev. Ce format de base de donnes est commun WinDev et WebDev.
La description dun fichier consiste dcrire la structure de lenregistrement qui sera crit dans le
fichier. Les rubriques (ou "colonnes") dcoupent lenregistrement. WinDev propose diffrents types de
rubriques :
Texte ou Mmo texte
Numrique ou Montaire
Date ou Heure
Interrupteur ou Slecteur
Liste
Image
Mmo binaire
...
Cration physique dun fichier de donnes
Le fichier est dcrit, mais il n'existe pas encore physiquement sur le disque. Il faut le crer par
programmation.
La fonction HCration cre le fichier vide (sans donnes). Mais attention, si le fichier existe dj, il
est recr vide : les donnes existantes sont crases dfinitivement !
La fonction HCrationSiInexistant cre le fichier vide s'il n'existe pas ou bien ouvre le fichier s'il
existe dj.

Ajouter un enregistrement
Les champs dans la fentre vont permettre de saisir les donnes. Pour enregistrer ces donnes dans
le fichier, nous allons ajouter un bouton.
Crez un bouton qui a par exemple le nom "CMD_AJOUT" et le libell "Ajouter" avec le code suivant :

EcranVersFichier()
HAjoute(ZNsoftClients)
Raz()
HRaz(ZNsoftClients)
La fonction EcranVersFichier permet dinitialiser les rubriques avec les valeurs des champs lis.
La fonction HAjoute ajoute lenregistrement dans le fichier.
La fonction Raz remet blanc : tous les champs pour la prochaine saisie. Cela permet ainsi de
signaler lutilisateur que l'enregistrement a t ajout, les variables de fichier (vite de conserver le
buffer prcdent en cas dajout partiel de rubriques dans un enregistrement).
Visualiser les enregistrements saisis
Les champs permettent de saisir des donnes, mais aussi de visualiser les donnes issues du fichier.
Nous allons saisir le code pour afficher les donnes.

HLitPremier(ZNsoftClients, IDClient)
SI HEnDehors() = Faux ALORS
FichierVersEcran()
FIN
La fonction HLitPremier va lire le premier enregistrement du fichier selon la cl "IDPRODUIT" et le
charge en mmoire.
La fonction HEnDehors retourne "Vrai" si le fichier est vide.
La fonction FichierVersEcran fonctionne selon le mme principe que EcranVersFichier mais effectue
l'opration inverse.

Parcourir les bases de donnes avec Windev


Lorsque vous avez saisi plusieurs enregistrements.
Le parcours de fichier s'effectue selon une cl, dans notre exemple selon le numro de produit
("IDCLIENT").
Nous allons ajouter quatre boutons dans notre fentre pour :
1. Passer l'enregistrement suivant : L'enregistrement suivant est celui dont la valeur de la cl suit
immdiatement la valeur de la cl de l'enregistrement en cours.
2. Passer l'enregistrement prcdent : L'enregistrement prcdent est celui dont la valeur de la cl
prcde immdiatement la valeur en cours.
3. Passer au premier enregistrement : Le premier enregistrement est celui qui a la plus petite valeur
de cl.
4. Passer au dernier enregistrement : Le dernier enregistrement est celui qui a la plus grande valeur

de cl.
Crez quatre boutons qui ont pour nom par exemple "CMD_PREMIER", "CMD_PRECEDENT",
"CMD_SUIVANT", et "CMD_DERNIER".
Le code de ces boutons sera :

//Bouton CMD_premier : appeler le premier


HLitPremier(ZNsoftClients, IDCLIENT)
SI HEnDehors()=Vrai ALORS
Info("Aucune fiche visualiser")
SINON
FichierVersEcran()
FIN
//Bouton CMD_prcdent : appeler le prcdent
HLitPrcdent(ZNsoftClients, IDCLIENT)
SI HEnDehors()=Vrai ALORS
Info("Aucune autre fiche visualiser")
SINON
FichierVersEcran()
FIN
//bouton CMD_Suivant : appeler le suivant
HLitSuivant(ZNsoftClients, IDCLIENT)
SI HEnDehors()=Vrai ALORS
Info("Aucune autre fiche visualiser")
SINON
FichierVersEcran()
FIN
//Bouton CMD_dernier : appeler le dernier
HLitDernier(ZNsoftClients, IDCLIENT)
SI HEnDehors()=Vrai ALORS
Info("Aucune fiche visualiser")
SINON
FichierVersEcran()
FIN

You might also like