Lazarus/Delphi: Dateien aus dem Netz herunterladen?

2 Antworten

Ich kopiere Dir ein Codeschnipsel her. Es ist Teil aus einer Sammlung. Willst Du die ganze Sammlung (ich habe sie nicht mehr), dann kopiere Text aus dem Schnipsel und frage Google.

Doch vielleicht kommst Du damit zurecht:

function TFrame_myMethode.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;

         end;

         Result := True;

       finally

         InternetCloseHandle(hService);

       end;

   end;

 finally

   InternetCloseHandle(hSession);

 end;

end;

Woher ich das weiß:Studium / Ausbildung – siehe auch Computer

Warum steht in den Tags Python und Daphi? Nun denn, egal ...

Ja, das was du vor hast, ist natürlich leicht möglich!

Steht alles in der offiziellen Dokumentation:

http://wiki.lazarus.freepascal.org/Internet_Tools#Download_a_file:

Ansonsten könntest du vielleicht mal euren Lehrer fragen.

Du könntest auch die dafür vorgesehenen APIs von DropBox oder OneDrive nutzen. Wie das geht, findest du bei Google.