![]() |
TidFTP - Dateien auflisten
Hallo DBs,
Ich hab ein problem, nämlich ich will in einer Listview die Dateien die auf dem server liegen anzeigen lassen (Also dateiname ...). Ich hab ungefähr 2 Stunden gebraucht bis ich das richtige gefunden hab aber irgendwie funktioniert das nicht so richtig. Also hier der link zum ![]() so und der code:
Delphi-Quellcode:
Das problem ist das der Dateien hochladen kann (eine andere procedure mit der gleichen Tidftp) aber das anzeigen der dateien mit der Procedure geht nicht.procedure ...; var l: TIdFtpListItems; i: integer; sl: TStringList; begin sl := TStringList.Create; idFTP1.Connect(true, -1); idFTP1.List(sl, '*', true); l := idFTP1.DirectoryListing; for i := l.Count - 1 downto 0 do if l[i].ItemType = ditDirectory then sl[i] := l[i].FileName else sl.Delete(i); idFTP1.Disconnect; ListBox1.Items.Assign(sl); sl.Free; end; Wo liegt mein Fehler? |
Re: TidFTP - Dateien auflisten
Also erstmal schreibt der Code die Dateien in eine Listbox, nicht in eine Listvie. Dann schreibt er nur Dateien, was dein Problem erklären könnte. Und drittens brauchst du nicht für jede Aktion wieder verbinden, was amchen un trennen - du kannst die Verbindung ruhig offenhalten ;)
|
Re: TidFTP - Dateien auflisten
ups,
ich wollt das erst in eine Listview machen aber wollte erstmal mit der Listbox das probieren. :lol: Zitat:
|
Re: TidFTP - Dateien auflisten
Zitat:
Delphi-Quellcode:
Es lässt die Verzeichnisse durch und löscht die Dateien (aus der Anzeige)
if l[i].ItemType = ditDirectory
then sl[i] := l[i].FileName else sl.Delete(i); |
Re: TidFTP - Dateien auflisten
:wall:
ok das war einfach nur dumm, sorry. :mrgreen: Ist ja auch logisch. :roll: jetzt funktioniert es. danke jfheins :thumb: :thumb: :thumb: |
Re: TidFTP - Dateien auflisten
ich komm jetzt wieder nicht weiter, wie kann ich in einem unterverzeichnis die dateien anzeigen?
z.B: INC/ sollen alle dateien im Ordner INC angezeigt werden. Ich hab das mit
Delphi-Quellcode:
oder wie geht das :?:
IDftp1.changedir('INC');
... // dann der obere code |
Re: TidFTP - Dateien auflisten
Obwohl du offensichlich keine Hilfe möchtest (falls das so wäre, würdest du ja mehr Informationen bereitstellen, z.B. was passiert, was sollte passieren, welche Fehler kommen, etc.)
bin ich mal so frei und antworte trotzdem: Ich sehe ... :glaskugel: ... ja, da ist etwas ... :glaskugel: ... es sieht aus wie ein Strich ... es ist ein Slash :mrgreen: Probiers mal so: IDftp1.changedir('/INC/'); |
Re: TidFTP - Dateien auflisten
Zitat:
wenn ich hilfe brauche poste ich, und da stehen dann bei mir die türen offen, wenn jemand noch mehr infos brauch postet es einfach. :mrgreen: Ich hab es geahnt das das so geht :glaskugel:. trotzdem ist noch der felher:
Code:
Hier der gesamte Quelltext:
Erste Gelegenheit für Exception bei $760242EB. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 004D5047 in Modul 'Project2.exe'. Lesen von Adresse 00000020'. Prozess Project2.exe (5420)
Delphi-Quellcode:
Die Baumstrucktur der Ordner und Dateien auf dem Server:
procedure ....;
var l: TIdFtpListItems; i: integer; sl,sd: TStringList; begin if (ListView1.Items.Item[ListView1.ItemIndex].SubItems.Strings[0] = 'Ordner') and (ListView1.Items.Item[ListView1.ItemIndex].Caption <> '.') and (ListView1.Items.Item[ListView1.ItemIndex].Caption <> '..') then begin // . und .. ist erstmal nur zum testen ausgeschlossen listview1.Clear; sl := TStringList.Create; sd := TStringList.Create; idftp1.ChangeDir('/'+ListView1.Items.Item[ListView1.ItemIndex].Caption+'/'); // hier bleibt er im Debuge stehen idFTP1.List(sl,ListView1.Items.Item[ListView1.ItemIndex].Caption+'*',true); l := idFTP1.DirectoryListing; for i := l.Count - 1 downto 0 do if l[i].ItemType = ditDirectory then begin sl[i] := l[i].FileName; sd.Add('Ordner'); end else begin sl[i] := l[i].FileName; sd.add('Datei'); end; for i := 0 to l.Count - 1 do begin listview1.Items.Add.Caption:=sl.Strings[i]; listview1.Items.Item[i].SubItems.Add(sd.Strings[i]); end; sl.Free; sd.Free; end; end;
Code:
Wenn ich jetzt doppelklick auf graifk klicke in der Listview dann kommt der fehler obwohl er ja das innere des ordner also bild.jpg anziegen soll.
Server
| |-- grafik | |-- bild.jpg | |-- inc | |-- home.inc | |-- liste.inc |... Wo ist mein fehler oder denkfehler? |
Re: TidFTP - Dateien auflisten
Hey DBs, weiß wirklich keiner mein Fehler, ich hab das unendlich mal durchgeschaut aber ich weiß nicht wo er ist? :pale:
|
Re: TidFTP - Dateien auflisten
.. was heißt durchgeschaut?
Hast Du dir einen Haltepunkt in der Routine gesetzt und bist dann mit F8 durch die Routine marschiert? Hast Du dir einige Variablen/Index in der WatchList (Ctrl+F5) angeschaut? ![]() Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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