Lo que necesito hacer es lo siguiente, un aplicación con este formato 00:00:00 (eso lo se hacer no hay problema), y que empiece a tomar esta apariencia 00:00:01, 00:00:02, 00:00:03. ... 00:00:60, 00:01:00 (son horas, minutos y segundos), te explico un poco más, lo necesito para cobrar por el uso de un computador que arriendo por horas, quiero saber como puedo hacer avanzar esto de segundo en segundo, cuando llegue a 60 sumar un minuto y así también con las horas.
Si me puedes ayudar te estarne muy agradecido (
1 Respuesta
Respuesta de aldob
1
1
aldob, Ingeniero en Sistemas con amplia experiencia en desarrollo de...
Bueno ahora es otra cosa. Con esto que me acabás de explicar la cosa cambia un poco. Lo que yo haría es una ventana con un control dw. En el control dw pondría una dw externa con los campos para el reloj según el formato que le quieras dar (yo pondría estas columnas: minuto, hora, asignado(este último invisible)). En el open de la ventana o en un botón o en una función a la que que puedas acceder desde afuera invocá a la función Timer(60). Esto hace que se ejecute el evento timer de la ventana cada 60 segundos (si ponés cero (0) el timer se detiene) En el evento TIMER codificá algo así: //Este evento se va a disparar cada 60 segundos así que acá podes actualizar el reloj y //validar si se venció el tiempo asignado integer li_min, li_hora li_min = dw_1.object.minuto[1] + 1 //el valor de minuto en la dw lo seteas inicialmente a 0 cada vez que asignás un tiempo a alguien li_hora = dw_1.object.hora[1] dw_1.object.asignado[1] = dw_1.object.asignado[1] - 1 IF Mod(li_min, 60) = 0 THEN //cambio de hora li_min = 0 li_hora ++ END IF dw_1.object.minuto[1] = li_min dw_1.object.hora[1] = li_hora //acá podés validar si se le venció el tiempo asignado IF dw_1.object.asignado[1] = 0 THEN messagebox("atención", "se acabó el tiempo") timer(0) //para detenerlo END IF Notas: El código lo puse a modo de ejemplo y no tuve oportunidad de probarlo, probablemente tenga algún bug en la lógica y la sintaxis. Considerá que mostrar los segundos en el reloj, (especialmente si es para mostrar el tiempo transcurrido en un alquiler) distrae e incluso molesta. Por este motivo te diría que te concentres en los minutos y horas. No creo que alquiles uso de pc en segundos y sí en períodos de minutos. Podes poner los segundos durante el último minuto. Yo llevaría el tiempo asignado en minutos y no en horas y minutos ej: 10; 30; 60; 75; 90