recuperer infos mail
recuperer infos mail
bonjour, j'ai besoin d'un prog en purebasic qui "voit" les arrivées de messages dans ma messagerie pour démarrer un sous-programme chaque fois qu'il y aura un message arrivant portant le sujet "xyz"
le but c'est de dire que de n'importe qu'elle adresse, je puisse m'envoyer
un mail avec le sujet "xyz+code a 6 chiffres a récupérer"
peut importe xyz naturellement
utiliser RIGHT... pour récupérer les 6 derniers carractères de la chaine$
par contre j'ai bien examiné les fonctions mail... et lu beaucoup d'articles
j'ai vu que pour envoyer des mails c'est très compliqué (besoin smttp....)
ce programme est très important pour moi, car je souhaiterais en fait pouvoir envoyer de n'importe ou un mail a ma boite qu'il identifiera comme étant le code, il récupére le code, et il lancera (ça je sais faire) le programme souhaité et composera le code (a priori ça devrait aller aussi) le code pour exécuter celui-ci en mon absence.
le planificateur de tache n'est pas adapté, il faut vraiement que ça se fasse a un moment donné
je sais que c'est un des trucs les plus compliqués ce qui touche aux mails... mais je ne saurais que trop rendre grace (voir plus?) si quelqu'un savait faire un truc genre ça
d'habitude je demande une piste de travail, mais la de toute façon je ne serait pas du tout a la hauteur!!!
(enfin au pire si j'ai un début de piste j'essaierais toujours même si je met 10 ans...)
merci d'avance à ce qui m'aideront
et à tous les utilisateurs de purebasic qui est le truc le plus cool qu'on a pu inventer dans le monde de l'informatique
david
le but c'est de dire que de n'importe qu'elle adresse, je puisse m'envoyer
un mail avec le sujet "xyz+code a 6 chiffres a récupérer"
peut importe xyz naturellement
utiliser RIGHT... pour récupérer les 6 derniers carractères de la chaine$
par contre j'ai bien examiné les fonctions mail... et lu beaucoup d'articles
j'ai vu que pour envoyer des mails c'est très compliqué (besoin smttp....)
ce programme est très important pour moi, car je souhaiterais en fait pouvoir envoyer de n'importe ou un mail a ma boite qu'il identifiera comme étant le code, il récupére le code, et il lancera (ça je sais faire) le programme souhaité et composera le code (a priori ça devrait aller aussi) le code pour exécuter celui-ci en mon absence.
le planificateur de tache n'est pas adapté, il faut vraiement que ça se fasse a un moment donné
je sais que c'est un des trucs les plus compliqués ce qui touche aux mails... mais je ne saurais que trop rendre grace (voir plus?) si quelqu'un savait faire un truc genre ça
d'habitude je demande une piste de travail, mais la de toute façon je ne serait pas du tout a la hauteur!!!
(enfin au pire si j'ai un début de piste j'essaierais toujours même si je met 10 ans...)
merci d'avance à ce qui m'aideront
et à tous les utilisateurs de purebasic qui est le truc le plus cool qu'on a pu inventer dans le monde de l'informatique
david
il existe quelques librairie qui te donneront des fonctions toute faite
pour relever un email ou meme en envoyer ..
tu trouvera des liens interressant ici , pour ce qui concerne les librairies ...
http://michel.dobro.free.fr/pages_html/liens.htm
pour creer une "telecomande" qui lance un prg en fonction d'un email preci
il te faudra surement utiliser les timers (voir les exemple avec le mot 'Timer') sur notre forum
parce les timers te permetront d'avoir un prg qui surveillera de façon periodique l'arrivé d'un email.. (a moins que cette fonction soit deja dispo dans une librairie bien sur ...)
ensuite un petit tour dans la partie "Process" de la Doc de Purebasic te permetra de trouver ce qu'il te faut pour lancer une aplications a partir de ton prg ..
voila cela ne me semble pas trop complique, il faut juste bien lire les Docs des Librairies, et puis voila ... en clair , ça ne me parait pas trop dificile a faire ..
pour relever un email ou meme en envoyer ..

