PDA

Ver la Versión Completa : Programa con timer


Palermo
19-11-2007, 16:22:58
Pues soy novato y no se como hacer un ejercicio k nos han mandado en classe para hacer con el timer en delphi 6.

El ejercicio dice:

Hacer un reloj:
-Mostrar de forma digital la hora, minutos y segundos actuales que evidentemente se tiene que refrescar para mostrar la nueva hora.

Para hacerlo con edits como se hace?

Neftali [Germán.Estévez]
19-11-2007, 17:02:36
Para obtener la hora puedes uscar las funciones Now(), Date() y Time().
Para conseguir que se vaya refrescando, puedes hacerlo utilizando un Timer (aquí tienes una pequeña explicación (http://www.formauri.es/arrobamasmas/Cursos/index.php?apdo=0402&curso=4_02_00&cap=3j) de funcionamiento).


Revisa las funciones en la ayuda e intenta utilizarlas en un form. Si tienes problemas o dudas preguntalas aquí, e intenta ser más concreto.

Palermo
19-11-2007, 17:05:23
me puedes poner el codigo fuente de como se hace es ke no lo entiendo muy bien como va :S y me lio mucho... :S

Neftali [Germán.Estévez]
19-11-2007, 17:21:33
Lo siento.
Te puedo ayudar en lo que necesites y en las duidas que quieras, pero no te voy a resolver los ejercicios de clase...:(
Como te he dicho, inténtalo. Crea una aplicación nueva, coloca un Edit, revisa en la ayuda las funciones que te comenté o lee estas página donde tienes ejemplos muy sencillos del estuilo del tuyo:
* Ejemplo de Edit (http://www.formauri.es/arrobamasmas/Cursos/index.php?apdo=0402&curso=4_02_01&cap=3b)
* Curso básico (http://www.formauri.es/arrobamasmas/Cursos/index.php?apdo=0402&curso=4_02_00)
* Explicación del Timer (http://www.formauri.es/arrobamasmas/Cursos/index.php?apdo=0402&curso=4_02_00&cap=3j)
* ...


En la carpeta de Demos de Delphi, también tienes muchos ejemplos sencillos y básicos. Revísalos.

Caral
19-11-2007, 19:42:01
Hola Palermo
Neftali tiene razon al decirte que colabores con tigo mismo, osea que pongas algo de tu parte, hacer que un timer de la hora en un edit es un proceso muy sencillo, darte el codigo para que lo haga seria tan sencillo como dos lineas, pero aprenderas?.
Pon algo de codigo aqui, el que sea, la idea de lo que crees funcionaria, no importa que te equivoques lo que importa es que entiendas en que te equivocas asi aprenderas de verdad.
Piensa que si no entiendes, como podrias entender el codigo que se te de?, simplemente no aprenderias nada.
Coloca algo de codigo aqui, el que sea y te ayudaremos con gusto.
Saludos

Palermo
20-11-2007, 00:38:18
ya lo he hecho pero ahora tengo k sumarle horas a la hora actual y eso ya se complica pk no es sumandole 1 o 2 :S

FGarcia
20-11-2007, 04:20:38
Fabuloso!!

Que bueno que hayas decidido intentarlo y mejor aun que lo lograste. Ahora te recomiendo que veas la unidad DateUtils para lo que quieres.

Neftali [Germán.Estévez]
20-11-2007, 11:45:16
Ahora te recomiendo que veas la unidad DateUtils para lo que quieres.

Hay muchas funciones ahí, así que afinando un poco más lo que te ha comentado FGarcia, en concreto revisa la ayuda sobre IncHour, IncDay, IncMinute...
Permiten incrementar una determinada Fecha/Hora en un número determinado de Horas, Dias, Minutos,...

Si buscas esas funciones en los foros encontrarás que yahemos hablado anteriormente de ellas y encontrarás ejemplos de utilización.

Palermo
20-11-2007, 14:22:36
Lo que no se mucho komo hacer es que si son la 20 horas x ejemplo y le sumo 5 pues k me salga la 1 con el dia sumado...

Neftali [Germán.Estévez]
20-11-2007, 14:27:20
Si estás sumando campos de tipo Date/Time/DateTime debes usar las funciones mencionadas antes.
Si estás sumando sólo enteros, en ese caso debes utilizar la función MODULO (MOD).


((20 + 5) MOD 24) = 1;

Palermo
21-11-2007, 10:05:01
I para restar horas komo lo hago? para ke al llegar a 0 ....

Neftali [Germán.Estévez]
21-11-2007, 12:07:08
Cuando sea negativo, súmale 24, por ejemplo.

Cuando llegues a -1, si le sumas 24, llegas a 23 (que es el correcto).


if (Hora < 0) then begin
Hora := Hora + 24;
end;