Array
(
)

Não deixar usuario alterar a hora...

Seven
   - 27 set 2004

alo !?

estou com um problema..
tenho um cliente ... soh que estamos tendo muitos problemas ao gerar um relatorio de estatisticas de venda por horario... as vezes o usuario não coloca a hora correta ou até mesmo altera a mesma... não usamos servidor dedicado... eh uma rede que na maioria das lojas são 2 maquinas com Win98.... descobri um arquivo chamado ´timedate.cpl´ que ao ser excluido/renomeado não se pode alterar a data/hora no windows... mas pelo prompt do MSDOS ficaria muito simples, não !?

pergunto... alguem sabe de alguma forma para barrar isso !? ou seja... o usuario não poderia nunca acessar a data e a hora da bios... nem pelo MSDOS, nem pelo CALENDARIO DO WINDOWS... ou melhor, até poderia acessar, alterar, etc... mas que o sistema pegasse uma outra hora... ignorasse a hora atual da bios.

pensei que talvez pudesse existir um aparelho que conectado ao computador .. simplesmente ficaria atualizando a data/hora do mesmo.... penso ainda que um sistema de controle de ponto seria + ou - desta forma, assim... evitando falhas, certo!?

por favor.. postem as suas soluções...

desde ja agradeço
[]s


Dopi
   - 27 set 2004

Se o usuário tem acesso a máquina ele fatalmente conseguirá alterar a Data e Hora....

O que é comum fazer é sincronizar a Data/Hora dos Terminais com a Data/Hora do Servidor de arquivos.

Se você usa rede windows, pode criar um BAT que conecte no SERVIDOR
(NET USE....) e logo apos usar o NET TIME para ajustar a hora do terminal com a do sevidor.... Crie o icone do seu programa apontando para esse BAT, que apos conectar com o servidor, acertar a hora, chama o seu programa EXE...


Seven
   - 27 set 2004

ae DOPI...

com certeza... usuario mexe mesmo nas coisas...

assim... o comando net time até funciona se tiver servidor dedicado que o usuario nem toque, entende !?
mas nesse caso acho que não...
pois o usuario pode entrar no sistema... ele atualiza a data e a hora com a do outro computador... até aí blz...
mas supondo que com o sistema aberto, ele volte com o CTRL+ESC até o RELOGIO do WINDOWS e mude a hora ... lah se foi a atualização feita antes.

o ideal seria mesmo alguma coisa externa controlando o relogio.. ligado em algo.. tipo, serial... entende.

obrigado pela força
[]´s


Dopi
   - 27 set 2004

Uma ideia pouco prática é você monitorar a hora usando alguma espécie de Timer.... Se a hora variasse alem do esperado, em relação a hora de entrada no sistema... então significa que o usuário mexeu no relógio....

Na minha aplicação costumo apenas nao permitir lançamentos fora do da faixa de horários permitidos pelo ´Turno´ ou seja, o lançamento deve ser: Maior que a abertura do Turno e Menor que o prazo determinado em que o Turno deverá ser fechado.... Nesse caso á um parametro que o gerente informa quanto tempo o Turno pode ´durar´... 1 até 24 hs... Se o usuário tentar criar uma venda com data/hora fora da Faixa do turno a venda não é permitida...
Há também uma verificação se as movimentações são sempre em horários crescentes.: Se emitiu a nota 100 as 10:00 as nota 101 tem que ser em horário superior....


Seven
   - 30 set 2004

ae DOPI...

muito bom...
isso funcionaria perfeitamente... se nao se tratasse de um esquema tão complicado...

vou explicar melhor...

eh um sistema de TELE-ENTREGA de PIZZAS...
e agora inventaram de trabalhar de 00:00 até 02:00 ...
sendo que nesse horario seria gerado uma TAXA (MADRUGADA) para os coordenadores/funcionarios...
então se o sistema detectasse que a ahora fosse superior a 00:00 essa taxa seria gerada automaticamente...
agora veja bem, se o usuario liga o computador as 11:00 ... altera a hora p/ 12:00... quando for 23:00 pro sistema estaria 00:00... então seria gerado essa comissão extra...

então eh por essas e outras coisas... (várias, várias mesmo)... que teria que ser um relogio externo...

será o impossível que naum exista tal ´hardware´ ?!??!?
hehe

obrigado pela força...
se souber de algo... por favoooor me ajude! :)

abraços


Dopi
   - 30 set 2004

O usuário não possui um ECF (Impressora Emissora de Cupons Fiscais) ligada a esse micro ?

Se possuir, voce pode usar a Data/Hora da Impressora Fiscal.... Esse tipo de equipamento só pode ter a Data/Hora alterada por intervenção técnica...

Existem alguns relógios de Ponto que podem ser ligados no micro... infelizmente não lembro do site de nenhum deles no momento..... :-(


Aroldo Zanela
   - 30 set 2004

Colega,

Os dois meios mais simples e seguro realmente seriam por meio de consulta a um servidor dedicado ou ao ECF. No entanto, você pode utilizar uma ferramenta para restringir o usuário.
Veja: http://www.freewareseek.com/utils/2995/


Seven
   - 01 out 2004

alo amigos...

pior que não tem ECF...
sonegação total !hoho

Dopi... lembra aih po !hehe :D

Aroldo... obrigado pelo link... vou verificar...

uma coisa que aprendi com alguns amigos...
(no caso do WIN98 (que eh realmente o caso)) foi alterar o COMMAND.COM... hexadecimal.

mudando o comando TIME p/ qualquer outro nome, exemplo: ´VIME´... a hora soh poderia ser alterar usando o comando VIME.
legal, neh...
então juntando isso... com o renomear o ´timedate.cpl´.. .fica quase perfeito.. a naum ser o usuario poder alterar pela BIOS... então seria colocar uma senha para entrar na bios e EUREKA ! tudo certo.

vou testar e posto aqui... para que se alguem tiver interesse... tb poder usar esse tipo de coisa.

+ uma vez obrigado a todos...

[]s


Quadrado
   - 18 mar 2005

Uma forma é voce fazer leitura sequencial dentro do evento OnTimer de um TTimer, onde voce faz a leitura da data, hora, minuto e segundo e armazena esta informação (pode ser até no registro do Windows, encriptado é lógico), a cada 10, 15 ou 30 segundos. Na próxima checagem, a data/hora armazenada tem que ser menor que que a nova leitura. Esta checagem já deve ser feita inclusive na entrada do sistema. Melhor seria nem informar o usuário que a alteração foi identificada, mas sim somente ao administrador do sistema, pra pegar os malandros no pulo.

Eu uso isto para evitar que o ´Mané´ altere a data do sistema, para não pagar a licença de uso dos meus sistemas, mesmo que seja só para consulta dos dados.

Boa sorte,

Quadrado.