Página 1 de 1

Problema con inetget

Publicado: 01 Feb 2013, 23:03
por wiloson
Bueno muchachos vengo otra vez a molestarlos con una pequeña duda estoy trabajando en un programa que utiliza la funcion inetget todo bien, pero cuando quería crearle una gui no me descargaba los archivos ejemplo

Código: Seleccionar todo

$S=inputbox("link","XD")
InetGet($S,@ScriptDir&"descargado.rar")  
con este metodo funcionaba de lujo pero con una gui mas compleja ejemplo esta no servia :smt017

Código: Seleccionar todo



#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("._.", 417, 141, 295, 124)
$s= GUICtrlCreateInput("", 40, 32, 361, 21)
$Button1 = GUICtrlCreateButton("Empezar", 88, 56, 241, 41)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
			Case $Button1
			cv()
		Case $GUI_EVENT_CLOSE

			Exit

	EndSwitch
WEnd
Func cv ()
InetGet($s,@ScriptDir &"cju.rar")
EndFunc
Aclaro verifico que los links que coloco son de descarga directa

bueno gracias por el tiempo prestado :smt006

Re: Problema con inetget

Publicado: 03 Feb 2013, 14:51
por Chefito
Esta línea está mal:
wiloson escribió:InetGet($s,@ScriptDir &"cju.rar")
Tiene varios fallos. Seguramente debería ser así:

Código: Seleccionar todo

InetGet(GUICtrlRead($s),@ScriptDir & "\cju.rar")
GUICtrlRead($s) es para leer el texto que contienen muchos controles, como en este caso el control GUICtrlCreateInput. $s contiene el id del objeto para trabajar con él.

@ScriptDir & "\cju.rar", seguramente te falta la barra invertida. Decirte que si estás en un directorio se la tienes que poner, y si estás en una unidad raíz (ejemplo en c:\), no se la pongas porque la macro @scriptdir te devuelve la ubicación raíz con la barra invertida. Si lo quieres hacer perfecto, tendrías que hacer una función que te detectase si al final de la cadena devuelta hay una barra invertida o no, para ponérsela en el caso que no la haya. Es muy fácil hacerla. Si buscas por el foro códigos ya hechos, seguro que encuentras como hacerlo, pero creo que es más rápido que lo intentes hacer tu :smt002 . Mira en la ayuda la función stringright.

También podrías hacer un tratamiento de errores de la función inetget y lo rizas :smt002 .

Si tienes algún problema sigue preguntando.

Saludos.

Re: Problema con inetget

Publicado: 03 Feb 2013, 17:04
por wiloson
Gracias chefito muy amable por la ayuda ya lo pude solucionar y el problema era de la bara invertida y de guictrlread :smt023