Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/08/2012, 20:27
wyrms
 
Fecha de Ingreso: agosto-2012
Mensajes: 5
Antigüedad: 11 años, 9 meses
Puntos: 0
Pregunta ¿descargar un archivo al darle a un botón, y ver el progreso y velocidad de descarga?

Hola, muy buenas.

El problema que tengo es que soy nuevo y por eso no me aclaro...

haber, tengo en una pestaña de mi formulario 5 descargas, cada una en un botón diferente con este código:

Código:
System.Diagnostics.Process.Start("http… del archivo")
se me abre el navegador y empieza la descargar, hasta aquí todo bien.

pero la idea no es esta, es que al darle a descargar, la barra de progreso que tengo en el proyecto avance con la descarga, bueno con todas, cuando le de a un botón se lance el progressbar y cuando pulse otro lo mismo.

tengo el progressbar con un timer, pero esta mas que de adorno, hace el relleno de la barra y se para ya esta.

también me gustaría que en el mismo directorio donde este el programa que he diseñado, cree una carpeta donde guarde las descargas, ya sea data, descargas o lo que sea.

he encontrado como hacer navegadores o programas escribiendo la dirección de descarga y la dirección de guardar, pero no es lo que busco, lo que busco es que solo apretando el botón, descargue y guarde el archivo en la carpeta preestablecida y se cree si no esta en el directorio la carpeta.

edit:

he encontrado este código:

Código:
Function Descargar(ByVal Url As String, ByVal Path_Destino As String) As Boolean
If Url = vbNullString Or Path_Destino = vbNullString Then
MsgBox("No se indicó la url o el archivo de destino", MsgBoxStyle.Critical, "Error")
Else
If Len(Dir(Path_Destino)) <> 0 Then
MsgBox("el archivo ya existe.", MsgBoxStyle.Exclamation, "Error")
Else
On Error Resume Next
My.Computer.Network.DownloadFile(Url, Path_Destino)
If Err.Number = 0 Then
Descargar = True
Else
MsgBox(Err.Description)
End If
Err.Clear()
Shell(Path_Destino)
End If
End If
End Function
y para los botones pongo este código:

Código:
Descargar("http://dirección del archivo", "dirección de guardado")

ahora me queda como enlazarlo a un progressbar genérico para todas las descargas con su timer si debe llevarlo.

para descargar deveria usar usar la clase

WebClient Class

ya que esta expone un evento DownloadProgressChanged

que podría usar para reflejar el progress.

llevo 3 noches enteras acostándome a las 7 de la mañana y no doy con la tela. necesitaría un evento al cual usar con cada botón, y poder ver la barra de progreso con lebel de %, tamaño del archivo y velocidad de descarga.

lo necesito para mi programa y no veo como hacerlo, he escarbado internet afondo, veo con textbox para poner ruta del archivo a descargar y ruta de guardado, pero no es lo q necesito, necesito q al apretar cada botón de descarga, se inicie la descarga correspondiente, toy todo loco, no me sale por mas q lo intento.

es para visual basic 2010.
haber si me pueden echar una mano, y no me sale, descarga, pero no informa.

muchas gracias de antemano al que me pueda echar una ayudita con el código, soy nuevo y agradecería que la explicación sea con detalles .

de verdad muchas gracias.

un saludo .