Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: .:Weeds:. en 24 Mayo 2012, 21:08 pm



Título: Descargar archivo desde vb6
Publicado por: .:Weeds:. en 24 Mayo 2012, 21:08 pm
Hay alguna forma de descargar archivos desde vb6 sin usar el mscomctl.ocx(lo usan inet y URLDownloadToFile), ya que me he dado cuenta que en algunos pcs no funciona mi aplicación debido a la falta de ese archivo y me es mas fácil re programar mi aplicación que ir ayudando a la gente 1 por 1 a que funcione, si conocéis métodos en otros lenguajes de programación también son bien venidos.

Saludos


Título: Re: Descargar archivo desde vb6
Publicado por: seba123neo en 24 Mayo 2012, 22:05 pm
busca en el foro, ya se hablo bastante de esto y hay varias formas, que yo sepa la api URLDownloadToFile esta en la dll de windows llamada urlmon, no tiene nada que ver con el ocx mscomctl, igualmente esa api te traba todo antes de que termine, la mejor forma es bajar de forma asyncrona con un usercontrol.

http://foro.elhacker.net/programacion_visual_basic/duda_vb_con_web-t361796.0.html (http://foro.elhacker.net/programacion_visual_basic/duda_vb_con_web-t361796.0.html)


Título: Re: Descargar archivo desde vb6
Publicado por: .:Weeds:. en 24 Mayo 2012, 22:22 pm
busca en el foro, ya se hablo bastante de esto y hay varias formas, que yo sepa la api URLDownloadToFile esta en la dll de windows llamada urlmon, no tiene nada que ver con el ocx mscomctl, igualmente esa api te traba todo antes de que termine, la mejor forma es bajar de forma asyncrona con un usercontrol.

http://foro.elhacker.net/programacion_visual_basic/duda_vb_con_web-t361796.0.html (http://foro.elhacker.net/programacion_visual_basic/duda_vb_con_web-t361796.0.html)

Pues a mi esa api me va de maravilla el problema es que a un windows recien instalado no :S, probare como me has comentado a ver que tal.

Saludos y gracias.


Título: Re: Descargar archivo desde vb6
Publicado por: seba123neo en 24 Mayo 2012, 22:47 pm
te puede ir bien para archvos chicos, pero si bajas algo de 50 megas se tte traba hasta que no termina la descarga, en cambio de la forma que te digo, no se traba, podes hacer multiples descargas simultaneas y hasta podes ver el progreso de cada una de ellas, todo eso esta en el usercontrol.


Título: Re: Descargar archivo desde vb6
Publicado por: BlackZeroX en 25 Mayo 2012, 05:02 am
Citar
te puede ir bien para archvos chicos, pero si bajas algo de 50 megas se tte traba hasta que no termina la descarga...

creando un hilo con alguna sub-clasificacion (la unica manera en que un hilo no truena en vb6) jala perfecto... lo malo es que es mucho lio...

Dulces Lunas!¡.


Título: Re: Descargar archivo desde vb6
Publicado por: .:Weeds:. en 26 Mayo 2012, 20:28 pm
Vale me he dado cuenta que el problema no es el metodo de descarga si no que todos los windows recien instalados carecen de los componentes necesarios para ejecutar aplicaciones de visual basic(mscomctl y comctl32). Ni siquiera windows vista los tiene instalados que es mas nuevo que el xp.
Saludos.


Título: Re: Descargar archivo desde vb6
Publicado por: Saberuneko en 29 Mayo 2012, 10:28 am
Hmm, entonces podrías hacer un instalador para tu aplicación, que incluya dichos componentes y los instale junto a tu programa. Debería ser posible.

Un Saludo.


Título: Re: Descargar archivo desde vb6
Publicado por: .:Weeds:. en 2 Junio 2012, 20:52 pm
Me he dado cuenta que dejando el ocx en el directorio donde se encuentra la aplicacion este lo carga y el programa se ejecuta correctamente, sabeis si haciendo esto lo cargara siempre correctamente o me puede causar errores?

