Teimpo decreciente

Consultas sobre templates. Análisis de templates.
Responder
pablogustavof
Novato
Mensajes: 42
Registrado: Mar Oct 09, 2012 2:25 pm
Contactar:

Teimpo decreciente

Mensaje por pablogustavof » Mar Oct 09, 2012 6:09 pm

Hola, necesito crear un reloj decreciente en minutos y segundos para controlar el tiempo restante para una mesa de pool. El operador asigna los minutos por ejemplo: 20, 30 o 60 minutos y de alli necesito un cronometro decreciente que me muestre cuanto minutos y segundos quedan de juego en la mesa asignada, desde ya gracias. Pablo de Salta


Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1125
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: Teimpo decreciente

Mensaje por Mauricio » Mié Oct 10, 2012 12:16 pm

Hola, supongamos que tenés una ventana donde mostrás el reloj. Tiene un botón de Inicio, antes el operador asigna los minutos como vos decís.
La ventana tiene un timer, digamos cada 1 segundo (Timer = 100). Entonces, en cada evento timer, descontás 1 segundo a la hora seteada, cuando esta llega a 0 hacés sonar todas las alarmas. :)
Se entiende la idea?
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

pablogustavof
Novato
Mensajes: 42
Registrado: Mar Oct 09, 2012 2:25 pm
Contactar:

Re: Teimpo decreciente

Mensaje por pablogustavof » Mié Oct 10, 2012 12:42 pm

Puse el siguiente codigo en el timer, anda perfecto pero cuando llega a cero vuelve a empezar en negativo y no se como pararlo

case LOC:tp_as[1]
of 1 orof 20 orof 30 orof 60
LOC:ct_sg[1]=LOC:ct_sg[1]-1
If LOC:ct_sg[1]=-1
LOC:ct_mt[1]=LOC:ct_mt[1]-1
LOC:ct_sg[1]=59
.
LOC:tiemp=clip(LOC:ct_mt[1]-1) & ':' & clip(format(LOC:ct_sg[1],@n02))
?LOC:tiemp{PROP:FontColor}=COLOR:White
.

Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1125
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: Teimpo decreciente

Mensaje por Mauricio » Mié Oct 10, 2012 12:52 pm

Ejecutá todo en el timer solo cuando el tiempo sea mayor a 0. En el preciso instante en que llega a 0 mostrás un mensaje y le das al usuario la opción de resetearlo.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

pablogustavof
Novato
Mensajes: 42
Registrado: Mar Oct 09, 2012 2:25 pm
Contactar:

Re: Teimpo decreciente

Mensaje por pablogustavof » Mié Oct 10, 2012 1:30 pm

Gracias, ahora como saco la hora q tiene q finalizar ese turno de mesa, si tengo como datos la hora de inicio y la cantidad de minutos asignados?

Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1125
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: Teimpo decreciente

Mensaje por Mauricio » Mié Oct 10, 2012 1:53 pm

Supongamos que empezó a las 16:00 horas y tenés 45 minutos asignados, con lo cual va a terminar a las 16:45.
El tiempo, en Clarion, empieza a medianoche (valor 1) hasta las 23:59:59.99 (valor 8.640.000). La función clock() te devuelve el tiempo transcurrido desde la medianoche.
En Clarion la conversión es la siguiente:
1 segundo ----------> 100
1 minuto ----------> 6000
1 hora ----------> 360000
Entonces, si tu turno termina a las 16:45, tenés que hacer 16 x 360000 + 45 x 6000 = 6030000
Nuevamente, en el evento timer, preguntás:

Código: Seleccionar todo

IF Clock() > 6030000
    Message('Turno terminado')
END !IF
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

pablogustavof
Novato
Mensajes: 42
Registrado: Mar Oct 09, 2012 2:25 pm
Contactar:

Re: Teimpo decreciente

Mensaje por pablogustavof » Mié Oct 10, 2012 2:19 pm

Lo entendi, pero lo que quiero es lo siguiente:

hora de ingreso: 11:12:23
tiempo asignado: 20 minutos
hora en q se debe parar: ???? tengo q mostrar la hora de salida


gracias y mis disculpas...

Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1125
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: Teimpo decreciente

Mensaje por Mauricio » Mié Oct 10, 2012 5:35 pm

Tenés que convertir tu hora inicial a la forma de Clarion. Luego le sumás los minutos multiplicados x 6000 (que es la duración de 1 minuto en Clarion). Y así obtenés el resultado.
Más fácil aún, bajate un template gratuito llamado fsDates que tiene para sumar fechas y horas. :)
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

pablogustavof
Novato
Mensajes: 42
Registrado: Mar Oct 09, 2012 2:25 pm
Contactar:

Re: Teimpo decreciente

Mensaje por pablogustavof » Mié Oct 10, 2012 6:12 pm

gracias


Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados