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