Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Download mehrer Dateien von FTP-Server (https://www.delphipraxis.net/28322-download-mehrer-dateien-von-ftp-server.html)

Anatol 23. Aug 2004 10:17


Download mehrer Dateien von FTP-Server
 
Hallo allerseits

Als Gelegenheitsprogrammierer stosse ich wieder mal an meine Grenzen:

Möchte mit der Indy-Komponente einen FTP-Client erstellen, welcher regelmässig alle Dateien 'test.*' von einem FTP-Server herunterlädt.

Spontan habe ich mal den Befehl
Delphi-Quellcode:
IdFTP1.Get('test.*, 'c:\daten\test.*', true);
versucht, das mit den Wildcards (.*) scheint aber nicht zu funktionieren... Wer weiss einen Tipp?

Gruss, Anatol

Treffnix 23. Aug 2004 10:37

Re: Download mehrer Dateien von FTP-Server
 
Hallo, ich habs nicht getestet, aber ich würde so ansetzen:

Delphi-Quellcode:
Procedure GetFiles;
  var Files: TStringList;
      i: Integer;  
Begin
  idFTP1.List( Files, 'test.*', False );
  For i := 0 to Files.Count Do
    IdFTP1.Get( Files[i], 'c:\Daten\' + Files[i], True );
End;
Wie gesagt. Ungetestet und gearbeitet hab ich selber noch nicht viel mit FTP. Aber vielleicht funktionierts ja oder hilft dir zumindest weiter ;)

Anatol 23. Aug 2004 13:58

Re: Download mehrer Dateien von FTP-Server
 
Treffnix, vielen Dank fürs erste!

Hab Deinen Hinweis ausprobiert und das Resultat schaut folgendermassen aus:

Bei der Zeile

Delphi-Quellcode:
idFTP1.List( Files, 'test.*', False );
wird die Fehlermeldung

http://www.meteoradar.ch/uploads/20040823_145449.gif

generiert. Wer lässt etwas Weisheit über mich kommen?

Gruss, Anatol

Treffnix 23. Aug 2004 14:22

Re: Download mehrer Dateien von FTP-Server
 
Entschuldige, du musst natürlich erst die Stringliste erzeugen. Denke daran wirds liegen.

also nach dem Begin

Delphi-Quellcode:
Files:= TStringList.Create
und am Ende natürlich mit Free oder Destroy wieder freigeben.

Anatol 23. Aug 2004 16:32

Re: Download mehrer Dateien von FTP-Server
 
Bingo! Vielen Dank für die prima Hilfestellung!

Nach einer kleinen Modifikation (for i:=0 to Files.Count - 1) läuft das ganze nun einwandfrei:

Delphi-Quellcode:
procedure TForm1.GetFiles;
  var Files: TStringList;
      i: Integer;
begin
  Files:= TStringList.Create;
  IdFTP1.List( Files, 'test.*', False );
  for i := 0 to Files.Count - 1 do
    IdFTP1.Get( Files[i], 'c:\Daten\' + Files[i], True );
end;
Gruss, Anatol


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.

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