FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» PANORAMIC V 1
Interface avec Outlook - Page 4 Emptypar papydall Aujourd'hui à 3:22

» select intégrés [résolu]
Interface avec Outlook - Page 4 Emptypar jjn4 Hier à 17:00

» number_mouse_up
Interface avec Outlook - Page 4 Emptypar jjn4 Hier à 11:59

» Aide de PANORAMIC
Interface avec Outlook - Page 4 Emptypar jjn4 Hier à 11:16

» trop de fichiers en cours
Interface avec Outlook - Page 4 Emptypar lepetitmarocain Hier à 10:43

» Je teste PANORAMIC V 1 beta 1
Interface avec Outlook - Page 4 Emptypar papydall Hier à 4:17

» bouton dans autre form que 0
Interface avec Outlook - Page 4 Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Interface avec Outlook - Page 4 Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Interface avec Outlook - Page 4 Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Interface avec Outlook - Page 4 Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Interface avec Outlook - Page 4 Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Interface avec Outlook - Page 4 Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Interface avec Outlook - Page 4 Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Interface avec Outlook - Page 4 Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Interface avec Outlook - Page 4 Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Réassort du coffret Pokémon 151 Électhor-ex : où l’acheter ?
Voir le deal

 

 Interface avec Outlook

Aller en bas 
5 participants
Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
AuteurMessage
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyMer 3 Mar 2021 - 21:47

Bonsoir à tous !

@Klaus

Il subsiste une anomalie. Les mails entrants ne sont toujours pas détectés.

Description du test effectué :

Fichier KGF du 03/03/2021 14h02
Code-source du 03/03/2021 14h06

Le nom du dossier de la boîte de réception est correctement renseigné : Inbox
Interface avec Outlook - Page 4 Klaus010

Outlook et l'interface pour Outlook actifs.

Je m'envoie un mail à 21h20.

A 21h21, Outlook reçoit le mail dans le dossier Inbox.

A 21h31, l'interface n'a toujours rien reçu.

Je vérifie le contenu du fichier .ini.  Toutes les 60 secondes précisément, il se met à jour avec l'heure courante. Il y a donc un timer actif calibré à 60 secondes qui fonctionne bien, mais il n'y a pas de détection des mails arrivés entre-temps dans Outlook.

Il reste une faille quelque part avec mon dossier "Inbox".  scratch
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyMer 3 Mar 2021 - 23:44

Je me suis plongé à nouveau sur nons échanges, Marc. Et il y un point qui me chiffonne.

Dans ton post
Interface avec Outlook - Page 4 Aa223

tu dis:
Interface avec Outlook - Page 4 Aa165

Oui, je vois bien un dossier "Inbox". Pourtant, je vois aussi un dossier "Boîte de réception". C'est curieux, non ? Es-tu sûr de tes noms de dossiers ?

Pour ma part, je vais parcourir à nouveau mon code pour être certain qu'il n'y a pas encore un truc code "en dur" dans ce module...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 0:03

J'ai vérifié. Le timer surveille bien le dossier dont le nom est passé en 3ème paramètre à la ligne 115:
Code:
  res% = dll_call5("SetOutlookNewMailMemo",POL%,handle(1102),adr(reception$),1,2)
et la variable reception$ est chargée à la ligne 15:
Code:
reception$ = "Boîte de réception"    : ' <==================  mettre ici le nom EXACT de votre dossier de réception de nouveaux mails

Pour tracer au plus près, je viens de déposer une version spéciale pour toi dans mon site. Lorsqye le timer se déclenche, il commence par afficher un message avec le nom du dossier surveillé, histoire de vérifier qye c'est bien le bon...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 0:06

Voici ci-dessous, une vue de l'arborescence des dossiers Outlook.

Ce n'est pas moi qui demande à ce que les messages entrants arrivent dans Inbox. La configuration s'est faite automatiquement lors de la création du compte.

J'ai juste renseigné l'adresse mail (outlook.panoramic@free.fr) et le mot de passe que j'ai créés pour effectuer des tests.

Interface avec Outlook - Page 4 Klaus124


Quand je reçois un mail, il arrive directement dans Inbox.

Bref, ça ne vaut peut-être pas le coup de chercher plus loin. C'est peut-être une spécificité de cette version d'Outlook.
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 0:21

Citation :
je viens de déposer une version spéciale pour toi dans mon site.

Je ne la trouve pas.

Spoiler:
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 0:27

C'est comme d'habitude sur mon site, via la signature de mon post...
donc, ici: https://klauspanoramic.000webhostapp.com/KGF.zip
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 0:46

