Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sissi86

Alterar componente de formulário através de função

Recommended Posts

Olá, pessoal!

Estou com uma dúvida aqui, mas acho que vocês podem me ajudar! :rolleyes:

 

É o seguinte:

 

 

Em um formulário, tenho o botão "Gerar relatório", o qual chama uma função (GerarRelatorio) da classe Relatório.

 

Tenho uma barra de progresso (ProgressBar) nesse formulário, a qual mostra o andamento da geração do relatório.

 

 

Minha dúvida é a seguinte:

Como posso alterar o valor da barra de progresso (que está no formulário) via função na classe?

 

 

Será que tem algum modo?

 

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sissi, veja se entendi o que precisa.

 

Sua função está em um class, e o progres bar está no formulário.

 

Quando executar sua função você quer inserir valores no progressbar. Correto?

 

Bom, pelo que entendi, você fará exatamente da mesma forma que faria se a função estivesse no formulário, a única coisa que precisa acrescentar é o nome do formulário antes do nome do objeto.

 

Por exemplo:

 

Se o progreess estive no formulário faria

progress1.value = progress1.value + 1

Estando na classe, faça:

form1.progress1.value = form1.progress1.value + 1

Se não era isso que queria tente explicar um pouco melhor por favor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sissi, veja se entendi o que precisa.

 

Sua função está em um class, e o progres bar está no formulário.

Quando executar sua função você quer inserir valores no progressbar. Correto?

 

Corretíssimo, Cláudio.

Foi exatamente isso que tentei fazer.

Mas a função não reconhece o formulário... e o código

form1.progress1.value = form1.progress1.value + 1
não é executado, gerando um erro (variable not defined)

 

O que tenho que fazer para que a função reconheça o formulário?

 

http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Sissi, veja se isso te ajuda:

 

No formulário, no evento de um botão coloquei:

 

Dim sm As Class1

Set sm = New Class1

ProgressBar1.Value = sm.SomaUm(ProgressBar1.Value)
Na classe fiz:

Public Function SomaUm(valor As Integer) As Variant

Do While SomaUm < 100
	SomaUm = SomaUm + 1
Loop

End Function

Isso fará preencher o progress, só precisa ver se atende o seu projeto.

 

Teste e depois diz o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.