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.

roman 31-05-2007 22:11:42

:eek:

Código Delphi [-]
const
  S = 'con delphi todo parece más fácil pero a la hora de problemas todo es más dificil todo tiene su contraparte';

begin
  S := StringReplace(S, 'delphi', 'vb', [rfReplaceAll]);
end;

// Saludos

cHackAll 31-05-2007 22:20:19

Que?
 
No me vayan a decir que hubo otro error de "dedo" porque me pongo a llorar!!! Ahora si que no se que quiso decir nuestro compañero david!!!:p

Caral 31-05-2007 22:24:24

Hola
Lo que no me explico es que de todos modos se usa el tipo Timer, cual es la diferencia de usar el componente?:confused:
Esto del tiempo o recursos, estamos en el siglo 21, ya no hay maquinitas de juguete.:D
En tal caso no se pueda hacer por codigo casi lo mismo?
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
    Label1.Caption:= '';
    with TTimer.Create(nil) do
    try
    interval:= 1000;
    OnTimer:= Tiempo;
    finally
    end;
end;

procedure TForm1.Tiempo(Sender: TObject);
begin
     Label1.Caption:= TimeToStr(time);
end;
No se, me parece mucho lio para cuatro segundos o no se ni cuantos recursos.:D
Ademas creo que el evento ontimer se puede programar obtimizado, bueno vosotros los maestros lo sabreis mejor.:)
La verdad cuando se compara a VB con Delphi, me entra no se que.:mad: :D
Amo a Delphi.:) ;)
Saludos

egostar 31-05-2007 22:52:16

Cita:

Empezado por roman
:eek:

Código Delphi [-]const S = 'con delphi todo parece más fácil pero a la hora de problemas todo es más dificil todo tiene su contraparte'; begin S := StringReplace(S, 'delphi', 'vb', [rfReplaceAll]); end;


// Saludos

Amigo roman, tú simpre tan sutil en tus intervenciones.:D:D:D

Salud OS.

cHackAll 31-05-2007 22:56:51

Concuerdo
 
Concuerdo con ambas partes, mi parte esta más allegada a los que nos gusta hacer aplicaciones pequeñas y con poco uso de recursos, concuerdo tambien los que defendemos la parte que dice para que hacerlo de nuevo si ya está hecho! Ahora es otro tema adicional a esto la forma en que podemos plasmar nuestras ideas en el código fuente... sin duda alguna para actualizar una hora (por ejemplo) podemos hacerlo de media docena de formas pero tampoco es el caso, el hilo creo que lo comenzaron por una curiosidad la cual algun momento nos llega a todos.

Yo AMO al Delphi al igual que todos los miembros, es una herramienta muy BUENA pero estamos comparando algunas cosas que son vb6, y no tomamos en cuenta que tal cosa partió del Basic, Gwbasic y tantos otros BASICOS... sin duda que en su época el Delphi 5 y hasta el 4 se lo hicieron bolsa, pero el vb6 es un release del '98 y ese es un punto atenuante.

El vb.net es un mejor y mas digno competidor del Delphi (desde mi punto de vista), aunque tambien podríamos divagar y discutir (por ejemplo no me gusta su rigidez con los tipos de variables).

Depende mucho de cada uno, y nosotros nos quedamos con Delphi porque es super!!!

Caral 31-05-2007 23:11:52

Hola
La verdad es que cuando comence con esto ya hara un largo año, me compre vb6 por que me dijeron que era lo mejor y mas facil, compre varios libros y demas, pues este servidor, no entendio ni pio, ya casi en la desesperacion me compre Delphi 6 y un librito practico, me inscribí al club y he aprendido muchisimo, por lo menos me hice mi programa y funciona.
Para mi la diferencia en cuanto al concepto de programacion es abismal, por supuesto es la opinion de un novato no programador.
Saludos

david_uh 31-05-2007 23:19:03

En ambos entornos es sencillo si se sabe lo que se hace. en general la clave de todo esta en en meterse en el asunto es decir involucrarse en un proyecto y usar uno de los entornos es ahi donde valoras los pro y contras de cada uno de los entornos.
ejemplo en delphi no existe la alineación de el texto de un Tedit izq, der,centro en cambio en VB esta la propiedad aligment, como asi en delphi puedes darle íconos a tus menúes queno se puede en basic sino usando apis y asi un sin fin de cosas, personalmente he encontrado en delphi un entorno más maduro, y estable ademas de poseer un lenguaje bastante potente como lo es objet pascal y las ventajas de la POO, tampoco creo que sea cuestion de decir yo me quedo con delphi me parece que debemos ir explorando otros entornos y otros lenguajes y conocer nuevas fronteras (como escuche alguna vez )