J'ai fait autrement:
Je détecte maintenant automatiquement le dossier de réception, quelque soit la configuration. Ceci se fait à l'intérieur de la fonction CreateOutlook. Le 3ème paramètre de la fonction SetOutlookNewMailMemo est maintenant simplement ignoré et il disparaîtra à terme.

Est-ce que tu trouves une amélioration ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 0:55

Merci Klaus, c'est téléchargé et testé :

J'ai bien la fenêtre d'information toutes les minutes qui mentionne "Inbox" :

Interface avec Outlook - Page 4 Klaus312


Mais toujours pas les mails entrants.

J'ai envoyé trois mails à 00h30, 00h35 et 00h40.

Tous réceptionnés par Outlook directement dans Inbox, mais pas de réaction de l'interface.

Dans l'interface, si je clique sur le dossier Inbox, la liste des mails est rafraichie et mails "entre-temps" apparaissent.

Interface avec Outlook - Page 4 Klaus511
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 0:56

Citation :
J'ai fait autrement...

Je teste de suite...
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 1:10

Je suis désolé, Klaus, ce n'est pas bon.

Mail envoyé à 00h57
Reçu par Outlook à 00h58
A 1h05, il n'était toujours pas détecté par l'interface.

Interface avec Outlook - Page 4 Klaus711


Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 1:13

Et tu avais lancé l'interface avant l'envoi du des mails concernés ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 1:17

Oui.

Je lance Outlook, puis je lance l'interface et seulement après je m'envoie des mails.

Je viens de vérifier la version de KGF, c'est bien la dernière du 04/03/2021 00h42 avec laquelle je viens de faire le test.



Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 1:33

J'ai refait KGF.dll, à 01:26:42. Il y a maintenant une clé supplémentaire,
indiquant date et heure du dernier démarrage (en fait du dernier appel à CreateOutlook).

Mais je ne comprends toujours pas pourquoi chez toi, le timer ne détecte pas un mail arrivé après le lancement,
alors que chez moi, ça passe comme une lettre à la poste.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 1:38

Attendons d'autres tests de Panoramiciens.

Je pique du nez, il est temps pour moi d'aller dormir. Sleep

A demain ! Bonne nuit Klaus !

Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 2:06

J'ai mis une trace sur le timer.
Dans le programme de démo qui suit, la ligne 15 détermine s'il y a trace ou non.
Dans la version actuelle, la trace est activée.
Pour la désactiver, il suffit de remplacer le 1 par un 0.

Code:
' test_Outlook_2007.bas

label creer, deplacer, agrandir, cacher, montrer, montrer_cles, sortir, UserEvent, close0
label navigation_reception, information_dossiers_1, information_dossiers_2, information_dossiers_3
label information_mails_1, information_mails_2, information_mails_3, information_mail1, action_vider1
label navigation_contacts_oui, navigation_contacts_non, navigation_dossier_oui, navigation_dossier_non
label action_deplacer, action_creer_mail_programme, action_creer_mail_dialog, action_chercher_contact_nom
label action_chercher_contact_nom_suivant, navigation_comptes_oui, navigation_comptes_non
label information_comptes_1, information_comptes_2, information_comptes_3

dim res%, POL%, s$, s1$, mail%, i%, reception$, TraceTimer%
dim Dossier%, MailIndex%, PieceIndex%, Sujet$, Expediteur$, Adresse$, Contact%, MailChoisi%, DossierChoisi%
dim CompteParDefaut%

TraceTimer% = 1    : ' <==================   mettre ici 1 pour avoir la trace ou 0 sinon

