AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Per Indy-FTP gantzen Ordener downlorden?

Ein Thema von Deltachaos · begonnen am 2. Mai 2008 · letzter Beitrag vom 4. Mai 2008
 
Benutzerbild von Deltachaos
Deltachaos

Registriert seit: 20. Feb 2008
Ort: Berlin
195 Beiträge
 
Delphi 7 Personal
 
#10

Re: Per Indy-FTP gantzen Ordener downlorden?

  Alt 3. Mai 2008, 10:29
Zitat von Fussball-Robby:
Schonmal gesucht? hier wurde ein Code gepostet, mit dem ein Ordner auf einem FTP-Server rekursiv durchsucht und das Ergebnis aufgelistet wird. Wenn du das dann hast, sollte das downloaden auch nicht mehr schwer sein.

Mfg
hm, eigenlich hatte ich schon gesucht.
Irgendwie funktionirt das bei mir ich so wirklich. eigentlich gar nicht.

Delphi-Quellcode:
procedure FindAllFilesFTP(FTPCon: TIdFTP; Directory: String; FileList,DirList: TStrings; WithSubDirs, ClearList: Boolean);
  procedure ScanDir(const Directory,SubDir: String; WithDir: Boolean);
  var
    i: Integer;
  begin
    FTPCon.ChangeDir(Directory + SubDir);
    FTPCon.List(filelist);
    for i := 2 to FTPCon.DirectoryListing.Count-1 do
      if FTPCon.DirectoryListing.Items[i].ItemType = ditFile then
      begin
        if WithDir then FileList.Add(SubDir + FTPCon.DirectoryListing.Items[i].FileName)
        else FileList.Add(FTPCon.DirectoryListing.Items[i].FileName);
      end else if FTPCon.DirectoryListing.Items[i].ItemType = ditDirectory then
        DirList.Add(SubDir + FTPCon.DirectoryListing.Items[i].FileName + '/');

    if WithSubDirs then
    begin
      for i := 2 to FTPCon.DirectoryListing.Count-1 do
        if FTPCon.DirectoryListing.Items[i].ItemType = ditDirectory then
          ScanDir(Directory + SubDir,FTPCon.DirectoryListing.Items[i].FileName + '/',True);
    end;
  end;

begin
  if not FTPCon.Connected then Exit;
  FileList.BeginUpdate;
  DirList.BeginUpdate;
  try
    if ClearList then
    begin
      FileList.Clear;
      DirList.Clear;
    end;
    if Directory = 'then Exit;
    if Directory[Length(Directory)] <> '/then
      Directory := Directory + '/';
    ScanDir(Directory,'',False);
  finally
    DirList.EndUpdate;
    FileList.EndUpdate;
  end;
end;


procedure TForm1.Button4Click(Sender: TObject);
var slist, dir: TStrings;
    anzahl, sl: integer;
begin
  FindAllFilesFTP(IdFTP1, form1.dir.text, slist, dir, true, false);
  form1.ListBox1.Items:= slist;
  form1.ListBox2.Items:= dir;
end;
Programm startet zwar ich bockomme die Meldung das Das Verzeichniss nicht existirt.

und wenn ich hier:

Delphi-Quellcode:
procedure FindAllFilesFTP(FTPCon: TIdFTP; Directory: String; FileList,DirList: TStrings; WithSubDirs, ClearList: Boolean);
  procedure ScanDir(const Directory,SubDir: String; WithDir: Boolean);
  var
    i: Integer;
  begin
    FTPCon.ChangeDir(Directory + SubDir);
    FTPCon.List; //<<< Hier
    for i := 2 to FTPCon.DirectoryListing.Count-1 do
      if FTPCon.DirectoryListing.Items[i].ItemType = ditFile then
      begin
        if WithDir then FileList.Add(SubDir + FTPCon.DirectoryListing.Items[i].FileName)
nicht "(form1.listbox1.items)" eintrage leut der code mit der meldung
Code:
[Fehler] Unit1.pas(85): Nicht genügend wirkliche Parameter
gar nicht.

und ich finde idAllFTPListParsers irgentwie nicht.
Angehängte Dateien
Dateityp: rar baup_161.rar (340,7 KB, 5x aufgerufen)
Maximilian Ruta
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 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