[Ayuda] Programcion De Progressbar

Iniciado por Caluccy82, 19 Julio 2014, 18:06 PM

0 Miembros y 1 Visitante están viendo este tema.

Caluccy82

Soy un novato y estoy aprendieno a programar en VB 2012. Necesito ayuda con lo sigunete:

Quiero agreagar un progressbar a mi programa para que se llene dependiendo en cuantos segundos faltan para que llege al valor ingreso en un TextBox. El Valor ingreso en un text box es comparado con un valor de un timer (cronometro) . Mi codigo abajo:
-----------------------------------------------------

Public Class Form1
    Private hour As Integer = 0
    Private minute As Integer = 0
    Private second As Integer = 0

    Public Sub show_time()
        second += 1
        If second = 59 Then
            second = 0
            minute += 1
            If minute = 59 Then
                minute += 1
                hour += 1
            End If
        End If

        Label3PrgressStdPC.Text = hour.ToString.PadLeft(2, "0") & ":"
        Label3PrgressStdPC.Text &= minute.ToString.PadLeft(2, "0") & ":"
        Label3PrgressStdPC.Text &= second.ToString.PadLeft(2, "0")
        Label3PrgressStdPC.Refresh()

    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        show_time()
        TextBox1.SelectedText = TextBox1.Text
        If TextBox1.SelectedText = Label3PrgressStdPC.text Then
            Timer1.Stop()
            MsgBox("time is up")
        End If
    End Sub

    Private Sub Bn_start_St01_Click(sender As Object, e As EventArgs) Handles Bn_start_St01.Click
        Timer1.Start()
        Timer2.Start()
        Timer1.Enabled = True
        Timer2.Enabled = True
    End Sub

    Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint

    End Sub

    Private Sub ProgressBar1_Click(sender As Object, e As EventArgs) Handles ProgressBar1.Click
        ProgressBar1.Maximum =???????????????????
        ProgressBar1.Minimum = 0
        Timer2.Interval = 1000
    End Sub

    Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
        ProgressBar1.Value = val
        val = ????????????????????????
        If (?????????? = ???????????) Then
            Timer2.Stop()
        End If
    End Sub


End Class
--------------------------------------------------------------------

Sugerencias :huh:?

Muchas Gracias

FranciskoAsdf

#1
Debes saber el maximo de tiempo que procesara el progresbar. Por ejemplo, si dices que el tiempo máximo lo tomas de un textbox, entonces debería ser

Código (vb) [Seleccionar]

ProgressBar1.Maximum = Val(Text1.Text)


El Valor inicial del PB debes hacerlo en el FormLoad(en verdad no estoy seguro como funciona el PB en vb2012)

Después debes sumar el valor inicial por 1 hasta que llegue al valor final.

Código (vb) [Seleccionar]

Do While Not Timer1.Stop
ProgressBar1.Value = ProgressBar1.Value + 1
Do Events ' no estoy seguro si esta sentencia funciona en VB2012
Loop
'asdf


Espero que esto te de alguna idea, dejare un código que uso para hacer una carga en una pantalla de inicio. Debes tener en cuenta que esto esta hecho en VB6.0

Código (vb) [Seleccionar]

Private Sub Form_Activate()
  Set rs = LoadRecordSet("SELECT * FROM CLLDB ORDER BY Material")
  ProgressBar1.Max = rs.RecordCount
  ProgressBar1.Value = 0
  Do While Not rs.EOF
     ProgressBar1.Value = ProgressBar1.Value + 1
     DoEvents
     rs.MoveNext
  Loop
  Form6.Show
  Unload Me
End Sub


Código (vb) [Seleccionar]

Private Sub Form_Load()
  ProgressBar1.Min = 0
End Sub


Saludos.
Asdf debería ser algún tipo de función.

XresH

Como sugerencia te digo que el code de FranciskoAsdf es correcto, y que deberias manipular tu PB en cualquier VB con los valores de 0 y 100(Propiedades Min & Max en V6)

A veces el valor que queres controlar es mayor, podrias buscar la forma de convertir o "trasladar" esos valores siempre asumiendo un rango de 0~100 para evitar confusiones, al menos a mi me ha servido de mucho en un inicio ya que al momento de hacer "cuentas" en el PB solo me queda un rango de numeros completamente unico(0/100)

Saludos.
[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<