| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
gizmo Lt JG

Registrado: 07 Feb 2003Mensajes: 54
|
Publicado: Jue 12 Jun, 2003 12:38 am Asunto: Controlar el TIEMPO |
|
|
Hola, tengo 2 preguntas sobre tiempos:
¿Alguien sabe qué tengo que hacer para que a medida que se vaya ejecutando mi programa poder ver lo que le queda para terminar por medio de una barra de progreso o algo similar?
¿Puedo saber de alguna forma en que fase se encuentra y por lo tanto el tiempo que emplea en ejecutar cada una de las partes?
Gracias! |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Jue 12 Jun, 2003 12:23 pm Asunto: Control de tiempos |
|
|
Para lo primero, saber lo que falta para terminar, sólo se me ocurre una barra de progreso (ProgressBar). Tú sabes por donde ha de pasar la ejecución y puedes ir controlando los incrementos de la barra. Por ejemplo:
Pon la barra (está en Win32) y si suponemos que la aplicación tiene 10 pasos, entonces: | Código: | ProgressBar1->Min = 0;
ProgressBar1->Max = 10;
ProgressBar1->Position = 0; |
y al terminar cada paso: | Código: | ProgressBar1->Position ++; |
La barra se actualiza de forma automática.
Lo segundo, en parte te lo va a dar la barra si la usas; ahora bien, lo del teimpo es relativo porque depende de muchos factores (velocidad de CPU, procesos en ejecución, etc.) _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
gizmo Lt JG

Registrado: 07 Feb 2003Mensajes: 54
|
Publicado: Jue 12 Jun, 2003 12:52 pm Asunto: ¿Puedo ver por pantalla un cronómetro? |
|
|
Hola de nuevo!(gracias por la respuesta)
Lo de la barra ya está solucionado pero ¿podría ver en pantalla como transcurre el tiempo? Es decir, una especie de cronómetro...para ver con exactitud lo que llevo, cuanto ha costado toda la operación... |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Jue 12 Jun, 2003 1:01 pm Asunto: Mostrar timepo |
|
|
¿Por qué no defines un elemento ListBox? Se me ocurre que podrías hacer lo siguiente, asociado a la barra: | Código: | ProgressBar1->Min = 0;
ProgressBar1->Max = 10;
ProgressBar1->Position = 0;
ListBox1->Items->Clear();
ListBox1->Items->Add("Empiezo a las: " + TimeToStr(Time())); |
y cada vez que actualices la barra: | Código: | ProgressBar1->Position ++;
ListBox1->Items->Add("Paso " + IntToStr(ProgressBar1->Position) + ": " + TimeToStr(Time())); |
y después del útltimo: | Código: | ListBox1->Items->Add("Acabo a las: " + TimeToStr(Time())); |
Al final te quedará una lista con todos los pasos y la hora de inicio. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
gizmo Lt JG

Registrado: 07 Feb 2003Mensajes: 54
|
Publicado: Jue 12 Jun, 2003 4:00 pm Asunto: Problemas con el Timer |
|
|
Hola de nuevo y gracias por la respuesta!!!
Al intentar hacer lo que me dices usando un timer tengo un problema (ya podéis perdonarme) y es el siguiente. Consigo ver por pantalla la hora...gracias a:
| Código: | void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
TDateTime DateTime = Time();
AnsiString str = TimeToStr(DateTime);
Edit11->Text = str;
} |
Necesito para recoger los tiempos de cada una de las partes como me comentas Ángel poder capturar en cada momento dichos tiempos. Lo intento de diversas formas (definiendo una variable global de tippo TDateTime y asignándolo en la función Timer1Timer...y siempre me sale reseteado a la misma fecha:30/12/1899
¿Qué hago mal?Supongo que será muy sencillo pero no acierto...
[/code] |
|
| Volver arriba |
|
 |
|