Contagem do tempo Restante do processo

Delphi

17/04/2007

Olá pessoal,

Estou fazendo uma rotina que inclui registros em uma tabela com aproximadamente 200 campos. E cada vez que essa rotina é executada, processa +- 3000 linhas (resumindo: 200 campos x 3000 linhas). E ela demora alguns minutos.

Queria uma rotina que mostrasse ´ 99:99 restantes para o fim do processo´

Alguma idéia ???!?!?!?

Valeu !


Powerlog Tecnologia

Powerlog Tecnologia

Curtidas 0

Respostas

Powerlog Tecnologia

Powerlog Tecnologia

17/04/2007

sobe


GOSTEI 0
Felipeaj

Felipeaj

17/04/2007

Veja se a IDÉIA te ajuda:

var
  HoraAnterior: TTime;
  PorSegundo: Integer;

begin
  HoraAnterior := Now;
  PorSegundo := 0;

  while not Query1.EOF
  do begin
    if (HoraAnterior <> Now)
    then begin
      PorSegundo := 0;
      HoraAnterior := Now;
      Label1.Caption := ´Média de execução: ´+ IntToStr(PorSegundo);
      Label2.Caption := ´Faltando ´+ IntToStr(Query1.RecordCount - Query1.RecNo) +´ registros´;
      Label3.Caption := ´Tempo estimado: ´+ CurrToStr((Query1.RecordCount - Query1.RecNo) / PorSegundo) +´ segundos´;

      Application.ProcessMessages; // pode deixar a execução mais lenta, porém, não trava a aplicação durante o while
    end;

    // tuas funcoes
    Inc(PorSegundo);
    Query1.Next;
  end;
end;


Desculap se tem erros, fiz de cabeça meio ligeirão, ve se tem como tu começar por aí!


GOSTEI 0
Powerlog Tecnologia

Powerlog Tecnologia

17/04/2007

Gostei da idéia... Vou aprimorar :!:


GOSTEI 0
POSTAR