AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TidFTP - Dateien auflisten
Thema durchsuchen
Ansicht
Themen-Optionen

TidFTP - Dateien auflisten

Ein Thema von Chefx · begonnen am 29. Aug 2009 · letzter Beitrag vom 3. Sep 2009
Antwort Antwort
Seite 1 von 2  1 2      
Chefx

Registriert seit: 13. Jun 2009
Ort: Radebeul
241 Beiträge
 
Turbo Delphi für Win32
 
#1

TidFTP - Dateien auflisten

  Alt 29. Aug 2009, 12:11
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 Post.
so und der code:
Delphi-Quellcode:

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;
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.
Wo liegt mein Fehler?
ein Sprichwort für Programmierer:
"Viele wege fürn zur EXE, aber ob sie funktioniert ist die andere Frage."
schau mal bei www.xlite.de.tc vorbei
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: TidFTP - Dateien auflisten

  Alt 29. Aug 2009, 12:14
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
  Mit Zitat antworten Zitat
Chefx

Registriert seit: 13. Jun 2009
Ort: Radebeul
241 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: TidFTP - Dateien auflisten

  Alt 29. Aug 2009, 12:21
ups,
ich wollt das erst in eine Listview machen aber wollte erstmal mit der Listbox das probieren.
Zitat von jfheins:
Dann schreibt er nur Dateien, was dein Problem erklären könnte.
Sorry hab das nicht so richtig verstanden wie du das meinst.
ein Sprichwort für Programmierer:
"Viele wege fürn zur EXE, aber ob sie funktioniert ist die andere Frage."
schau mal bei www.xlite.de.tc vorbei
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: TidFTP - Dateien auflisten

  Alt 29. Aug 2009, 12:31
Zitat von Chefx:
ups,
ich wollt das erst in eine Listview machen aber wollte erstmal mit der Listbox das probieren.
Zitat von jfheins:
Dann schreibt er nur Dateien, was dein Problem erklären könnte.
Sorry hab das nicht so richtig verstanden wie du das meinst.
Naja, was macht den das da:
Delphi-Quellcode:
if l[i].ItemType = ditDirectory
      then sl[i] := l[i].FileName
      else sl.Delete(i);
Es lässt die Verzeichnisse durch und löscht die Dateien (aus der Anzeige)
  Mit Zitat antworten Zitat
Chefx

Registriert seit: 13. Jun 2009
Ort: Radebeul
241 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: TidFTP - Dateien auflisten

  Alt 29. Aug 2009, 12:34

ok das war einfach nur dumm, sorry.
Ist ja auch logisch.
jetzt funktioniert es.

danke jfheins
ein Sprichwort für Programmierer:
"Viele wege fürn zur EXE, aber ob sie funktioniert ist die andere Frage."
schau mal bei www.xlite.de.tc vorbei
  Mit Zitat antworten Zitat
Chefx

Registriert seit: 13. Jun 2009
Ort: Radebeul
241 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: TidFTP - Dateien auflisten

  Alt 29. Aug 2009, 15:47
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:
IDftp1.changedir('INC');
... // dann der obere code
oder wie geht das
ein Sprichwort für Programmierer:
"Viele wege fürn zur EXE, aber ob sie funktioniert ist die andere Frage."
schau mal bei www.xlite.de.tc vorbei
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#7

Re: TidFTP - Dateien auflisten

  Alt 29. Aug 2009, 16:47
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 ... ... ja, da ist etwas ... ... es sieht aus wie ein Strich ... es ist ein Slash

Probiers mal so: IDftp1.changedir('/INC/');
  Mit Zitat antworten Zitat
Chefx

Registriert seit: 13. Jun 2009
Ort: Radebeul
241 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: TidFTP - Dateien auflisten

  Alt 29. Aug 2009, 19:39
Zitat von jfheins:
Obwohl du offensichlich keine Hilfe möchtest
Danke für die nette antwort
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.
Ich hab es geahnt das das so geht .

trotzdem ist noch der felher:
Code:
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)
Hier der gesamte Quelltext:
Delphi-Quellcode:
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;
Die Baumstrucktur der Ordner und Dateien auf dem Server:
Code:
Server
  |
  |-- grafik
  |     |-- bild.jpg
  |
  |-- inc
  |    |-- home.inc
  |    |-- liste.inc
  |...
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.

Wo ist mein fehler oder denkfehler?
ein Sprichwort für Programmierer:
"Viele wege fürn zur EXE, aber ob sie funktioniert ist die andere Frage."
schau mal bei www.xlite.de.tc vorbei
  Mit Zitat antworten Zitat
Chefx

Registriert seit: 13. Jun 2009
Ort: Radebeul
241 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: TidFTP - Dateien auflisten

  Alt 1. Sep 2009, 14:53
Hey DBs, weiß wirklich keiner mein Fehler, ich hab das unendlich mal durchgeschaut aber ich weiß nicht wo er ist?
ein Sprichwort für Programmierer:
"Viele wege fürn zur EXE, aber ob sie funktioniert ist die andere Frage."
schau mal bei www.xlite.de.tc vorbei
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: TidFTP - Dateien auflisten

  Alt 1. Sep 2009, 15:07
.. 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?

Das Debug Tutorial

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz