PROGRESSBAR

GFRANGUELLI 15/06/2012 09:26:20
#404218
Olá amigos do VBMania.

Aguém poderia me ajudar como colocar uma progressbar em função do tempo?

Ex.:

Em um timer quero estipular a contagem em 3 minutos e com isso a progressbar vai atuando, ao terminar o tempo me abre um segundo form.

Alguém pode me ajudar?

Gilberto

ADILSOO 18/06/2012 11:37:30
#404365
Coloca no Load
 Barra.Max = 180
Barra = 1

No Timer coloca
 if Barra.Max >= 180
[ô]Carregue aqui seu Form
Else
Barra = Barra + 1
End if

E deixa o Timer com o tempo de [Ô]1000[Ô] pra ser executado a cada 1 segundo.
GFRANGUELLI 19/06/2012 15:00:04
#404475
Olá Adilson, tudo bem?

Não funcionou amigo, se quiser mando o anexo em seu ...hotmail

Um grande abraço,

Gilberto
ADILSOO 19/06/2012 15:07:18
#404478
Não funcionou? qual o erro que deu?
GFRANGUELLI 19/06/2012 15:16:42
#404480
Opa!

Já abre o segundo form, sem executar o tempo.

Obrigado pelo retorno

Gilberto
VELDRAME 19/06/2012 15:32:05
#404484
Private Sub Form_Load()
[ô]Especifica o valor máximo da ProgressBar
prBar.max = 100
Timer.enable = True
End Sub

Private Sub Timer_Timer()
prbar.Value = prbar.Value + 1
If prbar.Value = prBar.max Then
from2.Show
End If
End Sub

Isso prevendo que o Timer esta desativado.
GFRANGUELLI 19/06/2012 15:56:32
#404487
Olá Eric, obrigado pela força!

Funcionou, mas ao terminar o processo da barra abre a janela para depurar

[Ô]Run-time error [ô]380[ô] ==> valor da propriedade inválida[Ô]

na linha:

prbar.Value = prbar.Value + 1

Há! Onde estipulo o tempo para regressão em 3 minutos?

valeu

Gilberto

CRACKER 19/06/2012 16:34:33
#404497
Teste esta maneira:

1- Adicione 1 progressbar e um timer no seu form
2- No timer coloque o Interval=1000 e Enable=True

Depois use esta função:

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
ProgressBar1.Increment(2)
If ProgressBar1.Value <= 30 Then
Label1.Text = [Ô]Inicializando.....[Ô]
ElseIf ProgressBar1.Value <= 50 Then
Label1.Text = [Ô]A carregar Componentes.....[Ô]
ElseIf ProgressBar1.Value <= 70 Then
Label1.Text = [Ô]Integrando Base de Dados....[Ô]
ElseIf ProgressBar1.Value <= 100 Then
Label1.Text = [Ô]Aguarde Por Favor...[Ô]
End If
If ProgressBar1.Value = 100 Then
Timer1.Dispose()
Me.Hide()
LoginForm.Show()--> Form a mostrar no fim da progressbar acabar
End If
End Sub


O texto da label altere ao gosto ou pode até ser nenhum
GFRANGUELLI 19/06/2012 17:01:04
#404501
Olá Cracker, tudo bem?

Então, o VB6 não reconhece as linhas:

...Increment (2)
e
...Dispose()

Que argumento posso utilizar no lugar deles

Obrigado

Gilberto

MARCELO.TREZE 19/06/2012 17:36:17
#404504
o código do colega é para .NET

tenta ai


Dim s As Integer, m As Integer, tp As Integer

Private Sub Form_Load()
m = 3 [ô] os minutos são estipulados aqui
s = 60
tp = s * m
ProgressBar1.Max = tp
ProgressBar1.Min = 0
End Sub

Private Sub Timer1_Timer()
tp = tp - 1
s = s - 1
If s = 0 Then
s = 59
m = m - 1
If m = 0 Then
Timer1.Enabled = False
m = 0
s = 0
End If
End If
Label1.Caption = Format(m - 1, [Ô]00[Ô]) & [Ô]:[Ô] & Format(s, [Ô]00[Ô])
ProgressBar1.Value = tp - 1
End Sub


lembrando que o interval do timer é 1000


ADILSOO 19/06/2012 21:25:03
#404523
Cara, vai mais uma vez olha só..
 Private Sub Timer1_Timer()
Label2.Caption = ProgressBar1
If ProgressBar1 = 180 Then
[ô]Carregue aqui seu form
Else
ProgressBar1 = ProgressBar1 + 1
End If
End Sub

Você somente adiciona um timer e um progressbar no timer vc coloca o código.., define o timer como 1000, e coloca o progressbar com a propriedade MAX = 180
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas