Notifications
Clear all

Barra de Progresso por TAREFA (Tá osso!!!!)

2 Posts
1 Usuários
0 Reactions
998 Visualizações
(@lovera)
Posts: 90
Estimable Member
Topic starter
 

Boa tarde galerinha.

Estava estudando sobre barras de progresso. Consegui executar alguns exemplos e percebi que a maioria é funcional graças a algum looping dentro do codigo.

Tentei montar uma coisa "similar", focada mais para o lado da tarefa.
A medida que a tarefa fosse sendo executada o formulario recebe instruções colocadas em pontos chaves para mudar as cores das labels.

Acontece que quando rodo a macro, tem momentos que funciona perfeitamente. :D
Ele executa a tarefa altera a cor da label, vai para a tarefa seguinte muda a cor da outra label e por ai vai.
Isso porque coloquei junto uma textbox escondida no formulario. Junto das informações da alteração das cores da label joguei uma informação na textbox que tem um evento change. No evento change coloquei para desativar o application.screen.updating pausar a rotina por 2 segundos e voltar a ativar o screen.updating para que desse o tempo de atualizar a tela para que as mudanças de cores do formulario fossem visiveis.

:( A treta acontece que tem vezes que a macro roda sem fazer a alteração das cores. Ele executa a tarefa, desliga pausa religa o screenupdating, volta a executar a tarefa e somente quando termina a execução totalmente, ai as cores são atualizadas. Passei o dia todo de hoje estudando formas e formas. Até que resolvi pedir pinico e recorrer aos genios daqui! Reconheço que se trata de perfumaria. Não é absolutamente necessário para o meu dia a dia. Mas seria tão legal se eu conseguisse acrescentar isso as minhas programações.

Segue o arquivo de até onde consegui chegar.
*obs. acabei colocando um contador com lopping nas "tarefas" mas poderia ser qq outra coisa a tarefa. A cada looping encerrado vem a instrução de mudança de cor e inserção de informação na textbox que ativa o evento change.

 
Postado : 02/09/2012 2:41 pm
(@lovera)
Posts: 90
Estimable Member
Topic starter
 

Consegui resolver com o Do Events.

 
Postado : 03/09/2012 5:32 am