Array
(
)

Controlar a mudança de Data do Windows

Fabiano Góes
   - 20 fev 2006

Tem como controla a mudança de Data do Windows para as 06:00 hs
ao invés de 00:00 hs

o sistema gera arquivos com a data na nomenclatura e apesar de após as 00:00 hs já ser um novo dia mesmo, no tipo de processamento que meu sistema faz, apenas após as 06:00 hs que se inicia um novo dia.

* ou eu controla a mudança de data do windows
* ou crio uma solução compativel

Bom galera, qualquer ajuda ou sugetão será bem vinda !!!!!


até mais !!!!!


Paullsoftware
   - 20 fev 2006

para controlar a mudança de hora/data do windows pode criar um serviço, semelhante ao que faço no meu sistema de lan-house... onde tenho um Ttimer que verifica a cada minuto se a hora é igual ou maior a anterior e trato de acordo com a minha necessidade, no seu caso pode colocar um time para controlar apenas quando chegar a hora desejada, e em seguida, mudar para a de sua escolha use essa torina abaixo...

var
SystemTime : TSystemTime;
Dia, Mes, Ano, Hora, Min, Sec, Mil: Word;

Passar as informações para as variaveis Dia, Mes, Ano, Hora, Min, Sec, Mil: Word;


#Código

SystemTime.wYear := Ano; 
SystemTime.wMonth := Mes;
SystemTime.wDay := Dia;
SystemTime.wHour := Hora;
SystemTime.wMinute := Min;
SystemTime.wSecond := Sec;
SystemTime.wMilliseconds := Mil;

Modificar a data / hora
SetSystemTime (SystemTime);



Fabiano Góes
   - 20 fev 2006

PaullSoftware,

O meu sistema gera arquivos a todo momento se passeando na data do windows.
A sua dica bloqueia o windows de mudar a data quando for 00:00 hs ?


Valeu pela atenção !!!!


Paullsoftware
   - 21 fev 2006


Citação:
A sua dica bloqueia o windows de mudar a data quando for 00:00 hs ?


Não, a dica serve para vc mudar a hora do sistema, tipo...
como eu te disse, vc faz uma rotina para checar a data/hora do sistema quando ele chegar em uma determinada data/hora que vc espera pede para ele mudar para outra de sua escolha, tipo:

Ex.:

#Código

Procedure TestaHora(Dia, Mes, Ano, Hora, Min, Sec, Mil: Word);
var SystemTime : TSystemTime;
begin
SystemTime.wYear := Ano;
SystemTime.wMonth := Mes;
SystemTime.wDay := Dia;
SystemTime.wHour := Hora;
SystemTime.wMinute := Min;
SystemTime.wSecond := Sec;
SystemTime.wMilliseconds := Mil;
//Modificar a data / hora
SetSystemTime (SystemTime);
end;


para usar:
#Código
TestaHora(01,01,2006,07,00,20,00);

vc pode adaptar para as suas necessidades