ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Medir tempo com precisão o laço de repetição? **Concluído**

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qua Jul 07, 2010 3:23 pm    Assunto: Medir tempo com precisão o laço de repetição? **Concluído** Responder com Citação

Pessoal, como faço para medir tempo com precisão o laço de repetição, e jogar num showmessage por exemplo.

Código:
For I := 1 to 10000 do
begin
  faça
end;
showmessage(tempo decorrido do laço}

_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree


Editado pela última vez por adriano_servitec em Qui Jul 08, 2010 10:42 pm, num total de 2 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qua Jul 07, 2010 4:30 pm    Assunto: Responder com Citação

use o gettickcount
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qua Jul 07, 2010 5:12 pm    Assunto: Responder com Citação

gilsonnrodrigues escreveu:
use o gettickcount


Achei algo sobre este GETTICKCOUNT na net e...

Seria algo assim?

Código:
procedure TForm1.Button2Click(Sender: TObject);
var
  i : integer;
  Time1 : TDateTime;
begin
  Edit1.Text := FloatToStr(GetTickCount);
  For i := 0 to 100000 do
    begin
      Edit2.Text := IntToStr(i);
    end;
  Edit3.Text := FloatToStr(GetTickCount);
  Edit4.Text := FloatToStr(StrToFloat(Edit3.Text) - StrToFloat(Edit1.Text));
  //Time1 := StrToTime(Edit4.Text);
  //ShowMessage(FormatDateTime('hh:mm:ss:zzz',time1));
end;


Ou assim
Código:
procedure TForm1.Button4Click(Sender: TObject);
var
  i : integer;
  Time1 : TDateTime;
begin
  Edit1.Text := FloatToStr(GetTickCount);
  i := 0;
  while i < 100001 do
    begin
      Edit2.Text := IntToStr(i);
      Inc(i);
    end;
  Edit3.Text := FloatToStr(GetTickCount);
  Edit4.Text := FloatToStr(StrToFloat(Edit3.Text) - StrToFloat(Edit1.Text));
  //Time1 := StrToTime(Edit4.Text);
  //ShowMessage(FormatDateTime('hh:mm:ss:zzz',time1));
end;

_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qui Jul 08, 2010 3:59 pm    Assunto: Responder com Citação

assim:

Código:
procedure TForm1.Button4Click(Sender: TObject);
var
  i : integer;
 /////////////// Time1 : TDateTime;
  T : Cardinal;
begin
  T := GetTickCount; //lê o tick inicial.
  i := 0;
  while i < 100001 do
    begin
      Edit2.Text := IntToStr(i);
      Inc(i);
    end;
  Edit4.Text := FormatFloat(',0', GetTickCount - T);
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qui Jul 08, 2010 10:41 pm    Assunto: Responder com Citação

gilsonnrodrigues escreveu:
assim:

Código:
procedure TForm1.Button4Click(Sender: TObject);
var
  i : integer;
 /////////////// Time1 : TDateTime;
  T : Cardinal;
begin
  T := GetTickCount; //lê o tick inicial.
  i := 0;
  while i < 100001 do
    begin
      Edit2.Text := IntToStr(i);
      Inc(i);
    end;
  Edit4.Text := FormatFloat(',0', GetTickCount - T);
end;
Blz....Muito obrigado pela ajuda amigo.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB