![]() |
Actualizar hora sin timer !!!!
alguien quizas sepa como se puede actualizar la hora enun label de un form si usar un timer ????
Gracias de antemano or cualquier aporte |
No necesitas un timer para actualizar la hora, basta que pongas
// Saludos |
No estático
El problema es que se queda estática la hora no se actualiza lo que deseo es que se vea lo mismo que un relojo digital normal que a cada segundo cambie y se actualize pero como repito sin usar timer
Gracias |
Y si quieres que se actualice cada segundo, ¿cómo esperas hacerlo sin algo que esté revisando cada segundo la hora?
No es por molestar, pero es que llama la atención este tipo de preguntas. ¿Cuál es el problema con usar un Timer? Lo único que se me ocurre es que uses una componente ApplicationEvents y programes la actualización en su evento OnIdle. // Saludos |
mi pregunta se debe a que vi un codigo en basic que se ejecutaba en el load luego este actualizaba la hora sin necesidad de un timer por eso iba mi pregunta si se puede hacer eso pero con delphi
|
Yo digo...
Por que no nos muestras el código en vb... sería interesante analizarlo. Pero sin duda concuerdo con roman, Si o Si debe llamarse a una funcion API del Güindos para leer la hora "actual"... eso si no lo haces en Delphi con un TTimer puedes hacerlo con la API del mismo Timer "SetTimer", o con un TThread... si no nos gusta pues usas la API CreateThread... pero el código en vb hace algo de esto SI o SI.
|
me parece que si con apis de win algo que vi en los comentarios del fuente estaba en inglés decia backcall function pero si, habian funciones de windows no lo tengo el código. Gracias por sus aportes y por responder tan rápido
|
Una pregunta solo por curiosidad, ¿hay alguna bronca con el TTimer?, mejor dicho ¿Cual es la razón de no quererlo tener dentro de un proyecto?
|
no ninguna lo que pasa es que pienso yo que consume recursos al estar ejecutandose en todo momento, disculpen si les suena tonto eso.
|
Cita:
|
no de ninguna manera no es por loque dijiste sino porque creia que consume muchos recursos.
gracias por sus respuestas :) |
Pues SIP
Concuerdo con ambas partes, tengo el grave problema del ahorro de "bits" y se que si consume recursos... TODO consume recursos en diferentes medidas.
Un Timer consume los recursos del propio hilo "padre" que procesa los mensajes de la aplicacion y todo el bollo... si a éste le pones un "Sleep (5000);" en cada OnTimer pues tu aplicación parecerá colgada por 5 segs. cada Interval de tiempo.. por eso el del "Application.ProcessMessages"... si hablamos de clases y memoria pues el Timer estará utilizando tambien sierto espacio. Utilizando un Thread... pues no tendrás dicha aventualidad, pero si tienes que tener en mente que el propio S.O. estará asignandole un espacio en memoria donde residirá, tendra las variables locales (del hilo) y otros. tambien estará ejecutandose todo el tiempo. Yo me siento un poco mas tranquilo cuando analizo cuánto mejoraron las PCs, además veo que teniendo varios centenares de Threads ejecutandose todo el tiempo no pasa nada de escasez de recursos. ("Administrador de tareas, Procesos, Número de subprocesos" * Procesos a cada instante!!!) Sin duda el uso del un Timer o del Thread depende mucho del caso de la necesidad que veas de usar uno o el otro. Saludos! |
Cita:
Ok pon tu Codigo VB para analizarlo. :D |
Ok gracias por sus aportes ya encontre la forma de actualizar la hora pero esto sin usar el control TTimer de delphi:
primero creamos este procedimiento Código Delphi [-] procedure TimerProc(hwnd : hwnd; uMsg: UINT; idEvent: UINT; dwTimer: DWORD); stdcall begin case idEvent of 2000: begin showmessage('id 2000 bitch'); end; 2001: begin showmessage('id 2001 hoe'); end; end; los numero 200 y 2001 son los manejadores de cada evento timer que queramos en este caso del ejemplo solo manejo dos eventos (200 y 2001) Con este còdigo establezco un timer cuyo manejador es 2001 por 3000 ms Código Delphi [-]SetTimer(handle,2001,3000,@Timerproc) y para detener el timer lo hago así Código Delphi [-]KillTimer(handle,2001) el ejemplo lo encontre en esta pagina Espero les sirva gracias por sus respuesas :) |
ahhh
Pero compañero! eso mismo es lo que hace el TTimer... esas son solo las APIs! pero bueno la cosa es que funciona!
Saludos! |
si lo que pasa es que debi decir sin usar TTIMER en lugar de TIMER, en todo caso existirá alguna ventaja en usar las apis? :confused:
|
Entre más conozco VB más quiero a mi Delphi :rolleyes:
// Saludos |
Ok
Cita:
QUE VIVA DELPHI Ahora ventajas? como yo estoy casi obsecionado en ahorrar bits... con las APIs sabes exactamente lo que haces, con la VCL tambien pero hay algunas cosas que no se aplican a necesidades muuuy especificas (como hacer una aplicacion sin GUI como virus o cracks y otros). Pero si usas un Form, etc, etc... para que amargarte teniendo que rehacer la rueda? Saludos! |
Cita:
QUE VIVA DELPHI y mis TULLIDOS DE ZAPOTITLAN.......:D:D:D Salud OS |
con delphi todo parece más fácil pero a la hora de problemas todo es más dificil todo tiene su contraparte.
|
La franja horaria es GMT +2. Ahora son las 06:35:34. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi