Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi FTP Client (https://www.delphipraxis.net/19404-ftp-client.html)

nikon.de 2. Apr 2004 14:16


FTP Client
 
guten tag ,
ich möchte mir mit hilfe der IDFTP komponente einen kleinen FTP Client Programmieren !

Hierzu paar fragen :

1.
Zitat:

drw-rw--rw 1ftp ftp 0 Mar 31 2004 Eigene Dateien

Wie kann ich drw-rw--rw 1ftp ftp 0 Mar 31 2004 dieses Zeug ganz "wegmachen" ? es soll nur der Ordner oder Filename angezeigt werden, das ich auch das Directory changen kann ?

2. Wie kann ich dem Programm sagen, das es sich um einen ordner handelt, ( ChangeDir ) oder um ein File zu Downloaden ?

mfg

Die Muhkuh 2. Apr 2004 14:18

Re: FTP Client
 
Am besten du lädst dir mal due Demos runter, da ist so was schon dabei

nikon.de 2. Apr 2004 16:05

Re: FTP Client
 
hab ich ja !
aber diesen drw-rw--rw 1ftp ftp 0 Mar 31 2004 Eigene Dateien müll kann man nicht abstellen ;(

Benedikt 2. Apr 2004 16:38

Re: FTP Client
 
Hi,

guck dir doch mal die Demo genauer an.
Darin ist zu sehen, das dort die komplette Ausgabe über idFTP.DirectoryListing erfolgt, welches dir die vom FTP-Server zurückgelieferten Daten (den von dir als Müll bezeichneten: drw-rw--rw 1ftp ftp 0 Mar 31 2004 :mrgreen: ) komplett zerpflückt in Name, Datum etc. zurückliefert.

-Volle- 4. Apr 2004 02:27

Re: FTP Client
 
bei mir war auch das Prob, das idftp1.directorylisting[x] eben nicht die 'zerpflückten' Daten geliefert hat, sondern nen mords grossen Fehler prodoziert hat...
ich hab es so geregelt, adss ich zuerst eine Liste der vorhandenen dateien angefordert hab und dann fuer jede Datei einzeln das idftp1.directorylisting[0] gemacht hab .....
naja...
... frag weiter :>

-Volle- 19. Apr 2004 20:05

Re: FTP Client
 
achja:

warum machst du nich :
Delphi-Quellcode:
idftp1.list(listbox1.items,'',false);
das sollte es doch eigentlich tun, damit bekommst du nur die datei/ordnernamen ...

Neuni 19. Apr 2004 20:36

Re: FTP Client
 
Kann man die Dateien und ordner eigendlich als Symbole aastellen, also als ob man mit dem IE auf ne FTP-Seite zugreift?

Benedikt 19. Apr 2004 21:52

Re: FTP Client
 
Zitat:

Zitat von Neuni
Kann man die Dateien und ordner eigendlich als Symbole aastellen, also als ob man mit dem IE auf ne FTP-Seite zugreift?

Klar - warum nicht? :mrgreen:
Vom Prinzip her einfach Dateien in ein Listview einlesen und passend zur Datei-Endung das Symbol auslesen.

Neuni 20. Apr 2004 15:11

Re: FTP Client
 
Theorie is nicht gleich Praxis...

Der Server sendet strings, die dann ankommen, aber das ListView verlangt Items...Also geht das nicht "so" einfach :roll:

Lamy 20. Apr 2004 15:16

Re: FTP Client
 
Ja, das gleiche Problem hab ich auch, wie kann man das umgehen/ umwandeln?

Luckie 20. Apr 2004 15:24

Re: FTP Client
 
Die Eigenschaft Items ist vom Typ TStrings. Aber warum kuckt ihr in der Hilfe nicht einfach mal unter TListview mal nach? :roll:

Lamy 20. Apr 2004 15:50

Re: FTP Client
 
Was soll mir das denn offenbaren? :gruebel:

Luckie 20. Apr 2004 15:51

Re: FTP Client
 
Wie man mit der Eigenschaft [/b]Items[b] vom Listview umgeht? :roll:

Neuni 20. Apr 2004 15:57

Re: FTP Client
 
Toll, aber irgendwie finde ich das auch nicht so richtig super erklärt da :roll:

Weißt es hier denn keiner...ein Mensch, der es einem erklären kann, ist im gegensatz zu ner Hilfe etwas besser, oder? :mrgreen:

alcaeus 20. Apr 2004 16:00

Re: FTP Client
 
Delphi-Quellcode:
for i := 1 to DateiListe.Items.Count do
  with ListView1.Items.Add do
    Caption := DateiListe.Strings[i-1];
DateiListe ist vom Typ TStrings, ListView vom Typ TListView, ich hoffe das hilft euch weiter

Benedikt 20. Apr 2004 16:16

Re: FTP Client
 
Zitat:

Zitat von Luckie
Die Eigenschaft Items ist vom Typ TStrings

Allerdings nicht beim Listview, nur bei der ListBox.
Beim Listview ist die Items-Property vom Typ TListItems, die einzelnen Items vom Typ TListItem :angle2:

alcaeus 20. Apr 2004 16:19

Re: FTP Client
 
Zitat:

Zitat von Benedikt
Zitat:

Zitat von Luckie
Die Eigenschaft Items ist vom Typ TStrings

Allerdings nicht beim Listview, nur bei der ListBox.
Beim Listview ist die Items-Property vom Typ TListItems, die einzelnen Items vom Typ TListItem :angle2:

Deshalb habe ich ja auch einen schönen Code gepostet, der dein Problem ziemlich schnell lösen könnte. Du kannst die Elemente zwar nicht alle auf einmal in die Listview setzen, aber in einer Schleife geht das auch noch schnell genug.

Lamy 20. Apr 2004 19:18

Re: FTP Client
 
So langsam wirds mir peinlich...

Ich steh da wie'n Ochs vorm Berg, so weit hab ichs nu übertragen:
Delphi-Quellcode:
PROCEDURE TForm3.Ftpverzeichnis(DirName: STRING);
VAR
  stringliste: TStringList;
  i: Integer;
BEGIN
  Stringliste := TStringList.Create; // Stringliste erzeugen
  TRY
    IdFTP1.ChangeDir(DirName);
    Form1.EDftpverzeichnis.Text := IdFTP1.RetrieveCurrentDir; // Aktuelles Verzeichnis in die Combobox zur Verzeichnisauswahl schreiben

    Form1.Listftpdir.Items.Clear; // Verzeichnisanzeige leeren
    IdFTP1.List(Stringliste);
    Form1.Listftpdir.Items.Assign(Stringliste);
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
   

 FOR i := 1 TO Form1.Listftpdir.Items.Count DO
      WITH Form1.Listftpdir.Items.Add DO
        Caption := Stringliste.Strings[i - 1];


////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////

  FINALLY
    Stringliste.Free;
  END;

END;
So hab ichs eingebunden:

Delphi-Quellcode:
      IF Idftp1.Connected THEN
        ChangeDir(idftp1.RetrieveCurrentDir);
Watt mach ich da mal wieder falsch?
*nix kapiert*
Was macht dein Code eigentlich GENAU?

Lamy 20. Apr 2004 21:59

Re: FTP Client
 
Hm, weiß es keiner oder belästige ich euch einfach nur zu sehr? :angle2:

alcaeus 21. Apr 2004 05:51

Re: FTP Client
 
Zitat:

Zitat von Neuni
Theorie is nicht gleich Praxis...

Der Server sendet strings, die dann ankommen, aber das ListView verlangt Items...Also geht das nicht "so" einfach :roll:

Das war die letzte Frage die gestellt wurde, und du (Lamy) fragtest dann, was dir die Hilfe offenbaren soll (Ich hab zwar nicht geschaut, aber da ist sicher ein Beispiel drinnen). Aber naja, ich habe mal 3 Zeilen Code geschrieben, um dir zu helfen. Hier ist was du eingefügt hast:
Delphi-Quellcode:
FOR i := 1 TO Form1.Listftpdir.Items.Count DO
  WITH Form1.Listftpdir.Items.Add DO
    Caption := Stringliste.Strings[i - 1];
Und hier ist, was ich gepostet/erklärt habe.
Zitat:

Zitat von alcaeus
Delphi-Quellcode:
for i := 1 to DateiListe.Items.Count do
  with ListView1.Items.Add do
    Caption := DateiListe.Strings[i-1];
DateiListe ist vom Typ TStrings, ListView1 vom Typ TListView, ich hoffe das hilft euch weiter

Beachte die letzte Zeile mit Erklärungen. Ich sagte, DateiListe ist TStrings, ListView1 vom Typ TListView. Wie kommst du dann darauf, Listftpdir als TStrings und als TListView-Element zu verwenden? Also wenn du Mehrfachvererbung in Delphi jetzt wirklich gemacht hast, dann sag mir wie und warum. Ich gehe davon aus, dass Stringliste die Texte enthält, und Listftpdir die ListView ist, also muss dein Code so aussehen:
Delphi-Quellcode:
FOR i := 1 TO Stringliste.Count DO
  WITH Form1.Listftpdir.Items.Add DO
    Caption := Stringliste.Strings[i - 1];
Ich hoffe, diesmal habe ich Copy & Waste leicht genug gemacht :roll:

PS:Was versuchst du damit zu erreichen?
Delphi-Quellcode:
Form1.Listftpdir.Items.Assign(Stringliste);

Luckie 21. Apr 2004 05:54

Re: FTP Client
 
Zitat:

Zitat von Benedikt
Zitat:

Zitat von Luckie
Die Eigenschaft Items ist vom Typ TStrings

Allerdings nicht beim Listview, nur bei der ListBox.
Beim Listview ist die Items-Property vom Typ TListItems, die einzelnen Items vom Typ TListItem :angle2:

Mist, da habe ich mich vertan. :roll:

Lamy 23. Apr 2004 20:41

Re: FTP Client
 
Hey!
Danke für die Hilfe, aber es war nicht meine Absicht einen zu bitten mir den Quellcode zu schreiben sondern nur zu erklären, damit ich [zugegeben nicht die größte Intelligenzbestie :stupid: ] die Vorgehensweise verstehe und was der von dir gepostete Code macht, dat hab ich mittlerweile schon rausgefunden.
Ein konkretes Beispiel in der Delphi-Hilfe gibts aber nicht...

Bis denn,
Lamy :cyclops:

Luckie 23. Apr 2004 20:51

Re: FTP Client
 
Zitat:

Zitat von Lamy
Ein konkretes Beispiel in der Delphi-Hilfe gibts aber nicht...

Wenn du von den Indy Komponenten redest ist das doch wohl klar, dass dazu in der Delphi Hilfe nichts steht, sie gehören ja nicht unbedingt dazu. Dafür kannst du dir aber die Hilfe und Demos von der Indy Homepage runterladen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 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 by Thomas Breitkreuz