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; |
Re: Mehrere Dateien downloaden
In dem du in einer Schleife DownloadFile aufrufst mit jeweils den entsprechenden Dateinamen?
|
Re: Mehrere Dateien downloaden
Danke, sowas dachte ich mir auch schon, bekomme es aber nicht hin mit:
Delphi-Quellcode:
Weiß echt nicht wie ich das mit den Dateien machen soll...
SourceFile = 'http://www.url.de/start.htm';
destfile:=(extractfilepath(application.exename) + ('\html\start.htm')); |
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; |
Re: Mehrere Dateien downloaden
aber wenn
Delphi-Quellcode:
nur einen ordner angibt und keinen dateinamen enthält funktioniert es nicht...also muss ich doch noch in einer schleife "desfile" angeben, oder?
destfile := (extractfilepath(application.exename) + ('\html\'));
|
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! :-) |
Re: Mehrere Dateien downloaden
hmmm...stimmt, ich muss das ausprobieren, du hast mir super weitergeholfen, danke.
|
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; |
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. |
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