main_menu 1
  sub_menu 11 : parent 11,1 : caption 11,"Fichier"
    sub_menu 111 : parent 111,11 : caption 111,"Creer l'interface"        : on_click 111,creer
    sub_menu 112 : parent 112,11 : caption 112,"Déplacer l'interface"     : on_click 112,deplacer
    sub_menu 113 : parent 113,11 : caption 113,"Agrandir l'interface"     : on_click 113,agrandir
    sub_menu 114 : parent 114,11 : caption 114,"Cacher l'interface"       : on_click 114,cacher
    sub_menu 115 : parent 115,11 : caption 115,"Montrer l'interface"      : on_click 115,montrer
    sub_menu 116 : parent 116,11 : caption 116,"-"
    sub_menu 117 : parent 117,11 : caption 117,"Montrer les clés registre pour KGF" : on_click 117,montrer_cles
    sub_menu 118 : parent 118,11 : caption 118,"-"
    sub_menu 119 : parent 119,11 : caption 119,"Sortir"                   : on_click 119,sortir
  sub_menu 21 : parent 21,1 : caption 21,"Navigation"  
    sub_menu 211 : parent 211,21 : caption 211,"Boite de réception"       : on_click 211,navigation_reception
    sub_menu 212 : parent 212,21 : caption 212,"-"                
    sub_menu 213 : parent 213,21 : caption 213,"Afficher les contacts"    : on_click 213,navigation_contacts_oui
    sub_menu 214 : parent 214,21 : caption 214,"Cacher les contacts"      : on_click 214,navigation_contacts_non
    sub_menu 215 : parent 215,21 : caption 215,"Afficher le sélecteur des dossiers"  : on_click 215,navigation_dossier_oui
    sub_menu 216 : parent 216,21 : caption 216,"Cacher le sélecteur des dossiers"    : on_click 216,navigation_dossier_non
    sub_menu 217 : parent 217,21 : caption 217,"Afficher le sélecteur des comptes"   : on_click 217,navigation_comptes_oui
    sub_menu 218 : parent 218,21 : caption 218,"Cacher le sélecteur des comptes"   : on_click 218,navigation_comptes_non
  sub_menu 31 : parent 31,1 : caption 31,"Informations"  
    sub_menu 311 : parent 311,31 : caption 311,"Liste des dossiers - noms"                 : on_click 311,information_dossiers_1
    sub_menu 312 : parent 312,31 : caption 312,"Liste des dossiers - objets"               : on_click 312,information_dossiers_2
    sub_menu 313 : parent 313,31 : caption 313,"Liste des dossiers - noms et objets"       : on_click 313,information_dossiers_3
    sub_menu 314 : parent 314,31 : caption 314,"-"                
    sub_menu 315 : parent 315,31 : caption 315,"Liste des comptes - noms"                  : on_click 315,information_Comptes_1
    sub_menu 316 : parent 316,31 : caption 316,"Liste des comptes - objets"                : on_click 316,information_Comptes_2
    sub_menu 317 : parent 317,31 : caption 317,"Liste des comptes - noms et objets"        : on_click 317,information_Comptes_3
    sub_menu 318 : parent 318,31 : caption 318,"-"                
    sub_menu 319 : parent 319,31 : caption 319,"Liste des mails - noms"                    : on_click 319,information_mails_1
    sub_menu 320 : parent 320,31 : caption 320,"Liste des mails - objets"                  : on_click 320,information_mails_2
    sub_menu 321 : parent 321,31 : caption 321,"Liste des mails - noms et objets"          : on_click 321,information_mails_3
    sub_menu 322 : parent 322,31 : caption 322,"-"                
    sub_menu 323 : parent 323,31 : caption 323,"Informations mail 1"                       : on_click 323,information_mail1
  sub_menu 41 : parent 41,1 : caption 41,"Actions"  
    sub_menu 411 : parent 411,41 : caption 411,"Vider Courrier indésirable"                : on_click 411,action_vider1
    sub_menu 412 : parent 412,41 : caption 412,"Déplacer un mail"                          : on_click 412,action_deplacer
    sub_menu 413 : parent 413,41 : caption 413,"Créer un mail par programme"               : on_click 413,action_creer_mail_programme
    sub_menu 414 : parent 414,41 : caption 414,"Créer un mail avec dialogue"               : on_click 414,action_creer_mail_dialog
    sub_menu 415 : parent 415,41 : caption 415,"Chercher un contact par son nom"           : on_click 415,action_chercher_contact_nom
    sub_menu 416 : parent 416,41 : caption 416,"Chercher un contact suivant par son nom"   : on_click 416,action_chercher_contact_nom_suivant
  
width 0,800
memo 1001 : hide 1001 : bar_both 1001  
memo 1101 : hide 1101 : bar_both 1101  
memo 1102 : hide 1102 : bar_both 1102

container 1002 : top 1002,height_client(0)-80 : left 1002,10
  width 1002,width_client(0) :  height 1002,height_client(0) - top(1002)
  caption 1002,"Etat de l'interface Panoramic - Outlook"
alpha 1003 : parent 1003,1002 : top 1003,20 : left 1003,10 : parent 1003,1002 : caption 1003,"Etat de l'interface:"
edit 1004 : inactive 1004 : top 1004,20 : left 1004,100 : parent 1004,1002 : font_bold 1004 : text 1004,"Non connecté"  
alpha 1005 : parent 1005,1002 : top 1005,10 : left 1005,240 : parent 1005,1002 : caption 1005,"Dossier choisi:"
edit 1006 : inactive 1006 : top 1006,10 : left 1006,320 : width 1006,200 : parent 1006,1002 : font_bold 1006 : text 1006,"<aucun>"
alpha 1060 : top 1060,10 : left 1060,530 : parent 1060,1002 : caption 1060,"===>"
edit 1061 : inactive 1061 : top 1061,10 : left 1061,560 : width 1061,200 : parent 1061,1002 : font_bold 1061 : text 1061,"<aucun>"

