Admin Fondateur
Nombre de messages : 197 Age : 40 Localisation : Tlemcen ( Algérie ) Date d'inscription : 04/12/2006
| Sujet: Comment imposer une pause au programme ? Ven 12 Jan - 6:04 | |
| Il existe deux manières pour faire cela : 1. La méthode Sleep Il suffit de mettre Application.Sleep(duree_voulue) où duree_voulue est exprimée en millisecondes. Cette méthode présente le désavantage de ne pas traiter les messages. 2. La méthode GetTickCount La procédure GetTickCount nous informe sur le nombre de millisecondes écoulées depuis l'allumage du PC. Le problème est que cette quantité est stockée sur un DWord et que forcément un jour (49,7 jours après l'allumage du PC), elle va revenir à zéro. Pour corriger ce problème, nous allons donc utiliser des cardinaux.
- Code:
-
var Tc: Cardinal; begin Tc := GetTickCount; repeat Application.ProcessMessages; until Cardinal(GetTickCount - Tc) > {Temps d'attente en ms}; end; Cette méthode est à préférer, car elle ne bloque pas la distribution des messages extérieurs. | |
|