![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
![]() No entiendo, ¿sabes lanzar la consulta cada segundo pero no cada cinco minutos? Es nada más cuestión de cambiar la propiedad Interval del timer: 5*60*1000 // Saludos |
|
#2
|
||||
|
||||
|
no se hacerloca da seguno automaticamente el timer lo hace, pues un timer lo tengo enlzadado a un label para que muestre la hora de esta manera:
procedure TForm11.Timer1Timer(Sender: TObject); begin label8.Caption:=timetostr(time); label4.Caption:=datetostr(date); end; El segundo label es para la hora. Y el segundo timer tengo este codigo, pero quiero que lo ejecute cada 5 minutos, de hecho no he encontrado como manejar eso de los intervalos. procedure TForm11.Timer2Timer(Sender: TObject); begin datamodule.DataModule1.Agenda3.SQL.Text:='select * from agenda where hora=(:valor) and fecha=(:valor2)'; datamodule.DataModule1.Agenda3.Params[0].Value:=label8.Caption; datamodule.DataModule1.Agenda3.Params[1].Value:=label4.Caption; datamodule.DataModule1.Agenda3.Open; if label8.Caption = dbedit1.Text then begin showmessage('Tarea pendiente'); end; end; procedure TForm11.Edit9KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin bitbtn3.SetFocus; end; end; |
|
#3
|
||||
|
||||
|
Pues eso, la propiedad Interval especifica cada cuanto se ejecuta el evento OnTimer (en milisegundos) Por defecto está en 1000 (1 segundo), por ello tienes que ponerle 5 (minutos) * 60 (segundos) * 1000 = 300000
// Saludos |
|
#4
|
||||
|
||||
|
Excelente, muchas gracias, una ultima pregunta el intervalo de 5 minutos a cada 5 minutos del sistema, o cada 5 minutos a partir de que se inicia la aplicación.
|
|
#5
|
||||
|
||||
|
Cita:
Luego de esto, se ejecutará cada cinco minutos. // Saludos |
|
#6
|
||||
|
||||
|
Cita:
En cuanto a lo del timer, para quede claro o más liado todavía El timer se activa tiene la propiedad Enabled que es la que dice si el reloj tiene que estar en marcha o no. Si está a True en diseño, al ejecutar la aplicación, arrancará el timer, con lo cual, a los 5 minutos de arrancar hará la consulta. Por contra, sino está en marcha el timer al arrancar la aplicación o lo has detenido por cualquier cosa, éste queda desactivado hasta que vuelvas tú a darle la propiedad Enabled a True. Espero quede más claro. No quiero decir que roman lo haya liado, alomejor lo he liado yo, pero en fin... Saludos |
|
#7
|
||||
|
||||
|
En cuanto a la lista en memoria:
Puedes pedir un listado de las tareas para hoy que devuelva cuanto falta para que llegue (ordenado ascendentemente), por ejemplo fecha_y_hora_de_la_tarea - now) así puedes establecer el intervalo del timer a esa cantidad. Solo se consulta al servidor una vez. En el evento Ontimer, la tarea ha caducado, lo muestras al usuario y vuelves a pedir la lista al servidor. En realidad no es una lista, al estar ordenado por el tiempo que falta, solo necesitas la primera tarea que caduque (1 registro). En caso de que alguien agregue/modifique una tarea para hoy, en el servidor haces un Post_event para que los clientes pidan de nuevo esa lista. Creo que será más eficiente que consultar cada 5 minutos, a menos que se esté continuamente añadiendo tareas para el mismo día desde muchos clientes. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Lectura continua de Archivo | friendspark | API de Windows | 2 | 02-02-2006 16:27:52 |
| Mendocino: continúa la dupla SAP-Microsoft | marcoszorrilla | Noticias | 0 | 28-04-2005 22:18:05 |
| Reproduccion continua de un video avi | alexmucho | C++ Builder | 1 | 09-09-2004 11:58:21 |
| Impresion continua de los campos de una tabla? | tayra | Impresión | 11 | 03-06-2004 21:15:41 |
| el problema continua! | merlin | Impresión | 1 | 15-01-2004 15:01:18 |
|