Teimpo decreciente
-
- Novato
- Mensajes: 42
- Registrado: Mar Oct 09, 2012 2:25 pm
- Contactar:
Teimpo decreciente
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
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: Teimpo decreciente
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?
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
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 42
- Registrado: Mar Oct 09, 2012 2:25 pm
- Contactar:
Re: Teimpo decreciente
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
.
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
.
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: Teimpo decreciente
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
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 42
- Registrado: Mar Oct 09, 2012 2:25 pm
- Contactar:
Re: Teimpo decreciente
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?
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: Teimpo decreciente
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:
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
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 42
- Registrado: Mar Oct 09, 2012 2:25 pm
- Contactar:
Re: Teimpo decreciente
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...
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...
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: Teimpo decreciente
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.
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
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 42
- Registrado: Mar Oct 09, 2012 2:25 pm
- Contactar:
Re: Teimpo decreciente
gracias
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 16 invitados