SetLocalTime não funcionando ***Precisando de ajuda***
16/04/2013
0
Descrição do Problema: Utilizo no form o componente RxClock para mostrar para o usuário a hora corrente. Ao alterar a hora diretamente, através da barra de tarefas do windows, altera de imediato também no componente RxClock. Mas ao tentar alterar a hora via programação, não funciona, digo, não altera. Alguém poderia me dizer o porquê?
Segue o código:
Procedure HoraCerta;
var
st:TSYSTEMTIME;
begin
(*) definir a hora da estacao igual com a do servidor (*)
self.QyHoraCerta.Close;
self.QyHoraCerta.Open;
//atualiza hora local
GetLocalTime(st);
DateTimeToSystemTime(self.QyHoraCertaDATAHORA.AsDateTime,st);
SetLocalTime(st);
vHora := FrmPrincipal.QyHoraCertaHORA.AsDateTime;
end;
Ricardo Lucena
Posts
17/04/2013
Ricardo Lucena
Descrição do Problema: Utilizo no form o componente RxClock para mostrar para o usuário a hora corrente. Ao alterar a hora diretamente, através da barra de tarefas do windows, altera de imediato também no componente RxClock. Mas ao tentar alterar a hora via programação, não funciona, digo, não altera. Alguém poderia me dizer o porquê?
Segue o código:
Procedure HoraCerta;
var
st:TSYSTEMTIME;
begin
(*) definir a hora da estacao igual com a do servidor (*)
self.QyHoraCerta.Close;
self.QyHoraCerta.Open;
//atualiza hora local
GetLocalTime(st);
DateTimeToSystemTime(self.QyHoraCertaDATAHORA.AsDateTime,st);
SetLocalTime(st);
vHora := FrmPrincipal.QyHoraCertaHORA.AsDateTime;
end;
17/04/2013
Rafael Cunha
procedure TDmPrincipal.SynchronizeDh; var SystemTime: TSystemTime; begin FDhSynchronized := False; DateTimeToSystemTime(GetCurrentDateTime, SystemTime); FDhSynchronized := SetLocalTime(SystemTime); end;
18/04/2013
Ricardo Lucena
Dúvida nesse teu código: Requer declaração de alguma classe pra reconhecer essa variável "FDhSynchronized", ou vc a declarou como sendo uma variável local/global, apenas pra retornar como valor da procedure SynchronizeDh?
No aguardo... obg!
procedure TDmPrincipal.SynchronizeDh; var SystemTime: TSystemTime; begin FDhSynchronized := False; DateTimeToSystemTime(GetCurrentDateTime, SystemTime); FDhSynchronized := SetLocalTime(SystemTime); end;
18/04/2013
Rafael Cunha
Dúvida nesse teu código: Requer declaração de alguma classe pra reconhecer essa variável "FDhSynchronized", ou vc a declarou como sendo uma variável local/global, apenas pra retornar como valor da procedure SynchronizeDh?
No aguardo... obg!
procedure TDmPrincipal.SynchronizeDh; var SystemTime: TSystemTime; begin FDhSynchronized := False; DateTimeToSystemTime(GetCurrentDateTime, SystemTime); FDhSynchronized := SetLocalTime(SystemTime); end;
Cara pode ignorar o FDhSynchronized é apenas um variável que utilizo para verificar se o sistema conseguiu sincronizar o relógio com o servidor, caso negativo busto toda hora a hora no server.
Clique aqui para fazer login e interagir na Comunidade :)