Título: Bajar un archivo de una url con progreso Publicado por: yalosabes en 14 Febrero 2006, 04:27 am DEjo un ejemplo que saquè de la pàgina de micro$oft de como descar un archivo de una url mediante el control Inet. Yo le agreguè una barra de progreso pero no usando el Progressbar , sino mediante 2 Shape. Poner un command1 que comienza la descarga Un Control Inet 2 Shapes, Shape1 y Shape2 Nota: El Shape1 se usa para mostar el contorno del total del progreso, y el shape2 es el que va aumentando, es decir el progreso. Private Sub Command1_Click() Inet1.AccessType = icUseDefault Inet1.URL = "http://upx.sourceforge.net/download/upx124w.zip" Inet1.Execute , "GET" 'Indicamos que vamos a descargar o recuperar un _ archivo desde una url End Sub Private Sub Inet1_StateChanged(ByVal State As Integer) Dim vtData As Variant 'acá almacenamos los datos Dim nomArchivo As String 'extraemos de la ruta entera solo el nombre del archivo nomArchivo = Right(Inet1.URL, Len(Inet1.URL) - InStrRev(Inet1.URL, "/")) Select Case State Case icResponseCompleted Dim bDone As Boolean: bDone = False Dim tempArray() As Byte ' Un array para grabar los datos en un archivo 'Para saber el tamaño del fichero en bytes filesize = Inet1.GetHeader("Content-length") 'Establecemos el Max del = a al tamaño del archivo contenttype = Inet1.GetHeader("Content-type") 'Creamos y abrimos un nuevo archivo en modo binario Open App.Path + "\" + nomArchivo For Binary As #1 ' Leemos de a 1 Kbytes. El segundo parámetro indica _ el tipo de fichero. Tipo texto o tipo Binario, en este caso _ binario vtData = Inet1.GetChunk(1024, icByteArray) DoEvents 'Si el tamaño del fichero es 0 ponemos bDone en True para que no _ entre en el bucle If Len(vtData) = 0 Then bDone = True End If Shape2.Width = 0 Do While Not bDone 'Almacenamos en un array el contenido del archivo tempArray = vtData 'Escribimos el archivo en disco Put #1, , tempArray 'Aumentamos la barra Shape2.Width = Shape2.Width + (Len(vtData) * 2) * Shape1.Width / filesize ' Leemos de pedazos de a 1 kb (1024 bytes) vtData = Inet1.GetChunk(1024, icByteArray) DoEvents If Len(vtData) = 0 Then bDone = True End If Loop Close #1 End Select End Sub Título: Re: Bajar un archivo de una url con progreso Publicado por: Robokop en 14 Febrero 2006, 04:54 am Citar Yo le agreguè una barra de progreso pero no usando el Progressbar , sino mediante 2 Shape tu se lo agregaste o MAS BIEN querras decir la copiaste de canal visual basicTítulo: Re: Bajar un archivo de una url con progreso Publicado por: yalosabes en 14 Febrero 2006, 04:58 am copie el texto completamente de canal visual basic, sin embargo me parecio bueno ponerlo en este foro, porque podria ser de utilidad para alguien, o estoy ekivokado?
Título: Re: Bajar un archivo de una url con progreso Publicado por: Kizar en 14 Febrero 2006, 23:00 pm Cuando pongas algun codigo o alguna cosa k no es tuya, pon siempre la fuente de la que proviene y el autor, por respeto al autor que se lo a currao y por si nos apetece leer todo el articulo.
Porque copiar y pegar lo sabemos hacer todos. Salu2 Título: Re: Bajar un archivo de una url con progreso Publicado por: Robokop en 15 Febrero 2006, 02:55 am copie el texto completamente de canal visual basic, sin embargo me parecio bueno ponerlo en este foro, porque podria ser de utilidad para alguien, o estoy ekivokado? Pues parecio que te quisieras ameritar los creditos porque primero lo dijiste que lo sacaste de una pagina de microsoft y despues k tu le agregaste los shapes |