Autor Beitrag
lamorking
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 20.03.05 14:48 
hallo,

ich möchte einen ftp-clienten programmieren, welches mir den verzeichnis-stamm-baum eines ftp-servers in einer treeview komponente darstellen soll (also wie im windows-explorer). hat vielleicht jemand einen code-schnippsel/ -beispiel für mich?

ps: erfahrung mit delphi hab ich zwar, nur der crack bin ich nicht.. (programmierpausen gemacht). freue mich auf eure beiträge und bedanke mich im voraus!

Moderiert von user profile iconTino: Überflüssige Absätze entfernt.
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Fr 25.03.05 17:15 
Hallo,
was Du machen willst, habe ich zwar noch nicht programmiert, möchte Dir aber trotzdem einige Dinge ans Herz legen:
1. Mit welcher Komponente willst Du die FTP - Anbindung programmieren?
(Netmaster, Indy usw.)
2. Wenn Deine Komponente kein TREEVIEW-ähnlichen Befehl enthält,
dann schau nach den Beispielen wie man eine Festplatte rekursiv
durchsucht, denn Verzeichnisse und Dateien lassen sich relativ einfach
vom FTP-Server in einer Stringliste hineinladen.
Gruß Pierre
lamorking Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 02.04.05 21:30 
hallo pierre!

habe vor indy v. 9 zu benutzen.

zum beispiel "Festplatte rekursiv durchsuchen"

das beispiel kenne ich, nur weiter hats mich leider net gebracht, weil ich einfach zu wenig erfahrung hab. du sagst das so leicht, nur für mich ist es (noch) wie fliegen ohne flügel^^.

kannst du mir nicht ein beispiel posten?B?I?T?T?E?

mfg
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: So 03.04.05 12:40 
Hallo,

wie schon geschrieben, habe ich dieses Problem bisher nicht selbst umgesetzt.
Ich kann Dir nur folgendes mit auf den Weg geben:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
// hiermit legst Du zu Zugang fest, kannst dieses auch über einen edit variabel machen
 idFTP1.Host:='www.domain_xyz.de'
 idFTP1.Username:='Benutzer';
 idFTP1.Password:='meinGeheimnis';

// jetzt gehst Du rein
 idFTP1.connect;

// hier schaust Du, ob Du u.U. nicht reingekommen bist, laß es Dir anzeigen
// Gründe sind: Rechner Online? siehe FAQs und die Groß- und Kleinschreibung
//if idftp1.connected then ... else .... ;

//erst einmal den Verzeichnis-Inhalt holen:
// wobei mit true auch die Parameter der Inhalte übertragen werden
// ist es ein Verzeichnis, dann mußt Du später dort tiefer gehen!

// auch solltest Du wissen, dass sehr häufig, aber nicht immer
// '..' und '.' in den Verzeichnissen liegen können

// mit false bekommst Du nur die Namen
 IDFTP1.List(ListBox1.Items,'',true);

// mit listbox1.Items.count hast Du dann die Anzahl der Dateien/Verzeichnisse
// mit for i:=0 to listbox1.Items.count-1 do ... kannst Du diese Liste durchlaufen

  // jetzt das Beispiel für einen Verzeichniswechsel 
  try
  idftp1.changeDIR('/xyz/'); mit xyz als Verzeichnisname
  except
  // hier feststellen, daß man doch nicht ins Verzeichnis hineinkam
  end



// zum Schluß beende Verbindung zum Server
if idftp1.connected then idftp1.quit;

// Rechner Offline? siehe FAQs


Ich würde damit versuchen, "den Server wie eine Festplatte rekursiv zu durchsuchen". Dabei gibt es sicherlich recht elegante Methoden, welche
an die Stelle der Listbox kämen.

Ich hoffe, es hilft.

Gruß Pierre

Moderiert von user profile iconAXMD: Code- durch Delphi-Tags ersetzt.
lamorking Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 03.04.05 14:09 
hi,

ok thx, werde versuchen dein lösungsweg umzusetzen.

tschö
wdbee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: So 03.04.05 14:17 
Aber probier das mit dem FTP-ChDir mal an dem Server aus, für den du das später nutzen willst. Ich hab nämlich festellen müssen, das die verschiedenen Implementationen für FTP-Server sich in diesem Punkt unterschiedlich verhalten.