HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Állomány letöltése az internetről programból


Példaprogram letöltése

3861 bájt

Amikor olyan feladatunk akad, melyben egy-egy állományt kellene letöltetnünk egy internetes helyről, akkor általában az FTP protokollt használó valamely komponenshez folyamodunk segítségért. Van azonban egy olyan WinAPI függvény, mely képes arra, hogy egy tetszőleges URL-ről letöltse és egy általunk megadott állományba írja az URL-ben szereplő fájlt.

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;

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 343. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |