![]() |
objeto timer
como puedo realizar una accion o un evento con el objeto timer?
me explico, lo que deseo hacer es, que despues de una fecha determinada, por ejemplo de hoy a un mes, me realice una accion o me llame una funcion el programa solo. me entienden?? alguien me ayuda? |
Tenes que guardar esa información en algun lado...un archivo, una base de datos, la registry...etc...
|
si pero yo no se usar el objeto timer
como hago que la accion se ejecute sola despues de un tiempo determinado? claro se que tengo que ir guardando |
En el único evento que tiene el timer vas preguntado si la fecha actual es mayor o igual que la fecha en que queres que ocurra tal evento, si es asi pones la propiedad Enabled del TTimer en False y ejecutas la acción que querias ejecutar.
Podes poner la propiedad Interval en digamos 60000.- |
voy intentar hacerlo ahora y te comunico el resultado
muchas gracias |
Hola, en el Timer tenes que establecer el intervalo que quieras y despues en el evento OnTimer vas chequeando si estas dentro de los "margenes de accion" :confused: . Si es así, llama a la otra aplicacion o hace lo que vos quieras.
Para manejar la fecha utiliza el procedimiento DecodeDate:
Con el parámetro Date le estas pasando la fecha actual, el procedimiento te va a devolver el año, el numero de mes y día en las variables correspondientes. Bueno, y despues de ahi tenés que hacer que se fije si esta dentro del margen de dias y si es asi hacer lo que quieras:
Bueno, espero que te haya servido. Bytes.. |
voy a intentarlo tambien
mil gracias |
la propiedad intervalo vendrian siendo los segundos??
|
Cita:
|
Los milisegundos. Fijate que la ayuda de Delphi lo explica bien.
|
intente todo lo que uds me dijeron y no me ha funcionado.
Lo que utilice para ejemplo fue un decodetime que me devuelve el tiempo actual.Esto lo hice en el formshow:
y luego puse esto en el ontimer :
y llegado el momento de las 6 horas y los 32 minutos no me salio el mensaje esperado. No se si estoy haciendo algo incorrecto. Que creen ustedes?? |
El timer otra vez
intente todo lo que uds me dijeron y no me ha funcionado.
Lo que utilice para ejemplo fue un decodetime que me devuelve el tiempo actual.Esto lo hice en el formshow:
y luego puse esto en el ontimer :
y llegado el momento de las 6 horas y los 32 minutos no me salio el mensaje esperado. No se si estoy haciendo algo incorrecto. Que creen ustedes?? |
no hay nadie que pueda darme una mano??
pleaseee |
DecodeTime lo tenes que poner dentro del evento del Timer, porque sino las variables horita y minutos siempre van a tener el valor de cuando se inició la aplicación y no se van a modificar en ningun momento.
|
Cita:
|
como kiera man
no me tira el mensaje esperado. puede ser que algun valor este obstruyendo el proceso? podria ser el intervalo? |
La propiedad Enabled del Timer esta en true?
|
yeah, esta en true por defecto
|
El problema es que a DecodeTime le estas pasando como parametro la fecha (Date) en lugar de la hora (Time).
Date te devuelve la fecha. Time la hora. Now la fecha y la hora juntos. Lo tendrias que hacer asi:
|
amigos, tengo que irme, seguire intentando en mi casa a ver de que manera podria resultar.
si algunos de uds logran dar con la solucion, por favor publiquenla aqui en este tema para ver si puedo continuar con la realizacion de mi sistema. mil gracias a todos por sus atenciones y por aportar sus conocimientos nos veremos manana |
ey, estoy intentado lo que me dijiste ahora nuevamente antes de irme
|
ey, todavia no me hace nada con el cambio del time por el date
|
A mi me funciona. Revisa el formato de hora si es 12 o 24.
Pone un showmessage de algo en el evento del timer para ver si esta funcionando, proba distintas cosas porque deberia funcionarte. Saludos... |
es 12 el formato de hora
|
Proba de la siguiente manera:
Crea una aplicación nueva, agega un Timer. En el evento OnTimer pone el siguiente codigo: Obviamente cambia el 8 y el 31 de la hora y los minutos por los actuales. En el evento OnCreate del Form pone esto:
Asi tiene que funcionarte. |
seguire intentando en casa
esto no se pk no me resulta y yo lo estoy haciendo igual que tu parece que tengo un gato negro cruzao hasta manana |
Ok nitido
el timer me hizo lo que queria, pero sucede que en mi casa el formato de mi compu es de 24 horas y la de aqui es de 12. Entonces, parece que con el formato de 12 tiene algun tipo de problema.
seria entonces que solamente la podria usar en ese formato?? el problema es que en mi pais el formato mas utilizado es de 12 horas, entonces que podria hacer?? |
creo que el problema esta en la parte de am y pm en el formato de 12 horas, pk hay que especificarselo pk las horas se repiten tanto de la noche como las del dia. Lo cual eso no sucede en el formato de 24 horas.
|
encontre parte de la solucion, que en si fue un error mio:
como esta computadora tiene el formato de 12 horas, entonces cometia el error de poner por ejemplo si eran las 5 de la tarde poner 5:00 pero deberia de poner en si 17:00 porque al parecer, no importa que el formato sea de 12 horas, para referirse a las horas es como si fueran de formato 24. gracias a todos, sotrono gracias especiales |
No he leido a fondo todos los mensaje, espero que esto sirva para algo.
El único problema que hay es que el Interval de un timer sólo puede aceptar un número en milisegundos, que equivale a 9 semanas (dia arriba, día abajo), por tanto:
Por cierto, usa siempre Tdatetimes poniendo fecha y hora, así puedes hacer los cálculos de fechas y horas correctamente. Carliviris das muy poca información en el hilo, todavía ni siquiera sé que estas intentando hacer, deberías replantearte el hilo y decir exactamente cuales son los objetivos del programa y como debe funcionar. Si lo hubieses hecho desde un principio, seguro que tendrías respuestas más claras y concisas. Saludos |
Tambien debes tranquilizarte un poquito, yo al menos, solo entro en el foro 1 vez al día, o 2 como mucho, de nada sirve ver mensajes como:
Cita:
Por favor, dedica 5 minutos a leerla y tendrás las claves para formular tus preguntas y obtener las respuestas que buscas. Saludos de nuevo. |
| La franja horaria es GMT +2. Ahora son las 17:42:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi