![]() |
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 ? |
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?
|
Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
eigenlich ist das genau dass problem......wie suche ich rekursiv ein ftp verzeichness durch .??
|
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.
|
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:
damit kan ich ein lokales verzeichnes in einer listbox laden auch mit unter verzeicnisse, aber wie geht das bei FTP ???
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. Kann ich auch die funktion Findfirst auf einen FTP verzeichness benutzen ?? |
Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
nimm indy und schau dir die TidFTPclient componente an.
da sollte alles auf einen blick ersichtlich sein. |
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..... |
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)
|
Re: FTP Verzeichnisses komplet mit unterVerzeichnisses laden
Gibt es ein beispiel das funktioniert ??
|
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 00:20 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