que APIs necesito para...

Iniciado por ricardovinzo, 31 Julio 2008, 19:50 PM

0 Miembros y 1 Visitante están viendo este tema.

ricardovinzo

Saludos, bueno queri saber que APIs son necesarias para descargar n archivo como la API URLDownloaToFile??.. solo especifiquenme si pueden señores las API lo demas me voy para el API Guide y google...

Pero porfa sean lo mas sertero posible! :D

Gracias
3# Convocacion de Moderadores en Code Makers, entra!

cobein

InternetOpen ,InternetOpenUrl , InternetReadFile, InternetCloseHandle 
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

chrominum

Crea un nuevo classmodule con este código y ponle el nombre clsDownload:

Código (vb) [Seleccionar]
Option Explicit

Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
        "URLDownloadToFileA" (ByVal pCaller As Long, _
        ByVal szURL As String, _
        ByVal szFileName As String, _
        ByVal dwReserved As Long, _
        ByVal lpfnCB As Long) As Long

Private Declare Function InternetOpen Lib "wininet" Alias _
        "InternetOpenA" (ByVal sAgent As String, _
        ByVal lAccessType As Long, _
        ByVal sProxyName As String, _
        ByVal sProxyBypass As String, _
        ByVal lFlags As Long) As Long


Private Declare Function InternetCloseHandle Lib "wininet" _
        (ByVal hInet As Long) As Integer


Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Const INTERNET_FLAG_EXISTING_CONNECT = &H20000000
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_OPEN_TYPE_PROXY = 3
Const INTERNET_FLAG_RELOAD = &H80000000



Public Function Get_File(sURLFileName As String, _
                         sSaveFileName As String) As Boolean
    Dim lRet As Long
    On Error GoTo err_Fix
 
    lRet = InternetOpen("", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
    lRet = URLDownloadToFile(0, sURLFileName, sSaveFileName, 0, 0)
    Get_File = True
    Exit Function
err_Fix:
    Debug.Print Err.LastDllError, lRet
    Err.Clear
    Get_File = False
End Function


Luego para descargar el archivo pon este codigo donde quieras

Código (vb) [Seleccionar]
    Dim obj As clsDownload
    Set obj = New clsDownload
    Dim bRet As Boolean
   
    bRet = obj.Get_File(Trim("url"), Trim("direccion donde guardar"))
    If bRet = False Then msgbox "Error!!!"
    Screen.MousePointer = vbDefault
    Set obj = Nothing

cobein

Que es ese mamarracho!!!!???

para que inicias la funciones de internet con InternetOpen si no es necesario? aparte el nunca cerras el handle y para peor nada de eso es necesario si vas a usar URLDownloadToFile

Del Api-Guide:

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
    Dim lngRetVal As Long
    lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
    If lngRetVal = 0 Then DownloadFile = True
End Function
Private Sub Form_Load()
    'example by Matthew Gates (Puff0rz@hotmail.com)
    DownloadFile "http://www.allapi.net", "c:\allapi.htm"
End Sub
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

chrominum

puse lo primero que encontré en internet para el chico, no hace ponerse así, para una vez que hago algo de provecho  :¬¬ :xD