Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Tiempo de espera

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Tiempo de espera Responder citando

Esto lo suspende 2 segundos:

Sleep(2000);

Roberto Porcar
Club Builder

Volver arriba
Mensaje    Asunto: Tiempo de espera Responder citando

Hola a todos, me gustaría saber cómo puedo hacer para que un programa se suspenda durante un cierto tiempo, algo así como el sleep de Visual C++. Muchas gracias.
Volver arriba
Mensaje    Asunto: Tiempo de espera Responder citando

Hola Rafa,

El ejemplo que te ha puesto roberto es correcto, pero el inconveniente que tiene es que si tienes que esperar una gran cantidad de tiempo el programa parece bloqueado. A continuación te pongo una función que se espera una cantidad de tiempo determinada y si te interesa puedes poner o quitar la linea de Application->ProcessMessages (); para que el programa vaya procesando los mensajes que le lleguen.

void __fastcall Esperar (int Milisegundos)
{
TDateTime Hora;
unsigned short Horas, Minutos, Segundos, Milesimas;
int Transcurrido;

Hora = Time ();
do
{
(Time () - Hora).DecodeTime (&Horas, &Minutos, &Segundos, &Milesimas);
Transcurrido = (Minutos * 60000) + (Segundos * 1000) + Milesimas;
Application->ProcessMessages ();
}
while (Transcurrido < Milisegundos);

}


Un saludo,

Angel M. Aranguren

Volver arriba
Mensaje    Asunto: Tiempo de espera Responder citando

Solo queria puntualizar que en lugar de
usar la Funcion Time() y despues pasarla a milisegundos es mucho mas rapido y comodo,
utilizar la siguiente funcion del API
de windows:
DWORD GetTickCount(VOID)
Que devuelve directamente el numero de milisegundos que lleva el ordenador encendido.

Salud2 !!!

Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.