alpha 1007 : parent 1007,1002 : top 1007,30 : left 1007,240 : parent 1007,1002 : caption 1007,"Contact choisi:"
edit 1008 : inactive 1008 : top 1008,30 : left 1008,320 : width 1008,200 : parent 1008,1002 : font_bold 1008 : text 1008,"<aucun>"  
alpha 1009 : parent 1009,1002 : top 1009,50 : left 1009,10 : parent 1009,1002 : caption 1009,"Email choisi:"
edit 1010 : inactive 1010 : top 1010,50 : left 1010,100 : width 1010,420 : parent 1010,1002 : font_bold 1010 : text 1010,"<aucun>"  

alpha 1011 : top 1011,35 : left 1011,530 : parent 1011,1002: caption 1011,"Compte:"
edit 1012 : inactive 1012 : top 1012,50 : left 1012,560 : width 1012,200 : parent 1012,1002 : font_bold 1012 : text 1012,"<aucun>"  

dll_on "KGF.dll"

on_user_event UserEvent

end

close0:
  POL% = dll_call1("DeleteOutlook",POL%)
  return

sortir:
  POL% = dll_call1("DeleteOutlook",POL%)
  terminate
  return

creer:
  if POL%<>0 then return
  width 0,800
  height 0,700
  top 1002,height_client(0)-80 : width 1002,width_client(0) - 20
  POL% = dll_call4("CreateOutlook",handle(0),10,10,1)
  if POL%=0
    message "Erreur en création de l'interface Outlook"
    return
  end_if
  text 1004,"Connecté"
  s$ = string$(200," ")
  res% = dll_call6("GetOutlookInformation",POL%,7,0,adr(s$),0,0)  
  s$ = trim$(s$)
  text 1012,s$
  s$ = string$(30," ")
  res% = dll_call6("GetOutlookInformation",POL%,9,0,adr(s$),0,0)  
  caption 0,"Outlook version "+trim$(s$)
  res% = dll_call5("SetOutlookNewMailMemo",POL%,handle(1102),TraceTimer%,1,2)
  return
  
deplacer:
  if POL%=0 then return
  full_space 0
  res% = dll_call3("LocateOutlook",POL%,0,0)
  top 1002,height_client(0)-100 : left 1002,0 : width 1002,width_client(0)
  return
  
agrandir:
  if POL%=0 then return
  res% = dll_call5("ResizeOutlook",POL%,width_client(0),height_client(0)-100,400,200)
  top 1002,height_client(0)-100 : width 1002,width_client(0)
  return
  
cacher:
  if POL%=0 then return
  res% = dll_call2("OutlookVisibility",POL%,0)
  return
  
montrer:
  if POL%=0 then return
  res% = dll_call2("OutlookVisibility",POL%,1)
  return
  
montrer_cles:
  res% = dll_call1("GetAllKeysForKGF",handle(1102))
  message text$(1102)
  clear 1102
  return
  