Saludos.


Título: Re: Descargar archivo desde vb6
Publicado por: seba123neo en 3 Junio 2012, 08:38 am
si puede ser que el visual basic primero lo busque donde esta el programa, pero ese ocx va en la carpeta system32 del windows, por lo menos el visual basic mismo instala ahi todos los ocx.


Título: Re: Descargar archivo desde vb6
Publicado por: Saberuneko en 4 Junio 2012, 08:40 am
Me he dado cuenta que dejando el ocx en el directorio donde se encuentra la aplicacion este lo carga y el programa se ejecuta correctamente, sabeis si haciendo esto lo cargara siempre correctamente o me puede causar errores?

A eso me refería exactamente, con esto otro:

...podrías hacer un instalador para tu aplicación, que incluya dichos componentes y los instale junto a tu programa...

A mí siempre me ha funcionado, vamos.
(Nótese de todas formas que trabajo con VB6, igual no funciona con otras cosas más recientes.)

Un Saludo.


Título: Re: Descargar archivo desde vb6
Publicado por: Psyke1 en 4 Junio 2012, 23:28 pm
Código
  1. '
  2. ' ///////////////////////////////////////////////////////////////////////////
  3. ' // Autor: BlackZeroX ( Ortega Avila Miguel Angel )  
  4. ' //                                                  
  5. ' // Web: http://InfrAngeluX.Sytes.Net/                
  6. ' //                                                        
  7. ' // |-> Pueden Distribuir Este Código siempre y cuando      
  8. ' // no se eliminen los créditos originales de este código    
  9. ' // No importando que sea modificado/editado o engrandecido  
  10. ' // o achicado, si es en base a este código                
  11. ' //////////////////////////////////////////////////////////////////////////
  12. Option Explicit
  13. Function DescargarArchivo(strDowload As String, SaveOn As String) As Long
  14. On Error GoTo 1:
  15. Dim xml                     As Object
  16. Dim adoStream               As Object
  17.    Set xml = CreateObject("Microsoft.XMLHTTP")
  18.    Set adoStream = CreateObject("Adodb.Stream")
  19.    Call xml.Open("GET", strDowload, 0)
  20.    Call xml.Send
  21.    adoStream.Type = 1
  22.    Call adoStream.Open
  23.    Call adoStream.write(xml.responseBody)
  24.    Call adoStream.SaveToFile(SaveOn, 2)
  25.    Call adoStream.Close
  26.    DescargarArchivo = 1
  27. Exit Function
  28. 1:
  29. End Function
  30.  

DoEvents! :P


Título: Re: Descargar archivo desde vb6
Publicado por: seba123neo en 5 Junio 2012, 00:10 am
esa funcion la habia posteado primero el usuario ||MadAntrax||

Downloader sin API's sin DLL's sin OCX's... solo una Función! (http://foro.elhacker.net/programacion_visual_basic/source_downloader_sin_apis_sin_dlls_sin_ocxs_solo_una_funcion-t165233.0.html)


Título: Re: Descargar archivo desde vb6
Publicado por: BlackZeroX en 5 Junio 2012, 08:10 am
.
Uff de eso ya hace bastante tiempo, recuerdo que la cree cuando empezaba con Ajax y la traduje a vb6 después vi que era un molde bastante "básico" y rutinario (repetible) por decirlo de alguna manera, en su tiempo quedo aclarado el asuntito.

Llenándonos a algo mas de lleno a quien le agrade el diseño y codificación web lo sabra...

http://www.w3schools.com/ajax/default.asp

Dulces Lunas!¡.


Título: Re: Descargar archivo desde vb6
Publicado por: LeandroA en 6 Junio 2012, 19:46 pm
Ese metodo es lindo para trabajar asicrono, por las dudas aparte de usar un timer sabes si se pude disparar el envento onreadystatechange, utilizando createobject.

Saludos.