tu trouvera des liens interressant ici , pour ce qui concerne les librairies ...
http://michel.dobro.free.fr/pages_html/liens.htm
pour creer une "telecomande" qui lance un prg en fonction d'un email preci
il te faudra surement utiliser les timers (voir les exemple avec le mot 'Timer') sur notre forum
parce les timers te permetront d'avoir un prg qui surveillera de façon periodique l'arrivé d'un email.. (a moins que cette fonction soit deja dispo dans une librairie bien sur ...)

ensuite un petit tour dans la partie "Process" de la Doc de Purebasic te permetra de trouver ce qu'il te faut pour lancer une aplications a partir de ton prg ..

voila cela ne me semble pas trop complique, il faut juste bien lire les Docs des Librairies, et puis voila ... en clair , ça ne me parait pas trop dificile a faire ..

Il y a la librairie POP3 sur PureArea, sinon si tu préferres le faire toi même, il y a le site www.iprenalx.net qui est très bien fait. regarde la commande "head", je pense que ça devrait te suffir. Fait aussi une recherche sur le forum, je crois que j'avais posté des exemples.
message erreur purebasic probleme librairie
bon, j'ai essayé de faire le bout de programme suivant :
j'ai le message d'erreur suivant (avec PB4.0) :
PureBasic - Error
Error: The following PureLibrary is missing : LibraryExtension
Pourtant j'ai bien mis la dll dans PureLibrairie/UserLibrairie
Si quelqu'un peut me dire ce qui ne va pas.....
Merci de vérifier un peu le reste du programme que j'ai fait comme j'ai pu
Je sais pas pourquoi mais j'ai bien peur qu'une fois solutionné mon pb
je vais me rendre compte que ca ne marche toujours pas (le probleme recurent du debutant!)
merci d'avance
Code : Tout sélectionner
;==============================================
result =OpenLibrary(0, "BpePOP3.dll") ;charger la dll
If result = 0 :MessageRequester("Erreur!", "Le fichier 'BpePOP3.dll' n'a pas été trouvé..." , #MB_ICONERROR):EndIf
username$="david.turquin@wanadoo.fr"
password$="mon mot de passe messagerie"
result = POP3_Init() ;initilaiser
If result = 0 :MessageRequester("Erreur!", "Le programme n'a pas réussi à s'initialiser..." , #MB_ICONERROR):EndIf
result = POP3_Connect(server$, port) ;connecter serveur
If result = 0 :MessageRequester("Erreur!", "Problème de connexion au serveur..." , #MB_ICONERROR):EndIf
result = POP3_Logon(username$, password$) ;identifer
If result = 0 :MessageRequester("Erreur!", "Problème d'identification..." , #MB_ICONERROR):EndIf
;================================================
FicIcon$="Gaby4.ico" ;ouvre ico dans le répertoire en cours
If OpenWindow(0, 0, 0, 0, 0, "MasterViewer",#PB_Window_Invisible)
CreatePopupMenu(1)
MenuItem(1,"Redonner code")
MenuItem(3,"A propos")
MenuItem(4,"Quitter")
AddSysTrayIcon(0, WindowID(0), LoadImage(0, FicIcon$))
EndIf
Repeat
;=============
nMessages = POP3_GetMsgCount()
If nMessages<> 0
For i = 1 To nMessages
result = POP3_ParseMsgHeader( i )
fieldText$ = POP3_HeaderSubject()
If fieldText$="MON SUJET": MessageRequester("MasterViewer","j'ai identifié mon SUBJECT et lancera le sous-programme"):EndIf
Next i
EndIf
;**********
;=================
Select WindowEvent()
Case #PB_Event_SysTray
DisplayPopupMenu(1, WindowID(0))
Case #PB_Event_Menu
Select EventMenu()
Case 1 ; Redonner code
MessageRequester("MasterViewer","Code d'identifaction : "+"xyz")
Case 3 ; A propos
MessageRequester("A propos de...","MasterViewer"+Chr(13)+"Gestionnaire d'identification a distance")
Case 4 ; Quitter
quit=1
EndSelect
EndSelect
Until quit=1
End
PureBasic - Error
Error: The following PureLibrary is missing : LibraryExtension
Pourtant j'ai bien mis la dll dans PureLibrairie/UserLibrairie
Si quelqu'un peut me dire ce qui ne va pas.....
Merci de vérifier un peu le reste du programme que j'ai fait comme j'ai pu
Je sais pas pourquoi mais j'ai bien peur qu'une fois solutionné mon pb
je vais me rendre compte que ca ne marche toujours pas (le probleme recurent du debutant!)
merci d'avance
Re: message erreur purebasic probleme librairie
justement si tu as installé la librairie pourquoi tu cherche a charger la dll ?david a écrit :j'ai le message d'erreur suivant (avec PB4.0) :Code : Tout sélectionner
;============================================== result =OpenLibrary(0, "BpePOP3.dll") ;charger la dll
PureBasic - Error
Error: The following PureLibrary is missing : LibraryExtension
Pourtant j'ai bien mis la dll dans PureLibrairie/UserLibrairie
une librairie installée dans Purebasic, permet que l'on puisse appeler directement les commande d'une librairie comme si c'étais des commandes PureBasic !!

tu peux utiliser directement "POP3_Init()"
sans avoir a charger quoi que ce soit !!
la librairie installé , fait partie de Purebasic, cela ajoute les commandes de la librairie a PureBasic , comme si c'était des commandes Natives , ( des commandes Purebasic)

et a la compilation, tu n'as pas besoin de joindre la Dll
le code contiendra tout ce qu'il faut ..

C'est Trop Fort PureBasic

Re: message erreur purebasic probleme librairie
Tu utilises une librarie utilisateur pour PB3.9x non compatible avec PB4.xx ...david a écrit :j'ai le message d'erreur suivant (avec PB4.0) :
PureBasic - Error
Error: The following PureLibrary is missing : LibraryExtension
Sur PureArea, il faut vérifier la compatibilité des librairies (éventuellement s'aider de la date de sortie si non précisé) !
Elles existent souvent en plusieurs versions.
correction avec pb 3-92
bien vu pour la version de la librairie (et pour la façon de l'utiliser!!!)
après correction avec pb 3-92 ça donne:
par contre :
username$ c'est bien mon adresse mail?
passeword$ c'est mon mot de passe de messagerie?
server$: ?
port:?
moi je dispose d'un identifiant de connexion, mot de passe de connexion, mon adresse mail, mon identifiant de messagerie, et mot de passe de messagerie
JE SUIS DESOLE MAIS LA DOC DE LA LIB EST PAS TRES BAVARDE ET DE TOUTE FACON C'EST QUE DE L'ANGLAIS ALORS J'ESSAIE DE COMPRENDRE MAIS C'EST PAS EVIDENT CAR DEJA JE DEBUTE AVEC PB ET J'AI JAMAIS ETE BON EN ANGLAIS
(merci pour votre aide!!)
après correction avec pb 3-92 ça donne:
Code : Tout sélectionner
username$="david.turquin@wanadoo.fr"
password$="mon mot de passe messagerie"
result = POP3_Init() ;initilaiser
If result = 0 :MessageRequester("Erreur!", "Le programme n'a pas réussi à s'initialiser..." , #MB_ICONERROR):EndIf
result = POP3_Connect(server$, port) ;connecter serveur
If result = 0 :MessageRequester("Erreur!", "Problème de connexion au serveur..." , #MB_ICONERROR):EndIf
result = POP3_Logon(username$, password$) ;identifer
If result = 0 :MessageRequester("Erreur!", "Problème d'identification..." , #MB_ICONERROR):EndIf
;================================================
FicIcon$="Gaby4.ico" ;ouvre ico dans le répertoire en cours
If OpenWindow(0, 0, 0, 0, 0,#PB_Window_Invisible,"MasterViewer")
CreatePopupMenu(1)
MenuItem(1,"Redonner code")
MenuItem(3,"A propos")
MenuItem(4,"Quitter")
AddSysTrayIcon(0, WindowID(0), LoadImage(0, FicIcon$))
EndIf
Repeat
;=============
nMessages = POP3_GetMsgCount()
If nMessages<> 0
For i = 1 To nMessages
result = POP3_ParseMsgHeader( i )
fieldText$ = POP3_HeaderSubject()
If fieldText$="MON SUJET": MessageRequester("MasterViewer","j'ai identifié mon SUBJECT et lancera le sous-programme"):EndIf
Next i
EndIf
;**********
;=================
Select WindowEvent()
Case #PB_Event_SysTray
DisplayPopupMenu(1, WindowID(0))
Case #PB_Event_Menu
Select EventGadgetID()
Case 1 ; Redonner code
MessageRequester("MasterViewer","Code d'identifaction : "+"xyz")
Case 3 ; A propos
MessageRequester("A propos de...","MasterViewer"+Chr(13)+"Gestionnaire d'identification a distance")
Case 4 ; Quitter
quit=1
EndSelect
EndSelect
Until quit=1
End
par contre :
username$ c'est bien mon adresse mail?
passeword$ c'est mon mot de passe de messagerie?
server$: ?
port:?
moi je dispose d'un identifiant de connexion, mot de passe de connexion, mon adresse mail, mon identifiant de messagerie, et mot de passe de messagerie
JE SUIS DESOLE MAIS LA DOC DE LA LIB EST PAS TRES BAVARDE ET DE TOUTE FACON C'EST QUE DE L'ANGLAIS ALORS J'ESSAIE DE COMPRENDRE MAIS C'EST PAS EVIDENT CAR DEJA JE DEBUTE AVEC PB ET J'AI JAMAIS ETE BON EN ANGLAIS
(merci pour votre aide!!)
Il se peut que ton username$ soit david.turquin et pas david.turquin@wanadoo.fr 

@david
Donc aprés
rajoute
comme demandé ici
Je ne connaissais pas cette Lib, moi je suis passé par autre chose sans Lib pour faire ce que tu cherches à faire!
Et même par un téléphone portable par MMS je déclenche via la boite mail l'application que je souhaite!
Mais vas-y david, tu y es presque!
Donc aprés
Code : Tout sélectionner
username$="david.turquin@wanadoo.fr"
password$="mon mot de passe messagerie"
Code : Tout sélectionner
server$=pop.wanadoo.fr
port=110
Code : Tout sélectionner
result = POP3_Connect(server$, port) ;connecter serveur
Et même par un téléphone portable par MMS je déclenche via la boite mail l'application que je souhaite!

Mais vas-y david, tu y es presque!

probleme de boucle ?
bon, je suis allé plus loin dans le programme que ce qui suit, mais il y a plein de petite choses qui ne fonctionnent pas mais que j'espère trouver seul...
dans ma sauvegarde précèdente :
si je lance le programme et qu'il n'y a pas de message il dit rien
si je lance le programme et qu'il y a des messages il dit messages!
par contre si je le lance qu'ili n'y a pas de messages et qu'au bout d'un moment il y en a qui arrivent il me dit rien, et c'est là que j'aurais souhaité qu'il me parle.....
probleme dans ma boucle?
dans ma sauvegarde précèdente :
Code : Tout sélectionner
username$="david.turquin"
password$="xyz"
server$="pop.wanadoo.fr"
port=110
result = POP3_Init() ;initilaiser
If result = 0 :MessageRequester("Erreur!", "Le programme n'a pas réussi à s'initialiser..." , #MB_ICONERROR):EndIf
result = POP3_Connect(server$, port) ;connecter serveur
If result = 0 :MessageRequester("Erreur!", "Problème de connexion au serveur..." , #MB_ICONERROR):EndIf
result = POP3_Logon(username$, password$) ;identifer
If result = 0 :MessageRequester("Erreur!", "Problème d'identification..." , #MB_ICONERROR):EndIf
;================================================
FicIcon$="Gaby4.ico" ;ouvre ico dans le répertoire en cours
If OpenWindow(0, 0, 0, 0, 0,#PB_Window_Invisible,"MasterViewer")
CreatePopupMenu(1)
MenuItem(1,"Redonner code")
MenuItem(3,"A propos")
MenuItem(4,"Quitter")
AddSysTrayIcon(0, WindowID(0), LoadImage(0, FicIcon$))
EndIf
Repeat
;=============
nMessages = POP3_GetMsgCount()
If nMessages<> 0 :MessageRequester("MasterViewer","j'ai des messages!!!")
For i = 1 To nMessages
result = POP3_ParseMsgHeader( i )
fieldText$ = POP3_HeaderSubject()
If fieldText$="MON SUJET": MessageRequester("MasterViewer","j'ai identifié mon SUBJECT et lancera le sous-programme"):EndIf
Next i
EndIf
;**********
;=================
Select WindowEvent()
Case #PB_Event_SysTray
DisplayPopupMenu(1, WindowID(0))
Case #PB_Event_Menu
Select EventGadgetID()
Case 1 ; Redonner code
MessageRequester("MasterViewer","Code d'identifaction : "+"xyz")
Case 3 ; A propos
MessageRequester("A propos de...","MasterViewer"+Chr(13)+"Gestionnaire d'identification a distance")
Case 4 ; Quitter
quit=1
EndSelect
EndSelect
Until quit=1
End
si je lance le programme et qu'il y a des messages il dit messages!
par contre si je le lance qu'ili n'y a pas de messages et qu'au bout d'un moment il y en a qui arrivent il me dit rien, et c'est là que j'aurais souhaité qu'il me parle.....
probleme dans ma boucle?
Pour ça il faut que tu utilises un timer qui relancera la vérification par intervalles de temps réguliers. sans timer la vérif se fait une fois et c'est tout.
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Pareil pour moi, j'aurais mis un timer pour réguler tout ça!
Et ça
je l'aurais mis dans la boucle avant ça
Au cas ou tu perds la connection à ton serveur! 
Un autre truc aussi concernant ton PopupMenu, c'est pas
mais

Et ça
Code : Tout sélectionner
result = POP3_Init() ;initilaiser
If result = 0 :MessageRequester("Erreur!", "Le programme n'a pas réussi à s'initialiser..." , #MB_ICONERROR):EndIf
result = POP3_Connect(server$, port) ;connecter serveur
If result = 0 :MessageRequester("Erreur!", "Problème de connexion au serveur..." , #MB_ICONERROR):EndIf
result = POP3_Logon(username$, password$) ;identifer
If result = 0 :MessageRequester("Erreur!", "Problème d'identification..." , #MB_ICONERROR):EndIf
Code : Tout sélectionner
nMessages = POP3_GetMsgCount()
If nMessages<> 0 :MessageRequester("MasterViewer","j'ai des messages!!!")
For i = 1 To nMessages
result = POP3_ParseMsgHeader( i )
fieldText$ = POP3_HeaderSubject()
If fieldText$="MON SUJET": MessageRequester("MasterViewer","j'ai identifié mon SUBJECT et lancera le sous-programme"):EndIf
Next i
EndIf

Un autre truc aussi concernant ton PopupMenu, c'est pas
Code : Tout sélectionner
Select EventGadgetID()
Code : Tout sélectionner
Select EventMenu()
ben, mon programme un peu plus avancé :
par contre j'essaie de l'appeler toutes les 3 secondes pour mon probleme cité plus haut (détecte au lancement mais pas en temps réel)
j'ai essayé de hum.... bon enfin j'ai pas fait que ça mais je peux pas vous montrer tous les trucs que j'ai fait et qui ne fonctionnent pas
là en fait j'assimile pas et je ne pourrais pas avancer la suite de mon pg sinon je vais m'y perdre
ps:merci de ne pas dire que c'est mal placé....
par contre je ne comprend pas pourquoi et il tourne toujours alors que je lui dis quand t'as vu
merci d'avance de votre compréhension, car je debute, et il y a toujours des choses qu'on maitrise mieux que d'autres....
cordialement
Code : Tout sélectionner
;CHARGER PARAM.TXT ;=============================================================================
If ReadFile(0, "Param.txt")
While Eof(0) = 0
protect1$= ReadString() ;met en mémoire moi pour contrôle si pas déplombé
protect2$= ReadString():protect2$= ReadString():protect2$= ReadString()
username$= ReadString():protect2$= ReadString():protect2$= ReadString()
password$ = ReadString():protect2$= ReadString():protect2$= ReadString()
server$ = ReadString():protect2$= ReadString():protect2$= ReadString()
port$ = ReadString():protect2$= ReadString():protect2$= ReadString()
subject$=ReadString()
Wend
CloseFile(0)
;
If protect1$ <> "MasterViewer - David TURQUIN @2008" ;vérif MOI tjs écrit 'dans param.txt'
MessageRequester("MasterViewer", "Le fichier 'param.txt' a été modifié sans autorisation" , #MB_ICONERROR)
MessageRequester("MasterViewer", "Première ligne = 'MasterViewer - David TURQUIN @2008'" , #MB_ICONERROR)
End
EndIf
Else
MessageRequester("MasterViewer", "Le fichier 'param.txt' n'a pas pu être chargé...", #MB_ICONERROR)
End
EndIf
port = Val(port$) ; Resultat recevra la valeur du port
nDejavu = 0
;INITIALISATION DU PROGRAMME ;=============================================================================
result = POP3_Init() ;initilaiser
If result = 0 :MessageRequester("Erreur!", "Le programme n'a pas réussi à s'initialiser..." , #MB_ICONERROR):EndIf
result = POP3_Connect(server$, port) ;connecter serveur
If result = 0 :MessageRequester("Erreur!", "Problème de connexion au serveur..." , #MB_ICONERROR):EndIf
result = POP3_Logon(username$, password$) ;identifer
If result = 0 :MessageRequester("Erreur!", "Problème d'identification..." , #MB_ICONERROR):EndIf
;FENETRE MENU DU PROGRAMME ;===========================================================================
FicIcon$="Gaby4.ico" ;ouvre ico dans le répertoire en cours
If OpenWindow(0, 0, 0, 0, 0,#PB_Window_Invisible,"MasterViewer")
CreatePopupMenu(1)
MenuItem(1,"Redonner code")
MenuItem(3,"A propos")
MenuItem(4,"Quitter")
AddSysTrayIcon(0, WindowID(0), LoadImage(0, FicIcon$))
EndIf
Repeat
;=============
nMessages = POP3_GetMsgCount()
If nMessages<> 0 And nDejavu = 0:MessageRequester("MasterViewer","j'ai des messages!!!")
For i = 1 To nMessages
result = POP3_ParseMsgHeader( i )
fieldText$ = POP3_HeaderSubject()
If fieldText$=subject$: MessageRequester("MasterViewer","j'ai identifié mon SUBJECT et lancera le sous-programme"):EndIf
Next i
nDejavu = 1
EndIf
;**********
;=================
Select WindowEvent()
Case #PB_Event_SysTray
DisplayPopupMenu(1, WindowID(0))
Case #PB_Event_Menu
Select EventGadgetID()
Case 1 ; Redonner code
MessageRequester("MasterViewer","Code d'identifaction : "+"xyz")
Case 3 ; A propos
MessageRequester("A propos de...","MasterViewer"+Chr(13)+"Gestionnaire d'identification a distance")
Case 4 ; Quitter
quit=1
EndSelect
EndSelect
Until quit=1
End
j'ai essayé de hum.... bon enfin j'ai pas fait que ça mais je peux pas vous montrer tous les trucs que j'ai fait et qui ne fonctionnent pas
là en fait j'assimile pas et je ne pourrais pas avancer la suite de mon pg sinon je vais m'y perdre
Code : Tout sélectionner
;CHARGER PARAM.TXT ;=============================================================================
If ReadFile(0, "Param.txt")
While Eof(0) = 0
protect1$= ReadString() ;met en mémoire moi pour contrôle si pas déplombé
protect2$= ReadString():protect2$= ReadString():protect2$= ReadString()
username$= ReadString():protect2$= ReadString():protect2$= ReadString()
password$ = ReadString():protect2$= ReadString():protect2$= ReadString()
server$ = ReadString():protect2$= ReadString():protect2$= ReadString()
port$ = ReadString():protect2$= ReadString():protect2$= ReadString()
subject$=ReadString()
Wend
CloseFile(0)
;
If protect1$ <> "MasterViewer - David TURQUIN @2008" ;vérif MOI tjs écrit 'dans param.txt'
MessageRequester("MasterViewer", "Le fichier 'param.txt' a été modifié sans autorisation" , #MB_ICONERROR)
MessageRequester("MasterViewer", "Première ligne = 'MasterViewer - David TURQUIN @2008'" , #MB_ICONERROR)
End
EndIf
Else
MessageRequester("MasterViewer", "Le fichier 'param.txt' n'a pas pu être chargé...", #MB_ICONERROR)
End
EndIf
port = Val(port$) ; Resultat recevra la valeur du port
nDejavu = 0
;INITIALISATION DU PROGRAMME ;=============================================================================
result = POP3_Init() ;initilaiser
If result = 0 :MessageRequester("Erreur!", "Le programme n'a pas réussi à s'initialiser..." , #MB_ICONERROR):EndIf
result = POP3_Connect(server$, port) ;connecter serveur
If result = 0 :MessageRequester("Erreur!", "Problème de connexion au serveur..." , #MB_ICONERROR):EndIf
result = POP3_Logon(username$, password$) ;identifer
If result = 0 :MessageRequester("Erreur!", "Problème d'identification..." , #MB_ICONERROR):EndIf
;FENETRE MENU DU PROGRAMME ;===========================================================================
FicIcon$="Gaby4.ico" ;ouvre ico dans le répertoire en cours
If OpenWindow(0, 0, 0, 0, 0,#PB_Window_Invisible,"MasterViewer")
CreatePopupMenu(1)
MenuItem(1,"Redonner code")
MenuItem(3,"A propos")
MenuItem(4,"Quitter")
AddSysTrayIcon(0, WindowID(0), LoadImage(0, FicIcon$))
EndIf
Procedure AlertThread(Parameter)
Repeat
;=============
nMessages = POP3_GetMsgCount()
If nMessages<> 0 And nDejavu = 0:nDejavu = 1:MessageRequester("MasterViewer","j'ai des messages!!!")
For i = 1 To nMessages
result = POP3_ParseMsgHeader( i )
fieldText$ = POP3_HeaderSubject()
If fieldText$=subject$: MessageRequester("MasterViewer","j'ai identifié mon SUBJECT et lancera le sous-programme"):EndIf
Next i
nDejavu = 1
EndIf
Delay(10000)
ForEver
EndProcedure
;**********
;=================
Repeat
CreateThread(@AlertThread(), 154)
Select WindowEvent()
Case #PB_Event_SysTray
DisplayPopupMenu(1, WindowID(0))
Case #PB_Event_Menu
Select EventGadgetID()
Case 1 ; Redonner code
MessageRequester("MasterViewer","Code d'identifaction : "+"xyz")
Case 3 ; A propos
MessageRequester("A propos de...","MasterViewer"+Chr(13)+"Gestionnaire d'identification a distance")
Case 4 ; Quitter
quit=1
EndSelect
EndSelect
Until quit=1
End
par contre je ne comprend pas pourquoi
Code : Tout sélectionner
If nMessages<> 0 And nDejavu = 0
Code : Tout sélectionner
nDejavu = 1
cordialement
Salut david,
Genre ton Thread...crée-le en dehors de ta boucle principale car dans ton cas tu recrées ton thread en continu
Un petit truc aussiremplace-le parpour pouvoir rendre la main à windows et éviter de faire ramer ton ordi pour rien!

Déclare ta variable en Global (en tout début de prog) pour pouvoir la lire et la modifier partout, même dans tes procédurespar contre je ne comprend pas pourquoiet il tourne toujours alors que je lui dis quand t'as vuCode : Tout sélectionner
If nMessages<> 0 And nDejavu = 0
Code : Tout sélectionner
nDejavu = 1
Code : Tout sélectionner
Global nDejavu
Ben si tu veux que ça marche...ps:merci de ne pas dire que c'est mal placé....
Genre ton Thread...crée-le en dehors de ta boucle principale car dans ton cas tu recrées ton thread en continu
Code : Tout sélectionner
CreateThread(@AlertThread(), 154)
Repeat
...
Until quit=1
Un petit truc aussi
Code : Tout sélectionner
Select WindowEvent()
Code : Tout sélectionner
Select WaitWindowEvent()