UserEvent:
'  message "UserEvent: WPARAM="+right$("0000000"+hex$(USER_EVENT_WPARAM),8)+"  LPARAM="+right$("0000000"+hex$(USER_EVENT_LPARAM),8)
  if bin_and(USER_EVENT_WPARAM,hex("FF000000"))=hex("13000000")                 : ' est-ce un USER_EVENT de Outlook ?

    if bin_and(USER_EVENT_WPARAM,hex("00FF0000"))=hex("00010000")               : ' est-ce une sélection de dossier ?
      Dossier% = USER_EVENT_LPARAM                                              
      s$ = string$(200," ")
      Dossier% = dll_call6("GetOutlookInformation",POL%,1,0,adr(s$),0,0)        : ' dossier% contient l'objet du dossier
      s$ = trim$(s$)
      text 1006,s$
      message "Dossier choisi: "+s$
      return
    end_if
    
    if bin_and(USER_EVENT_WPARAM,hex("00FF0000"))=hex("00020000")               : ' est-ce une sélection de mail ?
      MailIndex% = USER_EVENT_LPARAM
      Sujet$ = string$(200," ")
      Expediteur$ = string$(200," ")
      Adresse$ = string$(200," ")
      MailChoisi% = dll_call6("GetOutlookInformation",POL%,2,USER_EVENT_LPARAM,adr(Sujet$),adr(Expediteur$),adr(Adresse$))
      Sujet$ = trim$(Sujet$)
      Expediteur$ = trim$(Expediteur$)
      Adresse$ = trim$(Adresse$)
      text 1010,sujet$
      message "Mail choisi: "+Sujet$+chr$(13)+chr$(10)+"De: "+Expediteur$+"       Mail: "+Adresse$+chr$(13)+chr$(10)+"   Objet mail="+str$(MailChoisi%)
      return
    end_if
    
    if bin_and(USER_EVENT_WPARAM,hex("00FF0000"))=hex("00030000")               : ' est-ce une sélection de pièce jointe ?
      PieceIndex% = USER_EVENT_LPARAM
      s$ = string$(200," ")
      res% = dll_call6("GetOutlookInformation",POL%,3,PieceIndex%,adr(s$),0,0)
      s$ = trim$(s$)
      if message_confirmation_yes_no("Enregistrer la pièce jointe: "+s$)=1
        s$ = file_extract_path$(param_value$(0))+s$                             : ' extraire la pièce jointe dans le dossier du programme
        res% = dll_call4("ExtractOutlookAttachment",POL%,0,PieceIndex%,adr(s$))
        if res%=0
          message "Pièce jointe extraite dans:"+chr$(13)+chr$(10)+s$
        else
          message "Erreur en extraction de pièce jointe"
        end_if
      end_if
      return
    end_if
    
    if bin_and(USER_EVENT_WPARAM,hex("00FF0000"))=hex("00040000")               : ' est-ce une sélection de contact ?
      Contact% = USER_EVENT_LPARAM
      clear 1001
      res% = dll_call3("GetOutlookContact",POL%,Contact%,handle(1001))
      for i%=1 to count(1001)
        s$ = item_read$(1001,i%)
        if left$(s$,9)="FullName="
          text 1008,mid$(s$,10,len(s$))
          exit_for
        end_if
      next i%
      message text$(1001)    
      return
    end_if

    if bin_and(USER_EVENT_WPARAM,hex("00FF0000"))=hex("00050000")               : ' est-ce une sélection de dossier dans le sélecteur des dossiers ?
      DossierChoisi% = USER_EVENT_LPARAM                                        : ' USER_EVENT_LPARAM contient l'objet Dossier
      s$ = string$(200," ")
      res% = dll_call6("GetOutlookInformation",POL%,6,DossierChoisi%,adr(s$),0,0)  
      s$ = trim$(s$)
      text 1061,s$
      message "Dossier choisi: "+s$
      return
    end_if

    if bin_and(USER_EVENT_WPARAM,hex("00FF0000"))=hex("00060000")               : ' est-ce une sélection de compte dans le sélecteur des comptes ?
      CompteParDefaut% = USER_EVENT_LPARAM                                      : ' USER_EVENT_LPARAM contient l'objet Compte
      clear 1001
      res% = dll_call6("GetOutlookInformation",POL%,8,CompteParDefaut%,handle(1001),0,0)  
      s$ = text$(1001)
      message "Compte choisi: "+chr$(13)+chr$(10)+s$
      for i%=1 to count(1001)
        s$ = item_read$(1001,i%)
        if left$(s$,10)="UserName="
          s$ = mid$(s$,11,len(s$))
          exit_for
        end_if
      next i%
      text 1012,s$
      return
    end_if

    if bin_and(USER_EVENT_WPARAM,hex("00FF0000"))=hex("00070000")               : ' est-ce qu'on a reçu de nouveaux mails ?
      ' USER_EVENT_LPARAM contient le nombre de nouveaux mails
'      message str$(USER_EVENT_LPARAM)+" nouveaux mails:"+chr$(13)+chr$(10)+text$(1102)
      if count(1102)>0
        ' traiter les nouvaux mails
        while count(1102)>0
          ' ici, traiter le mail dans item_read$(1102,1)
          mail% = val(item_read$(1102,1))
          Sujet$ = string$(200," ")
          Expediteur$ = string$(200," ")
          Adresse$ = string$(200," ")
          res% = dll_call6("GetOutlookInformation",POL%,10,mail%,adr(Sujet$),adr(Expediteur$),adr(Adresse$))
          Sujet$ = trim$(Sujet$)
          Expediteur$ = trim$(Expediteur$)
          Adresse$ = trim$(Adresse$)
          message "Mail reçu: "+Sujet$+chr$(13)+chr$(10)+"De: "+Expediteur$+"       Mail: "+Adresse$+chr$(13)+chr$(10)+"   Objet mail="+str$(MailChoisi%)        
          ' et le supprimer de la liste
          item_delete 1102,1
        end_while
      end_if
      return
    end_if

  end_if
  return
  
navigation_reception:
  if POL%=0 then return
  s$ = "Boîte de réception"
  res% = dll_call3("SelectOutlookFolder",POL%,adr(s$),1)
  return
  
navigation_contacts_non:
  if POL%=0 then return
  res% = dll_call2("ShowOutlookContacts",POL%,0)
  return
  
navigation_contacts_oui:
  if POL%=0 then return
  res% = dll_call2("ShowOutlookContacts",POL%,1)
  return
  
navigation_dossier_oui:
  if POL%=0 then return
  res% = dll_call2("ShowOutlookFolderSelector",POL%,1)
  return
  
navigation_dossier_non:
  if POL%=0 then return
  res% = dll_call2("ShowOutlookFolderSelector",POL%,0)
  return
  
navigation_comptes_non:
  if POL%=0 then return
  res% = dll_call2("ShowOutlookAccounts",POL%,0)
  return
  
navigation_comptes_Oui:
  if POL%=0 then return
  res% = dll_call2("ShowOutlookAccounts",POL%,1)
  return
    
information_dossiers_1:
  if POL%=0 then return
  clear 1001
  res% = dll_call3("GetOutlookFolderList",POL%,0,handle(1001))
  message text$(1001)
  return

information_dossiers_2:
  if POL%=0 then return
  clear 1001
  res% = dll_call3("GetOutlookFolderList",POL%,1,handle(1001))
  message text$(1001)
  return

information_dossiers_3:
  if POL%=0 then return
  clear 1001
  res% = dll_call3("GetOutlookFolderList",POL%,2,handle(1001))
  message text$(1001)
  return
  
information_comptes_1:
  if POL%=0 then return
  clear 1001
  res% = dll_call3("GetOutlookAccountList",POL%,0,handle(1001))
  message text$(1001)
  return

information_comptes_2:
  if POL%=0 then return
  clear 1001
  res% = dll_call3("GetOutlookAccountList",POL%,1,handle(1001))
  message text$(1001)
  return

information_comptes_3:
  if POL%=0 then return
  clear 1001
  res% = dll_call3("GetOutlookAccountList",POL%,2,handle(1001))
  message text$(1001)
  return

information_mails_1:
  clear 1001
  res% = dll_call3("GetOutlookMailList",POL%,0,handle(1001))
  message text$(1001)
  return

information_mails_2:
  if POL%=0 then return
  clear 1001
  res% = dll_call3("GetOutlookMailList",POL%,1,handle(1001))
  message text$(1001)
  return

information_mails_3:
  if POL%=0 then return
  clear 1001
  res% = dll_call3("GetOutlookMailList",POL%,2,handle(1001))
  message text$(1001)
  return
  
information_mail1:
  if POL%=0 then return
  clear 1001
  ' Pour la démo, on choisit le premier mail de la liste.
  ' Mais on pourrait prendre n'importe quel mail entre 1 et count(1001).
  res% = dll_call3("GetOutlookMailList",POL%,1,handle(1001))
  mail% = val(item_read$(1001,1))
  clear 1001
  res% = dll_call3("GetOutlookMailInformation",POL%,mail%,handle(1001))
  message text$(1001)
  return
  
action_vider1:
  if POL%=0 then return
  clear 1001
  res% = dll_call3("GetOutlookFolderList",POL%,2,handle(1001))
  s1$ = ""
  for i%=1 to count(1001)
    if instr(item_read$(1001,i%),"Courrier indésirable")>0
      s1$ = item_read$(1001,i%)
      exit_for
    end_if
  next i%
  i% = instr(s1$,",")
  if i%=0
    message "Dossier non trouvé"
    return
  end_if
  dossier% = val(left$(s1$,i%-1))
  s$ = mid$(s1$,i%+1,len(s1$))
  if message_confirmation_yes_no("Voulez-vous vraiment vider le dossier <"+s$+"> ?")<>1 then return
  res% = dll_call2("EmptyOutlookFolder",POL%,dossier%)
  if res%<0
    message "Erreur en vidant le dossier <"+s$+">"
  else
    message "Le dossier <"+s$+"> a été vidé."
  end_if
  return
  
action_deplacer:
  if POL%=0 then return
  if MailChoisi%=0
    message "Aucun mail choisi"
    return
  end_if
  if DossierChoisi%=0
    message "Aucun dossier choisi"
    return
  end_if
  res% = dll_call3("MoveOutlookMail",POL%,MailChoisi%,DossierChoisi%)
  MailChoisi% = 0
  return
  
