| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
jvierb
Registrado: 26 Jul 2005 Mensajes: 6 Ubicación: Vitoria
| Publicado: 27/07/2005 3:23 pm | | | Título: [b]delay() [/b]en Borland C++ 5 |
| Hola
Tengo un programa escrito desde hace tiempo que compilé con Turbo C. En él utilizaba la función delay(). Ahora me gustaria modificarlo pero con Borland 5 no me admite esa función. Agradeceria si alguien me puede indicar una funcion semejante o una libreria que me permita usar dalay() para este compilador. Muchas gracias a todos |
|
| Volver arriba | |
 |
Luis_Cervantes

Registrado: 18 Abr 2005 Mensajes: 37 Ubicación: México DF
| Publicado: 27/07/2005 4:09 pm | | | Título: |
| Lo que se me vino a la mente, es lo siguiente:
| Código: | #define MAX 1000000 long i;
for(i=0; i <MAX; i++);
|
Quizas el codigo anterior pueda generarte un retardo, si es asi, puedes variar el retardo producido, cambiando el valor de la constante MAX. _________________ "En tiempos de siembra aprende, en la cosecha enseña, y en el inviemo goza"
"El camino del exceso lleva al palacio de la sabiduría"
|
|
| Volver arriba | |
 |
jvierb
Registrado: 26 Jul 2005 Mensajes: 6 Ubicación: Vitoria
| Publicado: 28/07/2005 4:30 pm | | | Título: |
| Hola otra vez
Escribo para decir que he encontrado una solución al problema que espuse ayer y para agradecer a la gente que ha colaborado.
La solución ha sido crear una funcion que se estará ejecutando tantos milisegundos como se le indique, a efectos practicos parara la ejecucion de todo lo demas mientras se ejecute esta funcion, o sea, como delay()`. Para hacer la función he utilizado time.h
El codigo de la funcion lo pongo mas abajo por si a alguien puede venirle bien:
#include <time.h>
//temp valor en milisegundos que queremos que dure la ejecucion
void espera(float temp) { time_t t1;
t1=clock(); while((float)(clock()-t1)<temp); } |
|
| Volver arriba | |
 |
|
Alejandro_
Registrado: 26 Mar 2005 Mensajes: 252 Ubicación: Buenos Aires
| Publicado: 29/07/2005 8:24 am | | | Título: delay |
| Hola; Ten en cuenta que mantener al procesador ocuado, generando calor, y quitándole recursos para otras tareas, y todo eso sólo para hacer que pase el tiempo, no parece muy razonable, ¿verdad?.
Bien, éso es precisamente lo que hace "delay()", que no es una función propia del lenguaje (es, en cambio, una extención de algunos compiladores), y que afortunadamente el compilador de Borland ya no tolera.
Una opción más decente puede ser la función Sleep() de <windows.h>
Alejandro |
|
| Volver arriba | |
 |
jvierb
Registrado: 26 Jul 2005 Mensajes: 6 Ubicación: Vitoria
| Publicado: 30/07/2005 5:53 am | | | Título: |
| Hola una vez mas
Pues sí, tienes razon en que no es una buena manera de generar un retardo. Pero es lo único que se me ocurrió.
No sabía que existia Sleep() en C. Sólo lo habia utilizado en Java. me será muy util de ahira en adelante. Muchas Gracias! |
|
| Volver arriba | |
 |
Vejin
Registrado: 20 Feb 2007 Mensajes: 3
| Publicado: 20/02/2007 6:49 am | | | Título: Problemas con Delay y Sleep |
| | Hola a todos, tengo un ligero problema con sleep, necesito q un programa se detenga durante 250 milisegundos, pero sleep solo m admite segundos... alguien podria echarme una mano? gracias. |
|
| Volver arriba | |
 |
|
cheroky
Registrado: 22 Sep 2005 Mensajes: 1372 Ubicación: En ecx esperando un call
| Publicado: 20/02/2007 7:17 am | | | Título: |
| Sleep, de windows.h recibe un entero indicando el numero de milisegundos de retardo, por tanto deberia valerte.
En el caso de que fuera sleep de unistd.h, efectivamante lo indicado es en segundos, en este caso utiliza usleep, teniendo en cuenta que esta ultima el argumento viene a indicar el numero de microsegundos.
S2. _________________ - Explícito es mejor que implícito. - Simple es mejor que complejo. - Complejo es mejor que complicado. - Plano es mejor que anidado. - Ralo es mejor que denso. |
|
| Volver arriba | |
 |
Vejin
Registrado: 20 Feb 2007 Mensajes: 3
| Publicado: 20/02/2007 9:42 am | | | Título: Mas problemas con Sleep |
| | Hola de nuevo y gracias por la informacion, pero no m aparecen ni windows.h ni unistd.h, alguna idea? gracias. |
|
| Volver arriba | |
 |
cheroky
Registrado: 22 Sep 2005 Mensajes: 1372 Ubicación: En ecx esperando un call
| Publicado: 20/02/2007 11:56 am | | | Título: |
| Si que al menos aportes informacion sobre el compilador/plataforma.
S2. _________________ - Explícito es mejor que implícito. - Simple es mejor que complejo. - Complejo es mejor que complicado. - Plano es mejor que anidado. - Ralo es mejor que denso. |
|
| Volver arriba | |
 |
|
Vejin
Registrado: 20 Feb 2007 Mensajes: 3
| Publicado: 20/02/2007 1:44 pm | | | Título: Plataforma y compilador |
| | Cierto, esas cosas suelen resolver muchas cuestiones, ejecuto el compilador en un W98 y el compilador es el que viene con el Borland C++ 5.0A |
|
| Volver arriba | |
 |
cheroky
Registrado: 22 Sep 2005 Mensajes: 1372 Ubicación: En ecx esperando un call
| Publicado: 20/02/2007 3:00 pm | | | Título: |
| Es extraño, creo recordar que ese compilador es para windows, por tanto deberia tener funciones del api como Sleep.
S2. _________________ - Explícito es mejor que implícito. - Simple es mejor que complejo. - Complejo es mejor que complicado. - Plano es mejor que anidado. - Ralo es mejor que denso. |
|
| Volver arriba | |
 |
|
|