Já devemos ter precisado executar um comando muito grande e, para ficar mais amigável ao usuário, colocar uma barrinha de progresso, para avisá-lo em que estágio de processamento está.
Porém, nos deparamos com um pequeno problema: Nossa aplicação fica travada enquanto executa o comando!! Como resolver isto?
Existe um método chamado Application.ProcessMessages; que força a aplicação processas as mensagens do sistema operacional, como por exemplo a exibição correta do form. Com isto, não só o form é visualizado corretamente, mas também nossa barrinha de progresso funciona perfeitamente. :D
Vejamos um exemplo simples:
Digamos que tenhamos um ADOTable com vários registros abertos e vamos percorrer um a um:
ADOTable1.First;
while not (ADOTable1.Eof) do
begin
lblStatus.Caption := 'Processando registro...'; // exibimos alguma mensagem
Application.ProcessMessages; // chamados o método que força o SO a desenha a janela
ADOTable1.Next; // pula para o próximo registro da tabela
end;
Pronto. Agora é só você implementar uma barra de progresso e colocar mais algumas perfumarias (objetos que deixam a cara do formulário mais amigável para o usuário) caso seja necessário :)
Porém, nos deparamos com um pequeno problema: Nossa aplicação fica travada enquanto executa o comando!! Como resolver isto?
Existe um método chamado Application.ProcessMessages; que força a aplicação processas as mensagens do sistema operacional, como por exemplo a exibição correta do form. Com isto, não só o form é visualizado corretamente, mas também nossa barrinha de progresso funciona perfeitamente. :D
Vejamos um exemplo simples:
Digamos que tenhamos um ADOTable com vários registros abertos e vamos percorrer um a um:
ADOTable1.First;
while not (ADOTable1.Eof) do
begin
lblStatus.Caption := 'Processando registro...'; // exibimos alguma mensagem
Application.ProcessMessages; // chamados o método que força o SO a desenha a janela
ADOTable1.Next; // pula para o próximo registro da tabela
end;
Pronto. Agora é só você implementar uma barra de progresso e colocar mais algumas perfumarias (objetos que deixam a cara do formulário mais amigável para o usuário) caso seja necessário :)
Nenhum comentário:
Postar um comentário