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 18-09-2012
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Red face Contador de tiempo de una aplicacion

Buenas tardes amigos, tengo un problemilla y ya revise el foro pero nada, resulta que estoy haciendo un programa en el cual tengo timer pero quiero hacer que cuando se ejecute mi aplicacion empieze un conteo de cuanto tiempo llevar ejecutandose mi programa, pero nose como hacerlo ya que no quiero usar botones si no que se active al iniciar la aplicacion, entonces nose como empezar, espero me ayuden y gracias de antemano.
Responder Con Cita
  #2  
Antiguo 18-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Podrías activar el timer en el evento OnShow del formulario principal.

// Saludos
Responder Con Cita
  #3  
Antiguo 18-09-2012
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Ok, gracias amigo Roman, ahora te muestro codigo que tengo en el cual no encuentro como hacer para que empieze el conteo desde 00:00:00
ya que el codigo que tengo empieza pero con un conteo en retroceso.


CODIGO

Código Delphi [-]
procedure TCONTROLPHONE.Timer1Timer(Sender: TObject);
 begin
  Label3.Caption:= FormatdateTime('hh:mm:ss',StrToDateTime(Label3.Caption) -0.00001);

end;
Responder Con Cita
  #4  
Antiguo 18-09-2012
Avatar de Jal9000
Jal9000 Jal9000 is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 20
Poder: 0
Jal9000 Va por buen camino
Talking Respuesta a contador de tiempo

Buenas.

Hay varias maneras.

Para empezar, ya que parece que te gusta el timer, puedes ponerlo con Timer1.Interval:= 1000 (ms.) e ir contando las veces que se activa a base de incrementar una variable global dentro del evento OnTimer del Timer. Lo activas en el evento FormShow de la Form principal de tu programa haciendo Timer1.Enabled:= True o bien ya directamente en el propio inspector de objetos. Cuando te interese saber cuanto tiempo ha pasado echas cuentas del tiempo con la variable y ya está.

De todas maneras yo no me liaría tanto. Existe funciones y variables especiales para tiempo:

Puedes declarar una variable, llamémosla tiempo del tipo TDateTime. Al empezar el programa, por ejempo en el evento FormShow de la Form principal de tu programa,
haz tiempo:= Now;

Now es una funcion que te devuelve el instante actual (no voy a entrar ahora en qué formato) y luego, cuando te interese saber cuanto tiempo ha pasado haz
tiempo:= Now - tiempo; esto te dejará la variable tiempo cargada con el tiempo que ha pasado desde el principio.
A continuación añade DateUtils a tu lista de uses y usa el procedimiento
DecodeDateTime(const AValue: TDateTime;
out
AYear : Word;
out
AMonth : Word;
out
ADay : Word;
out
AHour : Word;
out
AMinute : Word;
out
ASecond : Word;
out
AMilliSecond : Word);poniendo la variable tiempo como valor para AValue. Obtendrás en las variables de salida el incremento de tiempo descompuesto en años, meses... hasta milisegundos. En realidad cuesta más de explicar que de hacer, pero creo que ya lo habrás pillado. Ten en cuenta que si tienes que mirar el incremento de tiempo varias veces, habrás de guardar la primera lectura de Now en una variable aparte, para que no se pierda.

He leido por algún sitio que hay una variable del estilo de tick que se inicia al arrancar Windows (o quizá la sesión, ahora no sé). Podrías leerla dos veces al estilo de la segunda solución, pero la verdad, no me acaba de gustar.

Saludos y que no decaiga (el ánimo...)
Responder Con Cita
  #5  
Antiguo 18-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Jal9000, bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración

Cuando necesites poner código, recuerda poner los tags al mismo, ejemplo:



Gracias

Por cierto, has hecho una buena explicación sobre el tema.
Responder Con Cita
  #6  
Antiguo 19-09-2012
Avatar de Jal9000
Jal9000 Jal9000 is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 20
Poder: 0
Jal9000 Va por buen camino
Red face Tomo nota de las buenas costumbres

Hola, Casimiro:

Tomo nota de las buenas costumbres. De hecho ahora buscaba un "Envolver para regalo" pero no existe...

Saludos
Responder Con Cita
  #7  
Antiguo 19-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Jal9000 Ver Mensaje
De hecho ahora buscaba un "Envolver para regalo" pero no existe...
No te preocupes, eliges color y te lo ponemos para ti
Responder Con Cita
  #8  
Antiguo 19-09-2012
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Listo amigos ya me quedo resuelto el problemilla que tenia, les pongo el codigo para futuras consultas


Código Delphi [-]
procedure TCONTROLPHONE.Timer1Timer(Sender: TObject);
 begin
 segundos := segundos + 1;
 Label3.caption := TimeToStr(segundos / (24*60*60));
end;

Y en el evento Onshow le puse este codigo

Código Delphi [-]
procedure TCONTROLPHONE.FormShow(Sender: TObject);
begin
 LongTimeFormat := 'hh:mm:ss';
 Label3.caption := TimeToStr(0);
 Timer1.enabled := true;
 segundos := 0;
end;

Y en la parte de private

Código Delphi [-]
private
    { Private declarations }
  segundos : longint;

y con eso me funciono lo que esta buscando, espero que les ayude a futuras consultas y gracias a todos.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aplicacion con contador de inactividad Kenobi Varios 1 19-03-2009 17:17:49
Contador de Tiempo decreciente en PHP / Javascript Adrian Murua PHP 2 18-10-2007 03:48:03
contador de tiempo principiante22 Varios 4 31-01-2007 22:05:25
Determinar el tiempo en mi aplicacion... Coco_jac Varios 3 06-06-2006 10:48:45
Contador de tiempo marceloalegre Varios 2 28-04-2005 19:53:01


La franja horaria es GMT +2. Ahora son las 20:27:10.


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