![]() |
liste alle FTP Daten. hatt noch kleine Fehler
Liste der Anhänge anzeigen (Anzahl: 1)
Da ich alle Daten eines FTP-Servers mit verzeichnissen listen muss und keine kompfortablere lösung gefunden habe, habe ich mir selbst etwas zusammengeschrieben.
Delphi-Quellcode:
Die ersten Verzeichnisse werden richtig gelistet auch die Dateien (nicht auf dem bild) aber irgendwie kommt danach nur kauderwelsch (Sihe Bild) raus.
function how_dirs(laenge: string): integer;
var how_dir1, how_dir2: integer; begin for how_dir1:=0 to length(laenge) do if laenge[how_dir1]= '/' then ergebnis:= ergebnis+1; end; procedure bk; var st: integer; procedure bk2; var s, z, d, dirs, dir: integer; ex2, ex: boolean; begin 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 form1.ListBox1.AddItem(form1.dir.Text + '/' + form1.ListBox2.Items[z], TObject (form1)); ex2:= false; end; if ex2 then begin form1.ListBox3.AddItem(form1.dir.Text + '/' + form1.ListBox2.Items[z] + '/', TObject (form1)); for dir:=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); end; begin // for st:=form1.ListBox3.Count-1 to 0 do for st:=0 to 5 do begin bk2; showmessage('toll' + form1.ListBox3.Items[0]); end; end; Ich weis nicht wo der Fehler ist. |
Re: liste alle FTP Daten. hatt noch kleine Fehler
Delphi-Quellcode:
procedure bk;
var st: integer; procedure bk2; var s, z, d, dirs, dir: integer; ex2, ex: boolean; begin form1.IdFTP1.List(form1.ListBox2.Items,'',ex); // ex hat her keinen definierten Wert dirs:= ergebnis; Wenn ex true ist, werden auch sämtliche Details eines Verzeichnisses ausgegeben. Was Du als Kauderwelsch interpretierst, sind die Datei/Verzeichnisrechte und wem diese gehören. Wenn Du ex richtig setzt wirst Du dieses "Kauderwelsch" nicht mehr sehen. Zitat:
Klaus |
Re: liste alle FTP Daten. hatt noch kleine Fehler
Dancke
|
Re: liste alle FTP Daten. hatt noch kleine Fehler
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 |
Re: liste alle FTP Daten. hatt noch kleine Fehler
Zitat:
aber alles nochmal umzuschreiben wehre mir zu aufwendig.
Delphi-Quellcode:
Es funktionirt ja auch alles aber ich habe jetzt volgendes Problem:
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; In wirklichkeit:
Code:
Wird so gelistet:
cms/index.php
downlords/toll.zip dmdownlords/toll2.zip
Code:
Was kann ich dagegen machen?
downlords/index.php
dmdownlords/toll.zip 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. |
Re: liste alle FTP Daten. hatt noch kleine Fehler
Wenn du es aus Bequemlichkeit nicht nochmal (ordentlich) machen willst, mußt du wohl oder übel rausfinden, wo der Fehler in deiner Logik liegt und ihn beheben?
|
Re: liste alle FTP Daten. hatt noch kleine Fehler
Zitat:
wie fange ich an? besser gesagt kann mir jemand ein codebeispiel für diese "Rekursion" geben? |
Re: liste alle FTP Daten. hatt noch kleine Fehler
Schau in der Codelib. Dort gibt es Codes, die rekursiv Ordner auf der lokalen Festplatte auflisten. Dürfte kein Problem sein, dass für FTP umzubauen.
Noch eine Bitte: Lies, vor dem Absenden, Deinen Post durch und korrigiere Deine Rechtschreibfehler... |
Re: liste alle FTP Daten. hatt noch kleine Fehler
Zitat:
|
Re: liste alle FTP Daten. hatt noch kleine Fehler
Doch, kann sie.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 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