Bilder aus dem Netz saugen

Also, moin erstmal,
ich schreibe gerade an einem Programm, welches auf eine Suchmaschiene für Bilder zugreift und dann die entsprechenden Treffer herunterladen und speichern soll.
Nach einigem Mühen gelang es mir tatsächlich alle URLs (die der Bilder) herauszufinden und in einer ListBox zu speichern. Diese Bilder kann ich nun auch mit dem WebBrowser ansehen, und von dort aus auch von Hand speichern aber was mir fehlt ist eine Funktion, die das Bild direkt aufgrund der URL in eine Variable läd oder auf die Festplatte speichert oder in ein Image ablegt (was ja eigentlioch auch wieder eine Variable ist).

Danke

PS: War das sehr unklar?

Hi

Ich habe hier einen Code (unbekannter Verfasser), der beliebige Dateien downloaded.

Code:

uses 
 Wininet; 

function DownloadURL(const aUrl: string): Boolean; 
var 
 hSession: HINTERNET; 
 hService: HINTERNET; 
 lpBuffer: array[0..1024 + 1] of Char; 
 dwBytesRead: DWORD; 
begin 
 Result := False; 
 // hSession := InternetOpen( 'MyApp', INTERNET\_OPEN\_TYPE\_DIRECT, nil, nil, 0); 
 hSession := InternetOpen('MyApp', INTERNET\_OPEN\_TYPE\_PRECONFIG, nil, nil, 0); 
 try 
 if Assigned(hSession) then 
 begin 
 hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, 0, 0); 
 if Assigned(hService) then 
 try 
 while True do 
 begin 
 dwBytesRead := 1024; 
 InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead); 
 if dwBytesRead = 0 then break; 
 lpBuffer[dwBytesRead] := #0; 
 Form1.Memo1.Lines.Add(lpBuffer); 
 end; 
 Result := True; 
 finally 
 InternetCloseHandle(hService); 
 end; 
 end; 
 finally 
 InternetCloseHandle(hSession); 
 end; 
end; 

Der Aufruf erfolgt dann folgendermassen:

if DownloadFile('http://www....jpg', 'c:\test.jpg') then showmessage('Juchu!!'); 

Hab das erst einmal getestet und da hat es eigentlich geklappt. Ich hoffe das hilft dir.

Dennis