2010-11-01 22 views
5

Comment puis-je implémenter la fonction Windows suivante dans Delphi?Delphi Télécharger la vidéo à partir d'Internet en utilisant URLDownloadToFile

HRESULT URLDownloadToFile(  
    LPUNKNOWN pCaller, 
    LPCTSTR szURL, 
    LPCTSTR szFileName, 
    DWORD dwReserved, 
    LPBINDSTATUSCALLBACK lpfnCB 
); 

URLDownloadToFile Fonction: http://msdn.microsoft.com/en-us/library/ms775123(VS.85).aspx

La question qui m'a poussé m'a demandé ici.

Downloading flv from youtube using curlpp on top of curl - video not playing

Cordialement, Pieter.

Répondre

11
uses 
    URLMon, ShellApi; 

function DownloadFile(SourceFile, DestFile: string): Boolean; 
begin 
    try 
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; 
    except 
    Result := False; 
    end; 
end; 
+0

Merci! J'aurais dû regarder plus fort dans les unités Delphi avant de poster la question. –

-1

Sans fichier d'en-tête, nous ne pouvons pas savoir ce qui est LPBINDSTATUSCALLBACK par exemple. La meilleure approche consiste à google autour si quelqu'un a déjà fait une conversion de l'ensemble du fichier d'en-tête. S'il n'y en a pas, essayez un convertisseur C to Delphi (http://www.drbob42.com/delphi/headconv.htm, http://cc.embarcadero.com/item/26951). Méfiez-vous qu'ils peuvent seulement convertir 60-80% du code, mais j'espère que la partie qui vous intéresse sera convertie. Si vous êtes toujours coincé après tout cela, alors recherchez la conversion VB de l'en-tête. Ce sera beaucoup plus facile que la conversion de C.

+0

MSDN a toutes les informations dont vous avez besoin. –