1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

AIDE Afficher les pièces jointes

Discussion dans 'Windev' créé par faq, Mai 2, 2019.

  1. faq

    faq Active Member

    Inscrit:
    Fev 13, 2019
    Messages:
    420
    J'aime reçus:
    35
    Bonjour

    Pour récupérer mes e mails depuis le serveur gmail, je met ce bout de code .
    [windev]
    SAI_ContenuMail =Email.Message
    POUR I = 1 _À_ Email.NbAttache
    SI EmailSauveFichierAttaché(Email.Attache,RpiecesJointes + Email.Attache)=Vrai ALORS

    CID = "cid:" + Email.IdentifiantAttache
    Email.HTML = Remplace(Email.HTML, CID, "file:" + RpiecesJointes + Email.Attache)
    SINON
    Erreur(ErreurInfo())
    FIN
    FIN

    NomFichier = RpiecesJointes + "Joints.htm"

    hFic = fOuvre(NomFic, foCréation + foEcriture)
    SI hFic<> -1 ALORS
    fEcrit(hFic, Email.HTML, Taille(Email.HTML))
    fFerme(hFic)
    FIN
    HTML_PieceJointe=NomFichier
    [/windev]

    Mon problème je n'arrive pas à afficher la pièce jointe dans un champ HTML, mais le contenu de mon mail est ca marche
    Alors je débogue mon code je trouve que la ligne "Email.IdentifiantAttache" son contenu est vide
    Merci de me donner un piste
     

    Fichiers attachés:

    Tags:
  2. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    pour info tu as le post de

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    qiu avait la meme problematique
     
  3. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    mais de tout façon la propriété "IdentifiantAttache" s'applique a une varialbleemailattache pas a une variable email
    donc tu devrais avoir un truc du genre
    Code (Text):
    email.attache[I].dentifiantAttache
    de plus ta ligne
    Code (Text):
    SI EmailSauveFichierAttaché(Email.Attache[i],RpiecesJointes + Email.Attache[i])=Vrai ALORS
    devrais être plutôt.

    Code (Text):
    SI EmailSauveFichierAttaché(Email.Attache[i],RpiecesJointes + Email.Attache[i].identifiantattache)=Vrai ALORS
    car je crois que ca te renvoie le nom du fichier pas forcement l'identifiant du fichier

    hors après tu recherche le fichier par son identifiant

    et je rajouterais qu'an plus tu n’indique pas le type du fichier donc ton nom d'image doit être du type 545545454545 au lieu de 545545454545.jpg
     
    #3 khaliassas, Mai 2, 2019
    Dernière édition: Mai 2, 2019
  4. faq

    faq Active Member

    Inscrit:
    Fev 13, 2019
    Messages:
    420
    J'aime reçus:
    35
    Merci de ton retour

    Si j'ai bien compris on va procéder comme ça

    [windev]

    MonMessageest un Email
    POUR I = 1 _À_ Email.NbAttache

    SI EmailSauveFichierAttaché(MonMessage..Attache,RpiecesJointes + MonMessage..Attache.Identifiant) ALORS
    CID = "cid:" + MonMessage.Attache..Identifiant
    Email.HTML = Remplace(Email.HTML, CID, "file:" + RpiecesJointes + Email.Attache)

    SINON
    Erreur(ErreurInfo())
    FIN

    FIN
    [/windev]
     
  5. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    heu je comprend pas tout ..
    il faudrait que tu lise le post de

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    .
    en gros je vois que tu parle d'une variable email monmessage puis s après tu utilise la variable email Email (utiliser avec les emaillit.
    tout dépend de comment tu récupère ton email.

    pour info pour inserer du code windev ... il faut mettre code=windev a la place de windev et /code a la place de /windev

    Code (Windev):

    MonMessage est un Email   // Je vois pas pourquoi
    POUR I = 1 _À_ Email.NbAttache

    SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (Email..Attache[i],RpiecesJointes + Email..Attache[i].identifiant) ALORS
    CID = "cid:" + Email.Attache[i]..Identifiant
    Email.HTML =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (Email.HTML, CID, "file:" + RpiecesJointes + Email.Attache[i].identifiant+".jpg")
     // pour le cas d'une image a uformat jpeg
    SINON

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ())
    FIN

    FIN
     
    mais si tu pars d'un tableau de varaiable email

    Code (Text):

    pour tout monmail de tabmail
     monmail ..attache[i]  //tu refais le code en suivant les fonction spécifique aux varaible email
    fin
     
    j'insiste vraiment sur le fait que le sujet a bien ete traité dans le post cite au dessus.
     
  6. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    3,012
    J'aime reçus:
    1,618
    je vous conseil de voir l'exemple WD Mail fourni avec windev
    vous y verrez plusieurs classes pour la réception et les pièces jointes.
    le problème est bien plus complexe.
     
    khaliassas apprécie ceci.
  7. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    ca je confirme les mails faut bien se documenter. perso j'ai passer pas mal de temps a lire les différent aide sur les fonctions mail.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    mais c'est vrai que j'ai pas regarder l'exemple pcsoft
     
  8. faq

    faq Active Member

    Inscrit:
    Fev 13, 2019
    Messages:
    420
    J'aime reçus:
    35
    Ok, je vais voir cet exemple

    Merci
     
  9. Logan

    Logan Member

    Inscrit:
    Nov 8, 2018
    Messages:
    66
    J'aime reçus:
    3
    Bonjour FAQ,
    Si tu travaille avec WD tu n'auras aucun problème pour ça. Mais si c'est avec WM alors bienvenue la galère de certains fonctionnalités non reconnu dans
    android chez PCSOFT.
     
  10. faq

    faq Active Member

    Inscrit:
    Fev 13, 2019
    Messages:
    420
    J'aime reçus:
    35
    Merci, mon souci a été résolu

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ma conseillé de voir l'exemple WD MAIL , mais j'ai trouvé des difficultés au niveau des classe, car je suis vraiment nulle sur ce sujet, alors c'est pour cela je vous demande de me guider vers des vidéos de cours traitant les classes de A à Z .

    Merci d'avance
     
  11. faq

    faq Active Member

    Inscrit:
    Fev 13, 2019
    Messages:
    420
    J'aime reçus:
    35
    Bonjour Tout le monde

    J'ai listé dans ma table un email qui contient 2 pièces jointes pour visualiser une pièce jointe j'ai mis un champ HTML dans lequel j'affiche le contenu de chaque pièce (ca marche lors j'ai une seule )
    Pour mon cas ici comme je vous ai dis j'ai 2 pièces alors la dernière pièce qui s'affiche (elle écrase la première).

    Comment visualiser les 2 attaches à chaque sélection dans ma table ?
    Est ce que'on peut les visualiser directement dans un navigateur comme opéra sans passer par champ HTML ?
    Merci de me donner des pistes

    Merci de vos aides
     
  12. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    perso sans voir ton codec a va être compliqué de te répondre.

    je dirais que tu as un pb dans ta boucle. mais ca tu dois t'en douter...
     
  13. faq

    faq Active Member

    Inscrit:
    Fev 13, 2019
    Messages:
    420
    J'aime reçus:
    35
    Bonjour

    [windev]

    RpiecesJointes est une chaîne
    PJ est une chaîne
    POUR i=1 _À_ MonMessage..Attache..Occurrence

    RpiecesJointes = ComplèteRep(fRepEnCours())
    SI PAS fRépertoireExiste(RpiecesJointes) ALORS
    fRepCrée(RpiecesJointes)
    FIN

    EmailSauveFichierAttaché(MonMessage..Attache, RpiecesJointes + MonMessage..Attache..Nom)

    sCID = "cid:" + MonMessage..Attache..Identifiant

    MonMessage..Attache..Contenu = Remplace(MonMessage..Attache..Contenu, sCID, ...
    "file:" + RpiecesJointes + MonMessage..Attache..Nom)


    PJ ="file:" + RpiecesJointes + MonMessage..Attache.Nom

    FIN

    TableAjouteFils(Table, nIdx,sDomaine,DateVersChaîne(MonMessage..DateRéception),...
    MonMessage..AdresseExpéditeur,MonMessage..Sujet,MonMessage..ID,MonMessage..Message,PJ)

    [/windev]

    A chaque selection de asn la table
    [windev]
    SAI_HTML_PieceJointe =Table[TableSelect(Table)].COL_PJHTML
    [/windev]
     
  14. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    Pour commencer et pour plus de lisibilité du code passé en exemple...il faut remplacer ta balise windev par code=windev et /windev par /code.

    Code (Windev):

    PJ est une chaîne
    RpiecesJointes est une chaîne

    RpiecesJointes =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ())
    SI PAS

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (RpiecesJointes) ALORS
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (RpiecesJointes)
    FIN


    POUR I = 1 _À_ MonMessage..Attache..

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


     
        SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (MonMessage..Attache[I],RpiecesJointes + MonMessage..Attache[I].identifiant) ALORS
            CID = "cid:" + MonMessage.Attache[I]..Identifiant      
            MonMessage..Attache..Contenu =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (MonMessage..Attache..Contenu, sCID, ...
            "file:" + RpiecesJointes + MonMessage..Attache..Nom)
            PJ ="file:" + RpiecesJointes + MonMessage..Attache.Nom
         

        FIN
    FIN  

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (Table, MonMessage..AdresseExpéditeur,MonMessage..Sujet,MonMessage..ID,MonMessage..

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,PJ)
     
    J'ai déplacer hors boucle la vérif du repetoire car aucun intérêt de vérifier l’existence de ton répertoire pour chaque pièce jointe.
    de plus "fRepEnCours" existe forcement il me semble vu que c'est le répertoire ou se trouve ton exe.

    Plusieurs chose concernant ton emailsauvefichierattaché :
    - tu appel un variable sCID alors que tu la renseigne avec CID (du a windev qui applique ta charte ("s" pour chaine).
    - tu modifie le attache ..contenu hors tu dois modifier le MonMessage..html ( ca c'est pour renseigner le buffer contenant les données de ta pièce jointe, regarde l'aide pcsoft sur la variable attache)
    - tu sauves ta pièce joint en l'appelant par son numéro d'identifiant hors après tu remplace dans le corps du message le CID par le nom du fichier. donc l'affichage html ne le retrouveras pas.
    - tu renseigne ta variable pj dans la boucle donc elle est écrasé par la dernière entrée car tu ajoute dans ta table après la boucle. je pense que ta colonne PJHTML doit correspondre a pj
    - si tu veux afficher le mail entier tu dois enregistrer dans ta table le html de ton message pas le message ( relis l'aide pcsoft sur la variable email.)

    bref encore une fois tu devrais regarder le post de

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    qui est exactement la même chose et qui fonctionne sur windev....

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  15. faq

    faq Active Member

    Inscrit:
    Fev 13, 2019
    Messages:
    420
    J'aime reçus:
    35
    Merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Je vais suivre tes conseils et je reviendrai
     
  16. faq

    faq Active Member

    Inscrit:
    Fev 13, 2019
    Messages:
    420
    J'aime reçus:
    35
    Mon problème c'était la variable pj a été renseigne dans la boucle donc elle écrase la première


    Est ce que'on peut les visualiser directement dans un navigateur comme opéra sans passer par champ HTML ?
    Merci de me donner des pistes
     
  17. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
  18. faq

    faq Active Member

    Inscrit:
    Fev 13, 2019
    Messages:
    420
    J'aime reçus:
    35
    Merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Pas du tout, j'ai déjà consulter le post de

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    mais je n'arrive pas tout comprendre
    Donc je vais revoir ce post à nouveau
     
  19. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    ben le message #21 du poste est fonctionnel, tu peux lire le #22 et # 23...
    son code intègre une session pop3. mais la boucle de parcours est la même que toi
     
  20. khaliassas

    khaliassas Active Member

    Inscrit:
    Mar 4, 2019
    Messages:
    446
    J'aime reçus:
    142
    par contre je viens de voir que mon point 3 est erroner c'est moi qui est mal recopier ton code de emailsauve....tu sauvegarde bien le nom (car sinon ton clique sur ta table ne pourrais pas afficher l'image) :oops:

    Code (Windev):

    POUR I = 1 _À_ MonMessage..Attache..occurence
        PJ =RpiecesJointes + MonMessage..Attache.Nom

        SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (MonMessage..Attache[I],PJ)  ALORS
            PJ ="file:" + Pj
        FIN
    FIN

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (Table, MonMessage..AdresseExpéditeur,MonMessage..Sujet,MonMessage..ID,MonMessage..

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,PJ)

     
    par contre tu ne peux affecter qu'une piece jointe par mail avec ton code
     

Partager cette page

Chargement...