Página 1 de 1

Descargar

Publicado: 07 Jul 2014, 03:30
por yasmany
Un buen inicio de semana a todos, una ayuda si fuese posible.
Quisiera ver el modo de establecer el avance de la barra de progreso para que termine de llenarse en cuanto el archivo también se haya ya descargado.
actualmente voy llenado de 1 en uno y si ya se llena la barra de progreso la vuelvo a vaciar y continua llenando.
Como podría hacer para que la barra de progreso se llene y termine al igual que el archivo ya se encuentre descargado.

Espero su ayuda, gracias :smt024
Ubico el code:

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#NoTrayIcon
$Form1 = GUICreate("Form1", 363, 215, 192, 124,$WS_BORDER)
$Button1 = GUICtrlCreateButton("Descargar", 16, 24, 331, 121)
$Progress1 = GUICtrlCreateProgress(16, 160, 334, 17)
GUISetState(@SW_SHOW)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			descargar()
	EndSwitch
WEnd

Func descargar()
	#Alternate
	Local $hDownload = InetGet("http://gestionobras.googlecode.com/files/La%20Biblia%20del%20Java%202%20-%20Holzner,%20Steven%20-%20Anaya%20Multimedia.pdf", @DesktopDir & "\Java2.pdf", 1, 1)
	Do
		GUICtrlSetData($Progress1, GUICtrlRead($Progress1) + 1)
		If GUICtrlRead($Progress1) = 100 Then
			GUICtrlSetData($Progress1, 1)
		EndIf
		Sleep(250)
	Until InetGetInfo($hDownload, 2) ; Chequea si la descarga es completada
	GUICtrlSetData($Progress1, 100)
	Sleep(500)
	GUICtrlSetData($Progress1, 0)
	MsgBox(64,"Aviso Descarga","Descarga Terminada",-1)
	InetClose($hDownload) ; Cierrra el identificador para liberar el recurso
EndFunc   ;==>descargar

Re: Descargar

Publicado: 07 Jul 2014, 17:11
por PDF
Hola
Lo puedes hacer con InetGetInfo, que devuelve el progreso de la descarga con el parametro 0 para index, asi...

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#NoTrayIcon
$Form1 = GUICreate("Form1", 363, 215, 192, 124,$WS_BORDER)
$Button1 = GUICtrlCreateButton("Descargar", 16, 24, 331, 121)
$Progress1 = GUICtrlCreateProgress(16, 160, 334, 17)
GUISetState(@SW_SHOW)

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit
      Case $Button1
         descargar()
   EndSwitch
WEnd

Func descargar()
   #Alternate
   Local $totalsize=InetGetSize("http://gestionobras.googlecode.com/files/La%20Biblia%20del%20Java%202%20-%20Holzner,%20Steven%20-%20Anaya%20Multimedia.pdf")
   Local $hDownload = InetGet("http://gestionobras.googlecode.com/files/La%20Biblia%20del%20Java%202%20-%20Holzner,%20Steven%20-%20Anaya%20Multimedia.pdf", @DesktopDir & "\Java2.pdf", 1, 1)
   Do
	   $progreso=(InetGetInfo($hDownload,0)*100)/$totalsize
	  If @error then ExitLoop
      GUICtrlSetData($Progress1, $progreso)
   Until InetGetInfo($hDownload, 2) ; Chequea si la descarga es completada
   GUICtrlSetData($Progress1, 100)
   Sleep(500)
   GUICtrlSetData($Progress1, 0)
   MsgBox(64,"Aviso Descarga","Descarga Terminada",-1)
   InetClose($hDownload) ; Cierrra el identificador para liberar el recurso
EndFunc   ;==>descargar
Saludos..

Re: Descargar

Publicado: 07 Jul 2014, 18:56
por yasmany
Muchas Gracias por tu ayuda PDF. me ha sido muy util tu ayuda. :smt024

Re: Descargar

Publicado: 25 Jul 2014, 06:49
por mcr_bkn
Muchas gracias es de mucha utilidad...

Saludos!