Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-08-2006
zfer zfer is offline
Registrado
 
Registrado: ago 2006
Posts: 5
Poder: 0
zfer Va por buen camino
Hora del Sistema (Bios) no de Windows

Estoy haciendo un sistema de control de horario para empleados.
Necesito tomar la hora de la BIOS o Sistema, no del reloj de Windows para que los usr no puedan cambiarla.

Porfavor quien pueda ayudarme estaré muy agradecido Saludos. zfer
Responder Con Cita
  #2  
Antiguo 11-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Quizas diga una estupidez, pero tengo entendido que Windows toma la hora y fecha del Bios.

Saludos
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 11-08-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
La fecha de windows y la de la bios es la misma. Prueba a usar cuentas de usuario limitadas, este tipo de usuarios no tienen permiso para cambiar la hora del sistema.
Responder Con Cita
  #4  
Antiguo 11-08-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo recordar que existen las funciones GetSystemTime y GetLocalTime.

Cita:
The GetLocalTime function retrieves the current local date and time.

The GetSystemTime function retrieves the current system date and time. The system time is expressed in Coordinated Universal Time (UTC).
Responder Con Cita
  #5  
Antiguo 11-08-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por Casimiro Notevi
Creo recordar que existen las funciones GetSystemTime y GetLocalTime.
No entiendo, por que usar esas funciones teniendo la función Time que ya llama internamente a la función GetLocalTime y nos devuelve un resultado del tipo TDatetime. En cuanto a la función GetSytemTime nos devuelve el mismo resultado pero haciendo los ajustes necesarios dependiendo de la zona horaria que tengamos configurada. Pero al final todo es el mismo reloj, si se cambia la hora de windows ambas funciones se verán afectadas.
Responder Con Cita
  #6  
Antiguo 11-08-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por seoane
No entiendo, por que usar esas funciones teniendo la función Time que ya llama internamente a la función GetLocalTime y nos devuelve un resultado del tipo TDatetime. En cuanto a la función GetSytemTime nos devuelve el mismo resultado pero haciendo los ajustes necesarios dependiendo de la zona horaria que tengamos configurada. Pero al final todo es el mismo reloj, si se cambia la hora de windows ambas funciones se verán afectadas.
La verdad es que no recuerdo del qué, cómo ni por qué... ... es que con linux la hora local la eliges según donde estés y es independiente de la hora del sistema... aunque es configurable, a gusto de cada uno.

Aunque pensé, me pareció recordar que en windows también tenías una hora diferente a la del sistema, por eso cuando adelantamos el reloj (o lo atrasamos, según la época del año), ¿se supone que la del sistema no cambia?, no lo recuerdo, la verdad.
Responder Con Cita
  #7  
Antiguo 11-08-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, he hecho un sencillo test:

Código:
procedure TForm1.bt1Click(Sender: TObject);
var
  SystemTime: TSystemTime;
begin
  GetSystemTime(SystemTime);
  ShowMessage(FormatDateTime('dd/mm/yyyy hh:nn:ss',SystemTimeToDateTime(SystemTime))  );
  GetLocalTime(SystemTime);
  ShowMessage(FormatDateTime('dd/mm/yyyy hh:nn:ss',SystemTimeToDateTime(SystemTime))  );
end;
Como verás, parece que la hora de windows Sí que es distinta a la del sistema.
Responder Con Cita
  #8  
Antiguo 11-08-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por Casimiro Notevi
La verdad es que no recuerdo del qué, cómo ni por qué... ... es que con linux la hora local la eliges según donde estés y es independiente de la hora del sistema... aunque es configurable, a gusto de cada uno.

Aunque pensé, me pareció recordar que en windows también tenías una hora diferente a la del sistema, por eso cuando adelantamos el reloj (o lo atrasamos, según la época del año), ¿se supone que la del sistema no cambia?, no lo recuerdo, la verdad.
Pues la verdad es que windows si que cambia la hora del sistema, según la época del año, lo cual puede ser un problema cuando se tienen instalado en el mismo equipo un windows y un linux, pues como tu bien dices en linux la hora es independiente de la zona horaria mientras que en windows se corresponde con la hora local, así que cuando pones en hora el reloj en un sistema en el otro puede estar equivocada. Creo recordar que en algunos distribuciones de linux ya preguntan durante el proceso de instalación si el reloj esta en horario UTC o esta ajustado con la hora local, precisamente para evitar estos problemas. Aunque de como va esto en linux seguro que sabes tu mas que yo ...
Responder Con Cita
  #9  
Antiguo 11-08-2006
zfer zfer is offline
Registrado
 
Registrado: ago 2006
Posts: 5
Poder: 0
zfer Va por buen camino
Gracias a todos, pero hasta ahora creo q la solución más sensata es bloquear el acceso al cambio de hora a los usuarios. o no?
Responder Con Cita
  #10  
Antiguo 11-08-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por Casimiro Notevi
Como verás, parece que la hora de windows Sí que es distinta a la del sistema.
Yo no dije que fueran iguales, sino que se calculan a partir del mismo dato. El reloj del equipo (el de la bios) es el que nos devuelve GetLocalTime mientras que el valor que devuelve GetSystemTime es el mismo que devuelve GetLocaltime después de sumarle o restarle una constante que depende de la zona horaria que tengamos configurada y la época del año en que estemos. De esa forma un cambio en la hora afectaría a ambos valores por igual.
Responder Con Cita
  #11  
Antiguo 11-08-2006
zfer zfer is offline
Registrado
 
Registrado: ago 2006
Posts: 5
Poder: 0
zfer Va por buen camino
Y entonces?

Cita:
Empezado por Casimiro Notevi
Bueno, he hecho un sencillo test:

Código:
procedure TForm1.bt1Click(Sender: TObject);
var
  SystemTime: TSystemTime;
begin
  GetSystemTime(SystemTime);
  ShowMessage(FormatDateTime('dd/mm/yyyy hh:nn:ss',SystemTimeToDateTime(SystemTime))  );
  GetLocalTime(SystemTime);
  ShowMessage(FormatDateTime('dd/mm/yyyy hh:nn:ss',SystemTimeToDateTime(SystemTime))  );
end;
Como verás, parece que la hora de windows Sí que es distinta a la del sistema.
Bueno tienes razón... pero entonces? cual es systemTime, de donde está tomando la hora... y desde donde se la modifica?
Responder Con Cita
  #12  
Antiguo 11-08-2006
zfer zfer is offline
Registrado
 
Registrado: ago 2006
Posts: 5
Poder: 0
zfer Va por buen camino
Gracias. Entonces que recomiendas para una aplicación de control de horario?
bloquear los premisos a los usuarios para cambiar la hora o bien tomar la hora de un equipo remoto?
Responder Con Cita
  #13  
Antiguo 11-08-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por zfer
Gracias a todos, pero hasta ahora creo q la solución más sensata es bloquear el acceso al cambio de hora a los usuarios. o no?
Yo creo que si. Mi consejo es utilizar cuentas de usuario limitadas, ya que cualquier sistema que tengas pensado puede echarse abajo si el usuario esta usando una cuenta de administrador. Si tu bloqueas el cambio de hora nada le impide deshacer lo que tu has echo, cambiar la hora y volver a dejarlo como estaba, solo se lo pondrías un poco mas difícil.
Responder Con Cita
  #14  
Antiguo 11-08-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por seoane
Aunque de como va esto en linux seguro que sabes tu mas que yo ...
No creas, soy un novato total.

Cita:
Empezado por seoane
Yo no dije que fueran iguales, sino que se calculan a partir del mismo dato. El reloj del equipo (el de la bios) es el que nos devuelve GetLocalTime mientras que el valor que devuelve GetSystemTime es el mismo que devuelve GetLocaltime después de sumarle o restarle una constante que depende de la zona horaria que tengamos configurada y la época del año en que estemos. De esa forma un cambio en la hora afectaría a ambos valores por igual.
Es cierto, tienes razón, por eso si se tienen instalados ambos sistema en el mismo ordenador es conveniente elegir en linux la forma de windows, en caso contrario "se pelean" entre ambos para poner el reloj del sistema en hora y al final acaba siendo un desastre.

Cita:
Empezado por seoane
Yo creo que si. Mi consejo es utilizar cuentas de usuario limitadas, ya que cualquier sistema que tengas pensado puede echarse abajo si el usuario esta usando una cuenta de administrador. Si tu bloqueas el cambio de hora nada le impide deshacer lo que tu has echo, cambiar la hora y volver a dejarlo como estaba, solo se lo pondrías un poco mas difícil.
Por suspuesto, un usuario no debe poder cambiar la hora del sistema, por ejemplo, en linux, sólo el administrador, root, o alguien con permisos, tiene la posibilidad de cambiar la hora (y fecha) del sistema.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cojer hora del Sistema santiellupin OOP 4 29-09-2011 20:39:20
Evitar que cambien la hora del sistema ElCherchu Varios 16 12-08-2006 09:36:38
como obtener la hora del sistema federiconqn21 Varios 9 27-05-2006 01:05:36
Fecha Y Hora Del Sistema srangel PHP 1 31-05-2005 19:13:12
Fecha y hora del sistema Un abrazo OOP 1 21-05-2003 13:46:31


La franja horaria es GMT +2. Ahora son las 08:47:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi