CALCULAR TEMPO EXECUCAO DA ROTINA PARA PROGRESSBAR

XXXANGELSXXX 23/11/2010 12:16:34
#358032
Senhores bom dia, estou com um caso aqui meio que atipico, eu tenho um form que chama FRMAGUARDE, e nele tem uma progressbar, eu preciso carregar essa progress com o valor do tempo de execução de uma determinada rotina, exemplo demorou 1 minuto para carregar o meu grid por exemplo, portanto o progressbar.max vai ser carregado com a informação do processamento desse grid, ou seja 60 segundos, ate preencher os 100%, entao gostaria de ver com voces o seguinte, como faço para calcular via vb o tempo que a rotina vai demorar a ser executada?
LUIS.HERRERA 23/11/2010 14:01:00
#358047
Angels eu faço isso com processo dos registros, mas para o tempo seria estranho pois isso iria variar de micro para micro em função do processamento e do acesso de rede também.

a parte de preencher o grid + barra é simples veja:

1- você primeiro tem que carregar seu recordset. O tempo aqui é mínimo, mas irá variar de empresa, rede, banco e até se está na Web ou local. Esse tempo acho que é impossível de calcular.
2- depois que carregou os dados no recordset, vem a parte teoricamente mais demorada que é preencher o grid.
3- no início da rotina você precisaria ter 3 variáveis para tempo.
uma para iniciar o processo
segunda para guardar o tempo gasto no preenchimento do primeiro registro
terceira para guardar o cálculo feito entre o tempo gasto para preencher 1 registro no grid, multiplicado pelo número total de registros que o recordset possui. Assim saberia +/- o tempo total a ser gasto. Com isso poderia colocar no grid o valor da variável um para início do intervalo de preenchimento e o da terceira variável no máximo do intervalo do grid ( = 100% do carregamento )

Teoricamente é isso, mas eu acho isso estranho. O que faço é só apresentar na barra de progresso o andamento do preenchimento do grid, assim o valor máximo do grid é igual ao total de registros, a cada registro preenchido eu incluo um no valor de progresso, isso é bem mais prático e coerente.

Nota: O MSFlex grid tem uma propriedade de ocultar o desenho na tela enquanto está preenchendo o grid, isso faz uma diferença absurda na velocidade, depois de terminar, manda reexibir o desenho e pronto. Se não fizer isso demora muito. Agora o grid que está usando eu não sei qual é e se tem essa propriedade.

boa sorte
XXXANGELSXXX 23/11/2010 14:54:15
#358053
Luiz Herrera, obrigado pelo retorno, aqui, qual essa propriedade? o carregamento dos meus grids sao muito rapidos, nao demoram nao, utilizo o msflex grid praticamente, ou seja, utilizo o vsflexgrid que é o msflexgrid melhorado.as propriedades sao as mesmas.
Tópico encerrado , respostas não são mais permitidas