Page 2 sur 2

Publié : sam. 15/déc./2007 10:21
par Jacobus
Je crois que tu utilises une ancienne version de PB en 3.9xx et il y a eu beaucoup de changement depuis. Tu peux quand même essayer ça, avec la gestion d'un timer. Utilises les api.

Ton code :

Code : Tout sélectionner

Global port, nDejavu
port = Val(port$) ; Resultat recevra la valeur du port
nDejavu = 0

Procedure GetMessages()
 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
EndProcedure

;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


;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")
   OpenSubMenu("Timer"); Crée un sous-menu dans le popup
     MenuItem(5,"Stop Timer")
     MenuItem(6,"Start Timer")
   CloseSubMenu()                    
  
  AddSysTrayIcon(0, WindowID(0), LoadImage(0, FicIcon$))
EndIf

 SetTimer_(WindowID(0),1,3000,@GetMessages()) ;relance la procédure toutes les 3000 millisecondes ou 3 secondes

Repeat

  Select WaitWindowEvent()
  
    Case #PB_Event_SysTray
      DisplayPopupMenu(1, WindowID(0))
      
    Case #PB_Event_Menu
      Select EventMenuID()

        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
        
        Case 5 ; Stop Timer
         KillTimer_(0,1)
         SetMenuItemState(1, 5, 1) ; case cochée
         SetMenuItemState(1, 6, 0) ; case décochée
         
        Case 6 ; Start Timer
         SetTimer_(WindowID(0),1,3000,@GetMessages())
         SetMenuItemState(1, 6, 1)
         SetMenuItemState(1, 5, 0)

          
      EndSelect
  EndSelect
 
Until quit=1
End