Fórum Contagem do tempo Restante do processo #340527

17/04/2007

0

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

Responder

Posts

25/04/2007

Powerlog Tecnologia

sobe


Responder

Gostei + 0

25/04/2007

Felipeaj

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í!


Responder

Gostei + 0

25/04/2007

Powerlog Tecnologia

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


Responder

Gostei + 0

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

Aceitar