> 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