action_creer_mail_programme:
  if POL%=0 then return
  if contact%=0
    message "Il faut choisir un contact d'abord !"
    return
  end_if
  ' préparer les pièces jointes
  clear 1101
  item_add 1101,"KGF.ilb"                                    : ' placer ici le nom d'un fichier des pièce jointe, ou laisser le mémo vide
  '  ... autant de lignes Attachment que nécessaires, une ligne par pièce jointe
  clear 1001
  item_add 1001,"première ligne du mail"
  item_add 1001,"... placer ici le reste du mail"            : ' autant de lignes que nécessaire...
  s$ = "Mail test généré par programme"                      : ' placer ici le sujet du mail
  ' contact% est l'objet contact sélectionné dans le sélecteur des contacts, retourné par USER_EVENT
  res% = dll_call6("SendOutlookMail",POL%,contact%,adr(s$),handle(1101),handle(1001),0)    : ' le 0 signifie "pas de fenêtre Outlook de saisie mais envoi direct"
message str$(res%)
  return

action_creer_mail_dialog:
  if POL%=0 then return
  if contact%=0
    message "Il faut choisir un contact d'abord !"
    return
  end_if
  ' préparer les pièces jointes
  clear 1101
  item_add 1101,"KGF.ilb"                                    : ' placer ici le nom d'un fichier des pièce jointe, ou laisser le mémo vide
  '  ... autant de lignes Attachment que nécessaires, une ligne par pièce jointe
  clear 1001
  item_add 1001,"première ligne du mail"
  item_add 1001,"... placer ici le reste du mail"            : ' autant de lignes que nécessaire...
  s$ = "Mail test généré par programme"                      : ' placer ici le sujet du mail
  ' contact% est l'objet contact sélectionné dans le sélecteur des contacts, retourné par USER_EVENT
  res% = dll_call6("SendOutlookMail",POL%,contact%,adr(s$),handle(1101),handle(1001),1)    : ' le  signifie "fenêtre Outlook de saisie"
  if res%=0
    message "Mail envoyé"
  else
    message "Erreur - mail non envoyé"
  end_if
  return
  
action_chercher_contact_nom:
  if POL%=0 then return
  s$ = "Klaus"
  res% = dll_call2("GetOutlookContactByName",POL%,adr(s$))
  return

action_chercher_contact_nom_suivant:
  if POL%=0 then return
  s$ = "Klaus"
  res% = dll_call3("GetNextOutlookContactByName",POL%,contact%,adr(s$))
  return

Lors du traçage, le timer affiche des informations sur chaque mail analyse.
D'abord, avant la vérification des dates et heures, le traçage affiche un message contenant:
Citation :
 Mail analysé:  Dossier=nom du dossier
 Mail testé:    sujet du mail
 Reçu:          date de réception
 Critère:       date de comparaison (dernière dans de contrôle)

Si le mail analysé est trop ancien, le traçage affiche:
Citation :
Ce mail est trop ancien: sujet du mail
puis arrête l'analyse.

Si le mail est plus récent que la date de comparaison, le traçage affiche:
Citation :
Ce mail est nouveau: sujet du mail
et le place dans une liste des mails à signaler à Panoramic par USER_EVENT

A la fin de ce contrôle (lorsqu'on tombe sur le premier mail trop ancien), le timer signale la liste des mails trouvés à Panoramic (s'il y en a). Panoramic signale alors chaque mail dans cette liste.

Note:
Un mail reçu par Outlook après le lancement de l'interface n'est pas forcément détecté à la première tentative (premier déclenchement du timer). En effet, bien que déjà affiché dans la boite de réception de Outlook, le nouveau mail n'est pas encore forcément intégré dans ce que l'on appelle le "modèle DOM" de Outlook et est donc provisoirement invisible pour tout programme extérieur. Ce décalage est levé dès de deuxième déclenchement du timer après réception du mail par Outlook. Ce comportement est malheureusement inhérent à Outlook et impossible à contourner par un programme externe.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jjn4

jjn4


Nombre de messages : 2703
Date d'inscription : 13/09/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyJeu 4 Mar 2021 - 16:17

J'ai essayé ton programme.
Je ne comprends pas pourquoi il n'affiche que les e-mails datant,
pour le dernier, du 13/02/2021, alors que j'en reçois tous les jours ?
A suivre...
scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyDim 7 Mar 2021 - 15:31

Bonjour Klaus, bonjour à tous,

J’ai installé OL2010 Fr pour effectuer des essais.

Après avoir autorisé l'accès à Outlook par un programme tiers, le timer détecte bien l’arrivée des nouveaux messages "entre-temps". cheers

Interface avec Outlook - Page 4 Klaus125


