Foros del Web » Programación para mayores de 30 ;) » Programación General »

duda con un progressbar en vb6

Estas en el tema de duda con un progressbar en vb6 en el foro de Programación General en Foros del Web. tengo esta accion para un boton y me gustaria saber como puedo hacer que la barra de progreso avance mediante en envio de datos se ...
  #1 (permalink)  
Antiguo 09/12/2003, 20:49
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 21 años, 5 meses
Puntos: 5
duda con un progressbar en vb6

tengo esta accion para un boton y me gustaria saber como puedo hacer que la barra de progreso avance mediante en envio de datos se cumple...lo hice asi pero no se si esta correcto me ayudan..

Private Sub abrir_Click()
On Error GoTo error

ProgressBar1.Value = 0

Dim abrir_cd As String
abrir_cd = abrir.Name
Winsock1.SendData abrir_cd
Text2.Text = Text2.Text + "Abriendo la unidad de Cd..." & vbCrLf

ProgressBar1.Value = 50

If SendData <> 1 Then
Text2.Text = Text2.Text + " <La unidad se abrio>" & vbCrLf
Else
Text2.Text = Text2.Text + " <Error en el host>" & vbCrLf
End If

ProgressBar1.Value = 100

Exit Sub
error:
Text2.Text = Text2.Text + "Error en la Comunicación.." & vbCrLf
Shape1.FillColor = &HFF&

End Sub

salu2
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #2 (permalink)  
Antiguo 10/12/2003, 06:41
Avatar de lic_dahool  
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 21 años
Puntos: 0
Re: duda con un progressbar en vb6

Cita:
Mensaje Original por cadrogui
... If SendData <> 1 Then
Text2.Text = Text2.Text + " <La unidad se abrio>" & vbCrLf
Else
Text2.Text = Text2.Text + " <Error en el host>" & vbCrLf
End If ...
ok, en primer lugar, con esta línea no vas a conseguir nada, ya que SendData no tiene valor.
por otro lado, todo lo que este después del Winsock.SendData se va a ejecutar seguidamente a este, por lo que no podés controlar aquí si se recibió o no. Para eso tenes que usar las propiedades WinSock_Error, para verificar si hubo algún error, WinSock_SendComplete, te comunica que el envío tuvo éxito, también tenes WinSock_SendProgress, pero en este caso no te será muy útil.
lo que yo haría sería lo siguiente:

Private Sub abrir_Click()
On Error GoTo error

ProgressBar1.Value = 0

Dim abrir_cd As String
abrir_cd = abrir.Name
Winsock1.SendData abrir_cd
Text2.Text = Text2.Text + "Abriendo la unidad de Cd..." & vbCrLf

ProgressBar1.Value = 50

Exit Sub
error:
Text2.Text = Text2.Text + "Error en la Comunicación.." & vbCrLf
Shape1.FillColor = &HFF&

End Sub

Private Sub Winsock1_Error( ...)

Text2.Text = Text2.Text + " <Error en el host>" & vbCrLf

end Sub

Private Sub Winsock1_SendComplete()

Text2.Text = Text2.Text + " <La unidad se abrio>" & vbCrLf 'en realidad para saber si abrió el servidor tendría que enviarte una confirmación

ProgressBar1.Value = 100

end Sub

una recomendación que te doy es que incluyas lo siguiente al trabajar con winsock

Private Sub Winsock1_Close()

Winsock1.Close

end Sub

te puede ayudar a evitar algunos problemas en la comunicación.

espero te sea útil.

saludos.
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<
  #3 (permalink)  
Antiguo 10/12/2003, 08:20
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 21 años, 5 meses
Puntos: 5
gracias me sirvio mucho pero esta parte no me funciona

Private Sub Winsock1_Error()

Text2.Text = Text2.Text + " <Error en el host>" & vbCrLf

end Sub

me dice declaracion del procedimiento no coincide con la descripcion del evento....

que sera...


salu2
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #4 (permalink)  
Antiguo 10/12/2003, 08:41
Avatar de lic_dahool  
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 21 años
Puntos: 0
es que en realidad yo lo escribi como winsock_error(...) pero la declaración correcta sería:

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<
  #5 (permalink)  
Antiguo 10/12/2003, 08:47
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 21 años, 5 meses
Puntos: 5
ahh ok
gracias...

salu2
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:27.