Warning: Undefined array key "DOKU_PREFS" in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/common.php on line 2082
fonction_periodique [Les recettes Python de Tyrtamos]

Outils pour utilisateurs

Outils du site


fonction_periodique

Warning: Undefined array key 4 in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/html.php on line 1453

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
fonction_periodique [2009/01/11 15:01]
tyrtamos créée
fonction_periodique [2009/01/11 15:11]
tyrtamos
Ligne 1: Ligne 1:
-====== Comment appeler une fonction périodiquement (toutes les XX secondes) ======+====== Comment appeler une fonction périodiquement (toutes les secondes) ======
  
 ===== Objectif ===== ===== Objectif =====
Ligne 5: Ligne 5:
 On voudrait qu'une fonction puisse être appelée toutes les x secondes avec les caractéristiques suivantes: On voudrait qu'une fonction puisse être appelée toutes les x secondes avec les caractéristiques suivantes:
  
-  * lancement de cette possibilité au moment choisi dans le déroulement du programme+  * lancement au moment choisi dans le déroulement du programme
  
   * la fonction doit pouvoir être appelée avec ses arguments définis à chaque lancement   * la fonction doit pouvoir être appelée avec ses arguments définis à chaque lancement
Ligne 11: Ligne 11:
   * le programme principal doit pouvoir poursuivre son déroulement normalement   * le programme principal doit pouvoir poursuivre son déroulement normalement
  
-  * on doit pouvoir stopper à volonté dans le déroulement du programme+  * on doit pouvoir arrêter à la demande dans le déroulement du programme
  
 ===== Codage proposé ===== ===== Codage proposé =====
Ligne 18: Ligne 18:
  
 L'appel à la méthode stop() permet d'arrêter un éventuel Timer en cours d'attente et d'empêcher une nouvelle boucle: le thread s'arrête donc. L'appel à la méthode stop() permet d'arrêter un éventuel Timer en cours d'attente et d'empêcher une nouvelle boucle: le thread s'arrête donc.
 +
 +Tel que programmée, la classe peut être placée dans un module.
 +
 +On peut sans difficulté modifier la durée de l'intervalle "à la volée". Il suffit d'affecter une autre valeur à t.duree, qui sera prise en compte à la prochaine boucle.
  
 <code python> <code python>
Ligne 45: Ligne 49:
             self.timer.cancel()  # pour terminer une eventuelle attente en cours de Timer             self.timer.cancel()  # pour terminer une eventuelle attente en cours de Timer
 </code>  </code> 
 +
 +===== Utilisation =====
  
 \\ \\
Ligne 51: Ligne 57:
 <code python> <code python>
 def affiche(ch, x="machin", y="truc"): def affiche(ch, x="machin", y="truc"):
-    print "top " + ' ' + ch + ' ' + x + ' ' + y+    print "top" + ' ' + ch + ' ' + x + ' ' + y
  
 def affiche2(*args, **kwargs): def affiche2(*args, **kwargs):
Ligne 103: Ligne 109:
  
 <code> <code>
-top  toto titi tata +top toto titi tata 
-top  toto titi tata +top toto titi tata 
-top  toto titi tata +top toto titi tata 
-top  toto titi tata +top toto titi tata 
-top  toto titi tata +top toto titi tata 
-top  toto titi tata +top toto titi tata 
-top  toto titi tata +top toto titi tata 
-top  toto titi tata +top toto titi tata 
-top  toto titi tata +top toto titi tata 
-top  toto titi tata+top toto titi tata
 top toto2 titi tata top toto2 titi tata
 top toto2 titi tata top toto2 titi tata
Ligne 139: Ligne 145:
  
  
 +<html>
 +<head>
 +<style type="text/css">
 +<!--
 +body {background-image:url(fondcorps.jpg);}
 +-->
 +</style>
 +</head>
 +<body>
 +</body>
 +</html>
  
fonction_periodique.txt · Dernière modification: 2009/01/11 16:24 de tyrtamos