Conseil : +33 (0)4 67 032 032 / Besoin d'aide ?
  • Produits

    Suite logicielle

    • WINDEV
    • WEBDEV
    • WINDEV Mobile
    • Nouveautés de la version 27

    • WDMSG
    • HFSQL
    • Etats et Requêtes
    • Cloud
    • LST (Lettre du Support Technique)

    Découvrir

    • Témoignages
    • Documentation
    • Vidéos et webinaires
    • WINDEV Tour : photos de roadshow
    • Séminaires de présentation

    Commander

    • Commander en ligne
    • Commander une mise à jour
    • Bon de commande
    • Tarif
    • Devis gratuit
    • Opération  "Pour 1 Euro de Plus"

    Connecteurs Natifs BDD

    • HFSQL
    • AS/400 & System i
    • Oracle
    • SQL Server
    • DB2
    • MySQL
    • Informix
    • PostgreSQL
    • Progress
    • Sybase
    • xBase
    • SQLite
    • Access
    • MariaDB
  • Commander

    Nouvelles licences

    • WINDEV
    • WEBDEV
    • WINDEV Mobile
    • Licences multiples
    • Spécial Grand compte et administration
    • Distributeurs monde
    • Opération  "Pour 1 Euro de Plus"

    Mises à jour

    • WINDEV
    • WEBDEV
    • WINDEV Mobile
    • AS/400

    Passez en version 27

    • Commande en ligne
    • Tarif
    • Bon de commande
    • Devis gratuit
    • Distributeurs monde
  • Télécharger

    Version Express (gratuit)

    • WINDEV Express
    • WINDEV Mobile Express

    Espace de téléchargement

    • Versions 27
    • Mises à jour

    Ressources pratiques

    • Visuels redistribuables
    • Site de dépôt
  • Support Technique

    Nos services

    • Le Support Technique Gratuit
    • Assistance Directe®
    • Intervention sur site (Consulting)
    • LST (Lettre du Support Technique)

    Communauté  /  Aide

    • Aide en ligne des produits
    • Forums
    • FAQ
    • Vidéos et webinaires
    • Site de dépôt
    • Blogs

    Compléments

    • Téléchargements
    • Ressources pratiques
  • Se Former

    Formez vos développeurs

    • Formations WINDEV
    • Formations WEBDEV
    • Formations WINDEV Mobile
    • Formation inter-entreprises
      (Paris ou en distanciel)
    • Formation intra-entreprise
      (dans vos locaux ou en distanciel)

    Consulting développeur

    • Consulting sur site
    • Consulting en distanciel
    • Assistance Directe®

    Éducation Nationale

    • Éducation Nationale
    • Support de cours
    • Cursus d'enseignement
    • Version Express (Gratuit)
  • PC SOFT

    Se tenir informé

    • Actualités
    • WDNEWS
    • Facebook
    • Twitter

    Trouver l'information

    • Plan du site
    • Raccourcis
    • Faire une recherche

    La société PC SOFT

    • Qui sommes-nous ?
    • Emploi
    • Pour un monde meilleur

    Prise de contact

    • Contacts
    • Distributeurs monde
  • Emploi
  • Contacts
PCSOFT Logo PCSOFT Logo
Les livraisons sont assurées. Livraison physique ou par téléchargement.
Les livraisons sont assurées.
Livraison physique ou par téléchargement.
  • Pub TV
  • WINDEV TECH TOUR 2022
  • Témoignages WINDEV
Les livraisons sont assurées.
Livraison physique ou par téléchargement.
Les livraisons sont assurées.
Livraison physique ou par téléchargement.
  • Pub TV
  • WINDEV TECH TOUR 2022 : Vous êtes invité
  • Témoignages WINDEV
Exemples de code WLangage (L5G)

Cette page présente quelques exemples de code WLangage.

Voila à quoi ressemble du code L5G !
N'oubliez pas : 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.

  • WLangage : Aide en ligne
  • WLangage : Un L5G puissant (PDF)
  • WLangage : Les fonctions (PDF)

 

Exemple : Scan d'un document

// Enregistre le document présent dans le scanneur dans le fichier "MonDocument.PDF"

TwainVersPDF("C:\Temp\MonDocument.PDF")

Exemple : Exemple de code conditionnel

// Récupère le CA du mois en cours

TotalCA est un monétaire = CalculCAMoisEnCours()

 

// Si le CA dépasse l'objectif

SI TotalCA >= 1 250 000 ALORS

LIB_Objectif= "Objectif dépassé !"

LIB_Objectif.Couleur= VertFoncé

SINON

// Si le CA n'atteint pas l'objectif minimum attendu

