Des exemples d'utilisation des fonctions du WLangage
Rien de tel qu'un exemple pour comprendre une fonction de WLangage. Dans cette section, vous trouverez des exemples simples.
Des exemples évolués, où la fonction est utilisée en contexte, sont également disponible sur ce site.
Aller à la page des exemples évolués
EmailEnvoie (en anglais EmailSend)
// Construction du message
SI fSauveTexte("ContenuEmail.txt", ... ChaîneConstruit(ContenuMessage,Email.Expéditeur,Email.AdresseExpéditeur, ... Email.Destinataire[1],Email.Sujet,Email.Message)) =
Faux
ALORS Erreur(ErreurInfo()) SINON
EmailEnvoie
("SessionSMTP","ContenuEmail.txt") SI ErreurDétectée ALORS Erreur(ErreurInfo()) FIN FIN
|
Début de la page
EmailEnvoieMessage (en anglais EmailSendMessage)
// Envoi d'un e-mail par le protocole SMTP
SI EmailOuvreSession(USER, PASSWORD, "pop3.ifrance.fr", ... "smtp.ifrance.fr") =
Vrai
ALORS
NomUser =USER
SINON
NomUser = ""
Erreur("Impossible d'établir la connexion"+
RC
+ ... ErreurInfo(
ErrMessage
) FIN
// 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
SI
EmailEnvoieMessage
(NomUser) =
Faux
ALORS Erreur("EmMailEnvoieMessage a échoué '" + ... ErreurInfo(
errMessage
) + "'") SINON Info("EmMailEnvoieMessage a réussi") FIN
|
Début de la page
EmailEtat (en anglais EmailStatus)
// Envoi d'un e-mail par le protocole SMTP
SI EmailOuvreSession(USER, PASSWORD, "pop3.ifrance.fr", ... "smtp.ifrance.fr", Vrai) =
Vrai
ALORS NomUser = USER
SINON NomUser = ""
Erreur("Impossible d'établir la connexion"+
RC
+ ... EmailMsgErreur(Email.Erreur)) FIN
// 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
SI EmailEnvoieMessage(NomUser) =
Faux
ALORS
Erreur("EmailEnvoieMessage a échoué '" + ErreurInfo(
errMessage
) + "'") SINON
Info("EmailEnvoieMessage a réussi") FIN ...
// Suivi de l'e-mail
Selon
EmailEtat
(Email.IdentifiantMail) CAS
EmailEnvoyé
: Trace("L'email a été envoyé") CAS
EmailEnAttente
: Trace("Email en cours de traitement") CAS
EmailErreur
: Trace("Erreur : " + ErreurInfo(
errMessage
)) FIN
|
Début de la page
EmailFermeSession (en anglais EmailCloseSession)
// Ouverture d'une session d'e-mails par le protocole SMTP/POP3
SI EmailOuvreSession(USER, PASSWORD, "pop3.ifrance.fr", ... "smtp.ifrance.fr") =
Vrai
ALORS NomUser = USER
SINON NomUser = ""
Erreur("Impossible d'établir la connexion") FIN
// Si une session est ouverte, fermeture de cette session
SI NomUser <> "" ALORS
EmailFermeSession(NomUser)
NomUser = ""
FIN
|
Début de la page
EmailJauge (en anglais EmailProgressBar)
// Affichage de la jauge dans le champ CH_Jauge
EmailJauge
(CH_Jauge) ...
// Annulation de cette jauge
EmailJauge
("")
|
Début de la page
EmailJauge (en anglais EmailProgressBar)
// La jauge est gérée par la procédure GestionProgression
EmailJauge
(GestionProgression)
Procédure GestionProgression(TotalOctet, TotalTransmis)
Message("Transfert en cours : " +TotalTransmis+" / "+ TotalOctet)
CH_Jauge = TotalTransmis/ TotalOctet
|
Début de la page
EmailJauge (en anglais EmailProgressBar)
// La jauge est gérée par l'événement ProgressionEmail
EmailJauge("ProgressionEmail")
-- Code d'initialisation de la fenêtre
Evénement(GestionBarre,"*.*", "ProgressionEmail")
Procédure GestionBarre(TotalOctet, TotalTransmis)
Trace("Transfert en cours : " +TotalTransmis+" / "+ TotalOctet)
|
Début de la page
EmailLitDernier (en anglais EmailReadLast)
// Lecture du dernier e-mail
SI
EmailLitDernier
(NomUser) =
Vrai
ALORS // Si l'e-mail existe, ouvre la fenêtre MAIL_RCV permettant de le lire
SI Email.EnDehors =
Faux
ALORS Ouvre("MAIL_RCV")
SINON
Info("Pas de mail")
FIN
SINON Erreur(EmailMsgErreur(Email.Erreur)) FIN
|
Début de la page
EmailLitEnteteDernier (en anglais EmailReadLastHeader)
// Supprime les e-mails envoyés par des expéditeurs "black-listé" // Parcours des e-mails // Lecture de l'en-tête uniquement // (pour économiser la bande passante) // Si l'e-mail est "interdit", on le supprime // Les e-mails "autorisés" pourront alors être // lus complètement dans un deuxième temps
SI
EmailLitEntêteDernier
(MaSessionPOP) ALORS
BOUCLE
// Est-ce-que l'expéditeur fait partie d'une // liste de gens "interdit" ?
SI
ExpediteurInterdit
(
Email
.
AdresseExpéditeur
) OU ...
ExpediteurInterdit
(
Email
.
Expéditeur
) ALORS
EmailSupprimeMessage(MaSessionPOP) FIN
A FAIRE TANTQUE
EmailLitEntêtePrécédent
(
MaSessionPOP
)
FIN
|
Début de la page
EmailLitEnteteMessage (en anglais EmailReadMessageHeader)
// Lecture des e-mails dont la taille ne dépasse pas TailleMax
I est un entier POUR I = 1 à EmailNbMessage(NomUser) SI EmailTailleMessage(NomUser, I) < TailleMax ALORS // Procédure de Lecture et traitement du message
LireMessage() SINON
EmailLitEntêteMessage
(NomUser, I) // Procédure de réponse signalant que l'e-mail n'a pas été lu
RenvoiMessage(Email.AdresseExpéditeur) FIN
FIN
|
Début de la page
EmailLitEntetePrecedent (en anglais EmailReadPreviousHeader)
// Supprime les e-mails envoyés par des expéditeurs "black-listé" // Parcours des e-mails // Lecture de l'en-tête uniquement // (pour économiser la bande passante) // Si l'e-mail est "interdit", on le supprime // Les e-mails "autorisés" pourront alors être // lus complètement dans un deuxième temps
SI
EmailLitEntêteDernier(MaSessionPOP) ALORS
BOUCLE
// Est-ce-que l'expéditeur fait partie d'une // liste de gens "interdit" ?
SI
ExpediteurInterdit
(
Email
.
AdresseExpéditeur
) OU ...
ExpediteurInterdit
(
Email
.
Expéditeur
) ALORS
EmailSupprimeMessage(MaSessionPOP) FIN
A FAIRE TANTQUE
EmailLitEntêtePrécédent
(
MaSessionPOP
)
FIN
|
Début de la page
EmailLitEntetePremier (en anglais EmailReadFirstHeader)
// Lecture du premier e-mail
EmailLitEntêtePremier
(IdEmail) SI Email.EnDehors = Faux
ALORS // Affiche l'e-mail dans la fenêtre "Email_Rcv"
Ouvre("Email_Rcv") FIN
|
Début de la page
EmailLitEnteteSuivant (en anglais EmailReadNextHeader)
// Lecture du premier e-mail
EmailLitEntêtePremier(IdEmail) SI Email.EnDehors = Faux
ALORS // Affiche l'expéditeur et le sujet dans une table
TableAjoute("Table_Recus", Email.Expéditeur +
TAB
+ Email.Sujet) // Lecture de l'e-mail suivant
EmailLitEntêteSuivant
(IdEmail) FIN
|
Début de la page
EmailLitMessage (en anglais EmailReadMessage)
I est un entier
nbMSG est un entier = EmailNbMessage(NomUser) POUR I = 1 à nbMSG SI
EmailLitMessage
(NomUser, I) =
Vrai
ALORS SI Email.Endehors <>
Vrai
ALORS CL.NOM = Email.Expediteur
CL.MESSAGE = Email.Message
...
SINON Info("Ce message a été supprimé") FIN FIN FIN
|
Début de la page
EmailLitPrecedent (en anglais EmailReadPrevious)
// Lecture du dernier e-mail
EmailLitDernier(NomUser)
// Lecture des e-mails (du dernier au premier)
TANTQUE Email.EnDehors = Faux
// Demande à l'utilisateur s'il veut lire le message
SI Confirmer("Message de " +Email.Expéditeur+ ...
"Voulez vous lire ce message ?") ALORS // Ouvre la fenêtre de visualisation du message
Ouvre("RCV_MSG") SINON // lecture de l'e-mail précédent
EmailLitPrécédent
(NomUser) FIN FIN
|
Début de la page
EmailLitPremier (en anglais EmailReadFirst)
// Lecture du premier e-mail
EmailLitPremier
(IdEmail) SI Email.EnDehors = Faux ALORS // Affiche l'e-mail dans la fenêtre Email_Rcv
Ouvre("Email_Rcv") FIN
|
Début de la page
EmailLitSuivant (en anglais EmailReadNext)
// Lecture du premier e-mail
EmailLitPremier(IdEmail) SI Email.EnDehors =
Faux
ALORS // Affiche l'expéditeur et le sujet dans une table
TableAjoute("Table_Recus", Email.Expéditeur +
TAB
+ Email.Sujet) // Lecture de l'e-mail suivant
EmailLitSuivant(IdEmail) FIN
|
Début de la page
EmailMiseAJour (en anglais EmailUpdate)
IdEmail est un entier
// Ouverture de la session d'e-mail
IdEmail = EmailOuvreSession("PROFILE_Exemple") // Récupération des messages dans la boite de réception de MS Exchange SI
EmailMiseAJour
(IdEmail) =
Vrai
ALORS
Info("Messages récupérés") SINON
Erreur(EmailMsgErreur(Email.Erreur)) FIN
|
Début de la page
EmailMsgErreur (en anglais EmailMsgError)
// Envoie le mail
SI EmailEnvoieMessage(NomUser) =
Faux
ALORS Erreur(
EmailMsgErreur
(Email.Erreur)) FIN
|
Début de la page
EmailNbMessage (en anglais EmailNbMessage)
// Boucle de lecture de tous les messages reçus présents // dans la boîte aux lettres du protocole POP3
I est un entier
nbMSG est un entier =
EmailNbMessage
(NomUser) POUR I = 1 ànbMSG
EmailLitMessage(NomUser,I) SI Email.EnDehors <>
Vrai
ALORS
CL.NOM = Email.Expediteur
CL.MESSAGE = Email.Message
... SINON
Info("Ce message a été supprimé") FIN FIN
|
Début de la page
EmailOuvreSession (en anglais EmailStartSession)
// Envoi d'un e-mail par le protocole POP3
SI
EmailOuvreSession
(USER, PASSWORD, "pop3.ifrance.fr", ... "smtp.ifrance.fr") =
Vrai
ALORS NomUser = USER
SINON NomUser = ""
Erreur("Impossible d'établir la connexion") FIN
|
Début de la page
EmailOuvreSessionPOP3 (en anglais EmailStartPOP3Session)
// Lecture d'un e-mail par le protocole POP3
SI
EmailOuvreSessionPOP3
(USER, PASSWORD, "pop3.ifrance.fr") =
Vrai
ALORS NomUser = USER
SINON NomUser = ""
Erreur("Impossible d'établir la connexion") FIN
|
Début de la page
EmailOuvreSessionSMTP (en anglais EmailStartSMTPSession)
// Envoi d'un e-mail par le protocole SMTP
SI
EmailOuvreSessionSMTP
(NomUser, "smtp.ifrance.fr") =
Vrai
ALORS // Procédure permettant d'initialiser la structure e-mail
Initialise_Email() // Envoie l'e-mail
SI EmailEnvoieMessage(NomUser) =
Faux
ALORS Erreur(EmailMsgErreur(Email.Erreur)) FIN SINON Erreur("Impossible d'établir la connexion"+
RC
+ ... EmailMsgErreur(Email.Erreur)) FIN
|
Début de la page
EmailRaz (en anglais EmaiReset)
// Ré-initialiser toutes les variables de la structure e-mail
EmailRAZ
()
|
Début de la page
EmailSauveFichierAttache (en anglais EmailSaveAttachment)
POUR I = 1 à Email.NbAttache
Fichier = fSélecteur("", "", "Nom du fichier à sauvegarder",… "Tous les fichiers(*.*)" +
TAB
+ "*.*", "",
fSelCrée
)
EmailSauveFichierAttaché
(Email.Attache[I], Fichier) FIN
|
Début de la page
EmailSauveFichierAttache (en anglais EmailSaveAttachment)
POUR I = 1 à Email.NbAttache
Fichier = fRepEnCours() + "\Emails\"
EmailSauveFichierAttaché
(Email.Attache[I], Fichier) FIN
|
Début de la page
EmailSupprimeMessage (en anglais EmailDeleteMessage)
// Supprimes tous les messages
EmailLitPremier(IdEmail) TANTQUE Email.EnDehors = Faux
EmailSupprimeMessage
(IdEmail) EmailLitSuivant(IdEmail) FIN
|
Début de la page
EmailTailleMessage (en anglais EmailMessageLength)
// Lecture des e-mails dont la taille ne dépasse pas TailleMax
I est un entier POUR I = 1 à EmailNbMessage(NomUser) SI
EmailTailleMessage
(NomUser, I) < TailleMax ALORS // Lecture et traitement du message
LireMessage() SINON Info("L'e-mail dépasse la taille prévue et ne peut pas être lu") FIN
FIN
|
Début de la page