Confirmação de Data do Windows
Olá,
Preciso de uma rotina para verificar se a data do Windows está correta, ou seja, verificar em algum servidor externo que tenha sempre a data atualizada se aquele micro onde o programa está rodando está com data realmente do dia.
Obrigado.
Preciso de uma rotina para verificar se a data do Windows está correta, ou seja, verificar em algum servidor externo que tenha sempre a data atualizada se aquele micro onde o programa está rodando está com data realmente do dia.
Obrigado.
Valdir Dill
Curtidas 0
Respostas
Edson Melo
03/02/2012
ola pesoal tambem preciso desta mesma função, pois tenho um sistema para hotel e gostaria de registrar se o usuisario alterou a data do sistema para fechamento da hospedagem, a fim de favorecer ou enganar o sistema
muito obrigado
muito obrigado
GOSTEI 0
Valdir Dill
03/02/2012
Consegui resolver. Não sei a maneira foi a melhor, mas para mim serviu.
Fiz o seguinte:
No meu servidor de hospedagem criei o arquivo DataAtual.php com o seguinte conteúdo:
<?
echo date(d/m/Y);
?>
No Delphi coloquei um componente TIdHTTP e executo a rotina:
try
if StrToDate(IdHTTP1.Get(http://www.meudominio.com.br/DataAtual.php)) <> date then
ShowMessage(A data do micro está incorreta.);
except
end;
Que tal? Simples e funcional, hehe!
Obrigado e abraço a todos.
Fiz o seguinte:
No meu servidor de hospedagem criei o arquivo DataAtual.php com o seguinte conteúdo:
<?
echo date(d/m/Y);
?>
No Delphi coloquei um componente TIdHTTP e executo a rotina:
try
if StrToDate(IdHTTP1.Get(http://www.meudominio.com.br/DataAtual.php)) <> date then
ShowMessage(A data do micro está incorreta.);
except
end;
Que tal? Simples e funcional, hehe!
Obrigado e abraço a todos.
GOSTEI 0
Marco Salles
03/02/2012
então Edson tem o Site http://ntp.br/ que disponibiliza um serviço a Hora Certa
no delphi tem o componente da paleta Indy (algumas versões antigas não tem)
da classe TIDSntp .. Voce pode adicionar o Componente ou cria-lo em rumtime
var
IDSntp:TIDSntp;
begin
IDSntp:=TIDSntp.Create(nil);
try
IDSntp.Host:= pool.ntp.br;
showmessage(datetimetostr(IDSntp.DateTime));
finally
IDSntp.free;
end;
Porém tem a questão do Horário de Verão e do Fuso Horário ..
Porém , não tenho certeza , mas acho que a classe TIDSntp
deve interagir com as definiçoes internas do Seu sistema
Operacional (VCL=Windows) e corrigir distorções
seria interressante algumem de outro estado que não tenha nen
Horário de Verão e fuso Horário diferente verificar o Retorno
mas como eu disse , acredito não haver problemas
no delphi tem o componente da paleta Indy (algumas versões antigas não tem)
da classe TIDSntp .. Voce pode adicionar o Componente ou cria-lo em rumtime
var
IDSntp:TIDSntp;
begin
IDSntp:=TIDSntp.Create(nil);
try
IDSntp.Host:= pool.ntp.br;
showmessage(datetimetostr(IDSntp.DateTime));
finally
IDSntp.free;
end;
Porém tem a questão do Horário de Verão e do Fuso Horário ..
Porém , não tenho certeza , mas acho que a classe TIDSntp
deve interagir com as definiçoes internas do Seu sistema
Operacional (VCL=Windows) e corrigir distorções
seria interressante algumem de outro estado que não tenha nen
Horário de Verão e fuso Horário diferente verificar o Retorno
mas como eu disse , acredito não haver problemas
GOSTEI 0
Edson Melo
03/02/2012
obrigado marco antonio.
vou tentar , mas consegui um jeito mais facil, criei um arquivo de log, onde fica registrado a data e hora das operações principais realizadas no sistema, as datas ficarão em sequencia neste arquivo, se aparecer uma data fora da sequencia e sinal que a data foi auterada, meio rustico mas funciona realmente
mesmo assim obrigado
vou tentar , mas consegui um jeito mais facil, criei um arquivo de log, onde fica registrado a data e hora das operações principais realizadas no sistema, as datas ficarão em sequencia neste arquivo, se aparecer uma data fora da sequencia e sinal que a data foi auterada, meio rustico mas funciona realmente
mesmo assim obrigado
GOSTEI 0
Marco Salles
03/02/2012
obrigado marco antonio.
vou tentar , mas consegui um jeito mais facil, criei um arquivo de log, onde fica registrado a data e hora das operações principais realizadas no sistema, as datas ficarão em sequencia neste arquivo, se aparecer uma data fora da sequencia e sinal que a data foi auterada, meio rustico mas funciona realmente
mesmo assim obrigado
vou tentar , mas consegui um jeito mais facil, criei um arquivo de log, onde fica registrado a data e hora das operações principais realizadas no sistema, as datas ficarão em sequencia neste arquivo, se aparecer uma data fora da sequencia e sinal que a data foi auterada, meio rustico mas funciona realmente
mesmo assim obrigado
voce tb pode criptografar estas informações de maneira fácil sem utilizar componentes de terceiro
Este modo é sem dúvia nenhuma uma solução , que dependendo do tamanho do seu problema e do nível de
segurança do seu Sistema pode atender
GOSTEI 0