SI TotalCA <= 200 000 ALORS

LIB_Objectif= "Objectif non atteint"

LIB_Objectif.Couleur= RougeClair

FIN

FIN

Exemple : Exemple de code conditionnel avec le langage en anglais
(le WLangage est disponible en français et en anglais)

// Récupère le CA du mois en cours

TotalCA is currency = CalculCAMoisEnCours()

 

// Si le CA dépasse l'objectif

IF TotalCA >= 1 250 000 THEN

LIB_Objectif = "Objectif dépassé !"

LIB_Objectif.Color = DarkGreen

ELSE

// Si le CA n'atteint pas l'objectif minimum attendu

IF TotalCA <= 200 000 THEN

LIB_Objectif = "Objectif non atteint"

LIB_Objectif.Color = LightRed

END

END

Exemple : Transforme un nombre en une chaîne de caractères "écrite en toutes lettres"

LIBELLE_PRIX = NombreEnLettres(1.10, "euro(s)")

// Affiche "un euro dix"

Exemple : Modification de la luminosité d'une image

// Charge une image

MonImage est une Image

MonImage = "MonImage.jpg"

 

// Modifie sa luminosité, ici à 50%

MonImage.ModifieLuminosité(50)

 

// Sauve l'image modifié

MonImage.SauveJPEG("MonImageModifiée.jpg")

Exemple : Envoi d'un email

// Ouvre une session SMTP

MaSessionSMTP est un emailSessionSMTP

MaSessionSMTP.AdresseServeur = "monserveur.smtp.fr"

MaSessionSMTP.Nom = "Utilisateur"

EmailOuvreSession(MaSessionSMTP)

 

// Initialise les composantes du mail

MonEmail est un Email

MonEmail.Expéditeur= "<user@pcsoft.fr>"// L'expéditeur

MonEmail.Destinataire.Ajoute("destinataire@precilia.fr")// Le destinataire

MonEmail.Sujet= "Ouverture de compte"// Le sujet

MonEmail.Message= "[..]" // Le corps du message

 

// Envoie le mail

EmailEnvoieMessage(MaSessionSMTP, MonEmail)

Exemple : Exemple de déclaration de variables

// Déclaration de variables

Valeurest un entier = 3

RésultatSélectionest un booléen

Prixest un monétaire

i,j,ksont des entiers

 

MonTableau est un tableau de chaînes

MaPileest une Pile d'entiers

 

MonDocumentXML est un xmlDocument

MonDocumentPDF est un pdfDocument

 

MonCodeJSONest un JSON

MonCodeYAMLest un YAML

Exemple : Génération d'un fichier PDF à partir d'un état (report)

// Paramètre la destination de l'impression (ici en PDF)

iDestination(iPDF, "C:\Mes documents\Facture.pdf")

 

// Imprime l'état ETAT_FacturePDF

iImprimeEtat(ETAT_FacturePDF)

Exemple : Exemple de programmation orientée objet (POO)

// Allocation d'un objet Produit

UnProduit est un Produit dynamique

UnProduit = allouer un Produit

 

// Utilisation d'une propriété

UnProduit.Référence = "TS-4893"

 

// Utilisation d'une méthode

UnProduit.ModifieStock(42)

Dans le code ci-dessus, "Produit" est une classe dont le code de déclaration est le suivant :

// Déclaration de la classe Produit

Produit est une Classe

m_sRéférence est une chaîne

m_nStock est un entier

 

FIN

 

// Getter

PROCÉDURE PUBLIQUE Référence() : chaîne

 

RENVOYER m_sRéférence

 

 

// Setter

PROCÉDURE PUBLIQUE Référence(sValeur est une chaîne)

 

m_sRéférence=sValeur

 

 

// Méthode

PROCÉDURE ModifieStock(nStock est un entier)

 

m_nStock = nStock

Exemple : Envoi d'un SMS

// Initialisation de la structure SMS pour un numéro classique

SMS.Numéro= "0610203040"

SMS.Message= "J'envoie des SMS avec WINDEV Mobile !"

 

// Envoi du SMS

SMSEnvoie()

Exemple : Génération d'un fichier Excel

// Demande à l'utilisateur de sélectionner un fichier d'export

FichierXLS est une chaîne = "c:\Mes Documents\rapport_financier.xls"

 

// Exporte le contenu du champ Table dans le fichier XLS

TableVersExcel(TABLE_RAPPORT_FINANCIER, FichierXLS)

Exemple : Protection d'un fichier PDF

// Protège le fichier PDF

PDFMotDePasse("fichier_origine.pdf", "fichier_protege.pdf", iProtectionDéfaut, "motdepasse")

