Ez a függvény az URLDownloadToFile névre hallgat és az Urlmon unitban kapott helyet, így használata előtt ne feledkezzünk meg az erre történő hivatkozásra.

URLDownloadToFile
HRESULT URLDownloadToFile(
LPUNKNOWN pCaller,
LPCTSTR szURL,
LPCTSTR szFileName,
DWORD dwReserved,
LPBINDSTATUSCALLBACK lpfnCB
);
Az URLDownloadToFile függvény használatával egy megadott URL címről letölthetünk egy állományt és azt egy tetszőleges helyre elmenthetjük.
Paraméterek
LPUNKNOWN pCaller
Ha a hívás ActiveX komponensből történik, akkor annak IUnknow interfészét kell megadnunk a pCaller paraméterben.
LPCTSTR szURL
A letöltendő állomány URL címe.
LPCTSTR szFileName
A létrehozandó állomány neve, elérési útja, amelybe a letöltött állomány kerül másolásra.
DWORD dwReserved
Fenntartott.
LPBINDSTATUSCALLBACK lpfnCB
IBindStatusCallback interfész. Ezen az interfészen keresztül lehetőségünk van a letöltés folyamatát nyomon követni (OnProgress), illetve értesítést kaphatunk arról is, hogy a letöltés befejeződött (OnDataAvailable).
Visszatérési érték
S_OK érték, ha a művelet sikeres volt.
Nézzük most a gyakorlatban miként is használható ez a függvény. Számunkra most csak a második és harmadik paraméter lesz érdekes. A másodikban megadunk egy URL-t, mely megcímez egy állományt az interneten, míg a harmadikban megadunk egy olyan állomány nevet, ahová az URL által címzett állományt szeretnénk, ha másolásra kerülne.
procedure TForm1.Button1Click(Sender: TObject);
begin
if URLDownloadToFile(nil, 'http://www.animare.hu/pic/as.gif', 'c:\Animare Software.gif', 0, nil)=0 then begin
Label1.Caption:='c:\Animare Software.gif';
end else begin
Label1.Caption:='hiba';
end;
end;