Interface avec Outlook - Page 4 Klaus219
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyDim 7 Mar 2021 - 17:55

Merci, Marc ! Tu me rassures !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyLun 8 Mar 2021 - 11:51

@Marc:

J'ai déposé une nouvelle version de l'interface Outlook sur mon site.
L'apparition de la fenêtre de sécurité devrait maintenant être éliminée automatiquement.
En effet, j'ai ajouté du code détectant cette fenêtre et cliquant automatiquement le bouton "Accepter".

Pourrais-tu me dire le résultat stp ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyLun 8 Mar 2021 - 19:04

@Klaus

Afin de lever toute ambiguïté, de quelle fenêtre de sécurité s’agit-il ?

Autrement, j’ai remarqué qu’après avoir validé la fenêtre annonçant l’arrivée d’un nouveau mail, la liste de la boite de réception ne se met pas à jour automatiquement. Le nouveau mail ne s’affiche pas, ni en tête de liste, ni en queue. Je dois cliquer sur le dossier de réception pour qu’il apparaisse.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyLun 8 Mar 2021 - 23:43

Quelle fenêtre ? Celle-ci:
Interface avec Outlook - Page 4 Aa166

Citation :
Autrement, j’ai remarqué qu’après avoir validé la fenêtre annonçant l’arrivée d’un nouveau mail, la liste de la boite de réception ne se met pas à jour automatiquement. Le nouveau mail ne s’affiche pas, ni en tête de liste, ni en queue. Je dois cliquer sur le dossier de réception pour qu’il apparaisse.
Oui, je sais. C'est intentionnel. L'opération de mise à jour de liste complète des mails est longue si'il y a beaucoup de mails dans le dossier de réception, ce sui est le cas chez moi.
Mais je me rends compte que je pourrais simplement ajouter les nouveaux éléments à la liste déjà existante. Je n'y avais pas pensé. Je vais regarder cela.

D'ailleurs, cette question ne se pose que si le dossier sélectionné à ce moment est la boite de réception !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyMar 9 Mar 2021 - 0:20

Non, je ne vois plus apparaître cette fenêtre. Son absence ne m’a pas frappé, je l’avais déjà oubliée !
Le fait d’avoir accepté une première fois l’accès au programme tiers, cette autorisation devient-elle permanente ? Auquel cas, il serait normal que je vois plus cette fenêtre.

Citation :
D'ailleurs, cette question ne se pose que si le dossier sélectionné à ce moment est la boite de réception !

De fait !


Bien que je ne sois pas utilisateur d’un client mail, je me permets une suggestion : Lors d’un tri par date, à l’intérieur d’une date, les heures ne sont pas triées. Dans le cas de nombreux mails, peut-être serait-il opportun d’avoir ce « sous-tri » ?
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyMar 9 Mar 2021 - 0:39

Citation :
Le fait d’avoir accepté une première fois l’accès au programme tiers, cette autorisation devient-elle permanente ?
Aucune idée ! Chez moi, ça ne se produit pas. D'après ce que je vois sur internet, l'autorisation donnée 1 fois n'est valable que pour la période de temps indiquée dans cette fenêtre, et par défaut, c'est 1 minute. Donc, si tu n'as plus ce problème, il est probable que mon ajout a fonctionné et supprime cette fenêtre dès sont apparition, puisque je cherche à la détecter toutes les 500 milli-secondes.

Citation :
Dans le cas de nombreux mails, peut-être serait-il opportun d’avoir ce « sous-tri » ?
En effet ! Je vais voir comment je peux organiser cela.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2391
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyMar 9 Mar 2021 - 0:46

Je viens de d’effectuer ce test :

Dans le Centre de gestion de la confidentialité d’Outlook, rubrique Accès par programme, j’ai coché "Toujours m’avertir des activités douteuses."

Interface avec Outlook - Page 4 Klaus313

Puis, j’ai lancé l’interface avec la nouvelle dll (kgf.dll du 08/03/2021 11:45) et j’ai la fenêtre de sécurité qui est réapparue.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12294
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 EmptyMar 9 Mar 2021 - 0:47

Et elle ne disparaît pas toute seule ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Interface avec Outlook - Page 4 Empty
MessageSujet: Re: Interface avec Outlook   Interface avec Outlook - Page 4 Empty

Revenir en haut Aller en bas
 
Interface avec Outlook
Revenir en haut 
Page 4 sur 5Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
 Sujets similaires
-
» extension de l'interface avec les DLL
» extension de l'interface avec les DLL - bis
» Domotique avec Panoramic : Interface RS232 TTL
» Outlook
» Panoramic et Outlook

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos projets-
Sauter vers: