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 04-01-2012
Hayton Hayton is offline
Miembro
 
Registrado: ene 2008
Posts: 18
Poder: 0
Hayton Va por buen camino
Ejecutar 2 timers a la vez

Hola, chicos he buscado y no he encontrado nada de esto, por eso os lo pregunto a ver si alguno lo sabe hacer.

Lo que quiero es que 2 timers se ejecuten simultaneamente, conforme lo tengo ahora se ejecuta uno y despues el otro.

Código:
procedure TForm1.Label2Click(Sender: TObject);
begin

  timer1.Enabled:=true;
  timer2.Enabled:=true;

end;
Gracias y saludos.
Responder Con Cita
  #2  
Antiguo 04-01-2012
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Todo en informática es secuencial. La diferencia entre el primer timer y el segundo serán milésimas de segundo...

Lo que haces es habilitar los timers. Eso es como poner una alarma y que esa alarma llame a una función cuando llegue el momento.

Si los dos están puestos a 5 segundos, el primero ejecutará su sección OnTimer unas milésimas de segundo antes que el otro, siempre y cuando el primero no colapse la cpu.

¿Cuál es el problema?
Responder Con Cita
  #3  
Antiguo 04-01-2012
Hayton Hayton is offline
Miembro
 
Registrado: ene 2008
Posts: 18
Poder: 0
Hayton Va por buen camino
Los timers los tengo a 200 milisegundos, y mis acciones son:

Un timer aumenta la propiedad height de 2 en 2 de un componente hasta un tope, y el otro disminuye la misma propiedad de otro componente hasta otro tope. Cuando llegan al tope se desactivan.

De manera que da la sensacion que el que se hace mas grande se despliega y el que se hace mas pequeño se repliega. El problema es que quiero que se haga todo a la vez, uno que se agrande y el otro que encoja. Y lo que ahora sucede es que primero encoge uno y luego agranda el otro.
Responder Con Cita
  #4  
Antiguo 04-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Parece problema del programa, pon el código fuente que lo veamos
Responder Con Cita
  #5  
Antiguo 04-01-2012
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Yo pondría un solo timer:
Código Delphi [-]
procedure TForm1.Label2Click(Sender: TObject);
begin
  timer1.Enabled:=true;
end;

procedure TForm1.OnTimer1
begin
   // Deshabilito el timer por si tarda demasiado en ejecutarse
   Timer1.Disable;

   // Hago cada cosa dos veces para evitar errores por si queda Top negativo
   if (Componente1.Top > 0) then
      componente1.Top = Componente1.Top - 1;
   if (Componente1.Top > 0) then
      componente1.Top = Componente1.Top - 1;

   // Hago cada cosa dos veces por si el tope es impar
   if (Componente2.Top < Tope) then
      componente2.Top = Componente2.Top + 1;
   if (Componente2.Top < Tope) then
      componente2.Top = Componente2.Top + 1;

   // Hago que la aplicacion refresque la pantalla
   Application.ProcessMessages;

   // Vuelvo a habilitar el timer si corresponde
   if ((Componente1.Top > 0) or (Componente2.Top < Tope)) then
      Timer1.Enable;
end;
Responder Con Cita
  #6  
Antiguo 05-01-2012
Hayton Hayton is offline
Miembro
 
Registrado: ene 2008
Posts: 18
Poder: 0
Hayton Va por buen camino
Ok, gracias. Me ha servido.

Saludos.
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 php 4/5 con timers JXJ PHP 5 19-12-2008 21:01:58
Timers Concurrentes bermubermu Varios 2 12-11-2007 09:39:24
Demoras en los Timers JULIPO Varios 2 30-07-2007 19:26:35
Evitar los timers zugazua2001 Varios 5 17-06-2005 11:11:55
Timers b3nshi Varios 5 07-04-2005 01:48:40


La franja horaria es GMT +2. Ahora son las 14:13:59.


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