Avantages
PC SOFT
 
29 Exemples de code WLangage (L5G)

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

  Clic sur BTN_TWAIN

// 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

  Clic sur BTN_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
  Clic sur BTN_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
  Clic sur BTN_NOMFICHIER

// 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
  Clic sur BTN_PHONETIQUE

// Comparaison phonétique de deux chaînes de caractères
Phonétique ("TRAIT") = Phonétique ("très")




Exemple 7 : Envoi d'un email
  Clic sur BTN_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
  Clic sur BTN_ICONE

// 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
  Clic sur BTN_IMAGE

// Sauve en mémoire l'image présente dans "ImageDessin"
Toto = dSauveImageJPEG (ImageDessin, enMémoire )




Exemple 10 : Exemple de déclaration de variables
  Clic sur BTN_GO

// 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
  Clic sur BTN_SAUVEGARDE

// 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)
  Clic sur BTN_THREAD

// 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
  Clic sur BTN_IMPRIMER


// 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

  Clic sur BTN_IMPRIMER

// 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
  Clic sur BTN_IMPRIMER


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

  Clic sur BTN_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)
  Clic sur BTN_IMPRIMER

// Imprimante PCL à utiliser
iDestination ( iPCL , "\\MonRéseau\MonImprimante")




Exemple 18 : Impression au format PCL (mobile)
  Clic sur BTN_IMPRIMER

// Impression au format PCL
iDestination ( iPCL , "\Mes documents\MonFichier.PCL")




Exemple 19 : Composer un numéro de téléphone
  Clic sur BTN_TELEPHONER

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
  Clic sur BTN_TAUX

// 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
  Clic sur BTN_BOUCLE

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
  Clic sur BTN_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
  Clic sur BTN_ITERATION

// 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
  Clic sur BTN_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

  Clic sur BTN_EXCEL

// 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
  Clic sur BTN_NOMFICHIER

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
  Clic sur BTN_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
  Clic sur BTN_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 !)
  Clic sur BTN_SERIE

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
 Commandez
Voir le panier Ajouter au panier Commandez en ligne
Vous pouvez commander par courrier, par fax ou directement
sur ce site
 Demandez le dossier !
Recevez le dossier complet
(gratuit) Recevez sur votre bureau (ou chez vous) le DVD, le dossier complet et le N° de "01 Informatique": 100 témoignages de réussite, et découvrez comment développer 10 fois plus vite !
Politique environnementale  Politique environnementale
 Fonctions WLangage
Liste des 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 programmations : orienté objet, procédural et programmation impérative.

 
 
    Partager sur : Partager sur FacebookPartager sur TwitterPartager sur LinkedIn  |  Envoyer à un(e) ami(e) Envoyer à un(e) ami(e)
 
Accueil | Commander | Demander un dossier | Support & Assistance | Formation | Contacts | Politique environnementale | Plan du site | Donnez votre avis | Flux RSS de PC SOFT