cHackAll 31-05-2007 23:21:32

Con el vb6...
 
Cita:

Empezado por Caral
...por supuesto es la opinion de un novato no programador...

Pero para nada, creo que esa humildad me llega al alma. En ese caso me considero "novato + 1" o "novato++"... o si queremos Inc(Novato) pero opino lo mismo!!!

cHackAll 31-05-2007 23:29:00

Huuyyyyy
 
Cita:

Empezado por david_uh
...tampoco creo que sea cuestion de decir yo me quedo con delphi me parece que debemos ir explorando otros entornos y otros lenguajes y conocer nuevas fronteras (como escuche alguna vez)


Concuerdo, debemos explorar, pero siempre que el contexto asi nos lo obligue o el tiempo nos lo permita... cosa que no creo que suceda facilmente. Por eso y porque comparando Delphi siempre gana aunque sea por un punto seguiré defendiendo al lenguaje y al ClubDelphi!

Caral 31-05-2007 23:30:15

Hola
Te agradezco la palabras pero es la verdad, me digo novato por decir algo, al no ser un programador como tal, osea no haber estudiado de estas cosas o dedicarme a la programacion, me siento muy contento cuando maestros como tu y mas que estan en este club me alientan a seguir.
Delphi es una herramienta de trabajo fenomenal, practica y relativamente facil de aprender (yo pude).
Me gustaria ser programador, y conocer mas de esto, mira lo que es la vida.
Saludos

cHackAll 31-05-2007 23:34:22

Pero heyyy...
 
Creo que el certificado de estudios te lo deberiamos dar los del ClubDelphi, pues mi experiencia me dice que tus conocimientos son mayores a los que un buen grupo de titulados!

egostar 31-05-2007 23:37:44

Cita:

Empezado por david_uh
En ambos entornos es sencillo si se sabe lo que se hace. en general la clave de todo esta en en meterse en el asunto es decir involucrarse en un proyecto y usar uno de los entornos es ahi donde valoras los pro y contras de cada uno de los entornos.
ejemplo en delphi no existe la alineación de el texto de un Tedit izq, der,centro en cambio en VB esta la propiedad aligment, como asi en delphi puedes darle íconos a tus menúes queno se puede en basic sino usando apis y asi un sin fin de cosas, personalmente he encontrado en delphi un entorno más maduro, y estable ademas de poseer un lenguaje bastante potente como lo es objet pascal y las ventajas de la POO, tampoco creo que sea cuestion de decir yo me quedo con delphi me parece que debemos ir explorando otros entornos y otros lenguajes y conocer nuevas fronteras (como escuche alguna vez )

Ahhh, pero para eso esta nuestro amigo roman, quieres poder alinear un TEdit, bajate el componente de la página de roman.;)

Salud OS.

Caral 31-05-2007 23:43:58

Hola
Siempre he pensado que el titulo es lo de menos, aunque lo poseo y no de programacion en la vida lo que sirve es el conocimiento.
Gracias cHackAll, aqui lo que he conseguido mas que titulos es conocimiento gracias a los verdaderos maestros que hay en este club, ademas de verdaderos amigos.
Saludos

angara 30-07-2008 17:42:40

Necesito ayuda sobre los timer
 
Hola:

tengo un problema, se trata de los siguiente estoy realizando un programa para un ciber, todo lo referente al alquiler, ventas y calculos va bien pero mi problema es que en este ciber se agragan más PC. cada cierto tiempo y mi programa en principio era para solo cinco PC. ahora me dicen que pueden llegar acien, entoces se me presenta el gran problema. para controlar el tiempo. si un cliente prepago una hora debe ir restando en el programa servidor, los minutos transcurridos, tod va bien si se trata de cinco PC. pero con cien se imaginan la cantidad de timers y la gran cantidad de variables a usar. mi consulta es se podra realizar esto de otra forma.
gracias toda ayuda es bien venida

Fenareth 30-07-2008 21:30:50

¡ Hola angara ! :)

Un TTimer para cada PC ? :eek:... A mí se me ocurre que puedes guardar en una Tabla un identificador para cada PC, su hora de renta y la hora de vencimiento de la misma y entonces tal vez con un solo TTimer revisar cada minuto tal vez todas aquellas PC's que su campo vencimiento sea igual a la hora del sistema... de esta manera podrías de alguna manera informar que se ha vencido la hora pagada...

Probablemente (es casi seguro) alguien tiene otra sugerencia mejor para esto...

Saludos ;)


La franja horaria es GMT +2. Ahora son las 23:09:21.

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