jeudi 28 janvier 2016

29 EXEMPLES DE CODE WLANGAGE (L5G)



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 = "" // L'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