Developpez.com - WinDev
X

Choisissez d'abord la catégorieensuite la rubrique :


Exemples en WLangage (issus du site de l'éditeur)

Date de publication : 27 novembre 2008 , Date de mise à jour : 06/05/2009

Par Emmanuel Lecoester
 

Ensemble d'exemples WinDev pertmettant de vérifier la coloration syntaxique

               Version PDF (Miroir)   Version hors-ligne (Miroir)


Exemple 1 : Scan d'un document


// Enregistre le document présent dans le scanneur
// dans le fichier "MaPhoto.JPEG"
// Le document sera enregistré en noir et blanc 

// Le code lui-même

TwainVersJPEG ("C:\Temp\MaPhoto.JPEG", 0, Faux , TwainNoirBlanc )

// Le code en gérant les éventuelles erreurs par programmation

SI TwainVersJPEG ("C:\Temp\MaPhoto.JPEG", 0, Faux , TwainNoirBlanc ) ALORS
      Info("Le document a été enregistré")
SINON
      Erreur("Le document n'a pas été scanné")
FIN
Exemple 2 : Lecture d'une clé de registre


// Lit la valeur "Langage" dans la clé "HKEY_LOCAL_MACHINE\SOFTWARE\Appli"
// Le booléen ResExécute permet de savoir si la valeur a été lue 
Lecture = RegistreLit ("HKEY_LOCAL_MACHINE\SOFTWARE\Appli", "Langage", Exécute)
SI Exécute = Vrai ALORS
      Info("La valeur a été lue et vaut : "+Lecture)
FIN
Exemple 3 : Sélection d'une couleur

Valeur est un entier = RVB(10, 17, 69)
Résultat est un booléen
Info("Couleur de départ : " + Valeur)
Résultat = SelectCouleur (Valeur, scInit )
Info("Couleur d'arrivée : " + Valeur)
Exemple 4 : Calcul du nombre de jours entre 2 dates

// Affiche le nombre de jours écoulés depuis le 01/01/1998
X = NumériqueVersChaîne( DateDifférence ("19980101", DateSys())) + " jours écoulés"
Exemple 5 : Extraction d'une partie de chemin de fichier

// Récupération du nom du fichier
NomFichier = fExtraitChemin ("\MesRépertoires\Fichier.extension", fFichier )
// fExtraitChemin renvoie "Fichier"
Exemple 6 : Phonétique d'une chaîne

// Comparaison phonétique de deux chaînes de caractères
Phonétique ("TRAIT") = Phonétique ("très")
Exemple 7 : Envoi d'un email

// Initialisation de la structure e-mail 
Email.Destinataire = "support@pcsoft.fr"
Email.Expéditeur = "Tartampion@boite.net.fr"
Email.Message = "Test Auto eMail"
Email.nbDestinataire = 1

// Envoie le mail et gère les éventuelles erreurs 
SI EmailEnvoieMessage (NomUser) = Faux ALORS
      Erreur("L'envoi de mail a échoué", ErreurInfo())
SINON
      Info("L'envoi de mail a réussi ")
FIN
Exemple 8 : Ajout d'une icône dans le systray

// Ajout de l'icône "C:\icones\icone.ICO" dans la barre des tâches 
ResAjoutIcone = SysIconeAjoute ("C:\icones\icone.ICO", "", "Ventes 2008")
Exemple 9 : Sauvegarde d'une hard copie

// Sauve en mémoire l'image présente dans "ImageDessin"
Toto = dSauveImageJPEG (ImageDessin, enMémoire )
Exemple 10 : Exemple de déclaration de variables

// Déclaration de variables
NomClient est une chaîne
Compteur est un entier
Prix est un réel
i,j,k sont des entiers
Exemple 11 : Interaction Code / Interface

// Exécute le traitement de l'option de menu FichierSauve
ExécuteTraitement (FichierSauve, trtOptionMenu )
Exemple 12 : Gestion des Thread par programme (il existe une méthode automatique)

// Exécution d'un thread avec passage de paramètres
sDate est une chaîne = DateSys()
// Exécution du thread
ThreadExécute ("THREADNAME", threadNormal ,"pExecReq",sDate)

  Procédure locale pExecReq 

// Détail de la procedure " pExecReq " qui 
// attend une date en paramètre d'une requête
PROCEDURE pExecReq(sDate)
SI HExécuteRequête(Sup_Date, hRequêteDéfaut ,sDate) = Faux  ALORS
      Erreur(HErreurInfo())
SINON
      HLitPremier(Sup_Date)
FIN
Exemple 13 : Aperçu avant impression

// Et en prime , suppression des boutons d'envoi d'Email de l'aperçu avant impression 

// Car par défaut dans un aperçu il y a envoi d'email, copie dans Word, Excel et plus !!! 
iParamètreAperçu ( iBoutonTous  + iBoutonEmail - iBoutonEmailPdf )
iAperçu()
iImprimeEtat(MonEtat)
Exemple 14 : Impression en HTML


// Impression au format HTML
iDestination ( iHTML , "c:\Mes documents\MonEtat.HTM")
// "c:\Mes documents\MonEtat.HTM" correspond au nom et 
// au chemin du fichier HTM qui sera créé avec l'état "MonEtatRécap"
iImprimeEtat(MonEtatRécap)
Exemple 15: Génération d'un fichier PDF

iDestination ( iPDF , NomFichier)
iImprimeEtat(Etat_Facture) 

// Variante sophistiquée (tout est possible en WLangage !) 
// Impression au format PDF
NomFichier est une chaîne = ComplèteRep(fRepEnCours()) + "f" + Facture + Client + ".PDF"
iDestination ( iPDF , NomFichier)
iImprimeEtat(Etat_Facture, Client, Facture) 
Exemple 16 : Protection d'un fichier PDF

// Protection du PDF contre l'impression 
// et contre la sélection et le copier/coller
iParamètrePDF ( iProtectionImpression + iProtectionSelection )
// création du PDF 
iAperçu( iPDF , ":\Temp\MonPDF.PDF") 
Exemple 17 : Sélection d'une imprimante PCL (mobile)

// Imprimante PCL à utiliser
iDestination ( iPCL , "\\MonRéseau\MonImprimante")
Exemple 18 : Impression au format PCL (mobile)

// Impression au format PCL
iDestination ( iPCL , "\Mes documents\MonFichier.PCL")
Exemple 19 : Composer un numéro de téléphone

SI telCompose ( ChampSaisieNuméroTéléphone , "EtatLigne" ) ALORS
      Info ( "Cliquez sur OK pour raccrocher quand vous aurez terminé " )
      telRaccroche ()
FIN
  Procédure locale EtatLigne 

PROCEDURE EtatLigne ( ValeurEtat )
SELON ValeurEtat
      CAS telLigneOccupée : Message ( "La ligne est occupée" )
      CAS telLigneDecrochée : Message ( "OK, connecté" )
      CAS telLigneNumérote : Message ( "Numérotation en cours" )
      CAS telLigneTonalité : Message ( "Tonalité" )
      CAS telLigneRaccrochée : Message ( "Le correspondant a raccroché" )
      CAS telLigneAttendRéponse : Message ( "Recherche du correspondant" )
      CAS telLigneSonnerie : Message ( "Sonnerie chez le correspondant" )
FIN 
Exemple 20 : Calculs financiers

// Taux d'intérêt pour un emprunt de 25 000 Euros. Six versements
// de 5 000 Euros sont nécessaires au remboursement de l'emprunt. 
ResTauxIntérêt = FinTauxIntérêt (6, -5000, 25000)
Exemple 21 : Lecture d'un fichier texte ligne par ligne

BOUCLE
      // Lecture d'une ligne du fichier texte
      UneLigne = fLitLigne ( NumFic )
      SI UneLigne = EOT ALORS SORTIR
      TraiteLigne ( UneLigne )
FIN 
Exemple 22 : Sortie selon une condition TANTQUE

// Sortie selon une condition TANTQUE
BOUCLE
      // Lecture d'une ligne du fichier texte
      UneLigne = fLitLigne ( NumFic )
      TraiteLigne ( UneLigne )
      A FAIRE TANTQUE UneLigne <> EOT
FIN 
Exemple 23 : Sortie selon une itération

// Sortie selon une itération
BOUCLE ( 10 )
      // Lecture d'une ligne du fichier texte
      UneLigne = fLitLigne ( NumFic )
      TraiteLigne ( UneLigne )
FIN 
Exemple 24 : Export vers Excel

sFic est une chaîne
// On demande le nom du fichier
sFic = fSélecteur("", "", "Choisissez le fichier d'exportation", "Fichiers Excel (*.xls) *.xls", ...
                                                                                          "xls", fselCrée + fselExiste )
// Si le nom n'a pas été fourni, on abandonne l'export
SI sFic = "" ALORS RETOUR
// Sinon, on exporte le contenu de la table TABLE1
TableVersExcel ("TABLE1", sFic, taSansTitre )
Exemple 25 : Export vers XML

sFic est une chaîne
// On demande le nom du fichier
sFic = fSélecteur("", "", "Choisissez le fichier d'exportation", "Fichiers XML (*.XML) *.xml", ...
                                                                                          "xml", fselCrée + fselExiste )
// Si le nom n'a pas été fourni, on abandonne l'export
SI sFic = "" ALORS RETOUR
// Sinon, on exporte le contenu de la table TABLE1
TableVersXML ("TABLE1", sFic, taSansTitre )
Exemple 26 : Extraction d'une partie de chemin de fichier

sFic est une chaîne
// On demande le nom du fichier
sFic = fSélecteur("", "", "Choisissez le fichier d'exportation", "Fichiers Word (*.rtf) *.rtf", ...
                                                                                          "rtf", fselCrée + fselExiste )
// Si le nom n'a pas été fourni, on abandonne l'export
SI sFic = "" ALORS RETOUR
// Sinon, on exporte le contenu de la table TABLE1
TableVersWord ("TABLE1", sFic, taSansTitre )
Exemple 27 : Envoi d'un SMS

// Initialisation de la structure SMS
SMS.Numéro = "0610203040"
SMS.Message = "J'envoie des SMS avec WinDev Mobile !"

SMSEnvoie()
Exemple 28 : Envoi d'un fax

// Envoi  d'un fax
IdConnect est un entier
IdConnect = FaxConnecte()
...
IdFax est un booléen
IdFax = FaxEnvoie (IdConnect,"MonFax","Message.txt","0102030405")
...
FaxDéconnecte(IdConnect)
Exemple 29 : Acquisition sur le port série (ce code est généré par un assistant, vous n'aurez même pas à le taper !)

Lignecorrecte = sOuvre ( 1 , 2000 , 2000 ) // Ouverture de COM1
SI Lignecorrecte = Vrai ALORS
      // Paramétrage Com1 : Taux 9600, Parité paire, 
      // 8 bits de données, 1 bit de stop
      sFixeParamètre ( 1 , 9600 , 1 , 8 , 0) // Paramétrage de COM1 
      // Suite traitement...
      sFerme ( 1 ) // Fermeture de COM1
SINON
      Erreur ( "Erreur d'ouverture de COM1" )
FIN 
Exemple 30 : ouverture SMTP

PROCEDURE bConnexionSMTP()

sNomUser		est une chaîne=gsNomUserSMTP
sNomSMTP		est une chaîne=gsNomServeurSMTP
sPasswordSMTP 	est une chaîne=gsPasswordSMTP



// Changement du timeout
EmailChangeTimeOut(3)

SI PAS sPasswordSMTP ~= "" ALORS
	SI EmailOuvreSessionSMTP(sNomUser,sPasswordSMTP,sNomSMTP) = Faux ALORS
		ErreurEmail="Impossible de se connecter au serveur SMTP."+RC+ErreurInfo()
		RENVOYER Faux
	FIN
SINON
	SI EmailOuvreSessionSMTP(sNomUser,sNomSMTP) = Faux ALORS
		ErreurEmail="Impossible de se connecter au serveur SMTP."+RC+ErreurInfo()
		RENVOYER Faux
	FIN	
FIN

RENVOYER Vrai
Exemple 31 : Dessine l'icone associée à une extension de fichier, ou d'un fichier en particulier

// Résumé : Dessine l'icone associée à une extension de fichier, ou d'un fichier en particulier
// Paramètres : 
//      sFileName (chaîne) : Nom du fichier ou extension avec le "." (ex: ".doc")
//      sNomChpImage (chaîne - valeur par défaut="") : Nom du Champ Image
//      hDC (entier système - valeur par défaut=0) : ou hDC du champ image renvoyé par dDebutDessin()
//      nTaille (entier - valeur par défaut=16) : 16, 32, 48, 64 
// Valeur de retour : 
//      booléen
//
// Source : http://tanguy.ath.cx/index.php?q=fr/DessineIconeFichier
// Exemples :
// DessineIconeFichier(".doc","IMG_Icone")
// DessineIconeFichier("C:\Test.exe","",hDC)
 
PROCEDURE DessineIconeFichier(sFileName est chaîne, sNomChpImage est chaîne="", ...
                        LOCAL    hDC est entier système=0, nTaille est entier = 16)
 
SI sNomChpImage<>"" _ET_ PAS ChampExiste(sNomChpImage) ALORS
        RENVOYER Faux
FIN
 
bRes est booléen
 
sDefaultIcon est chaîne = SysRep(srSystème) + "\SHELL32.DLL"
nIconIndex est entier
sFileExt est chaîne
sProgramName est chaîne
nbIcons,nIndex,nError sont entier
hIcon est entier système
 
sFileExt = Minuscule(fExtraitChemin(sFileName,fExtension))
 
SELON sFileExt
        CAS ".ico"
                SI fFichierExiste(sFileName) ALORS
                        sDefaultIcon=sFileName
                        nIconIndex = 0
                        GOTO DRAW_ICON
                FIN
        CAS ".exe"
                //sDefaultIcon = SysRep(srSystème) + "\SHELL32.DLL"
                nIconIndex = 2
                //Icone de l'executable (si nom de fichier complet fourni)
                SI fFichierExiste(sFileName) ALORS
                        sDefaultIcon=sFileName
                        nIconIndex = 0
                FIN
                GOTO DRAW_ICON
FIN
 
SI RegistreExiste("HKEY_CLASSES_ROOT\"+sFileExt) ALORS
        sProgramName = RegistreLit("HKEY_CLASSES_ROOT\"+sFileExt,0)
        sDefaultIcon = RegistreLit("HKEY_CLASSES_ROOT\"+sProgramName + "\DefaultIcon",0)
 
        nIndex = Position(sDefaultIcon, ",", Taille(sDefaultIcon), DepuisFin)
        SI nIndex ALORS
                sDefaultIcon = sDefaultIcon[[A nIndex-1]]
                nIconIndex = sDefaultIcon[[nIndex+1 A]]
        FIN
FIN
 
DRAW_ICON:
SI nTaille=16 ALORS
        //Petite icone
        nbIcons = API("SHELL32","ExtractIconExA", sDefaultIcon, nIconIndex, Null, &hIcon, 1)
SINON
        //Icone standard
        hIcon = API("SHELL32","ExtractIconA", 0, sDefaultIcon, nIconIndex)      
FIN
 
SI hIcon DANS (-1,0,1) ALORS
        RENVOYER Faux
FIN
 
SI sNomChpImage<>"" ALORS
        {sNomChpImage,indChamp}..Visible=Faux 
        hDC = dDébutDessin(sNomChpImage)
        nError = API("USER32","DrawIconEx",hDC, 0, 0, hIcon, nTaille, nTaille, 0, 0, 3)
        {sNomChpImage,indChamp}..Visible=Vrai 
SINON
        nError = API("USER32","DrawIconEx",hDC, 0, 0, hIcon, nTaille, nTaille, 0, 0, 3) 
FIN
 
API("USER32","DestroyIcon",hIcon)
 
RENVOYER Vrai


               Version PDF (Miroir)   Version hors-ligne (Miroir)

Valid XHTML 1.0 TransitionalValid CSS!