Mittag!
Ich bin schon seit 4 tagen dabei einen fehler zu finden, aber irgendwie komm ich da nicht weiter... hab schon alles mögliche ausprobiert und schon jedes forum durchforstet...
Hab folgendes prob:
Wenn ich mir den inhalt eines verzeichnisses mit
IdFTP1.List(ListBox2.Items,'*',FALSE);
ausgeben lasse, dann sollte nach der Referenz mir ja nur die Ordnernamen (durch das * als zweiten Parameter ) und ohne weitere details (durch das FALSE als dritten Parameter) ausgeben.
Das sieht dann so aus:
Ordner1
Ordner2
Ordner3
...
Dies macht er auch bei einem
FTP Server aber bei einem anderem
FTP Server gibt er
mir total was anderes wieder:
.
..
Ordner1\SubOrdner1
Ordner1\Datei1.txt
Ordner1\Datei2.txt
Ordner2\SubOrdner1
Ordner2\Datei1.txt
Ordner3\SubOrdner1
Ordner3\SubOrdner2
Ordner3\Datei1.txt
Ordner3\Datei2.txt
nun brauch ich aber nur die ordner namen...
Ist das ne einstellungssache am
FTP? habe auch schon versucht das ganze manuell zu lösen aber da gibts dann auch nur probleme.... habe da mehrere wege versucht
z.b. so
Delphi-Quellcode:
IdFTP1.List(Form5.ListBox1.Items,'*',FALSE);
Name:='';
dummy:='';
for g:=0 to Form5.ListBox1.Items.Count-1 do
begin
Name:=Copy(Form5.ListBox1.Items[g],1,Pos('\SubOrdner1',Form5.ListBox1.Items[g])-1);
if Name <> dummy then
begin
dummy:=Name;
Form5.ListBox2.Items.Add(Name);
end;
end;
ausgeführt wird dieser teil in Form1...
Fehlermeldung hierbei: EAccessViolation Zugriffsverletzung bei Adresse 004B8494 in Modul Project1...
Ich benutze delphi 6 enterprise und
Indy 8.0.25
Laut referenz sollte das ja mit TIdFTP.list so gehen wie ich es oben mache:
procedure List(ADest: TStrings; const ASpecifier: string; const ADetails: boolean);
ASpecifier is a String that contains a mask indicating the files and/or directories to be included in the listing. ASpecifier can contain common wildcard characters like '*' and '?'. Some useful masks include:
*.* - All files in the current directory.
* - All directory entries in the current directory.
*. - All files regardless of extension in the current directory.
A??.txt - All text files that have a 3-character name starting with 'A'.
Hab schon überlegt
indy zuupdaten, da ich bei meiner fehlersuche auf TIdFTP.directorylisting gestoßen bin. das gibts wohl aber noch nicht in
Indy 8.0.25, denn in der referenz steht nichts und wenn ich die methode benutzen will ist sie unbekannt. also kann ich nur noch updaten, aber ich bin mir da nicht ganz sicher, ob dann noch die ganzen anderen sachen funktionieren, da sie ja auf
indy 8.0.25 geschrieben wurden! Hat da jemand ahnung?
Hoffe jemand hat da mal ne idee und danke im voraus!
Dioony