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 07-10-2003
CFPA86 CFPA86 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Medellin (Colombia)
Posts: 119
Poder: 21
CFPA86 Va por buen camino
Bloquear comando...

Hola a todos, mi duda es si yo por medio de Delphi puedo bloquear un comando interno del D.O.S., mas concretamente el DATE y el TIME.
Les agradezco si me pueden colaborar.
Chau...
__________________
Siempre hay un primer momento para todo.
Responder Con Cita
  #2  
Antiguo 07-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Hace años recuerdo que editaba el Command com y cambiaba por ejemplo DIR por SER, lo guardaba y a partir de ahí no funcionaba la orden Dir sino SER.

Por lo tanto si editas el Command.com y buscas la orden DATE y la modificas, sin añadir ni una letra más, por ejemplo la dejamos LATE, pues ahora ya no funciona dicha orden y es muy dificil que al usuario se le ocurra teclear lo que nosotros hayamos dejado en lugar de DATE, claro que esto funcionará la próxima vez que arranque el ordenador.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 08-10-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
CFPA86:

Por mensajes anteriores tuyos me parece que tu objetivo es impedir que los usuarios puedan cambiar la fecha y hora del sistema.

Creo recordar que hace algún tiempo se discutió aquí un problema relacionado con impedir que los usuarios cambiaran la hora del sistema en una pc destinada al registro de empleados.

No estoy seguro de cuál fue la conclusión pero un punto que conviene observar es que aún impidiendo el acceso al reloj de Windows y a los comandos DATE y TIME, siempre existirá la posibilidad de que el usuario logre hacer el cambio; por ejemplo bajando alguna utilería de Internet.

Me parece que en aquella ocasión alguien mencionó que lo más conveniente sería que la aplicación implementara su propio reloj.

En caso de que esto te interese puedes proceder así:

Al inicio de la aplicación grabas las hora y "tick" actuales:

Código:
var
  HoraInicio: TTime;
  TickInicio: DWord;

HoraInicio := Time;
TickInicio := GetTickCount();
GetTickCount devuelve el número de milisegundos que han transcurride desde que se inició el sistema (Windows, no el solar )

Cuando necesites conocer la hora real la obtienes así:

Hora := IncMilliSecond(HoraInicio, GetTickCount - TickInicio);

donde IncMilliSeconds es una función de Delphi que agrega a la hora indicada el número de milisegundos especificados.

Si tu versión de Delphi no incluye esta función fácilmente la puedes hacer:

Código:
function IncMilliSecond(const Value: TTime; const MSecs: Int64): TDateTime;
const
  MSecsPerDay = 86400000;

begin
  Result := (Value*MSecsPerDay + MSecs)/MSecsPerDay;
end;
Lo único que debes asegurar es que la hora al inicio de la aplicación sea la correcta. El resto es simplemente sumar a dicha hora inicial el número de milisegundos que han transcurrido desde que la grabaste.

De esta manera, una vez iniciada la aplicación, el usuario puede cambiar la hora como se le antoje pero tu aplicación dará la hora correcta.

// Saludos
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


La franja horaria es GMT +2. Ahora son las 19:35:46.


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