Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-06-2004
cancerbero cancerbero is offline
Miembro
 
Registrado: jun 2003
Ubicación: sucre-Bolivia
Posts: 28
Poder: 0
cancerbero Va por buen camino
Talking Cronometro Timer

Saludos amigos..

Necesito realizar un cronometro para controlar el tiempo que tarda en procesar mi programa y quisiera hacerlo con un ttimer y luego mostrarlo en un
progressbar y en un label, agradeceria la ayuda..


atte.
cancerbero
Responder Con Cita
  #2  
Antiguo 23-06-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
En lugar de un timer, que es impreciso, mejor usa la funcion GettickCount el resultado de esa funcion la guardas en una variable justo al inicio de la tarea que deseas cronometrar y cuando termine, restas ese valor del que obtienes de nuevo con GetTickcount. Eso te da los milisegundos que han pasado.

Igualmente lo puedes hacer guardando la fecha y hora con la funcion Now(), y despues restarla al terminar la tarea.

Como en principio no sabes cuanto va a tardar en realizar la tarea, lo del progressbar yo no lo haría.

Saludos
Responder Con Cita
  #3  
Antiguo 24-06-2004
igest2000 igest2000 is offline
Miembro
 
Registrado: may 2003
Ubicación: Oviedo
Posts: 47
Poder: 0
igest2000 Va por buen camino
Como dice lepe tienes varias alternativas al TTimer y sobre todo debes tener mucho cuidado con lo de ir mostrando el avance en una barra de progreso. A menos que sepas el tiempo que se tarda en realizar la tarea, es dificil determinar el avance de la misma, eso si en caso de saberlo te interesaria un TTimer, ya que con este puedes ir controlando en todo momento el progreso, mientras que si usas las funciones que te comentaba lepe, solo peudes calcular el tiempo desde el principio hasta el final.

Si persistes en usar el TTimer, en el evento onTimer deberias hacer que la barra de progreso fuese avanzando teniendo en cuenta la cantidad de trabajo que tienes realizada. Así por ejemplo si tienes cuatro tareas, puedes hacer que cuando vayas acabando cada una de ellas la barra de progreso avance un 20%.

ejemplo de codigo:


procedure TTImer1.onTimer(..)
begin
case tarea of
1: begin
progresBar1.progres:=20;
end;
2: begin
progresBar1.progres:=40;
end;
3: begin
progresBar1.progres:=60;
end;
4: begin
progresBar1.progres:=80;
end;
end;

En este ejemplo se usa la variable global tarea, que a medida que se vayan ejecutando los procesos, iras ampliandola, de forma que cuando el TTimer compruebe su valor, puedas determinar en que estado de progreso estas.

Espero te sirva de ayuda.
__________________
=================
El destino esta marcado
y ellos lo saben.
=================
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:22:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi