Einzelnen Beitrag anzeigen

Benutzerbild von Deltachaos
Deltachaos

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

Re: liste alle FTP Daten. hatt noch kleine Fehler

  Alt 10. Mai 2008, 10:08
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.
Maximilian Ruta
  Mit Zitat antworten Zitat