Cette page présente quelques exemples de code WLangage.
Voila à quoi ressemble du code L5G !
(et n'oubliez pas que pour de nombreuses fonctions, il est inutile de coder, il suffit de cliquer sur les choix proposés par l'IDE; ces exemples illustrent juste le langage).
Le meilleur moyen de découvrir la facilité et la puissance du WLangage est de demander le CD de démo gratuit, qui inclut
une version Express de WINDEV ou de télécharger cette version Express.
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
ResLecture = RegistreLit ("HKEY_LOCAL_MACHINE\SOFTWARE\Appli", ...
"Langage", ResExécute)
SI ResExécute = Vrai ALORS
Info("La
valeur a été lue et vaut : "+ ResLecture)
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
| Clic sur BTN_DATEDIFFERENCE |
// 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
2011")
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
// Exemple plus élaboré 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
|