PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Tempos menores que 1 ms #477914

04/05/2014

0

Olá pessoal.

Tenho essa rotina aqui.
Preciso contar tempos menores que 1 ms. (serve microsegundos).
Não posso basear a rotina no clock do PC, pois se trocar o mesmo por um mais rápido, dará diferença.

Tenho essa procedure mas nçao está funcionando corretamente.

Preciso de uma rotina que possa setar o tempo por fora F1 começa com 0 e F2 é o tempo final em microsegundos.
Começo o decremento e quando F2=0, caio fora do loop

Alguma santa alma pode ajudar?

procedure Tform1.Delay64(MicroSec: DWord);
var
F1, F2: Int64;
begin
F1:=strtoint(Edit1.Text);
F2:=strtoint(Edit2.Text);

QueryPerformanceCounter (F1);
repeat
// Application.ProcessMessages;
// Instrução a ser executada
QueryPerformanceCounter (F2);
until ((F2 - F1) =Microsec);
Panel1.Color:=clred;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
delay64(1);
end;
Alexandre

Alexandre

Responder

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

Aceitar