Autor Tema: Como Sumar horas  (Leído 3860 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ed3r

  • PIC10
  • *
  • Mensajes: 1
Como Sumar horas
« en: 13 de Abril de 2004, 20:59:00 »
Hola quisiera saber si alguien me puede enseñar  a hacer lo siguiente: (no se mucho, tengo el vb4)

Quiero que al hacer clic en un boton, por ejemplo uno que diga 30 ,dentro de 30 minutos me avise, o me salga un cartel. nose si me entienden, para un programa de cyber.

Muchas gracias espero que me respondan

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: Como Sumar horas
« Respuesta #1 en: 17 de Mayo de 2004, 18:54:00 »
Tenés que usar la funcion Timer que te devuelve un Single con el reloj de la máquina en segundos (no confundir con el control Timer). Entonces si guardás en una variable el valor actual de Timer, le sumás la cantidad de segundos que querés esperar y consultás cada un período (definido por un control Timer o en un bucle) cuanto falta...
Mas o menos sería algo así:
Abrí un nuevo proyecto, poné un control Timer con la propiedad Interval = 1, agregá un CommandButton y escribí esto en el código. Es para 5 segundos, podés modificarlo a gusto:

Dim actual As Single

Private Sub Command1_Click()
    actual = Timer
    Timer1.Enabled = True
   
End Sub

Private Sub Timer1_Timer()
    If Timer > actual + 5 Then
        MsgBox "Tiempo cumplido", vbOKOnly, "Listo"
        Timer1.Enabled = False
    End If
   
End Sub

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Como Sumar horas
« Respuesta #2 en: 17 de Mayo de 2004, 23:26:00 »
Como quieres activar el timer???
En la propia máquina o en remoto????

Yo tengo una estación de internet en mi local de copas, y me hice un programilla para que no se lien a tocar si no les doy la clave de apertura de tiempos... Pero solo funciona en modo local.. Tienes que ir a la máquina y ponerle la clave a manita... Eso si, me encargué de hacerme una función que generase un número diferente por cada pulsación...

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: Como Sumar horas
« Respuesta #3 en: 18 de Mayo de 2004, 11:03:00 »
El Timer se activa con el CommandButton tal comolo pidió Ed3d. Asumí que era un botón software porque habló de "hacer click". Pero el procedimiento es el mismo para adaptar a otros usos.

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Como Sumar horas
« Respuesta #4 en: 18 de Mayo de 2004, 16:33:00 »
pones un control timer en el formulario, le asignas el valor de contador de tiempo que precises...
algo así como el preescaler....

si quieres que este timer funciones, le poner la opción enable a true... y contará...
cada vez que se cumpla el tiempo del timer, entrarás en el procedimiento y hay es donde tendrás que hacer los calculoes necesarios para gestionar el tiempo de bloqueo para la estación...

tambien puedes habilitar el timer desde un command button
al pulsar sobre el command, le pones que habilite el timer

sub command_click ()
 timer1.enable = true
end sub

dentro de esta opción, creo que tendrías que validar la clave de acceso y si se cumple, activar el comparador del timer!!!

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: Como Sumar horas
« Respuesta #5 en: 18 de Mayo de 2004, 22:15:00 »
El problema es que el control Timer es de lo más impreciso. Por eso lo de la función timer... El control Timer seteado a 1 ms genera un evento entre 10 y 50 ms dependiendo de la Pc y el sistema operativo (Win 98, Xp, Me...) Y en tiempos mayores el error es menor pero se acumula. Depende de la precisión que demande el proyecto.

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Como Sumar horas
« Respuesta #6 en: 19 de Mayo de 2004, 09:39:00 »
Yo lo que hago en mi programa, que es lo que quiere hacer nuestro amigo, es checkear con un control timer cada 15 segundos, y lo que hago es comprar la hora actual del sistema con la de inicio de la sesión activa...

No hago un contador preciso de tiempo, sino que rastreo la hora hasta que se comple la premisa de bloqueo de estación..

Y claro está, tweakeo el sistema para que no se pueda cambiar la hora de ningún modo...

La verdad, es que hay tantas formas de hacerlo, como horas nos quitemos de dormir.

Un saludo


 

anything