Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Mehrere Dateien downloaden (https://www.delphipraxis.net/15771-mehrere-dateien-downloaden.html)

horst 3. Feb 2004 21:34


Mehrere Dateien downloaden
 
Hallo ...
Mit dem Beispiel unten kann ich eine Datei aus dem Internet laden.
Wie kann ich damit 4 oder 5 Dateien laden, liegen auf dem gleichen Server?
Wer mag mir helfen?
Delphi-Quellcode:
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
  except
    Result := False;
  end;
end;

procedure TForm1.DateienausdemInternetdownloaden1Click(Sender: TObject);
var
  SourceFile, DestFile: String;
begin
// URL Location
SourceFile = 'http://www.url.de/start.htm';
 // Where to save the file
destfile:=(extractfilepath(application.exename) + ('\html\start.htm'));
  if DownloadFile(SourceFile, DestFile) then
   begin
    ShowMessage('Download succesful!');
  end
  else
    ShowMessage('Mit dem Internet verbunden? Kann die Datei ' + ' ' + SourceFile +' nicht downloaden')
end;

Luckie 3. Feb 2004 21:38

Re: Mehrere Dateien downloaden
 
In dem du in einer Schleife DownloadFile aufrufst mit jeweils den entsprechenden Dateinamen?

horst 3. Feb 2004 21:40

Re: Mehrere Dateien downloaden
 
Danke, sowas dachte ich mir auch schon, bekomme es aber nicht hin mit:
Delphi-Quellcode:
SourceFile = 'http://www.url.de/start.htm';
destfile:=(extractfilepath(application.exename) + ('\html\start.htm'));
Weiß echt nicht wie ich das mit den Dateien machen soll...

MikeS 3. Feb 2004 22:02

Re: Mehrere Dateien downloaden
 
moin

du kannst doch z.B. die URLs mit Dateinamen in ein Memo schreiben, oder ein Liste, oder
Combobox oder sowas!

dann liest du in einer Schleife die Namen aus dem was auch immer du gewählt hast und gibst dementsprechend
deine Quelle und das Ziel an!

z.B. nicht getestet

Delphi-Quellcode:
...
for i := 0 to memo1.lines.count -1 do
begin
  source := memo1.lines.strings[i];
  dest := 'wasauchimmer';
  if DownloadFile(SourceFile, DestFile) then
    ...
end;

horst 3. Feb 2004 22:10

Re: Mehrere Dateien downloaden
 
aber wenn
Delphi-Quellcode:
destfile := (extractfilepath(application.exename) + ('\html\'));
nur einen ordner angibt und keinen dateinamen enthält funktioniert es nicht...also muss ich doch noch in einer schleife "desfile" angeben, oder?

MikeS 3. Feb 2004 22:13

Re: Mehrere Dateien downloaden
 
nicht unbedingt!

da der name ja eigentlich schon im source ist müßtest du diesen mit ein paar delete und copy
befehlen einfach aus der source auslesen und an dest übergeben!

das wäre mein erster versuch! :-)

horst 3. Feb 2004 22:15

Re: Mehrere Dateien downloaden
 
hmmm...stimmt, ich muss das ausprobieren, du hast mir super weitergeholfen, danke.

horst 3. Feb 2004 22:45

Re: Mehrere Dateien downloaden
 
ich habs ;)

Delphi-Quellcode:
procedure TForm1.DateienausdemInternetdownloaden1Click(Sender: TObject);
var
  SourceFile, DestFile, Source: string;
  i, j: integer;
  s: string;
begin
  for i := 0 to memo3.lines.count - 1 do
  begin
    sourcefile := memo3.lines.strings[i];
    s := ExtractUrlFileName(sourcefile);
    destfile := (extractfilepath(application.exename) + ('\html\')) + s;
    if DownloadFile(SourceFile, DestFile) then
    begin
      ShowMessage('Download succesful!');
    end
    else
      ShowMessage('Mit dem Internet verbunden? Kann' + ' ' + SourceFile + ' nicht downloaden')
  end;
end;

Remote1 8. Apr 2004 09:32

Re: Mehrere Dateien downloaden
 
bin auch gerade dabei so ein prog zu machen, nur dass bei mir halt der quelltext geladen wird und dort alle links (href= oder HREF=) ausgelesen werden und dann schon automatisch im memo sind
ich hab nur gerade mitbekommen, dass bei mir meine zieldatei nicht so heist, wie die originaldate (hatte gedacht, dass ich das einfach mit extractfilename(...) machen kann, aber das klappt net

jetzt hab ich eure posts gesehen und wollt mal fragen ob die function ExtractUrlFileName(sourcefile) selber geschrieben ist oder ob die schon in delphi existiert.

Remote1 8. Apr 2004 10:10

Re: Mehrere Dateien downloaden
 
hat sich erledigt, ich habs mir grad schnell selber geschrieben


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:22 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