Exemple : Parcours d'une liste de contacts

// Liste les contacts du téléphone

tabContacts est un tableau de Contact = ContactListe()

 

// Parcourt les contacts

POUR TOUT ELEMENT UnContact DE tabContacts

 

// Formate le nom affiché du contact (<nom> <prénom>)

UnContact.NomAffiché = UnContact.Nom+[" "]+UnContact.Prénom

// Modifie le contact

ContactModifie(UnContact)

FIN

Exemple de code JSON couplé à un Webservice

// appel du Webservice de récupération des informations du client à partir de son identifiant

InformationClient est un JSON= ChercheInformationClient( IDClient )

 

// détermine si c'est un envoi à l'étranger

EnvoiEtranger = InformationClient.AdresseLivraison.Pays <> "FR"

Exemple : Application de masques de saisies espagnol

// Utilise le masque du code postal espagnol

SAI_CodePostal..MasqueSaisie= MasqueCodePostal("ES")

 

// Met le masque téléphonique espagnol

SAI_Telephone..MasqueSaisie= MasqueNuméroDeTéléphone("ES")

Exemple : Exécution en arrière plan par un thread

// Lance le calcul des statistiques dans un thread

MonThread est un Thread = ThreadExécute(CalculStatistiques)

 

PROCÉDURE INTERNE CalculStatistiques()

// Exécute la requête de calcul

REQ_CalculeStatistiques.ExécuteRequête()

FIN

Exemple : Parcours de fichiers par une lambda fonction

// Énumère les fichiers PDF du répertoire "Mes Documents"

fListeFichier("C:\Users\Anne\Documents\*.pdf", (sRépertoire, sFichier) => {

 

// Traitement sur le fichier

AnalyseFichier( sRépertoire + [ fSep ] + sFichier )

RENVOYER Vrai

 

})

Exemple : Ajout d'une icône dans le systray

// Ajout de l'icône "C:\Icones\Icone.ICO" dans la barre des tâches

SysIconeAjoute("C:\Icones\Icone.ICO", "", "Statistiques")

Exemple : Manipulation avancée de chaînes de caractères

sTemplateHTML est une chaîne

 

// Récupère le contenu entre les balises <body>...</body>

ExtraitChaîneEntre(sTemplateHTML, 1, "<body>", "</body>")

Exemple : Utilisation Filter/Map/Reduce

// Détermine si le client a au moins une facture non réglée cette année

soit FactureNonRéglée = TableauFactureClient.Filter( facture => facture.date.année=2020 ).UnVrai( facture=>facture.ResteAPayer>0 )

Exemple : Lecture d'une clé de registre

// Lit la valeur "Langage" dans la clé "HKEY_LOCAL_MACHINE\SOFTWARE\Appli"

sResLecture est une chaîne = RegistreLit("HKEY_LOCAL_MACHINE\SOFTWARE\Appli", "Langage")

Exemple : Scan d'un document

// Enregistre le document présent dans le scanneur dans le fichier "MonDocument.PDF"

TwainVersPDF("C:\Temp\MonDocument.PDF")

Exemple : Exemple de code conditionnel

// Récupère le CA du mois en cours

TotalCA est un monétaire = CalculCAMoisEnCours()

 

// Si le CA dépasse l'objectif

SI TotalCA >= 1 250 000 ALORS

LIB_Objectif= "Objectif dépassé !"

LIB_Objectif.Couleur= VertFoncé

SINON

// Si le CA n'atteint pas l'objectif minimum attendu

SI TotalCA <= 200 000 ALORS

LIB_Objectif= "Objectif non atteint"

LIB_Objectif.Couleur= RougeClair

FIN

FIN

Exemple : Exemple de code conditionnel avec le langage en anglais
(le WLangage est disponible en français et en anglais)

// Récupère le CA du mois en cours

TotalCA is currency = CalculCAMoisEnCours()

 

// Si le CA dépasse l'objectif

IF TotalCA >= 1 250 000 THEN

LIB_Objectif = "Objectif dépassé !"

LIB_Objectif.Color = DarkGreen

ELSE

// Si le CA n'atteint pas l'objectif minimum attendu

IF TotalCA <= 200 000 THEN

LIB_Objectif = "Objectif non atteint"

LIB_Objectif.Color = LightRed

END

END

Exemple : Transforme un nombre en une chaîne de caractères "écrite en toutes lettres"

LIBELLE_PRIX = NombreEnLettres(1.10, "euro(s)")

// Affiche "un euro dix"

Exemple : Modification de la luminosité d'une image

// Charge une image

