Zitat von
Nuclear-Ping:
Schonmal was von "Rekursion" gehört?
Code:
Prozedur VerzDurchsuchen (Pfad)
Liste den Inhalt des Verzeichnisses Pfad auf
- Wenn Eintrag X ein Unterverzeichnis ist
- Rufe VerzDurchsuchen (X) auf
- Sonst ist es eine Datei
ProzedurEnde
Nein habe ich noch nicht.
aber alles nochmal umzuschreiben wehre mir zu aufwendig.
Delphi-Quellcode:
procedure bk;
var st: integer;
hilf: string;
procedure bk2;
var s, z, d, dirs, dir2: integer;
ex2, ex: boolean;
begin
ex:= false;
form1.IdFTP1.List(form1.ListBox2.Items,'',ex);
dirs:= ergebnis;
ergebnis:= 0;
for z:=0 to form1.ListBox2.Count-1 do
begin
ex2:= true;
for d:=0 to length(form1.ListBox2.Items[z]) do
if form1.ListBox2.Items[z][d]= '.'
then
begin
if form1.ListBox3.Items.Count= 0
then
begin
ref_list;
form1.ListBox1.AddItem(form1.dir.text + '/' + form1.ListBox2.Items[z], TObject (form1));
end
else
begin
ref_list;
form1.ListBox1.AddItem(form1.ListBox3.Items[0] + form1.ListBox2.Items[z], TObject (form1));
end;
ex2:= false;
end;
if ex2
then
begin
form1.ListBox3.AddItem(form1.dir.Text + '/' + form1.ListBox2.Items[z] + '/', TObject (form1));
ref_list;
for dir2:=0 to dirs do
form1.IdFTP1.ChangeDir('../');
// showmessage(inttostr(dir) + ' ' + inttostr(dirs));
end;
end;
how_dirs(form1.ListBox3.Items[0]);
form1.IdFTP1.ChangeDir(form1.ListBox3.Items[0]);
form1.Listbox3.Items.Delete(0);
ref_list;
end;
begin
// for st:=form1.ListBox3.Count-1 to 0 do
for st:=0 to 20 do
begin
// if form1.ListBox3.Items.Count> 0
// then
// hilf:= form1.ListBox3.Items[0];
bk2;
ref_list;
end;
form1.ListBox2.Clear;
form1.ListBox3.Clear;
end;
Es funktionirt ja auch alles aber ich habe jetzt volgendes Problem:
In wirklichkeit:
Code:
cms/index.php
downlords/toll.zip
dmdownlords/toll2.zip
Wird so gelistet:
Code:
downlords/index.php
dmdownlords/toll.zip
Was kann ich dagegen machen?
edit: besser gesagt es ist mir nicht zu aufwendig sondern es soll erst mal funktioniren und dann kann ich immernoch was an der geschwindigkeit machen.