PDA

Ver la Versión Completa : añadir un pause


anubis
14-06-2007, 21:06:53
No se bien como se pone exactamente, pero necesitaba hacer un minibucle al que pudiera ponerle un pause o algo parecido para que vaya mas despacio, asi como en basic se podia hacer
for N:=255 to 0 step 0.1
pero aqui el step no deja.

habria otra forma de hacerlo?

Me explico, encontre un componente para hacer un form transparente en funcion de un valor, cuanto mas bajo es el valor mas se ve y cuanto mas alto mas transparente.
Pero si hago el for asi me dice que no, y sino pongo un temporizador pues ni se ve como va apareciendo el form.

Si les intersa el componente os lo subo.

egostar
14-06-2007, 21:09:18
Usa la funcion sleep

sleep(100);

Salud OS

Peterman
14-06-2007, 22:41:54
yo tambien utilizo el sleep para dormir la aplicacion... ten en cuenta que el parametro que va en su interior está en milisegundos... asi que para el bucle se detenga durante un segundo tendrías que poner:

sleep(1000)...

Bien, si lo que quieres es que el bucle se detenga pero que el programa en general no se bloquee podrías poner esto dentro del bucle:

Application->ProcessMessages();


Es una solución un poco penosa, pero bueno, mejor que nada...por si no me explicao bien, voy a volver a explicarlo: con el sleep se bloquea el hilo de tu programa...y si en ese tiempo quisieras pulsar , por ejemplo un boton, no podrías porque el hilo está dormido...pero si pones esa instrucción dentro del bucle...lo que se duerme solo es el bucle...y tu podrías hacer lo que quisieras con tu programa...más o menos asi funciona...ok?
:cool:

eduarcol
14-06-2007, 23:11:42
y porq no lo haces con el timer???

le pones el interval := 1000

y en el ontimer

Valor := Valor - 1;
if Valor = 0 then
Timer1.Enabled := false;

si va muy rapido subes el interval