Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi FTP Verzeichnisses komplet mit unterVerzeichnisses laden (https://www.delphipraxis.net/37552-ftp-verzeichnisses-komplet-mit-unterverzeichnisses-laden.html)

michdan 7. Jan 2005 08:27


FTP Verzeichnisses komplet mit unterVerzeichnisses laden
 
Suche beispiele und tips zu:

Wie kann ich mit Delphi 7 das komplette Verzeichnisses und unter Verzeichnisses auf einem ftp server runter laden und im einem text datei abspeicheren ?

Luckie 7. Jan 2005 08:35

Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
 
Da wirst du wohl rekursiv den Ordner auf dem FTP durchgehen müssen. Aber wo ist jetzt dein Problem?

michdan 7. Jan 2005 12:18

Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
 
eigenlich ist das genau dass problem......wie suche ich rekursiv ein ftp verzeichness durch .??

Luckie 7. Jan 2005 13:29

Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
 
Im Prinzip genauso wie du es lokal machst, nur eben mit den entsprechenden Methoden zum Verzeichniswechseln und runterladen der Dateien aus der TFTP Klasse die du benutzt.

michdan 7. Jan 2005 18:46

Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
 
ja das denke ich auch, aber ich weiss nicht so recht....

Ich habe folgendes gemacht für ein lokales verzeichnes auf meinen PC

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdFTP;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    CheckBox1: TCheckBox;
    Button2: TButton;
    IdFTP1: TIdFTP;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure GetFilesInDirectory(ADirectory: string; AMask: String; AList: TStrings; ARekursiv: Boolean);
var
  SR: TSearchRec;
begin
  if (ADirectory<>'') and (ADirectory[length(ADirectory)]<>'\') then
    ADirectory:=ADirectory+'\';


  if (FindFirst(ADirectory+AMask,faAnyFile-faDirectory,SR)=0) then begin
    repeat
      if (SR.Name<>'.') and (SR.Name<>'..') and (SR.Attr<>faDirectory) then
          AList.Add(ADirectory+SR.Name)
    until FindNext(SR)<>0;
    FindClose(SR);
  end;


  if ARekursiv then
    if (FindFirst(ADirectory+'*.*',faDirectory,SR)=0) then
    begin
      repeat
        if (SR.Name<>'.') and (SR.Name<>'..') then
          GetFilesInDirectory(ADirectory+SR.Name,AMask,AList,True);
      until FindNext(SR)<>0;
      FindClose(SR);
    end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
listbox1.Clear;
GetFilesInDirectory('C:\','*.*',Listbox1.Items,checkbox1.Checked);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    listbox1.Items.SaveToFile('c:\indhold.txt');
end;

end.
damit kan ich ein lokales verzeichnes in einer listbox laden auch mit unter verzeicnisse, aber wie geht das bei FTP ???

Kann ich auch die funktion Findfirst auf einen FTP verzeichness benutzen ??

supermuckl 7. Jan 2005 19:36

Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
 
nimm indy und schau dir die TidFTPclient componente an.

da sollte alles auf einen blick ersichtlich sein.

michdan 7. Jan 2005 21:57

Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
 
diese komponente habe ich schon angesehen, und ich kann auch eine verbindung zu einen server aufbauen und das default verzeichness holen, aber ich bringe es nicht dazu alle die unter verzeicnisse mit zu holen....

Hat keiener ein kleines beispiel das funkt.....

SirThornberry 8. Jan 2005 09:09

Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
 
anstelle von FindFirst, FindNext einfach "idFTP1.List" verwenden. Dann bekommst du den Inhalt des Verzeichnisses. Anschließende wechselst du der reihe nach in alle Verzeichnisse die dir "idFTP1.List" zurückgegeben hat und führst das ganze dort erneut aus, und so weiter. Mit "idFTP1.ChangeDir" kannst du übrigens das Verzeichnis wechseln. Wenn du nicht weiterkommst mit kannst du dich ja nochmal melden (vorher natürlich das verbinden zum server nicht vergessen bevor du die idftp.* ausführst)

michdan 10. Jan 2005 17:43

Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
 
Gibt es ein beispiel das funktioniert ??

SirThornberry 10. Jan 2005 22:25

Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
 
ich hab mal eins geschrieben (wegen einer anderen frage im forum oder von einem forumuser) aber das ist wieder weg. War eigentlich gar nicht schwer, fang einfach mal an und wenn du dann nicht weiter kommst kannst du ja nochmal schreiben.


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