Cómo hacer una pausa en la aplicación
Artículo por Club Developers · 31 diciembre 2005
5951 vistas
Existen dos maneras de hacer esto:
1. Usar el método Sleep
Sólo es necesario escribir Application.Sleep(tiempo) donde tiempo se especifica en milisegundos. Este método presenta la desventaja de no tratar los mensajes.
2. El método GetTickCount
El procedimiento GetTickCount nos informa sobre el número de milisegundos transcurridos desde la puesta en marcha del PC. El problema es que esta cantidad se almacena en un DWord y que, forzosamente llegará un día (49,7 días después del encendido del PC) en que volverá a cero. Para corregir este problema deberemos usar cardinales.
Es preferible la utilización de este segundo método debido a que no bloquea el proceso de los mensajes de Windows.
1. Usar el método Sleep
Sólo es necesario escribir Application.Sleep(tiempo) donde tiempo se especifica en milisegundos. Este método presenta la desventaja de no tratar los mensajes.
2. El método GetTickCount
El procedimiento GetTickCount nos informa sobre el número de milisegundos transcurridos desde la puesta en marcha del PC. El problema es que esta cantidad se almacena en un DWord y que, forzosamente llegará un día (49,7 días después del encendido del PC) en que volverá a cero. Para corregir este problema deberemos usar cardinales.
delphi
var Tc: Cardinal; begin Tc := GetTickCount; repeat Application.ProcessMessages; until Cardinal(GetTickCount - Tc) > {tiempo de espera en ms}; end;
Es preferible la utilización de este segundo método debido a que no bloquea el proceso de los mensajes de Windows.