Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

NameException

[VB6]Progress Bar

Mensagens Recomendadas

NameException    0
NameException

Boas!!!!

Como é que se programa uma Progress Bar em VB 6.0???????

Private Sub ProgressBar1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

          (???...???)

End Sub

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
David Pintassilgo    5
David Pintassilgo

o que queres fazer com a progressbar?

Aquilo é assim: defines o MAX e o MIN por defeito tá MIN=0 e MAX=100 se não estou em erro

depois metes por exemplo: progressbar1.value=50 e a barra aparece metade preenchida.

Axo que é qualquer coisa assim...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
NameException    0
NameException

Sim, é isso mesmo... mas só funciona ao clique do rato.... como é que faço para preencher a "barra" automaticamente????

Obrigado pela ajuda.....

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
freesumo    0
freesumo

Cria um Form com uma ProgressBar e um Timer, isto é só um exemplo simples e foi feito em VB5.

A barra progride à medida que o tempo passa ou seja de 0 a 60 segundos e depois volta ao principio outra vez  e volta a progredir sem parar (neste caso o Mod 60 tá lá para quando o valor de progress bar  chegar aos 60 voltar a repor o Value a zero, sem isto ia dar erro, experimenta sem o Mod). No teu caso podes renovar de xis em xis tempo utilizando Timer1.Interval (em milisegundos) o valor da progress bar mas atenção não deixes que ela passe do limite máximo.

 
Private Sub Form_Load()
        Timer1.Enabled = False
        Timer1.Interval = 1000
        ProgressBar1.Min = 0
        ProgressBar1.Max = 60
        ProgressBar1.Value = 0
        Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
        Static progress As Integer
        Form1.Caption = Second(Time)
        progress = (progress + 1) Mod 60
        ProgressBar1.Value = progress
End Sub

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
psiico    1
psiico

hmm,eu experimentei isso, e nao da... a progress bar fica com 1 tracinho, e nada mais...

se alguem souber por a progess a andar ao mesmo tempo que um timer, que diga pk m faz falta, obg

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
Tiago Salgado

Private Sub Timer1_Timer()
ProgressBar1.Value = ProgressBar1.Value + 1
End Sub

Basta teres isto, definires os valores Max e Min da Progressbar e definires o Interval do timer.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

eu nao tou a conseguir! tenho tudo direitinho e nao da... :S

Timer.Enabled = True, na Proprieties windows..

E mete um interval de uns 100

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
Tiago Salgado

Indica aqui os valores que estas a por para:

ProgressBar -> Min e Max Value

Timer -> Interval

E o código que estás a por para mostrar a progressbar ( incluindo o Private Sub lalalal para ver se tás a por no evento correcto )

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
psiico    1
psiico

Progressbar1.min = 0

progressbar1.max = 100

timer1.interval = val(text5.text) * 1000 o interval é dado por o user numa text box...

tou a por no evento do timer...

Private Sub Timer1_Timer()

ProgressBar1.Value = ProgressBar1.Value + 1
// mais codigo aki para baixo,mas nao mexe com a progress
End Sub

é isto.. lol

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
Tiago Salgado
progressbar2.max = 100

Isto foi erro de escrita ou tens mesmo assim ?

Fizeste o que o vbmaster indicou ? Pores o Enable = True nas propriedades ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
Tiago Salgado

foi 1 erro.. (edit now!)

sim fiz...

k enable = true?

Selecciona o Timer e dps nas propriedades mete a Enable a True.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
psiico    1
psiico

eu tenho este comando aki k liga o timer...

Private Sub Command1_Click()
If IsNumeric(Text5.Text) Then
Timer1.Interval = Val(Text5.Text) * 1000
End If
Command1.Enabled = False
Text5.Text = ""
Timer1.Enabled = True
End Sub

por isso kuando o timer fica ligado ele n anda c a progress

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
freesumo    0
freesumo

O exemplo não dá psiico !? Hmmm, estranho no meu dá na boa, e precisa do Mod 60, se não tiver o Mod dá run time error 380 (invalid property value). :hmm:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

Mas que código tão mal estruturado.... :) vou te dar uamvolta nisto... das grandes...

Diz-me só, para que serve afinal a progress bar?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
psiico    1
psiico

lool! nao ponhas isso em "chines" add uns comments s for preciso para eu perceber isso.. a progess é para marcar o tempo do timer, ou seja o tempo  para a pessoa acertar nos numeros...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

lool! nao ponhas isso em "chines" add uns comments s for preciso para eu perceber isso.. a progess é para marcar o tempo do timer, ou seja o tempo  para a pessoa acertar nos numeros...

Pois, então o código está mesmo mal feito... :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
Tiago Salgado

Realmente aquilo tá mal feito...tens uma confusão enorme no timer. Deu para perceber que ainda não entendeste muito bem o funcionamento do timer. Vou tentar explicar-te:

Usas o timer para que seja efectuada determinada tarefa (código que está associado ao timer) de x em x tempo, onde tens o Interval para definir.

Quando defines um Interval de 15000 (q foi o que fizeste na tua aplicaçao) significa que o código do timer só vai ser executado 15 em 15 segundos.

Para fazer o que tu queres, que é definir um tempo máximo de 15 segundos para a resolução do problema, terás que usar uma variavel que irá ser incrementada de segundo em segundo, e terás que ter um If dentro desse timer, que verifique o valor dessa mesma variavel. Quando o valor for 15 entao aí é que indicas que o tempo terminou.

Espero que tenhas percebido melhor como usar o timer.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

Epah eu estava agora a tentar fazer alguma coisa, mas faria melhor começando do 0 pois aquilo está tudo engatado, e como não tenho tempo para isso hoje,é melhores estudares mesmo o que um timer faz...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade