Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Datei downloaden? (https://www.delphipraxis.net/49865-datei-downloaden.html)

Pseudemys Nelsoni 17. Jul 2005 12:01


Datei downloaden?
 
Moin,

ich möchte eine Datei aus dem Internet laden, wie stell ich das (OHNE Indy) an?
Da bleibt mir ja nur TClientSocket oder? Wie könnt ich denn damit nach dem verbinden mit dem HTTP Serv eine datei runterladen? (Wie man sie anfordert weiss ich, aber nicht wie man das downloaden dann beginnt)

Die Muhkuh 17. Jul 2005 12:03

Re: Datei downloaden?
 
URLDownloadToFile (oder so ähnlich)

100nF 17. Jul 2005 12:11

Re: Datei downloaden?
 
hallo,

ich könnte wetten dass du die suche nicht benutzt hast.
in der code-Library findest du alles was du brauchst

such doch mal nach urldownloadtofile, wie von spider schon erwähnt

Pseudemys Nelsoni 17. Jul 2005 13:11

Re: Datei downloaden?
 
Moin,

ich möchte aber während des downloads wissen, wieviele bytes bereits gedownloadet sind. das kann ich mit urldownloadtofile wohl nicht oder?

Ultimator 17. Jul 2005 13:13

Re: Datei downloaden?
 
Das kannst du aber mit den Indys (TIdHTTP).
Hier im Forum gibts einige Beiträge, die das Runterladen mit Progressbar erklären.

//edit Ups :oops: *hehe*
Aber wieso keine Indys? Die sind doch eigentlich das Maß der Dinge für Intertnetsachen :gruebel:

Pseudemys Nelsoni 17. Jul 2005 13:33

Re: Datei downloaden?
 
Und ich habe aber geschrieben:

Zitat:

ich möchte eine Datei aus dem Internet laden, wie stell ich das ___(OHNE Indy)___ an?

turboPASCAL 17. Jul 2005 13:42

Re: Datei downloaden?
 
:gruebel: So:
Delphi-Quellcode:
// ...für die bei denen die Online Hilfe von Delphi (PE) streikt.
// uses ..., WinINet;

// CopyURL('http://www.Samples.com/Images/Image001.jpg', 'C:\Downloaded_Image001.jpg')

function CopyURL(const URL, OutputFile: string): Boolean;
const
  BufferSize = 2048;
var
  hSession, hURL: HInternet;
  Buffer: array[0..Pred(BufferSize)] of Byte;
  BufferLength: DWORD;
  f: file;
  m: tmsg;
begin
  Result := False;
  hSession := InternetOpen('User', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    hURL := InternetOpenURL(hSession, PChar(URL), nil, 0, 0, 0);
    try
      Assign(f, OutputFile);
      Rewrite(f, 1);
      repeat
        if PeekMessage(M, 0, 0, 0, pm_Remove) then
        begin
          TranslateMessage(M);
          DispatchMessage(M);
        end;
        InternetReadFile(hURL, @Buffer, BufferSize, BufferLength);
        BlockWrite(f, Buffer, BufferLength);

      until BufferLength = 0;
      Close(f);
      Result := True; { if we get here, we succeeded }
    finally
      InternetCloseHandle(hURL);
    end;
  finally
    InternetCloseHandle(hSession);
  end;
end;

Pseudemys Nelsoni 17. Jul 2005 13:58

Re: Datei downloaden?
 
Moin,

danke für dein Code-Beispiel.

wo ist denn die Methode "SetActiveState" definiert?

turboPASCAL 17. Jul 2005 14:15

Re: Datei downloaden?
 
:oops: Ups, hatte ich vergessen "Form1.SetActiveState(stWork);" herauszunehmen. (korrigiert)

100nF 17. Jul 2005 16:36

Re: Datei downloaden?
 
http://www.delphipraxis.net/internal...ght=downloaden


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz