Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Actualizar hora sin timer !!!! (https://www.clubdelphi.com/foros/showthread.php?t=44155)

david_uh 29-05-2007 23:25:04

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

roman 29-05-2007 23:34:41

No necesitas un timer para actualizar la hora, basta que pongas

Código Delphi [-]
Label1.Caption := TimeToStr(Now);

// Saludos

david_uh 29-05-2007 23:37:40

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

roman 29-05-2007 23:46:33

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

david_uh 29-05-2007 23:48:40

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

cHackAll 30-05-2007 00:53:34

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.

david_uh 30-05-2007 01:06:47

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

jhonny 30-05-2007 01:26:07

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?

david_uh 30-05-2007 01:28:03

no ninguna lo que pasa es que pienso yo que consume recursos al estar ejecutandose en todo momento, disculpen si les suena tonto eso.

jhonny 30-05-2007 01:33:01

Cita:

Empezado por david_uh
no ninguna lo que pasa es que pienso yo que consume recursos al estar ejecutandose en todo momento, disculpen si les suena tonto eso.

Disculpa, amigo, no quise hacerte pensar eso... lo que sucede es que quería saber si había alguna razón por la que yo no debería hacerlo, nunca lo hice con el animo de hacerte pensar una cosa asi, ni mucho menos. En cuanto a que consuma muchos recursos el hecho de colocar allí el TTimer pues, sinceramente y a mi parecer, no creo que consuma una cantidad de recursos a la que podamos llamar excesivos.

david_uh 30-05-2007 01:35:04

no de ninguna manera no es por loque dijiste sino porque creia que consume muchos recursos.
gracias por sus respuestas :)

cHackAll 30-05-2007 01:53:33

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!

karlaoax 30-05-2007 16:37:17

Cita:

Empezado por roman
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?
// Saludos

Estoy de acuerdo con Roman, como quieres que se actualice sin el timer??

Ok pon tu Codigo VB para analizarlo. :D

david_uh 31-05-2007 21:00:52

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 :)

cHackAll 31-05-2007 21:07:30

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!

david_uh 31-05-2007 21:09:06

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:

roman 31-05-2007 21:10:37

Entre más conozco VB más quiero a mi Delphi :rolleyes:

// Saludos

cHackAll 31-05-2007 21:20:15

Ok
 
Cita:

Empezado por roman
Entre más conozco VB más quiero a mi Delphi..

Te apoyo!!!!! yo programo para mi universidad en vb pues tienen licencia, y cuando no envuentro una simple "BringToFront" me quiero volver chango!...

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!

egostar 31-05-2007 21:40:51

Cita:

Empezado por cHackAll
Te apoyo!!!!! yo programo para mi universidad en vb pues tienen licencia, y cuando no envuentro una simple "BringToFront" me quiero volver chango!...

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!

Te concedo toda la razón, todo es válido mas no todo conviene.

QUE VIVA DELPHI y mis TULLIDOS DE ZAPOTITLAN.......:D:D:D

Salud OS

david_uh 31-05-2007 21:42:27

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 14:17:45.

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