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).
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
SI TwainVersJPEG("C:\Temp\MaPhoto.JPEG", 0, Faux, TwainNoirBlanc) = Vrai 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
RésultatSélection est un booléen
Valeur = RVB(10, 17, 69)
Info("Couleur de départ : " + Valeur)
RésultatSélection = 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
Info(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
ResNomFichier = fExtraitChemin("C:\MesRépertoires\Fichier.doc", fFichier)
// fExtraitChemin renvoie "Fichier"
Exemple 6 : Phonétique d'une chaîne
// Comparaison de deux chaînes de caractères
Phonétique("volant") = Phonétique("volent")
Exemple 7 : Envoi d'un email
SI EmailOuvreSession(USER, PASSWORD, "pop3.ifrance.fr", "smtp.ifrance.fr") = Vrai ALORS
NomUser = USER
SINON
NomUser = ""
Erreur("Impossible d'établir la connexion")
FIN
// Initialise les composantes du mail
Email.Expéditeur = "
Email.Destinataire[1] = DESTINATAIRE // Le destinataire
Email.NbDestinataire = 1 // Le nombre de destinataires
Email.Sujet = SUJET // Le sujet
Email.Message = TEXTE // Le corps du message
Email.NbAttache = 0 // Le nombre de pièces attachées
// Envoie le mail
SI EmailEnvoieMessage(NomUser) = Faux ALORS
Erreur()
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 2013")
Exemple 9 : Sauvegarde d'une hard copie
// Sauve en mémoire l'image présente dans "IMG_ImageDessin"
ResSauvegarde = dSauveImageJPEG(IMG_ImageDessin, enMémoire)
Exemple 10 : Exemple de déclaration de variables
// Déclaration de variables
Valeur est un entier
RésultatSélection est un booléen
Prix est un réel
i,j,k sont des entiers
Exemple 11 : Interaction Code / Interface
// Exécute le traitement de clic sur un bouton
ExécuteTraitement(BTN_Sauve, trtClic)
Exemple 12 : Gestion des Thread par programme
// Exécution d'un thread avec passage de paramètres
sDate est une chaîne
sDate = DateSys()
// Exécution du thread
ThreadExécute("THREADNAME", threadNormal, "pExecReq", sDate)
// Détail de la procédure "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
// Suppression des boutons Email de l'aperéu avant impression
iParamètreAperéu(iBoutonTous - iBoutonEmail - iBoutonEmailPdf)
iAperéu()
iImprimeEtat(ETAT_MonEtat)
Exemple 14 : Impression en HTML
// Impression dans un fichier HTML d'un état basé sur une requête sans paramètre
// Générer un nom de fichier unique
MonFichierEtat est une chaîne = fRepWeb() + "\" + "EtatRequête_" + DateSys() + HeureSys() + ".htm"
// Paramètrer la destination de l'impression
iDestination(iHTML, MonFichierEtat)
// Imprimer l'état ETAT_EtatRequête
iImprimeEtat(ETAT_EtatRequête)
// Extraire le nom et l'extension du fichier généré
NomFichierGénéré est une chaîne = fExtraitChemin(MonFichierEtat, fFichier + fExtension)
// Envoyer le fichier dans le navigateur
PageAffiche(NomFichierGénéré)
Exemple 15: Génération d'un fichier PDF
// Générer un nom de fichier PDF unique
UnFichier est une chaîne
UnFichier = fRepWeb() + "\" + DateSys() + HeureSys() + ".pdf"
// Paramètrer la destination de l'impression
iDestination(iPDF, UnFichier)
// Imprimer l'état ETAT_FacturePDF
iImprimeEtat(ETAT_FacturePDF)
// Envoyer le fichier dans le navigateur
FichierAffiche(UnFichier, "application/pdf")
// Supprimer le fichier
fSupprime(UnFichier)
Exemple 16 : Protection d'un fichier PDF
// Dans cet exemple le mot de passe est donc "motdepasse"
iParamètrePDF("ouverture", "motdepasse", iProtectionImpression + iProtectionSélection)
// Création du PDF
iAperéu(iPDF, "MonPDF.PDF")
// Code d'impression
iCréePolice(1, 16, iGras, iRoman)
iImprimeMot("Première ligne de mon PDF" + RC + "Seconde ligne de mon PDF" + RC + "Dernière ligne de mon PDF")
// Fin de l'impression et fermeture du fichier PDF cr
iFinImprime()
// Affichage du PDF
LanceAppliAssociée(iDernierFichier())
Exemple 17 : Sélection d'une imprimante PCL (mobile)
// Imprimante PCL à utiliser
iDestination(iPCL, "\\MonRéseau\MonImprimante")
Exemple 18 : Impression au format PCL (mobile)
iDestination(iPCL, "\MesDocuments\MonFichier.PCL")
Exemple 19 : Composer un numéro de téléphone
SI telCompose(SAI_NuméroTéléphone, "TestEtatLigne") = Vrai ALORS
Info("Cliquez sur OK pour raccrocher")
telRaccroche()
FIN
PROCEDURE TestEtatLigne(ValeurEtatLigne est un entier)
SELON ValeurEtatLigne
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
// Sortie selon une condition SI
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
MaListe = INILit("Exemples", "", "", FichierINI)
MotClé = ExtraitChaîne(MaListe, nb, RC)
TANTQUE MotClé <> ""
nb = nb + 1
NomExpl = INILit("Projets installés", MotClé, "", FichierINI)
MotClé = ExtraitChaîne(MaListe, nb + 1, RC)
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
// Sinon, on exporte le contenu de la table TABLE_TABLE1
SI sFic <> "" ALORS TableVersExcel(TABLE_TABLE1, sFic, taSansTitre)
Exemple 25 : Export vers XML
sFic est une chaîne
// 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
// Sinon, on exporte le contenu de la table TABLE_TABLE1
SI sFic <> "" ALORS TableVersXML(TABLE_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
// Sinon, on exporte le contenu de la table TABLE_TABLE1
SI sFic <> "" ALORS TableVersWord(TABLE_TABLE1, sFic, taSansTitre)
Exemple 27 : 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
ResEnvoi = SMSEnvoie()
// Erreur rencontrée ?
SI ResEnvoi = Faux ALORS
Erreur(ErreurInfo(errMessage))
FIN
Exemple 28 : Envoi d'un fax
IDConnect est un entier
IDConnect = FaxConnecte()
SI IDConnect = 0 ALORS
Erreur("La connexion au serveur de fax a échoué." + ...
"Vérifiez que celui-ci est bien démarré", ...
ErreurInfo(errMessageSystème))
SINON
ListeAjoute(LISTE_FaxEnvoi, FaxBoîteEnvoi(IDConnect))
FIN
...
// Code de clic de la liste
SI FaxEtat(LISTE_FaxEnvoi..ValeurAffichée) = FaxEtatPrisEnCharge ALORS
FaxRéinitialise(LISTE_FaxEnvoi..ValeurAffichée)
FIN
...
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 !)
Résultat1 = sOuvre(1, 2000, 2000) // Ouverture de COM1
SI Résultat1 = 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
Aucun commentaire:
Enregistrer un commentaire