SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: roxiii en Martes 4 de Mayo de 2004, 02:58
-
hola :hola: , yo de nuevo :D , estoy haciendo un programita para controlar que mi usuario no cambie la hora del sistema pues es un sistema de control de personal y el problema que tengo es que a pesar de que realiza lo que quiero, controla la hora, cada 5 segundos revisa si a la hora anterior es igual a la hora actual, y si hay diferencia le da un aviso al usuario y vuelve a poner la hora de hace 5 segundos, pero cuando algun proceso hace tardar un poco a la maquina, ya salta el programa, y es molesto, ¿que anda mal?, o si alguien sabe de otra forma de bloquear que cambien la hora, porque si hay dos sistemas operativos en la maquina, tendra que estar instalado en el otro sistema tb, etc etc
Bueno un saludo a todos y gracias :comp:
-
me voy a esponder a mi misma, ya que era bastante sencillo, yo estaba controlando que las dos labels tengan exactamente la misma hora, cuando lo que debia hacer era controlar que no haya una diferencia mayor de 2 segundos, de manera que ahora reviso si mi label2 tiene mas 7 segundos que mi label1 y no solo 5, con eso se ha arreglado el molesto problema de cuando se retrasa un poco el programa porque hay otro proceso trabajando, pero sigue latente el problema de que si hay otro sistema operativo me cambien la hora en el otro sistema y vuelvan y marquen en el sistema en que esta instalado... :kicking:
-
He encontrado otro problema que espero me puedan ayudar a resolver, cuando se suspende el sistema y cuando la maquina esta trabajando hasta mas de la medianoche(eso paso anoche), el programa de control de hora me saca el mensaje porque las 23:59:59 y las 00:00:00 son horas diferentes, bueno y seria necesario que el sistema se entere cuando se suspende el sistema para que no moleste al reanudar la sesion, por favor alguien que me de una ayudita....!!! :(
-
Hola!
espero que hayas solucionado tu problema, de todos modos te comento que
la forma mas segura de impedir que el usuario te cambie la hora es mediante una rutina que compare la hora de la maquina en cuestion con la de un servidor (otra maquina que esta puesta en red y a la que el usuario no tiene acceso).
En general, la mayoria de los programas cliente-servidor, funcionan utilizando exclusivamente la hora del servidor para evitar problemas de ese tipo.
-
Bueno el punto es que justamente esta en la maquina servidor, la razon es que a veces deben enviar a un grupo del personal al campo, y generalmente llevan una sola maquina o por lo menos si llevan dos no llevan a alguien que se encargue de ponerlas en red, de manera que lo que se desea es que puedan llevar el control de ingreso y salida del personal en una sola maquina, creo que asi podras comprender mi situacion, debo poner algun control porque sino el personal puede manipular la hora para ingresar mas temprano y salir mas tarde... :guitar:
-
Para eliminar el problema de la media noche:
Antes de verificar si se cumple la diferencia de 7 segundos:
if Diferencia > 24h then
Diferencia = Diferencia - 24h
end if
El valor de 24h dependerá de si estás usando minutos, segundos, milisegundos...