AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Ftp.directorylisting
Thema durchsuchen
Ansicht
Themen-Optionen

Ftp.directorylisting

Ein Thema von -Volle- · begonnen am 27. Jan 2004 · letzter Beitrag vom 14. Sep 2004
Antwort Antwort
-Volle-

Registriert seit: 17. Dez 2003
Ort: Altdorf
40 Beiträge
 
Delphi 7 Enterprise
 
#1

Ftp.directorylisting

  Alt 27. Jan 2004, 19:31
Servus ich hab mal wieder ein kleines Problem ...

wenn ich Verzeichnis Daten von einem Ftp Server laden will mach ich das ja so :

Delphi-Quellcode:
list:=Tstringlist.Create;
ftp.List(list,'',true);
for i:=0 to ftp.DirectoryListing.count-1 do
 begin
  dateisize[i]:=ftpserver.DirectoryListing.Items[i].Size;
  dateidatum[i]:=ftpserver.DirectoryListing.Items[i].ModifiedDate;
 end;
list.free;
das is jetzt nur ein kleines Beispiel, ich frage da noch mehr ab...
mein Problem besteht aber darin, dass ich bei dieser Zeile
for i:=0 to ftp.DirectoryListing.count-1 do eine "EAccessViolation" bekomme...
Genaue Fehlermeldung:
"Zugriffsverletzung bei Adresse 00404894 in Modul 'bla.exe'. Lesen von Adresse 00000000"

was kann ich dagegen tun ??
Wenn ich die items nicht in einer Schleife, abfrage, sondern nur z.B.

ftp.directorylisting.items[0].size abfrage, dann kommt eben keine Fehlermeldung..
mir scheints so als sein directorylisting nicht initialisiert oder erstellt worden, wenn ich aber vor dem list
ftp.directorylisting.creat eintippel, dann kommt der gleiche feher!...

Danke schonmal im Vorraus
cYa n' sTay [ S ! C ]

Gruss Volle
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Ftp.directorylisting

  Alt 27. Jan 2004, 20:03
welche ftp-komponente benutzt du??
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
-Volle-

Registriert seit: 17. Dez 2003
Ort: Altdorf
40 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Ftp.directorylisting

  Alt 27. Jan 2004, 21:56
aeh hups habs ja mal wieder uebel verrafft :>
tuerlich benutz ich indy9, bzw idftp ...
lol
cYa n' sTay [ S ! C ]

Gruss Volle
  Mit Zitat antworten Zitat
-Volle-

Registriert seit: 17. Dez 2003
Ort: Altdorf
40 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Ftp.directorylisting

  Alt 28. Jan 2004, 17:09
ich hab jetzt rausgefunden, dass es bei manchen FTP Servern funktioniert und bei manchen nicht... woran kann das liegen ?
cYa n' sTay [ S ! C ]

Gruss Volle
  Mit Zitat antworten Zitat
-Volle-

Registriert seit: 17. Dez 2003
Ort: Altdorf
40 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Ftp.directorylisting

  Alt 1. Feb 2004, 12:48
also ich habs jetzt so gelöst, dass ich zuerst nur eine liste mit den dateinamen abfrage und dann in einer function alle anderen daten ab, das geht soweit...

weiss aber nicht, wiexo es nicht alles auf einmal geht, was mich immernoch interessieren wuerde, da meine Lösung EXTREM inperformant is...
cYa n' sTay [ S ! C ]

Gruss Volle
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Ftp.directorylisting

  Alt 1. Feb 2004, 13:15
liegt daran das die verschiedenen ftp-server das list-commando unterschiedlich interpretieren, hamm sich wohl nicht alle programmierer an den standard gehalten. Manche ftp server liefern nur die Dateinamen beim listing zurück und andere eben noch die attribute dazu..
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
-Volle-

Registriert seit: 17. Dez 2003
Ort: Altdorf
40 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Ftp.directorylisting

  Alt 1. Feb 2004, 13:20
ja, aber wenn ich immer einzeln
ftp.list(list,dateiname,true); für jeden dateinamen abruf und dann eben die dateidaten mit
ftp.directorylisting.items[0].size abfrag, dann geht es...
das is ja grad das witzige/nervende :>

naja cYa
cYa n' sTay [ S ! C ]

Gruss Volle
  Mit Zitat antworten Zitat
shortbread

Registriert seit: 15. Apr 2004
1 Beiträge
 
Delphi 7 Personal
 
#8

Re: Ftp.directorylisting

  Alt 15. Apr 2004, 19:55
Tja, das haben die Programmierer von Indy (meiner Meinung nach) verbockt.

Die Liste mit den Dir-Entries wird nämlich mit jedem Zugriff kürzer.
Einfach gesagt: Wenn man ein Entry abfragt, wird es danach automatisch gelöscht. Dämlich aber nicht zu ändern.

Meine Lösung:

Delphi-Quellcode:
 while directorylisting.count>0 do begin
  liste1.items.add(directorylisting.items[0]);
 end;
Mit liste1.items kann man dann arbeiten, ohne Angst vor Verflüchtigung haben zu müssen.
Hab ich nach 7,5 Stunden Frustation unter Schmerzen rausgefunden.

Hoffe, das hat die Klarheiten beseitigt.

Gruß, ShortbRead
  Mit Zitat antworten Zitat
-Volle-

Registriert seit: 17. Dez 2003
Ort: Altdorf
40 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Ftp.directorylisting

  Alt 15. Apr 2004, 20:09
tHx ich tests mal ... :>
cYa n' sTay [ S ! C ]

Gruss Volle
  Mit Zitat antworten Zitat
Unplugged

Registriert seit: 14. Apr 2004
Ort: Leipzig
125 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: Ftp.directorylisting

  Alt 14. Sep 2004, 09:22
Hi,

IdFTP1.DirectoryListing.Items[x].FileName Mir ist aufgefallen, dass der Rückgabe-String fehlerhaft ist, sobald ein Leerzeichen am Ende des Dateinamens zu finden ist. Kann das jemand bestätigen bzw. weiß jemand, ob es einen Fix dafür schon gibt?

PS: Ich nutze derzeit Indy9
  Mit Zitat antworten Zitat
Antwort Antwort


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:37 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