Menu PC SOFT Recherche
WINDEV WEBDEV WINDEV Mobile WINDEV Tech Tour 2021 WINDEV Tour : photos de roadshow Demander le dossier Nouveautés de la version 26 Commander en ligne Support Technique Témoignages Formations Voir les vidéos Documentation LST Emploi & Carrière Contacts English Español
PC SOFT
04 67 03 20 32
+33 (0)4 67 032 032
Conseil : +33 (0)4 67 032 032 / Besoin d'aide ?
English Español
  • Produits

    Suite logicielle

    • WINDEV
    • WEBDEV
    • WINDEV Mobile
    • Nouveautés de la version 26
    • WDMSG
    • HFSQL
    • Etats et Requêtes
    • Cloud
    • LST (Lettre du Support Technique)

    Découvrir

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

    Commander

    • Commander en ligne
    • Commander une mise à jour
    • Bon de commande
    • Tarif
    • Devis gratuit

    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

    Mises à jour

    • WINDEV
    • WEBDEV
    • WINDEV Mobile
    • AS/400

    Passez en version 26

    • 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 26
    • Mises à jour

    Ressources pratiques

    • Visuels redistribuables
    • Exemples WTT (WINDEV Tech Tour)
    • 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
  • Formations

    Formez vos développeurs

    • Formation inter-entreprises (Paris ou visioconférence)
    • Formation intra-entreprise (dans vos locaux ou visioconférence)
    • Formations par visioconférence
    • Consulting sur site
    • Consulting par visioconférence
    • Protocole sanitaire en présentiel

    Séminaires de découverte

    • WINDEV
    • WEBDEV
    • WINDEV Mobile
    • WINDEV Tech Tour 2021

    É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 & Carrière

    Prise de contact

    • Contacts
    • Distributeurs monde
  • Emploi & Carrière
  • Contacts
Les livraisons sont assurées. Livraison physique ou par téléchargement.
Les livraisons sont assurées.
Livraison physique ou par téléchargement.
  • Profitez de vos remises avant le 16 Avril
  • WINDEV Tech Tour 2021
  • 926 Nouveautés de la version 26
  • Formation PC SOFT par visioconférence
Les livraisons sont assurées.
Livraison physique ou par téléchargement.
Les livraisons sont assurées.
Livraison physique ou par téléchargement.
  • Profitez de vos remises avant le 16 Avril
  • WINDEV Tech Tour 2021
  • 926 Nouveautés de la version 26
  • Formation PC SOFT par visioconférence
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.


Poster technique sur "Le WLangage" (PDF)   Voir l'aide en ligne

 

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
Echange 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.
Profitez de vos remises avant le 16 Avril
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
Liste des fonctions WLangage
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.
Mentions légales | CGV | Copyright ©2021 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 26 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 Formations Présentation Formation inter-entreprises
(Paris ou visioconférence)
Formation intra-entreprise
(dans vos locaux ou visioconférence)
Formations par visioconférence Consulting Consulting par visioconférence Inscrivez-vous Education Nationale Politique environnementale Pour un monde meilleur Pour un marketing audacieux ! Politique de protection
de vos données
Commander Commande en ligne Tarif Bon de commande Devis gratuit Distributeurs monde Télécharger WINDEV Express WINDEV Mobile Express Versions 26 Mises à jour Visuels redistribuables PC SOFT Actualités Emploi & Carrière Qui sommes-nous ? Raccourcis Contacts Contact PC SOFT Distributeurs monde Donnez votre avis
Récompenses
Fier d'être développeur
 
Mentions légales | CGV | Marques déposées. Copyright ©2021 PC SOFT. Tous droits réservés. Document non contractuel