Autor Beitrag
Felux
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 57

WinXP Home + Sp1
D6 Pers(eng), D2005 Prof(de), Webocton Scriptly, C# (VS 2005 Express), Eclipse
BeitragVerfasst: Mo 22.08.05 22:31 
Hi,

ich schrieb zur Zeit einen kleinen FTP Clienten und habe ein Problem: Ich will die Ordner auf dem Server mit Symbolen etc. wie im Windows Explorer anzeigen. Jetzt hab ich mir schon nen Wolf gesucht, und eine Komponente dafür gefunden, welche mit der IdFTP zusammenarbeitet. Einzigster Hacken: Sie funzt nicht mit Delphi 2005 Pro :( . Die Komponente ist von Betasoft. Nun, wie kann ich das anstellen, dass die FTP Struktur angezeigt bekomme? Google usw. auch das Forum hier haben nichts hilfreiches ausgespuckt.

Die Files bekomme ich noch mit

ausblenden Delphi-Quelltext
1:
IdFTP1.list(listbox1.items, '', false)					



hin, aber damit wird ja alles aufgelistet und es kann nicht unterschieden werden zwischen Dateien und Ordner. :( Hat wer eine Komponente die das macht und mit D2005 Prof kompatibel ist oder ein Tutorial wie man das am besten umsetzt?
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Mi 24.08.05 10:10 
Hallo,
setz mal den Parameter false auf true.
Gruß Pierre
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Mi 24.08.05 10:16 
Hallo,
habe übersehen, dass Du auch mehr Inhalt über FTP haben wolltest:

also hier was ist FTP, wie läuft es in der Software, Rechner,
Ports, Fehlermeldungen usw. ab:
www.elektronik-kompe...ites/net/0902241.htm

und hier ein Tutorial für Delphi:
www.dsdt.info/tutorials/indy

Gleich auf dieser Seite ist auch der link zu den Indy-Komponenten,
die Du benutzt (laut Befehl). Dort findest Du die Referenz und super
viele Code-Beispiele (z.B. auch einen FTP-Client).
Gruß Pierre
Felux Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 57

WinXP Home + Sp1
D6 Pers(eng), D2005 Prof(de), Webocton Scriptly, C# (VS 2005 Express), Eclipse
BeitragVerfasst: Mi 24.08.05 11:55 
Hi,

Danke für deine Antwort. Jedoch ist mein Problem nicht das Connecten auf den Server und die Liste, sondern ich will die Liste im Explorerlook haben(also mit Symbole usw.). Ich kenne das Tutorial auf dsdt und komme mit der Indy-Komponente auch zurecht(für kleiner Projekte sind die einfach zu hand haben :D ). Ich meine, gibt es eine Art TShelllistview für INDY 10 um Ordnerstrukturen auf einem FTP anzuzeigen?
Matthias-K
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 271

Win95, Win98, Win2000, WinXP, Linux
D2, D4 Client/Server, D5 Enterprise, D6 Enterprise, D7 Enterprise, Delphi2005, C/C++ 3.0, C/C ++ 5.0, C/C++ 6.0
BeitragVerfasst: Mi 24.08.05 12:22 
ja, die gibt es!

von mir geschrieben, nicht ganz ausgereift, und auch nicht umsonst! :wink:
wird in einem großen programm von mir verwendet!

kannst du dir aber auch slebst schreiben! ist nicht sehr schwer!


matthias

_________________
Ein Spezialist ist ein Mensch, der immer mehr von immer weniger weis, bis er alles von nichts weis!
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Mi 24.08.05 12:35 
Super Matthias! Und was kann Felux oder wir jetzt mit Deiner Antwort anfangen? :?

Lg Martin
Matthias-K
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 271

Win95, Win98, Win2000, WinXP, Linux
D2, D4 Client/Server, D5 Enterprise, D6 Enterprise, D7 Enterprise, Delphi2005, C/C++ 3.0, C/C ++ 5.0, C/C++ 6.0
BeitragVerfasst: Mi 24.08.05 12:46 
euch steht das von gott gegebene recht frei, sie zu kaufen!

oder du informiert dich, wie du diese liste verarbeiten kannst! und das wurde im forum schon zig mal besprochen!

matthias

_________________
Ein Spezialist ist ein Mensch, der immer mehr von immer weniger weis, bis er alles von nichts weis!
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 24.08.05 12:54 
Moin!

user profile iconMatthias-K hat folgendes geschrieben:
euch steht das von gott gegebene recht frei, sie zu kaufen!

IMHO ist Werbung hier ausserhalb der gekennzeichneten Bereiche verboten! :mahn:

Abgesehen davon - extrem hilfreiche Auskunft... mehr davon... :autsch:

cu/bn
Narses
Matthias-K
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 271

Win95, Win98, Win2000, WinXP, Linux
D2, D4 Client/Server, D5 Enterprise, D6 Enterprise, D7 Enterprise, Delphi2005, C/C++ 3.0, C/C ++ 5.0, C/C++ 6.0
BeitragVerfasst: Mi 24.08.05 13:11 
user profile iconMatthias-K hat folgendes geschrieben:

oder du informiert dich, wie du diese liste verarbeiten kannst! und das wurde im forum schon zig mal besprochen!


Zitat:

Abgesehen davon - extrem hilfreiche Auskunft... mehr davon...


die hilfe dazu hab ich gegeben! wenn man die suche nicht benutzt, ist es nicht meine schuld! und ich werde mich stark hüten, hier ständig meine sourcen für lau wegzuwerfen! wenn ich oder andere das immer machen würde, würden wir auf der straße landen! er findet hier im forum alles, was er braucht! ich hab selbst grad nochmal geschaut!

mal angenommen, ich veröffentliche hier die komponente, was hab ich davon?
ohja, er wird mir dankbar sein! aber seine dankbarkeit bezahlt nicht meine rechnungen! wir müssen schließlich alle von irgendwas leben und um gottes willen, ich helfe ja gerne, aber ich bin nicht dazu da, für andere die arbeit zu erledigen! das macht für mich auch keiner!

er brauch nur die liste zu verarbeiten und sich mal ne treeview kompo anschaun! dann ne kompo vom tshelltreeview ableiten und um die benötigten sachen erweitern! das ist ALLES hier im forum zu finden!

ich hab vor ein paar wochen bereits ein thema eröffnet, wo ich dies in ähnlichem sinn geschrieben habe! alle wollen sourcen, aber nie bezahlen! das ich mir den spaß auch erarbeitet habe, ist erstmal egal! oder was meint ihr?

zum thema werbung: ich habe keinen link, keinen preis oder sonstiges ausgeschrieben. damit ist das thema werbung erledigt!


Weitere beschwerden gehen per km an mich persöhnlich! vorausgesetzt, es ist eine auch nur halbwegs gute begründung angegeben!


matthias

_________________
Ein Spezialist ist ein Mensch, der immer mehr von immer weniger weis, bis er alles von nichts weis!
Felux Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 57

WinXP Home + Sp1
D6 Pers(eng), D2005 Prof(de), Webocton Scriptly, C# (VS 2005 Express), Eclipse
BeitragVerfasst: Mi 24.08.05 16:13 
Hi,

das einzigste was aus deinem Beitrag kam war für mich: Ich bin ein toller Programmierer und brauch jüngere , angehene Programmierer nicht zu unterstützen.

Dann gib mal die Topics preis, die du gefunden hast. Denn wen nich suche finde ich nichts wirklich vielsprechendes. Oder kannst du mal aufschreiben, wie ich die Liste zu verarbeiten hab? Denn was da steht, wenn ich die Details anschalte, ist für mich Bahnhof.

Was bedeutet den drwxr-xr-x in der Liste? :?:
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 24.08.05 16:17 
So Leute, jetzt zum eigentlichen Thema zurück. Danke!
Felux Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 57

WinXP Home + Sp1
D6 Pers(eng), D2005 Prof(de), Webocton Scriptly, C# (VS 2005 Express), Eclipse
BeitragVerfasst: Do 25.08.05 22:42 
Hi,

hab es nach ner Zeit(und viel lesen) selber rausbekommen, wie es geht. Natürlich sag ich auch noch wie ich es gemacht habe :) . Man benötigt dazu eine TListview und eine TListbox Komponente. Dann folgenden Code:

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:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
procedure TForm1.ordnerstruktur;
var
  i,k: Integer;
  exparr : TStringDynArray;
  icon : TIcon;
  fi     : TSHFileInfo;
begin
  ZeroMemory(@fi,sizeof(fi));
  listview1.Clear;

  icon := TIcon.Create;//wird gebraucht, um die Icons in die Imageliste zu laden


  IdFTP1.List(listbox1.items, '', false); //Abfrage der Dateiliste des FTP(Indy-Komponente)


  for i := 0 to listbox1.Count - 1 do //die Schleife überprüft, ob in der Liste Dateien vorkommt und gibt zuerst die Ordner aus)
  begin
    if pos('.', listbox1.Items.Strings[i]) = 0 then
    begin
       listview1.AddItem(Listbox1.Items.Strings[i], listview1); //Ordner wird ausgegeben

       fi.hIcon:= ExtractIcon(hInstance, 'shell32.dll'3); //das dazugehörige Symbol aus der windows Imagelist(glaub ich zumindest)

       icon.Handle := fi.hIcon; //das ausgelesene Icon wird an das definierte TIcon übergeben

       listview1.Items.Item[listview1.Items.Count-1].ImageIndex:= imagelist1.AddIcon(icon); //Icon wird dem Listview Element hinzugefügt 

    end;
  end;


  for i := 0 to listbox1.Count - 1 do //Hier werden die Dateien Ermittelt
  begin
    if pos('.', listbox1.Items.Strings[i]) > 0 then
    begin
      listview1.AddItem(Listbox1.Items.Strings[i], listview1); //Datei wird in der Listview hinzugefügt

       exparr:=explode('.', Listbox1.Items.Strings[i]);//hier wird der Dateiname zerlegt

       SHGetFileInfo(pchar('.'+exparr[length(exparr)-1]), FILE_ATTRIBUTE_NORMAL,fi,sizeof(fi),
       SHGFI_ICON or SHGFI_SYSICONINDEX or SHGFI_SMALLICON or
       SHGFI_USEFILEATTRIBUTES); //Das passende Symbol für die Dateiendung wird herausgesucht

       icon.Handle := fi.hIcon; //wieder an das TIcon übergeben

       listview1.Items.Item[listview1.Items.Count-1].ImageIndex:= imagelist1.AddIcon(icon);// und dem Eintrag hinzugefügt
    end;
  end;

  Icon.Free; // Icon wieder freigegeben
end;




Man kann die Ordner sogar noch sortieren, in dem man den Eigenschaft Sorted bei der Listbox auf true setzt. Hoffe, ich hab jetzt einigen Anfänger noch geholfen, die damit auch ein Problem hatten. :)


Der Code ist vielleicht nicht sehr schnell, aber er ist ein guter Anfang.


Die Explodefunktion kann man durch Google oder hier im Forum durch die Suche finden. :)
japetos
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 57



BeitragVerfasst: Mi 21.09.05 15:08 
was hat ListBox & ListView
mit TTreeView zu tun?