> Gostaria de fazer um termômetro durante o processamento de uma Query, é 
> possível?

> gProgresso: TGauge;
> 
> ..
> procedure blabla...
> var
>  _numreg, _numregtot : Integer;
> begin
>  gProgresso.Progress := 0;
>  _reg := 0;
>  _regtot := suatabela.RecordCount;
>  suatabela.disableControls;
>  suatabela.first;
>  while not suatabela.eof do
>  begin
>    ...... Processamento
>    inc(_numreg);
>    gProgresso.Progress := round((_numreg*100)/_numregtot);
>  end;
>  suatabela.enablecontrols;
> end;
> 
> Tente aí. Se achar que : suatabela.recordcount não irá funcionar (pois usas
> query e não table) coloque outra query, execute ela antes com o seguinte sql
> : SELECT COUNT(*) FROM SUATABELA para obter o número de registros. Agora tem
> aqueles detalhes de performance né...se você tem clausúlas where pra usar
> use nessa query também.
> 

Agora sim vai precisar de um termômetro... para medir a temperatura do
processador.

Essa procedure sugerida simplesmente enche um gauge depois que a query
já aconteceu e, sinceramente, só serve para consumir processamento.

O que realmente funcionaria seria algo como um evento tipo
OnQueryProgress ou OnFetchProgress. Este presente no TADOQuery e
aquele no TDBISAMQuery (que é pago). Se não me engano, já os vi em
outros componentes nativos de acesso a dados.

Para o TQuery existe uma solução meio tortuosa que vi uma vez no
famigerado DTDelphi com o nome de "Mostrando progresso de uma SQL".
Hoje este arquivo de dicas em formato de help lançado por José J.
Carvalho Júnior (Llovd Dickinson) está na versão 2.6 e pode ser
baixado em http://200.241.52.8/meep/lloydsoft/download.php?download=1

Antigamente o Dick aparecia por aqui.

Boa sorte.

Att.
-- 
Rodrigo Américo Cunha de Souza
[EMAIL PROTECTED]
ICQ# 4270625


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a