MonImage est une Image

MonImage = "MonImage.jpg"

 

// Modifie sa luminosité, ici à 50%

MonImage.ModifieLuminosité(50)

 

// Sauve l'image modifié

MonImage.SauveJPEG("MonImageModifiée.jpg")

Exemple : Envoi d'un email

// Ouvre une session SMTP

MaSessionSMTP est un emailSessionSMTP

MaSessionSMTP.AdresseServeur = "monserveur.smtp.fr"

MaSessionSMTP.Nom = "Utilisateur"

EmailOuvreSession(MaSessionSMTP)

 

// Initialise les composantes du mail

MonEmail est un Email

MonEmail.Expediteur= "<user@pcsoft.fr>"// L'expéditeur

MonEmail.Destinataire.Ajoute("destinataire@precilia.fr")// Le destinataire

MonEmail.Sujet= "Ouverture de compte"// Le sujet

MonEmail.Message= "[..]" // Le corps du message

 

// Envoie le mail

EmailEnvoieMessage(MaSessionSMTP, MonEmail)

Exemple : Exemple de déclaration de variables

// Déclaration de variables

Valeurest un entier = 3

RésultatSélectionest un booléen

Prixest un monétaire

i,j,ksont des entiers

 

MonTableau est un tableau de chaînes

MaPileest une Pile d'entiers

 

MonDocumentXML est un xmlDocument

MonDocumentPDF est un pdfDocument

 

MonCodeJSONest un JSON

MonCodeYAMLest un YAML

Exemple : Génération d'un fichier PDF à partir d'un état (report)

// Paramètre la destination de l'impression (ici en PDF)

iDestination(iPDF, "C:\Mes documents\Facture.pdf")

 

// Imprime l'état ETAT_FacturePDF

iImprimeEtat(ETAT_FacturePDF)

Exemple : Exemple de programmation orientée objet (POO)

// Allocation d'un objet Produit

UnProduit est un Produit dynamique

UnProduit = allouer un Produit

 

// Utilisation d'une propriété

UnProduit.Référence = "TS-4893"

 

// Utilisation d'une méthode

UnProduit.ModifieStock(42)

Dans le code ci-dessus, "Produit" est une classe dont le code de déclaration est le suivant :

// Déclaration de la classe Produit

Produit est une Classe

m_sRéférence est une chaîne

m_nStock est un entier

 

FIN

 

// Getter

PROCÉDURE PUBLIQUE Référence() : chaîne

 

RENVOYER m_sRéférence

 

 

// Setter

PROCÉDURE PUBLIQUE Référence(sValeur est une chaîne)

 

m_sRéférence=sValeur

 

 

// Méthode

PROCÉDURE ModifieStock(nStock est un entier)

 

m_nStock = nStock

Exemple : Envoi d'un SMS

// Initialisation de la structure SMS pour un numéro classique

SMS.Numéro= "0610203040"

SMS.Message= "J'envoie des SMS avec WINDEV Mobile !"

 

// Envoi du SMS

SMSEnvoie()

Exemple : Génération d'un fichier Excel

// Demande à l'utilisateur de sélectionner un fichier d'export

FichierXLS est une chaîne = "c:\Mes Documents\rapport_financier.xls"

 

// Exporte le contenu du champ Table dans le fichier XLS

TableVersExcel(TABLE_RAPPORT_FINANCIER, FichierXLS)

Exemple : Protection d'un fichier PDF

// Protège le fichier PDF

PDFMotDePasse("fichier_origine.pdf", "fichier_protege.pdf", iProtectionDéfaut, "motdepasse")

Exemple : Parcours d'une liste de contacts

// Liste les contacts du téléphone

tabContacts est un tableau de Contact = ContactListe()

 

// Parcourt les contacts

POUR TOUT ELEMENT UnContact DE tabContacts

 

// Formate le nom affiché du contact (<nom> <prénom>)

UnContact.NomAffiché = UnContact.Nom+[" "]+UnContact.Prénom

// Modifie le contact

ContactModifie(UnContact)

FIN

Exemple de code JSON couplé à un Webservice

// appel du Webservice de récupération des informations du client à partir de son identifiant

InformationClient est un JSON= ChercheInformationClient( IDClient )

 

// détermine si c'est un envoi à l'étranger

EnvoiEtranger = InformationClient.AdresseLivraison.Pays <> "FR"

Exemple : Application de masques de saisies espagnol

// Utilise le masque du code postal espagnol

SAI_CodePostal..MasqueSaisie= MasqueCodePostal("ES")

 

// Met le masque téléphonique espagnol

SAI_Telephone..MasqueSaisie= MasqueNuméroDeTéléphone("ES")

Exemple : Exécution en arrière plan par un thread

// Lance le calcul des statistiques dans un thread

MonThread est un Thread = ThreadExécute(CalculStatistiques)

 

PROCÉDURE INTERNE CalculStatistiques()

// Exécute la requête de calcul

REQ_CalculeStatistiques.ExécuteRequête()

FIN

Exemple : Parcours de fichiers par une lambda fonction

// Énumère les fichiers PDF du répertoire "Mes Documents"

fListeFichier("C:\Users\Anne\Documents\*.pdf", (sRépertoire, sFichier) => {

 

// Traitement sur le fichier

AnalyseFichier( sRépertoire + [ fSep ] + sFichier )

RENVOYER Vrai

 

})

Exemple : Ajout d'une icône dans le systray

// Ajout de l'icône "C:\Icones\Icone.ICO" dans la barre des tâches

SysIconeAjoute("C:\Icones\Icone.ICO", "", "Statistiques")

Exemple : Manipulation avancée de chaînes de caractères

sTemplateHTML est une chaîne

 

// Récupère le contenu entre les balises <body>...</body>

ExtraitChaîneEntre(sTemplateHTML, 1, "<body>", "</body>")

Exemple : Utilisation Filter/Map/Reduce

// Détermine si le client a au moins une facture non réglée cette année

soit FactureNonRéglée = TableauFactureClient.Filter( facture => facture.date.année=2020 ).UnVrai( facture=>facture.ResteAPayer>0 )

Exemple : Lecture d'une clé de registre

// Lit la valeur "Langage" dans la clé "HKEY_LOCAL_MACHINE\SOFTWARE\Appli"

sResLecture est une chaîne = RegistreLit("HKEY_LOCAL_MACHINE\SOFTWARE\Appli", "Langage")


 
COMMANDEZ
Commandez en ligne Voir le panier Commandez en ligne
Vous pouvez commander par courrier ou directement sur ce site
Échange concurrentiel :
  • Vous avez un existant ?
  • Vous créez votre entreprise ?
Faites le choix de la productivité.
Et bénéficiez de 40% de remise immédiate.
DEMANDEZ LE DOSSIER DE PRÉSENTATION
Recevez sur votre bureau le dossier complet de présentation (gratuit)
(gratuit) Recevez sur votre bureau le dossier complet et le magazine "01net" : 100 témoignages de réussite, et découvrez comment développer 10 fois plus vite !
Recevez le dossier complet
Fonctions WLangage
  • Un L5G puissant
  • Les fonctions
Le WLangage propose à la fois le typage statique et le typage dynamique.
Il dispose d'un système flexible de gestion des types qui permet de développer rapidement en utilisant le typage dynamique tout en bénéficiant des avantages du typage statique.
Sa machine virtuelle possède un système de gestion automatique de la mémoire.
Des types de données avancés sont disponibles, ainsi que les numériques haute précision (38 chiffres significatifs).
Il supporte de nombreux paradigmes de programmation : orienté objet, procédural et programmation impérative.
Récompenses
Mentions légales | CGV | Copyright ©2022 PC SOFT.
English Español
PC SOFT, 25 ans au service des développeurs
25 ans au service des développeurs
Facebook Twitter YouTube Flux RSS Envoyer à un ami
Accueil Produits WINDEV WEBDEV WINDEV Mobile Nouveautés de la version 27 Demander le dossier Connecteurs Natifs BDD Documentation Voir les vidéos Tarifs Commander HFSQL Cloud Support Technique Le Support Gratuit Assistance Directe LST Téléchargements Forums FAQ Ressources pratiques Site de dépôt Aide en ligne des produits Gestion des cookies Se former Présentation Formation inter-entreprises
(Paris ou en distanciel)
Formation intra-entreprise
(dans vos locaux ou en distanciel)
Consulting Consulting en distanciel Inscrivez-vous Education Nationale Parmi nos valeurs Politique environnementale Pour un monde meilleur Pour un marketing audacieux ! Politique de protection
de vos données
Commander Opération  "POUR 1 EURO de PLUS" Commande en ligne Tarif Bon de commande Devis gratuit Distributeurs monde Télécharger WINDEV Express WINDEV Mobile Express Versions 27 Mises à jour Visuels redistribuables PC SOFT Actualités Emploi Qui sommes-nous ? Raccourcis Contacts Contact PC SOFT Distributeurs monde Donnez votre avis
Récompenses
 
Mentions légales | CGV | Marques déposées. Copyright ©2022 PC SOFT. Tous droits réservés. Document non contractuel