Hora do Sistema

23/03/2006

0

Estou com o problema que eh o seguinte.

Estou tentanto pegar a hora do sistema, mas estou com um problema nos milissegundos, por exemplo se eu fizer o cogio abaixo


for Idx := 1 to 2048 do
Lst_Horas.Items.Add( FormatDateTime(´hh:mm:ss.zzz´, Now));





Vai acontecer o seguinte... a hora vai vir por exemplo 12:12:12.125, e isso se repete varias vezes de repente muda direto para 12:12:12.141 e esse fica por um baita tempo, depois muda para 12:12:12:156; ou seja a diferenca minima e entre 15 e 16 millisegundos.


Alguem sabe como pegar uma diferenca menor q essa??


Night_man

Night_man

Responder

Posts

23/03/2006

Thiago Vidal

não entendi exatamente o objetivo do código, mas acho que isso acontece, pq o delphi processa o loop várias vezes em um mesmo milisegundo.

e posso estar falando besteira, mas acredito que o salto seja porque o sistema multitarefa do windows, vá fazer outras coisas, e pare o processamento da sua aplicação por volta de 15 ms antes de retornar novamente.

para pegar um intervalo menor, eu utilizo GetTickCount, mas no seu caso, vc poderia usar a constante OneMillisecond da unit DateUtils para incrementar 1 ms.

uses DateUtils;
...
procedure Mostrar;
var
  i: Integer;
  dt: TDateTime;
begin
  dt := Now;
  for i := 1 to 2048 do
    ListBox1.Items.Add(FormatDateTime(´hh:nn:ss.zzz´, dt + (i * OneMillisecond)));
end;


diga para que você precisa disto, e talvez eu possa ajudar melhor.

um abraço.


Responder

23/03/2006

Edilcimar

tente dar um refresh dentro do for
for Idx := 1 to 2048 do
begin
Lst_Horas.Items.Add( FormatDateTime(´hh:mm:ss.zzz´, Now));
form.refresh;
end;
assim talvez vc consiga ´segurar´ o intervalo das interações


Responder

23/03/2006

Ipc$

Verifique pela função GetSystemTimeAdjustment o período de tempo que o sistema ajusta o clock em unidades de nanossegundos. A partir daí vc não conseguirá um intervalo de tempo inferior a esse.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar